{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/pdfjs-dist/es5/build/pdf.worker.js","webpack:///./node_modules/base64-js/index.js","webpack:///./node_modules/node-libs-browser/mock/process.js","webpack:///./node_modules/ieee754/index.js","webpack:///./node_modules/buffer/index.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/path-browserify/index.js","webpack:///./node_modules/isarray/index.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","root","factory","this","__w_pdfjs_require__","_worker","WorkerMessageHandler","WorkerTask","_regenerator","_interopRequireDefault","_util","_primitives","_pdf_manager","_writer","_is_node","_message_handler","_worker_stream","_core_utils","obj","_createForOfIteratorHelper","allowArrayLike","it","iterator","Array","isArray","_unsupportedIterableToArray","length","F","done","e","_e2","f","TypeError","err","normalCompletion","didErr","step","next","_e3","_toArray","arr","_arrayWithHoles","_iterableToArray","_nonIterableRest","iter","from","_slicedToArray","_iterableToArrayLimit","minLen","_arrayLikeToArray","toString","slice","constructor","test","len","arr2","_arr","_n","_d","_e","undefined","_s","_i","push","asyncGeneratorStep","gen","resolve","reject","_next","_throw","arg","info","error","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","configurable","writable","_createClass","protoProps","staticProps","terminated","_capability","createPromiseCapability","Error","promise","handler","port","testMessageProcessed","on","data","Uint8Array","supportTransfers","postMessageTransfers","send","setVerbosityLevel","verbosity","createDocumentHandler","docParams","pdfManager","cancelXHRs","WorkerTasks","getVerbosityLevel","apiVersion","workerVersion","concat","enumerableProperties","join","docId","docBaseUrl","workerHandlerName","MessageHandler","ensureNotTerminated","startWorkerTask","task","finishWorkerTask","finish","indexOf","splice","loadDocument","_x","_loadDocument","mark","_callee","recoveryMode","_yield$Promise$all","_yield$Promise$all2","numPages","fingerprint","wrap","_context","prev","ensureDoc","all","sent","abrupt","stop","getPdfManager","evaluatorOptions","newPdfManager","pdfManagerCapability","source","LocalPdfManager","password","ex","pdfStream","cachedChunks","PDFWorkerStream","fullRequest","getFullReader","headersReady","isRangeSupported","disableAutoFetch","isStreamingSupported","NetworkPdfManager","msgHandler","contentLength","rangeChunkSize","sendProgressiveData","reason","loaded","flushChunks","pdfFile","arraysToBytes","warn","readPromise","readChunk","_ref","arrayByteLength","total","Math","max","read","cancelAllRequests","setupDoc","onSuccess","doc","pdfInfo","onFailure","PasswordException","code","sendWithPromise","_ref2","updatePassword","pdfManagerReady","InvalidPDFException","MissingPDFException","UnexpectedResponseException","UnknownErrorException","message","XRefParseException","requestLoadedStream","onLoadedStream","maxImageSize","disableFontFace","ignoreErrors","isEvalSupported","fontExtraProperties","terminate","AbortException","stream","bytes","byteLength","getPage","pageIndex","page","ensure","_ref3","_ref4","rotate","ref","userUnit","view","_ref5","pageRef","Ref","num","ensureCatalog","id","ensureXRef","_ref6","intent","getAnnotationsData","_ref7","annotationStorage","filename","promises","document","pdfDocument","_loop","save","_ref8","_step","_ref9","refs","newRefs","_iterator","filter","x","reduce","a","b","xref","newXrefInfo","trailer","_info","xrefInfo","forEach","isString","stringToPDFString","rootRef","getRaw","encrypt","newRef","getNewRef","infoRef","fileIds","startXRef","resetNewRef","incrementalUpdate","sink","start","VerbosityLevel","INFOS","Date","now","getOperatorList","renderInteractiveForms","operatorListInfo","close","featureId","UNSUPPORTED_FEATURES","errorOperatorList","onPull","desiredSize","onCancel","extractTextContent","normalizeWhitespace","combineTextItems","fontFallback","cleanup","waitOn","cleanupPromise","clearPrimitiveCaches","finished","destroy","setup","isMessagePort","maybePort","postMessage","window","isNodeJS","initializeFromPort","_typeof","runtime","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","define","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","context","Context","_invoke","makeInvokeMethod","tryCatch","type","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","method","AsyncIterator","PromiseImpl","invoke","record","result","__await","unwrapped","previousPromise","enqueue","callInvokeWithMethodAndArg","state","doneResult","delegate","delegateResult","maybeInvokeDelegate","_sent","dispatchException","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","displayName","isGeneratorFunction","genFun","ctor","setPrototypeOf","__proto__","awrap","async","keys","reverse","pop","skipTempReset","charAt","rootEntry","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","Function","webpackPolyfill","deprecate","paths","children","_inherits","subClass","superClass","_setPrototypeOf","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","Super","_getPrototypeOf","NewTarget","Reflect","construct","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","sham","Proxy","assert","bytesToString","escapeString","getModificationDate","isArrayBuffer","isArrayEqual","isBool","isNum","isSameOrigin","createValidAbsoluteUrl","removeNullCharacters","shadow","string32","stringToBytes","stringToUTF8String","utf8StringToString","unreachable","IsEvalSupportedCached","IsLittleEndianCached","createObjectURL","FormatError","Util","TextRenderingMode","StreamType","PermissionFlag","PasswordResponses","CMapCompressionType","ImageKind","FontType","AnnotationType","AnnotationStateModelType","AnnotationReviewState","AnnotationReplyType","AnnotationMarkedState","AnnotationFlag","AnnotationFieldFlag","AnnotationBorderStyleType","OPS","IDENTITY_MATRIX","FONT_IDENTITY_MATRIX","BaseException","PRINT","MODIFY_CONTENTS","COPY","MODIFY_ANNOTATIONS","FILL_INTERACTIVE_FORMS","COPY_FOR_ACCESSIBILITY","ASSEMBLE","PRINT_HIGH_QUALITY","FILL","STROKE","FILL_STROKE","INVISIBLE","FILL_ADD_TO_PATH","STROKE_ADD_TO_PATH","FILL_STROKE_ADD_TO_PATH","ADD_TO_PATH","FILL_STROKE_MASK","ADD_TO_PATH_FLAG","GRAYSCALE_1BPP","RGB_24BPP","RGBA_32BPP","TEXT","LINK","FREETEXT","LINE","SQUARE","CIRCLE","POLYGON","POLYLINE","HIGHLIGHT","UNDERLINE","SQUIGGLY","STRIKEOUT","STAMP","CARET","INK","POPUP","FILEATTACHMENT","SOUND","MOVIE","WIDGET","SCREEN","PRINTERMARK","TRAPNET","WATERMARK","THREED","REDACT","MARKED","REVIEW","UNMARKED","ACCEPTED","REJECTED","CANCELLED","COMPLETED","NONE","GROUP","REPLY","HIDDEN","NOZOOM","NOROTATE","NOVIEW","READONLY","LOCKED","TOGGLENOVIEW","LOCKEDCONTENTS","REQUIRED","NOEXPORT","MULTILINE","PASSWORD","NOTOGGLETOOFF","RADIO","PUSHBUTTON","COMBO","EDIT","SORT","FILESELECT","MULTISELECT","DONOTSPELLCHECK","DONOTSCROLL","COMB","RICHTEXT","RADIOSINUNISON","COMMITONSELCHANGE","SOLID","DASHED","BEVELED","INSET","UNKNOWN","FLATE","LZW","DCT","JPX","JBIG","A85","AHX","CCF","RLX","TYPE1","TYPE1C","CIDFONTTYPE0","CIDFONTTYPE0C","TRUETYPE","CIDFONTTYPE2","TYPE3","OPENTYPE","TYPE0","MMTYPE1","ERRORS","WARNINGS","BINARY","STREAM","dependency","setLineWidth","setLineCap","setLineJoin","setMiterLimit","setDash","setRenderingIntent","setFlatness","setGState","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","errorTilingPattern","errorExtGState","errorXObject","errorFontLoadType3","errorFontState","errorFontMissing","errorFontTranslate","errorColorSpace","errorFontToUnicode","errorFontLoadNative","errorFontGetPath","errorMarkedContent","NEED_PASSWORD","INCORRECT_PASSWORD","level","Number","isInteger","msg","console","log","cond","baseUrl","otherUrl","base","URL","origin","other","_isValidProtocol","url","protocol","absoluteUrl","prop","_BaseException","_super","_this","_BaseException2","_super2","details","_this2","_BaseException3","_super3","_BaseException4","_super4","_BaseException5","_super5","status","_this3","_BaseException6","_super6","_BaseException7","_super7","NullCharactersRegExp","str","replace","MAX_ARGUMENT_COUNT","String","fromCharCode","strBuf","chunkEnd","min","chunk","subarray","charCodeAt","resultLength","pos","item","itemLength","set","isLittleEndian","buffer8","view32","Uint32Array","buffer","rgbBuf","g","m1","m2","xt","yt","p1","applyTransform","p2","p3","p4","v","transpose","first","second","sqrt","sx","sy","rect","rect1","rect2","compare","orderedX","sort","orderedY","normalizeRect","PDFStringTranslateTable","_i2","_i3","decodeURIComponent","escape","unescape","encodeURIComponent","arr1","every","element","index","date","getUTCFullYear","getUTCMonth","padStart","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","capability","isSettled","digits","contentType","forceDataSchema","blob","Blob","ii","b1","b2","b3","d1","d2","d3","d4","globalThis","_pdfjsCompatibilityChecked","hasDOM","userAgent","navigator","isIE","btoa","chars","Buffer","atob","input","Element","remove","parentNode","removeChild","div","createElement","classList","add","contains","OriginalDOMTokenListAdd","DOMTokenList","OriginalDOMTokenListRemove","_len","tokens","_key","_tokens","token","_len2","_key2","_tokens2","toggle","force","OriginalPushState","history","pushState","OriginalReplaceState","replaceState","title","startsWith","endsWith","includes","assign","fromEntries","log2","allSettled","isReadableStreamSupported","ReadableStream","controller","Map","entries","Set","WeakMap","WeakSet","codePointAt","fromCodePoint","padEnd","process","versions","nw","electron","$","global","getOwnPropertyDescriptor","createNonEnumerableProperty","redefine","setGlobal","copyConstructorProperties","isForced","options","FORCED","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","noTargetGet","forced","check","DESCRIPTORS","propertyIsEnumerableModule","createPropertyDescriptor","toIndexedObject","toPrimitive","has","IE8_DOM_DEFINE","nativeGetOwnPropertyDescriptor","O","P","fails","exec","nativePropertyIsEnumerable","propertyIsEnumerable","NASHORN_BUG","1","V","bitmap","IndexedObject","requireObjectCoercible","classof","split","isObject","PREFERRED_STRING","val","valueOf","EXISTS","definePropertyModule","anObject","nativeDefineProperty","Attributes","inspectSource","InternalStateModule","getInternalState","enforceInternalState","enforce","TEMPLATE","unsafe","simple","store","functionToString","SHARED","NATIVE_WEAK_MAP","objectHas","sharedKey","hiddenKeys","getterFor","TYPE","wmget","wmhas","wmset","metadata","STATE","shared","uid","IS_PURE","version","copyright","postfix","random","ownKeys","getOwnPropertyDescriptorModule","getBuiltIn","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","getOwnPropertySymbols","path","aFunction","variable","namespace","internalObjectKeys","enumBugKeys","getOwnPropertyNames","names","toLength","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","el","fromIndex","toInteger","argument","ceil","floor","integer","replacement","feature","detection","normalize","POLYFILL","NATIVE","string","toLowerCase","entryUnbind","notARegExp","correctIsRegExpLogic","nativeStartsWith","CORRECT_IS_REGEXP_LOGIC","MDN_POLYFILL_BUG","proto","searchString","that","search","isRegExp","wellKnownSymbol","MATCH","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","METHOD_NAME","regexp","CONSTRUCTOR","METHOD","nativeEndsWith","endPosition","end","$includes","addToUnscopables","arrayMethodUsesToLength","USES_TO_LENGTH","ACCESSORS","UNSCOPABLES","ArrayPrototype","activeXDocument","defineProperties","html","documentCreateElement","GT","LT","PROTOTYPE","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","content","NullProtoObjectViaActiveX","write","temp","parentWindow","NullProtoObjectViaIFrame","iframeDocument","iframe","JS","style","display","appendChild","src","contentWindow","open","NullProtoObject","domain","ActiveXObject","Properties","objectKeys","cache","thrower","argument0","argument1","defineIterator","STRING_ITERATOR","setInternalState","iterated","point","CONVERT_TO_STRING","S","position","size","codeAt","createIteratorConstructor","setToStringTag","Iterators","IteratorsCore","BUGGY_SAFARI_ITERATORS","ITERATOR","KEYS","VALUES","ENTRIES","returnThis","Iterable","NAME","IteratorConstructor","DEFAULT","IS_SET","CurrentIteratorPrototype","methods","KEY","getIterationMethod","KIND","defaultIterator","IterablePrototype","TO_STRING_TAG","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","PrototypeOfArrayIteratorPrototype","arrayIterator","toObject","CORRECT_PROTOTYPE_GETTER","ObjectPrototype","TAG","aPossiblePrototype","setter","CORRECT_SETTER","checkCorrectnessOfIteration","INCORRECT_ITERATION","callWithSafeIterationClosing","isArrayIteratorMethod","createProperty","getIteratorMethod","arrayLike","C","argumentsLength","mapfn","mapping","returnMethod","propertyKey","TO_STRING_TAG_SUPPORT","classofRaw","CORRECT_ARGUMENTS","tryGet","tag","callee","SAFE_CLOSING","called","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","nativeAssign","A","B","symbol","alphabet","chr","T","j","ARRAY_ITERATOR","kind","Arguments","iterate","k","Result","stopped","AS_ENTRIES","IS_ITERATOR","iterFn","boundFunction","LN2","number","isFinite","ArrayBufferViewCore","speciesConstructor","aTypedArray","aTypedArrayConstructor","exportTypedArrayMethod","$slice","Int8Array","list","NATIVE_ARRAY_BUFFER","Int8ArrayPrototype","Uint8ClampedArray","Uint8ClampedArrayPrototype","TypedArray","TypedArrayPrototype","isPrototypeOf","TYPED_ARRAY_TAG","NATIVE_ARRAY_BUFFER_VIEWS","opera","TYPED_ARRAY_TAG_REQIRED","TypedArrayConstructorsList","Int16Array","Uint16Array","Int32Array","Float32Array","Float64Array","isView","klass","isTypedArray","ARRAY","TypedArrayConstructor","exportTypedArrayStaticMethod","ArrayBuffer","DataView","SPECIES","defaultConstructor","DOMIterables","ArrayIteratorMethods","ArrayValues","COLLECTION_NAME","Collection","CollectionPrototype","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","Internal","OwnPromiseCapability","PromiseWrapper","nativeThen","NativePromise","redefineAll","setSpecies","anInstance","microtask","promiseResolve","hostReportErrors","newPromiseCapabilityModule","perform","V8_VERSION","PROMISE","getInternalPromiseState","PromiseConstructor","$fetch","newPromiseCapability","newGenericPromiseCapability","IS_NODE","DISPATCH_EVENT","createEvent","dispatchEvent","UNHANDLED_REJECTION","REJECTION_HANDLED","PENDING","FULFILLED","HANDLED","UNHANDLED","GLOBAL_CORE_JS_PROMISE","PromiseRejectionEvent","FakePromise","isThenable","notify","isReject","notified","chain","reactions","ok","exited","reaction","fail","rejection","onHandleUnhandled","enter","exit","onUnhandled","event","initEvent","IS_UNHANDLED","isUnhandled","emit","parent","unwrap","internalReject","internalResolve","wrapper","executor","onFulfilled","onRejected","fetch","$promiseResolve","counter","remaining","alreadyCalled","race","CONSTRUCTOR_NAME","defer","channel","IS_IOS","location","setImmediate","clear","clearImmediate","MessageChannel","Dispatch","queue","ONREADYSTATECHANGE","run","runner","listener","post","host","nextTick","port2","port1","onmessage","addEventListener","importScripts","setTimeout","flush","head","last","node","macrotask","MutationObserver","WebKitMutationObserver","queueMicrotaskDescriptor","queueMicrotask","createTextNode","observe","characterData","promiseCapability","PromiseCapability","$$resolve","$$reject","match","v8","NON_GENERIC","real","onFinally","isFunction","EOF","USE_NATIVE_URL","arrayFrom","toASCII","URLSearchParamsModule","NativeURL","URLSearchParams","getInternalSearchParamsState","getState","getInternalURLState","pow","INVALID_AUTHORITY","INVALID_SCHEME","INVALID_HOST","INVALID_PORT","ALPHA","ALPHANUMERIC","DIGIT","HEX_START","OCT","DEC","HEX","FORBIDDEN_HOST_CODE_POINT","FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT","LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE","TAB_AND_NEW_LINE","parseHost","codePoints","parseIPv6","isSpecial","parseIPv4","percentEncode","C0ControlPercentEncodeSet","partsLength","numbers","part","radix","ipv4","parts","parseInt","numbersSeen","ipv4Piece","swaps","swap","address","pieceIndex","compress","pointer","char","findLongestZeroSequence","ipv6","maxIndex","maxLength","currStart","currLength","serializeHost","ignore0","unshift","fragmentPercentEncodeSet","pathPercentEncodeSet","userinfoPercentEncodeSet","specialSchemes","ftp","file","http","https","ws","wss","scheme","includesCredentials","username","cannotHaveUsernamePasswordPort","cannotBeABaseURL","isWindowsDriveLetter","normalized","startsWithWindowsDriveLetter","third","shortenURLsPath","pathSize","isSingleDot","segment","isDoubleDot","SCHEME_START","SCHEME","NO_SCHEME","SPECIAL_RELATIVE_OR_AUTHORITY","PATH_OR_AUTHORITY","RELATIVE","RELATIVE_SLASH","SPECIAL_AUTHORITY_SLASHES","SPECIAL_AUTHORITY_IGNORE_SLASHES","AUTHORITY","HOST","HOSTNAME","PORT","FILE","FILE_SLASH","FILE_HOST","PATH_START","PATH","CANNOT_BE_A_BASE_URL_PATH","QUERY","FRAGMENT","parseURL","stateOverride","bufferCodePoints","failure","seenAt","seenBracket","seenPasswordToken","query","fragment","codePoint","encodedCodePoints","shift","URLConstructor","baseState","urlString","searchParams","searchParamsState","updateSearchParams","updateURL","href","serializeURL","getOrigin","getProtocol","getUsername","getPassword","getHost","hostname","getHostname","getPort","pathname","getPathname","getSearch","getSearchParams","hash","getHash","URLPrototype","output","accessorDescriptor","nativeCreateObjectURL","nativeRevokeObjectURL","revokeObjectURL","toJSON","maxInt","tMin","tMax","skew","damp","initialBias","initialN","delimiter","regexNonASCII","regexSeparators","OVERFLOW_ERROR","baseMinusTMin","stringFromCharCode","ucs2decode","extra","digitToBasic","digit","adapt","delta","numPoints","firstTime","encode","currentValue","inputLength","bias","basicLength","handledCPCount","handledCPCountPlusOne","RangeError","q","qMinusT","baseMinusT","label","encoded","labels","getIterator","Headers","URL_SEARCH_PARAMS","URL_SEARCH_PARAMS_ITERATOR","getInternalParamsState","getInternalIteratorState","plus","sequences","percentSequence","RegExp","percentDecode","sequence","deserialize","find","replacer","serialize","parseSearchParams","attribute","attributes","validateArgumentsLength","passed","required","URLSearchParamsIterator","params","URLSearchParamsConstructor","entryIterator","entryNext","init","URLSearchParamsPrototype","append","getAll","found","entriesIndex","sliceIndex","callback","body","headers","SymbolPolyfill","description","noop","NumberIsNaN","rethrowAssertionErrorRejection","typeIsObject","createArrayFromList","elements","ArrayBufferCopy","dest","destOffset","srcOffset","IsFiniteNonNegativeNumber","IsNonNegativeNumber","Infinity","Call","CreateAlgorithmFromUnderlyingMethod","underlyingObject","methodName","algoArgCount","extraArgs","PromiseCall","fullArgs","promiseResolvedWith","InvokeOrNoop","promiseRejectedWith","TransferArrayBuffer","IsDetachedBuffer","ValidateAndNormalizeHighWaterMark","highWaterMark","MakeSizeAlgorithmFromSizeFunction","originalPromise","originalPromiseThen","originalPromiseResolve","originalPromiseReject","newPromise","PerformPromiseThen","uponPromise","uponFulfillment","uponRejection","transformPromiseWith","fulfillmentHandler","rejectionHandler","setPromiseIsHandledToTrue","QUEUE_MAX_ARRAY_SIZE","SimpleQueue","_cursor","_size","_front","_elements","_back","oldBack","newBack","oldFront","newFront","oldCursor","newCursor","peek","front","cursor","ReadableStreamCreateReadResult","forAuthorCode","ReadableStreamReaderGenericInitialize","reader","_forAuthorCode","_ownerReadableStream","_reader","_state","defaultReaderClosedPromiseInitialize","defaultReaderClosedPromiseInitializeAsResolved","defaultReaderClosedPromiseInitializeAsRejected","_storedError","ReadableStreamReaderGenericCancel","ReadableStreamCancel","ReadableStreamReaderGenericRelease","defaultReaderClosedPromiseReject","defaultReaderClosedPromiseResetToRejected","readerLockException","_closedPromise","_closedPromise_resolve","_closedPromise_reject","defaultReaderClosedPromiseResolve","CancelSteps","PullSteps","AcquireReadableStreamDefaultReader","ReadableStreamDefaultReader","ReadableStreamAddReadRequest","readRequest","_resolve","_reject","_readRequests","ReadableStreamFulfillReadRequest","ReadableStreamGetNumReadRequests","ReadableStreamHasDefaultReader","IsReadableStreamDefaultReader","_a","AsyncIteratorPrototype","IsReadableStream","IsReadableStreamLocked","defaultReaderBrandCheckException","cancel","ReadableStreamDefaultReaderRead","releaseLock","_disturbed","_readableStreamController","ReadableStreamAsyncIteratorPrototype","IsReadableStreamAsyncIterator","streamAsyncIteratorBrandCheckException","_asyncIteratorReader","return","_preventCancel","AcquireReadableStreamAsyncIterator","preventCancel","Boolean","DequeueValue","container","pair","_queue","_queueTotalSize","EnqueueValueWithSize","PeekQueueValue","ResetQueue","AbortSteps","ErrorSteps","WritableStream","underlyingSink","strategy","InitializeWritableStream","sizeAlgorithm","SetUpWritableStreamDefaultControllerFromUnderlyingSink","IsWritableStream","streamBrandCheckException","IsWritableStreamLocked","abort","WritableStreamAbort","WritableStreamCloseQueuedOrInFlight","WritableStreamClose","getWriter","AcquireWritableStreamDefaultWriter","WritableStreamDefaultWriter","CreateWritableStream","startAlgorithm","writeAlgorithm","closeAlgorithm","abortAlgorithm","WritableStreamDefaultController","SetUpWritableStreamDefaultController","_writableStreamController","_writeRequests","_inFlightWriteRequest","_closeRequest","_inFlightCloseRequest","_pendingAbortRequest","_backpressure","_promise","wasAlreadyErroring","_reason","_wasAlreadyErroring","WritableStreamStartErroring","closeRequest","writer","defaultWriterReadyPromiseResolve","WritableStreamDefaultControllerClose","WritableStreamAddWriteRequest","writeRequest","WritableStreamDealWithRejection","WritableStreamFinishErroring","WritableStreamDefaultWriterEnsureReadyPromiseRejected","WritableStreamHasOperationMarkedInFlight","_started","storedError","abortRequest","WritableStreamRejectCloseAndClosedPromiseIfNeeded","WritableStreamFinishInFlightWrite","WritableStreamFinishInFlightWriteWithError","WritableStreamFinishInFlightClose","defaultWriterClosedPromiseResolve","WritableStreamFinishInFlightCloseWithError","WritableStreamMarkCloseRequestInFlight","WritableStreamMarkFirstWriteRequestInFlight","defaultWriterClosedPromiseReject","WritableStreamUpdateBackpressure","backpressure","defaultWriterReadyPromiseReset","_ownerWritableStream","defaultWriterReadyPromiseInitialize","defaultWriterReadyPromiseInitializeAsResolved","defaultWriterClosedPromiseInitialize","defaultWriterReadyPromiseInitializeAsRejected","defaultWriterClosedPromiseInitializeAsResolved","defaultWriterClosedPromiseInitializeAsRejected","IsWritableStreamDefaultWriter","defaultWriterBrandCheckException","defaultWriterLockException","WritableStreamDefaultWriterGetDesiredSize","_readyPromise","WritableStreamDefaultWriterAbort","WritableStreamDefaultWriterClose","WritableStreamDefaultWriterRelease","WritableStreamDefaultWriterWrite","WritableStreamDefaultWriterCloseWithErrorPropagation","WritableStreamDefaultWriterEnsureClosedPromiseRejected","_closedPromiseState","defaultWriterClosedPromiseResetToRejected","_readyPromiseState","defaultWriterReadyPromiseReject","defaultWriterReadyPromiseResetToRejected","WritableStreamDefaultControllerGetDesiredSize","releasedError","chunkSize","WritableStreamDefaultControllerGetChunkSize","WritableStreamDefaultControllerWrite","IsWritableStreamDefaultController","_controlledWritableStream","WritableStreamDefaultControllerError","_abortAlgorithm","WritableStreamDefaultControllerClearAlgorithms","_strategySizeAlgorithm","_strategyHWM","_writeAlgorithm","_closeAlgorithm","WritableStreamDefaultControllerGetBackpressure","startResult","startPromise","WritableStreamDefaultControllerAdvanceQueueIfNeeded","chunkSizeE","WritableStreamDefaultControllerErrorIfNeeded","writeRecord","enqueueE","WritableStreamDefaultControllerProcessClose","WritableStreamDefaultControllerProcessWrite","sinkClosePromise","sinkWritePromise","_readyPromise_resolve","_readyPromise_reject","isAbortSignal","aborted","NativeDOMException","DOMException","isDOMExceptionConstructor","createDOMExceptionPolyfill","captureStackTrace","DOMException$1","ReadableStreamPipeTo","preventClose","preventAbort","signal","shuttingDown","currentWrite","actions","shutdownWithAction","map","action","pipeLoop","resolveLoop","rejectLoop","pipeStep","isOrBecomesErrored","shutdown","isOrBecomesClosed","destClosed_1","waitForWritesToFinish","oldCurrentWrite","originalIsError","originalError","doTheRest","finalize","newError","isError","removeEventListener","ReadableStreamDefaultController","IsReadableStreamDefaultController","defaultControllerBrandCheckException","ReadableStreamDefaultControllerGetDesiredSize","ReadableStreamDefaultControllerCanCloseOrEnqueue","ReadableStreamDefaultControllerClose","ReadableStreamDefaultControllerEnqueue","ReadableStreamDefaultControllerError","_cancelAlgorithm","ReadableStreamDefaultControllerClearAlgorithms","_controlledReadableStream","_closeRequested","ReadableStreamClose","ReadableStreamDefaultControllerCallPullIfNeeded","pendingPromise","shouldPull","ReadableStreamDefaultControllerShouldCallPull","_pulling","pullPromise","_pullAlgorithm","_pullAgain","ReadableStreamError","ReadableStreamDefaultControllerHasBackpressure","SetUpReadableStreamDefaultController","pullAlgorithm","cancelAlgorithm","SetUpReadableStreamDefaultControllerFromUnderlyingSource","underlyingSource","ReadableStreamTee","cloneForBranch2","reason1","reason2","branch1","branch2","resolveCancelPromise","reading","canceled1","canceled2","cancelPromise","value1","value2","cancel1Algorithm","compositeReason","cancelResult","cancel2Algorithm","CreateReadableStream","NumberIsInteger","ReadableStreamBYOBRequest","IsReadableStreamBYOBRequest","byobRequestBrandCheckException","_view","respond","bytesWritten","_associatedReadableByteStreamController","ReadableByteStreamControllerRespond","respondWithNewView","ReadableByteStreamControllerRespondWithNewView","ReadableByteStreamController","IsReadableByteStreamController","byteStreamControllerBrandCheckException","_byobRequest","_pendingPullIntos","firstDescriptor","byteOffset","bytesFilled","byobRequest","SetUpReadableStreamBYOBRequest","ReadableByteStreamControllerGetDesiredSize","_controlledReadableByteStream","ReadableByteStreamControllerClose","ReadableByteStreamControllerEnqueue","ReadableByteStreamControllerError","ReadableByteStreamControllerClearAlgorithms","ReadableByteStreamControllerHandleQueueDrain","viewE","autoAllocateChunkSize","_autoAllocateChunkSize","bufferE","pullIntoDescriptor","elementSize","readerType","ReadableByteStreamControllerCallPullIfNeeded","ReadableByteStreamControllerShouldCallPull","ReadableByteStreamControllerClearPendingPullIntos","ReadableByteStreamControllerInvalidateBYOBRequest","ReadableByteStreamControllerCommitPullIntoDescriptor","filledView","ReadableByteStreamControllerConvertPullIntoDescriptor","ReadableStreamFulfillReadIntoRequest","ReadableByteStreamControllerEnqueueChunkToQueue","ReadableByteStreamControllerFillPullIntoDescriptorFromQueue","currentAlignedBytes","maxBytesToCopy","maxBytesFilled","maxAlignedBytes","totalBytesToCopyRemaining","ready","headOfQueue","bytesToCopy","destStart","ReadableByteStreamControllerFillHeadPullIntoDescriptor","ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue","ReadableByteStreamControllerShiftPendingPullInto","ReadableByteStreamControllerPullInto","BYTES_PER_ELEMENT","ReadableStreamAddReadIntoRequest","emptyView","ReadableByteStreamControllerRespondInClosedState","ReadableStreamHasBYOBReader","ReadableStreamGetNumReadIntoRequests","ReadableByteStreamControllerRespondInReadableState","remainderSize","remainder","ReadableByteStreamControllerRespondInternal","firstPendingPullInto","transferredBuffer","transferredView","SetUpReadableByteStreamController","SetUpReadableByteStreamControllerFromUnderlyingSource","underlyingByteSource","request","AcquireReadableStreamBYOBReader","ReadableStreamBYOBReader","readIntoRequest","_readIntoRequests","IsReadableStreamBYOBReader","byobReaderBrandCheckException","ReadableStreamBYOBReaderRead","InitializeReadableStream","typeString","streamBrandCheckException$1","getReader","pipeThrough","_b","readable","_c","pipeTo","tee","branches","sourceCancelPromise","ByteLengthQueuingStrategy","CountQueuingStrategy","TransformStream","transformer","writableStrategy","readableStrategy","writableSizeFunction","writableHighWaterMark","readableSizeFunction","readableHighWaterMark","writableType","writableSizeAlgorithm","readableType","startPromise_resolve","readableSizeAlgorithm","InitializeTransformStream","SetUpTransformStreamDefaultControllerFromTransformer","_transformStreamController","IsTransformStream","streamBrandCheckException$2","_readable","_writable","TransformStreamDefaultSinkWriteAlgorithm","TransformStreamDefaultSinkAbortAlgorithm","TransformStreamDefaultSinkCloseAlgorithm","TransformStreamDefaultSourcePullAlgorithm","TransformStreamErrorWritableAndUnblockWrite","_backpressureChangePromise","_backpressureChangePromise_resolve","TransformStreamSetBackpressure","TransformStreamError","TransformStreamDefaultControllerClearAlgorithms","TransformStreamDefaultController","IsTransformStreamDefaultController","defaultControllerBrandCheckException$1","readableController","_controlledTransformStream","TransformStreamDefaultControllerEnqueue","TransformStreamDefaultControllerError","TransformStreamDefaultControllerTerminate","SetUpTransformStreamDefaultController","transformAlgorithm","flushAlgorithm","_transformAlgorithm","_flushAlgorithm","transformResultE","transformMethod","TransformStreamDefaultControllerPerformTransform","transformPromise","backpressureChangePromise","flushPromise","collection","collectionStrong","InternalMetadataModule","inheritIfRequired","common","IS_MAP","IS_WEAK","ADDER","NativeConstructor","NativePrototype","exported","fixMethod","nativeMethod","getConstructor","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","dummy","setStrong","FREEZING","METADATA","isExtensible","setMetadata","objectID","weakData","fastKey","getWeakData","onFreeze","meta","preventExtensions","Wrapper","NewTargetPrototype","internalStateGetterFor","previous","getEntry","removed","callbackfn","ITERATOR_NAME","getInternalCollectionState","InternalWeakMap","collectionWeak","enforceIternalState","IS_IE11","$WeakMap","WeakMapPrototype","nativeDelete","nativeHas","nativeGet","nativeSet","frozen","ArrayIterationModule","$has","findIndex","uncaughtFrozenStore","UncaughtFrozenStore","findUncaughtFrozen","arraySpeciesCreate","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","specificCreate","some","originalArray","nativeFromCodePoint","INCORRECT_LENGTH","arrayMethodHasSpeciesSupport","IS_CONCAT_SPREADABLE","MAX_SAFE_INTEGER","MAXIMUM_ALLOWED_INDEX_EXCEEDED","IS_CONCAT_SPREADABLE_SUPPORT","array","SPECIES_SUPPORT","isConcatSpreadable","spreadable","E","foo","nativeObjectCreate","getOwnPropertyNamesExternal","wrappedWellKnownSymbolModule","defineWellKnownSymbol","$forEach","SYMBOL","TO_PRIMITIVE","$stringify","nativeGetOwnPropertyNames","AllSymbols","ObjectPrototypeSymbols","StringToSymbolRegistry","SymbolToStringRegistry","QObject","USE_SETTER","findChild","setSymbolDescriptor","ObjectPrototypeDescriptor","isSymbol","$defineProperty","$defineProperties","properties","$getOwnPropertySymbols","$propertyIsEnumerable","$create","$getOwnPropertyDescriptor","$getOwnPropertyNames","IS_OBJECT_PROTOTYPE","keyFor","sym","useSetter","useSimple","FORCED_JSON_STRINGIFY","stringify","space","$replacer","windowNames","getWindowNames","NativeSymbol","EmptyStringDescriptionStore","SymbolWrapper","symbolPrototype","symbolToString","native","desc","JSON","$padStart","WEBKIT_BUG","repeat","IS_END","fillString","fillLen","stringFiller","stringLength","fillStr","intMaxLength","count","$padEnd","$values","TO_ENTRIES","$entries","isEOF","isCmd","isDict","isName","isRef","isRefsEqual","isStream","RefSetCache","RefSet","Name","Dict","Cmd","default","nameCache","nameValue","_clearCache","cmdCache","cmd","cmdValue","nonSerializable","_map","objId","suppressEncryption","__nonSerializable__","assignXref","newXref","key1","key2","key3","getAsync","fetchAsync","getArray","getKeys","getRawValues","empty","merge","dictArray","_ref$mergeSubDicts","mergeSubDicts","mergedDict","dict","_Object$entries","_Object$entries$_i","_step2","_iterator2","_dict","_Object$entries2","_Object$entries2$_i","_value","_step3","_iterator3","_step3$value","_step4","subDict","_iterator4","_dict2","_Object$entries3","_Object$entries3$_i","_value2","refCache","refValue","_set","aliasRef","_step5","_iterator5","v1","v2","getBytes","_chunked_stream","_document","_stream","BasePdfManager","catalog","manuallyTriggered","_ensure","_x2","_x3","begin","_password","_docId","_docBaseUrl","_BasePdfManager","Stream","PDFDocument","_loadedStreamPromise","_ensure2","_callee2","_context2","_x4","_x5","_x6","_BasePdfManager2","pdfNetworkStream","streamManager","ChunkedStreamManager","getStream","_ensure3","_callee3","_context3","t0","MissingDataException","requestRange","_x7","_x8","_x9","requestAllChunks","onReceiveData","ChunkedStream","manager","_loadedChunks","numChunks","progressiveDataLength","lastSuccessfulEnsureByteChunk","chunks","numChunksLoaded","beginChunk","endChunk","curChunk","ensureByte","b0","getByte","forceClamped","strEnd","ensureRange","_subarray","peekedByte","ChunkedStreamSubstream","getMissingChunks","missingChunks","allChunksLoaded","subStream","currRequestId","_chunksNeededByRequest","_requestsByChunk","_promisesByRequest","_loadedStreamCapability","rangeReader","getRangeReader","onProgress","chunkData","_requestChunks","requestId","chunksNeeded","hasChunk","chunksToRequest","_chunk","requestIds","groupedChunksToRequest","groupChunks","groupedChunk","sendRequest","getBeginChunk","getEndChunk","ranges","range","groupedChunks","prevChunk","isProgressive","onReceiveProgressiveData","loadedRequests","nextEmptyChunk","lastChunk","_loadedRequests","_requestId","_step6","_iterator6","getLookupTableFactory","getInheritableProperty","toRomanNumerals","readInt8","readUint16","readUint32","isWhiteSpace","XRefEntryException","initializer","lookup","_ref$getArray","_ref$stopWhenFound","stopWhenFound","LOOP_LIMIT","loopCount","ROMAN_NUMBER_MAP","lowerCase","romanBuf","romanStr","offset","ch","Page","_obj","_annotation","_crypto","_parser","_operator_list","_evaluator","DEFAULT_USER_UNIT","LETTER_SIZE_MEDIABOX","isAnnotationRenderable","annotation","viewable","printable","pageDict","globalIdFactory","fontCache","builtInCMapCache","globalImageCache","resourcesPromise","idCounters","_localIdFactory","_globalIdFactory","_class","box","_getInheritableProperty","streams","fetchIfRef","StreamsSequenceStream","NullStream","partialEvaluator","PartialEvaluator","idFactory","_parsedAnnotations","annotations","newRefsPromises","objectLoader","ObjectLoader","resources","load","contentStreamPromise","loadResources","dataPromises","pageListPromise","contentStream","opList","OperatorList","transparency","hasBlendModes","operatorList","pageOpList","totalLength","opListPromises","opLists","addOp","addOpList","getTextContent","annotationsData","_getBoundingBox","mediaBox","cropBox","intersect","_this4","parsedAnnotations","annotationPromises","annotationRef","AnnotationFactory","PDF_HEADER_SIGNATURE","STARTXREF_SIGNATURE","ENDOBJ_SIGNATURE","FINGERPRINT_FIRST_BYTES","EMPTY_FINGERPRINT","PDF_HEADER_VERSION_REGEXP","signature","limit","backwards","signatureLength","scanBytes","peekBytes","scanLength","signatureEnd","_pos","_j","XRef","_pagePromises","_version","_class2","parse","Catalog","moveStart","MAX_PDF_VERSION_LENGTH","substring","setStartXRef","fields","_this5","recursionDepth","RECURSION_LIMIT","field","_hasOnlyDocumentSignatures","isSignature","isInvisible","linearization","objectNumberFirst","pageKidsCountCache","put","getPageDict","_this6","pageFirst","_getLinearizationPage","_ref10","_ref11","_this7","_ref12","_cleanup","_args2","Linearization","startXRefLength","skip","formInfo","hasAcroForm","hasXfa","acroForm","xfa","isEmpty","hasFields","sigFlags","hasOnlyDocumentSignatures","DocumentInfoValidators","Title","Author","Subject","Keywords","Creator","Producer","CreationDate","ModDate","Trapped","infoDict","docInfo","PDFFormatVersion","IsLinearized","IsAcroFormPresent","IsXFAPresent","IsCollectionPresent","customValue","Custom","idArray","calculateMD5","getByteRange","fingerprintBuf","hex","FileSpec","_colorspace","_image_utils","fetchDestination","_catDict","getCatalogObj","GlobalImageCache","items","processed","blackColor","outlineDict","parseDestDictionary","destDict","resultObj","flags","color","rgbColor","ColorSpace","singletons","rgb","getRgb","outlineItem","unsafeUrl","newWindow","bold","italic","permissions","config","contentGroupRefs","parseOnOff","onParsed","parseOrder","nestedLevels","order","parsedOrderRefs","nestedOrder","parseNestedOrder","hiddenGroups","groupRef","MAX_NESTED_LEVELS","nestedName","creator","off","groups","destinationId","_readDests","NameTree","pageLabels","prefix","numberTree","NumberTree","nums","currentLabel","currentIndex","labelDict","st","LIMIT","A_UPPER_CASE","A_LOWER_CASE","baseCharCode","letterIndex","character","charBuf","jj","translatedFonts","translatedFont","loadedName","fallback","translated","nodesToVisit","visitedNodes","currentPageIndex","currentNode","kids","_ret","pagesBeforeRef","kidRef","parentRef","kidPromises","kid","_args","streamRef","encryptMetadata","subtype","pagesObj","_readDocumentOutline","_readPermissions","defaultConfig","groupsData","groupRefs","group","_readOptionalContentConfig","toplevelPagesDict","dests","_readPageLabels","pageLayout","pageMode","ViewerPreferencesValidators","HideToolbar","HideMenubar","HideWindowUI","FitWindow","CenterWindow","DisplayDocTitle","NonFullScreenPageMode","Direction","ViewArea","ViewClip","PrintArea","PrintClip","PrintScaling","Duplex","PickTrayByPDFSize","PrintPageRange","NumCopies","prefs","prefValue","isValid","openAction","attachments","nameTree","fs","serializable","appendIfJavaScriptDict","jsDict","js","addDefaultProtocolToUrl","tryConvertUrlEncoding","actionType","actionName","urlDict","remoteDest","namedAction","jsAction","URL_OPEN_METHODS","regex","jsUrl","xrefstms","_cacheMap","stats","streamTypes","fontTypes","_newRefNum","startXRefQueue","trailerDict","indexObjects","readXRef","ids","fileId","CipherTransformFactory","processXRefTable","parser","tableState","entryNum","streamPos","lexer","parserBuf1","buf1","parserBuf2","buf2","readXRefTable","getObj","firstEntryNum","entryCount","free","uncompressed","processXRefStream","streamParameters","byteWidths","streamState","entryRanges","readXRefStream","typeFieldWidth","offsetFieldWidth","generationFieldWidth","generation","TAB","LF","CR","SPACE","PERCENT","readToken","skipUntil","what","dataLength","skipped","objRegExp","endobjRegExp","nestedObjRegExp","CHECK_CONTENT_LENGTH","trailerBytes","startxrefBytes","objBytes","xrefBytes","trailers","xrefStms","startPos","endPos","checkPos","tokenStr","objToken","xrefTagOffset","Parser","Lexer","allowStreams","rootDict","startXRefParsedCache","topDict","xrefEntry","cacheEntry","fetchUncompressed","fetchCompressed","makeSubStream","obj1","obj2","obj3","createCipherTransform","tableOffset","_num","fetchIfRefAsync","NameOrNumberTree","_type","_ii","kidsOrEntries","MAX_LEVELS","limits","_l","_r","tmp","_m","currentKey","_m2","mm","_currentKey","_NameOrNumberTree","_NameOrNumberTree2","contentAvailable","pickPlatformItem","_filename","contentRef","fileObj","mayHaveChildren","addChildren","_step7","_iterator7","rawValue","refSet","_walk","_callee4","nodesToRevisit","pendingRequests","baseStreams","foundMissingData","_i4","_ii2","_context4","getBaseStreams","requestRanges","_ccitt_stream","_jbig2_stream","_jpeg_stream","_jpx_stream","MAX_LENGTH_TO_CACHE","MAX_ADLER32_LENGTH","computeAdler32","bytesLength","_ref$allowStreams","_ref$recoveryMode","imageCache","refill","cipherTransform","makeInlineImage","makeStream","decryptString","maybeEIPos","I","NUL","followingBytes","knownCommands","nextObj","peekObj","endOffset","peekByte","markerLength","foundEOI","getUint16","findDefaultInlineStreamEnd","inlineStreamSkipEI","TILDE","tildePos","maybeEI","dictLength","beginInlineImagePos","filterName","filterZero","findDCTDecodeInlineStreamEnd","findASCII85DecodeInlineStreamEnd","findASCIIHexDecodeInlineStreamEnd","cacheKey","imageStream","imageBytes","initialStreamPos","dictBytes","createStream","SCAN_BLOCK_LENGTH","skipToNextLine","nextChar","tryShift","ENDSTREAM_SIGNATURE","actualLength","_findStreamLength","MAX_TRUNCATION","TRUNCATED_SIGNATURE","maybeLength","lastByte","makeFilter","filterArray","paramsArray","xrefStreamStats","PredictorStream","FlateStream","earlyChange","LZWStream","JpegStream","JpxStream","Ascii85Stream","AsciiHexStream","CCITTFaxStream","RunLengthStream","Jbig2Stream","specialChars","toHexDigit","_hexStringNumWarn","currentChar","eNotation","divideBy","sign","baseValue","powerValue","powerValueSign","currentDigit","peekChar","numParen","charBuffered","previousCh","x2","MAX_HEX_STRING_NUM_WARN","firstDigit","secondDigit","isFirstHex","_hexStringWarn","comment","getNumber","getString","getName","getHexString","knownCommandFound","possibleCommand","getInt","linDict","allowZeroValue","getHints","hintsLength","hints","hint","endFirst","mainXRefEntriesOffset","StringStream","DecodeStream","DecryptStream","_toConsumableArray","_arrayWithoutHoles","_nonIterableSpread","arrayBuffer","getInt32","emptyBuffer","maybeMinBufferLength","_rawMinBufferLength","bufferLength","eof","minBufferLength","readBlock","ensureBuffer","requested","buffer2","bufEnd","newLength","codeLenCodeMap","lengthDecode","distDecode","fixedLitCodeTab","fixedDistCodeTab","cmf","flg","codeSize","codeBuf","getBits","bits","getCode","table","codes","maxLen","codeLen","codeVal","generateHuffmanTable","lengths","code2","hdr","litCodeTable","distCodeTable","numLitCodes","numDistCodes","numCodeLenCodes","codeLenCodeLengths","codeLenCodeTab","bitsLength","bitsOffset","codeLengths","repeatLength","code1","dist","blockLen","block","predictor","readBlockTiff","readBlockPng","colors","columns","pixBytes","rowBytes","rawBytes","inbuf","outbuf","inbits","outbits","bytesPerPixel","sum","compArray","bitMask","kk","prevRow","up","upLeft","left","pa","pb","pc","decrypt","nextChunk","initialized","hasMoreData","TILDA_CHAR","Z_LOWER_CHAR","UPSTREAM_BLOCK_SIZE","maxDecodeLength","repeatHeader","cachedData","bitsCached","maxLzwDictionarySize","lzwState","codeLength","nextCode","dictionaryValues","dictionaryLengths","dictionaryPrevCodes","currentSequence","currentSequenceLength","readBits","lastCode","blockSize","estimatedDecodedSize","decodedSizeDelta","prevCode","decodedLength","currentBufferLength","hasPrev","_ccitt","ccittFaxDecoder","CCITTFaxDecoder","K","EndOfLine","EncodedByteAlign","Columns","Rows","EndOfBlock","BlackIs1","readNextChar","ccittEOL","ccittEOF","twoDimPass","twoDimHoriz","twoDimVert0","twoDimVertR1","twoDimVertL1","twoDimVertR2","twoDimVertL2","twoDimVertR3","twoDimVertL3","twoDimTable","whiteTable1","whiteTable2","blackTable1","blackTable2","blackTable3","encoding","eoline","byteAlign","rows","eoblock","black","codingLine","refLine","codingPos","row","nextLine2D","inputBits","inputBuf","outputBits","rowsDone","_lookBits","_eatBits","refPos","blackPixels","code3","_getTwoDimCode","_addPixels","_getBlackCode","_getWhiteCode","_addPixelsNeg","gotEOL","a1","_findTableCode","limitValue","_jbig","jbig2Image","Jbig2Image","globalsStream","globals","parseChunks","_arithmetic_decoder","Jbig2Error","ContextCache","DecodingContext","decodeInteger","contextCache","procedure","decoder","contexts","getContexts","bit","readBit","decodeIAID","ArithmeticDecoder","SegmentTypes","CodingTemplates","y","RefinementTemplates","coding","reference","ReusedContexts","RefinementReusedContexts","decodeBitmapTemplate0","width","height","decodingContext","contextLabel","pixel","row1","row2","OLD_PIXEL_MASK","decodeBitmap","mmr","templateIndex","prediction","at","Reader","decodeMMRBitmap","useskip","template","templateLength","templateX","templateY","changingTemplateEntries","reuseMask","minX","maxX","minY","changingEntriesLength","changingTemplateX","changingTemplateY","changingTemplateBit","i0","j0","sbb_left","sbb_top","sbb_right","pseudoPixelContext","ltp","sltp","decodeRefinement","referenceBitmap","offsetX","offsetY","codingTemplate","codingTemplateLength","codingTemplateX","codingTemplateY","referenceTemplate","referenceTemplateLength","referenceTemplateX","referenceTemplateY","referenceWidth","referenceHeight","decodeSymbolDictionary","huffman","refinement","symbols","numberOfNewSymbols","numberOfExportedSymbols","huffmanTables","refinementTemplateIndex","refinementAt","huffmanInput","tableB1","symbolWidths","newSymbols","currentHeight","symbolCodeLength","getStandardTable","deltaHeight","tableDeltaHeight","decode","currentWidth","totalWidth","firstSymbol","deltaWidth","tableDeltaWidth","numberOfInstances","decodeTextRegion","symbolId","rdx","rdy","bitmapSize","tableBitmapSize","collectiveBitmap","readUncompressedBitmap","originalEnd","bitmapEnd","numberOfSymbolsDecoded","xMin","xMax","bitmapWidth","symbolBitmap","exportedSymbols","currentFlag","totalSymbolsLength","runLength","defaultPixelValue","numberOfSymbolInstances","stripSize","inputSymbols","transposed","dsOffset","referenceCorner","combinationOperator","logStripSize","stripT","tableDeltaT","firstS","deltaT","deltaFirstS","tableFirstS","currentS","currentT","symbolIDTable","applyRefinement","symbolWidth","symbolHeight","rdw","rdh","s2","t2","symbolRow","offsetT","offsetS","maxWidth","deltaS","tableDeltaS","decodePatternDictionary","patternWidth","patternHeight","maxPatternIndex","collectiveWidth","patterns","patternBitmap","decodeHalftoneRegion","regionWidth","regionHeight","enableSkip","gridWidth","gridHeight","gridOffsetX","gridOffsetY","gridVectorX","gridVectorY","regionBitmap","numberOfPatterns","pattern0","bitsPerValue","mmrInput","mg","ng","patternIndex","patternRow","regionRow","grayScaleBitPlanes","regionX","regionY","readSegmentHeader","segmentHeader","segmentType","typeName","deferredNonRetain","pageAssociationFieldSize","referredFlags","referredToCount","retainBits","referredToSegmentNumberSize","referredTo","pageAssociation","genericRegionInfo","readRegionSegmentInformation","genericRegionSegmentFlags","RegionSegmentInformationFieldLength","genericRegionMmr","searchPatternLength","searchPattern","headerEnd","readSegments","header","segments","randomAccess","processSegment","visitor","atLength","dictionary","dictionaryFlags","huffmanDHSelector","huffmanDWSelector","bitmapSizeSelector","aggregationInstancesSelector","bitmapCodingContextUsed","bitmapCodingContextRetained","refinementTemplate","textRegion","textRegionSegmentFlags","textRegionHuffmanFlags","huffmanFS","huffmanDS","huffmanDT","huffmanRefinementDW","huffmanRefinementDH","huffmanRefinementDX","huffmanRefinementDY","huffmanRefinementSizeSelector","patternDictionary","patternDictionaryFlags","halftoneRegion","halftoneRegionFlags","genericRegion","pageInfo","resolutionX","resolutionY","pageSegmentFlags","lossless","requiresBuffer","combinationOperatorOverride","callbackName","processSegments","parseJbig2Chunks","SimpleSegmentVisitor","parseJbig2","numberOfPages","_visitor$currentPageI","currentPageInfo","bitPacked","imgData","mask","HuffmanLine","lineData","isOOB","rangeLow","prefixLength","rangeLength","prefixCode","isLowerRange","HuffmanTreeNode","line","isLeaf","HuffmanTable","lines","prefixCodesDone","assignPrefixCodes","rootNode","buildTree","decodeTablesSegment","lowestValue","highestValue","prefixSizeBits","rangeSizeBits","currentRangeLow","onPageInformation","rowSize","drawBitmap","regionInfo","mask0","offset0","onImmediateGenericRegion","region","onImmediateLosslessGenericRegion","onSymbolDictionary","currentSegment","referredSegments","getSymbolDictionaryHuffmanTables","customTables","referredSymbols","onImmediateTextRegion","getTextRegionHuffmanTables","onImmediateLosslessTextRegion","onPatternDictionary","onImmediateHalftoneRegion","onImmediateLosslessHalftoneRegion","onTables","decodeNode","htOffset","linesLength","prefixLengthMax","histogram","currentCode","currentTemp","currentLength","firstCode","standardTablesCache","currentByte","getCustomHuffmanTable","numberOfSymbols","runCodesTable","_codeLength","repeatedLength","numberOfRepeats","customIndex","tableAggregateInstances","endOfBlock","lookForEOFLimit","numBits","_parseJbig","QeTable","qe","nmps","nlps","switchFlag","bp","dataEnd","chigh","clow","byteIn","ct","cx_index","cx_mps","qeTableIcx","qeIcx","_jpg","jpegOptions","decodeTransform","colorTransform","decodeArr","forceRGB","bitsPerComponent","decodeArrLength","transformNeeded","maxValue","jpegImage","JpegImage","getData","drawWidth","drawHeight","isSourcePDF","JpegError","DNLMarkerError","scanLines","EOIMarkerError","dctZigZag","dctCos1","dctSin1","dctCos3","dctSin3","dctCos6","dctSin6","dctSqrt2","dctSqrt1d2","_ref$decodeTransform","_ref$colorTransform","_decodeTransform","_colorTransform","buildHuffmanTable","getBlockBufferOffset","component","col","blocksPerLine","decodeScan","frame","components","resetInterval","spectralStart","spectralEnd","successivePrev","successive","parseDNLMarker","mcusPerLine","progressive","startOffset","bitsData","bitsCount","nextByte","maybeScanLines","blockRow","precision","round","decodeHuffman","tree","receive","receiveAndExtend","decodeBaseline","blockOffset","huffmanTableDC","diff","blockData","pred","rs","huffmanTableAC","z","decodeDCFirst","decodeDCSuccessive","eobrun","decodeACFirst","successiveACNextValue","successiveACState","decodeACSuccessive","offsetZ","decodeMcu","mcu","mcuRow","mcuCol","blockCol","h","decodeBlock","decodeFn","componentsLength","fileMarker","mcuExpected","blocksPerColumn","mcusPerColumn","mcuToRead","findNextFileMarker","invalid","partialMsg","marker","quantizeAndInverse","blockBufferOffset","v0","v3","v4","v5","v6","v7","p0","p5","p6","p7","qt","quantizationTable","buildComponentData","computationBuffer","currentPos","maxPos","newPos","currentMarker","newMarker","_ref2$dnlScanLines","dnlScanLines","readDataBlock","prepareComponents","samplesPerLine","maxH","maxV","blocksPerLineForMcu","blocksPerColumnForMcu","blocksBufferSize","jfif","adobe","numSOSMarkers","quantizationTables","huffmanTablesAC","huffmanTablesDC","markerLoop","appData","major","minor","densityUnits","xDensity","yDensity","thumbWidth","thumbHeight","thumbData","flags0","flags1","transformCode","quantizationTablesLength","quantizationTablesEnd","quantizationTableSpec","tableData","extended","sofScanLines","componentIds","componentId","componentsCount","qId","quantizationId","huffmanLength","huffmanTableSpec","codeLengthSum","huffmanValues","selectorsCount","componentIndex","tableSpec","successiveApproximation","nextFileMarker","scaleX","scaleY","numComponents","_getLinearizedBlockData","componentScaleX","componentScaleY","blocksPerScanline","lastComponentScaleX","xScaleBlockOffset","mask3LSB","_convertYccToRgb","Y","Cb","Cr","_convertYcckToRgb","_convertYcckToCmyk","_convertCmykToRgb","_ref3$forceRGB","_ref3$isSourcePDF","rgbData","grayColor","_isColorConversionNeeded","_jpx","jpxImage","JpxImage","tileCount","tiles","tileComponents","tileWidth","tileHeight","tileLeft","tileTop","top","srcPosition","dataPosition","imgRowSize","tileRowSize","JpxError","SubbandsGainLog2","LL","LH","HL","HH","failOnCorruptedImage","calculateComponentDimensions","siz","x0","XOsiz","XRsiz","x1","Xsiz","y0","YOsiz","YRsiz","y1","Ysiz","calculateTileGrids","tile","SIZ","numXtiles","XTOsiz","XTsiz","numYtiles","YTOsiz","YTsiz","tx0","ty0","tx1","ty1","Csiz","tileComponent","tcx0","tcy0","tcx1","tcy1","getBlocksDimensions","codOrCoc","codingStyleParameters","entropyCoderWithCustomPrecincts","PPx","precinctsSizes","PPy","xcb_","xcb","ycb_","ycb","buildPrecincts","resolution","dimensions","precinctWidth","precinctHeight","isZeroRes","resLevel","precinctWidthInSubband","precinctHeightInSubband","numprecinctswide","trx1","trx0","numprecinctshigh","try1","try0","numprecincts","precinctParameters","buildCodeblocks","subband","codeblock","precinctNumber","codeblockWidth","codeblockHeight","cbx0","tbx0","cby0","tby0","cbx1","tbx1","cby1","tby1","codeblocks","precincts","cbx","cby","tbx0_","tby0_","tbx1_","tby1_","pi","pj","subbandType","Lblock","precinct","cbxMin","cbxMax","cbyMin","cbyMax","codeblockParameters","numcodeblockwide","numcodeblockhigh","createPacket","layerNumber","precinctCodeblocks","subbands","LayerResolutionComponentPositionIterator","tileIndex","currentTile","layersCount","codingStyleDefaultParameters","maxDecompositionLevelsCount","decompositionLevelsCount","nextPacket","resolutions","packet","ResolutionLayerComponentPositionIterator","ResolutionPositionComponentLayerIterator","maxNumPrecinctsInLevel","maxNumPrecincts","_component","PositionComponentResolutionLayerIterator","getPrecinctSizesInImageScale","precinctsIterationSizes","px","py","maxNumHigh","maxNumWide","sizeInImageScale","getPrecinctIndexIfExist","ComponentPositionResolutionLayerIterator","pxIndex","pyIndex","precinctIterationSizes","posX","minWidth","posY","minHeight","startPrecinctRowIndex","MAX_VALUE","sizePerComponent","sizePerResolution","minWidthCurrentComponent","minHeightCurrentComponent","maxNumWideCurrentComponent","maxNumHighCurrentComponent","scale","widthCurrentResolution","heightCurrentResolution","buildPackets","blocksDimensions","bscale","resolutionSubbands","progressionOrder","packetsIterator","parseTilePackets","bufferSize","skipNextBit","skipMarkerIfEqual","skipBytes","alignToByte","readCodingpasses","sopMarkerUsed","COD","ephMarkerUsed","valueReady","codeblockColumn","codeblockRow","codeblockIncluded","firstTimeInclusion","included","inclusionTree","zeroBitPlanesTree","InclusionTree","TagTree","incrementValue","nextLevel","zeroBitPlanes","codingpasses","codingpassesLog2","codedDataLength","packetItem","copyCoefficients","coefficients","levelWidth","levelHeight","mb","reversible","segmentationSymbolUsed","right","bottom","blockWidth","blockHeight","bitModel","currentCodingpassType","BitModel","dataItem","encodedData","setDecoder","runSignificancePropagationPass","runMagnitudeRefinementPass","runCleanupPass","checkSegmentationSymbol","nb","coefficentsSign","magnitude","coefficentsMagnitude","bitsDecoded","magnitudeCorrection","interleave","levelOffset","transformTile","quantizationParameters","spqcds","SPqcds","scalarExpounded","guardBits","reversibleTransformation","ReversibleTransform","IrreversibleTransform","subbandCoefficients","mu","epsilon","gainLog2","calculate","transformComponents","resultImages","transformedTiles","y2","tile0","out","multipleComponentTransform","fourComponents","y0items","y1items","y2items","y3items","component0","alpha01","initializeTile","qcdOrQcc","QCC","QCD","COC","headerSize","lbox","tbox","jumpDataLength","colorspace","parseCodestream","headerType","parseImageProperties","newByte","oldByte","doNotRecover","sqcd","spqcdSize","mainHeader","isSigned","qcd","noQuantization","spqcd","cqcc","qcc","cod","scod","blockStyle","selectiveArithmeticCodingBypass","resetContextProbabilities","terminationOnEachCodingPass","verticallyStripe","predictableTermination","precinctsSize","unsupported","partIndex","partsCount","levelsLength","levels","currentLevel","defaultValue","stopValue","propagateValues","levelIndex","UNIFORM_CONTEXT","RUNLENGTH_CONTEXT","LLAndLHContextsLabel","HLContextLabel","HHContextLabel","contextLabelTable","coefficientCount","neighborsSignificance","processingFlags","setNeighborsSignificance","column","processedInverseMask","processedMask","firstMagnitudeBitMask","i1","decision","decodeSignBit","contribution","sign0","sign1","significance1","decoded","horizontalContribution","indexNext","width4","index0","significance","iNext","oneRowDown","twoRowsDown","threeRowsDown","indexBase","checkAllEmpty","allEmpty","hasSignificantCoefficent","i2","Transform","u0","ll","extend","j1","j2","hl_lh_hh","u","llWidth","llHeight","llItems","bufferPadding","rowBuffer","numBuffers","colBuffers","currentBuffer","current","alpha","beta","gamma","K_","calculateSHA512","calculateSHA384","calculateSHA256","PDF20","PDF17","ARCFourCipher","AES256Cipher","AES128Cipher","keyLength","encryptBlock","tmp2","decryptBlock","h0","h1","h2","h3","paddedLength","padded","w","rotateArg","Word64","highInteger","lowInteger","high","low","and","word","xor","or","shiftRight","places","shiftLeft","rotateRight","not","lowAdd","highAdd","copyTo","rotr","maj","sigma","sigmaPrime","littleSigma","littleSigmaPrime","h4","h5","h6","h7","t1","mode384","tmp3","tmp1","NullCipher","AESBaseCipher","_inv_s","_mix","_mixCol","bufferPosition","cipherKey","_keySize","_cyclesOfRepetition","_j2","_k","_j3","s0","s1","s3","_j4","_j5","_j6","_j7","_j8","_j9","_k2","sourceLength","iv","plain","_decrypt","outputLength","lastBlock","psLen","_j10","_decryptBlock2","cipher","_encrypt","_j11","_AESBaseCipher","_rcon","_expandKey","rcon","t3","t4","_AESBaseCipher2","compareByteArrays","array1","array2","checkOwnerPassword","ownerValidationSalt","userBytes","ownerPassword","hashData","checkUserPassword","userValidationSalt","userPassword","getOwnerKey","ownerKeySalt","ownerEncryption","getUserKey","userKeySalt","userEncryption","concatArrays","calculatePDF20Hash","arrayLength","k1","concatBytes","CipherTransform","stringCipherConstructor","streamCipherConstructor","StringCipherConstructor","StreamCipherConstructor","encryptString","strLen","pad","crypto","getRandomValues","_data","buf","defaultPasswordBytes","createEncryptionKey20","revision","uBytes","perms","passwordLength","pdfAlgorithm","prepareKeyData","hashDataSize","keyLengthInBytes","checkData","encryptionKey","derivedKey","decodeUserPassword","identityName","algorithm","cfDict","streamCryptoName","handlerDict","passwordBytes","fileIdBytes","decodedPassword","cf","stmf","strf","eff","buildObjectKey","isAes","buildCipherConstructor","cfm","cryptFilter","cipherConstructor","resizeRgbImage","w1","w2","COMPONENTS","oldIndex","xRatio","yRatio","newIndex","xScaled","w1Scanline","numComps","getRgbItem","decodeMap","bpc","isDefaultDecode","originalWidth","originalHeight","actualHeight","comps","numComponentColors","needsResizing","isPassthrough","allColors","colorMap","getRgbBuffer","rgbPos","destPos","_destPos","_rgbPos","localColorSpaceCache","parsedColorSpace","csName","csRef","localColorSpace","getByRef","_localColorSpace","getByName","_parseAsync","cs","_ref$resources","pdfFunctionFactory","_parse","_cache","parseAsync","_ref2$resources","cachedColorSpace","getCached","gray","cmyk","PatternCS","colorSpaces","resourcesCS","baseCS","whitePoint","blackPoint","CalGrayCS","matrix","CalRGBCS","alt","altCS","hiVal","IndexedCS","tintFn","AlternateCS","LabCS","DeviceGrayCS","DeviceRgbCS","DeviceCmykCS","_ColorSpace","tmpBuf","baseNumComps","usesZeroToOneRange","baseBuf","scaled","tinted","getOutputLength","_ColorSpace2","_ColorSpace3","highVal","outputDelta","lookupPos","_ColorSpace4","_ColorSpace5","convertToRgb","srcScale","_ColorSpace6","AG","G","L","YW","_ColorSpace7","XW","ZW","XB","YB","ZB","BRADFORD_SCALE_MATRIX","BRADFORD_SCALE_INVERSE_MATRIX","SRGB_D65_XYZ_TO_RGB_MATRIX","FLAT_WHITEPOINT_MATRIX","tempNormalizeMatrix","tempConvertMatrix1","tempConvertMatrix2","DECODE_L_CONSTANT","matrixProduct","convertToFlat","sourceWhitePoint","LMS","convertToD65","D65X","D65Y","D65Z","sRGBTransferFunction","adjustToRange","decodeL","compensateBlackPoint","sourceBlackPoint","XYZ_Flat","zeroDecodeL","X_DST","X_SRC","Y_DST","Y_SRC","Z_DST","Z_SRC","X_Scale","X_Offset","Y_Scale","Y_Offset","Z_Scale","Z_Offset","normalizeWhitePointToFlat","XYZ_In","LMS_Flat","normalizeWhitePointToD65","LMS_D65","AGR","GR","BGG","GG","CGB","GB","X","MXA","MXB","MXC","MYA","MYB","MYC","Z","MZA","MZB","MZC","XYZ","XYZ_Black","XYZ_D65","SRGB","_ColorSpace8","_super8","fn_g","high1","low2","high2","maxVal","Ls","as","bs","amin","amax","bmin","bmax","M","N","_ColorSpace9","_super9","LocalGStateCache","LocalFunctionCache","LocalColorSpaceCache","LocalImageCache","BaseLocalCache","onlyRefs","_nameRefMap","_imageMap","_imageCache","_BaseLocalCache","_BaseLocalCache2","_BaseLocalCache3","_BaseLocalCache4","_refCache","pageIndexSet","NUM_PAGES_THRESHOLD","MAX_IMAGES_TO_CACHE","onlyData","getQuadPoints","MarkupAnnotation","AnnotationBorderStyle","Annotation","_get","receiver","_superPropBase","createObjId","parameters","LinkAnnotation","TextAnnotation","fieldType","TextWidgetAnnotation","ButtonWidgetAnnotation","ChoiceWidgetAnnotation","WidgetAnnotation","PopupAnnotation","FreeTextAnnotation","LineAnnotation","SquareAnnotation","CircleAnnotation","PolylineAnnotation","PolygonAnnotation","CaretAnnotation","InkAnnotation","HighlightAnnotation","UnderlineAnnotation","SquigglyAnnotation","StrikeOutAnnotation","StampAnnotation","FileAttachmentAnnotation","quadPoints","quadPointsLists","getTransformMatrix","bbox","_Util$getAxialAligned","getAxialAlignedBoundingBox","_Util$getAxialAligned2","maxY","setContents","setModificationDate","setFlags","setRectangle","setColor","setBorderStyle","setAppearance","annotationFlags","borderStyle","contents","hasAppearance","appearance","modificationDate","flag","_hasFlag","dictType","setWidth","setStyle","setDashArray","setHorizontalCornerRadius","setVerticalCornerRadius","appearanceStates","normalAppearanceState","evaluator","renderForms","appearanceDict","_save","_isViewable","_isPrintable","dashArray","horizontalCornerRadius","verticalCornerRadius","maxHeight","allZeros","validNumber","radius","_Annotation","rawIRT","inReplyTo","rt","replyType","setCreationDate","creationDate","hasPopup","_Annotation2","annotationType","fieldName","_constructFieldName","fieldValue","_decodeFormValue","alternativeText","defaultAppearance","fieldResources","fieldFlags","readOnly","hasFieldFlag","loopDict","formValue","_hasText","_getAppearance","_save2","AP","originalTransform","newTransform","bufferOriginal","bufferNew","writeDict","_getAppearance2","isPassword","defaultPadding","hPadding","totalHeight","fontInfo","_fontInfo","fontName","fontSize","descent","vPadding","alignment","renderedText","_getFontData","_computeFontSize","abs","textAlignment","comb","_getCombAppearance","multiLine","_getMultilineAppearance","_renderText","_getFontData2","initialState","clone","_x10","_x11","em","charsToGlyphs","capHeight","fontRegex","text","glyphs","glyph","toFixed","_WidgetAnnotation","maximumLength","combWidth","renderedComb","_splitLine","padding","whitespace","lastSpacePos","startChunk","charWidth","_WidgetAnnotation2","checkedAppearance","uncheckedAppearance","checkBox","radioButton","pushButton","_processCheckBox","_processRadioButton","_processPushButton","savedAppearance","_save3","_callee5","_context5","_saveCheckbox","_saveRadioButton","_x12","_x13","_x14","_saveCheckbox2","_callee6","_context6","exportValue","_x15","_x16","_x17","_saveRadioButton2","_callee7","parentBuffer","parentTransform","_context7","buttonValue","_x18","_x19","_x20","customAppearance","normalAppearance","exportValues","fieldParent","fieldParentValue","_WidgetAnnotation3","option","isOptionArray","displayValue","combo","multiSelect","_MarkupAnnotation","_this8","DEFAULT_ICON_SIZE","stateModel","_Annotation3","_this9","_Annotation4","_this10","parentItem","parentSubtype","parentType","rawParent","parentId","parentFlags","_MarkupAnnotation2","_this11","_MarkupAnnotation3","_super10","_this12","lineCoordinates","_MarkupAnnotation4","_super11","_this13","_MarkupAnnotation5","_super12","_this14","_MarkupAnnotation6","_super13","_this15","rawVertices","vertices","_PolylineAnnotation","_super14","_this16","_MarkupAnnotation7","_super15","_this17","_MarkupAnnotation8","_super16","_this18","originalInkLists","inkLists","_MarkupAnnotation9","_super17","_this19","_MarkupAnnotation10","_super18","_this20","_MarkupAnnotation11","_super19","_this21","_MarkupAnnotation12","_super20","_this22","_MarkupAnnotation13","_super21","_this23","_MarkupAnnotation14","_super22","_this24","QueueOptimizer","addState","parentState","pattern","checkFn","iterateFn","processFn","handlePaintSolidColorImageMask","iFirstSave","fnArray","argsArray","iFirstPIMXO","imageMask","InitialState","iCurr","lastProcessed","MIN_IMAGES_IN_INLINE_IMAGES_BLOCK","MAX_IMAGES_IN_INLINE_IMAGES_BLOCK","MAX_WIDTH","IMAGE_PADDING","curr","iFirstTransform","iFirstPIIXO","maxLineHeight","currentX","currentY","img","imgWidth","imgHeight","dataOffset","MIN_IMAGES_IN_MASKS_BLOCK","MAX_IMAGES_IN_MASKS_BLOCK","MAX_SAME_IMAGES_IN_MASKS_BLOCK","iTransform","transformArgs","isSameImage","firstPIMXOArg0","firstTransformArg0","firstTransformArg1","firstTransformArg2","firstTransformArg3","iPIMXO","positions","images","maskParams","iFirstPIXO","firstPIXOArg0","MIN_IMAGES_IN_BLOCK","MAX_IMAGES_IN_BLOCK","iFirstSetFont","firstSetFontArg0","firstSetFontArg1","MIN_CHARS_IN_BLOCK","MAX_CHARS_IN_BLOCK","iFirstBeginText","iFirstSetTextMatrix","iFirstShowText","iFirstEndText","iFirst","iEndText","_optimize","NullOptimizer","CHUNK_SIZE","CHUNK_SIZE_ABOUT","streamSink","_streamSink","optimizer","dependencies","_totalLength","weight","_resolved","addDependency","addDependencies","getIR","transfers","cached","_transfers","writeValue","writeStream","writeArray","numberToString","roundedValue","writeInt","writeString","computeMD5","filesize","time","md5Buffer","md5BufferLen","_Object$values","_md5Buffer","originalData","baseOffset","refForXrefTable","xrefTableData","indexes","maxOffset","md5","offsetSize","sizes","structSize","tableLength","bufferLen","footer","_xrefTableData","_xrefTableData$_i","objOffset","_cmap","_fonts","_encodings","_unicode","_standard_fonts","_pattern","_function","_bidi","_glyphlist","_metrics","_murmurhash","_image","DefaultPartialEvaluatorOptions","freeze","PatternType","TILING","SHADING","deferred","normalizeBlendMode","parsingArray","maybeBM","TimeSlotManager","checked","CHECK_TIME_EVERY","endTime","TIME_SLOT_DURATION_MS","_ref$options","parsingType3Font","_fetchBuiltInCMapBound","fetchBuiltInCMap","newOptions","newEvaluator","nodes","graphicStates","graphicState","bm","xObjects","xObject","xResources","_fetchBuiltInCMap","readableStream","sendWithStream","pump","compressionType","_buildFormXObject","xobj","optionalContent","groupOptions","groupSubtype","colorSpace","parseMarkedContentProps","isolated","knockout","parseColorSpace","backdrop","buildFormXObject","cacheGlobally","_buildPaintImageXObject","image","_ref3$isInline","isInline","localImageCache","imageRef","bitStrideLength","imgArray","softMask","SMALL_IMAGE_DIMENSIONS","imageObj","PDFImage","createMask","imageIsFromDecodeStream","inverseDecode","res","_pdfFunctionFactory","createImageData","getDocId","shouldCache","buildImage","_sendImgData","addPageIndex","setData","buildPaintImageXObject","stateManager","smaskContent","smaskOptions","transferObj","isPDFFunction","transferFn","transferMap","tr","transferArray","transferMaps","numFns","numEffectfulFns","patternDict","tilingOpList","patternResources","getTilingPatternIR","tilingPatternIR","fontArgs","fontRef","loadFont","isType3Font","loadType3Data","type3Dependencies","TranslatedFont","ErrorFont","extraProperties","isAddToPathSet","textRenderingMode","fillColorSpace","buildFontPaths","_setGState","gState","localGStateCache","gStateRef","isSimpleGState","gStateObj","gStateKeys","handleSetFont","handleSMask","handleTransferFunction","errorFont","fontRes","fallbackFontDict","fontID","translatedPromise","fontCapability","preEvaluatedFont","preEvaluateFont","fontRefIsRef","fontAliases","aliasFontRef","putAlias","createFontId","translateFont","fontType","xrefFontStats","fontFile3","getFontType","parsingText","lastIndex","opArgs","_handleColorN","patternName","typeNum","shading","handleTilingType","Pattern","parseShading","handleColorN","_parseMarkedContentProps","contentProperties","optionalContentType","optionalContentGroups","groupIds","expression","ocg","policy","_ref6$initialState","EvalState","xobjs","StateManager","preprocessor","EvaluatorPreprocessor","timeSlotManager","closePendingRestoreOPS","savedStatesDepth","promiseBody","operation","localImage","resolveXObject","rejectXObject","_localImage","globalImage","_localImage2","ensureStateFont","handleText","combinedGlyphs","arrLength","arrItem","_cachedColorSpace","strokeColorSpace","shadingRes","patternIR","localGStateObj","resolveGState","rejectGState","extGState","buildPath","_ref7$stateManager","_ref7$normalizeWhites","_ref7$combineTextItem","_ref7$seenStyles","seenStyles","TextState","textState","WhitespaceRegexp","textContent","styles","textContentItem","vertical","lastAdvanceWidth","lastAdvanceHeight","textAdvanceScale","spaceWidth","fakeSpaceMin","fakeMultiSpaceMin","fakeMultiSpaceMax","textRunBreakAllowed","SPACE_FACTOR","MULTI_SPACE_FACTOR","MULTI_SPACE_FACTOR_MAX","emptyXObjectCache","emptyGStateCache","ensureTextContentItem","fontFamily","fallbackName","ascent","tsm","textHScale","textRise","fontMatrix","glyphHeight","trm","ctm","textMatrix","textLineMatrix","scaleLineX","scaleCtmX","isMonospace","replaceWhitespace","runBidiTransform","textChunk","bidiResult","bidi","dir","buildTextContentItem","glyphWidth","vmetric","glyphUnicode","unicode","NormalizedUnicodes","getNormalizedUnicodes","reverseIfRtl","charSpacing","isSpace","wordSpacing","addFakeSpaces","tx","ty","w0","translateTextMatrix","fakeSpaces","flushTextContentItem","enqueueChunk","advance","fontNameArg","fontSizeArg","leading","isSameTextLine","translateTextLineMatrix","carriageReturn","calcTextLineMatrixAdvance","setTextLineMatrix","breakTextRun","currentState","xObjStateManager","sinkWrapper","enqueueInvoked","gStateFont","baseDict","cidToGidBytes","toUnicode","toUnicodePromise","readToUnicode","composite","cidSystemInfo","registry","ordering","supplement","cidToGidMap","differences","baseEncodingName","diffEncoding","defaultEncoding","getEncoding","isSymbolicFont","FontFlags","Symbolic","isNonsymbolicFont","Nonsymbolic","StandardEncoding","WinAnsiEncoding","MacRomanEncoding","SymbolSetEncoding","ZapfDingbatsEncoding","hasEncoding","buildToUnicode","builtToUnicode","readCidToGidMap","forceGlyphs","charcode","glyphName","glyphsUnicodeMap","getGlyphsUnicode","_charcode","_glyphName","codeStr","_buildSimpleFontToUnicode","getUnicodeForGlyph","baseEncoding","ToUnicodeMap","hasIncludedToUnicodeMap","fallbackToUnicode","cMap","builtInCMap","IdentityCMap","ucs2CMapName","CMapFactory","useCMap","ucs2CMap","cid","ucs2","IdentityToUnicodeMap","firstChar","lastChar","cmapObj","cmap","getMap","charCode","glyphsData","glyphID","defaultVMetrics","widths","glyphsWidths","defaultWidth","glyphsVMetrics","vmetrics","parseFloat","baseFontName","metrics","getBaseFontMetrics","buildCharCodeToWidth","firstWidth","FixedPitch","fontNameWoStyle","getSerifFonts","monospace","stdFontMap","getStdFontMap","lookupName","Metrics","getMetrics","isSerifFont","glyphWidths","widthsByGlyphName","uint8array","df","MurmurHash3_64","update","diffLength","diffBuf","diffEntry","hexdigest","maxCharIndex","Serif","getSymbolsFonts","extractDataStructures","newProperties","Font","baseFont","fontNameStr","baseFontStr","cMapPromise","fontFile","length1","length2","length3","fixedPitch","xHeight","italicAngle","cidEncoding","extractWidths","PDFFunctionFactory","fontChar","renderer","hasBuiltPath","getPathJs","accent","_ref8$extraProperties","_extraProperties","type3Loaded","exportData","glyphCacheValues","type3Options","type3Evaluator","loadCharProcsPromise","charProcs","fontResources","charProcOperatorList","_loop2","glyphStream","_step8","_iterator8","dummyOperatorList","stateStack","old","txDiff","tyDiff","denominator","opMap","nonProcessedArgs","_numInvalidPathOPS","getOPMap","numArgs","variableArgs","J","ri","gs","Q","cm","re","W","BT","ET","Tc","Tw","Tz","TL","Tf","Tr","Ts","Td","TD","Tm","Tj","TJ","d0","CS","SC","SCN","sc","scn","RG","rg","sh","BI","ID","EI","Do","MP","DP","BMC","BDC","EMC","BX","EX","BM","BD","fa","fal","fals","nu","nul","opSpec","argsLength","MAX_INVALID_PATH_OPS","preprocessCommand","CMap","BUILT_IN_CMAPS","MAX_MAP_RANGE","codespaceRanges","numCodespaceRanges","dstLow","dst","nn","codespaceRange","_CMap","addCodespaceRange","BinaryCMapReader","hexToInt","hexToStr","addHex","incHex","MAX_NUM_SIZE","MAX_ENCODED_NUM_SIZE","BinaryCMapStream","processBinaryCMap","readByte","_char","dataSize","ucs2DataSize","subitemsCount","readNumber","readHex","readHexNumber","mapOne","readSigned","mapCidRange","readHexSigned","mapBfRange","readString","stack","sp","strToInt","expectString","expectInt","parseBfChar","parseBfRange","mapBfRangeToArray","parseCidChar","parseCidRange","parseCodespaceRange","parseWMode","parseCMapName","parseCMap","embeddedUseCMap","objLoop","extendCMap","createBuiltInCMap","newCMap","useCodespaceRanges","cMapData","parsedCMap","isIdentityCMap","SEAC_ANALYSIS_ENABLED","_cff_parser","_font_renderer","_type1_parser","PRIVATE_USE_AREAS","PDF_GLYPH_SPACE_UNITS","EXPORT_DATA_PROPERTIES","EXPORT_DATA_EXTRA_PROPERTIES","Script","Italic","AllCap","SmallCap","ForceBold","MacStandardGlyphOrdering","adjustWidths","adjustToUnicode","builtInEncoding","amend","recoverGlyphName","Glyph","operatorListId","isInFont","matchesForCache","charCodeOf","OpenTypeFileBuilder","writeInt16","writeInt32","writeData","sfnt","tables","entriesCount","entrySize","maxPower2","searchRange","rangeShift","OTF_HEADER_SIZE","OTF_TABLE_ENTRY_SIZE","toArray","tablesNames","tableName","numTables","tableOffsets","checksum","quad","addTable","missingFile","glyphCache","toFontChar","fallbackToSystemFont","_getFontFileType","getFontFileType","_getFontFileType2","mimetype","cff","CFFFont","Type1Font","convert","checkAndRepair","isOpenType","seacMap","int16","writeSignedInt16","signedInt16","int32","string16","safeString16","isTrueTypeFile","isTrueTypeCollectionFile","isOpenTypeFile","isType1File","isCFFFile","fileType","fileSubtype","buildToFontChar","adjustMapping","charCodeToGlyphId","hasGlyph","newGlyphZeroId","newMap","privateUseAreaIndex","nextAvailableFontCharCode","privateUseOffetEnd","originalCharCode","glyphId","fontCharCode","getRanges","numGlyphs","codeIndices","createCmapTable","bmpLength","trailingRangesCount","segCount","startCount","endCount","idDeltas","idRangeOffsets","glyphsIds","contiguous","startCode","format314","format31012","header31012","validateOS2Table","os2","selection","usWinAscent","createOS2Table","charstrings","override","unitsPerEm","yMax","yMin","ulUnicodeRange1","ulUnicodeRange2","ulUnicodeRange3","ulUnicodeRange4","firstCharIndex","lastCharIndex","getUnicodeRangeFor","ascentScaled","typoAscent","typoDescent","winAscent","winDescent","createPostTable","angle","createNameTable","strings","stringsUnicode","strBufUnicode","platforms","encodings","languages","namesRecordCount","nameTable","strOffset","strs","nameRecord","FontRendererFactory","exportDataProperties","nonStdFontMap","getNonStdFontMap","isStandardFont","remeasure","GlyphMapForStandardFonts","getGlyphMapForStandardFonts","SupplementalGlyphMapForArialBlack","getSupplementalGlyphMapForArialBlack","_charCode","SupplementalGlyphMapForCalibri","getSupplementalGlyphMapForCalibri","_charCode2","isIdentityUnicode","unicodeCharCode","getDingbatsGlyphsUnicode","_GlyphMapForStandardFonts","_charCode3","VALID_TABLES","readTables","hhea","hmtx","maxp","readTableEntry","previousPosition","readOpenTypeHeader","ttf","entrySelector","readTrueTypeCollectionHeader","ttc","ttcTag","majorVersion","minorVersion","numFonts","offsetTable","dsigTag","dsigLength","dsigOffset","readTrueTypeCollectionData","_readTrueTypeCollecti","potentialHeader","potentialTables","readNameTable","nameEntry","readCmapTable","platformId","encodingId","mappings","hasShortCmap","potentialTable","canBreak","useTable","format","segIndex","offsetsCount","rangeOffset","offsetIndex","offsets","sanitizeMetrics","dupFirstEntry","numOfMetrics","numOfSidebearings","numMissing","sanitizeGlyph","sourceStart","sourceEnd","hintsValid","glyphProfile","sizeOfInstructions","glyf","contoursCount","flagsCount","endPoint","instructionsStart","instructionsLength","instructionsEnd","coordinatesLength","xLength","yLength","xyLength","glyphDataLength","sanitizeHead","locaLength","indexToLocFormat","numGlyphsPlusOne","sanitizeGlyphLocations","loca","isGlyphLocationsLong","maxSizeOfInstructions","itemSize","itemDecode","itemEncode","numGlyphsOut","locaDataSize","locaData","oldGlyfData","oldGlyfDataLength","newGlyfData","locaEntries","missingGlyphs","writeOffset","simpleGlyph","firstEntryLength","readPostScriptTable","propertiesObj","maxpNumGlyphs","glyphNames","valid","glyphNameIndexes","customNames","FORMAT_0_HEADER_LENGTH","numRecords","stringsStart","records","NAME_RECORD_LENGTH","platform","language","nameIndex","cffFile","TTOpsStackDeltas","sanitizeTTProgram","ttContext","funcId","lastEndf","lastDeff","callstack","functionsCalled","tooComplexToFollowFunctions","inFDEF","ifLevel","inELSE","op","functionsStackDeltas","stackTop","functionsDefined","functionsUsed","newStackLength","stackDelta","NaN","foldTTTable","checkInvalidFunctions","maxFunctionDefs","sanitizeTTPrograms","fpgm","prep","cvt","cvtData","ttcData","isTrueType","isComposite","maxZones","glyphsInfo","metricsOverride","isCidToGidMapEmpty","cmapTable","cmapPlatformId","cmapEncodingId","cmapMappings","cmapMappingsLength","standardGlyphName","unicodeOrCharCode","_charCode4","glyphZeroId","newMapping","CFFParser","duplicateFirstGlyph","compiler","CFFCompiler","compile","namePrototype","builder","tableTag","getGlyphMapping","hasGlyphId","getCharCodes","charCodes","createCharCode","seacs","charset","getCharset","seac","baseGlyphName","accentGlyphName","baseGlyphId","accentGlyphId","accentOffset","baseFontCharCode","accentFontCharCode","tan","cffWidths","_i5","charstring","possibleSpaceReplacements","charToGlyph","widthCode","mapSpecialUnicodeValues","charsCache","charsCacheKey","readCharCode","type1FontGlyphMapping","findBlock","streamBytes","startIndex","streamBytesLength","getHeaderBlock","suggestedLength","headerBytes","headerBytesLength","EEXEC_SIGNATURE","streamStartPos","getEexecBlock","eexecBytes","PFB_HEADER_SIZE","headerBlockLength","eexecBlockLength","pfbHeader","pfbHeaderPresent","headerBlock","headerBlockParser","Type1Parser","extractFontHeader","eexecBlock","eexecBlockParser","extractFontProgram","type2Charstrings","getType2Charstrings","subrs","getType2Subrs","getSeacs","_glyphId","charstringsLen","_charCode5","type1Charstrings","type1Subrs","type2Subrs","CFF","CFFHeader","CFFTopDict","setByName","CFFStrings","globalSubrIndex","CFFIndex","charsetArray","CFFStandardStrings","CFFCharset","charStringsIndex","charStrings","privateDict","CFFPrivateDict","privateData","subrIndex","subrsIndex","charsets","isCIDFont","CFFFDSelect","_charsets","MAX_SUBR_NESTING","NUM_STANDARD_CFF_STRINGS","CharstringValidationData","stackClearing","stem","resetStack","undefStack","CharstringValidationData12","stackFn","seacAnalysisEnabled","parseHeader","parseIndex","topDictIndex","stringIndex","topDictParsed","parseDict","createDict","parseNameIndex","parseStringIndex","parsePrivateDict","hasName","charStringOffset","charStringIndex","fontBBox","fdArrayIndex","dictRaw","fontDict","fdArray","parseCharsets","fdSelect","parseFDSelect","parseEncoding","charStringsAndSeacs","parseCharStrings","localSubrIndex","hdrSize","offSize","parseOperand","parseFloatOperand","operands","cffIndex","offsetStart","offsetEnd","Type","cffDict","setByKey","callDepth","stackSize","validationCommand","subrNumber","parseCharString","hasVStems","firstStackClearing","localSubrToUse","privateDictToUse","fdIndex","getFDIndex","nominalWidth","parentDict","privateOffset","emptyPrivateDictionary","privateDictEnd","dictData","subrsOffset","relativeOffset","removeByName","CFFCharsetPredefinedTypes","ISO_ADOBE","ISOAdobeCharset","EXPERT","ExpertCharset","EXPERT_SUBSET","ExpertSubsetCharset","raw","predefined","readSupplement","supplementsCount","sid","ExpertEncoding","dataStart","glyphsCount","rangesCount","gid","CFFEncoding","glyphZero","objects","CFFDict","keyToNameMap","nameToKeyMap","defaults","types","opcodes","valueLength","layout","_CFFDict","createTables","_CFFDict2","glyphIndex","CFFOffsetTracker","offset1","offset2","offset3","offset4","compileHeader","compileNameIndex","compiled","compileTopDicts","topDictTracker","trackers","compileStringIndex","compileIndex","setEntryLocation","compileEncoding","compileCharset","compileCharStrings","compileFDSelect","fontDictTrackers","compilePrivateDicts","encodeInteger","encodeFloat","EncodeFloatRegExp","nibbles","sanitizedName","dicts","removeCidKeys","fontDictTracker","fontDictData","compileDict","privateDictTracker","privateDictData","offsetTracker","encodeNumber","isTracking","track","writeByteArray","numGlyphsLessNotDef","charsetIndex","numCharsets","warned","getSID","compileTypedArray","lastFD","currentFD","numRanges","lastOffset","MacExpertEncoding","encodingName","AE","AEacute","AEmacron","AEsmall","Aacute","Aacutesmall","Abreve","Abreveacute","Abrevecyrillic","Abrevedotbelow","Abrevegrave","Abrevehookabove","Abrevetilde","Acaron","Acircle","Acircumflex","Acircumflexacute","Acircumflexdotbelow","Acircumflexgrave","Acircumflexhookabove","Acircumflexsmall","Acircumflextilde","Acute","Acutesmall","Acyrillic","Adblgrave","Adieresis","Adieresiscyrillic","Adieresismacron","Adieresissmall","Adotbelow","Adotmacron","Agrave","Agravesmall","Ahookabove","Aiecyrillic","Ainvertedbreve","Alpha","Alphatonos","Amacron","Amonospace","Aogonek","Aring","Aringacute","Aringbelow","Aringsmall","Asmall","Atilde","Atildesmall","Aybarmenian","Bcircle","Bdotaccent","Bdotbelow","Becyrillic","Benarmenian","Beta","Bhook","Blinebelow","Bmonospace","Brevesmall","Bsmall","Btopbar","Caarmenian","Cacute","Caron","Caronsmall","Ccaron","Ccedilla","Ccedillaacute","Ccedillasmall","Ccircle","Ccircumflex","Cdot","Cdotaccent","Cedillasmall","Chaarmenian","Cheabkhasiancyrillic","Checyrillic","Chedescenderabkhasiancyrillic","Chedescendercyrillic","Chedieresiscyrillic","Cheharmenian","Chekhakassiancyrillic","Cheverticalstrokecyrillic","Chi","Chook","Circumflexsmall","Cmonospace","Coarmenian","Csmall","D","DZ","DZcaron","Daarmenian","Dafrican","Dcaron","Dcedilla","Dcircle","Dcircumflexbelow","Dcroat","Ddotaccent","Ddotbelow","Decyrillic","Deicoptic","Delta","Deltagreek","Dhook","Dieresis","DieresisAcute","DieresisGrave","Dieresissmall","Digammagreek","Djecyrillic","Dlinebelow","Dmonospace","Dotaccentsmall","Dslash","Dsmall","Dtopbar","Dz","Dzcaron","Dzeabkhasiancyrillic","Dzecyrillic","Dzhecyrillic","Eacute","Eacutesmall","Ebreve","Ecaron","Ecedillabreve","Echarmenian","Ecircle","Ecircumflex","Ecircumflexacute","Ecircumflexbelow","Ecircumflexdotbelow","Ecircumflexgrave","Ecircumflexhookabove","Ecircumflexsmall","Ecircumflextilde","Ecyrillic","Edblgrave","Edieresis","Edieresissmall","Edot","Edotaccent","Edotbelow","Efcyrillic","Egrave","Egravesmall","Eharmenian","Ehookabove","Eightroman","Einvertedbreve","Eiotifiedcyrillic","Elcyrillic","Elevenroman","Emacron","Emacronacute","Emacrongrave","Emcyrillic","Emonospace","Encyrillic","Endescendercyrillic","Eng","Enghecyrillic","Enhookcyrillic","Eogonek","Eopen","Epsilon","Epsilontonos","Ercyrillic","Ereversed","Ereversedcyrillic","Escyrillic","Esdescendercyrillic","Esh","Esmall","Eta","Etarmenian","Etatonos","Eth","Ethsmall","Etilde","Etildebelow","Euro","Ezh","Ezhcaron","Ezhreversed","Fcircle","Fdotaccent","Feharmenian","Feicoptic","Fhook","Fitacyrillic","Fiveroman","Fmonospace","Fourroman","Fsmall","GBsquare","Gacute","Gamma","Gammaafrican","Gangiacoptic","Gbreve","Gcaron","Gcedilla","Gcircle","Gcircumflex","Gcommaaccent","Gdot","Gdotaccent","Gecyrillic","Ghadarmenian","Ghemiddlehookcyrillic","Ghestrokecyrillic","Gheupturncyrillic","Ghook","Gimarmenian","Gjecyrillic","Gmacron","Gmonospace","Grave","Gravesmall","Gsmall","Gsmallhook","Gstroke","H","H18533","H18543","H18551","H22073","HPsquare","Haabkhasiancyrillic","Hadescendercyrillic","Hardsigncyrillic","Hbar","Hbrevebelow","Hcedilla","Hcircle","Hcircumflex","Hdieresis","Hdotaccent","Hdotbelow","Hmonospace","Hoarmenian","Horicoptic","Hsmall","Hungarumlaut","Hungarumlautsmall","Hzsquare","IAcyrillic","IJ","IUcyrillic","Iacute","Iacutesmall","Ibreve","Icaron","Icircle","Icircumflex","Icircumflexsmall","Icyrillic","Idblgrave","Idieresis","Idieresisacute","Idieresiscyrillic","Idieresissmall","Idot","Idotaccent","Idotbelow","Iebrevecyrillic","Iecyrillic","Ifraktur","Igrave","Igravesmall","Ihookabove","Iicyrillic","Iinvertedbreve","Iishortcyrillic","Imacron","Imacroncyrillic","Imonospace","Iniarmenian","Iocyrillic","Iogonek","Iota","Iotaafrican","Iotadieresis","Iotatonos","Ismall","Istroke","Itilde","Itildebelow","Izhitsacyrillic","Izhitsadblgravecyrillic","Jaarmenian","Jcircle","Jcircumflex","Jecyrillic","Jheharmenian","Jmonospace","Jsmall","KBsquare","KKsquare","Kabashkircyrillic","Kacute","Kacyrillic","Kadescendercyrillic","Kahookcyrillic","Kappa","Kastrokecyrillic","Kaverticalstrokecyrillic","Kcaron","Kcedilla","Kcircle","Kcommaaccent","Kdotbelow","Keharmenian","Kenarmenian","Khacyrillic","Kheicoptic","Khook","Kjecyrillic","Klinebelow","Kmonospace","Koppacyrillic","Koppagreek","Ksicyrillic","Ksmall","LJ","Lacute","Lambda","Lcaron","Lcedilla","Lcircle","Lcircumflexbelow","Lcommaaccent","Ldot","Ldotaccent","Ldotbelow","Ldotbelowmacron","Liwnarmenian","Lj","Ljecyrillic","Llinebelow","Lmonospace","Lslash","Lslashsmall","Lsmall","MBsquare","Macron","Macronsmall","Macute","Mcircle","Mdotaccent","Mdotbelow","Menarmenian","Mmonospace","Msmall","Mturned","Mu","NJ","Nacute","Ncaron","Ncedilla","Ncircle","Ncircumflexbelow","Ncommaaccent","Ndotaccent","Ndotbelow","Nhookleft","Nineroman","Nj","Njecyrillic","Nlinebelow","Nmonospace","Nowarmenian","Nsmall","Ntilde","Ntildesmall","Nu","OE","OEsmall","Oacute","Oacutesmall","Obarredcyrillic","Obarreddieresiscyrillic","Obreve","Ocaron","Ocenteredtilde","Ocircle","Ocircumflex","Ocircumflexacute","Ocircumflexdotbelow","Ocircumflexgrave","Ocircumflexhookabove","Ocircumflexsmall","Ocircumflextilde","Ocyrillic","Odblacute","Odblgrave","Odieresis","Odieresiscyrillic","Odieresissmall","Odotbelow","Ogoneksmall","Ograve","Ogravesmall","Oharmenian","Ohm","Ohookabove","Ohorn","Ohornacute","Ohorndotbelow","Ohorngrave","Ohornhookabove","Ohorntilde","Ohungarumlaut","Oi","Oinvertedbreve","Omacron","Omacronacute","Omacrongrave","Omega","Omegacyrillic","Omegagreek","Omegaroundcyrillic","Omegatitlocyrillic","Omegatonos","Omicron","Omicrontonos","Omonospace","Oneroman","Oogonek","Oogonekmacron","Oopen","Oslash","Oslashacute","Oslashsmall","Osmall","Ostrokeacute","Otcyrillic","Otilde","Otildeacute","Otildedieresis","Otildesmall","Pacute","Pcircle","Pdotaccent","Pecyrillic","Peharmenian","Pemiddlehookcyrillic","Phi","Phook","Pi","Piwrarmenian","Pmonospace","Psi","Psicyrillic","Psmall","Qcircle","Qmonospace","Qsmall","R","Raarmenian","Racute","Rcaron","Rcedilla","Rcircle","Rcommaaccent","Rdblgrave","Rdotaccent","Rdotbelow","Rdotbelowmacron","Reharmenian","Rfraktur","Rho","Ringsmall","Rinvertedbreve","Rlinebelow","Rmonospace","Rsmall","Rsmallinverted","Rsmallinvertedsuperior","SF010000","SF020000","SF030000","SF040000","SF050000","SF060000","SF070000","SF080000","SF090000","SF100000","SF110000","SF190000","SF200000","SF210000","SF220000","SF230000","SF240000","SF250000","SF260000","SF270000","SF280000","SF360000","SF370000","SF380000","SF390000","SF400000","SF410000","SF420000","SF430000","SF440000","SF450000","SF460000","SF470000","SF480000","SF490000","SF500000","SF510000","SF520000","SF530000","SF540000","Sacute","Sacutedotaccent","Sampigreek","Scaron","Scarondotaccent","Scaronsmall","Scedilla","Schwa","Schwacyrillic","Schwadieresiscyrillic","Scircle","Scircumflex","Scommaaccent","Sdotaccent","Sdotbelow","Sdotbelowdotaccent","Seharmenian","Sevenroman","Shaarmenian","Shacyrillic","Shchacyrillic","Sheicoptic","Shhacyrillic","Shimacoptic","Sigma","Sixroman","Smonospace","Softsigncyrillic","Ssmall","Stigmagreek","Tau","Tbar","Tcaron","Tcedilla","Tcircle","Tcircumflexbelow","Tcommaaccent","Tdotaccent","Tdotbelow","Tecyrillic","Tedescendercyrillic","Tenroman","Tetsecyrillic","Theta","Thook","Thorn","Thornsmall","Threeroman","Tildesmall","Tiwnarmenian","Tlinebelow","Tmonospace","Toarmenian","Tonefive","Tonesix","Tonetwo","Tretroflexhook","Tsecyrillic","Tshecyrillic","Tsmall","Twelveroman","Tworoman","U","Uacute","Uacutesmall","Ubreve","Ucaron","Ucircle","Ucircumflex","Ucircumflexbelow","Ucircumflexsmall","Ucyrillic","Udblacute","Udblgrave","Udieresis","Udieresisacute","Udieresisbelow","Udieresiscaron","Udieresiscyrillic","Udieresisgrave","Udieresismacron","Udieresissmall","Udotbelow","Ugrave","Ugravesmall","Uhookabove","Uhorn","Uhornacute","Uhorndotbelow","Uhorngrave","Uhornhookabove","Uhorntilde","Uhungarumlaut","Uhungarumlautcyrillic","Uinvertedbreve","Ukcyrillic","Umacron","Umacroncyrillic","Umacrondieresis","Umonospace","Uogonek","Upsilon","Upsilon1","Upsilonacutehooksymbolgreek","Upsilonafrican","Upsilondieresis","Upsilondieresishooksymbolgreek","Upsilonhooksymbol","Upsilontonos","Uring","Ushortcyrillic","Usmall","Ustraightcyrillic","Ustraightstrokecyrillic","Utilde","Utildeacute","Utildebelow","Vcircle","Vdotbelow","Vecyrillic","Vewarmenian","Vhook","Vmonospace","Voarmenian","Vsmall","Vtilde","Wacute","Wcircle","Wcircumflex","Wdieresis","Wdotaccent","Wdotbelow","Wgrave","Wmonospace","Wsmall","Xcircle","Xdieresis","Xdotaccent","Xeharmenian","Xi","Xmonospace","Xsmall","Yacute","Yacutesmall","Yatcyrillic","Ycircle","Ycircumflex","Ydieresis","Ydieresissmall","Ydotaccent","Ydotbelow","Yericyrillic","Yerudieresiscyrillic","Ygrave","Yhook","Yhookabove","Yiarmenian","Yicyrillic","Yiwnarmenian","Ymonospace","Ysmall","Ytilde","Yusbigcyrillic","Yusbigiotifiedcyrillic","Yuslittlecyrillic","Yuslittleiotifiedcyrillic","Zaarmenian","Zacute","Zcaron","Zcaronsmall","Zcircle","Zcircumflex","Zdot","Zdotaccent","Zdotbelow","Zecyrillic","Zedescendercyrillic","Zedieresiscyrillic","Zeta","Zhearmenian","Zhebrevecyrillic","Zhecyrillic","Zhedescendercyrillic","Zhedieresiscyrillic","Zlinebelow","Zmonospace","Zsmall","Zstroke","aabengali","aacute","aadeva","aagujarati","aagurmukhi","aamatragurmukhi","aarusquare","aavowelsignbengali","aavowelsigndeva","aavowelsigngujarati","abbreviationmarkarmenian","abbreviationsigndeva","abengali","abopomofo","abreve","abreveacute","abrevecyrillic","abrevedotbelow","abrevegrave","abrevehookabove","abrevetilde","acaron","acircle","acircumflex","acircumflexacute","acircumflexdotbelow","acircumflexgrave","acircumflexhookabove","acircumflextilde","acute","acutebelowcmb","acutecmb","acutecomb","acutedeva","acutelowmod","acutetonecmb","acyrillic","adblgrave","addakgurmukhi","adeva","adieresis","adieresiscyrillic","adieresismacron","adotbelow","adotmacron","ae","aeacute","aekorean","aemacron","afii00208","afii08941","afii10017","afii10018","afii10019","afii10020","afii10021","afii10022","afii10023","afii10024","afii10025","afii10026","afii10027","afii10028","afii10029","afii10030","afii10031","afii10032","afii10033","afii10034","afii10035","afii10036","afii10037","afii10038","afii10039","afii10040","afii10041","afii10042","afii10043","afii10044","afii10045","afii10046","afii10047","afii10048","afii10049","afii10050","afii10051","afii10052","afii10053","afii10054","afii10055","afii10056","afii10057","afii10058","afii10059","afii10060","afii10061","afii10062","afii10063","afii10064","afii10065","afii10066","afii10067","afii10068","afii10069","afii10070","afii10071","afii10072","afii10073","afii10074","afii10075","afii10076","afii10077","afii10078","afii10079","afii10080","afii10081","afii10082","afii10083","afii10084","afii10085","afii10086","afii10087","afii10088","afii10089","afii10090","afii10091","afii10092","afii10093","afii10094","afii10095","afii10096","afii10097","afii10098","afii10099","afii10100","afii10101","afii10102","afii10103","afii10104","afii10105","afii10106","afii10107","afii10108","afii10109","afii10110","afii10145","afii10146","afii10147","afii10148","afii10192","afii10193","afii10194","afii10195","afii10196","afii10831","afii10832","afii10846","afii299","afii300","afii301","afii57381","afii57388","afii57392","afii57393","afii57394","afii57395","afii57396","afii57397","afii57398","afii57399","afii57400","afii57401","afii57403","afii57407","afii57409","afii57410","afii57411","afii57412","afii57413","afii57414","afii57415","afii57416","afii57417","afii57418","afii57419","afii57420","afii57421","afii57422","afii57423","afii57424","afii57425","afii57426","afii57427","afii57428","afii57429","afii57430","afii57431","afii57432","afii57433","afii57434","afii57440","afii57441","afii57442","afii57443","afii57444","afii57445","afii57446","afii57448","afii57449","afii57450","afii57451","afii57452","afii57453","afii57454","afii57455","afii57456","afii57457","afii57458","afii57470","afii57505","afii57506","afii57507","afii57508","afii57509","afii57511","afii57512","afii57513","afii57514","afii57519","afii57534","afii57636","afii57645","afii57658","afii57664","afii57665","afii57666","afii57667","afii57668","afii57669","afii57670","afii57671","afii57672","afii57673","afii57674","afii57675","afii57676","afii57677","afii57678","afii57679","afii57680","afii57681","afii57682","afii57683","afii57684","afii57685","afii57686","afii57687","afii57688","afii57689","afii57690","afii57694","afii57695","afii57700","afii57705","afii57716","afii57717","afii57718","afii57723","afii57793","afii57794","afii57795","afii57796","afii57797","afii57798","afii57799","afii57800","afii57801","afii57802","afii57803","afii57804","afii57806","afii57807","afii57839","afii57841","afii57842","afii57929","afii61248","afii61289","afii61352","afii61573","afii61574","afii61575","afii61664","afii63167","afii64937","agrave","agujarati","agurmukhi","ahiragana","ahookabove","aibengali","aibopomofo","aideva","aiecyrillic","aigujarati","aigurmukhi","aimatragurmukhi","ainarabic","ainfinalarabic","aininitialarabic","ainmedialarabic","ainvertedbreve","aivowelsignbengali","aivowelsigndeva","aivowelsigngujarati","akatakana","akatakanahalfwidth","akorean","alef","alefarabic","alefdageshhebrew","aleffinalarabic","alefhamzaabovearabic","alefhamzaabovefinalarabic","alefhamzabelowarabic","alefhamzabelowfinalarabic","alefhebrew","aleflamedhebrew","alefmaddaabovearabic","alefmaddaabovefinalarabic","alefmaksuraarabic","alefmaksurafinalarabic","alefmaksurainitialarabic","alefmaksuramedialarabic","alefpatahhebrew","alefqamatshebrew","aleph","allequal","alphatonos","amacron","amonospace","ampersand","ampersandmonospace","ampersandsmall","amsquare","anbopomofo","angbopomofo","angbracketleft","angbracketright","angkhankhuthai","anglebracketleft","anglebracketleftvertical","anglebracketright","anglebracketrightvertical","angleleft","angleright","angstrom","anoteleia","anudattadeva","anusvarabengali","anusvaradeva","anusvaragujarati","aogonek","apaatosquare","aparen","apostrophearmenian","apostrophemod","apple","approaches","approxequal","approxequalorimage","approximatelyequal","araeaekorean","araeakorean","arc","arighthalfring","aring","aringacute","aringbelow","arrowboth","arrowdashdown","arrowdashleft","arrowdashright","arrowdashup","arrowdblboth","arrowdbldown","arrowdblleft","arrowdblright","arrowdblup","arrowdown","arrowdownleft","arrowdownright","arrowdownwhite","arrowheaddownmod","arrowheadleftmod","arrowheadrightmod","arrowheadupmod","arrowhorizex","arrowleft","arrowleftdbl","arrowleftdblstroke","arrowleftoverright","arrowleftwhite","arrowright","arrowrightdblstroke","arrowrightheavy","arrowrightoverleft","arrowrightwhite","arrowtableft","arrowtabright","arrowup","arrowupdn","arrowupdnbse","arrowupdownbase","arrowupleft","arrowupleftofdown","arrowupright","arrowupwhite","arrowvertex","asciicircum","asciicircummonospace","asciitilde","asciitildemonospace","ascript","ascriptturned","asmallhiragana","asmallkatakana","asmallkatakanahalfwidth","asterisk","asteriskaltonearabic","asteriskarabic","asteriskmath","asteriskmonospace","asterisksmall","asterism","asuperior","asymptoticallyequal","atilde","atmonospace","atsmall","aturned","aubengali","aubopomofo","audeva","augujarati","augurmukhi","aulengthmarkbengali","aumatragurmukhi","auvowelsignbengali","auvowelsigndeva","auvowelsigngujarati","avagrahadeva","aybarmenian","ayin","ayinaltonehebrew","ayinhebrew","babengali","backslash","backslashmonospace","badeva","bagujarati","bagurmukhi","bahiragana","bahtthai","bakatakana","bar","barmonospace","bbopomofo","bcircle","bdotaccent","bdotbelow","beamedsixteenthnotes","because","becyrillic","beharabic","behfinalarabic","behinitialarabic","behiragana","behmedialarabic","behmeeminitialarabic","behmeemisolatedarabic","behnoonfinalarabic","bekatakana","benarmenian","bet","betasymbolgreek","betdagesh","betdageshhebrew","bethebrew","betrafehebrew","bhabengali","bhadeva","bhagujarati","bhagurmukhi","bhook","bihiragana","bikatakana","bilabialclick","bindigurmukhi","birusquare","blackcircle","blackdiamond","blackdownpointingtriangle","blackleftpointingpointer","blackleftpointingtriangle","blacklenticularbracketleft","blacklenticularbracketleftvertical","blacklenticularbracketright","blacklenticularbracketrightvertical","blacklowerlefttriangle","blacklowerrighttriangle","blackrectangle","blackrightpointingpointer","blackrightpointingtriangle","blacksmallsquare","blacksmilingface","blacksquare","blackstar","blackupperlefttriangle","blackupperrighttriangle","blackuppointingsmalltriangle","blackuppointingtriangle","blank","blinebelow","bmonospace","bobaimaithai","bohiragana","bokatakana","bparen","bqsquare","braceex","braceleft","braceleftbt","braceleftmid","braceleftmonospace","braceleftsmall","bracelefttp","braceleftvertical","braceright","bracerightbt","bracerightmid","bracerightmonospace","bracerightsmall","bracerighttp","bracerightvertical","bracketleft","bracketleftbt","bracketleftex","bracketleftmonospace","bracketlefttp","bracketright","bracketrightbt","bracketrightex","bracketrightmonospace","bracketrighttp","breve","brevebelowcmb","brevecmb","breveinvertedbelowcmb","breveinvertedcmb","breveinverteddoublecmb","bridgebelowcmb","bridgeinvertedbelowcmb","brokenbar","bstroke","bsuperior","btopbar","buhiragana","bukatakana","bullet","bulletinverse","bulletoperator","bullseye","caarmenian","cabengali","cacute","cadeva","cagujarati","cagurmukhi","calsquare","candrabindubengali","candrabinducmb","candrabindudeva","candrabindugujarati","capslock","careof","caron","caronbelowcmb","caroncmb","carriagereturn","cbopomofo","ccaron","ccedilla","ccedillaacute","ccircle","ccircumflex","ccurl","cdot","cdotaccent","cdsquare","cedilla","cedillacmb","cent","centigrade","centinferior","centmonospace","centoldstyle","centsuperior","chaarmenian","chabengali","chadeva","chagujarati","chagurmukhi","chbopomofo","cheabkhasiancyrillic","checkmark","checyrillic","chedescenderabkhasiancyrillic","chedescendercyrillic","chedieresiscyrillic","cheharmenian","chekhakassiancyrillic","cheverticalstrokecyrillic","chi","chieuchacirclekorean","chieuchaparenkorean","chieuchcirclekorean","chieuchkorean","chieuchparenkorean","chochangthai","chochanthai","chochingthai","chochoethai","chook","cieucacirclekorean","cieucaparenkorean","cieuccirclekorean","cieuckorean","cieucparenkorean","cieucuparenkorean","circle","circlecopyrt","circlemultiply","circleot","circleplus","circlepostalmark","circlewithlefthalfblack","circlewithrighthalfblack","circumflex","circumflexbelowcmb","circumflexcmb","clickalveolar","clickdental","clicklateral","clickretroflex","club","clubsuitblack","clubsuitwhite","cmcubedsquare","cmonospace","cmsquaredsquare","coarmenian","colon","colonmonetary","colonmonospace","colonsign","colonsmall","colontriangularhalfmod","colontriangularmod","comma","commaabovecmb","commaaboverightcmb","commaaccent","commaarabic","commaarmenian","commainferior","commamonospace","commareversedabovecmb","commareversedmod","commasmall","commasuperior","commaturnedabovecmb","commaturnedmod","compass","congruent","contourintegral","control","controlACK","controlBEL","controlBS","controlCAN","controlCR","controlDC1","controlDC2","controlDC3","controlDC4","controlDEL","controlDLE","controlEM","controlENQ","controlEOT","controlESC","controlETB","controlETX","controlFF","controlFS","controlGS","controlHT","controlLF","controlNAK","controlNULL","controlRS","controlSI","controlSO","controlSOT","controlSTX","controlSUB","controlSYN","controlUS","controlVT","copyrightsans","copyrightserif","cornerbracketleft","cornerbracketlefthalfwidth","cornerbracketleftvertical","cornerbracketright","cornerbracketrighthalfwidth","cornerbracketrightvertical","corporationsquare","cosquare","coverkgsquare","cparen","cruzeiro","cstretched","curlyand","curlyor","currency","cyrBreve","cyrFlex","cyrbreve","cyrflex","daarmenian","dabengali","dadarabic","dadeva","dadfinalarabic","dadinitialarabic","dadmedialarabic","dagesh","dageshhebrew","dagger","daggerdbl","dagujarati","dagurmukhi","dahiragana","dakatakana","dalarabic","dalet","daletdagesh","daletdageshhebrew","dalethebrew","dalfinalarabic","dammaarabic","dammalowarabic","dammatanaltonearabic","dammatanarabic","danda","dargahebrew","dargalefthebrew","dasiapneumatacyrilliccmb","dblGrave","dblanglebracketleft","dblanglebracketleftvertical","dblanglebracketright","dblanglebracketrightvertical","dblarchinvertedbelowcmb","dblarrowleft","dblarrowright","dbldanda","dblgrave","dblgravecmb","dblintegral","dbllowline","dbllowlinecmb","dbloverlinecmb","dblprimemod","dblverticalbar","dblverticallineabovecmb","dbopomofo","dbsquare","dcaron","dcedilla","dcircle","dcircumflexbelow","dcroat","ddabengali","ddadeva","ddagujarati","ddagurmukhi","ddalarabic","ddalfinalarabic","dddhadeva","ddhabengali","ddhadeva","ddhagujarati","ddhagurmukhi","ddotaccent","ddotbelow","decimalseparatorarabic","decimalseparatorpersian","decyrillic","degree","dehihebrew","dehiragana","deicoptic","dekatakana","deleteleft","deleteright","deltaturned","denominatorminusonenumeratorbengali","dezh","dhabengali","dhadeva","dhagujarati","dhagurmukhi","dhook","dialytikatonos","dialytikatonoscmb","diamond","diamondsuitwhite","dieresis","dieresisacute","dieresisbelowcmb","dieresiscmb","dieresisgrave","dieresistonos","dihiragana","dikatakana","dittomark","divide","divides","divisionslash","djecyrillic","dkshade","dlinebelow","dlsquare","dmacron","dmonospace","dnblock","dochadathai","dodekthai","dohiragana","dokatakana","dollar","dollarinferior","dollarmonospace","dollaroldstyle","dollarsmall","dollarsuperior","dong","dorusquare","dotaccent","dotaccentcmb","dotbelowcmb","dotbelowcomb","dotkatakana","dotlessi","dotlessj","dotlessjstrokehook","dotmath","dottedcircle","doubleyodpatah","doubleyodpatahhebrew","downtackbelowcmb","downtackmod","dparen","dsuperior","dtail","dtopbar","duhiragana","dukatakana","dz","dzaltone","dzcaron","dzcurl","dzeabkhasiancyrillic","dzecyrillic","dzhecyrillic","eacute","earth","ebengali","ebopomofo","ebreve","ecandradeva","ecandragujarati","ecandravowelsigndeva","ecandravowelsigngujarati","ecaron","ecedillabreve","echarmenian","echyiwnarmenian","ecircle","ecircumflex","ecircumflexacute","ecircumflexbelow","ecircumflexdotbelow","ecircumflexgrave","ecircumflexhookabove","ecircumflextilde","ecyrillic","edblgrave","edeva","edieresis","edot","edotaccent","edotbelow","eegurmukhi","eematragurmukhi","efcyrillic","egrave","egujarati","eharmenian","ehbopomofo","ehiragana","ehookabove","eibopomofo","eight","eightarabic","eightbengali","eightcircle","eightcircleinversesansserif","eightdeva","eighteencircle","eighteenparen","eighteenperiod","eightgujarati","eightgurmukhi","eighthackarabic","eighthangzhou","eighthnotebeamed","eightideographicparen","eightinferior","eightmonospace","eightoldstyle","eightparen","eightperiod","eightpersian","eightroman","eightsuperior","eightthai","einvertedbreve","eiotifiedcyrillic","ekatakana","ekatakanahalfwidth","ekonkargurmukhi","ekorean","elcyrillic","elevencircle","elevenparen","elevenperiod","elevenroman","ellipsis","ellipsisvertical","emacron","emacronacute","emacrongrave","emcyrillic","emdash","emdashvertical","emonospace","emphasismarkarmenian","emptyset","enbopomofo","encyrillic","endash","endashvertical","endescendercyrillic","eng","engbopomofo","enghecyrillic","enhookcyrillic","enspace","eogonek","eokorean","eopen","eopenclosed","eopenreversed","eopenreversedclosed","eopenreversedhook","eparen","epsilontonos","equal","equalmonospace","equalsmall","equalsuperior","equivalence","erbopomofo","ercyrillic","ereversed","ereversedcyrillic","escyrillic","esdescendercyrillic","esh","eshcurl","eshortdeva","eshortvowelsigndeva","eshreversedloop","eshsquatreversed","esmallhiragana","esmallkatakana","esmallkatakanahalfwidth","estimated","esuperior","eta","etarmenian","etatonos","eth","etilde","etildebelow","etnahtafoukhhebrew","etnahtafoukhlefthebrew","etnahtahebrew","etnahtalefthebrew","eturned","eukorean","euro","evowelsignbengali","evowelsigndeva","evowelsigngujarati","exclam","exclamarmenian","exclamdbl","exclamdown","exclamdownsmall","exclammonospace","exclamsmall","existential","ezh","ezhcaron","ezhcurl","ezhreversed","ezhtail","fadeva","fagurmukhi","fahrenheit","fathaarabic","fathalowarabic","fathatanarabic","fbopomofo","fcircle","fdotaccent","feharabic","feharmenian","fehfinalarabic","fehinitialarabic","fehmedialarabic","feicoptic","female","ff","f_f","ffi","ffl","fi","fifteencircle","fifteenparen","fifteenperiod","figuredash","filledbox","filledrect","finalkaf","finalkafdagesh","finalkafdageshhebrew","finalkafhebrew","finalmem","finalmemhebrew","finalnun","finalnunhebrew","finalpe","finalpehebrew","finaltsadi","finaltsadihebrew","firsttonechinese","fisheye","fitacyrillic","five","fivearabic","fivebengali","fivecircle","fivecircleinversesansserif","fivedeva","fiveeighths","fivegujarati","fivegurmukhi","fivehackarabic","fivehangzhou","fiveideographicparen","fiveinferior","fivemonospace","fiveoldstyle","fiveparen","fiveperiod","fivepersian","fiveroman","fivesuperior","fivethai","fl","florin","fmonospace","fmsquare","fofanthai","fofathai","fongmanthai","forall","four","fourarabic","fourbengali","fourcircle","fourcircleinversesansserif","fourdeva","fourgujarati","fourgurmukhi","fourhackarabic","fourhangzhou","fourideographicparen","fourinferior","fourmonospace","fournumeratorbengali","fouroldstyle","fourparen","fourperiod","fourpersian","fourroman","foursuperior","fourteencircle","fourteenparen","fourteenperiod","fourthai","fourthtonechinese","fparen","fraction","franc","gabengali","gacute","gadeva","gafarabic","gaffinalarabic","gafinitialarabic","gafmedialarabic","gagujarati","gagurmukhi","gahiragana","gakatakana","gammalatinsmall","gammasuperior","gangiacoptic","gbopomofo","gbreve","gcaron","gcedilla","gcircle","gcircumflex","gcommaaccent","gdot","gdotaccent","gecyrillic","gehiragana","gekatakana","geometricallyequal","gereshaccenthebrew","gereshhebrew","gereshmuqdamhebrew","germandbls","gershayimaccenthebrew","gershayimhebrew","getamark","ghabengali","ghadarmenian","ghadeva","ghagujarati","ghagurmukhi","ghainarabic","ghainfinalarabic","ghaininitialarabic","ghainmedialarabic","ghemiddlehookcyrillic","ghestrokecyrillic","gheupturncyrillic","ghhadeva","ghhagurmukhi","ghook","ghzsquare","gihiragana","gikatakana","gimarmenian","gimel","gimeldagesh","gimeldageshhebrew","gimelhebrew","gjecyrillic","glottalinvertedstroke","glottalstop","glottalstopinverted","glottalstopmod","glottalstopreversed","glottalstopreversedmod","glottalstopreversedsuperior","glottalstopstroke","glottalstopstrokereversed","gmacron","gmonospace","gohiragana","gokatakana","gparen","gpasquare","gradient","grave","gravebelowcmb","gravecmb","gravecomb","gravedeva","gravelowmod","gravemonospace","gravetonecmb","greater","greaterequal","greaterequalorless","greatermonospace","greaterorequivalent","greaterorless","greateroverequal","greatersmall","gscript","gstroke","guhiragana","guillemotleft","guillemotright","guilsinglleft","guilsinglright","gukatakana","guramusquare","gysquare","haabkhasiancyrillic","haaltonearabic","habengali","hadescendercyrillic","hadeva","hagujarati","hagurmukhi","haharabic","hahfinalarabic","hahinitialarabic","hahiragana","hahmedialarabic","haitusquare","hakatakana","hakatakanahalfwidth","halantgurmukhi","hamzaarabic","hamzalowarabic","hangulfiller","hardsigncyrillic","harpoonleftbarbup","harpoonrightbarbup","hasquare","hatafpatah","hatafpatah16","hatafpatah23","hatafpatah2f","hatafpatahhebrew","hatafpatahnarrowhebrew","hatafpatahquarterhebrew","hatafpatahwidehebrew","hatafqamats","hatafqamats1b","hatafqamats28","hatafqamats34","hatafqamatshebrew","hatafqamatsnarrowhebrew","hatafqamatsquarterhebrew","hatafqamatswidehebrew","hatafsegol","hatafsegol17","hatafsegol24","hatafsegol30","hatafsegolhebrew","hatafsegolnarrowhebrew","hatafsegolquarterhebrew","hatafsegolwidehebrew","hbar","hbopomofo","hbrevebelow","hcedilla","hcircle","hcircumflex","hdieresis","hdotaccent","hdotbelow","he","heart","heartsuitblack","heartsuitwhite","hedagesh","hedageshhebrew","hehaltonearabic","heharabic","hehebrew","hehfinalaltonearabic","hehfinalalttwoarabic","hehfinalarabic","hehhamzaabovefinalarabic","hehhamzaaboveisolatedarabic","hehinitialaltonearabic","hehinitialarabic","hehiragana","hehmedialaltonearabic","hehmedialarabic","heiseierasquare","hekatakana","hekatakanahalfwidth","hekutaarusquare","henghook","herutusquare","het","hethebrew","hhook","hhooksuperior","hieuhacirclekorean","hieuhaparenkorean","hieuhcirclekorean","hieuhkorean","hieuhparenkorean","hihiragana","hikatakana","hikatakanahalfwidth","hiriq","hiriq14","hiriq21","hiriq2d","hiriqhebrew","hiriqnarrowhebrew","hiriqquarterhebrew","hiriqwidehebrew","hlinebelow","hmonospace","hoarmenian","hohipthai","hohiragana","hokatakana","hokatakanahalfwidth","holam","holam19","holam26","holam32","holamhebrew","holamnarrowhebrew","holamquarterhebrew","holamwidehebrew","honokhukthai","hookabovecomb","hookcmb","hookpalatalizedbelowcmb","hookretroflexbelowcmb","hoonsquare","horicoptic","horizontalbar","horncmb","hotsprings","house","hparen","hsuperior","hturned","huhiragana","huiitosquare","hukatakana","hukatakanahalfwidth","hungarumlaut","hungarumlautcmb","hv","hyphen","hypheninferior","hyphenmonospace","hyphensmall","hyphensuperior","hyphentwo","iacute","iacyrillic","ibengali","ibopomofo","ibreve","icaron","icircle","icircumflex","icyrillic","idblgrave","ideographearthcircle","ideographfirecircle","ideographicallianceparen","ideographiccallparen","ideographiccentrecircle","ideographicclose","ideographiccomma","ideographiccommaleft","ideographiccongratulationparen","ideographiccorrectcircle","ideographicearthparen","ideographicenterpriseparen","ideographicexcellentcircle","ideographicfestivalparen","ideographicfinancialcircle","ideographicfinancialparen","ideographicfireparen","ideographichaveparen","ideographichighcircle","ideographiciterationmark","ideographiclaborcircle","ideographiclaborparen","ideographicleftcircle","ideographiclowcircle","ideographicmedicinecircle","ideographicmetalparen","ideographicmoonparen","ideographicnameparen","ideographicperiod","ideographicprintcircle","ideographicreachparen","ideographicrepresentparen","ideographicresourceparen","ideographicrightcircle","ideographicsecretcircle","ideographicselfparen","ideographicsocietyparen","ideographicspace","ideographicspecialparen","ideographicstockparen","ideographicstudyparen","ideographicsunparen","ideographicsuperviseparen","ideographicwaterparen","ideographicwoodparen","ideographiczero","ideographmetalcircle","ideographmooncircle","ideographnamecircle","ideographsuncircle","ideographwatercircle","ideographwoodcircle","ideva","idieresis","idieresisacute","idieresiscyrillic","idotbelow","iebrevecyrillic","iecyrillic","ieungacirclekorean","ieungaparenkorean","ieungcirclekorean","ieungkorean","ieungparenkorean","igrave","igujarati","igurmukhi","ihiragana","ihookabove","iibengali","iicyrillic","iideva","iigujarati","iigurmukhi","iimatragurmukhi","iinvertedbreve","iishortcyrillic","iivowelsignbengali","iivowelsigndeva","iivowelsigngujarati","ij","ikatakana","ikatakanahalfwidth","ikorean","ilde","iluyhebrew","imacron","imacroncyrillic","imageorapproximatelyequal","imatragurmukhi","imonospace","increment","infinity","iniarmenian","integral","integralbottom","integralbt","integralex","integraltop","integraltp","intersection","intisquare","invbullet","invcircle","invsmileface","iocyrillic","iogonek","iota","iotadieresis","iotadieresistonos","iotalatin","iotatonos","iparen","irigurmukhi","ismallhiragana","ismallkatakana","ismallkatakanahalfwidth","issharbengali","istroke","isuperior","iterationhiragana","iterationkatakana","itilde","itildebelow","iubopomofo","iucyrillic","ivowelsignbengali","ivowelsigndeva","ivowelsigngujarati","izhitsacyrillic","izhitsadblgravecyrillic","jaarmenian","jabengali","jadeva","jagujarati","jagurmukhi","jbopomofo","jcaron","jcircle","jcircumflex","jcrossedtail","jdotlessstroke","jecyrillic","jeemarabic","jeemfinalarabic","jeeminitialarabic","jeemmedialarabic","jeharabic","jehfinalarabic","jhabengali","jhadeva","jhagujarati","jhagurmukhi","jheharmenian","jis","jmonospace","jparen","jsuperior","kabashkircyrillic","kabengali","kacute","kacyrillic","kadescendercyrillic","kadeva","kaf","kafarabic","kafdagesh","kafdageshhebrew","kaffinalarabic","kafhebrew","kafinitialarabic","kafmedialarabic","kafrafehebrew","kagujarati","kagurmukhi","kahiragana","kahookcyrillic","kakatakana","kakatakanahalfwidth","kappa","kappasymbolgreek","kapyeounmieumkorean","kapyeounphieuphkorean","kapyeounpieupkorean","kapyeounssangpieupkorean","karoriisquare","kashidaautoarabic","kashidaautonosidebearingarabic","kasmallkatakana","kasquare","kasraarabic","kasratanarabic","kastrokecyrillic","katahiraprolongmarkhalfwidth","kaverticalstrokecyrillic","kbopomofo","kcalsquare","kcaron","kcedilla","kcircle","kcommaaccent","kdotbelow","keharmenian","kehiragana","kekatakana","kekatakanahalfwidth","kenarmenian","kesmallkatakana","kgreenlandic","khabengali","khacyrillic","khadeva","khagujarati","khagurmukhi","khaharabic","khahfinalarabic","khahinitialarabic","khahmedialarabic","kheicoptic","khhadeva","khhagurmukhi","khieukhacirclekorean","khieukhaparenkorean","khieukhcirclekorean","khieukhkorean","khieukhparenkorean","khokhaithai","khokhonthai","khokhuatthai","khokhwaithai","khomutthai","khook","khorakhangthai","khzsquare","kihiragana","kikatakana","kikatakanahalfwidth","kiroguramusquare","kiromeetorusquare","kirosquare","kiyeokacirclekorean","kiyeokaparenkorean","kiyeokcirclekorean","kiyeokkorean","kiyeokparenkorean","kiyeoksioskorean","kjecyrillic","klinebelow","klsquare","kmcubedsquare","kmonospace","kmsquaredsquare","kohiragana","kohmsquare","kokaithai","kokatakana","kokatakanahalfwidth","kooposquare","koppacyrillic","koreanstandardsymbol","koroniscmb","kparen","kpasquare","ksicyrillic","ktsquare","kturned","kuhiragana","kukatakana","kukatakanahalfwidth","kvsquare","kwsquare","labengali","lacute","ladeva","lagujarati","lagurmukhi","lakkhangyaothai","lamaleffinalarabic","lamalefhamzaabovefinalarabic","lamalefhamzaaboveisolatedarabic","lamalefhamzabelowfinalarabic","lamalefhamzabelowisolatedarabic","lamalefisolatedarabic","lamalefmaddaabovefinalarabic","lamalefmaddaaboveisolatedarabic","lamarabic","lambda","lambdastroke","lamed","lameddagesh","lameddageshhebrew","lamedhebrew","lamfinalarabic","lamhahinitialarabic","laminitialarabic","lamjeeminitialarabic","lamkhahinitialarabic","lamlamhehisolatedarabic","lammedialarabic","lammeemhahinitialarabic","lammeeminitialarabic","largecircle","lbar","lbelt","lbopomofo","lcaron","lcedilla","lcircle","lcircumflexbelow","lcommaaccent","ldot","ldotaccent","ldotbelow","ldotbelowmacron","leftangleabovecmb","lefttackbelowcmb","less","lessequal","lessequalorgreater","lessmonospace","lessorequivalent","lessorgreater","lessoverequal","lesssmall","lezh","lfblock","lhookretroflex","lira","liwnarmenian","lj","ljecyrillic","lladeva","llagujarati","llinebelow","llladeva","llvocalicbengali","llvocalicdeva","llvocalicvowelsignbengali","llvocalicvowelsigndeva","lmiddletilde","lmonospace","lmsquare","lochulathai","logicaland","logicalnot","logicalnotreversed","logicalor","lolingthai","longs","lowlinecenterline","lowlinecmb","lowlinedashed","lozenge","lparen","lslash","lsquare","lsuperior","ltshade","luthai","lvocalicbengali","lvocalicdeva","lvocalicvowelsignbengali","lvocalicvowelsigndeva","lxsquare","mabengali","macron","macronbelowcmb","macroncmb","macronlowmod","macronmonospace","macute","madeva","magujarati","magurmukhi","mahapakhhebrew","mahapakhlefthebrew","mahiragana","maichattawalowleftthai","maichattawalowrightthai","maichattawathai","maichattawaupperleftthai","maieklowleftthai","maieklowrightthai","maiekthai","maiekupperleftthai","maihanakatleftthai","maihanakatthai","maitaikhuleftthai","maitaikhuthai","maitholowleftthai","maitholowrightthai","maithothai","maithoupperleftthai","maitrilowleftthai","maitrilowrightthai","maitrithai","maitriupperleftthai","maiyamokthai","makatakana","makatakanahalfwidth","male","mansyonsquare","maqafhebrew","mars","masoracirclehebrew","masquare","mbopomofo","mbsquare","mcircle","mcubedsquare","mdotaccent","mdotbelow","meemarabic","meemfinalarabic","meeminitialarabic","meemmedialarabic","meemmeeminitialarabic","meemmeemisolatedarabic","meetorusquare","mehiragana","meizierasquare","mekatakana","mekatakanahalfwidth","mem","memdagesh","memdageshhebrew","memhebrew","menarmenian","merkhahebrew","merkhakefulahebrew","merkhakefulalefthebrew","merkhalefthebrew","mhook","mhzsquare","middledotkatakanahalfwidth","middot","mieumacirclekorean","mieumaparenkorean","mieumcirclekorean","mieumkorean","mieumpansioskorean","mieumparenkorean","mieumpieupkorean","mieumsioskorean","mihiragana","mikatakana","mikatakanahalfwidth","minus","minusbelowcmb","minuscircle","minusmod","minusplus","minute","miribaarusquare","mirisquare","mlonglegturned","mlsquare","mmcubedsquare","mmonospace","mmsquaredsquare","mohiragana","mohmsquare","mokatakana","mokatakanahalfwidth","molsquare","momathai","moverssquare","moverssquaredsquare","mparen","mpasquare","mssquare","msuperior","mturned","mu1","muasquare","muchgreater","muchless","mufsquare","mugreek","mugsquare","muhiragana","mukatakana","mukatakanahalfwidth","mulsquare","multiply","mumsquare","munahhebrew","munahlefthebrew","musicalnote","musicalnotedbl","musicflatsign","musicsharpsign","mussquare","muvsquare","muwsquare","mvmegasquare","mvsquare","mwmegasquare","mwsquare","nabengali","nabla","nacute","nadeva","nagujarati","nagurmukhi","nahiragana","nakatakana","nakatakanahalfwidth","napostrophe","nasquare","nbopomofo","nbspace","ncaron","ncedilla","ncircle","ncircumflexbelow","ncommaaccent","ndotaccent","ndotbelow","nehiragana","nekatakana","nekatakanahalfwidth","newsheqelsign","nfsquare","ngabengali","ngadeva","ngagujarati","ngagurmukhi","ngonguthai","nhiragana","nhookleft","nhookretroflex","nieunacirclekorean","nieunaparenkorean","nieuncieuckorean","nieuncirclekorean","nieunhieuhkorean","nieunkorean","nieunpansioskorean","nieunparenkorean","nieunsioskorean","nieuntikeutkorean","nihiragana","nikatakana","nikatakanahalfwidth","nikhahitleftthai","nikhahitthai","nine","ninearabic","ninebengali","ninecircle","ninecircleinversesansserif","ninedeva","ninegujarati","ninegurmukhi","ninehackarabic","ninehangzhou","nineideographicparen","nineinferior","ninemonospace","nineoldstyle","nineparen","nineperiod","ninepersian","nineroman","ninesuperior","nineteencircle","nineteenparen","nineteenperiod","ninethai","nj","njecyrillic","nkatakana","nkatakanahalfwidth","nlegrightlong","nlinebelow","nmonospace","nmsquare","nnabengali","nnadeva","nnagujarati","nnagurmukhi","nnnadeva","nohiragana","nokatakana","nokatakanahalfwidth","nonbreakingspace","nonenthai","nonuthai","noonarabic","noonfinalarabic","noonghunnaarabic","noonghunnafinalarabic","nooninitialarabic","noonjeeminitialarabic","noonjeemisolatedarabic","noonmedialarabic","noonmeeminitialarabic","noonmeemisolatedarabic","noonnoonfinalarabic","notcontains","notelement","notelementof","notequal","notgreater","notgreaternorequal","notgreaternorless","notidentical","notless","notlessnorequal","notparallel","notprecedes","notsubset","notsucceeds","notsuperset","nowarmenian","nparen","nssquare","nsuperior","ntilde","nuhiragana","nukatakana","nukatakanahalfwidth","nuktabengali","nuktadeva","nuktagujarati","nuktagurmukhi","numbersign","numbersignmonospace","numbersignsmall","numeralsigngreek","numeralsignlowergreek","numero","nun","nundagesh","nundageshhebrew","nunhebrew","nvsquare","nwsquare","nyabengali","nyadeva","nyagujarati","nyagurmukhi","oacute","oangthai","obarred","obarredcyrillic","obarreddieresiscyrillic","obengali","obopomofo","obreve","ocandradeva","ocandragujarati","ocandravowelsigndeva","ocandravowelsigngujarati","ocaron","ocircle","ocircumflex","ocircumflexacute","ocircumflexdotbelow","ocircumflexgrave","ocircumflexhookabove","ocircumflextilde","ocyrillic","odblacute","odblgrave","odeva","odieresis","odieresiscyrillic","odotbelow","oe","oekorean","ogonek","ogonekcmb","ograve","ogujarati","oharmenian","ohiragana","ohookabove","ohorn","ohornacute","ohorndotbelow","ohorngrave","ohornhookabove","ohorntilde","ohungarumlaut","oi","oinvertedbreve","okatakana","okatakanahalfwidth","okorean","olehebrew","omacron","omacronacute","omacrongrave","omdeva","omega","omega1","omegacyrillic","omegalatinclosed","omegaroundcyrillic","omegatitlocyrillic","omegatonos","omgujarati","omicron","omicrontonos","omonospace","one","onearabic","onebengali","onecircle","onecircleinversesansserif","onedeva","onedotenleader","oneeighth","onefitted","onegujarati","onegurmukhi","onehackarabic","onehalf","onehangzhou","oneideographicparen","oneinferior","onemonospace","onenumeratorbengali","oneoldstyle","oneparen","oneperiod","onepersian","onequarter","oneroman","onesuperior","onethai","onethird","oogonek","oogonekmacron","oogurmukhi","oomatragurmukhi","oopen","oparen","openbullet","ordfeminine","ordmasculine","orthogonal","oshortdeva","oshortvowelsigndeva","oslash","oslashacute","osmallhiragana","osmallkatakana","osmallkatakanahalfwidth","ostrokeacute","osuperior","otcyrillic","otilde","otildeacute","otildedieresis","oubopomofo","overline","overlinecenterline","overlinecmb","overlinedashed","overlinedblwavy","overlinewavy","overscore","ovowelsignbengali","ovowelsigndeva","ovowelsigngujarati","paampssquare","paasentosquare","pabengali","pacute","padeva","pagedown","pageup","pagujarati","pagurmukhi","pahiragana","paiyannoithai","pakatakana","palatalizationcyrilliccmb","palochkacyrillic","pansioskorean","paragraph","parallel","parenleft","parenleftaltonearabic","parenleftbt","parenleftex","parenleftinferior","parenleftmonospace","parenleftsmall","parenleftsuperior","parenlefttp","parenleftvertical","parenright","parenrightaltonearabic","parenrightbt","parenrightex","parenrightinferior","parenrightmonospace","parenrightsmall","parenrightsuperior","parenrighttp","parenrightvertical","partialdiff","paseqhebrew","pashtahebrew","pasquare","patah","patah11","patah1d","patah2a","patahhebrew","patahnarrowhebrew","patahquarterhebrew","patahwidehebrew","pazerhebrew","pbopomofo","pcircle","pdotaccent","pe","pecyrillic","pedagesh","pedageshhebrew","peezisquare","pefinaldageshhebrew","peharabic","peharmenian","pehebrew","pehfinalarabic","pehinitialarabic","pehiragana","pehmedialarabic","pekatakana","pemiddlehookcyrillic","perafehebrew","percent","percentarabic","percentmonospace","percentsmall","period","periodarmenian","periodcentered","periodhalfwidth","periodinferior","periodmonospace","periodsmall","periodsuperior","perispomenigreekcmb","perpendicular","perthousand","peseta","pfsquare","phabengali","phadeva","phagujarati","phagurmukhi","phi","phi1","phieuphacirclekorean","phieuphaparenkorean","phieuphcirclekorean","phieuphkorean","phieuphparenkorean","philatin","phinthuthai","phisymbolgreek","phook","phophanthai","phophungthai","phosamphaothai","pieupacirclekorean","pieupaparenkorean","pieupcieuckorean","pieupcirclekorean","pieupkiyeokkorean","pieupkorean","pieupparenkorean","pieupsioskiyeokkorean","pieupsioskorean","pieupsiostikeutkorean","pieupthieuthkorean","pieuptikeutkorean","pihiragana","pikatakana","pisymbolgreek","piwrarmenian","plusbelowcmb","pluscircle","plusminus","plusmod","plusmonospace","plussmall","plussuperior","pmonospace","pmsquare","pohiragana","pointingindexdownwhite","pointingindexleftwhite","pointingindexrightwhite","pointingindexupwhite","pokatakana","poplathai","postalmark","postalmarkface","pparen","precedes","prescription","primemod","primereversed","product","projective","prolongedkana","propellor","propersubset","propersuperset","proportion","proportional","psi","psicyrillic","psilipneumatacyrilliccmb","pssquare","puhiragana","pukatakana","pvsquare","pwsquare","qadeva","qadmahebrew","qafarabic","qaffinalarabic","qafinitialarabic","qafmedialarabic","qamats","qamats10","qamats1a","qamats1c","qamats27","qamats29","qamats33","qamatsde","qamatshebrew","qamatsnarrowhebrew","qamatsqatanhebrew","qamatsqatannarrowhebrew","qamatsqatanquarterhebrew","qamatsqatanwidehebrew","qamatsquarterhebrew","qamatswidehebrew","qarneyparahebrew","qbopomofo","qcircle","qhook","qmonospace","qof","qofdagesh","qofdageshhebrew","qofhebrew","qparen","quarternote","qubuts","qubuts18","qubuts25","qubuts31","qubutshebrew","qubutsnarrowhebrew","qubutsquarterhebrew","qubutswidehebrew","question","questionarabic","questionarmenian","questiondown","questiondownsmall","questiongreek","questionmonospace","questionsmall","quotedbl","quotedblbase","quotedblleft","quotedblmonospace","quotedblprime","quotedblprimereversed","quotedblright","quoteleft","quoteleftreversed","quotereversed","quoteright","quoterightn","quotesinglbase","quotesingle","quotesinglemonospace","raarmenian","rabengali","racute","radeva","radical","radicalex","radoverssquare","radoverssquaredsquare","radsquare","rafe","rafehebrew","ragujarati","ragurmukhi","rahiragana","rakatakana","rakatakanahalfwidth","ralowerdiagonalbengali","ramiddlediagonalbengali","ramshorn","ratio","rbopomofo","rcaron","rcedilla","rcircle","rcommaaccent","rdblgrave","rdotaccent","rdotbelow","rdotbelowmacron","referencemark","reflexsubset","reflexsuperset","registered","registersans","registerserif","reharabic","reharmenian","rehfinalarabic","rehiragana","rekatakana","rekatakanahalfwidth","resh","reshdageshhebrew","reshhebrew","reversedtilde","reviahebrew","reviamugrashhebrew","revlogicalnot","rfishhook","rfishhookreversed","rhabengali","rhadeva","rho","rhook","rhookturned","rhookturnedsuperior","rhosymbolgreek","rhotichookmod","rieulacirclekorean","rieulaparenkorean","rieulcirclekorean","rieulhieuhkorean","rieulkiyeokkorean","rieulkiyeoksioskorean","rieulkorean","rieulmieumkorean","rieulpansioskorean","rieulparenkorean","rieulphieuphkorean","rieulpieupkorean","rieulpieupsioskorean","rieulsioskorean","rieulthieuthkorean","rieultikeutkorean","rieulyeorinhieuhkorean","rightangle","righttackbelowcmb","righttriangle","rihiragana","rikatakana","rikatakanahalfwidth","ring","ringbelowcmb","ringcmb","ringhalfleft","ringhalfleftarmenian","ringhalfleftbelowcmb","ringhalfleftcentered","ringhalfright","ringhalfrightbelowcmb","ringhalfrightcentered","rinvertedbreve","rittorusquare","rlinebelow","rlongleg","rlonglegturned","rmonospace","rohiragana","rokatakana","rokatakanahalfwidth","roruathai","rparen","rrabengali","rradeva","rragurmukhi","rreharabic","rrehfinalarabic","rrvocalicbengali","rrvocalicdeva","rrvocalicgujarati","rrvocalicvowelsignbengali","rrvocalicvowelsigndeva","rrvocalicvowelsigngujarati","rsuperior","rtblock","rturned","rturnedsuperior","ruhiragana","rukatakana","rukatakanahalfwidth","rupeemarkbengali","rupeesignbengali","rupiah","ruthai","rvocalicbengali","rvocalicdeva","rvocalicgujarati","rvocalicvowelsignbengali","rvocalicvowelsigndeva","rvocalicvowelsigngujarati","sabengali","sacute","sacutedotaccent","sadarabic","sadeva","sadfinalarabic","sadinitialarabic","sadmedialarabic","sagujarati","sagurmukhi","sahiragana","sakatakana","sakatakanahalfwidth","sallallahoualayhewasallamarabic","samekh","samekhdagesh","samekhdageshhebrew","samekhhebrew","saraaathai","saraaethai","saraaimaimalaithai","saraaimaimuanthai","saraamthai","saraathai","saraethai","saraiileftthai","saraiithai","saraileftthai","saraithai","saraothai","saraueeleftthai","saraueethai","saraueleftthai","sarauethai","sarauthai","sarauuthai","sbopomofo","scaron","scarondotaccent","scedilla","schwa","schwacyrillic","schwadieresiscyrillic","schwahook","scircle","scircumflex","scommaaccent","sdotaccent","sdotbelow","sdotbelowdotaccent","seagullbelowcmb","secondtonechinese","section","seenarabic","seenfinalarabic","seeninitialarabic","seenmedialarabic","segol","segol13","segol1f","segol2c","segolhebrew","segolnarrowhebrew","segolquarterhebrew","segoltahebrew","segolwidehebrew","seharmenian","sehiragana","sekatakana","sekatakanahalfwidth","semicolon","semicolonarabic","semicolonmonospace","semicolonsmall","semivoicedmarkkana","semivoicedmarkkanahalfwidth","sentisquare","sentosquare","seven","sevenarabic","sevenbengali","sevencircle","sevencircleinversesansserif","sevendeva","seveneighths","sevengujarati","sevengurmukhi","sevenhackarabic","sevenhangzhou","sevenideographicparen","seveninferior","sevenmonospace","sevenoldstyle","sevenparen","sevenperiod","sevenpersian","sevenroman","sevensuperior","seventeencircle","seventeenparen","seventeenperiod","seventhai","sfthyphen","shaarmenian","shabengali","shacyrillic","shaddaarabic","shaddadammaarabic","shaddadammatanarabic","shaddafathaarabic","shaddakasraarabic","shaddakasratanarabic","shade","shadedark","shadelight","shademedium","shadeva","shagujarati","shagurmukhi","shalshelethebrew","shbopomofo","shchacyrillic","sheenarabic","sheenfinalarabic","sheeninitialarabic","sheenmedialarabic","sheicoptic","sheqel","sheqelhebrew","sheva","sheva115","sheva15","sheva22","sheva2e","shevahebrew","shevanarrowhebrew","shevaquarterhebrew","shevawidehebrew","shhacyrillic","shimacoptic","shin","shindagesh","shindageshhebrew","shindageshshindot","shindageshshindothebrew","shindageshsindot","shindageshsindothebrew","shindothebrew","shinhebrew","shinshindot","shinshindothebrew","shinsindot","shinsindothebrew","shook","sigma1","sigmafinal","sigmalunatesymbolgreek","sihiragana","sikatakana","sikatakanahalfwidth","siluqhebrew","siluqlefthebrew","similar","sindothebrew","siosacirclekorean","siosaparenkorean","sioscieuckorean","sioscirclekorean","sioskiyeokkorean","sioskorean","siosnieunkorean","siosparenkorean","siospieupkorean","siostikeutkorean","six","sixarabic","sixbengali","sixcircle","sixcircleinversesansserif","sixdeva","sixgujarati","sixgurmukhi","sixhackarabic","sixhangzhou","sixideographicparen","sixinferior","sixmonospace","sixoldstyle","sixparen","sixperiod","sixpersian","sixroman","sixsuperior","sixteencircle","sixteencurrencydenominatorbengali","sixteenparen","sixteenperiod","sixthai","slash","slashmonospace","slong","slongdotaccent","smileface","smonospace","sofpasuqhebrew","softhyphen","softsigncyrillic","sohiragana","sokatakana","sokatakanahalfwidth","soliduslongoverlaycmb","solidusshortoverlaycmb","sorusithai","sosalathai","sosothai","sosuathai","spacehackarabic","spade","spadesuitblack","spadesuitwhite","sparen","squarebelowcmb","squarecc","squarecm","squarediagonalcrosshatchfill","squarehorizontalfill","squarekg","squarekm","squarekmcapital","squareln","squarelog","squaremg","squaremil","squaremm","squaremsquared","squareorthogonalcrosshatchfill","squareupperlefttolowerrightfill","squareupperrighttolowerleftfill","squareverticalfill","squarewhitewithsmallblack","srsquare","ssabengali","ssadeva","ssagujarati","ssangcieuckorean","ssanghieuhkorean","ssangieungkorean","ssangkiyeokkorean","ssangnieunkorean","ssangpieupkorean","ssangsioskorean","ssangtikeutkorean","ssuperior","sterling","sterlingmonospace","strokelongoverlaycmb","strokeshortoverlaycmb","subset","subsetnotequal","subsetorequal","succeeds","suchthat","suhiragana","sukatakana","sukatakanahalfwidth","sukunarabic","summation","sun","superset","supersetnotequal","supersetorequal","svsquare","syouwaerasquare","tabengali","tackdown","tackleft","tadeva","tagujarati","tagurmukhi","taharabic","tahfinalarabic","tahinitialarabic","tahiragana","tahmedialarabic","taisyouerasquare","takatakana","takatakanahalfwidth","tatweelarabic","tau","tav","tavdages","tavdagesh","tavdageshhebrew","tavhebrew","tbar","tbopomofo","tcaron","tccurl","tcedilla","tcheharabic","tchehfinalarabic","tchehinitialarabic","tchehmedialarabic","tcircle","tcircumflexbelow","tcommaaccent","tdieresis","tdotaccent","tdotbelow","tecyrillic","tedescendercyrillic","teharabic","tehfinalarabic","tehhahinitialarabic","tehhahisolatedarabic","tehinitialarabic","tehiragana","tehjeeminitialarabic","tehjeemisolatedarabic","tehmarbutaarabic","tehmarbutafinalarabic","tehmedialarabic","tehmeeminitialarabic","tehmeemisolatedarabic","tehnoonfinalarabic","tekatakana","tekatakanahalfwidth","telephone","telephoneblack","telishagedolahebrew","telishaqetanahebrew","tencircle","tenideographicparen","tenparen","tenperiod","tenroman","tesh","tet","tetdagesh","tetdageshhebrew","tethebrew","tetsecyrillic","tevirhebrew","tevirlefthebrew","thabengali","thadeva","thagujarati","thagurmukhi","thalarabic","thalfinalarabic","thanthakhatlowleftthai","thanthakhatlowrightthai","thanthakhatthai","thanthakhatupperleftthai","theharabic","thehfinalarabic","thehinitialarabic","thehmedialarabic","thereexists","therefore","theta","theta1","thetasymbolgreek","thieuthacirclekorean","thieuthaparenkorean","thieuthcirclekorean","thieuthkorean","thieuthparenkorean","thirteencircle","thirteenparen","thirteenperiod","thonangmonthothai","thook","thophuthaothai","thorn","thothahanthai","thothanthai","thothongthai","thothungthai","thousandcyrillic","thousandsseparatorarabic","thousandsseparatorpersian","three","threearabic","threebengali","threecircle","threecircleinversesansserif","threedeva","threeeighths","threegujarati","threegurmukhi","threehackarabic","threehangzhou","threeideographicparen","threeinferior","threemonospace","threenumeratorbengali","threeoldstyle","threeparen","threeperiod","threepersian","threequarters","threequartersemdash","threeroman","threesuperior","threethai","thzsquare","tihiragana","tikatakana","tikatakanahalfwidth","tikeutacirclekorean","tikeutaparenkorean","tikeutcirclekorean","tikeutkorean","tikeutparenkorean","tilde","tildebelowcmb","tildecmb","tildecomb","tildedoublecmb","tildeoperator","tildeoverlaycmb","tildeverticalcmb","timescircle","tipehahebrew","tipehalefthebrew","tippigurmukhi","titlocyrilliccmb","tiwnarmenian","tlinebelow","tmonospace","toarmenian","tohiragana","tokatakana","tokatakanahalfwidth","tonebarextrahighmod","tonebarextralowmod","tonebarhighmod","tonebarlowmod","tonebarmidmod","tonefive","tonesix","tonetwo","tonos","tonsquare","topatakthai","tortoiseshellbracketleft","tortoiseshellbracketleftsmall","tortoiseshellbracketleftvertical","tortoiseshellbracketright","tortoiseshellbracketrightsmall","tortoiseshellbracketrightvertical","totaothai","tpalatalhook","tparen","trademark","trademarksans","trademarkserif","tretroflexhook","triagdn","triaglf","triagrt","triagup","ts","tsadi","tsadidagesh","tsadidageshhebrew","tsadihebrew","tsecyrillic","tsere","tsere12","tsere1e","tsere2b","tserehebrew","tserenarrowhebrew","tserequarterhebrew","tserewidehebrew","tshecyrillic","tsuperior","ttabengali","ttadeva","ttagujarati","ttagurmukhi","tteharabic","ttehfinalarabic","ttehinitialarabic","ttehmedialarabic","tthabengali","tthadeva","tthagujarati","tthagurmukhi","tturned","tuhiragana","tukatakana","tukatakanahalfwidth","tusmallhiragana","tusmallkatakana","tusmallkatakanahalfwidth","twelvecircle","twelveparen","twelveperiod","twelveroman","twentycircle","twentyhangzhou","twentyparen","twentyperiod","two","twoarabic","twobengali","twocircle","twocircleinversesansserif","twodeva","twodotenleader","twodotleader","twodotleadervertical","twogujarati","twogurmukhi","twohackarabic","twohangzhou","twoideographicparen","twoinferior","twomonospace","twonumeratorbengali","twooldstyle","twoparen","twoperiod","twopersian","tworoman","twostroke","twosuperior","twothai","twothirds","uacute","ubar","ubengali","ubopomofo","ubreve","ucaron","ucircle","ucircumflex","ucircumflexbelow","ucyrillic","udattadeva","udblacute","udblgrave","udeva","udieresis","udieresisacute","udieresisbelow","udieresiscaron","udieresiscyrillic","udieresisgrave","udieresismacron","udotbelow","ugrave","ugujarati","ugurmukhi","uhiragana","uhookabove","uhorn","uhornacute","uhorndotbelow","uhorngrave","uhornhookabove","uhorntilde","uhungarumlaut","uhungarumlautcyrillic","uinvertedbreve","ukatakana","ukatakanahalfwidth","ukcyrillic","ukorean","umacron","umacroncyrillic","umacrondieresis","umatragurmukhi","umonospace","underscore","underscoredbl","underscoremonospace","underscorevertical","underscorewavy","union","universal","uogonek","uparen","upblock","upperdothebrew","upsilon","upsilondieresis","upsilondieresistonos","upsilonlatin","upsilontonos","uptackbelowcmb","uptackmod","uragurmukhi","uring","ushortcyrillic","usmallhiragana","usmallkatakana","usmallkatakanahalfwidth","ustraightcyrillic","ustraightstrokecyrillic","utilde","utildeacute","utildebelow","uubengali","uudeva","uugujarati","uugurmukhi","uumatragurmukhi","uuvowelsignbengali","uuvowelsigndeva","uuvowelsigngujarati","uvowelsignbengali","uvowelsigndeva","uvowelsigngujarati","vadeva","vagujarati","vagurmukhi","vakatakana","vav","vavdagesh","vavdagesh65","vavdageshhebrew","vavhebrew","vavholam","vavholamhebrew","vavvavhebrew","vavyodhebrew","vcircle","vdotbelow","vecyrillic","veharabic","vehfinalarabic","vehinitialarabic","vehmedialarabic","vekatakana","venus","verticalbar","verticallineabovecmb","verticallinebelowcmb","verticallinelowmod","verticallinemod","vewarmenian","vhook","vikatakana","viramabengali","viramadeva","viramagujarati","visargabengali","visargadeva","visargagujarati","vmonospace","voarmenian","voicediterationhiragana","voicediterationkatakana","voicedmarkkana","voicedmarkkanahalfwidth","vokatakana","vparen","vtilde","vturned","vuhiragana","vukatakana","wacute","waekorean","wahiragana","wakatakana","wakatakanahalfwidth","wakorean","wasmallhiragana","wasmallkatakana","wattosquare","wavedash","wavyunderscorevertical","wawarabic","wawfinalarabic","wawhamzaabovearabic","wawhamzaabovefinalarabic","wbsquare","wcircle","wcircumflex","wdieresis","wdotaccent","wdotbelow","wehiragana","weierstrass","wekatakana","wekorean","weokorean","wgrave","whitebullet","whitecircle","whitecircleinverse","whitecornerbracketleft","whitecornerbracketleftvertical","whitecornerbracketright","whitecornerbracketrightvertical","whitediamond","whitediamondcontainingblacksmalldiamond","whitedownpointingsmalltriangle","whitedownpointingtriangle","whiteleftpointingsmalltriangle","whiteleftpointingtriangle","whitelenticularbracketleft","whitelenticularbracketright","whiterightpointingsmalltriangle","whiterightpointingtriangle","whitesmallsquare","whitesmilingface","whitesquare","whitestar","whitetelephone","whitetortoiseshellbracketleft","whitetortoiseshellbracketright","whiteuppointingsmalltriangle","whiteuppointingtriangle","wihiragana","wikatakana","wikorean","wmonospace","wohiragana","wokatakana","wokatakanahalfwidth","won","wonmonospace","wowaenthai","wparen","wring","wsuperior","wturned","wynn","xabovecmb","xbopomofo","xcircle","xdieresis","xdotaccent","xeharmenian","xi","xmonospace","xparen","xsuperior","yaadosquare","yabengali","yacute","yadeva","yaekorean","yagujarati","yagurmukhi","yahiragana","yakatakana","yakatakanahalfwidth","yakorean","yamakkanthai","yasmallhiragana","yasmallkatakana","yasmallkatakanahalfwidth","yatcyrillic","ycircle","ycircumflex","ydieresis","ydotaccent","ydotbelow","yeharabic","yehbarreearabic","yehbarreefinalarabic","yehfinalarabic","yehhamzaabovearabic","yehhamzaabovefinalarabic","yehhamzaaboveinitialarabic","yehhamzaabovemedialarabic","yehinitialarabic","yehmedialarabic","yehmeeminitialarabic","yehmeemisolatedarabic","yehnoonfinalarabic","yehthreedotsbelowarabic","yekorean","yen","yenmonospace","yeokorean","yeorinhieuhkorean","yerahbenyomohebrew","yerahbenyomolefthebrew","yericyrillic","yerudieresiscyrillic","yesieungkorean","yesieungpansioskorean","yesieungsioskorean","yetivhebrew","ygrave","yhook","yhookabove","yiarmenian","yicyrillic","yikorean","yinyang","yiwnarmenian","ymonospace","yod","yoddagesh","yoddageshhebrew","yodhebrew","yodyodhebrew","yodyodpatahhebrew","yohiragana","yoikorean","yokatakana","yokatakanahalfwidth","yokorean","yosmallhiragana","yosmallkatakana","yosmallkatakanahalfwidth","yotgreek","yoyaekorean","yoyakorean","yoyakthai","yoyingthai","yparen","ypogegrammeni","ypogegrammenigreekcmb","yr","yring","ysuperior","ytilde","yturned","yuhiragana","yuikorean","yukatakana","yukatakanahalfwidth","yukorean","yusbigcyrillic","yusbigiotifiedcyrillic","yuslittlecyrillic","yuslittleiotifiedcyrillic","yusmallhiragana","yusmallkatakana","yusmallkatakanahalfwidth","yuyekorean","yuyeokorean","yyabengali","yyadeva","zaarmenian","zacute","zadeva","zagurmukhi","zaharabic","zahfinalarabic","zahinitialarabic","zahiragana","zahmedialarabic","zainarabic","zainfinalarabic","zakatakana","zaqefgadolhebrew","zaqefqatanhebrew","zarqahebrew","zayin","zayindagesh","zayindageshhebrew","zayinhebrew","zbopomofo","zcaron","zcircle","zcircumflex","zcurl","zdot","zdotaccent","zdotbelow","zecyrillic","zedescendercyrillic","zedieresiscyrillic","zehiragana","zekatakana","zero","zeroarabic","zerobengali","zerodeva","zerogujarati","zerogurmukhi","zerohackarabic","zeroinferior","zeromonospace","zerooldstyle","zeropersian","zerosuperior","zerothai","zerowidthjoiner","zerowidthnonjoiner","zerowidthspace","zeta","zhbopomofo","zhearmenian","zhebrevecyrillic","zhecyrillic","zhedescendercyrillic","zhedieresiscyrillic","zihiragana","zikatakana","zinorhebrew","zlinebelow","zmonospace","zohiragana","zokatakana","zparen","zretroflexhook","zstroke","zuhiragana","zukatakana","angbracketleftbig","angbracketleftBig","angbracketleftbigg","angbracketleftBigg","angbracketrightBig","angbracketrightbig","angbracketrightBigg","angbracketrightbigg","arrowhookleft","arrowhookright","arrowlefttophalf","arrowleftbothalf","arrownortheast","arrownorthwest","arrowrighttophalf","arrowrightbothalf","arrowsoutheast","arrowsouthwest","backslashbig","backslashBig","backslashBigg","backslashbigg","bardbl","bracehtipdownleft","bracehtipdownright","bracehtipupleft","bracehtipupright","braceleftBig","braceleftbig","braceleftbigg","braceleftBigg","bracerightBig","bracerightbig","bracerightbigg","bracerightBigg","bracketleftbig","bracketleftBig","bracketleftbigg","bracketleftBigg","bracketrightBig","bracketrightbig","bracketrightbigg","bracketrightBigg","ceilingleftbig","ceilingleftBig","ceilingleftBigg","ceilingleftbigg","ceilingrightbig","ceilingrightBig","ceilingrightbigg","ceilingrightBigg","circledotdisplay","circledottext","circlemultiplydisplay","circlemultiplytext","circleplusdisplay","circleplustext","contintegraldisplay","contintegraltext","coproductdisplay","coproducttext","floorleftBig","floorleftbig","floorleftbigg","floorleftBigg","floorrightbig","floorrightBig","floorrightBigg","floorrightbigg","hatwide","hatwider","hatwidest","intercal","integraldisplay","integraltext","intersectiondisplay","intersectiontext","logicalanddisplay","logicalandtext","logicalordisplay","logicalortext","parenleftBig","parenleftbig","parenleftBigg","parenleftbigg","parenrightBig","parenrightbig","parenrightBigg","parenrightbigg","prime","productdisplay","producttext","radicalbig","radicalBig","radicalBigg","radicalbigg","radicalbt","radicaltp","radicalvertex","slashbig","slashBig","slashBigg","slashbigg","summationdisplay","summationtext","tildewide","tildewider","tildewidest","uniondisplay","unionmultidisplay","unionmultitext","unionsqdisplay","unionsqtext","uniontext","vextenddouble","vextendsingle","a2","a202","a3","a4","a5","a119","a118","a117","a11","a12","a13","a14","a15","a16","a105","a17","a18","a19","a20","a21","a22","a23","a24","a25","a26","a27","a28","a6","a7","a8","a9","a10","a29","a30","a31","a32","a33","a34","a35","a36","a37","a38","a39","a40","a41","a42","a43","a44","a45","a46","a47","a48","a49","a50","a51","a52","a53","a54","a55","a56","a57","a58","a59","a60","a61","a62","a63","a64","a65","a66","a67","a68","a69","a70","a71","a72","a73","a74","a203","a75","a204","a76","a77","a78","a79","a81","a82","a83","a84","a97","a98","a99","a100","a101","a102","a103","a104","a106","a107","a108","a112","a111","a110","a109","a120","a121","a122","a123","a124","a125","a126","a127","a128","a129","a130","a131","a132","a133","a134","a135","a136","a137","a138","a139","a140","a141","a142","a143","a144","a145","a146","a147","a148","a149","a150","a151","a152","a153","a154","a155","a156","a157","a158","a159","a160","a161","a163","a164","a196","a165","a192","a166","a167","a168","a169","a170","a171","a172","a173","a162","a174","a175","a176","a177","a178","a179","a193","a180","a199","a181","a200","a182","a201","a183","a184","a197","a185","a194","a198","a186","a195","a187","a188","a189","a190","a191","a89","a90","a93","a94","a91","a92","a205","a85","a206","a86","a87","a88","a95","a96","ArialNarrow","ArialBlack","Arial","ArialMT","CourierNew","CourierNewPSMT","Helvetica","TimesNewRoman","TimesNewRomanPS","TimesNewRomanPSMT","Calibri","CenturyGothic","ComicSansMS","LucidaConsole","NuptialScript","SegoeUISymbol","Wingdings","Albertus","Aldus","Alexandria","Algerian","Antiqua","Apex","Arno","Aster","Aurora","Baskerville","Bell","Bembo","Benguiat","Bodoni","Bookman","Calisto","Calvert","Capitals","Cambria","Cartier","Caslon","Catull","Centaur","Chaparral","Cheltenham","Clarendon","Clearface","Cochin","Colonna","Constantia","Corona","Ecotype","Egyptienne","Elephant","Excelsior","Fairfield","Folkard","Footlight","FreeSerif","Garamond","Gentium","Georgia","Gloucester","Granjon","Heather","Hercules","Hiroshige","Imprint","Janson","Joanna","Korinna","Lexicon","Literaturnaya","Lucida","Melior","Memphis","Miller","Minion","Modern","Palatino","Perpetua","Plantin","Playbill","Renault","Requiem","Rockwell","Roman","Sabon","Scala","Seagull","Sistina","Souvenir","STIX","Sylfaen","Times","Trajan","Utopia","Versailles","Wanted","Weiss","Windsor","XITS","Dingbats","ZapfDingbats","getSpecialPUASymbols","hexStr","nameLen","toUpperCase","UnicodeRanges","isRTLRangeFor","charsLength","getLong","getUshort","getSubroutineBias","numSubrs","parseCmap","idDelta","idOffset","parseCff","gsubrs","isCFFCIDFont","parseGlyfTable","lookupCmap","compileGlyf","cmds","quadraticCurveTo","xa","ya","numberOfContours","arg1","arg2","scale01","scale10","subglyph","endPtsOfContours","instructionLength","numberOfPoints","points","startPoint","contour","compileCharString","charStringCode","bezierCurveTo","stems","xb","yb","y3","subrCode","stackClean","subrsBias","achar","bchar","glyphNameMap","gsubrsBias","NOOP","CompiledFont","compiledGlyphs","compiledCharCodeToGlyphId","compileGlyph","compileGlyphImpl","TrueTypeCompiled","_CompiledFont","Type2Compiled","_CompiledFont2","cffInfo","HINTING_ENABLED","Type1CharString","COMMAND_MAP","hstem","vstem","vmoveto","rlineto","hlineto","vlineto","rrcurveto","callsubr","flex","drop","endchar","rmoveto","hmoveto","vhcurveto","hvcurveto","lsb","flexing","wx","sbx","executeCommand","dy","asb","sby","num2","num1","flexArgs","howManyArgs","command","keepStack","stackLength","EEXEC_ENCRYPT_KEY","CHAR_STRS_ENCRYPT_KEY","isHexDigit","discardNumber","c1","c2","decrypted","decryptAscii","digit1","digit2","encrypted","isBinary","readNumberArray","getToken","readInt","readBoolean","readCharStrings","lenIV","program","blueArray","charString","charStringObject","_index","encodingArg","ShadingType","FUNCTION_BASED","AXIAL","RADIAL","FREE_FORM_MESH","LATTICE_FORM_MESH","COONS_PATCH_MESH","TENSOR_PATCH_MESH","getPattern","ctx","Shadings","RadialAxial","Mesh","Dummy","xstep","ystep","paintType","tilingType","SMALL_NUMBER","coordsArr","shadingType","domainArr","extendStart","extendEnd","extendArr","r1","r2","distance","fnObj","createFromArray","NUMBER_OF_SAMPLES","colorStops","cssColor","makeCssRgb","background","r0","singularValueDecompose2dScale","MeshStreamReader","tmpCompsBuf","csNumComps","tmpCsCompsBuf","colorFn","decodeType4Shading","mesh","coords","operators","ps","verticesLeft","hasData","readFlag","coord","readCoordinate","readComponents","align","figures","decodeType5Shading","verticesPerRow","bitsPerFlag","bitsPerCoordinate","yi","ci","MIN_SPLIT_PATCH_CHUNKS_AMOUNT","MAX_SPLIT_PATCH_CHUNKS_AMOUNT","TRIANGLE_DENSITY","getB","buildB","lut","t_","buildFigureFromPatch","figure","figureMinX","figureMinY","figureMaxX","figureMaxY","splitXBy","bounds","splitYBy","figureCoords","figureColors","cl","cr","c0","c3","bRow","bCol","newColor","decodeType6Shading","tmp4","decodeType7Shading","updateBounds","packData","coordsPacked","xy","colorsPacked","decodeContext","patchMesh","PostScriptCompiler","PostScriptEvaluator","_ps_parser","_ref$isEvalSupported","_localFunctionCache","cachedFunction","parsedFunction","PDFFunction","parseArray","fnRef","localFunction","toNumberArray","CONSTRUCT_SAMPLED","CONSTRUCT_INTERPOLATED","CONSTRUCT_STICHED","CONSTRUCT_POSTSCRIPT","getSampleArray","outputSize","bps","sampleMul","strBytes","strIdx","constructSampled","constructInterpolated","constructStiched","constructPostScript","typeFn","fromIR","IR","constructSampledFromIR","constructInterpolatedFromIR","constructStichedFromIR","constructPostScriptFromIR","toMultiArray","inputSize","samples","interpolate","xmin","xmax","ymin","ymax","cubeVertices","cubeN","cubeVertex","domain_2i","domain_2i_1","size_i","e0","n0","n1","rj","fnRefs","fns","dmin","dmax","rmin","rmax","PostScriptLexer","PostScriptParser","_ref13","numOutputs","numInputs","MAX_CACHE_SIZE","cache_available","cachedValue","execute","stackIndex","bound","fnDict","PostScriptStack","MAX_STACK_SIZE","initialStack","copy","roll","operator","atan","cos","LN10","sin","AstNode","AstArgument","AstLiteral","AstBinaryOperation","AstMin","AstVariable","AstVariableDefinition","ExpressionBuilderVisitor","buildAddOperation","buildMulOperation","buildSubOperation","buildMinOperation","visit","visitArgument","visitLiteral","visitBinaryOperation","visitMin","visitVariable","visitVariableDefinition","literal","definition","ast1","ast2","tmpVar","instructions","lastRegister","instruction","statementBuilder","expr","nextToken","accept","expect","PostScriptTokenTypes","LBRACE","parseBlock","RBRACE","NUMBER","OPERATOR","parseCondition","conditionLocation","IF","jumpLocation","endOfTrue","IFELSE","PostScriptToken","opCache","opValue","getOperator","baseTypes","arabicTypes","isOdd","isEven","findUnequal","setValues","reverseValues","createBidiText","isLTR","startLevel","strLength","numBidi","charType","sor","eor","lastType","before","after","highestLevel","lowestOddLevel","Courier","SEED","MASK_HIGH","MASK_LOW","seed","blockCounts","tailLength","dataUint32","k2","C1","C2","C1_LOW","C2_LOW","hex1","hex2","decodeAndClamp","addend","coefficient","resizeImageMask","_ref$isInline","_ref$smask","_ref$mask","_ref$isMask","isMask","matte","needsDecode","decodeCoefficients","decodeAddends","isIndexed","maskDict","bufferPos","rowComps","loop1End","loop2End","remainingBits","rgbaBuf","alphaBuf","sw","fillGrayBuffer","opacity","imageOffset","maskOffset","matteRgb","matteR","matteG","matteB","forceRGBA","getImageBytes","newArray","imageLength","maybeUndoPreblend","getComponents","fillOpacity","decodeBuffer","fillRgb","undoPreblend","_buildImage","_ref2$isInline","imageData","smaskData","maskData","computedLength","haveFullData","CallbackKind","DATA","ERROR","StreamKind","CANCEL","CANCEL_COMPLETE","CLOSE","ENQUEUE","PULL","PULL_COMPLETE","START_COMPLETE","wrapReason","sourceName","targetName","comObj","callbackId","streamId","streamSinks","streamControllers","callbackCapabilities","actionHandler","_onComObjOnMessage","_processStreamMessage","cbSourceName","cbTargetName","_createStreamSink","ah","_postMessage","queueingStrategy","startCapability","startCall","pullCall","cancelCall","isClosed","pull","pullCapability","cancelCapability","isCancelled","lastDesiredSize","sinkCapability","success","_deleteStreamController","_deleteStreamController2","_msgHandler","_contentLength","_fullRequestReader","_rangeRequestReaders","PDFWorkerStreamReader","PDFWorkerStreamRangeReader","readers","_isRangeSupported","_isStreamingSupported","_headersReady","_read","_yield$this$_reader$r","_read2","_yield$this$_reader$r2","toByteArray","fromByteArray","revLookup","Arr","getLens","b64","validLen","placeHoldersLen","lens","_byteLength","curByte","tripletToBase64","encodeChunk","uint8","extraBytes","maxChunkLength","len2","arch","execPath","pid","browser","env","argv","binding","cwd","chdir","kill","umask","dlopen","uptime","memoryUsage","uvCounters","features","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","base64","ieee754","typedArraySupport","kMaxLength","TYPED_ARRAY_SUPPORT","createBuffer","encodingOrOffset","allocUnsafe","fromArrayBuffer","fromString","fromObject","assertSize","alloc","isEncoding","actual","fromArrayLike","isBuffer","isnan","SlowBuffer","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","bidirectionalIndexOf","arrayIndexOf","lastIndexOf","indexSize","valLength","readUInt16BE","foundIndex","hexWrite","parsed","substr","utf8Write","blitBuffer","asciiWrite","asciiToBytes","latin1Write","base64Write","ucs2Write","utf16leToBytes","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","bytesPerSequence","decodeCodePointsArray","INSPECT_MAX_BYTES","poolSize","_augment","species","allocUnsafeSlow","_isBuffer","swap16","swap32","swap64","equals","inspect","thisStart","thisEnd","thisCopy","targetCopy","MAX_ARGUMENTS_LENGTH","ret","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","trim","units","leadSurrogate","byteArray","hi","lo","normalizeArray","allowAboveRoot","basename","matchedSlash","xs","resolvedPath","resolvedAbsolute","isAbsolute","trailingSlash","relative","to","fromParts","toParts","samePartsLength","outputParts","sep","dirname","hasRoot","extname","startDot","startPart","preDotState"],"mappings":"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S,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAA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,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGG,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGD,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGD,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,IAC/wEQ,EAAc,CAAC,EAAE,GAAI,GAAI,CAAC,GAAIZ,GAAW,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,OAC9Wa,EAAc,CAAC,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,IACx3IC,EAAc,CAAC,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,CAAC,GAAId,GAAW,CAAC,GAAIA,GAAW,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,KAC53Ce,EAAc,CAAC,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,KAAM,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,KACjwDC,EAAc,CAAC,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,IAEvhB,SAASzB,EAAgBpvF,GACvB,IAAImtB,EAAU7xB,UAAUrD,OAAS,QAAsBkC,IAAjBmB,UAAU,GAAmBA,UAAU,GAAK,GAElF,IAAK0E,GAAiC,oBAAhBA,EAAOpH,KAC3B,MAAM,IAAI2D,MAAM,iDAGlB7F,KAAKsJ,OAASA,EACdtJ,KAAKuyF,KAAM,EACXvyF,KAAKo6F,SAAW3jE,EAAQkiE,GAAK,EAC7B34F,KAAKq6F,OAAS5jE,EAAQmiE,YAAa,EACnC54F,KAAKs6F,UAAY7jE,EAAQoiE,mBAAoB,EAC7C74F,KAAKu1F,QAAU9+D,EAAQqiE,SAAW,KAClC94F,KAAKu6F,KAAO9jE,EAAQsiE,MAAQ,EAC5B,IAkBIhE,EAlBAyF,EAAU/jE,EAAQuiE,WAEN,OAAZwB,QAAgC/2F,IAAZ+2F,IACtBA,GAAU,GAGZx6F,KAAKw6F,QAAUA,EACfx6F,KAAKy6F,MAAQhkE,EAAQwiE,WAAY,EACjCj5F,KAAK06F,WAAa,IAAIpsE,YAAYtuB,KAAKu1F,QAAU,GACjDv1F,KAAK26F,QAAU,IAAIrsE,YAAYtuB,KAAKu1F,QAAU,GAC9Cv1F,KAAK06F,WAAW,GAAK16F,KAAKu1F,QAC1Bv1F,KAAK46F,UAAY,EACjB56F,KAAK66F,IAAM,EACX76F,KAAK86F,WAAa96F,KAAKo6F,SAAW,EAClCp6F,KAAK+6F,UAAY,EACjB/6F,KAAKg7F,SAAW,EAChBh7F,KAAKi7F,WAAa,EAClBj7F,KAAKk7F,UAAW,EAGhB,MAAwC,KAAhCnG,EAAQ/0F,KAAKm7F,UAAU,KAC7Bn7F,KAAKo7F,SAAS,GAGF,IAAVrG,GACF/0F,KAAKo7F,SAAS,IAGZp7F,KAAKo6F,SAAW,IAClBp6F,KAAK86F,YAAc96F,KAAKm7F,UAAU,GAElCn7F,KAAKo7F,SAAS,IAumBlB,OAnmBA1C,EAAgBh5F,UAAY,CAC1Bw5F,aAAc,WACZ,GAAIl5F,KAAKuyF,IACP,OAAQ,EAGV,IAGI8I,EAAQC,EAAa7H,EAAM31F,EA6U3BK,EAhVAw8F,EAAU36F,KAAK26F,QACfD,EAAa16F,KAAK06F,WAClBnF,EAAUv1F,KAAKu1F,QAGnB,GAAwB,IAApBv1F,KAAKi7F,WAAkB,CAKzB,GAJIj7F,KAAKk7F,WACPl7F,KAAKuyF,KAAM,GAGTvyF,KAAKuyF,IACP,OAAQ,EAIV,IAAIwC,EAAOb,EAAOqH,EAElB,GAHAv7F,KAAK8B,KAAM,EAGP9B,KAAK86F,WAAY,CACnB,IAAKh9F,EAAI,EAAG48F,EAAW58F,GAAKy3F,IAAWz3F,EACrC68F,EAAQ78F,GAAK48F,EAAW58F,GAG1B68F,EAAQ78F,KAAOy3F,EACfoF,EAAQ78F,GAAKy3F,EACbmF,EAAW,GAAK,EAChB16F,KAAK46F,UAAY,EACjBS,EAAS,EACTC,EAAc,EAEd,MAAOZ,EAAW16F,KAAK46F,WAAarF,EAGlC,OAFAR,EAAQ/0F,KAAKw7F,iBAELzG,GACN,KAAKsE,EACHr5F,KAAKy7F,WAAWd,EAAQU,EAAS,GAAIC,GAEjCX,EAAQU,EAAS,GAAK9F,IACxB8F,GAAU,GAGZ,MAEF,KAAK/B,EAGH,GAFAvE,EAAQb,EAAQ,EAEZoH,EAAa,CACf,GACEvG,GAASwG,EAAQv7F,KAAK07F,sBACfH,GAAS,IAElB,GACErH,GAASqH,EAAQv7F,KAAK27F,sBACfJ,GAAS,QACb,CACL,GACExG,GAASwG,EAAQv7F,KAAK27F,sBACfJ,GAAS,IAElB,GACErH,GAASqH,EAAQv7F,KAAK07F,sBACfH,GAAS,IAGpBv7F,KAAKy7F,WAAWf,EAAW16F,KAAK46F,WAAa7F,EAAOuG,GAEhDZ,EAAW16F,KAAK46F,WAAarF,GAC/Bv1F,KAAKy7F,WAAWf,EAAW16F,KAAK46F,WAAa1G,EAAqB,EAAdoH,GAGtD,MAAOX,EAAQU,IAAWX,EAAW16F,KAAK46F,YAAcD,EAAQU,GAAU9F,EACxE8F,GAAU,EAGZ,MAEF,KAAKzB,EAKH,GAJA55F,KAAKy7F,WAAWd,EAAQU,GAAU,EAAGC,GAErCA,GAAe,EAEXZ,EAAW16F,KAAK46F,WAAarF,EAAS,GACtC8F,EAEF,MAAOV,EAAQU,IAAWX,EAAW16F,KAAK46F,YAAcD,EAAQU,GAAU9F,EACxE8F,GAAU,EAId,MAEF,KAAK3B,EAKH,GAJA15F,KAAKy7F,WAAWd,EAAQU,GAAU,EAAGC,GAErCA,GAAe,EAEXZ,EAAW16F,KAAK46F,WAAarF,EAAS,GACtC8F,EAEF,MAAOV,EAAQU,IAAWX,EAAW16F,KAAK46F,YAAcD,EAAQU,GAAU9F,EACxE8F,GAAU,EAId,MAEF,KAAK7B,EAKH,GAJAx5F,KAAKy7F,WAAWd,EAAQU,GAAU,EAAGC,GAErCA,GAAe,EAEXZ,EAAW16F,KAAK46F,WAAarF,EAAS,GACtC8F,EAEF,MAAOV,EAAQU,IAAWX,EAAW16F,KAAK46F,YAAcD,EAAQU,GAAU9F,EACxE8F,GAAU,EAId,MAEF,KAAK9B,EAKH,GAJAv5F,KAAKy7F,WAAWd,EAAQU,GAASC,GAEjCA,GAAe,EAEXZ,EAAW16F,KAAK46F,WAAarF,EAAS,GACtC8F,EAEF,MAAOV,EAAQU,IAAWX,EAAW16F,KAAK46F,YAAcD,EAAQU,GAAU9F,EACxE8F,GAAU,EAId,MAEF,KAAKxB,EAKH,GAJA75F,KAAK47F,cAAcjB,EAAQU,GAAU,EAAGC,GAExCA,GAAe,EAEXZ,EAAW16F,KAAK46F,WAAarF,EAAS,CACpC8F,EAAS,IACTA,IAEAA,EAGJ,MAAOV,EAAQU,IAAWX,EAAW16F,KAAK46F,YAAcD,EAAQU,GAAU9F,EACxE8F,GAAU,EAId,MAEF,KAAK1B,EAKH,GAJA35F,KAAK47F,cAAcjB,EAAQU,GAAU,EAAGC,GAExCA,GAAe,EAEXZ,EAAW16F,KAAK46F,WAAarF,EAAS,CACpC8F,EAAS,IACTA,IAEAA,EAGJ,MAAOV,EAAQU,IAAWX,EAAW16F,KAAK46F,YAAcD,EAAQU,GAAU9F,EACxE8F,GAAU,EAId,MAEF,KAAK5B,EAKH,GAJAz5F,KAAK47F,cAAcjB,EAAQU,GAAU,EAAGC,GAExCA,GAAe,EAEXZ,EAAW16F,KAAK46F,WAAarF,EAAS,CACpC8F,EAAS,IACTA,IAEAA,EAGJ,MAAOV,EAAQU,IAAWX,EAAW16F,KAAK46F,YAAcD,EAAQU,GAAU9F,EACxE8F,GAAU,EAId,MAEF,KAAKjC,EACHp5F,KAAKy7F,WAAWlG,EAAS,GAEzBv1F,KAAKuyF,KAAM,EACX,MAEF,SACE,EAAIhyF,EAAM6D,MAAM,eAEhBpE,KAAKy7F,WAAWlG,EAAS,GAEzBv1F,KAAK8B,KAAM,OAGZ,CACL44F,EAAW,GAAK,EAChB16F,KAAK46F,UAAY,EACjBU,EAAc,EAEd,MAAOZ,EAAW16F,KAAK46F,WAAarF,EAAS,CAG3C,GAFAR,EAAQ,EAEJuG,EACF,GACEvG,GAASwG,EAAQv7F,KAAK07F,sBACfH,GAAS,SAElB,GACExG,GAASwG,EAAQv7F,KAAK27F,sBACfJ,GAAS,IAGpBv7F,KAAKy7F,WAAWf,EAAW16F,KAAK46F,WAAa7F,EAAOuG,GAEpDA,GAAe,GAInB,IAAIO,GAAS,EAMb,GAJI77F,KAAKs6F,YACPt6F,KAAK+6F,YAAa,GAGf/6F,KAAKw6F,SAAWx6F,KAAK66F,MAAQ76F,KAAKu6F,KAAO,EAEvC,CAGL,GAFAxF,EAAQ/0F,KAAKm7F,UAAU,IAEnBn7F,KAAKq6F,OACP,MAAOtF,IAAUqE,GAAsB,IAAVrE,EAC3B/0F,KAAKo7F,SAAS,GAEdrG,EAAQ/0F,KAAKm7F,UAAU,SAGzB,MAAiB,IAAVpG,EACL/0F,KAAKo7F,SAAS,GAEdrG,EAAQ/0F,KAAKm7F,UAAU,IAIb,IAAVpG,GACF/0F,KAAKo7F,SAAS,IAEdS,GAAS,GACA9G,IAAUqE,IACnBp5F,KAAKuyF,KAAM,QAvBbvyF,KAAKk7F,UAAW,EAiClB,IANKl7F,KAAKuyF,KAAOvyF,KAAKo6F,SAAW,IAAMp6F,KAAKk7F,WAC1Cl7F,KAAK86F,YAAc96F,KAAKm7F,UAAU,GAElCn7F,KAAKo7F,SAAS,IAGZp7F,KAAKw6F,SAAWqB,GAAU77F,KAAKs6F,WAGjC,GAFAvF,EAAQ/0F,KAAKm7F,UAAU,IAET,IAAVpG,EAAa,CASf,GARA/0F,KAAKo7F,SAAS,IAEVp7F,KAAKo6F,SAAW,IAClBp6F,KAAKm7F,UAAU,GAEfn7F,KAAKo7F,SAAS,IAGZp7F,KAAKo6F,UAAY,EACnB,IAAKt8F,EAAI,EAAGA,EAAI,IAAKA,EACnBi3F,EAAQ/0F,KAAKm7F,UAAU,IAET,IAAVpG,IACF,EAAIx0F,EAAM6D,MAAM,iBAAmB2wF,GAGrC/0F,KAAKo7F,SAAS,IAEVp7F,KAAKo6F,SAAW,IAClBp6F,KAAKm7F,UAAU,GAEfn7F,KAAKo7F,SAAS,IAKpBp7F,KAAKuyF,KAAM,QAER,GAAIvyF,KAAK8B,KAAO9B,KAAKq6F,OAAQ,CAClC,MAAO,EAAM,CAGX,GAFAtF,EAAQ/0F,KAAKm7F,UAAU,IAEnBpG,IAAUqE,EAEZ,OADAp5F,KAAKuyF,KAAM,GACH,EAGV,GAAIwC,GAAS,IAAM,EACjB,MAGF/0F,KAAKo7F,SAAS,GAGhBp7F,KAAKo7F,SAAS,IAEVp7F,KAAKo6F,SAAW,IAClBp6F,KAAKo7F,SAAS,GAEdp7F,KAAK86F,aAAuB,EAAR/F,IAIpB2F,EAAW,GAAK,EAClB16F,KAAKi7F,WAAaP,EAAW16F,KAAK46F,UAAY,GAE9C56F,KAAKi7F,WAAaP,EAAW16F,KAAK46F,UAAY,GAGhD56F,KAAK66F,MAKP,GAAI76F,KAAKi7F,YAAc,EACrB98F,EAAqB,EAAjB6B,KAAK46F,UAAgB,EAAI,IAC7B56F,KAAKi7F,YAAc,EAEK,IAApBj7F,KAAKi7F,YAAoBP,EAAW16F,KAAK46F,WAAarF,IACxDv1F,KAAK46F,YACL56F,KAAKi7F,WAAaP,EAAW16F,KAAK46F,WAAaF,EAAW16F,KAAK46F,UAAY,QAExE,CACLnH,EAAO,EACPt1F,EAAI,EAEJ,GACM6B,KAAKi7F,WAAaxH,GACpBt1F,IAAMs1F,EAEiB,EAAjBzzF,KAAK46F,YACTz8F,GAAK,KAAQ,EAAIs1F,GAGnBzzF,KAAKi7F,YAAcxH,EACnBA,EAAO,IAEPt1F,IAAM6B,KAAKi7F,WAEY,EAAjBj7F,KAAK46F,YACTz8F,GAAK,KAAQ,EAAI6B,KAAKi7F,YAGxBxH,GAAQzzF,KAAKi7F,WACbj7F,KAAKi7F,WAAa,EAEdP,EAAW16F,KAAK46F,WAAarF,GAC/Bv1F,KAAK46F,YACL56F,KAAKi7F,WAAaP,EAAW16F,KAAK46F,WAAaF,EAAW16F,KAAK46F,UAAY,IAClEnH,EAAO,IAChBt1F,IAAMs1F,EACNA,EAAO,UAGJA,GAOX,OAJIzzF,KAAKy6F,QACPt8F,GAAK,KAGAA,GAETs9F,WAAY,SAAoBK,EAAIR,GAClC,IAAIZ,EAAa16F,KAAK06F,WAClBE,EAAY56F,KAAK46F,UAEjBkB,EAAKpB,EAAWE,KACdkB,EAAK97F,KAAKu1F,WACZ,EAAIh1F,EAAM6D,MAAM,uBAChBpE,KAAK8B,KAAM,EACXg6F,EAAK97F,KAAKu1F,SAGI,EAAZqF,EAAgBU,KAChBV,EAGJF,EAAWE,GAAakB,GAG1B97F,KAAK46F,UAAYA,GAEnBgB,cAAe,SAAuBE,EAAIR,GACxC,IAAIZ,EAAa16F,KAAK06F,WAClBE,EAAY56F,KAAK46F,UAErB,GAAIkB,EAAKpB,EAAWE,GACdkB,EAAK97F,KAAKu1F,WACZ,EAAIh1F,EAAM6D,MAAM,uBAChBpE,KAAK8B,KAAM,EACXg6F,EAAK97F,KAAKu1F,SAGI,EAAZqF,EAAgBU,KAChBV,EAGJF,EAAWE,GAAakB,OACnB,GAAIA,EAAKpB,EAAWE,GAAY,CACjCkB,EAAK,KACP,EAAIv7F,EAAM6D,MAAM,gBAChBpE,KAAK8B,KAAM,EACXg6F,EAAK,GAGP,MAAOlB,EAAY,GAAKkB,EAAKpB,EAAWE,EAAY,KAChDA,EAGJF,EAAWE,GAAakB,EAG1B97F,KAAK46F,UAAYA,GAEnBmB,eAAgB,SAAwBjrF,EAAO4tB,EAAKi1D,EAAO5d,GAGzD,IAFA,IAAIimB,EAAajmB,GAAS,EAEjBj4E,EAAIgT,EAAOhT,GAAK4gC,IAAO5gC,EAAG,CACjC,IAAI+N,EAAO7L,KAAKm7F,UAAUr9F,GAE1B,GAAI+N,IAASutF,EACX,MAAO,EAAC,EAAM,GAAG,GAOnB,GAJIt7F,EAAI4gC,IACN7yB,IAAS6yB,EAAM5gC,IAGZk+F,GAAcnwF,GAAQmwF,EAAY,CACrC,IAAIp8F,EAAI+zF,EAAM9nF,EAAOmwF,GAErB,GAAIp8F,EAAE,KAAO9B,EAGX,OAFAkC,KAAKo7F,SAASt9F,GAEP,EAAC,EAAM8B,EAAE,IAAI,IAK1B,MAAO,EAAC,EAAO,GAAG,IAEpB47F,eAAgB,WACd,IACI57F,EADAiM,EAAO,EAGX,GAAI7L,KAAKw6F,SAIP,GAHA3uF,EAAO7L,KAAKm7F,UAAU,GACtBv7F,EAAIk6F,EAAYjuF,GAEZjM,GAAKA,EAAE,GAAK,EAGd,OAFAI,KAAKo7F,SAASx7F,EAAE,IAETA,EAAE,OAEN,CACL,IAAI2V,EAASvV,KAAK+7F,eAAe,EAAG,EAAGjC,GAEvC,GAAIvkF,EAAO,IAAMA,EAAO,GACtB,OAAOA,EAAO,GAKlB,OADA,EAAIhV,EAAM6D,MAAM,oBACTg1F,GAETuC,cAAe,WACb,IACI/7F,EADAiM,EAAO,EAGX,GAAI7L,KAAKw6F,QAAS,CAGhB,GAFA3uF,EAAO7L,KAAKm7F,UAAU,IAElBtvF,IAASutF,EACX,OAAO,EAST,GALEx5F,EADEiM,GAAQ,IAAM,EACZkuF,EAAYluF,GAEZmuF,EAAYnuF,GAAQ,GAGtBjM,EAAE,GAAK,EAGT,OAFAI,KAAKo7F,SAASx7F,EAAE,IAETA,EAAE,OAEN,CACL,IAAI2V,EAASvV,KAAK+7F,eAAe,EAAG,EAAG/B,GAEvC,GAAIzkF,EAAO,GACT,OAAOA,EAAO,GAKhB,GAFAA,EAASvV,KAAK+7F,eAAe,GAAI,GAAIhC,GAEjCxkF,EAAO,GACT,OAAOA,EAAO,GAQlB,OAJA,EAAIhV,EAAM6D,MAAM,kBAEhBpE,KAAKo7F,SAAS,GAEP,GAETM,cAAe,WACb,IAAI7vF,EAAMjM,EAEV,GAAII,KAAKw6F,QAAS,CAGhB,GAFA3uF,EAAO7L,KAAKm7F,UAAU,IAElBtvF,IAASutF,EACX,OAAO,EAWT,GAPEx5F,EADEiM,GAAQ,IAAM,EACZouF,EAAYpuF,GACPA,GAAQ,IAAM,GAAKA,GAAQ,IAAM,EACtCquF,GAAaruF,GAAQ,GAAK,IAE1BsuF,EAAYtuF,GAAQ,GAGtBjM,EAAE,GAAK,EAGT,OAFAI,KAAKo7F,SAASx7F,EAAE,IAETA,EAAE,OAEN,CACL,IAAI2V,EAASvV,KAAK+7F,eAAe,EAAG,EAAG5B,GAEvC,GAAI5kF,EAAO,GACT,OAAOA,EAAO,GAKhB,GAFAA,EAASvV,KAAK+7F,eAAe,EAAG,GAAI7B,EAAa,IAE7C3kF,EAAO,GACT,OAAOA,EAAO,GAKhB,GAFAA,EAASvV,KAAK+7F,eAAe,GAAI,GAAI9B,GAEjC1kF,EAAO,GACT,OAAOA,EAAO,GAQlB,OAJA,EAAIhV,EAAM6D,MAAM,kBAEhBpE,KAAKo7F,SAAS,GAEP,GAETD,UAAW,SAAmB57F,GAC5B,IAAIpB,EAEJ,MAAO6B,KAAK+6F,UAAYx7F,EAAG,CACzB,IAAkC,KAA7BpB,EAAI6B,KAAKsJ,OAAOpH,QACnB,OAAuB,IAAnBlC,KAAK+6F,UACA3B,EAGFp5F,KAAKg7F,UAAYz7F,EAAIS,KAAK+6F,UAAY,OAAU,GAAKx7F,EAG9DS,KAAKg7F,SAAWh7F,KAAKg7F,UAAY,EAAI78F,EACrC6B,KAAK+6F,WAAa,EAGpB,OAAO/6F,KAAKg7F,UAAYh7F,KAAK+6F,UAAYx7F,EAAI,OAAU,GAAKA,GAE9D67F,SAAU,SAAkB77F,IACrBS,KAAK+6F,WAAax7F,GAAK,IAC1BS,KAAK+6F,UAAY,KAIhBrC,EAvqBa,GA0qBtB96F,EAAQ86F,gBAAkBA,GAIpB,SAAU76F,EAAQD,EAASqC,GAEjC,aAGAzB,OAAOC,eAAeb,EAAS,aAAc,CAC3CmB,OAAO,IAETnB,EAAQyxF,iBAAc,EAEtB,IAAI7uF,EAAcP,EAAoB,KAElCgqE,EAAUhqE,EAAoB,KAE9Bg8F,EAAQh8F,EAAoB,KAE5BM,EAAQN,EAAoB,GAE5BovF,EAAc,WAChB,SAASA,EAAYpiF,EAAQohF,EAAalmB,EAAMhpB,GAC9Cn/C,KAAKiN,OAASA,EACdjN,KAAKquF,YAAcA,EACnBruF,KAAKmoE,KAAOA,EACZnoE,KAAKm/C,OAASA,EAEd8qB,EAAQ2nB,aAAa3zF,KAAK+B,KAAMquF,GAmDlC,OAhDAgB,EAAY3vF,UAAYlB,OAAOY,OAAO6qE,EAAQ2nB,aAAalyF,WAC3DlB,OAAOC,eAAe4wF,EAAY3vF,UAAW,QAAS,CACpDf,IAAK,WACH,OAAO,EAAI4B,EAAM2a,QAAQlb,KAAM,QAASA,KAAKiN,OAAO68D,SAAS9pE,KAAKquF,eAEpEhpF,cAAc,IAGhBgqF,EAAY3vF,UAAUgzF,aAAe,SAAUC,KAE/CtD,EAAY3vF,UAAU+yF,UAAY,WAChC,IAAIzyF,KAAKuyF,IAAT,CAIA,IAAI2J,EAAa,IAAID,EAAME,WACvBvvB,EAAS,GAEb,IAAI,EAAIpsE,EAAYqlE,QAAQ7lE,KAAKm/C,QAAS,CACxC,IAAIi9C,EAAgBp8F,KAAKm/C,OAAOxgD,IAAI,gBAEpC,IAAI,EAAI6B,EAAYylE,UAAUm2B,GAAgB,CAC5C,IAAIC,EAAUD,EAActyB,WAC5B8C,EAAOhpE,KAAK,CACVuC,KAAMk2F,EACNvrF,MAAO,EACP4tB,IAAK29D,EAAQ96F,UAKnBqrE,EAAOhpE,KAAK,CACVuC,KAAMnG,KAAKkN,MACX4D,MAAO,EACP4tB,IAAK1+B,KAAKkN,MAAM3L,SAKlB,IAHA,IAAI4E,EAAO+1F,EAAWI,YAAY1vB,GAC9BwZ,EAAajgF,EAAK5E,OAEbzD,EAAI,EAAGA,EAAIsoF,EAAYtoF,IAC9BqI,EAAKrI,IAAM,IAGbkC,KAAKuuB,OAASpoB,EACdnG,KAAKsyF,aAAelM,EACpBpmF,KAAKuyF,KAAM,IAGNlD,EA1DS,GA6DlBzxF,EAAQyxF,YAAcA,GAIhB,SAAUxxF,EAAQD,EAASqC,GAEjC,aAGAzB,OAAOC,eAAeb,EAAS,aAAc,CAC3CmB,OAAO,IAETnB,EAAQu+F,gBAAa,EAErB,IAAI57F,EAAQN,EAAoB,GAE5Ba,EAAcb,EAAoB,KAElCs8F,EAAsBt8F,EAAoB,KAE1Cu4F,EAASv4F,EAAoB,KAEjC,SAAS6S,EAAQ/R,GAAmV,OAAtO+R,EAArD,oBAAXjU,QAAoD,kBAApBA,OAAOsC,SAAmC,SAAiBJ,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXlC,QAAyBkC,EAAIkC,cAAgBpE,QAAUkC,IAAQlC,OAAOa,UAAY,gBAAkBqB,GAAiB+R,EAAQ/R,GAEnX,SAAS+D,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAInD,UAAU,qCAEhH,SAASwX,EAAUC,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI1X,UAAU,sDAAyDyX,EAAS5Z,UAAYlB,OAAOY,OAAOma,GAAcA,EAAW7Z,UAAW,CAAEuD,YAAa,CAAElE,MAAOua,EAAUhU,UAAU,EAAMD,cAAc,KAAekU,GAAYC,EAAgBF,EAAUC,GAEnX,SAASC,EAAgBjb,EAAGqB,GAA+G,OAA1G4Z,EAAkBhb,OAAOgZ,gBAAkB,SAAyBjZ,EAAGqB,GAAsB,OAAjBrB,EAAEkZ,UAAY7X,EAAUrB,GAAaib,EAAgBjb,EAAGqB,GAErK,SAAS6Z,EAAaC,GAAW,IAAIC,EAA4BC,IAA6B,OAAO,WAAkC,IAAsCrE,EAAlCsE,EAAQC,EAAgBJ,GAAkB,GAAIC,EAA2B,CAAE,IAAII,EAAYD,EAAgB9Z,MAAMiD,YAAasS,EAASyE,QAAQC,UAAUJ,EAAOjV,UAAWmV,QAAqBxE,EAASsE,EAAMhV,MAAM7E,KAAM4E,WAAc,OAAOsV,EAA2Bla,KAAMuV,IAE5Z,SAAS2E,EAA2BxV,EAAMzG,GAAQ,OAAIA,GAA2B,WAAlB6U,EAAQ7U,IAAsC,oBAATA,EAA8Ckc,EAAuBzV,GAAtCzG,EAEnI,SAASkc,EAAuBzV,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAI0V,eAAe,6DAAgE,OAAO1V,EAE/J,SAASkV,IAA8B,GAAuB,qBAAZI,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUI,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAiF,OAA3ErJ,KAAKvR,UAAUqD,SAAS9E,KAAK+b,QAAQC,UAAUhJ,KAAM,IAAI,iBAAyB,EAAQ,MAAOvP,GAAK,OAAO,GAE1T,SAASoY,EAAgBvb,GAAwJ,OAAnJub,EAAkBtb,OAAOgZ,eAAiBhZ,OAAOqW,eAAiB,SAAyBtW,GAAK,OAAOA,EAAEkZ,WAAajZ,OAAOqW,eAAetW,IAAcub,EAAgBvb,GAExM,IAAIi+F,EAA0B,SAAUzwE,GACtC1S,EAAUmjF,EAAYzwE,GAEtB,IAAIC,EAASvS,EAAa+iF,GAE1B,SAASA,EAAWxxE,GAGlB,OAFAlmB,EAAgB9E,KAAMw8F,GAEfxwE,EAAO/tB,KAAK+B,KAAM,gBAAgBkH,OAAO8jB,IAGlD,OAAOwxE,EAXqB,CAY5Bj8F,EAAMwc,eAEJo/E,EAAa,WACf,SAASM,KAYT,SAASC,EAAgBv2F,EAAM2K,EAAO4tB,GACpC1+B,KAAKmG,KAAOA,EACZnG,KAAK8Q,MAAQA,EACb9Q,KAAK0+B,IAAMA,EAgBb,SAASi+D,EAAcC,EAAcC,EAAWC,GAC9C,IAAIC,EAAWH,EAAaI,YAAYH,GACpCj0F,EAAO,EAEX,SAASmvF,EAASx2F,GAGhB,IAFA,IAAI4tB,EAAI,EAECrxB,EAAI,EAAGA,EAAIyD,EAAQzD,IAAK,CAC/B,IAAIm/F,EAAMH,EAAQI,QAAQH,EAAUn0F,GACpCA,EAAOA,EAAO,IAAMA,GAAQ,EAAIq0F,EAA0B,KAAnBr0F,GAAQ,EAAIq0F,GAAa,IAChE9tE,EAAIA,GAAK,EAAI8tE,EAGf,OAAO9tE,IAAM,EAGf,IAAIygE,EAAOmI,EAAS,GAChBh5F,EAAQg5F,EAAS,GAAKA,EAAS,GAAKA,EAAS,GAAKA,EAAS,GAAKA,EAAS,GAAKA,EAAS,IAAM,KAAOA,EAAS,IAAM,IAAMA,EAAS,GAAK,GAAKA,EAAS,GAAK,GAAKA,EAAS,GAAK,EAAIA,EAAS,GAE9L,OAAa,IAATnI,EACK7wF,EACEA,EAAQ,GACTA,EAGH,KAGT,SAASo+F,EAAWP,EAAcE,EAAStF,GAIzC,IAHA,IAAIuF,EAAWH,EAAaI,YAAY,QACpCp0F,EAAO,EAEF9K,EAAI,EAAGA,EAAI05F,EAAY15F,IAAK,CACnC,IAAIm/F,EAAMH,EAAQI,QAAQH,EAAUn0F,GACpCA,EAAOA,GAAQ,EAAIq0F,EAGrB,OAAIzF,EAAa,GACR5uF,GAAQ,GAAK4uF,GAAc,EAGtB,WAAP5uF,EAtET6zF,EAAa/8F,UAAY,CACvBs9F,YAAa,SAAqB7uF,GAChC,OAAIA,KAAMnO,KACDA,KAAKmO,GAGPnO,KAAKmO,GAAM,IAAIm5B,UAAU,SAUpCo1D,EAAgBh9F,UAAY,CAC1B,cACE,IAAIo9F,EAAU,IAAIP,EAAoBa,kBAAkBp9F,KAAKmG,KAAMnG,KAAK8Q,MAAO9Q,KAAK0+B,KACpF,OAAO,EAAIn+B,EAAM2a,QAAQlb,KAAM,UAAW88F,IAG5C,mBACE,IAAI77D,EAAQ,IAAIw7D,EAChB,OAAO,EAAIl8F,EAAM2a,QAAQlb,KAAM,eAAgBihC,KAiDnD,IAAIo8D,EAAe,CAAC,mBAAoB,KAAM,KAAM,KAAM,yBAA0B,KAAM,sBAAuB,8BAA+B,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,oBAAqB,KAAM,KAAM,KAAM,6BAA8B,KAAM,0BAA2B,kCAAmC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,4BAA6B,KAAM,yBAA0B,iCAAkC,sCAAuC,KAAM,mCAAoC,2CAA4C,KAAM,KAAM,KAAM,KAAM,kBAAmB,YAAa,cAAe,YAAa,WAAY,SAAU,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,aACnwBC,EAAkB,CAAC,CAAC,CACtB/tF,GAAI,EACJguF,GAAI,GACH,CACDhuF,EAAG,EACHguF,GAAI,GACH,CACDhuF,EAAG,EACHguF,GAAI,GACH,CACDhuF,GAAI,EACJguF,GAAI,GACH,CACDhuF,GAAI,EACJguF,GAAI,GACH,CACDhuF,EAAG,EACHguF,GAAI,GACH,CACDhuF,EAAG,EACHguF,GAAI,GACH,CACDhuF,EAAG,EACHguF,GAAI,GACH,CACDhuF,GAAI,EACJguF,EAAG,GACF,CACDhuF,GAAI,EACJguF,EAAG,GACF,CACDhuF,GAAI,EACJguF,EAAG,GACF,CACDhuF,GAAI,EACJguF,EAAG,IACD,CAAC,CACHhuF,GAAI,EACJguF,GAAI,GACH,CACDhuF,EAAG,EACHguF,GAAI,GACH,CACDhuF,EAAG,EACHguF,GAAI,GACH,CACDhuF,EAAG,EACHguF,GAAI,GACH,CACDhuF,GAAI,EACJguF,GAAI,GACH,CACDhuF,GAAI,EACJguF,GAAI,GACH,CACDhuF,EAAG,EACHguF,GAAI,GACH,CACDhuF,EAAG,EACHguF,GAAI,GACH,CACDhuF,EAAG,EACHguF,GAAI,GACH,CACDhuF,GAAI,EACJguF,EAAG,GACF,CACDhuF,GAAI,EACJguF,EAAG,GACF,CACDhuF,GAAI,EACJguF,EAAG,IACD,CAAC,CACHhuF,GAAI,EACJguF,GAAI,GACH,CACDhuF,EAAG,EACHguF,GAAI,GACH,CACDhuF,EAAG,EACHguF,GAAI,GACH,CACDhuF,GAAI,EACJguF,GAAI,GACH,CACDhuF,GAAI,EACJguF,GAAI,GACH,CACDhuF,EAAG,EACHguF,GAAI,GACH,CACDhuF,EAAG,EACHguF,GAAI,GACH,CACDhuF,GAAI,EACJguF,EAAG,GACF,CACDhuF,GAAI,EACJguF,EAAG,IACD,CAAC,CACHhuF,GAAI,EACJguF,GAAI,GACH,CACDhuF,GAAI,EACJguF,GAAI,GACH,CACDhuF,GAAI,EACJguF,GAAI,GACH,CACDhuF,EAAG,EACHguF,GAAI,GACH,CACDhuF,EAAG,EACHguF,GAAI,GACH,CACDhuF,GAAI,EACJguF,EAAG,GACF,CACDhuF,GAAI,EACJguF,EAAG,GACF,CACDhuF,GAAI,EACJguF,EAAG,GACF,CACDhuF,GAAI,EACJguF,EAAG,KAEDC,EAAsB,CAAC,CACzBC,OAAQ,CAAC,CACPluF,EAAG,EACHguF,GAAI,GACH,CACDhuF,EAAG,EACHguF,GAAI,GACH,CACDhuF,GAAI,EACJguF,EAAG,IAELG,UAAW,CAAC,CACVnuF,EAAG,EACHguF,GAAI,GACH,CACDhuF,EAAG,EACHguF,GAAI,GACH,CACDhuF,GAAI,EACJguF,EAAG,GACF,CACDhuF,EAAG,EACHguF,EAAG,GACF,CACDhuF,EAAG,EACHguF,EAAG,GACF,CACDhuF,GAAI,EACJguF,EAAG,GACF,CACDhuF,EAAG,EACHguF,EAAG,GACF,CACDhuF,EAAG,EACHguF,EAAG,KAEJ,CACDE,OAAQ,CAAC,CACPluF,GAAI,EACJguF,GAAI,GACH,CACDhuF,EAAG,EACHguF,GAAI,GACH,CACDhuF,EAAG,EACHguF,GAAI,GACH,CACDhuF,GAAI,EACJguF,EAAG,IAELG,UAAW,CAAC,CACVnuF,EAAG,EACHguF,GAAI,GACH,CACDhuF,GAAI,EACJguF,EAAG,GACF,CACDhuF,EAAG,EACHguF,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I,MACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,MACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,MACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,MACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,IACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,IACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,IACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,IACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,IACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,GACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,GACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,GACJC,KAAM,GACNC,KAAM,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a,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,WAAa,IAAIA,EAAO,UAAY,YAAa,IAAIA,EAAO,UAAY,YAAa,IAAIA,EAAO,UAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,WAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,UAAY,YAAa,IAAIA,EAAO,UAAY,WAAa,IAAIA,EAAO,UAAY,YAAa,IAAIA,EAAO,UAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,WAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,WAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,UAAY,WAAa,IAAIA,EAAO,UAAY,YAAa,IAAIA,EAAO,UAAY,YAAa,IAAIA,EAAO,UAAY,YAAa,IAAIA,EAAO,UAAY,YAAa,IAAIA,EAAO,UAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,WAAa,IAAIA,EAAO,WAAY,WAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,WAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,UAAY,YAAa,IAAIA,EAAO,UAAY,YAAa,IAAIA,EAAO,UAAY,YAAa,IAAIA,EAAO,UAAY,WAAa,I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M,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,GAAM,IAAM,GAAM,IAAM,EAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,GAAM,GAAM,GAAM,EAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,EAAM,IAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,EAAM,IAAM,GAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,KACphDpG,KAAKq2H,OAAS,IAAIjwH,WAAW,CAAC,GAAM,EAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,EAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAA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RA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,MACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,MACVA,EAAE,MAAQ,MACVA,EAAE,MAAQ,MACVA,EAAE,MAAQ,MACVA,EAAE,MAAQ,MACVA,EAAE,MAAQ,MACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KAC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N,CACC8rC,MAAO,IACP9rC,IAAK,KAEN,CACC8rC,MAAO,IACP9rC,IAAK,KAEN,CACC8rC,MAAO,IACP9rC,IAAK,MAEN,CACC8rC,MAAO,MACP9rC,IAAK,OAEN,CACC8rC,MAAO,KACP9rC,IAAK,MAEN,CACC8rC,MAAO,KACP9rC,IAAK,MAEN,CACC8rC,MAAO,KACP9rC,IAAK,MAEN,CACC8rC,MAAO,MACP9rC,IAAK,OAEN,CACC8rC,MAAO,KACP9rC,IAAK,MAEN,CACC8rC,MAAO,KACP9rC,IAAK,MAEN,CACC8rC,MAAO,KACP9rC,IAAK,MAEN,CACC8rC,MAAO,KACP9rC,IAAK,MAEN,CACC8rC,MAAO,KACP9rC,IAAK,MAEN,CACC8rC,MAAO,KACP9rC,IAAK,MAEN,CACC8rC,MAAO,KACP9rC,IAAK,MAEN,CACC8rC,MAAO,KACP9rC,IAAK,MAEN,CACC8rC,MAAO,KACP9rC,IAAK,MAEN,CACC8rC,MAAO,KACP9rC,IAAK,MAEN,CACC8rC,MAAO,KACP9rC,IAAK,MAEN,CACC8rC,MAAO,KACP9rC,IAAK,MAEN,CACC8rC,MAAO,KACP9rC,IAAK,MAEN,CACC8rC,MAAO,KACP9rC,IAAK,MAEN,CACC8rC,MAAO,KACP9rC,IAAK,MAEN,CACC8rC,MAAO,KACP9rC,IAAK,MAEN,CACC8rC,MAAO,KACP9rC,IAAK,MAEN,CACC8rC,MAAO,KACP9rC,IAAK,MAEN,CACC8rC,MAAO,KACP9rC,IAAK,MAEN,CACC8rC,MAAO,KACP9rC,IAAK,MAEN,CACC8rC,MAAO,KACP9rC,IAAK,MAEN,CACC8rC,MAAO,KACP9rC,IAAK,MAEN,CACC8rC,MAAO,KACP9rC,IAAK,MAEN,CACC8rC,MAAO,KACP9rC,IAAK,MAEN,CACC8rC,MAAO,KACP9rC,IAAK,MAEN,CACC8rC,MAAO,KACP9rC,IAAK,MAEN,CACC8rC,MAAO,KACP9rC,IAAK,MAEN,CACC8rC,MAAO,KACP9rC,IAAK,MAEN,CACC8rC,MAAO,KACP9rC,IAAK,MAEN,CACC8rC,MAAO,KACP9rC,IAAK,MAEN,CACC8rC,MAAO,KACP9rC,IAAK,MAEN,CACC8rC,MAAO,KACP9rC,IAAK,MAEN,CACC8rC,MAAO,KACP9rC,IAAK,MAEN,CACC8rC,MAAO,KACP9rC,IAAK,MAEN,CACC8rC,MAAO,KACP9rC,IAAK,OAEN,CACC8rC,MAAO,MACP9rC,IAAK,OAEN,CACC8rC,MAAO,MACP9rC,IAAK,OAEN,CACC8rC,MAAO,MACP9rC,IAAK,OAEN,CACC8rC,MAAO,MACP9rC,IAAK,OAEN,CACC8rC,MAAO,MACP9rC,IAAK,OAEN,CACC8rC,MAAO,MACP9rC,IAAK,OAEN,CACC8rC,MAAO,MACP9rC,IAAK,OAEN,CACC8rC,MAAO,MACP9rC,IAAK,OAEN,CACC8rC,MAAO,MACP9rC,IAAK,OAEN,CACC8rC,MAAO,MACP9rC,IAAK,OAEN,CACC8rC,MAAO,MACP9rC,IAAK,OAEN,CACC8rC,MAAO,MACP9rC,IAAK,OAEN,CACC8rC,MAAO,MACP9rC,IAAK,OAEN,CACC8rC,MAAO,MACP9rC,IAAK,OAEN,CACC8rC,MAAO,MACP9rC,IAAK,OAEN,CACC8rC,MAAO,MACP9rC,IAAK,OAEN,CACC8rC,MAAO,MACP9rC,IAAK,OAEN,CACC8rC,MAAO,MACP9rC,IAAK,OAEN,CACC8rC,MAAO,MACP9rC,IAAK,OAEN,CACC8rC,MAAO,MACP9rC,IAAK,OAEN,CACC8rC,MAAO,MACP9rC,IAAK,OAEN,CACC8rC,MAAO,MACP9rC,IAAK,OAEN,CACC8rC,MAAO,KACP9rC,IAAK,MAEN,CACC8rC,MAAO,KACP9rC,IAAK,MAEN,CACC8rC,MAAO,KACP9rC,IAAK,MAEN,CACC8rC,MAAO,KACP9rC,IAAK,MAEN,CACC8rC,MAAO,KACP9rC,IAAK,MAEN,CACC8rC,MAAO,KACP9rC,IAAK,MAEN,CACC8rC,MAAO,KACP9rC,IAAK,MAEN,CACC8rC,MAAO,KACP9rC,IAAK,MAEN,CACC8rC,MAAO,KACP9rC,IAAK,MAEN,CACC8rC,MAAO,KACP9rC,IAAK,MAEN,CACC8rC,MAAO,KACP9rC,IAAK,MAEN,CACC8rC,MAAO,KACP9rC,IAAK,MAEN,CACC8rC,MAA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AY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,OACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,MACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,OACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,OACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,OACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,UACdA,EAAE,KAAY,SACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KA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,IAAI9tJ,EAAQN,EAAoB,GAE5Bm0U,EAAY,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAC14CC,EAAc,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,KAAM,KAAM,GAAI,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KA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","file":"b504a610fda76978c078.worker.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_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, __webpack_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__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_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__webpack_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__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_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__webpack_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) __webpack_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__webpack_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__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"069e\");\n","/**\n * @licstart The following is the entire license notice for the\n * Javascript code in this page\n *\n * Copyright 2020 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * @licend The above is the entire license notice for the\n * Javascript code in this page\n */\n\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"pdfjs-dist/build/pdf.worker\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pdfjs-dist/build/pdf.worker\"] = factory();\n\telse\n\t\troot[\"pdfjs-dist/build/pdf.worker\"] = root.pdfjsWorker = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __w_pdfjs_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__w_pdfjs_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__w_pdfjs_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__w_pdfjs_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__w_pdfjs_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__w_pdfjs_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__w_pdfjs_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __w_pdfjs_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__w_pdfjs_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __w_pdfjs_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__w_pdfjs_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__w_pdfjs_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__w_pdfjs_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__w_pdfjs_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __w_pdfjs_require__(__w_pdfjs_require__.s = 0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"WorkerMessageHandler\", {\n enumerable: true,\n get: function get() {\n return _worker.WorkerMessageHandler;\n }\n});\n\nvar _worker = __w_pdfjs_require__(1);\n\nvar pdfjsVersion = '2.6.347';\nvar pdfjsBuild = '3be9c65f';\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.WorkerMessageHandler = exports.WorkerTask = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(202);\n\nvar _pdf_manager = __w_pdfjs_require__(203);\n\nvar _writer = __w_pdfjs_require__(224);\n\nvar _is_node = __w_pdfjs_require__(7);\n\nvar _message_handler = __w_pdfjs_require__(243);\n\nvar _worker_stream = __w_pdfjs_require__(244);\n\nvar _core_utils = __w_pdfjs_require__(205);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _toArray(arr) { return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest(); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar WorkerTask = /*#__PURE__*/function () {\n function WorkerTask(name) {\n _classCallCheck(this, WorkerTask);\n\n this.name = name;\n this.terminated = false;\n this._capability = (0, _util.createPromiseCapability)();\n }\n\n _createClass(WorkerTask, [{\n key: \"finish\",\n value: function finish() {\n this._capability.resolve();\n }\n }, {\n key: \"terminate\",\n value: function terminate() {\n this.terminated = true;\n }\n }, {\n key: \"ensureNotTerminated\",\n value: function ensureNotTerminated() {\n if (this.terminated) {\n throw new Error(\"Worker task was terminated\");\n }\n }\n }, {\n key: \"finished\",\n get: function get() {\n return this._capability.promise;\n }\n }]);\n\n return WorkerTask;\n}();\n\nexports.WorkerTask = WorkerTask;\n\nvar WorkerMessageHandler = /*#__PURE__*/function () {\n function WorkerMessageHandler() {\n _classCallCheck(this, WorkerMessageHandler);\n }\n\n _createClass(WorkerMessageHandler, null, [{\n key: \"setup\",\n value: function setup(handler, port) {\n var testMessageProcessed = false;\n handler.on(\"test\", function wphSetupTest(data) {\n if (testMessageProcessed) {\n return;\n }\n\n testMessageProcessed = true;\n\n if (!(data instanceof Uint8Array)) {\n handler.send(\"test\", null);\n return;\n }\n\n var supportTransfers = data[0] === 255;\n handler.postMessageTransfers = supportTransfers;\n handler.send(\"test\", {\n supportTransfers: supportTransfers\n });\n });\n handler.on(\"configure\", function wphConfigure(data) {\n (0, _util.setVerbosityLevel)(data.verbosity);\n });\n handler.on(\"GetDocRequest\", function wphSetupDoc(data) {\n return WorkerMessageHandler.createDocumentHandler(data, port);\n });\n }\n }, {\n key: \"createDocumentHandler\",\n value: function createDocumentHandler(docParams, port) {\n var pdfManager;\n var terminated = false;\n var cancelXHRs = null;\n var WorkerTasks = [];\n var verbosity = (0, _util.getVerbosityLevel)();\n var apiVersion = docParams.apiVersion;\n var workerVersion = '2.6.347';\n\n if (apiVersion !== workerVersion) {\n throw new Error(\"The API version \\\"\".concat(apiVersion, \"\\\" does not match \") + \"the Worker version \\\"\".concat(workerVersion, \"\\\".\"));\n }\n\n var enumerableProperties = [];\n\n for (var property in []) {\n enumerableProperties.push(property);\n }\n\n if (enumerableProperties.length) {\n throw new Error(\"The `Array.prototype` contains unexpected enumerable properties: \" + enumerableProperties.join(\", \") + \"; thus breaking e.g. `for...in` iteration of `Array`s.\");\n }\n\n var docId = docParams.docId;\n var docBaseUrl = docParams.docBaseUrl;\n var workerHandlerName = docParams.docId + \"_worker\";\n var handler = new _message_handler.MessageHandler(workerHandlerName, docId, port);\n handler.postMessageTransfers = docParams.postMessageTransfers;\n\n function ensureNotTerminated() {\n if (terminated) {\n throw new Error(\"Worker was terminated\");\n }\n }\n\n function startWorkerTask(task) {\n WorkerTasks.push(task);\n }\n\n function finishWorkerTask(task) {\n task.finish();\n var i = WorkerTasks.indexOf(task);\n WorkerTasks.splice(i, 1);\n }\n\n function loadDocument(_x) {\n return _loadDocument.apply(this, arguments);\n }\n\n function _loadDocument() {\n _loadDocument = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(recoveryMode) {\n var _yield$Promise$all, _yield$Promise$all2, numPages, fingerprint;\n\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return pdfManager.ensureDoc(\"checkHeader\");\n\n case 2:\n _context.next = 4;\n return pdfManager.ensureDoc(\"parseStartXRef\");\n\n case 4:\n _context.next = 6;\n return pdfManager.ensureDoc(\"parse\", [recoveryMode]);\n\n case 6:\n if (recoveryMode) {\n _context.next = 9;\n break;\n }\n\n _context.next = 9;\n return pdfManager.ensureDoc(\"checkFirstPage\");\n\n case 9:\n _context.next = 11;\n return Promise.all([pdfManager.ensureDoc(\"numPages\"), pdfManager.ensureDoc(\"fingerprint\")]);\n\n case 11:\n _yield$Promise$all = _context.sent;\n _yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 2);\n numPages = _yield$Promise$all2[0];\n fingerprint = _yield$Promise$all2[1];\n return _context.abrupt(\"return\", {\n numPages: numPages,\n fingerprint: fingerprint\n });\n\n case 16:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _loadDocument.apply(this, arguments);\n }\n\n function getPdfManager(data, evaluatorOptions) {\n var pdfManagerCapability = (0, _util.createPromiseCapability)();\n var newPdfManager;\n var source = data.source;\n\n if (source.data) {\n try {\n newPdfManager = new _pdf_manager.LocalPdfManager(docId, source.data, source.password, evaluatorOptions, docBaseUrl);\n pdfManagerCapability.resolve(newPdfManager);\n } catch (ex) {\n pdfManagerCapability.reject(ex);\n }\n\n return pdfManagerCapability.promise;\n }\n\n var pdfStream,\n cachedChunks = [];\n\n try {\n pdfStream = new _worker_stream.PDFWorkerStream(handler);\n } catch (ex) {\n pdfManagerCapability.reject(ex);\n return pdfManagerCapability.promise;\n }\n\n var fullRequest = pdfStream.getFullReader();\n fullRequest.headersReady.then(function () {\n if (!fullRequest.isRangeSupported) {\n return;\n }\n\n var disableAutoFetch = source.disableAutoFetch || fullRequest.isStreamingSupported;\n newPdfManager = new _pdf_manager.NetworkPdfManager(docId, pdfStream, {\n msgHandler: handler,\n password: source.password,\n length: fullRequest.contentLength,\n disableAutoFetch: disableAutoFetch,\n rangeChunkSize: source.rangeChunkSize\n }, evaluatorOptions, docBaseUrl);\n\n for (var i = 0; i < cachedChunks.length; i++) {\n newPdfManager.sendProgressiveData(cachedChunks[i]);\n }\n\n cachedChunks = [];\n pdfManagerCapability.resolve(newPdfManager);\n cancelXHRs = null;\n })[\"catch\"](function (reason) {\n pdfManagerCapability.reject(reason);\n cancelXHRs = null;\n });\n var loaded = 0;\n\n var flushChunks = function flushChunks() {\n var pdfFile = (0, _util.arraysToBytes)(cachedChunks);\n\n if (source.length && pdfFile.length !== source.length) {\n (0, _util.warn)(\"reported HTTP length is different from actual\");\n }\n\n try {\n newPdfManager = new _pdf_manager.LocalPdfManager(docId, pdfFile, source.password, evaluatorOptions, docBaseUrl);\n pdfManagerCapability.resolve(newPdfManager);\n } catch (ex) {\n pdfManagerCapability.reject(ex);\n }\n\n cachedChunks = [];\n };\n\n var readPromise = new Promise(function (resolve, reject) {\n var readChunk = function readChunk(_ref) {\n var value = _ref.value,\n done = _ref.done;\n\n try {\n ensureNotTerminated();\n\n if (done) {\n if (!newPdfManager) {\n flushChunks();\n }\n\n cancelXHRs = null;\n return;\n }\n\n loaded += (0, _util.arrayByteLength)(value);\n\n if (!fullRequest.isStreamingSupported) {\n handler.send(\"DocProgress\", {\n loaded: loaded,\n total: Math.max(loaded, fullRequest.contentLength || 0)\n });\n }\n\n if (newPdfManager) {\n newPdfManager.sendProgressiveData(value);\n } else {\n cachedChunks.push(value);\n }\n\n fullRequest.read().then(readChunk, reject);\n } catch (e) {\n reject(e);\n }\n };\n\n fullRequest.read().then(readChunk, reject);\n });\n readPromise[\"catch\"](function (e) {\n pdfManagerCapability.reject(e);\n cancelXHRs = null;\n });\n\n cancelXHRs = function cancelXHRs(reason) {\n pdfStream.cancelAllRequests(reason);\n };\n\n return pdfManagerCapability.promise;\n }\n\n function setupDoc(data) {\n function onSuccess(doc) {\n ensureNotTerminated();\n handler.send(\"GetDoc\", {\n pdfInfo: doc\n });\n }\n\n function onFailure(ex) {\n ensureNotTerminated();\n\n if (ex instanceof _util.PasswordException) {\n var task = new WorkerTask(\"PasswordException: response \".concat(ex.code));\n startWorkerTask(task);\n handler.sendWithPromise(\"PasswordRequest\", ex).then(function (_ref2) {\n var password = _ref2.password;\n finishWorkerTask(task);\n pdfManager.updatePassword(password);\n pdfManagerReady();\n })[\"catch\"](function () {\n finishWorkerTask(task);\n handler.send(\"DocException\", ex);\n });\n } else if (ex instanceof _util.InvalidPDFException || ex instanceof _util.MissingPDFException || ex instanceof _util.UnexpectedResponseException || ex instanceof _util.UnknownErrorException) {\n handler.send(\"DocException\", ex);\n } else {\n handler.send(\"DocException\", new _util.UnknownErrorException(ex.message, ex.toString()));\n }\n }\n\n function pdfManagerReady() {\n ensureNotTerminated();\n loadDocument(false).then(onSuccess, function (reason) {\n ensureNotTerminated();\n\n if (!(reason instanceof _core_utils.XRefParseException)) {\n onFailure(reason);\n return;\n }\n\n pdfManager.requestLoadedStream();\n pdfManager.onLoadedStream().then(function () {\n ensureNotTerminated();\n loadDocument(true).then(onSuccess, onFailure);\n });\n });\n }\n\n ensureNotTerminated();\n var evaluatorOptions = {\n maxImageSize: data.maxImageSize,\n disableFontFace: data.disableFontFace,\n ignoreErrors: data.ignoreErrors,\n isEvalSupported: data.isEvalSupported,\n fontExtraProperties: data.fontExtraProperties\n };\n getPdfManager(data, evaluatorOptions).then(function (newPdfManager) {\n if (terminated) {\n newPdfManager.terminate(new _util.AbortException(\"Worker was terminated.\"));\n throw new Error(\"Worker was terminated\");\n }\n\n pdfManager = newPdfManager;\n pdfManager.onLoadedStream().then(function (stream) {\n handler.send(\"DataLoaded\", {\n length: stream.bytes.byteLength\n });\n });\n }).then(pdfManagerReady, onFailure);\n }\n\n handler.on(\"GetPage\", function wphSetupGetPage(data) {\n return pdfManager.getPage(data.pageIndex).then(function (page) {\n return Promise.all([pdfManager.ensure(page, \"rotate\"), pdfManager.ensure(page, \"ref\"), pdfManager.ensure(page, \"userUnit\"), pdfManager.ensure(page, \"view\")]).then(function (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 4),\n rotate = _ref4[0],\n ref = _ref4[1],\n userUnit = _ref4[2],\n view = _ref4[3];\n\n return {\n rotate: rotate,\n ref: ref,\n userUnit: userUnit,\n view: view\n };\n });\n });\n });\n handler.on(\"GetPageIndex\", function wphSetupGetPageIndex(_ref5) {\n var ref = _ref5.ref;\n\n var pageRef = _primitives.Ref.get(ref.num, ref.gen);\n\n return pdfManager.ensureCatalog(\"getPageIndex\", [pageRef]);\n });\n handler.on(\"GetDestinations\", function wphSetupGetDestinations(data) {\n return pdfManager.ensureCatalog(\"destinations\");\n });\n handler.on(\"GetDestination\", function wphSetupGetDestination(data) {\n return pdfManager.ensureCatalog(\"getDestination\", [data.id]);\n });\n handler.on(\"GetPageLabels\", function wphSetupGetPageLabels(data) {\n return pdfManager.ensureCatalog(\"pageLabels\");\n });\n handler.on(\"GetPageLayout\", function wphSetupGetPageLayout(data) {\n return pdfManager.ensureCatalog(\"pageLayout\");\n });\n handler.on(\"GetPageMode\", function wphSetupGetPageMode(data) {\n return pdfManager.ensureCatalog(\"pageMode\");\n });\n handler.on(\"GetViewerPreferences\", function (data) {\n return pdfManager.ensureCatalog(\"viewerPreferences\");\n });\n handler.on(\"GetOpenAction\", function (data) {\n return pdfManager.ensureCatalog(\"openAction\");\n });\n handler.on(\"GetAttachments\", function wphSetupGetAttachments(data) {\n return pdfManager.ensureCatalog(\"attachments\");\n });\n handler.on(\"GetJavaScript\", function wphSetupGetJavaScript(data) {\n return pdfManager.ensureCatalog(\"javaScript\");\n });\n handler.on(\"GetOutline\", function wphSetupGetOutline(data) {\n return pdfManager.ensureCatalog(\"documentOutline\");\n });\n handler.on(\"GetOptionalContentConfig\", function (data) {\n return pdfManager.ensureCatalog(\"optionalContentConfig\");\n });\n handler.on(\"GetPermissions\", function (data) {\n return pdfManager.ensureCatalog(\"permissions\");\n });\n handler.on(\"GetMetadata\", function wphSetupGetMetadata(data) {\n return Promise.all([pdfManager.ensureDoc(\"documentInfo\"), pdfManager.ensureCatalog(\"metadata\")]);\n });\n handler.on(\"GetData\", function wphSetupGetData(data) {\n pdfManager.requestLoadedStream();\n return pdfManager.onLoadedStream().then(function (stream) {\n return stream.bytes;\n });\n });\n handler.on(\"GetStats\", function wphSetupGetStats(data) {\n return pdfManager.ensureXRef(\"stats\");\n });\n handler.on(\"GetAnnotations\", function (_ref6) {\n var pageIndex = _ref6.pageIndex,\n intent = _ref6.intent;\n return pdfManager.getPage(pageIndex).then(function (page) {\n return page.getAnnotationsData(intent);\n });\n });\n handler.on(\"SaveDocument\", function (_ref7) {\n var numPages = _ref7.numPages,\n annotationStorage = _ref7.annotationStorage,\n filename = _ref7.filename;\n pdfManager.requestLoadedStream();\n var promises = [pdfManager.onLoadedStream()];\n var document = pdfManager.pdfDocument;\n\n var _loop = function _loop(pageIndex) {\n promises.push(pdfManager.getPage(pageIndex).then(function (page) {\n var task = new WorkerTask(\"Save: page \".concat(pageIndex));\n return page.save(handler, task, annotationStorage);\n }));\n };\n\n for (var pageIndex = 0; pageIndex < numPages; pageIndex++) {\n _loop(pageIndex);\n }\n\n return Promise.all(promises).then(function (_ref8) {\n var _ref9 = _toArray(_ref8),\n stream = _ref9[0],\n refs = _ref9.slice(1);\n\n var newRefs = [];\n\n var _iterator = _createForOfIteratorHelper(refs),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var ref = _step.value;\n newRefs = ref.filter(function (x) {\n return x !== null;\n }).reduce(function (a, b) {\n return a.concat(b);\n }, newRefs);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n if (newRefs.length === 0) {\n return stream.bytes;\n }\n\n var xref = document.xref;\n var newXrefInfo = Object.create(null);\n\n if (xref.trailer) {\n var _info = Object.create(null);\n\n var xrefInfo = xref.trailer.get(\"Info\") || null;\n\n if (xrefInfo) {\n xrefInfo.forEach(function (key, value) {\n if ((0, _util.isString)(key) && (0, _util.isString)(value)) {\n _info[key] = (0, _util.stringToPDFString)(value);\n }\n });\n }\n\n newXrefInfo = {\n rootRef: xref.trailer.getRaw(\"Root\") || null,\n encrypt: xref.trailer.getRaw(\"Encrypt\") || null,\n newRef: xref.getNewRef(),\n infoRef: xref.trailer.getRaw(\"Info\") || null,\n info: _info,\n fileIds: xref.trailer.getRaw(\"ID\") || null,\n startXRef: document.startXRef,\n filename: filename\n };\n }\n\n xref.resetNewRef();\n return (0, _writer.incrementalUpdate)(stream.bytes, newXrefInfo, newRefs);\n });\n });\n handler.on(\"GetOperatorList\", function wphSetupRenderPage(data, sink) {\n var pageIndex = data.pageIndex;\n pdfManager.getPage(pageIndex).then(function (page) {\n var task = new WorkerTask(\"GetOperatorList: page \".concat(pageIndex));\n startWorkerTask(task);\n var start = verbosity >= _util.VerbosityLevel.INFOS ? Date.now() : 0;\n page.getOperatorList({\n handler: handler,\n sink: sink,\n task: task,\n intent: data.intent,\n renderInteractiveForms: data.renderInteractiveForms,\n annotationStorage: data.annotationStorage\n }).then(function (operatorListInfo) {\n finishWorkerTask(task);\n\n if (start) {\n (0, _util.info)(\"page=\".concat(pageIndex + 1, \" - getOperatorList: time=\") + \"\".concat(Date.now() - start, \"ms, len=\").concat(operatorListInfo.length));\n }\n\n sink.close();\n }, function (reason) {\n finishWorkerTask(task);\n\n if (task.terminated) {\n return;\n }\n\n handler.send(\"UnsupportedFeature\", {\n featureId: _util.UNSUPPORTED_FEATURES.errorOperatorList\n });\n sink.error(reason);\n });\n });\n }, this);\n handler.on(\"GetTextContent\", function wphExtractText(data, sink) {\n var pageIndex = data.pageIndex;\n\n sink.onPull = function (desiredSize) {};\n\n sink.onCancel = function (reason) {};\n\n pdfManager.getPage(pageIndex).then(function (page) {\n var task = new WorkerTask(\"GetTextContent: page \" + pageIndex);\n startWorkerTask(task);\n var start = verbosity >= _util.VerbosityLevel.INFOS ? Date.now() : 0;\n page.extractTextContent({\n handler: handler,\n task: task,\n sink: sink,\n normalizeWhitespace: data.normalizeWhitespace,\n combineTextItems: data.combineTextItems\n }).then(function () {\n finishWorkerTask(task);\n\n if (start) {\n (0, _util.info)(\"page=\".concat(pageIndex + 1, \" - getTextContent: time=\") + \"\".concat(Date.now() - start, \"ms\"));\n }\n\n sink.close();\n }, function (reason) {\n finishWorkerTask(task);\n\n if (task.terminated) {\n return;\n }\n\n sink.error(reason);\n });\n });\n });\n handler.on(\"FontFallback\", function (data) {\n return pdfManager.fontFallback(data.id, handler);\n });\n handler.on(\"Cleanup\", function wphCleanup(data) {\n return pdfManager.cleanup(true);\n });\n handler.on(\"Terminate\", function wphTerminate(data) {\n terminated = true;\n var waitOn = [];\n\n if (pdfManager) {\n pdfManager.terminate(new _util.AbortException(\"Worker was terminated.\"));\n var cleanupPromise = pdfManager.cleanup();\n waitOn.push(cleanupPromise);\n pdfManager = null;\n } else {\n (0, _primitives.clearPrimitiveCaches)();\n }\n\n if (cancelXHRs) {\n cancelXHRs(new _util.AbortException(\"Worker was terminated.\"));\n }\n\n WorkerTasks.forEach(function (task) {\n waitOn.push(task.finished);\n task.terminate();\n });\n return Promise.all(waitOn).then(function () {\n handler.destroy();\n handler = null;\n });\n });\n handler.on(\"Ready\", function wphReady(data) {\n setupDoc(docParams);\n docParams = null;\n });\n return workerHandlerName;\n }\n }, {\n key: \"initializeFromPort\",\n value: function initializeFromPort(port) {\n var handler = new _message_handler.MessageHandler(\"worker\", \"main\", port);\n WorkerMessageHandler.setup(handler, port);\n handler.send(\"ready\", null);\n }\n }]);\n\n return WorkerMessageHandler;\n}();\n\nexports.WorkerMessageHandler = WorkerMessageHandler;\n\nfunction isMessagePort(maybePort) {\n return typeof maybePort.postMessage === \"function\" && \"onmessage\" in maybePort;\n}\n\nif (typeof window === \"undefined\" && !_is_node.isNodeJS && typeof self !== \"undefined\" && isMessagePort(self)) {\n WorkerMessageHandler.initializeFromPort(self);\n}\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = __w_pdfjs_require__(3);\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(module) {\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar runtime = function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined;\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n return generator;\n }\n\n exports.wrap = wrap;\n\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n var ContinueSentinel = {};\n\n function Generator() {}\n\n function GeneratorFunction() {}\n\n function GeneratorFunctionPrototype() {}\n\n var IteratorPrototype = {};\n\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n\n if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\");\n\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function (genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor ? ctor === GeneratorFunction || (ctor.displayName || ctor.name) === \"GeneratorFunction\" : false;\n };\n\n exports.mark = function (genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n exports.awrap = function (arg) {\n return {\n __await: arg\n };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n\n if (value && _typeof(value) === \"object\" && hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped;\n resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n\n exports.AsyncIterator = AsyncIterator;\n\n exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n context.sent = context._sent = context.arg;\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n var record = tryCatch(innerFn, self, context);\n\n if (record.type === \"normal\") {\n state = context.done ? GenStateCompleted : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n\n if (method === undefined) {\n context.delegate = null;\n\n if (context.method === \"throw\") {\n if (delegate.iterator[\"return\"]) {\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (!info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n context[delegate.resultName] = info.value;\n context.next = delegate.nextLoc;\n\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n } else {\n return info;\n }\n\n context.delegate = null;\n return ContinueSentinel;\n }\n\n defineIteratorMethods(Gp);\n define(Gp, toStringTagSymbol, \"Generator\");\n\n Gp[iteratorSymbol] = function () {\n return this;\n };\n\n Gp.toString = function () {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function (object) {\n var keys = [];\n\n for (var key in object) {\n keys.push(key);\n }\n\n keys.reverse();\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n return next;\n };\n\n return next.next = next;\n }\n }\n\n return {\n next: doneResult\n };\n }\n\n exports.values = values;\n\n function doneResult() {\n return {\n value: undefined,\n done: true\n };\n }\n\n Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n this.method = \"next\";\n this.arg = undefined;\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n if (name.charAt(0) === \"t\" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n stop: function stop() {\n this.done = true;\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !!caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry && (type === \"break\" || type === \"continue\") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) {\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" || record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n\n return thrown;\n }\n }\n\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n return exports;\n}(( false ? undefined : _typeof(module)) === \"object\" ? module.exports : {});\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n/* WEBPACK VAR INJECTION */}.call(this, __w_pdfjs_require__(4)(module)))\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (module) {\n if (!module.webpackPolyfill) {\n module.deprecate = function () {};\n\n module.paths = [];\n if (!module.children) module.children = [];\n Object.defineProperty(module, \"loaded\", {\n enumerable: true,\n get: function get() {\n return module.l;\n }\n });\n Object.defineProperty(module, \"id\", {\n enumerable: true,\n get: function get() {\n return module.i;\n }\n });\n module.webpackPolyfill = 1;\n }\n\n return module;\n};\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.arrayByteLength = arrayByteLength;\nexports.arraysToBytes = arraysToBytes;\nexports.assert = assert;\nexports.bytesToString = bytesToString;\nexports.createPromiseCapability = createPromiseCapability;\nexports.escapeString = escapeString;\nexports.getModificationDate = getModificationDate;\nexports.getVerbosityLevel = getVerbosityLevel;\nexports.info = info;\nexports.isArrayBuffer = isArrayBuffer;\nexports.isArrayEqual = isArrayEqual;\nexports.isBool = isBool;\nexports.isNum = isNum;\nexports.isString = isString;\nexports.isSameOrigin = isSameOrigin;\nexports.createValidAbsoluteUrl = createValidAbsoluteUrl;\nexports.removeNullCharacters = removeNullCharacters;\nexports.setVerbosityLevel = setVerbosityLevel;\nexports.shadow = shadow;\nexports.string32 = string32;\nexports.stringToBytes = stringToBytes;\nexports.stringToPDFString = stringToPDFString;\nexports.stringToUTF8String = stringToUTF8String;\nexports.utf8StringToString = utf8StringToString;\nexports.warn = warn;\nexports.unreachable = unreachable;\nexports.IsEvalSupportedCached = exports.IsLittleEndianCached = exports.createObjectURL = exports.FormatError = exports.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.TextRenderingMode = exports.StreamType = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = exports.MissingPDFException = exports.InvalidPDFException = exports.AbortException = exports.CMapCompressionType = exports.ImageKind = exports.FontType = exports.AnnotationType = exports.AnnotationStateModelType = exports.AnnotationReviewState = exports.AnnotationReplyType = exports.AnnotationMarkedState = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationBorderStyleType = exports.UNSUPPORTED_FEATURES = exports.VerbosityLevel = exports.OPS = exports.IDENTITY_MATRIX = exports.FONT_IDENTITY_MATRIX = exports.BaseException = void 0;\n\n__w_pdfjs_require__(6);\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\nexports.IDENTITY_MATRIX = IDENTITY_MATRIX;\nvar FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\nexports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;\nvar PermissionFlag = {\n PRINT: 0x04,\n MODIFY_CONTENTS: 0x08,\n COPY: 0x10,\n MODIFY_ANNOTATIONS: 0x20,\n FILL_INTERACTIVE_FORMS: 0x100,\n COPY_FOR_ACCESSIBILITY: 0x200,\n ASSEMBLE: 0x400,\n PRINT_HIGH_QUALITY: 0x800\n};\nexports.PermissionFlag = PermissionFlag;\nvar TextRenderingMode = {\n FILL: 0,\n STROKE: 1,\n FILL_STROKE: 2,\n INVISIBLE: 3,\n FILL_ADD_TO_PATH: 4,\n STROKE_ADD_TO_PATH: 5,\n FILL_STROKE_ADD_TO_PATH: 6,\n ADD_TO_PATH: 7,\n FILL_STROKE_MASK: 3,\n ADD_TO_PATH_FLAG: 4\n};\nexports.TextRenderingMode = TextRenderingMode;\nvar ImageKind = {\n GRAYSCALE_1BPP: 1,\n RGB_24BPP: 2,\n RGBA_32BPP: 3\n};\nexports.ImageKind = ImageKind;\nvar AnnotationType = {\n TEXT: 1,\n LINK: 2,\n FREETEXT: 3,\n LINE: 4,\n SQUARE: 5,\n CIRCLE: 6,\n POLYGON: 7,\n POLYLINE: 8,\n HIGHLIGHT: 9,\n UNDERLINE: 10,\n SQUIGGLY: 11,\n STRIKEOUT: 12,\n STAMP: 13,\n CARET: 14,\n INK: 15,\n POPUP: 16,\n FILEATTACHMENT: 17,\n SOUND: 18,\n MOVIE: 19,\n WIDGET: 20,\n SCREEN: 21,\n PRINTERMARK: 22,\n TRAPNET: 23,\n WATERMARK: 24,\n THREED: 25,\n REDACT: 26\n};\nexports.AnnotationType = AnnotationType;\nvar AnnotationStateModelType = {\n MARKED: \"Marked\",\n REVIEW: \"Review\"\n};\nexports.AnnotationStateModelType = AnnotationStateModelType;\nvar AnnotationMarkedState = {\n MARKED: \"Marked\",\n UNMARKED: \"Unmarked\"\n};\nexports.AnnotationMarkedState = AnnotationMarkedState;\nvar AnnotationReviewState = {\n ACCEPTED: \"Accepted\",\n REJECTED: \"Rejected\",\n CANCELLED: \"Cancelled\",\n COMPLETED: \"Completed\",\n NONE: \"None\"\n};\nexports.AnnotationReviewState = AnnotationReviewState;\nvar AnnotationReplyType = {\n GROUP: \"Group\",\n REPLY: \"R\"\n};\nexports.AnnotationReplyType = AnnotationReplyType;\nvar AnnotationFlag = {\n INVISIBLE: 0x01,\n HIDDEN: 0x02,\n PRINT: 0x04,\n NOZOOM: 0x08,\n NOROTATE: 0x10,\n NOVIEW: 0x20,\n READONLY: 0x40,\n LOCKED: 0x80,\n TOGGLENOVIEW: 0x100,\n LOCKEDCONTENTS: 0x200\n};\nexports.AnnotationFlag = AnnotationFlag;\nvar AnnotationFieldFlag = {\n READONLY: 0x0000001,\n REQUIRED: 0x0000002,\n NOEXPORT: 0x0000004,\n MULTILINE: 0x0001000,\n PASSWORD: 0x0002000,\n NOTOGGLETOOFF: 0x0004000,\n RADIO: 0x0008000,\n PUSHBUTTON: 0x0010000,\n COMBO: 0x0020000,\n EDIT: 0x0040000,\n SORT: 0x0080000,\n FILESELECT: 0x0100000,\n MULTISELECT: 0x0200000,\n DONOTSPELLCHECK: 0x0400000,\n DONOTSCROLL: 0x0800000,\n COMB: 0x1000000,\n RICHTEXT: 0x2000000,\n RADIOSINUNISON: 0x2000000,\n COMMITONSELCHANGE: 0x4000000\n};\nexports.AnnotationFieldFlag = AnnotationFieldFlag;\nvar AnnotationBorderStyleType = {\n SOLID: 1,\n DASHED: 2,\n BEVELED: 3,\n INSET: 4,\n UNDERLINE: 5\n};\nexports.AnnotationBorderStyleType = AnnotationBorderStyleType;\nvar StreamType = {\n UNKNOWN: \"UNKNOWN\",\n FLATE: \"FLATE\",\n LZW: \"LZW\",\n DCT: \"DCT\",\n JPX: \"JPX\",\n JBIG: \"JBIG\",\n A85: \"A85\",\n AHX: \"AHX\",\n CCF: \"CCF\",\n RLX: \"RLX\"\n};\nexports.StreamType = StreamType;\nvar FontType = {\n UNKNOWN: \"UNKNOWN\",\n TYPE1: \"TYPE1\",\n TYPE1C: \"TYPE1C\",\n CIDFONTTYPE0: \"CIDFONTTYPE0\",\n CIDFONTTYPE0C: \"CIDFONTTYPE0C\",\n TRUETYPE: \"TRUETYPE\",\n CIDFONTTYPE2: \"CIDFONTTYPE2\",\n TYPE3: \"TYPE3\",\n OPENTYPE: \"OPENTYPE\",\n TYPE0: \"TYPE0\",\n MMTYPE1: \"MMTYPE1\"\n};\nexports.FontType = FontType;\nvar VerbosityLevel = {\n ERRORS: 0,\n WARNINGS: 1,\n INFOS: 5\n};\nexports.VerbosityLevel = VerbosityLevel;\nvar CMapCompressionType = {\n NONE: 0,\n BINARY: 1,\n STREAM: 2\n};\nexports.CMapCompressionType = CMapCompressionType;\nvar OPS = {\n dependency: 1,\n setLineWidth: 2,\n setLineCap: 3,\n setLineJoin: 4,\n setMiterLimit: 5,\n setDash: 6,\n setRenderingIntent: 7,\n setFlatness: 8,\n setGState: 9,\n save: 10,\n restore: 11,\n transform: 12,\n moveTo: 13,\n lineTo: 14,\n curveTo: 15,\n curveTo2: 16,\n curveTo3: 17,\n closePath: 18,\n rectangle: 19,\n stroke: 20,\n closeStroke: 21,\n fill: 22,\n eoFill: 23,\n fillStroke: 24,\n eoFillStroke: 25,\n closeFillStroke: 26,\n closeEOFillStroke: 27,\n endPath: 28,\n clip: 29,\n eoClip: 30,\n beginText: 31,\n endText: 32,\n setCharSpacing: 33,\n setWordSpacing: 34,\n setHScale: 35,\n setLeading: 36,\n setFont: 37,\n setTextRenderingMode: 38,\n setTextRise: 39,\n moveText: 40,\n setLeadingMoveText: 41,\n setTextMatrix: 42,\n nextLine: 43,\n showText: 44,\n showSpacedText: 45,\n nextLineShowText: 46,\n nextLineSetSpacingShowText: 47,\n setCharWidth: 48,\n setCharWidthAndBounds: 49,\n setStrokeColorSpace: 50,\n setFillColorSpace: 51,\n setStrokeColor: 52,\n setStrokeColorN: 53,\n setFillColor: 54,\n setFillColorN: 55,\n setStrokeGray: 56,\n setFillGray: 57,\n setStrokeRGBColor: 58,\n setFillRGBColor: 59,\n setStrokeCMYKColor: 60,\n setFillCMYKColor: 61,\n shadingFill: 62,\n beginInlineImage: 63,\n beginImageData: 64,\n endInlineImage: 65,\n paintXObject: 66,\n markPoint: 67,\n markPointProps: 68,\n beginMarkedContent: 69,\n beginMarkedContentProps: 70,\n endMarkedContent: 71,\n beginCompat: 72,\n endCompat: 73,\n paintFormXObjectBegin: 74,\n paintFormXObjectEnd: 75,\n beginGroup: 76,\n endGroup: 77,\n beginAnnotations: 78,\n endAnnotations: 79,\n beginAnnotation: 80,\n endAnnotation: 81,\n paintJpegXObject: 82,\n paintImageMaskXObject: 83,\n paintImageMaskXObjectGroup: 84,\n paintImageXObject: 85,\n paintInlineImageXObject: 86,\n paintInlineImageXObjectGroup: 87,\n paintImageXObjectRepeat: 88,\n paintImageMaskXObjectRepeat: 89,\n paintSolidColorImageMask: 90,\n constructPath: 91\n};\nexports.OPS = OPS;\nvar UNSUPPORTED_FEATURES = {\n unknown: \"unknown\",\n forms: \"forms\",\n javaScript: \"javaScript\",\n smask: \"smask\",\n shadingPattern: \"shadingPattern\",\n font: \"font\",\n errorTilingPattern: \"errorTilingPattern\",\n errorExtGState: \"errorExtGState\",\n errorXObject: \"errorXObject\",\n errorFontLoadType3: \"errorFontLoadType3\",\n errorFontState: \"errorFontState\",\n errorFontMissing: \"errorFontMissing\",\n errorFontTranslate: \"errorFontTranslate\",\n errorColorSpace: \"errorColorSpace\",\n errorOperatorList: \"errorOperatorList\",\n errorFontToUnicode: \"errorFontToUnicode\",\n errorFontLoadNative: \"errorFontLoadNative\",\n errorFontGetPath: \"errorFontGetPath\",\n errorMarkedContent: \"errorMarkedContent\"\n};\nexports.UNSUPPORTED_FEATURES = UNSUPPORTED_FEATURES;\nvar PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2\n};\nexports.PasswordResponses = PasswordResponses;\nvar verbosity = VerbosityLevel.WARNINGS;\n\nfunction setVerbosityLevel(level) {\n if (Number.isInteger(level)) {\n verbosity = level;\n }\n}\n\nfunction getVerbosityLevel() {\n return verbosity;\n}\n\nfunction info(msg) {\n if (verbosity >= VerbosityLevel.INFOS) {\n console.log(\"Info: \".concat(msg));\n }\n}\n\nfunction warn(msg) {\n if (verbosity >= VerbosityLevel.WARNINGS) {\n console.log(\"Warning: \".concat(msg));\n }\n}\n\nfunction unreachable(msg) {\n throw new Error(msg);\n}\n\nfunction assert(cond, msg) {\n if (!cond) {\n unreachable(msg);\n }\n}\n\nfunction isSameOrigin(baseUrl, otherUrl) {\n var base;\n\n try {\n base = new URL(baseUrl);\n\n if (!base.origin || base.origin === \"null\") {\n return false;\n }\n } catch (e) {\n return false;\n }\n\n var other = new URL(otherUrl, base);\n return base.origin === other.origin;\n}\n\nfunction _isValidProtocol(url) {\n if (!url) {\n return false;\n }\n\n switch (url.protocol) {\n case \"http:\":\n case \"https:\":\n case \"ftp:\":\n case \"mailto:\":\n case \"tel:\":\n return true;\n\n default:\n return false;\n }\n}\n\nfunction createValidAbsoluteUrl(url, baseUrl) {\n if (!url) {\n return null;\n }\n\n try {\n var absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);\n\n if (_isValidProtocol(absoluteUrl)) {\n return absoluteUrl;\n }\n } catch (ex) {}\n\n return null;\n}\n\nfunction shadow(obj, prop, value) {\n Object.defineProperty(obj, prop, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: false\n });\n return value;\n}\n\nvar BaseException = function BaseExceptionClosure() {\n function BaseException(message) {\n if (this.constructor === BaseException) {\n unreachable(\"Cannot initialize BaseException.\");\n }\n\n this.message = message;\n this.name = this.constructor.name;\n }\n\n BaseException.prototype = new Error();\n BaseException.constructor = BaseException;\n return BaseException;\n}();\n\nexports.BaseException = BaseException;\n\nvar PasswordException = /*#__PURE__*/function (_BaseException) {\n _inherits(PasswordException, _BaseException);\n\n var _super = _createSuper(PasswordException);\n\n function PasswordException(msg, code) {\n var _this;\n\n _classCallCheck(this, PasswordException);\n\n _this = _super.call(this, msg);\n _this.code = code;\n return _this;\n }\n\n return PasswordException;\n}(BaseException);\n\nexports.PasswordException = PasswordException;\n\nvar UnknownErrorException = /*#__PURE__*/function (_BaseException2) {\n _inherits(UnknownErrorException, _BaseException2);\n\n var _super2 = _createSuper(UnknownErrorException);\n\n function UnknownErrorException(msg, details) {\n var _this2;\n\n _classCallCheck(this, UnknownErrorException);\n\n _this2 = _super2.call(this, msg);\n _this2.details = details;\n return _this2;\n }\n\n return UnknownErrorException;\n}(BaseException);\n\nexports.UnknownErrorException = UnknownErrorException;\n\nvar InvalidPDFException = /*#__PURE__*/function (_BaseException3) {\n _inherits(InvalidPDFException, _BaseException3);\n\n var _super3 = _createSuper(InvalidPDFException);\n\n function InvalidPDFException() {\n _classCallCheck(this, InvalidPDFException);\n\n return _super3.apply(this, arguments);\n }\n\n return InvalidPDFException;\n}(BaseException);\n\nexports.InvalidPDFException = InvalidPDFException;\n\nvar MissingPDFException = /*#__PURE__*/function (_BaseException4) {\n _inherits(MissingPDFException, _BaseException4);\n\n var _super4 = _createSuper(MissingPDFException);\n\n function MissingPDFException() {\n _classCallCheck(this, MissingPDFException);\n\n return _super4.apply(this, arguments);\n }\n\n return MissingPDFException;\n}(BaseException);\n\nexports.MissingPDFException = MissingPDFException;\n\nvar UnexpectedResponseException = /*#__PURE__*/function (_BaseException5) {\n _inherits(UnexpectedResponseException, _BaseException5);\n\n var _super5 = _createSuper(UnexpectedResponseException);\n\n function UnexpectedResponseException(msg, status) {\n var _this3;\n\n _classCallCheck(this, UnexpectedResponseException);\n\n _this3 = _super5.call(this, msg);\n _this3.status = status;\n return _this3;\n }\n\n return UnexpectedResponseException;\n}(BaseException);\n\nexports.UnexpectedResponseException = UnexpectedResponseException;\n\nvar FormatError = /*#__PURE__*/function (_BaseException6) {\n _inherits(FormatError, _BaseException6);\n\n var _super6 = _createSuper(FormatError);\n\n function FormatError() {\n _classCallCheck(this, FormatError);\n\n return _super6.apply(this, arguments);\n }\n\n return FormatError;\n}(BaseException);\n\nexports.FormatError = FormatError;\n\nvar AbortException = /*#__PURE__*/function (_BaseException7) {\n _inherits(AbortException, _BaseException7);\n\n var _super7 = _createSuper(AbortException);\n\n function AbortException() {\n _classCallCheck(this, AbortException);\n\n return _super7.apply(this, arguments);\n }\n\n return AbortException;\n}(BaseException);\n\nexports.AbortException = AbortException;\nvar NullCharactersRegExp = /\\x00/g;\n\nfunction removeNullCharacters(str) {\n if (typeof str !== \"string\") {\n warn(\"The argument for removeNullCharacters must be a string.\");\n return str;\n }\n\n return str.replace(NullCharactersRegExp, \"\");\n}\n\nfunction bytesToString(bytes) {\n assert(bytes !== null && _typeof(bytes) === \"object\" && bytes.length !== undefined, \"Invalid argument for bytesToString\");\n var length = bytes.length;\n var MAX_ARGUMENT_COUNT = 8192;\n\n if (length < MAX_ARGUMENT_COUNT) {\n return String.fromCharCode.apply(null, bytes);\n }\n\n var strBuf = [];\n\n for (var i = 0; i < length; i += MAX_ARGUMENT_COUNT) {\n var chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);\n var chunk = bytes.subarray(i, chunkEnd);\n strBuf.push(String.fromCharCode.apply(null, chunk));\n }\n\n return strBuf.join(\"\");\n}\n\nfunction stringToBytes(str) {\n assert(typeof str === \"string\", \"Invalid argument for stringToBytes\");\n var length = str.length;\n var bytes = new Uint8Array(length);\n\n for (var i = 0; i < length; ++i) {\n bytes[i] = str.charCodeAt(i) & 0xff;\n }\n\n return bytes;\n}\n\nfunction arrayByteLength(arr) {\n if (arr.length !== undefined) {\n return arr.length;\n }\n\n assert(arr.byteLength !== undefined, \"arrayByteLength - invalid argument.\");\n return arr.byteLength;\n}\n\nfunction arraysToBytes(arr) {\n var length = arr.length;\n\n if (length === 1 && arr[0] instanceof Uint8Array) {\n return arr[0];\n }\n\n var resultLength = 0;\n\n for (var i = 0; i < length; i++) {\n resultLength += arrayByteLength(arr[i]);\n }\n\n var pos = 0;\n var data = new Uint8Array(resultLength);\n\n for (var _i = 0; _i < length; _i++) {\n var item = arr[_i];\n\n if (!(item instanceof Uint8Array)) {\n if (typeof item === \"string\") {\n item = stringToBytes(item);\n } else {\n item = new Uint8Array(item);\n }\n }\n\n var itemLength = item.byteLength;\n data.set(item, pos);\n pos += itemLength;\n }\n\n return data;\n}\n\nfunction string32(value) {\n return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);\n}\n\nfunction isLittleEndian() {\n var buffer8 = new Uint8Array(4);\n buffer8[0] = 1;\n var view32 = new Uint32Array(buffer8.buffer, 0, 1);\n return view32[0] === 1;\n}\n\nvar IsLittleEndianCached = {\n get value() {\n return shadow(this, \"value\", isLittleEndian());\n }\n\n};\nexports.IsLittleEndianCached = IsLittleEndianCached;\n\nfunction isEvalSupported() {\n try {\n new Function(\"\");\n return true;\n } catch (e) {\n return false;\n }\n}\n\nvar IsEvalSupportedCached = {\n get value() {\n return shadow(this, \"value\", isEvalSupported());\n }\n\n};\nexports.IsEvalSupportedCached = IsEvalSupportedCached;\nvar rgbBuf = [\"rgb(\", 0, \",\", 0, \",\", 0, \")\"];\n\nvar Util = /*#__PURE__*/function () {\n function Util() {\n _classCallCheck(this, Util);\n }\n\n _createClass(Util, null, [{\n key: \"makeCssRgb\",\n value: function makeCssRgb(r, g, b) {\n rgbBuf[1] = r;\n rgbBuf[3] = g;\n rgbBuf[5] = b;\n return rgbBuf.join(\"\");\n }\n }, {\n key: \"transform\",\n value: function transform(m1, m2) {\n return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]];\n }\n }, {\n key: \"applyTransform\",\n value: function applyTransform(p, m) {\n var xt = p[0] * m[0] + p[1] * m[2] + m[4];\n var yt = p[0] * m[1] + p[1] * m[3] + m[5];\n return [xt, yt];\n }\n }, {\n key: \"applyInverseTransform\",\n value: function applyInverseTransform(p, m) {\n var d = m[0] * m[3] - m[1] * m[2];\n var xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;\n var yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;\n return [xt, yt];\n }\n }, {\n key: \"getAxialAlignedBoundingBox\",\n value: function getAxialAlignedBoundingBox(r, m) {\n var p1 = Util.applyTransform(r, m);\n var p2 = Util.applyTransform(r.slice(2, 4), m);\n var p3 = Util.applyTransform([r[0], r[3]], m);\n var p4 = Util.applyTransform([r[2], r[1]], m);\n return [Math.min(p1[0], p2[0], p3[0], p4[0]), Math.min(p1[1], p2[1], p3[1], p4[1]), Math.max(p1[0], p2[0], p3[0], p4[0]), Math.max(p1[1], p2[1], p3[1], p4[1])];\n }\n }, {\n key: \"inverseTransform\",\n value: function inverseTransform(m) {\n var d = m[0] * m[3] - m[1] * m[2];\n return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d, (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] * m[0]) / d];\n }\n }, {\n key: \"apply3dTransform\",\n value: function apply3dTransform(m, v) {\n return [m[0] * v[0] + m[1] * v[1] + m[2] * v[2], m[3] * v[0] + m[4] * v[1] + m[5] * v[2], m[6] * v[0] + m[7] * v[1] + m[8] * v[2]];\n }\n }, {\n key: \"singularValueDecompose2dScale\",\n value: function singularValueDecompose2dScale(m) {\n var transpose = [m[0], m[2], m[1], m[3]];\n var a = m[0] * transpose[0] + m[1] * transpose[2];\n var b = m[0] * transpose[1] + m[1] * transpose[3];\n var c = m[2] * transpose[0] + m[3] * transpose[2];\n var d = m[2] * transpose[1] + m[3] * transpose[3];\n var first = (a + d) / 2;\n var second = Math.sqrt((a + d) * (a + d) - 4 * (a * d - c * b)) / 2;\n var sx = first + second || 1;\n var sy = first - second || 1;\n return [Math.sqrt(sx), Math.sqrt(sy)];\n }\n }, {\n key: \"normalizeRect\",\n value: function normalizeRect(rect) {\n var r = rect.slice(0);\n\n if (rect[0] > rect[2]) {\n r[0] = rect[2];\n r[2] = rect[0];\n }\n\n if (rect[1] > rect[3]) {\n r[1] = rect[3];\n r[3] = rect[1];\n }\n\n return r;\n }\n }, {\n key: \"intersect\",\n value: function intersect(rect1, rect2) {\n function compare(a, b) {\n return a - b;\n }\n\n var orderedX = [rect1[0], rect1[2], rect2[0], rect2[2]].sort(compare);\n var orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare);\n var result = [];\n rect1 = Util.normalizeRect(rect1);\n rect2 = Util.normalizeRect(rect2);\n\n if (orderedX[0] === rect1[0] && orderedX[1] === rect2[0] || orderedX[0] === rect2[0] && orderedX[1] === rect1[0]) {\n result[0] = orderedX[1];\n result[2] = orderedX[2];\n } else {\n return null;\n }\n\n if (orderedY[0] === rect1[1] && orderedY[1] === rect2[1] || orderedY[0] === rect2[1] && orderedY[1] === rect1[1]) {\n result[1] = orderedY[1];\n result[3] = orderedY[2];\n } else {\n return null;\n }\n\n return result;\n }\n }]);\n\n return Util;\n}();\n\nexports.Util = Util;\nvar PDFStringTranslateTable = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2D8, 0x2C7, 0x2C6, 0x2D9, 0x2DD, 0x2DB, 0x2DA, 0x2DC, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192, 0x2044, 0x2039, 0x203A, 0x2212, 0x2030, 0x201E, 0x201C, 0x201D, 0x2018, 0x2019, 0x201A, 0x2122, 0xFB01, 0xFB02, 0x141, 0x152, 0x160, 0x178, 0x17D, 0x131, 0x142, 0x153, 0x161, 0x17E, 0, 0x20AC];\n\nfunction stringToPDFString(str) {\n var length = str.length,\n strBuf = [];\n\n if (str[0] === \"\\xFE\" && str[1] === \"\\xFF\") {\n for (var i = 2; i < length; i += 2) {\n strBuf.push(String.fromCharCode(str.charCodeAt(i) << 8 | str.charCodeAt(i + 1)));\n }\n } else if (str[0] === \"\\xFF\" && str[1] === \"\\xFE\") {\n for (var _i2 = 2; _i2 < length; _i2 += 2) {\n strBuf.push(String.fromCharCode(str.charCodeAt(_i2 + 1) << 8 | str.charCodeAt(_i2)));\n }\n } else {\n for (var _i3 = 0; _i3 < length; ++_i3) {\n var code = PDFStringTranslateTable[str.charCodeAt(_i3)];\n strBuf.push(code ? String.fromCharCode(code) : str.charAt(_i3));\n }\n }\n\n return strBuf.join(\"\");\n}\n\nfunction escapeString(str) {\n return str.replace(/([\\(\\)\\\\])/g, \"\\\\$1\");\n}\n\nfunction stringToUTF8String(str) {\n return decodeURIComponent(escape(str));\n}\n\nfunction utf8StringToString(str) {\n return unescape(encodeURIComponent(str));\n}\n\nfunction isBool(v) {\n return typeof v === \"boolean\";\n}\n\nfunction isNum(v) {\n return typeof v === \"number\";\n}\n\nfunction isString(v) {\n return typeof v === \"string\";\n}\n\nfunction isArrayBuffer(v) {\n return _typeof(v) === \"object\" && v !== null && v.byteLength !== undefined;\n}\n\nfunction isArrayEqual(arr1, arr2) {\n if (arr1.length !== arr2.length) {\n return false;\n }\n\n return arr1.every(function (element, index) {\n return element === arr2[index];\n });\n}\n\nfunction getModificationDate() {\n var date = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new Date(Date.now());\n var buffer = [date.getUTCFullYear().toString(), (date.getUTCMonth() + 1).toString().padStart(2, \"0\"), (date.getUTCDate() + 1).toString().padStart(2, \"0\"), date.getUTCHours().toString().padStart(2, \"0\"), date.getUTCMinutes().toString().padStart(2, \"0\"), date.getUTCSeconds().toString().padStart(2, \"0\")];\n return buffer.join(\"\");\n}\n\nfunction createPromiseCapability() {\n var capability = Object.create(null);\n var isSettled = false;\n Object.defineProperty(capability, \"settled\", {\n get: function get() {\n return isSettled;\n }\n });\n capability.promise = new Promise(function (resolve, reject) {\n capability.resolve = function (data) {\n isSettled = true;\n resolve(data);\n };\n\n capability.reject = function (reason) {\n isSettled = true;\n reject(reason);\n };\n });\n return capability;\n}\n\nvar createObjectURL = function createObjectURLClosure() {\n var digits = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\n return function createObjectURL(data, contentType) {\n var forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (!forceDataSchema && URL.createObjectURL) {\n var blob = new Blob([data], {\n type: contentType\n });\n return URL.createObjectURL(blob);\n }\n\n var buffer = \"data:\".concat(contentType, \";base64,\");\n\n for (var i = 0, ii = data.length; i < ii; i += 3) {\n var b1 = data[i] & 0xff;\n var b2 = data[i + 1] & 0xff;\n var b3 = data[i + 2] & 0xff;\n var d1 = b1 >> 2,\n d2 = (b1 & 3) << 4 | b2 >> 4;\n var d3 = i + 1 < ii ? (b2 & 0xf) << 2 | b3 >> 6 : 64;\n var d4 = i + 2 < ii ? b3 & 0x3f : 64;\n buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4];\n }\n\n return buffer;\n };\n}();\n\nexports.createObjectURL = createObjectURL;\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar _is_node = __w_pdfjs_require__(7);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nif (typeof globalThis === \"undefined\" || !globalThis._pdfjsCompatibilityChecked) {\n if (typeof globalThis === \"undefined\" || globalThis.Math !== Math) {\n globalThis = __w_pdfjs_require__(8);\n }\n\n globalThis._pdfjsCompatibilityChecked = true;\n var hasDOM = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) === \"object\" && (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) === \"object\";\n var userAgent = typeof navigator !== \"undefined\" && navigator.userAgent || \"\";\n var isIE = /Trident/.test(userAgent);\n\n (function checkNodeBtoa() {\n if (globalThis.btoa || !_is_node.isNodeJS) {\n return;\n }\n\n globalThis.btoa = function (chars) {\n return Buffer.from(chars, \"binary\").toString(\"base64\");\n };\n })();\n\n (function checkNodeAtob() {\n if (globalThis.atob || !_is_node.isNodeJS) {\n return;\n }\n\n globalThis.atob = function (input) {\n return Buffer.from(input, \"base64\").toString(\"binary\");\n };\n })();\n\n (function checkChildNodeRemove() {\n if (!hasDOM) {\n return;\n }\n\n if (typeof Element.prototype.remove !== \"undefined\") {\n return;\n }\n\n Element.prototype.remove = function () {\n if (this.parentNode) {\n this.parentNode.removeChild(this);\n }\n };\n })();\n\n (function checkDOMTokenListAddRemove() {\n if (!hasDOM || _is_node.isNodeJS) {\n return;\n }\n\n var div = document.createElement(\"div\");\n div.classList.add(\"testOne\", \"testTwo\");\n\n if (div.classList.contains(\"testOne\") === true && div.classList.contains(\"testTwo\") === true) {\n return;\n }\n\n var OriginalDOMTokenListAdd = DOMTokenList.prototype.add;\n var OriginalDOMTokenListRemove = DOMTokenList.prototype.remove;\n\n DOMTokenList.prototype.add = function () {\n for (var _len = arguments.length, tokens = new Array(_len), _key = 0; _key < _len; _key++) {\n tokens[_key] = arguments[_key];\n }\n\n for (var _i = 0, _tokens = tokens; _i < _tokens.length; _i++) {\n var token = _tokens[_i];\n OriginalDOMTokenListAdd.call(this, token);\n }\n };\n\n DOMTokenList.prototype.remove = function () {\n for (var _len2 = arguments.length, tokens = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n tokens[_key2] = arguments[_key2];\n }\n\n for (var _i2 = 0, _tokens2 = tokens; _i2 < _tokens2.length; _i2++) {\n var token = _tokens2[_i2];\n OriginalDOMTokenListRemove.call(this, token);\n }\n };\n })();\n\n (function checkDOMTokenListToggle() {\n if (!hasDOM || _is_node.isNodeJS) {\n return;\n }\n\n var div = document.createElement(\"div\");\n\n if (div.classList.toggle(\"test\", 0) === false) {\n return;\n }\n\n DOMTokenList.prototype.toggle = function (token) {\n var force = arguments.length > 1 ? !!arguments[1] : !this.contains(token);\n return this[force ? \"add\" : \"remove\"](token), force;\n };\n })();\n\n (function checkWindowHistoryPushStateReplaceState() {\n if (!hasDOM || !isIE) {\n return;\n }\n\n var OriginalPushState = window.history.pushState;\n var OriginalReplaceState = window.history.replaceState;\n\n window.history.pushState = function (state, title, url) {\n var args = url === undefined ? [state, title] : [state, title, url];\n OriginalPushState.apply(this, args);\n };\n\n window.history.replaceState = function (state, title, url) {\n var args = url === undefined ? [state, title] : [state, title, url];\n OriginalReplaceState.apply(this, args);\n };\n })();\n\n (function checkStringStartsWith() {\n if (String.prototype.startsWith) {\n return;\n }\n\n __w_pdfjs_require__(53);\n })();\n\n (function checkStringEndsWith() {\n if (String.prototype.endsWith) {\n return;\n }\n\n __w_pdfjs_require__(64);\n })();\n\n (function checkStringIncludes() {\n if (String.prototype.includes) {\n return;\n }\n\n __w_pdfjs_require__(66);\n })();\n\n (function checkArrayIncludes() {\n if (Array.prototype.includes) {\n return;\n }\n\n __w_pdfjs_require__(68);\n })();\n\n (function checkArrayFrom() {\n if (Array.from) {\n return;\n }\n\n __w_pdfjs_require__(76);\n })();\n\n (function checkObjectAssign() {\n if (Object.assign) {\n return;\n }\n\n __w_pdfjs_require__(98);\n })();\n\n (function checkObjectFromEntries() {\n if (Object.fromEntries) {\n return;\n }\n\n __w_pdfjs_require__(101);\n })();\n\n (function checkMathLog2() {\n if (Math.log2) {\n return;\n }\n\n Math.log2 = __w_pdfjs_require__(105);\n })();\n\n (function checkNumberIsNaN() {\n if (Number.isNaN) {\n return;\n }\n\n Number.isNaN = __w_pdfjs_require__(107);\n })();\n\n (function checkNumberIsInteger() {\n if (Number.isInteger) {\n return;\n }\n\n Number.isInteger = __w_pdfjs_require__(109);\n })();\n\n (function checkTypedArraySlice() {\n if (Uint8Array.prototype.slice) {\n return;\n }\n\n __w_pdfjs_require__(112);\n })();\n\n (function checkPromise() {\n if (globalThis.Promise && globalThis.Promise.allSettled) {\n return;\n }\n\n globalThis.Promise = __w_pdfjs_require__(117);\n })();\n\n (function checkURL() {\n globalThis.URL = __w_pdfjs_require__(138);\n })();\n\n (function checkReadableStream() {\n var isReadableStreamSupported = false;\n\n if (typeof ReadableStream !== \"undefined\") {\n try {\n new ReadableStream({\n start: function start(controller) {\n controller.close();\n }\n });\n isReadableStreamSupported = true;\n } catch (e) {}\n }\n\n if (isReadableStreamSupported) {\n return;\n }\n\n globalThis.ReadableStream = __w_pdfjs_require__(145).ReadableStream;\n })();\n\n (function checkMapEntries() {\n if (globalThis.Map && globalThis.Map.prototype.entries) {\n return;\n }\n\n globalThis.Map = __w_pdfjs_require__(146);\n })();\n\n (function checkSetEntries() {\n if (globalThis.Set && globalThis.Set.prototype.entries) {\n return;\n }\n\n globalThis.Set = __w_pdfjs_require__(153);\n })();\n\n (function checkWeakMap() {\n if (globalThis.WeakMap) {\n return;\n }\n\n globalThis.WeakMap = __w_pdfjs_require__(155);\n })();\n\n (function checkWeakSet() {\n if (globalThis.WeakSet) {\n return;\n }\n\n globalThis.WeakSet = __w_pdfjs_require__(161);\n })();\n\n (function checkStringCodePointAt() {\n if (String.prototype.codePointAt) {\n return;\n }\n\n __w_pdfjs_require__(163);\n })();\n\n (function checkStringFromCodePoint() {\n if (String.fromCodePoint) {\n return;\n }\n\n String.fromCodePoint = __w_pdfjs_require__(165);\n })();\n\n (function checkSymbol() {\n if (globalThis.Symbol) {\n return;\n }\n\n __w_pdfjs_require__(167);\n })();\n\n (function checkStringPadStart() {\n if (String.prototype.padStart) {\n return;\n }\n\n __w_pdfjs_require__(190);\n })();\n\n (function checkStringPadEnd() {\n if (String.prototype.padEnd) {\n return;\n }\n\n __w_pdfjs_require__(195);\n })();\n\n (function checkObjectValues() {\n if (Object.values) {\n return;\n }\n\n Object.values = __w_pdfjs_require__(197);\n })();\n\n (function checkObjectEntries() {\n if (Object.entries) {\n return;\n }\n\n Object.entries = __w_pdfjs_require__(200);\n })();\n}\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isNodeJS = void 0;\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar isNodeJS = (typeof process === \"undefined\" ? \"undefined\" : _typeof(process)) === \"object\" && process + \"\" === \"[object process]\" && !process.versions.nw && !(process.versions.electron && process.type && process.type !== \"browser\");\nexports.isNodeJS = isNodeJS;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(9);\nmodule.exports = __w_pdfjs_require__(11);\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar global = __w_pdfjs_require__(11);\n$({ global: true }, { globalThis: global });\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar getOwnPropertyDescriptor = __w_pdfjs_require__(12).f;\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar redefine = __w_pdfjs_require__(29);\nvar setGlobal = __w_pdfjs_require__(30);\nvar copyConstructorProperties = __w_pdfjs_require__(40);\nvar isForced = __w_pdfjs_require__(52);\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target)\n for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else\n targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty)\n continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n if (options.sham || targetProperty && targetProperty.sham) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n redefine(target, key, sourceProperty, options);\n }\n};\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports) {\n\nvar check = function (it) {\n return it && it.Math == Math && it;\n};\nmodule.exports = check(typeof globalThis == 'object' && globalThis) || check(typeof window == 'object' && window) || check(typeof self == 'object' && self) || check(typeof global == 'object' && global) || Function('return this')();\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar propertyIsEnumerableModule = __w_pdfjs_require__(15);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar toPrimitive = __w_pdfjs_require__(21);\nvar has = __w_pdfjs_require__(23);\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(24);\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE)\n try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) {\n }\n if (has(O, P))\n return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 1, {\n get: function () {\n return 7;\n }\n })[1] != 7;\n});\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar IndexedObject = __w_pdfjs_require__(18);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nvar classof = __w_pdfjs_require__(19);\nvar split = ''.split;\nmodule.exports = fails(function () {\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n if (it == undefined)\n throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input))\n return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input)))\n return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input)))\n return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input)))\n return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar fails = __w_pdfjs_require__(14);\nvar createElement = __w_pdfjs_require__(25);\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () {\n return 7;\n }\n }).a != 7;\n});\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar isObject = __w_pdfjs_require__(22);\nvar document = global.document;\nvar EXISTS = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(24);\nvar anObject = __w_pdfjs_require__(28);\nvar toPrimitive = __w_pdfjs_require__(21);\nvar nativeDefineProperty = Object.defineProperty;\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE)\n try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) {\n }\n if ('get' in Attributes || 'set' in Attributes)\n throw TypeError('Accessors not supported');\n if ('value' in Attributes)\n O[P] = Attributes.value;\n return O;\n};\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n }\n return it;\n};\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar has = __w_pdfjs_require__(23);\nvar setGlobal = __w_pdfjs_require__(30);\nvar inspectSource = __w_pdfjs_require__(31);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name'))\n createNonEnumerableProperty(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple)\n O[key] = value;\n else\n setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple)\n O[key] = value;\n else\n createNonEnumerableProperty(O, key, value);\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n }\n return value;\n};\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar store = __w_pdfjs_require__(32);\nvar functionToString = Function.toString;\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\nmodule.exports = store.inspectSource;\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar setGlobal = __w_pdfjs_require__(30);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\nmodule.exports = store;\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar NATIVE_WEAK_MAP = __w_pdfjs_require__(34);\nvar global = __w_pdfjs_require__(11);\nvar isObject = __w_pdfjs_require__(22);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar objectHas = __w_pdfjs_require__(23);\nvar sharedKey = __w_pdfjs_require__(35);\nvar hiddenKeys = __w_pdfjs_require__(39);\nvar WeakMap = global.WeakMap;\nvar set, get, has;\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n }\n return state;\n };\n};\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar inspectSource = __w_pdfjs_require__(31);\nvar WeakMap = global.WeakMap;\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar shared = __w_pdfjs_require__(36);\nvar uid = __w_pdfjs_require__(38);\nvar keys = shared('keys');\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar IS_PURE = __w_pdfjs_require__(37);\nvar store = __w_pdfjs_require__(32);\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.6.5',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports) {\n\nmodule.exports = false;\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar postfix = Math.random();\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar has = __w_pdfjs_require__(23);\nvar ownKeys = __w_pdfjs_require__(41);\nvar getOwnPropertyDescriptorModule = __w_pdfjs_require__(12);\nvar definePropertyModule = __w_pdfjs_require__(27);\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key))\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar getOwnPropertyNamesModule = __w_pdfjs_require__(44);\nvar getOwnPropertySymbolsModule = __w_pdfjs_require__(51);\nvar anObject = __w_pdfjs_require__(28);\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar path = __w_pdfjs_require__(43);\nvar global = __w_pdfjs_require__(11);\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace]) : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nmodule.exports = global;\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar internalObjectKeys = __w_pdfjs_require__(45);\nvar enumBugKeys = __w_pdfjs_require__(50);\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar has = __w_pdfjs_require__(23);\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar indexOf = __w_pdfjs_require__(46).indexOf;\nvar hiddenKeys = __w_pdfjs_require__(39);\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O)\n !has(hiddenKeys, key) && has(O, key) && result.push(key);\n while (names.length > i)\n if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar toLength = __w_pdfjs_require__(47);\nvar toAbsoluteIndex = __w_pdfjs_require__(49);\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n if (IS_INCLUDES && el != el)\n while (length > index) {\n value = O[index++];\n if (value != value)\n return true;\n }\n else\n for (; length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el)\n return IS_INCLUDES || index || 0;\n }\n return !IS_INCLUDES && -1;\n };\n};\nmodule.exports = {\n includes: createMethod(true),\n indexOf: createMethod(false)\n};\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toInteger = __w_pdfjs_require__(48);\nvar min = Math.min;\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0;\n};\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports) {\n\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toInteger = __w_pdfjs_require__(48);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports) {\n\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nvar replacement = /#|\\.prototype\\./;\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true : value == NATIVE ? false : typeof detection == 'function' ? fails(detection) : !!detection;\n};\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\nmodule.exports = isForced;\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(54);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'startsWith');\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar getOwnPropertyDescriptor = __w_pdfjs_require__(12).f;\nvar toLength = __w_pdfjs_require__(47);\nvar notARegExp = __w_pdfjs_require__(55);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nvar correctIsRegExpLogic = __w_pdfjs_require__(60);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar nativeStartsWith = ''.startsWith;\nvar min = Math.min;\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');\n return descriptor && !descriptor.writable;\n}();\n$({\n target: 'String',\n proto: true,\n forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC\n}, {\n startsWith: function startsWith(searchString) {\n var that = String(requireObjectCoercible(this));\n notARegExp(searchString);\n var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return nativeStartsWith ? nativeStartsWith.call(that, search, index) : that.slice(index, index + search.length) === search;\n }\n});\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isRegExp = __w_pdfjs_require__(56);\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n }\n return it;\n};\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nvar classof = __w_pdfjs_require__(19);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar MATCH = wellKnownSymbol('match');\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar shared = __w_pdfjs_require__(36);\nvar has = __w_pdfjs_require__(23);\nvar uid = __w_pdfjs_require__(38);\nvar NATIVE_SYMBOL = __w_pdfjs_require__(58);\nvar USE_SYMBOL_AS_UID = __w_pdfjs_require__(59);\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name)) {\n if (NATIVE_SYMBOL && has(Symbol, name))\n WellKnownSymbolsStore[name] = Symbol[name];\n else\n WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n }\n return WellKnownSymbolsStore[name];\n};\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n return !String(Symbol());\n});\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar NATIVE_SYMBOL = __w_pdfjs_require__(58);\nmodule.exports = NATIVE_SYMBOL && !Symbol.sham && typeof Symbol.iterator == 'symbol';\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar MATCH = wellKnownSymbol('match');\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (e) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (f) {\n }\n }\n return false;\n};\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar bind = __w_pdfjs_require__(62);\nvar call = Function.call;\nmodule.exports = function (CONSTRUCTOR, METHOD, length) {\n return bind(call, global[CONSTRUCTOR].prototype[METHOD], length);\n};\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar aFunction = __w_pdfjs_require__(63);\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined)\n return fn;\n switch (length) {\n case 0:\n return function () {\n return fn.call(that);\n };\n case 1:\n return function (a) {\n return fn.call(that, a);\n };\n case 2:\n return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3:\n return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function () {\n return fn.apply(that, arguments);\n };\n};\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n }\n return it;\n};\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(65);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'endsWith');\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar getOwnPropertyDescriptor = __w_pdfjs_require__(12).f;\nvar toLength = __w_pdfjs_require__(47);\nvar notARegExp = __w_pdfjs_require__(55);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nvar correctIsRegExpLogic = __w_pdfjs_require__(60);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar nativeEndsWith = ''.endsWith;\nvar min = Math.min;\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith');\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'endsWith');\n return descriptor && !descriptor.writable;\n}();\n$({\n target: 'String',\n proto: true,\n forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC\n}, {\n endsWith: function endsWith(searchString) {\n var that = String(requireObjectCoercible(this));\n notARegExp(searchString);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = toLength(that.length);\n var end = endPosition === undefined ? len : min(toLength(endPosition), len);\n var search = String(searchString);\n return nativeEndsWith ? nativeEndsWith.call(that, search, end) : that.slice(end - search.length, end) === search;\n }\n});\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(67);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'includes');\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar notARegExp = __w_pdfjs_require__(55);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nvar correctIsRegExpLogic = __w_pdfjs_require__(60);\n$({\n target: 'String',\n proto: true,\n forced: !correctIsRegExpLogic('includes')\n}, {\n includes: function includes(searchString) {\n return !!~String(requireObjectCoercible(this)).indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(69);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('Array', 'includes');\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar $includes = __w_pdfjs_require__(46).includes;\nvar addToUnscopables = __w_pdfjs_require__(70);\nvar arrayMethodUsesToLength = __w_pdfjs_require__(75);\nvar USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', {\n ACCESSORS: true,\n 1: 0\n});\n$({\n target: 'Array',\n proto: true,\n forced: !USES_TO_LENGTH\n}, {\n includes: function includes(el) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\naddToUnscopables('includes');\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar create = __w_pdfjs_require__(71);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar defineProperties = __w_pdfjs_require__(72);\nvar enumBugKeys = __w_pdfjs_require__(50);\nvar hiddenKeys = __w_pdfjs_require__(39);\nvar html = __w_pdfjs_require__(74);\nvar documentCreateElement = __w_pdfjs_require__(25);\nvar sharedKey = __w_pdfjs_require__(35);\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar EmptyConstructor = function () {\n};\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null;\n return temp;\n};\nvar NullProtoObjectViaIFrame = function () {\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) {\n }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--)\n delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\nhiddenKeys[IE_PROTO] = true;\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n result[IE_PROTO] = O;\n } else\n result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar anObject = __w_pdfjs_require__(28);\nvar objectKeys = __w_pdfjs_require__(73);\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index)\n definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar internalObjectKeys = __w_pdfjs_require__(45);\nvar enumBugKeys = __w_pdfjs_require__(50);\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getBuiltIn = __w_pdfjs_require__(42);\nmodule.exports = getBuiltIn('document', 'documentElement');\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar fails = __w_pdfjs_require__(14);\nvar has = __w_pdfjs_require__(23);\nvar defineProperty = Object.defineProperty;\nvar cache = {};\nvar thrower = function (it) {\n throw it;\n};\nmodule.exports = function (METHOD_NAME, options) {\n if (has(cache, METHOD_NAME))\n return cache[METHOD_NAME];\n if (!options)\n options = {};\n var method = [][METHOD_NAME];\n var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false;\n var argument0 = has(options, 0) ? options[0] : thrower;\n var argument1 = has(options, 1) ? options[1] : undefined;\n return cache[METHOD_NAME] = !!method && !fails(function () {\n if (ACCESSORS && !DESCRIPTORS)\n return true;\n var O = { length: -1 };\n if (ACCESSORS)\n defineProperty(O, 1, {\n enumerable: true,\n get: thrower\n });\n else\n O[1] = 1;\n method.call(O, argument0, argument1);\n });\n};\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(77);\n__w_pdfjs_require__(89);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Array.from;\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar charAt = __w_pdfjs_require__(78).charAt;\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar defineIterator = __w_pdfjs_require__(79);\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length)\n return {\n value: undefined,\n done: true\n };\n point = charAt(string, index);\n state.index += point.length;\n return {\n value: point,\n done: false\n };\n});\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toInteger = __w_pdfjs_require__(48);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size)\n return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF ? CONVERT_TO_STRING ? S.charAt(position) : first : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\nmodule.exports = {\n codeAt: createMethod(false),\n charAt: createMethod(true)\n};\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar createIteratorConstructor = __w_pdfjs_require__(80);\nvar getPrototypeOf = __w_pdfjs_require__(82);\nvar setPrototypeOf = __w_pdfjs_require__(87);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar redefine = __w_pdfjs_require__(29);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar Iterators = __w_pdfjs_require__(86);\nvar IteratorsCore = __w_pdfjs_require__(81);\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\nvar returnThis = function () {\n return this;\n};\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator)\n return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype)\n return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS:\n return function keys() {\n return new IteratorConstructor(this, KIND);\n };\n case VALUES:\n return function values() {\n return new IteratorConstructor(this, KIND);\n };\n case ENTRIES:\n return function entries() {\n return new IteratorConstructor(this, KIND);\n };\n }\n return function () {\n return new IteratorConstructor(this);\n };\n };\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR] || IterablePrototype['@@iterator'] || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE)\n Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() {\n return nativeIterator.call(this);\n };\n }\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED)\n for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n }\n else\n $({\n target: NAME,\n proto: true,\n forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME\n }, methods);\n }\n return methods;\n};\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar IteratorPrototype = __w_pdfjs_require__(81).IteratorPrototype;\nvar create = __w_pdfjs_require__(71);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar Iterators = __w_pdfjs_require__(86);\nvar returnThis = function () {\n return this;\n};\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar getPrototypeOf = __w_pdfjs_require__(82);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar has = __w_pdfjs_require__(23);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\nvar returnThis = function () {\n return this;\n};\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\nif ([].keys) {\n arrayIterator = [].keys();\n if (!('next' in arrayIterator))\n BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype)\n IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\nif (IteratorPrototype == undefined)\n IteratorPrototype = {};\nif (!IS_PURE && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar has = __w_pdfjs_require__(23);\nvar toObject = __w_pdfjs_require__(83);\nvar sharedKey = __w_pdfjs_require__(35);\nvar CORRECT_PROTOTYPE_GETTER = __w_pdfjs_require__(84);\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO))\n return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n }\n return O instanceof Object ? ObjectPrototype : null;\n};\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nmodule.exports = !fails(function () {\n function F() {\n }\n F.prototype.constructor = null;\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineProperty = __w_pdfjs_require__(27).f;\nvar has = __w_pdfjs_require__(23);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, {\n configurable: true,\n value: TAG\n });\n }\n};\n\n/***/ }),\n/* 86 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n/***/ }),\n/* 87 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar aPossiblePrototype = __w_pdfjs_require__(88);\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) {\n }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER)\n setter.call(O, proto);\n else\n O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n\n/***/ }),\n/* 88 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n }\n return it;\n};\n\n/***/ }),\n/* 89 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar from = __w_pdfjs_require__(90);\nvar checkCorrectnessOfIteration = __w_pdfjs_require__(97);\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n Array.from(iterable);\n});\n$({\n target: 'Array',\n stat: true,\n forced: INCORRECT_ITERATION\n}, { from: from });\n\n/***/ }),\n/* 90 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar bind = __w_pdfjs_require__(62);\nvar toObject = __w_pdfjs_require__(83);\nvar callWithSafeIterationClosing = __w_pdfjs_require__(91);\nvar isArrayIteratorMethod = __w_pdfjs_require__(92);\nvar toLength = __w_pdfjs_require__(47);\nvar createProperty = __w_pdfjs_require__(93);\nvar getIteratorMethod = __w_pdfjs_require__(94);\nmodule.exports = function from(arrayLike) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n if (mapping)\n mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = iteratorMethod.call(O);\n next = iterator.next;\n result = new C();\n for (; !(step = next.call(iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [\n step.value,\n index\n ], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = toLength(O.length);\n result = new C(length);\n for (; length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n\n/***/ }),\n/* 91 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n } catch (error) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined)\n anObject(returnMethod.call(iterator));\n throw error;\n }\n};\n\n/***/ }),\n/* 92 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar Iterators = __w_pdfjs_require__(86);\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n\n/***/ }),\n/* 93 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar toPrimitive = __w_pdfjs_require__(21);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object)\n definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else\n object[propertyKey] = value;\n};\n\n/***/ }),\n/* 94 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar classof = __w_pdfjs_require__(95);\nvar Iterators = __w_pdfjs_require__(86);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar ITERATOR = wellKnownSymbol('iterator');\nmodule.exports = function (it) {\n if (it != undefined)\n return it[ITERATOR] || it['@@iterator'] || Iterators[classof(it)];\n};\n\n/***/ }),\n/* 95 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(96);\nvar classofRaw = __w_pdfjs_require__(19);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar CORRECT_ARGUMENTS = classofRaw(function () {\n return arguments;\n}()) == 'Arguments';\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) {\n }\n};\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null' : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag : CORRECT_ARGUMENTS ? classofRaw(O) : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n\n/***/ }),\n/* 96 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\ntest[TO_STRING_TAG] = 'z';\nmodule.exports = String(test) === '[object z]';\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n Array.from(iteratorWithReturn, function () {\n throw 2;\n });\n} catch (error) {\n}\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING)\n return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) {\n }\n return ITERATION_SUPPORT;\n};\n\n/***/ }),\n/* 98 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(99);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Object.assign;\n\n/***/ }),\n/* 99 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar assign = __w_pdfjs_require__(100);\n$({\n target: 'Object',\n stat: true,\n forced: Object.assign !== assign\n}, { assign: assign });\n\n/***/ }),\n/* 100 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar fails = __w_pdfjs_require__(14);\nvar objectKeys = __w_pdfjs_require__(73);\nvar getOwnPropertySymbolsModule = __w_pdfjs_require__(51);\nvar propertyIsEnumerableModule = __w_pdfjs_require__(15);\nvar toObject = __w_pdfjs_require__(83);\nvar IndexedObject = __w_pdfjs_require__(18);\nvar nativeAssign = Object.assign;\nvar defineProperty = Object.defineProperty;\nmodule.exports = !nativeAssign || fails(function () {\n if (DESCRIPTORS && nativeAssign({ b: 1 }, nativeAssign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1)\n return true;\n var A = {};\n var B = {};\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) {\n B[chr] = chr;\n });\n return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) {\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(S, key))\n T[key] = S[key];\n }\n }\n return T;\n} : nativeAssign;\n\n/***/ }),\n/* 101 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(102);\n__w_pdfjs_require__(103);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Object.fromEntries;\n\n/***/ }),\n/* 102 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar addToUnscopables = __w_pdfjs_require__(70);\nvar Iterators = __w_pdfjs_require__(86);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar defineIterator = __w_pdfjs_require__(79);\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated),\n index: 0,\n kind: kind\n });\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return {\n value: undefined,\n done: true\n };\n }\n if (kind == 'keys')\n return {\n value: index,\n done: false\n };\n if (kind == 'values')\n return {\n value: target[index],\n done: false\n };\n return {\n value: [\n index,\n target[index]\n ],\n done: false\n };\n}, 'values');\nIterators.Arguments = Iterators.Array;\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n/***/ }),\n/* 103 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar iterate = __w_pdfjs_require__(104);\nvar createProperty = __w_pdfjs_require__(93);\n$({\n target: 'Object',\n stat: true\n}, {\n fromEntries: function fromEntries(iterable) {\n var obj = {};\n iterate(iterable, function (k, v) {\n createProperty(obj, k, v);\n }, undefined, true);\n return obj;\n }\n});\n\n/***/ }),\n/* 104 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar isArrayIteratorMethod = __w_pdfjs_require__(92);\nvar toLength = __w_pdfjs_require__(47);\nvar bind = __w_pdfjs_require__(62);\nvar getIteratorMethod = __w_pdfjs_require__(94);\nvar callWithSafeIterationClosing = __w_pdfjs_require__(91);\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\nvar iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) {\n var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1);\n var iterator, iterFn, index, length, result, next, step;\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function')\n throw TypeError('Target is not iterable');\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = AS_ENTRIES ? boundFunction(anObject(step = iterable[index])[0], step[1]) : boundFunction(iterable[index]);\n if (result && result instanceof Result)\n return result;\n }\n return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);\n if (typeof result == 'object' && result && result instanceof Result)\n return result;\n }\n return new Result(false);\n};\niterate.stop = function (result) {\n return new Result(true, result);\n};\n\n/***/ }),\n/* 105 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(106);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Math.log2;\n\n/***/ }),\n/* 106 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar log = Math.log;\nvar LN2 = Math.LN2;\n$({\n target: 'Math',\n stat: true\n}, {\n log2: function log2(x) {\n return log(x) / LN2;\n }\n});\n\n/***/ }),\n/* 107 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(108);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Number.isNaN;\n\n/***/ }),\n/* 108 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\n$({\n target: 'Number',\n stat: true\n}, {\n isNaN: function isNaN(number) {\n return number != number;\n }\n});\n\n/***/ }),\n/* 109 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(110);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Number.isInteger;\n\n/***/ }),\n/* 110 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar isInteger = __w_pdfjs_require__(111);\n$({\n target: 'Number',\n stat: true\n}, { isInteger: isInteger });\n\n/***/ }),\n/* 111 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nvar floor = Math.floor;\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n\n/***/ }),\n/* 112 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(113);\n\n/***/ }),\n/* 113 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar ArrayBufferViewCore = __w_pdfjs_require__(114);\nvar speciesConstructor = __w_pdfjs_require__(116);\nvar fails = __w_pdfjs_require__(14);\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $slice = [].slice;\nvar FORCED = fails(function () {\n new Int8Array(1).slice();\n});\nexportTypedArrayMethod('slice', function slice(start, end) {\n var list = $slice.call(aTypedArray(this), start, end);\n var C = speciesConstructor(this, this.constructor);\n var index = 0;\n var length = list.length;\n var result = new (aTypedArrayConstructor(C))(length);\n while (length > index)\n result[index] = list[index++];\n return result;\n}, FORCED);\n\n/***/ }),\n/* 114 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar NATIVE_ARRAY_BUFFER = __w_pdfjs_require__(115);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar global = __w_pdfjs_require__(11);\nvar isObject = __w_pdfjs_require__(22);\nvar has = __w_pdfjs_require__(23);\nvar classof = __w_pdfjs_require__(95);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar redefine = __w_pdfjs_require__(29);\nvar defineProperty = __w_pdfjs_require__(27).f;\nvar getPrototypeOf = __w_pdfjs_require__(82);\nvar setPrototypeOf = __w_pdfjs_require__(87);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar uid = __w_pdfjs_require__(38);\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = global.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar isPrototypeOf = ObjectPrototype.isPrototypeOf;\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQIRED = false;\nvar NAME;\nvar TypedArrayConstructorsList = {\n Int8Array: 1,\n Uint8Array: 1,\n Uint8ClampedArray: 1,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n Float32Array: 4,\n Float64Array: 8\n};\nvar isView = function isView(it) {\n var klass = classof(it);\n return klass === 'DataView' || has(TypedArrayConstructorsList, klass);\n};\nvar isTypedArray = function (it) {\n return isObject(it) && has(TypedArrayConstructorsList, classof(it));\n};\nvar aTypedArray = function (it) {\n if (isTypedArray(it))\n return it;\n throw TypeError('Target is not a typed array');\n};\nvar aTypedArrayConstructor = function (C) {\n if (setPrototypeOf) {\n if (isPrototypeOf.call(TypedArray, C))\n return C;\n } else\n for (var ARRAY in TypedArrayConstructorsList)\n if (has(TypedArrayConstructorsList, NAME)) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (C === TypedArrayConstructor || isPrototypeOf.call(TypedArrayConstructor, C))) {\n return C;\n }\n }\n throw TypeError('Target is not a typed array constructor');\n};\nvar exportTypedArrayMethod = function (KEY, property, forced) {\n if (!DESCRIPTORS)\n return;\n if (forced)\n for (var ARRAY in TypedArrayConstructorsList) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && has(TypedArrayConstructor.prototype, KEY)) {\n delete TypedArrayConstructor.prototype[KEY];\n }\n }\n if (!TypedArrayPrototype[KEY] || forced) {\n redefine(TypedArrayPrototype, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property);\n }\n};\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS)\n return;\n if (setPrototypeOf) {\n if (forced)\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && has(TypedArrayConstructor, KEY)) {\n delete TypedArrayConstructor[KEY];\n }\n }\n if (!TypedArray[KEY] || forced) {\n try {\n return redefine(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8Array[KEY] || property);\n } catch (error) {\n }\n } else\n return;\n }\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {\n redefine(TypedArrayConstructor, KEY, property);\n }\n }\n};\nfor (NAME in TypedArrayConstructorsList) {\n if (!global[NAME])\n NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\nif (!NATIVE_ARRAY_BUFFER_VIEWS || typeof TypedArray != 'function' || TypedArray === Function.prototype) {\n TypedArray = function TypedArray() {\n throw TypeError('Incorrect invocation');\n };\n if (NATIVE_ARRAY_BUFFER_VIEWS)\n for (NAME in TypedArrayConstructorsList) {\n if (global[NAME])\n setPrototypeOf(global[NAME], TypedArray);\n }\n}\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {\n TypedArrayPrototype = TypedArray.prototype;\n if (NATIVE_ARRAY_BUFFER_VIEWS)\n for (NAME in TypedArrayConstructorsList) {\n if (global[NAME])\n setPrototypeOf(global[NAME].prototype, TypedArrayPrototype);\n }\n}\nif (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {\n setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);\n}\nif (DESCRIPTORS && !has(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQIRED = true;\n defineProperty(TypedArrayPrototype, TO_STRING_TAG, {\n get: function () {\n return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n }\n });\n for (NAME in TypedArrayConstructorsList)\n if (global[NAME]) {\n createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);\n }\n}\nmodule.exports = {\n NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQIRED && TYPED_ARRAY_TAG,\n aTypedArray: aTypedArray,\n aTypedArrayConstructor: aTypedArrayConstructor,\n exportTypedArrayMethod: exportTypedArrayMethod,\n exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n isView: isView,\n isTypedArray: isTypedArray,\n TypedArray: TypedArray,\n TypedArrayPrototype: TypedArrayPrototype\n};\n\n/***/ }),\n/* 115 */\n/***/ (function(module, exports) {\n\nmodule.exports = typeof ArrayBuffer !== 'undefined' && typeof DataView !== 'undefined';\n\n/***/ }),\n/* 116 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar aFunction = __w_pdfjs_require__(63);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar SPECIES = wellKnownSymbol('species');\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n\n/***/ }),\n/* 117 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(118);\n__w_pdfjs_require__(77);\n__w_pdfjs_require__(120);\n__w_pdfjs_require__(122);\n__w_pdfjs_require__(136);\n__w_pdfjs_require__(137);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Promise;\n\n/***/ }),\n/* 118 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(96);\nvar redefine = __w_pdfjs_require__(29);\nvar toString = __w_pdfjs_require__(119);\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n\n/***/ }),\n/* 119 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(96);\nvar classof = __w_pdfjs_require__(95);\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n\n/***/ }),\n/* 120 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar DOMIterables = __w_pdfjs_require__(121);\nvar ArrayIteratorMethods = __w_pdfjs_require__(102);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n if (CollectionPrototype[ITERATOR] !== ArrayValues)\n try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n if (DOMIterables[COLLECTION_NAME])\n for (var METHOD_NAME in ArrayIteratorMethods) {\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME])\n try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n\n/***/ }),\n/* 121 */\n/***/ (function(module, exports) {\n\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n\n/***/ }),\n/* 122 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar global = __w_pdfjs_require__(11);\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar NativePromise = __w_pdfjs_require__(123);\nvar redefine = __w_pdfjs_require__(29);\nvar redefineAll = __w_pdfjs_require__(124);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar setSpecies = __w_pdfjs_require__(125);\nvar isObject = __w_pdfjs_require__(22);\nvar aFunction = __w_pdfjs_require__(63);\nvar anInstance = __w_pdfjs_require__(126);\nvar classof = __w_pdfjs_require__(19);\nvar inspectSource = __w_pdfjs_require__(31);\nvar iterate = __w_pdfjs_require__(104);\nvar checkCorrectnessOfIteration = __w_pdfjs_require__(97);\nvar speciesConstructor = __w_pdfjs_require__(116);\nvar task = __w_pdfjs_require__(127).set;\nvar microtask = __w_pdfjs_require__(130);\nvar promiseResolve = __w_pdfjs_require__(131);\nvar hostReportErrors = __w_pdfjs_require__(133);\nvar newPromiseCapabilityModule = __w_pdfjs_require__(132);\nvar perform = __w_pdfjs_require__(134);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar isForced = __w_pdfjs_require__(52);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar V8_VERSION = __w_pdfjs_require__(135);\nvar SPECIES = wellKnownSymbol('species');\nvar PROMISE = 'Promise';\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar PromiseConstructor = NativePromise;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar $fetch = getBuiltIn('fetch');\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\nvar IS_NODE = classof(process) == 'process';\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\nvar FORCED = isForced(PROMISE, function () {\n var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);\n if (!GLOBAL_CORE_JS_PROMISE) {\n if (V8_VERSION === 66)\n return true;\n if (!IS_NODE && typeof PromiseRejectionEvent != 'function')\n return true;\n }\n if (IS_PURE && !PromiseConstructor.prototype['finally'])\n return true;\n if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor))\n return false;\n var promise = PromiseConstructor.resolve(1);\n var FakePromise = function (exec) {\n exec(function () {\n }, function () {\n });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n return !(promise.then(function () {\n }) instanceof FakePromise);\n});\nvar INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {\n PromiseConstructor.all(iterable)['catch'](function () {\n });\n});\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, state, isReject) {\n if (state.notified)\n return;\n state.notified = true;\n var chain = state.reactions;\n microtask(function () {\n var value = state.value;\n var ok = state.state == FULFILLED;\n var index = 0;\n while (chain.length > index) {\n var reaction = chain[index++];\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED)\n onHandleUnhandled(promise, state);\n state.rejection = HANDLED;\n }\n if (handler === true)\n result = value;\n else {\n if (domain)\n domain.enter();\n result = handler(value);\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else\n resolve(result);\n } else\n reject(value);\n } catch (error) {\n if (domain && !exited)\n domain.exit();\n reject(error);\n }\n }\n state.reactions = [];\n state.notified = false;\n if (isReject && !state.rejection)\n onUnhandled(promise, state);\n });\n};\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else\n event = {\n promise: promise,\n reason: reason\n };\n if (handler = global['on' + name])\n handler(event);\n else if (name === UNHANDLED_REJECTION)\n hostReportErrors('Unhandled promise rejection', reason);\n};\nvar onUnhandled = function (promise, state) {\n task.call(global, function () {\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else\n dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error)\n throw result.value;\n }\n });\n};\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\nvar onHandleUnhandled = function (promise, state) {\n task.call(global, function () {\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else\n dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\nvar bind = function (fn, promise, state, unwrap) {\n return function (value) {\n fn(promise, state, value, unwrap);\n };\n};\nvar internalReject = function (promise, state, value, unwrap) {\n if (state.done)\n return;\n state.done = true;\n if (unwrap)\n state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(promise, state, true);\n};\nvar internalResolve = function (promise, state, value, unwrap) {\n if (state.done)\n return;\n state.done = true;\n if (unwrap)\n state = unwrap;\n try {\n if (promise === value)\n throw TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n then.call(value, bind(internalResolve, promise, wrapper, state), bind(internalReject, promise, wrapper, state));\n } catch (error) {\n internalReject(promise, wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(promise, state, false);\n }\n } catch (error) {\n internalReject(promise, { done: false }, error, state);\n }\n};\nif (FORCED) {\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromiseConstructor, PROMISE);\n aFunction(executor);\n Internal.call(this);\n var state = getInternalState(this);\n try {\n executor(bind(internalResolve, this, state), bind(internalReject, this, state));\n } catch (error) {\n internalReject(this, state, error);\n }\n };\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: [],\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n Internal.prototype = redefineAll(PromiseConstructor.prototype, {\n then: function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n state.parent = true;\n state.reactions.push(reaction);\n if (state.state != PENDING)\n notify(this, state, false);\n return reaction.promise;\n },\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, promise, state);\n this.reject = bind(internalReject, promise, state);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper ? new OwnPromiseCapability(C) : newGenericPromiseCapability(C);\n };\n if (!IS_PURE && typeof NativePromise == 'function') {\n nativeThen = NativePromise.prototype.then;\n redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n nativeThen.call(that, resolve, reject);\n }).then(onFulfilled, onRejected);\n }, { unsafe: true });\n if (typeof $fetch == 'function')\n $({\n global: true,\n enumerable: true,\n forced: true\n }, {\n fetch: function fetch(input) {\n return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments));\n }\n });\n }\n}\n$({\n global: true,\n wrap: true,\n forced: FORCED\n}, { Promise: PromiseConstructor });\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\nPromiseWrapper = getBuiltIn(PROMISE);\n$({\n target: PROMISE,\n stat: true,\n forced: FORCED\n}, {\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n capability.reject.call(undefined, r);\n return capability.promise;\n }\n});\n$({\n target: PROMISE,\n stat: true,\n forced: IS_PURE || FORCED\n}, {\n resolve: function resolve(x) {\n return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);\n }\n});\n$({\n target: PROMISE,\n stat: true,\n forced: INCORRECT_ITERATION\n}, {\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n $promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled)\n return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error)\n reject(result.value);\n return capability.promise;\n },\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n iterate(iterable, function (promise) {\n $promiseResolve.call(C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error)\n reject(result.value);\n return capability.promise;\n }\n});\n\n/***/ }),\n/* 123 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nmodule.exports = global.Promise;\n\n/***/ }),\n/* 124 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar redefine = __w_pdfjs_require__(29);\nmodule.exports = function (target, src, options) {\n for (var key in src)\n redefine(target, key, src[key], options);\n return target;\n};\n\n/***/ }),\n/* 125 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar SPECIES = wellKnownSymbol('species');\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () {\n return this;\n }\n });\n }\n};\n\n/***/ }),\n/* 126 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n }\n return it;\n};\n\n/***/ }),\n/* 127 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar fails = __w_pdfjs_require__(14);\nvar classof = __w_pdfjs_require__(19);\nvar bind = __w_pdfjs_require__(62);\nvar html = __w_pdfjs_require__(74);\nvar createElement = __w_pdfjs_require__(25);\nvar IS_IOS = __w_pdfjs_require__(128);\nvar location = global.location;\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function (id) {\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\nvar listener = function (event) {\n run(event.data);\n};\nvar post = function (id) {\n global.postMessage(id + '', location.protocol + '//' + location.host);\n};\nif (!set || !clear) {\n set = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i)\n args.push(arguments[i++]);\n queue[++counter] = function () {\n (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n if (classof(process) == 'process') {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = bind(port.postMessage, port, 1);\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts && !fails(post) && location.protocol !== 'file:') {\n defer = post;\n global.addEventListener('message', listener, false);\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\nmodule.exports = {\n set: set,\n clear: clear\n};\n\n/***/ }),\n/* 128 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar userAgent = __w_pdfjs_require__(129);\nmodule.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent);\n\n/***/ }),\n/* 129 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getBuiltIn = __w_pdfjs_require__(42);\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n\n/***/ }),\n/* 130 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar getOwnPropertyDescriptor = __w_pdfjs_require__(12).f;\nvar classof = __w_pdfjs_require__(19);\nvar macrotask = __w_pdfjs_require__(127).set;\nvar IS_IOS = __w_pdfjs_require__(128);\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar IS_NODE = classof(process) == 'process';\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\nvar flush, head, last, notify, toggle, node, promise, then;\nif (!queueMicrotask) {\n flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain))\n parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (error) {\n if (head)\n notify();\n else\n last = undefined;\n throw error;\n }\n }\n last = undefined;\n if (parent)\n parent.enter();\n };\n if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n } else if (MutationObserver && !IS_IOS) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n } else if (Promise && Promise.resolve) {\n promise = Promise.resolve(undefined);\n then = promise.then;\n notify = function () {\n then.call(promise, flush);\n };\n } else {\n notify = function () {\n macrotask.call(global, flush);\n };\n }\n}\nmodule.exports = queueMicrotask || function (fn) {\n var task = {\n fn: fn,\n next: undefined\n };\n if (last)\n last.next = task;\n if (!head) {\n head = task;\n notify();\n }\n last = task;\n};\n\n/***/ }),\n/* 131 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar isObject = __w_pdfjs_require__(22);\nvar newPromiseCapability = __w_pdfjs_require__(132);\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C)\n return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n\n/***/ }),\n/* 132 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar aFunction = __w_pdfjs_require__(63);\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined)\n throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n};\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n\n/***/ }),\n/* 133 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nmodule.exports = function (a, b) {\n var console = global.console;\n if (console && console.error) {\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n }\n};\n\n/***/ }),\n/* 134 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n try {\n return {\n error: false,\n value: exec()\n };\n } catch (error) {\n return {\n error: true,\n value: error\n };\n }\n};\n\n/***/ }),\n/* 135 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar userAgent = __w_pdfjs_require__(129);\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match)\n version = match[1];\n }\n}\nmodule.exports = version && +version;\n\n/***/ }),\n/* 136 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar aFunction = __w_pdfjs_require__(63);\nvar newPromiseCapabilityModule = __w_pdfjs_require__(132);\nvar perform = __w_pdfjs_require__(134);\nvar iterate = __w_pdfjs_require__(104);\n$({\n target: 'Promise',\n stat: true\n}, {\n allSettled: function allSettled(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled)\n return;\n alreadyCalled = true;\n values[index] = {\n status: 'fulfilled',\n value: value\n };\n --remaining || resolve(values);\n }, function (e) {\n if (alreadyCalled)\n return;\n alreadyCalled = true;\n values[index] = {\n status: 'rejected',\n reason: e\n };\n --remaining || resolve(values);\n });\n });\n --remaining || resolve(values);\n });\n if (result.error)\n reject(result.value);\n return capability.promise;\n }\n});\n\n/***/ }),\n/* 137 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar NativePromise = __w_pdfjs_require__(123);\nvar fails = __w_pdfjs_require__(14);\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar speciesConstructor = __w_pdfjs_require__(116);\nvar promiseResolve = __w_pdfjs_require__(131);\nvar redefine = __w_pdfjs_require__(29);\nvar NON_GENERIC = !!NativePromise && fails(function () {\n NativePromise.prototype['finally'].call({\n then: function () {\n }\n }, function () {\n });\n});\n$({\n target: 'Promise',\n proto: true,\n real: true,\n forced: NON_GENERIC\n}, {\n 'finally': function (onFinally) {\n var C = speciesConstructor(this, getBuiltIn('Promise'));\n var isFunction = typeof onFinally == 'function';\n return this.then(isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () {\n return x;\n });\n } : onFinally, isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () {\n throw e;\n });\n } : onFinally);\n }\n});\nif (!IS_PURE && typeof NativePromise == 'function' && !NativePromise.prototype['finally']) {\n redefine(NativePromise.prototype, 'finally', getBuiltIn('Promise').prototype['finally']);\n}\n\n/***/ }),\n/* 138 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(139);\n__w_pdfjs_require__(144);\n__w_pdfjs_require__(142);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.URL;\n\n/***/ }),\n/* 139 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n__w_pdfjs_require__(77);\nvar $ = __w_pdfjs_require__(10);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar USE_NATIVE_URL = __w_pdfjs_require__(140);\nvar global = __w_pdfjs_require__(11);\nvar defineProperties = __w_pdfjs_require__(72);\nvar redefine = __w_pdfjs_require__(29);\nvar anInstance = __w_pdfjs_require__(126);\nvar has = __w_pdfjs_require__(23);\nvar assign = __w_pdfjs_require__(100);\nvar arrayFrom = __w_pdfjs_require__(90);\nvar codeAt = __w_pdfjs_require__(78).codeAt;\nvar toASCII = __w_pdfjs_require__(141);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar URLSearchParamsModule = __w_pdfjs_require__(142);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar NativeURL = global.URL;\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar floor = Math.floor;\nvar pow = Math.pow;\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\nvar ALPHA = /[A-Za-z]/;\nvar ALPHANUMERIC = /[\\d+-.A-Za-z]/;\nvar DIGIT = /\\d/;\nvar HEX_START = /^(0x|0X)/;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\dA-Fa-f]+$/;\nvar FORBIDDEN_HOST_CODE_POINT = /[\\u0000\\u0009\\u000A\\u000D #%/:?@[\\\\]]/;\nvar FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\\u0000\\u0009\\u000A\\u000D #/:?@[\\\\]]/;\nvar LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\\u0000-\\u001F ]+|[\\u0000-\\u001F ]+$/g;\nvar TAB_AND_NEW_LINE = /[\\u0009\\u000A\\u000D]/g;\nvar EOF;\nvar parseHost = function (url, input) {\n var result, codePoints, index;\n if (input.charAt(0) == '[') {\n if (input.charAt(input.length - 1) != ']')\n return INVALID_HOST;\n result = parseIPv6(input.slice(1, -1));\n if (!result)\n return INVALID_HOST;\n url.host = result;\n } else if (!isSpecial(url)) {\n if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input))\n return INVALID_HOST;\n result = '';\n codePoints = arrayFrom(input);\n for (index = 0; index < codePoints.length; index++) {\n result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n }\n url.host = result;\n } else {\n input = toASCII(input);\n if (FORBIDDEN_HOST_CODE_POINT.test(input))\n return INVALID_HOST;\n result = parseIPv4(input);\n if (result === null)\n return INVALID_HOST;\n url.host = result;\n }\n};\nvar parseIPv4 = function (input) {\n var parts = input.split('.');\n var partsLength, numbers, index, part, radix, number, ipv4;\n if (parts.length && parts[parts.length - 1] == '') {\n parts.pop();\n }\n partsLength = parts.length;\n if (partsLength > 4)\n return input;\n numbers = [];\n for (index = 0; index < partsLength; index++) {\n part = parts[index];\n if (part == '')\n return input;\n radix = 10;\n if (part.length > 1 && part.charAt(0) == '0') {\n radix = HEX_START.test(part) ? 16 : 8;\n part = part.slice(radix == 8 ? 1 : 2);\n }\n if (part === '') {\n number = 0;\n } else {\n if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part))\n return input;\n number = parseInt(part, radix);\n }\n numbers.push(number);\n }\n for (index = 0; index < partsLength; index++) {\n number = numbers[index];\n if (index == partsLength - 1) {\n if (number >= pow(256, 5 - partsLength))\n return null;\n } else if (number > 255)\n return null;\n }\n ipv4 = numbers.pop();\n for (index = 0; index < numbers.length; index++) {\n ipv4 += numbers[index] * pow(256, 3 - index);\n }\n return ipv4;\n};\nvar parseIPv6 = function (input) {\n var address = [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ];\n var pieceIndex = 0;\n var compress = null;\n var pointer = 0;\n var value, length, numbersSeen, ipv4Piece, number, swaps, swap;\n var char = function () {\n return input.charAt(pointer);\n };\n if (char() == ':') {\n if (input.charAt(1) != ':')\n return;\n pointer += 2;\n pieceIndex++;\n compress = pieceIndex;\n }\n while (char()) {\n if (pieceIndex == 8)\n return;\n if (char() == ':') {\n if (compress !== null)\n return;\n pointer++;\n pieceIndex++;\n compress = pieceIndex;\n continue;\n }\n value = length = 0;\n while (length < 4 && HEX.test(char())) {\n value = value * 16 + parseInt(char(), 16);\n pointer++;\n length++;\n }\n if (char() == '.') {\n if (length == 0)\n return;\n pointer -= length;\n if (pieceIndex > 6)\n return;\n numbersSeen = 0;\n while (char()) {\n ipv4Piece = null;\n if (numbersSeen > 0) {\n if (char() == '.' && numbersSeen < 4)\n pointer++;\n else\n return;\n }\n if (!DIGIT.test(char()))\n return;\n while (DIGIT.test(char())) {\n number = parseInt(char(), 10);\n if (ipv4Piece === null)\n ipv4Piece = number;\n else if (ipv4Piece == 0)\n return;\n else\n ipv4Piece = ipv4Piece * 10 + number;\n if (ipv4Piece > 255)\n return;\n pointer++;\n }\n address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n numbersSeen++;\n if (numbersSeen == 2 || numbersSeen == 4)\n pieceIndex++;\n }\n if (numbersSeen != 4)\n return;\n break;\n } else if (char() == ':') {\n pointer++;\n if (!char())\n return;\n } else if (char())\n return;\n address[pieceIndex++] = value;\n }\n if (compress !== null) {\n swaps = pieceIndex - compress;\n pieceIndex = 7;\n while (pieceIndex != 0 && swaps > 0) {\n swap = address[pieceIndex];\n address[pieceIndex--] = address[compress + swaps - 1];\n address[compress + --swaps] = swap;\n }\n } else if (pieceIndex != 8)\n return;\n return address;\n};\nvar findLongestZeroSequence = function (ipv6) {\n var maxIndex = null;\n var maxLength = 1;\n var currStart = null;\n var currLength = 0;\n var index = 0;\n for (; index < 8; index++) {\n if (ipv6[index] !== 0) {\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n currStart = null;\n currLength = 0;\n } else {\n if (currStart === null)\n currStart = index;\n ++currLength;\n }\n }\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n return maxIndex;\n};\nvar serializeHost = function (host) {\n var result, index, compress, ignore0;\n if (typeof host == 'number') {\n result = [];\n for (index = 0; index < 4; index++) {\n result.unshift(host % 256);\n host = floor(host / 256);\n }\n return result.join('.');\n } else if (typeof host == 'object') {\n result = '';\n compress = findLongestZeroSequence(host);\n for (index = 0; index < 8; index++) {\n if (ignore0 && host[index] === 0)\n continue;\n if (ignore0)\n ignore0 = false;\n if (compress === index) {\n result += index ? ':' : '::';\n ignore0 = true;\n } else {\n result += host[index].toString(16);\n if (index < 7)\n result += ':';\n }\n }\n return '[' + result + ']';\n }\n return host;\n};\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n ' ': 1,\n '\"': 1,\n '<': 1,\n '>': 1,\n '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n '#': 1,\n '?': 1,\n '{': 1,\n '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n '/': 1,\n ':': 1,\n ';': 1,\n '=': 1,\n '@': 1,\n '[': 1,\n '\\\\': 1,\n ']': 1,\n '^': 1,\n '|': 1\n});\nvar percentEncode = function (char, set) {\n var code = codeAt(char, 0);\n return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char);\n};\nvar specialSchemes = {\n ftp: 21,\n file: null,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443\n};\nvar isSpecial = function (url) {\n return has(specialSchemes, url.scheme);\n};\nvar includesCredentials = function (url) {\n return url.username != '' || url.password != '';\n};\nvar cannotHaveUsernamePasswordPort = function (url) {\n return !url.host || url.cannotBeABaseURL || url.scheme == 'file';\n};\nvar isWindowsDriveLetter = function (string, normalized) {\n var second;\n return string.length == 2 && ALPHA.test(string.charAt(0)) && ((second = string.charAt(1)) == ':' || !normalized && second == '|');\n};\nvar startsWithWindowsDriveLetter = function (string) {\n var third;\n return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (string.length == 2 || ((third = string.charAt(2)) === '/' || third === '\\\\' || third === '?' || third === '#'));\n};\nvar shortenURLsPath = function (url) {\n var path = url.path;\n var pathSize = path.length;\n if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {\n path.pop();\n }\n};\nvar isSingleDot = function (segment) {\n return segment === '.' || segment.toLowerCase() === '%2e';\n};\nvar isDoubleDot = function (segment) {\n segment = segment.toLowerCase();\n return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\nvar SCHEME_START = {};\nvar SCHEME = {};\nvar NO_SCHEME = {};\nvar SPECIAL_RELATIVE_OR_AUTHORITY = {};\nvar PATH_OR_AUTHORITY = {};\nvar RELATIVE = {};\nvar RELATIVE_SLASH = {};\nvar SPECIAL_AUTHORITY_SLASHES = {};\nvar SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\nvar AUTHORITY = {};\nvar HOST = {};\nvar HOSTNAME = {};\nvar PORT = {};\nvar FILE = {};\nvar FILE_SLASH = {};\nvar FILE_HOST = {};\nvar PATH_START = {};\nvar PATH = {};\nvar CANNOT_BE_A_BASE_URL_PATH = {};\nvar QUERY = {};\nvar FRAGMENT = {};\nvar parseURL = function (url, input, stateOverride, base) {\n var state = stateOverride || SCHEME_START;\n var pointer = 0;\n var buffer = '';\n var seenAt = false;\n var seenBracket = false;\n var seenPasswordToken = false;\n var codePoints, char, bufferCodePoints, failure;\n if (!stateOverride) {\n url.scheme = '';\n url.username = '';\n url.password = '';\n url.host = null;\n url.port = null;\n url.path = [];\n url.query = null;\n url.fragment = null;\n url.cannotBeABaseURL = false;\n input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');\n }\n input = input.replace(TAB_AND_NEW_LINE, '');\n codePoints = arrayFrom(input);\n while (pointer <= codePoints.length) {\n char = codePoints[pointer];\n switch (state) {\n case SCHEME_START:\n if (char && ALPHA.test(char)) {\n buffer += char.toLowerCase();\n state = SCHEME;\n } else if (!stateOverride) {\n state = NO_SCHEME;\n continue;\n } else\n return INVALID_SCHEME;\n break;\n case SCHEME:\n if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) {\n buffer += char.toLowerCase();\n } else if (char == ':') {\n if (stateOverride && (isSpecial(url) != has(specialSchemes, buffer) || buffer == 'file' && (includesCredentials(url) || url.port !== null) || url.scheme == 'file' && !url.host))\n return;\n url.scheme = buffer;\n if (stateOverride) {\n if (isSpecial(url) && specialSchemes[url.scheme] == url.port)\n url.port = null;\n return;\n }\n buffer = '';\n if (url.scheme == 'file') {\n state = FILE;\n } else if (isSpecial(url) && base && base.scheme == url.scheme) {\n state = SPECIAL_RELATIVE_OR_AUTHORITY;\n } else if (isSpecial(url)) {\n state = SPECIAL_AUTHORITY_SLASHES;\n } else if (codePoints[pointer + 1] == '/') {\n state = PATH_OR_AUTHORITY;\n pointer++;\n } else {\n url.cannotBeABaseURL = true;\n url.path.push('');\n state = CANNOT_BE_A_BASE_URL_PATH;\n }\n } else if (!stateOverride) {\n buffer = '';\n state = NO_SCHEME;\n pointer = 0;\n continue;\n } else\n return INVALID_SCHEME;\n break;\n case NO_SCHEME:\n if (!base || base.cannotBeABaseURL && char != '#')\n return INVALID_SCHEME;\n if (base.cannotBeABaseURL && char == '#') {\n url.scheme = base.scheme;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n url.cannotBeABaseURL = true;\n state = FRAGMENT;\n break;\n }\n state = base.scheme == 'file' ? FILE : RELATIVE;\n continue;\n case SPECIAL_RELATIVE_OR_AUTHORITY:\n if (char == '/' && codePoints[pointer + 1] == '/') {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n pointer++;\n } else {\n state = RELATIVE;\n continue;\n }\n break;\n case PATH_OR_AUTHORITY:\n if (char == '/') {\n state = AUTHORITY;\n break;\n } else {\n state = PATH;\n continue;\n }\n case RELATIVE:\n url.scheme = base.scheme;\n if (char == EOF) {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '/' || char == '\\\\' && isSpecial(url)) {\n state = RELATIVE_SLASH;\n } else if (char == '?') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.path.pop();\n state = PATH;\n continue;\n }\n break;\n case RELATIVE_SLASH:\n if (isSpecial(url) && (char == '/' || char == '\\\\')) {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n } else if (char == '/') {\n state = AUTHORITY;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n state = PATH;\n continue;\n }\n break;\n case SPECIAL_AUTHORITY_SLASHES:\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n if (char != '/' || buffer.charAt(pointer + 1) != '/')\n continue;\n pointer++;\n break;\n case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n if (char != '/' && char != '\\\\') {\n state = AUTHORITY;\n continue;\n }\n break;\n case AUTHORITY:\n if (char == '@') {\n if (seenAt)\n buffer = '%40' + buffer;\n seenAt = true;\n bufferCodePoints = arrayFrom(buffer);\n for (var i = 0; i < bufferCodePoints.length; i++) {\n var codePoint = bufferCodePoints[i];\n if (codePoint == ':' && !seenPasswordToken) {\n seenPasswordToken = true;\n continue;\n }\n var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n if (seenPasswordToken)\n url.password += encodedCodePoints;\n else\n url.username += encodedCodePoints;\n }\n buffer = '';\n } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\\\' && isSpecial(url)) {\n if (seenAt && buffer == '')\n return INVALID_AUTHORITY;\n pointer -= arrayFrom(buffer).length + 1;\n buffer = '';\n state = HOST;\n } else\n buffer += char;\n break;\n case HOST:\n case HOSTNAME:\n if (stateOverride && url.scheme == 'file') {\n state = FILE_HOST;\n continue;\n } else if (char == ':' && !seenBracket) {\n if (buffer == '')\n return INVALID_HOST;\n failure = parseHost(url, buffer);\n if (failure)\n return failure;\n buffer = '';\n state = PORT;\n if (stateOverride == HOSTNAME)\n return;\n } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\\\' && isSpecial(url)) {\n if (isSpecial(url) && buffer == '')\n return INVALID_HOST;\n if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null))\n return;\n failure = parseHost(url, buffer);\n if (failure)\n return failure;\n buffer = '';\n state = PATH_START;\n if (stateOverride)\n return;\n continue;\n } else {\n if (char == '[')\n seenBracket = true;\n else if (char == ']')\n seenBracket = false;\n buffer += char;\n }\n break;\n case PORT:\n if (DIGIT.test(char)) {\n buffer += char;\n } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\\\' && isSpecial(url) || stateOverride) {\n if (buffer != '') {\n var port = parseInt(buffer, 10);\n if (port > 0xFFFF)\n return INVALID_PORT;\n url.port = isSpecial(url) && port === specialSchemes[url.scheme] ? null : port;\n buffer = '';\n }\n if (stateOverride)\n return;\n state = PATH_START;\n continue;\n } else\n return INVALID_PORT;\n break;\n case FILE:\n url.scheme = 'file';\n if (char == '/' || char == '\\\\')\n state = FILE_SLASH;\n else if (base && base.scheme == 'file') {\n if (char == EOF) {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '?') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n url.host = base.host;\n url.path = base.path.slice();\n shortenURLsPath(url);\n }\n state = PATH;\n continue;\n }\n } else {\n state = PATH;\n continue;\n }\n break;\n case FILE_SLASH:\n if (char == '/' || char == '\\\\') {\n state = FILE_HOST;\n break;\n }\n if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n if (isWindowsDriveLetter(base.path[0], true))\n url.path.push(base.path[0]);\n else\n url.host = base.host;\n }\n state = PATH;\n continue;\n case FILE_HOST:\n if (char == EOF || char == '/' || char == '\\\\' || char == '?' || char == '#') {\n if (!stateOverride && isWindowsDriveLetter(buffer)) {\n state = PATH;\n } else if (buffer == '') {\n url.host = '';\n if (stateOverride)\n return;\n state = PATH_START;\n } else {\n failure = parseHost(url, buffer);\n if (failure)\n return failure;\n if (url.host == 'localhost')\n url.host = '';\n if (stateOverride)\n return;\n buffer = '';\n state = PATH_START;\n }\n continue;\n } else\n buffer += char;\n break;\n case PATH_START:\n if (isSpecial(url)) {\n state = PATH;\n if (char != '/' && char != '\\\\')\n continue;\n } else if (!stateOverride && char == '?') {\n url.query = '';\n state = QUERY;\n } else if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n state = PATH;\n if (char != '/')\n continue;\n }\n break;\n case PATH:\n if (char == EOF || char == '/' || char == '\\\\' && isSpecial(url) || !stateOverride && (char == '?' || char == '#')) {\n if (isDoubleDot(buffer)) {\n shortenURLsPath(url);\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else if (isSingleDot(buffer)) {\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else {\n if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n if (url.host)\n url.host = '';\n buffer = buffer.charAt(0) + ':';\n }\n url.path.push(buffer);\n }\n buffer = '';\n if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) {\n while (url.path.length > 1 && url.path[0] === '') {\n url.path.shift();\n }\n }\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n }\n } else {\n buffer += percentEncode(char, pathPercentEncodeSet);\n }\n break;\n case CANNOT_BE_A_BASE_URL_PATH:\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n url.path[0] += percentEncode(char, C0ControlPercentEncodeSet);\n }\n break;\n case QUERY:\n if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n if (char == \"'\" && isSpecial(url))\n url.query += '%27';\n else if (char == '#')\n url.query += '%23';\n else\n url.query += percentEncode(char, C0ControlPercentEncodeSet);\n }\n break;\n case FRAGMENT:\n if (char != EOF)\n url.fragment += percentEncode(char, fragmentPercentEncodeSet);\n break;\n }\n pointer++;\n }\n};\nvar URLConstructor = function URL(url) {\n var that = anInstance(this, URLConstructor, 'URL');\n var base = arguments.length > 1 ? arguments[1] : undefined;\n var urlString = String(url);\n var state = setInternalState(that, { type: 'URL' });\n var baseState, failure;\n if (base !== undefined) {\n if (base instanceof URLConstructor)\n baseState = getInternalURLState(base);\n else {\n failure = parseURL(baseState = {}, String(base));\n if (failure)\n throw TypeError(failure);\n }\n }\n failure = parseURL(state, urlString, null, baseState);\n if (failure)\n throw TypeError(failure);\n var searchParams = state.searchParams = new URLSearchParams();\n var searchParamsState = getInternalSearchParamsState(searchParams);\n searchParamsState.updateSearchParams(state.query);\n searchParamsState.updateURL = function () {\n state.query = String(searchParams) || null;\n };\n if (!DESCRIPTORS) {\n that.href = serializeURL.call(that);\n that.origin = getOrigin.call(that);\n that.protocol = getProtocol.call(that);\n that.username = getUsername.call(that);\n that.password = getPassword.call(that);\n that.host = getHost.call(that);\n that.hostname = getHostname.call(that);\n that.port = getPort.call(that);\n that.pathname = getPathname.call(that);\n that.search = getSearch.call(that);\n that.searchParams = getSearchParams.call(that);\n that.hash = getHash.call(that);\n }\n};\nvar URLPrototype = URLConstructor.prototype;\nvar serializeURL = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var username = url.username;\n var password = url.password;\n var host = url.host;\n var port = url.port;\n var path = url.path;\n var query = url.query;\n var fragment = url.fragment;\n var output = scheme + ':';\n if (host !== null) {\n output += '//';\n if (includesCredentials(url)) {\n output += username + (password ? ':' + password : '') + '@';\n }\n output += serializeHost(host);\n if (port !== null)\n output += ':' + port;\n } else if (scheme == 'file')\n output += '//';\n output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n if (query !== null)\n output += '?' + query;\n if (fragment !== null)\n output += '#' + fragment;\n return output;\n};\nvar getOrigin = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var port = url.port;\n if (scheme == 'blob')\n try {\n return new URL(scheme.path[0]).origin;\n } catch (error) {\n return 'null';\n }\n if (scheme == 'file' || !isSpecial(url))\n return 'null';\n return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');\n};\nvar getProtocol = function () {\n return getInternalURLState(this).scheme + ':';\n};\nvar getUsername = function () {\n return getInternalURLState(this).username;\n};\nvar getPassword = function () {\n return getInternalURLState(this).password;\n};\nvar getHost = function () {\n var url = getInternalURLState(this);\n var host = url.host;\n var port = url.port;\n return host === null ? '' : port === null ? serializeHost(host) : serializeHost(host) + ':' + port;\n};\nvar getHostname = function () {\n var host = getInternalURLState(this).host;\n return host === null ? '' : serializeHost(host);\n};\nvar getPort = function () {\n var port = getInternalURLState(this).port;\n return port === null ? '' : String(port);\n};\nvar getPathname = function () {\n var url = getInternalURLState(this);\n var path = url.path;\n return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n};\nvar getSearch = function () {\n var query = getInternalURLState(this).query;\n return query ? '?' + query : '';\n};\nvar getSearchParams = function () {\n return getInternalURLState(this).searchParams;\n};\nvar getHash = function () {\n var fragment = getInternalURLState(this).fragment;\n return fragment ? '#' + fragment : '';\n};\nvar accessorDescriptor = function (getter, setter) {\n return {\n get: getter,\n set: setter,\n configurable: true,\n enumerable: true\n };\n};\nif (DESCRIPTORS) {\n defineProperties(URLPrototype, {\n href: accessorDescriptor(serializeURL, function (href) {\n var url = getInternalURLState(this);\n var urlString = String(href);\n var failure = parseURL(url, urlString);\n if (failure)\n throw TypeError(failure);\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n origin: accessorDescriptor(getOrigin),\n protocol: accessorDescriptor(getProtocol, function (protocol) {\n var url = getInternalURLState(this);\n parseURL(url, String(protocol) + ':', SCHEME_START);\n }),\n username: accessorDescriptor(getUsername, function (username) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(username));\n if (cannotHaveUsernamePasswordPort(url))\n return;\n url.username = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n password: accessorDescriptor(getPassword, function (password) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(password));\n if (cannotHaveUsernamePasswordPort(url))\n return;\n url.password = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n host: accessorDescriptor(getHost, function (host) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL)\n return;\n parseURL(url, String(host), HOST);\n }),\n hostname: accessorDescriptor(getHostname, function (hostname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL)\n return;\n parseURL(url, String(hostname), HOSTNAME);\n }),\n port: accessorDescriptor(getPort, function (port) {\n var url = getInternalURLState(this);\n if (cannotHaveUsernamePasswordPort(url))\n return;\n port = String(port);\n if (port == '')\n url.port = null;\n else\n parseURL(url, port, PORT);\n }),\n pathname: accessorDescriptor(getPathname, function (pathname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL)\n return;\n url.path = [];\n parseURL(url, pathname + '', PATH_START);\n }),\n search: accessorDescriptor(getSearch, function (search) {\n var url = getInternalURLState(this);\n search = String(search);\n if (search == '') {\n url.query = null;\n } else {\n if ('?' == search.charAt(0))\n search = search.slice(1);\n url.query = '';\n parseURL(url, search, QUERY);\n }\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n searchParams: accessorDescriptor(getSearchParams),\n hash: accessorDescriptor(getHash, function (hash) {\n var url = getInternalURLState(this);\n hash = String(hash);\n if (hash == '') {\n url.fragment = null;\n return;\n }\n if ('#' == hash.charAt(0))\n hash = hash.slice(1);\n url.fragment = '';\n parseURL(url, hash, FRAGMENT);\n })\n });\n}\nredefine(URLPrototype, 'toJSON', function toJSON() {\n return serializeURL.call(this);\n}, { enumerable: true });\nredefine(URLPrototype, 'toString', function toString() {\n return serializeURL.call(this);\n}, { enumerable: true });\nif (NativeURL) {\n var nativeCreateObjectURL = NativeURL.createObjectURL;\n var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n if (nativeCreateObjectURL)\n redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) {\n return nativeCreateObjectURL.apply(NativeURL, arguments);\n });\n if (nativeRevokeObjectURL)\n redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) {\n return nativeRevokeObjectURL.apply(NativeURL, arguments);\n });\n}\nsetToStringTag(URLConstructor, 'URL');\n$({\n global: true,\n forced: !USE_NATIVE_URL,\n sham: !DESCRIPTORS\n}, { URL: URLConstructor });\n\n/***/ }),\n/* 140 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar ITERATOR = wellKnownSymbol('iterator');\nmodule.exports = !fails(function () {\n var url = new URL('b?a=1&b=2&c=3', 'http://a');\n var searchParams = url.searchParams;\n var result = '';\n url.pathname = 'c%20d';\n searchParams.forEach(function (value, key) {\n searchParams['delete']('b');\n result += key + value;\n });\n return IS_PURE && !url.toJSON || !searchParams.sort || url.href !== 'http://a/c%20d?a=1&c=3' || searchParams.get('c') !== '3' || String(new URLSearchParams('?a=1')) !== 'a=1' || !searchParams[ITERATOR] || new URL('https://a@b').username !== 'a' || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b' || new URL('http://тест').host !== 'xn--e1aybc' || new URL('http://a#б').hash !== '#%D0%B1' || result !== 'a1c3' || new URL('http://x', undefined).host !== 'x';\n});\n\n/***/ }),\n/* 141 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar maxInt = 2147483647;\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128;\nvar delimiter = '-';\nvar regexNonASCII = /[^\\0-\\u007E]/;\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g;\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\nvar floor = Math.floor;\nvar stringFromCharCode = String.fromCharCode;\nvar ucs2decode = function (string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n while (counter < length) {\n var value = string.charCodeAt(counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n var extra = string.charCodeAt(counter++);\n if ((extra & 0xFC00) == 0xDC00) {\n output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n output.push(value);\n counter--;\n }\n } else {\n output.push(value);\n }\n }\n return output;\n};\nvar digitToBasic = function (digit) {\n return digit + 22 + 75 * (digit < 26);\n};\nvar adapt = function (delta, numPoints, firstTime) {\n var k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n for (; delta > baseMinusTMin * tMax >> 1; k += base) {\n delta = floor(delta / baseMinusTMin);\n }\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\nvar encode = function (input) {\n var output = [];\n input = ucs2decode(input);\n var inputLength = input.length;\n var n = initialN;\n var delta = 0;\n var bias = initialBias;\n var i, currentValue;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < 0x80) {\n output.push(stringFromCharCode(currentValue));\n }\n }\n var basicLength = output.length;\n var handledCPCount = basicLength;\n if (basicLength) {\n output.push(delimiter);\n }\n while (handledCPCount < inputLength) {\n var m = maxInt;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue >= n && currentValue < m) {\n m = currentValue;\n }\n }\n var handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n throw RangeError(OVERFLOW_ERROR);\n }\n delta += (m - n) * handledCPCountPlusOne;\n n = m;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < n && ++delta > maxInt) {\n throw RangeError(OVERFLOW_ERROR);\n }\n if (currentValue == n) {\n var q = delta;\n for (var k = base;; k += base) {\n var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;\n if (q < t)\n break;\n var qMinusT = q - t;\n var baseMinusT = base - t;\n output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n q = floor(qMinusT / baseMinusT);\n }\n output.push(stringFromCharCode(digitToBasic(q)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n delta = 0;\n ++handledCPCount;\n }\n }\n ++delta;\n ++n;\n }\n return output.join('');\n};\nmodule.exports = function (input) {\n var encoded = [];\n var labels = input.toLowerCase().replace(regexSeparators, '\\u002E').split('.');\n var i, label;\n for (i = 0; i < labels.length; i++) {\n label = labels[i];\n encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label);\n }\n return encoded.join('.');\n};\n\n/***/ }),\n/* 142 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n__w_pdfjs_require__(102);\nvar $ = __w_pdfjs_require__(10);\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar USE_NATIVE_URL = __w_pdfjs_require__(140);\nvar redefine = __w_pdfjs_require__(29);\nvar redefineAll = __w_pdfjs_require__(124);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar createIteratorConstructor = __w_pdfjs_require__(80);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar anInstance = __w_pdfjs_require__(126);\nvar hasOwn = __w_pdfjs_require__(23);\nvar bind = __w_pdfjs_require__(62);\nvar classof = __w_pdfjs_require__(95);\nvar anObject = __w_pdfjs_require__(28);\nvar isObject = __w_pdfjs_require__(22);\nvar create = __w_pdfjs_require__(71);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\nvar getIterator = __w_pdfjs_require__(143);\nvar getIteratorMethod = __w_pdfjs_require__(94);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar $fetch = getBuiltIn('fetch');\nvar Headers = getBuiltIn('Headers');\nvar ITERATOR = wellKnownSymbol('iterator');\nvar URL_SEARCH_PARAMS = 'URLSearchParams';\nvar URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);\nvar getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);\nvar plus = /\\+/g;\nvar sequences = Array(4);\nvar percentSequence = function (bytes) {\n return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\\\da-f]{2}){' + bytes + '})', 'gi'));\n};\nvar percentDecode = function (sequence) {\n try {\n return decodeURIComponent(sequence);\n } catch (error) {\n return sequence;\n }\n};\nvar deserialize = function (it) {\n var result = it.replace(plus, ' ');\n var bytes = 4;\n try {\n return decodeURIComponent(result);\n } catch (error) {\n while (bytes) {\n result = result.replace(percentSequence(bytes--), percentDecode);\n }\n return result;\n }\n};\nvar find = /[!'()~]|%20/g;\nvar replace = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+'\n};\nvar replacer = function (match) {\n return replace[match];\n};\nvar serialize = function (it) {\n return encodeURIComponent(it).replace(find, replacer);\n};\nvar parseSearchParams = function (result, query) {\n if (query) {\n var attributes = query.split('&');\n var index = 0;\n var attribute, entry;\n while (index < attributes.length) {\n attribute = attributes[index++];\n if (attribute.length) {\n entry = attribute.split('=');\n result.push({\n key: deserialize(entry.shift()),\n value: deserialize(entry.join('='))\n });\n }\n }\n }\n};\nvar updateSearchParams = function (query) {\n this.entries.length = 0;\n parseSearchParams(this.entries, query);\n};\nvar validateArgumentsLength = function (passed, required) {\n if (passed < required)\n throw TypeError('Not enough arguments');\n};\nvar URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {\n setInternalState(this, {\n type: URL_SEARCH_PARAMS_ITERATOR,\n iterator: getIterator(getInternalParamsState(params).entries),\n kind: kind\n });\n}, 'Iterator', function next() {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var step = state.iterator.next();\n var entry = step.value;\n if (!step.done) {\n step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [\n entry.key,\n entry.value\n ];\n }\n return step;\n});\nvar URLSearchParamsConstructor = function URLSearchParams() {\n anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n var init = arguments.length > 0 ? arguments[0] : undefined;\n var that = this;\n var entries = [];\n var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key;\n setInternalState(that, {\n type: URL_SEARCH_PARAMS,\n entries: entries,\n updateURL: function () {\n },\n updateSearchParams: updateSearchParams\n });\n if (init !== undefined) {\n if (isObject(init)) {\n iteratorMethod = getIteratorMethod(init);\n if (typeof iteratorMethod === 'function') {\n iterator = iteratorMethod.call(init);\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n entryIterator = getIterator(anObject(step.value));\n entryNext = entryIterator.next;\n if ((first = entryNext.call(entryIterator)).done || (second = entryNext.call(entryIterator)).done || !entryNext.call(entryIterator).done)\n throw TypeError('Expected sequence with length 2');\n entries.push({\n key: first.value + '',\n value: second.value + ''\n });\n }\n } else\n for (key in init)\n if (hasOwn(init, key))\n entries.push({\n key: key,\n value: init[key] + ''\n });\n } else {\n parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + '');\n }\n }\n};\nvar URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\nredefineAll(URLSearchParamsPrototype, {\n append: function append(name, value) {\n validateArgumentsLength(arguments.length, 2);\n var state = getInternalParamsState(this);\n state.entries.push({\n key: name + '',\n value: value + ''\n });\n state.updateURL();\n },\n 'delete': function (name) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index].key === key)\n entries.splice(index, 1);\n else\n index++;\n }\n state.updateURL();\n },\n get: function get(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key)\n return entries[index].value;\n }\n return null;\n },\n getAll: function getAll(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var result = [];\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key)\n result.push(entries[index].value);\n }\n return result;\n },\n has: function has(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index++].key === key)\n return true;\n }\n return false;\n },\n set: function set(name, value) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var found = false;\n var key = name + '';\n var val = value + '';\n var index = 0;\n var entry;\n for (; index < entries.length; index++) {\n entry = entries[index];\n if (entry.key === key) {\n if (found)\n entries.splice(index--, 1);\n else {\n found = true;\n entry.value = val;\n }\n }\n }\n if (!found)\n entries.push({\n key: key,\n value: val\n });\n state.updateURL();\n },\n sort: function sort() {\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var slice = entries.slice();\n var entry, entriesIndex, sliceIndex;\n entries.length = 0;\n for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) {\n entry = slice[sliceIndex];\n for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) {\n if (entries[entriesIndex].key > entry.key) {\n entries.splice(entriesIndex, 0, entry);\n break;\n }\n }\n if (entriesIndex === sliceIndex)\n entries.push(entry);\n }\n state.updateURL();\n },\n forEach: function forEach(callback) {\n var entries = getInternalParamsState(this).entries;\n var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3);\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n boundFunction(entry.value, entry.key, this);\n }\n },\n keys: function keys() {\n return new URLSearchParamsIterator(this, 'keys');\n },\n values: function values() {\n return new URLSearchParamsIterator(this, 'values');\n },\n entries: function entries() {\n return new URLSearchParamsIterator(this, 'entries');\n }\n}, { enumerable: true });\nredefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);\nredefine(URLSearchParamsPrototype, 'toString', function toString() {\n var entries = getInternalParamsState(this).entries;\n var result = [];\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n result.push(serialize(entry.key) + '=' + serialize(entry.value));\n }\n return result.join('&');\n}, { enumerable: true });\nsetToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n$({\n global: true,\n forced: !USE_NATIVE_URL\n}, { URLSearchParams: URLSearchParamsConstructor });\nif (!USE_NATIVE_URL && typeof $fetch == 'function' && typeof Headers == 'function') {\n $({\n global: true,\n enumerable: true,\n forced: true\n }, {\n fetch: function fetch(input) {\n var args = [input];\n var init, body, headers;\n if (arguments.length > 1) {\n init = arguments[1];\n if (isObject(init)) {\n body = init.body;\n if (classof(body) === URL_SEARCH_PARAMS) {\n headers = init.headers ? new Headers(init.headers) : new Headers();\n if (!headers.has('content-type')) {\n headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n init = create(init, {\n body: createPropertyDescriptor(0, String(body)),\n headers: createPropertyDescriptor(0, headers)\n });\n }\n }\n args.push(init);\n }\n return $fetch.apply(this, args);\n }\n });\n}\nmodule.exports = {\n URLSearchParams: URLSearchParamsConstructor,\n getState: getInternalParamsState\n};\n\n/***/ }),\n/* 143 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar getIteratorMethod = __w_pdfjs_require__(94);\nmodule.exports = function (it) {\n var iteratorMethod = getIteratorMethod(it);\n if (typeof iteratorMethod != 'function') {\n throw TypeError(String(it) + ' is not iterable');\n }\n return anObject(iteratorMethod.call(it));\n};\n\n/***/ }),\n/* 144 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\n$({\n target: 'URL',\n proto: true,\n enumerable: true\n}, {\n toJSON: function toJSON() {\n return URL.prototype.toString.call(this);\n }\n});\n\n/***/ }),\n/* 145 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n(function (global, factory) {\n true ? factory(exports) : undefined;\n}(this, function (exports) {\n 'use strict';\n var SymbolPolyfill = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol : function (description) {\n return \"Symbol(\" + description + \")\";\n };\n function noop() {\n }\n var NumberIsNaN = Number.isNaN || function (x) {\n return x !== x;\n };\n var rethrowAssertionErrorRejection = noop;\n function typeIsObject(x) {\n return typeof x === 'object' && x !== null || typeof x === 'function';\n }\n function createArrayFromList(elements) {\n return elements.slice();\n }\n function ArrayBufferCopy(dest, destOffset, src, srcOffset, n) {\n new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n), destOffset);\n }\n function IsFiniteNonNegativeNumber(v) {\n if (IsNonNegativeNumber(v) === false) {\n return false;\n }\n if (v === Infinity) {\n return false;\n }\n return true;\n }\n function IsNonNegativeNumber(v) {\n if (typeof v !== 'number') {\n return false;\n }\n if (NumberIsNaN(v)) {\n return false;\n }\n if (v < 0) {\n return false;\n }\n return true;\n }\n function Call(F, V, args) {\n if (typeof F !== 'function') {\n throw new TypeError('Argument is not a function');\n }\n return Function.prototype.apply.call(F, V, args);\n }\n function CreateAlgorithmFromUnderlyingMethod(underlyingObject, methodName, algoArgCount, extraArgs) {\n var method = underlyingObject[methodName];\n if (method !== undefined) {\n if (typeof method !== 'function') {\n throw new TypeError(method + \" is not a method\");\n }\n switch (algoArgCount) {\n case 0: {\n return function () {\n return PromiseCall(method, underlyingObject, extraArgs);\n };\n }\n case 1: {\n return function (arg) {\n var fullArgs = [arg].concat(extraArgs);\n return PromiseCall(method, underlyingObject, fullArgs);\n };\n }\n }\n }\n return function () {\n return promiseResolvedWith(undefined);\n };\n }\n function InvokeOrNoop(O, P, args) {\n var method = O[P];\n if (method === undefined) {\n return undefined;\n }\n return Call(method, O, args);\n }\n function PromiseCall(F, V, args) {\n try {\n return promiseResolvedWith(Call(F, V, args));\n } catch (value) {\n return promiseRejectedWith(value);\n }\n }\n function TransferArrayBuffer(O) {\n return O;\n }\n function IsDetachedBuffer(O) {\n return false;\n }\n function ValidateAndNormalizeHighWaterMark(highWaterMark) {\n highWaterMark = Number(highWaterMark);\n if (NumberIsNaN(highWaterMark) || highWaterMark < 0) {\n throw new RangeError('highWaterMark property of a queuing strategy must be non-negative and non-NaN');\n }\n return highWaterMark;\n }\n function MakeSizeAlgorithmFromSizeFunction(size) {\n if (size === undefined) {\n return function () {\n return 1;\n };\n }\n if (typeof size !== 'function') {\n throw new TypeError('size property of a queuing strategy must be a function');\n }\n return function (chunk) {\n return size(chunk);\n };\n }\n var originalPromise = Promise;\n var originalPromiseThen = Promise.prototype.then;\n var originalPromiseResolve = Promise.resolve.bind(originalPromise);\n var originalPromiseReject = Promise.reject.bind(originalPromise);\n function newPromise(executor) {\n return new originalPromise(executor);\n }\n function promiseResolvedWith(value) {\n return originalPromiseResolve(value);\n }\n function promiseRejectedWith(reason) {\n return originalPromiseReject(reason);\n }\n function PerformPromiseThen(promise, onFulfilled, onRejected) {\n return originalPromiseThen.call(promise, onFulfilled, onRejected);\n }\n function uponPromise(promise, onFulfilled, onRejected) {\n PerformPromiseThen(PerformPromiseThen(promise, onFulfilled, onRejected), undefined, rethrowAssertionErrorRejection);\n }\n function uponFulfillment(promise, onFulfilled) {\n uponPromise(promise, onFulfilled);\n }\n function uponRejection(promise, onRejected) {\n uponPromise(promise, undefined, onRejected);\n }\n function transformPromiseWith(promise, fulfillmentHandler, rejectionHandler) {\n return PerformPromiseThen(promise, fulfillmentHandler, rejectionHandler);\n }\n function setPromiseIsHandledToTrue(promise) {\n PerformPromiseThen(promise, undefined, rethrowAssertionErrorRejection);\n }\n var QUEUE_MAX_ARRAY_SIZE = 16384;\n var SimpleQueue = function () {\n function SimpleQueue() {\n this._cursor = 0;\n this._size = 0;\n this._front = {\n _elements: [],\n _next: undefined\n };\n this._back = this._front;\n this._cursor = 0;\n this._size = 0;\n }\n Object.defineProperty(SimpleQueue.prototype, \"length\", {\n get: function () {\n return this._size;\n },\n enumerable: true,\n configurable: true\n });\n SimpleQueue.prototype.push = function (element) {\n var oldBack = this._back;\n var newBack = oldBack;\n if (oldBack._elements.length === QUEUE_MAX_ARRAY_SIZE - 1) {\n newBack = {\n _elements: [],\n _next: undefined\n };\n }\n oldBack._elements.push(element);\n if (newBack !== oldBack) {\n this._back = newBack;\n oldBack._next = newBack;\n }\n ++this._size;\n };\n SimpleQueue.prototype.shift = function () {\n var oldFront = this._front;\n var newFront = oldFront;\n var oldCursor = this._cursor;\n var newCursor = oldCursor + 1;\n var elements = oldFront._elements;\n var element = elements[oldCursor];\n if (newCursor === QUEUE_MAX_ARRAY_SIZE) {\n newFront = oldFront._next;\n newCursor = 0;\n }\n --this._size;\n this._cursor = newCursor;\n if (oldFront !== newFront) {\n this._front = newFront;\n }\n elements[oldCursor] = undefined;\n return element;\n };\n SimpleQueue.prototype.forEach = function (callback) {\n var i = this._cursor;\n var node = this._front;\n var elements = node._elements;\n while (i !== elements.length || node._next !== undefined) {\n if (i === elements.length) {\n node = node._next;\n elements = node._elements;\n i = 0;\n if (elements.length === 0) {\n break;\n }\n }\n callback(elements[i]);\n ++i;\n }\n };\n SimpleQueue.prototype.peek = function () {\n var front = this._front;\n var cursor = this._cursor;\n return front._elements[cursor];\n };\n return SimpleQueue;\n }();\n function ReadableStreamCreateReadResult(value, done, forAuthorCode) {\n var prototype = null;\n if (forAuthorCode === true) {\n prototype = Object.prototype;\n }\n var obj = Object.create(prototype);\n obj.value = value;\n obj.done = done;\n return obj;\n }\n function ReadableStreamReaderGenericInitialize(reader, stream) {\n reader._forAuthorCode = true;\n reader._ownerReadableStream = stream;\n stream._reader = reader;\n if (stream._state === 'readable') {\n defaultReaderClosedPromiseInitialize(reader);\n } else if (stream._state === 'closed') {\n defaultReaderClosedPromiseInitializeAsResolved(reader);\n } else {\n defaultReaderClosedPromiseInitializeAsRejected(reader, stream._storedError);\n }\n }\n function ReadableStreamReaderGenericCancel(reader, reason) {\n var stream = reader._ownerReadableStream;\n return ReadableStreamCancel(stream, reason);\n }\n function ReadableStreamReaderGenericRelease(reader) {\n if (reader._ownerReadableStream._state === 'readable') {\n defaultReaderClosedPromiseReject(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\\'s closedness'));\n } else {\n defaultReaderClosedPromiseResetToRejected(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\\'s closedness'));\n }\n reader._ownerReadableStream._reader = undefined;\n reader._ownerReadableStream = undefined;\n }\n function readerLockException(name) {\n return new TypeError('Cannot ' + name + ' a stream using a released reader');\n }\n function defaultReaderClosedPromiseInitialize(reader) {\n reader._closedPromise = newPromise(function (resolve, reject) {\n reader._closedPromise_resolve = resolve;\n reader._closedPromise_reject = reject;\n });\n }\n function defaultReaderClosedPromiseInitializeAsRejected(reader, reason) {\n defaultReaderClosedPromiseInitialize(reader);\n defaultReaderClosedPromiseReject(reader, reason);\n }\n function defaultReaderClosedPromiseInitializeAsResolved(reader) {\n defaultReaderClosedPromiseInitialize(reader);\n defaultReaderClosedPromiseResolve(reader);\n }\n function defaultReaderClosedPromiseReject(reader, reason) {\n setPromiseIsHandledToTrue(reader._closedPromise);\n reader._closedPromise_reject(reason);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n function defaultReaderClosedPromiseResetToRejected(reader, reason) {\n defaultReaderClosedPromiseInitializeAsRejected(reader, reason);\n }\n function defaultReaderClosedPromiseResolve(reader) {\n reader._closedPromise_resolve(undefined);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n var CancelSteps = SymbolPolyfill('[[CancelSteps]]');\n var PullSteps = SymbolPolyfill('[[PullSteps]]');\n function AcquireReadableStreamDefaultReader(stream, forAuthorCode) {\n if (forAuthorCode === void 0) {\n forAuthorCode = false;\n }\n var reader = new ReadableStreamDefaultReader(stream);\n reader._forAuthorCode = forAuthorCode;\n return reader;\n }\n function ReadableStreamAddReadRequest(stream) {\n var promise = newPromise(function (resolve, reject) {\n var readRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._reader._readRequests.push(readRequest);\n });\n return promise;\n }\n function ReadableStreamFulfillReadRequest(stream, chunk, done) {\n var reader = stream._reader;\n var readRequest = reader._readRequests.shift();\n readRequest._resolve(ReadableStreamCreateReadResult(chunk, done, reader._forAuthorCode));\n }\n function ReadableStreamGetNumReadRequests(stream) {\n return stream._reader._readRequests.length;\n }\n function ReadableStreamHasDefaultReader(stream) {\n var reader = stream._reader;\n if (reader === undefined) {\n return false;\n }\n if (!IsReadableStreamDefaultReader(reader)) {\n return false;\n }\n return true;\n }\n var ReadableStreamDefaultReader = function () {\n function ReadableStreamDefaultReader(stream) {\n if (IsReadableStream(stream) === false) {\n throw new TypeError('ReadableStreamDefaultReader can only be constructed with a ReadableStream instance');\n }\n if (IsReadableStreamLocked(stream) === true) {\n throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n }\n ReadableStreamReaderGenericInitialize(this, stream);\n this._readRequests = new SimpleQueue();\n }\n Object.defineProperty(ReadableStreamDefaultReader.prototype, \"closed\", {\n get: function () {\n if (!IsReadableStreamDefaultReader(this)) {\n return promiseRejectedWith(defaultReaderBrandCheckException('closed'));\n }\n return this._closedPromise;\n },\n enumerable: true,\n configurable: true\n });\n ReadableStreamDefaultReader.prototype.cancel = function (reason) {\n if (!IsReadableStreamDefaultReader(this)) {\n return promiseRejectedWith(defaultReaderBrandCheckException('cancel'));\n }\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('cancel'));\n }\n return ReadableStreamReaderGenericCancel(this, reason);\n };\n ReadableStreamDefaultReader.prototype.read = function () {\n if (!IsReadableStreamDefaultReader(this)) {\n return promiseRejectedWith(defaultReaderBrandCheckException('read'));\n }\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('read from'));\n }\n return ReadableStreamDefaultReaderRead(this);\n };\n ReadableStreamDefaultReader.prototype.releaseLock = function () {\n if (!IsReadableStreamDefaultReader(this)) {\n throw defaultReaderBrandCheckException('releaseLock');\n }\n if (this._ownerReadableStream === undefined) {\n return;\n }\n if (this._readRequests.length > 0) {\n throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\n }\n ReadableStreamReaderGenericRelease(this);\n };\n return ReadableStreamDefaultReader;\n }();\n function IsReadableStreamDefaultReader(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readRequests')) {\n return false;\n }\n return true;\n }\n function ReadableStreamDefaultReaderRead(reader) {\n var stream = reader._ownerReadableStream;\n stream._disturbed = true;\n if (stream._state === 'closed') {\n return promiseResolvedWith(ReadableStreamCreateReadResult(undefined, true, reader._forAuthorCode));\n }\n if (stream._state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n return stream._readableStreamController[PullSteps]();\n }\n function defaultReaderBrandCheckException(name) {\n return new TypeError(\"ReadableStreamDefaultReader.prototype.\" + name + \" can only be used on a ReadableStreamDefaultReader\");\n }\n var _a;\n var AsyncIteratorPrototype;\n if (typeof SymbolPolyfill.asyncIterator === 'symbol') {\n AsyncIteratorPrototype = (_a = {}, _a[SymbolPolyfill.asyncIterator] = function () {\n return this;\n }, _a);\n Object.defineProperty(AsyncIteratorPrototype, SymbolPolyfill.asyncIterator, { enumerable: false });\n }\n var ReadableStreamAsyncIteratorPrototype = {\n next: function () {\n if (IsReadableStreamAsyncIterator(this) === false) {\n return promiseRejectedWith(streamAsyncIteratorBrandCheckException('next'));\n }\n var reader = this._asyncIteratorReader;\n if (reader._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('iterate'));\n }\n return transformPromiseWith(ReadableStreamDefaultReaderRead(reader), function (result) {\n var done = result.done;\n if (done) {\n ReadableStreamReaderGenericRelease(reader);\n }\n var value = result.value;\n return ReadableStreamCreateReadResult(value, done, true);\n });\n },\n return: function (value) {\n if (IsReadableStreamAsyncIterator(this) === false) {\n return promiseRejectedWith(streamAsyncIteratorBrandCheckException('next'));\n }\n var reader = this._asyncIteratorReader;\n if (reader._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('finish iterating'));\n }\n if (reader._readRequests.length > 0) {\n return promiseRejectedWith(new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled'));\n }\n if (this._preventCancel === false) {\n var result = ReadableStreamReaderGenericCancel(reader, value);\n ReadableStreamReaderGenericRelease(reader);\n return transformPromiseWith(result, function () {\n return ReadableStreamCreateReadResult(value, true, true);\n });\n }\n ReadableStreamReaderGenericRelease(reader);\n return promiseResolvedWith(ReadableStreamCreateReadResult(value, true, true));\n }\n };\n if (AsyncIteratorPrototype !== undefined) {\n Object.setPrototypeOf(ReadableStreamAsyncIteratorPrototype, AsyncIteratorPrototype);\n }\n Object.defineProperty(ReadableStreamAsyncIteratorPrototype, 'next', { enumerable: false });\n Object.defineProperty(ReadableStreamAsyncIteratorPrototype, 'return', { enumerable: false });\n function AcquireReadableStreamAsyncIterator(stream, preventCancel) {\n if (preventCancel === void 0) {\n preventCancel = false;\n }\n var reader = AcquireReadableStreamDefaultReader(stream);\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype);\n iterator._asyncIteratorReader = reader;\n iterator._preventCancel = Boolean(preventCancel);\n return iterator;\n }\n function IsReadableStreamAsyncIterator(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_asyncIteratorReader')) {\n return false;\n }\n return true;\n }\n function streamAsyncIteratorBrandCheckException(name) {\n return new TypeError(\"ReadableStreamAsyncIterator.\" + name + \" can only be used on a ReadableSteamAsyncIterator\");\n }\n function DequeueValue(container) {\n var pair = container._queue.shift();\n container._queueTotalSize -= pair.size;\n if (container._queueTotalSize < 0) {\n container._queueTotalSize = 0;\n }\n return pair.value;\n }\n function EnqueueValueWithSize(container, value, size) {\n size = Number(size);\n if (!IsFiniteNonNegativeNumber(size)) {\n throw new RangeError('Size must be a finite, non-NaN, non-negative number.');\n }\n container._queue.push({\n value: value,\n size: size\n });\n container._queueTotalSize += size;\n }\n function PeekQueueValue(container) {\n var pair = container._queue.peek();\n return pair.value;\n }\n function ResetQueue(container) {\n container._queue = new SimpleQueue();\n container._queueTotalSize = 0;\n }\n var AbortSteps = SymbolPolyfill('[[AbortSteps]]');\n var ErrorSteps = SymbolPolyfill('[[ErrorSteps]]');\n var WritableStream = function () {\n function WritableStream(underlyingSink, strategy) {\n if (underlyingSink === void 0) {\n underlyingSink = {};\n }\n if (strategy === void 0) {\n strategy = {};\n }\n InitializeWritableStream(this);\n var size = strategy.size;\n var highWaterMark = strategy.highWaterMark;\n var type = underlyingSink.type;\n if (type !== undefined) {\n throw new RangeError('Invalid type is specified');\n }\n var sizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(size);\n if (highWaterMark === undefined) {\n highWaterMark = 1;\n }\n highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);\n SetUpWritableStreamDefaultControllerFromUnderlyingSink(this, underlyingSink, highWaterMark, sizeAlgorithm);\n }\n Object.defineProperty(WritableStream.prototype, \"locked\", {\n get: function () {\n if (IsWritableStream(this) === false) {\n throw streamBrandCheckException('locked');\n }\n return IsWritableStreamLocked(this);\n },\n enumerable: true,\n configurable: true\n });\n WritableStream.prototype.abort = function (reason) {\n if (IsWritableStream(this) === false) {\n return promiseRejectedWith(streamBrandCheckException('abort'));\n }\n if (IsWritableStreamLocked(this) === true) {\n return promiseRejectedWith(new TypeError('Cannot abort a stream that already has a writer'));\n }\n return WritableStreamAbort(this, reason);\n };\n WritableStream.prototype.close = function () {\n if (IsWritableStream(this) === false) {\n return promiseRejectedWith(streamBrandCheckException('close'));\n }\n if (IsWritableStreamLocked(this) === true) {\n return promiseRejectedWith(new TypeError('Cannot close a stream that already has a writer'));\n }\n if (WritableStreamCloseQueuedOrInFlight(this) === true) {\n return promiseRejectedWith(new TypeError('Cannot close an already-closing stream'));\n }\n return WritableStreamClose(this);\n };\n WritableStream.prototype.getWriter = function () {\n if (IsWritableStream(this) === false) {\n throw streamBrandCheckException('getWriter');\n }\n return AcquireWritableStreamDefaultWriter(this);\n };\n return WritableStream;\n }();\n function AcquireWritableStreamDefaultWriter(stream) {\n return new WritableStreamDefaultWriter(stream);\n }\n function CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {\n if (highWaterMark === void 0) {\n highWaterMark = 1;\n }\n if (sizeAlgorithm === void 0) {\n sizeAlgorithm = function () {\n return 1;\n };\n }\n var stream = Object.create(WritableStream.prototype);\n InitializeWritableStream(stream);\n var controller = Object.create(WritableStreamDefaultController.prototype);\n SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);\n return stream;\n }\n function InitializeWritableStream(stream) {\n stream._state = 'writable';\n stream._storedError = undefined;\n stream._writer = undefined;\n stream._writableStreamController = undefined;\n stream._writeRequests = new SimpleQueue();\n stream._inFlightWriteRequest = undefined;\n stream._closeRequest = undefined;\n stream._inFlightCloseRequest = undefined;\n stream._pendingAbortRequest = undefined;\n stream._backpressure = false;\n }\n function IsWritableStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_writableStreamController')) {\n return false;\n }\n return true;\n }\n function IsWritableStreamLocked(stream) {\n if (stream._writer === undefined) {\n return false;\n }\n return true;\n }\n function WritableStreamAbort(stream, reason) {\n var state = stream._state;\n if (state === 'closed' || state === 'errored') {\n return promiseResolvedWith(undefined);\n }\n if (stream._pendingAbortRequest !== undefined) {\n return stream._pendingAbortRequest._promise;\n }\n var wasAlreadyErroring = false;\n if (state === 'erroring') {\n wasAlreadyErroring = true;\n reason = undefined;\n }\n var promise = newPromise(function (resolve, reject) {\n stream._pendingAbortRequest = {\n _promise: undefined,\n _resolve: resolve,\n _reject: reject,\n _reason: reason,\n _wasAlreadyErroring: wasAlreadyErroring\n };\n });\n stream._pendingAbortRequest._promise = promise;\n if (wasAlreadyErroring === false) {\n WritableStreamStartErroring(stream, reason);\n }\n return promise;\n }\n function WritableStreamClose(stream) {\n var state = stream._state;\n if (state === 'closed' || state === 'errored') {\n return promiseRejectedWith(new TypeError(\"The stream (in \" + state + \" state) is not in the writable state and cannot be closed\"));\n }\n var promise = newPromise(function (resolve, reject) {\n var closeRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._closeRequest = closeRequest;\n });\n var writer = stream._writer;\n if (writer !== undefined && stream._backpressure === true && state === 'writable') {\n defaultWriterReadyPromiseResolve(writer);\n }\n WritableStreamDefaultControllerClose(stream._writableStreamController);\n return promise;\n }\n function WritableStreamAddWriteRequest(stream) {\n var promise = newPromise(function (resolve, reject) {\n var writeRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._writeRequests.push(writeRequest);\n });\n return promise;\n }\n function WritableStreamDealWithRejection(stream, error) {\n var state = stream._state;\n if (state === 'writable') {\n WritableStreamStartErroring(stream, error);\n return;\n }\n WritableStreamFinishErroring(stream);\n }\n function WritableStreamStartErroring(stream, reason) {\n var controller = stream._writableStreamController;\n stream._state = 'erroring';\n stream._storedError = reason;\n var writer = stream._writer;\n if (writer !== undefined) {\n WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, reason);\n }\n if (WritableStreamHasOperationMarkedInFlight(stream) === false && controller._started === true) {\n WritableStreamFinishErroring(stream);\n }\n }\n function WritableStreamFinishErroring(stream) {\n stream._state = 'errored';\n stream._writableStreamController[ErrorSteps]();\n var storedError = stream._storedError;\n stream._writeRequests.forEach(function (writeRequest) {\n writeRequest._reject(storedError);\n });\n stream._writeRequests = new SimpleQueue();\n if (stream._pendingAbortRequest === undefined) {\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n return;\n }\n var abortRequest = stream._pendingAbortRequest;\n stream._pendingAbortRequest = undefined;\n if (abortRequest._wasAlreadyErroring === true) {\n abortRequest._reject(storedError);\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n return;\n }\n var promise = stream._writableStreamController[AbortSteps](abortRequest._reason);\n uponPromise(promise, function () {\n abortRequest._resolve();\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n }, function (reason) {\n abortRequest._reject(reason);\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n });\n }\n function WritableStreamFinishInFlightWrite(stream) {\n stream._inFlightWriteRequest._resolve(undefined);\n stream._inFlightWriteRequest = undefined;\n }\n function WritableStreamFinishInFlightWriteWithError(stream, error) {\n stream._inFlightWriteRequest._reject(error);\n stream._inFlightWriteRequest = undefined;\n WritableStreamDealWithRejection(stream, error);\n }\n function WritableStreamFinishInFlightClose(stream) {\n stream._inFlightCloseRequest._resolve(undefined);\n stream._inFlightCloseRequest = undefined;\n var state = stream._state;\n if (state === 'erroring') {\n stream._storedError = undefined;\n if (stream._pendingAbortRequest !== undefined) {\n stream._pendingAbortRequest._resolve();\n stream._pendingAbortRequest = undefined;\n }\n }\n stream._state = 'closed';\n var writer = stream._writer;\n if (writer !== undefined) {\n defaultWriterClosedPromiseResolve(writer);\n }\n }\n function WritableStreamFinishInFlightCloseWithError(stream, error) {\n stream._inFlightCloseRequest._reject(error);\n stream._inFlightCloseRequest = undefined;\n if (stream._pendingAbortRequest !== undefined) {\n stream._pendingAbortRequest._reject(error);\n stream._pendingAbortRequest = undefined;\n }\n WritableStreamDealWithRejection(stream, error);\n }\n function WritableStreamCloseQueuedOrInFlight(stream) {\n if (stream._closeRequest === undefined && stream._inFlightCloseRequest === undefined) {\n return false;\n }\n return true;\n }\n function WritableStreamHasOperationMarkedInFlight(stream) {\n if (stream._inFlightWriteRequest === undefined && stream._inFlightCloseRequest === undefined) {\n return false;\n }\n return true;\n }\n function WritableStreamMarkCloseRequestInFlight(stream) {\n stream._inFlightCloseRequest = stream._closeRequest;\n stream._closeRequest = undefined;\n }\n function WritableStreamMarkFirstWriteRequestInFlight(stream) {\n stream._inFlightWriteRequest = stream._writeRequests.shift();\n }\n function WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream) {\n if (stream._closeRequest !== undefined) {\n stream._closeRequest._reject(stream._storedError);\n stream._closeRequest = undefined;\n }\n var writer = stream._writer;\n if (writer !== undefined) {\n defaultWriterClosedPromiseReject(writer, stream._storedError);\n }\n }\n function WritableStreamUpdateBackpressure(stream, backpressure) {\n var writer = stream._writer;\n if (writer !== undefined && backpressure !== stream._backpressure) {\n if (backpressure === true) {\n defaultWriterReadyPromiseReset(writer);\n } else {\n defaultWriterReadyPromiseResolve(writer);\n }\n }\n stream._backpressure = backpressure;\n }\n var WritableStreamDefaultWriter = function () {\n function WritableStreamDefaultWriter(stream) {\n if (IsWritableStream(stream) === false) {\n throw new TypeError('WritableStreamDefaultWriter can only be constructed with a WritableStream instance');\n }\n if (IsWritableStreamLocked(stream) === true) {\n throw new TypeError('This stream has already been locked for exclusive writing by another writer');\n }\n this._ownerWritableStream = stream;\n stream._writer = this;\n var state = stream._state;\n if (state === 'writable') {\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._backpressure === true) {\n defaultWriterReadyPromiseInitialize(this);\n } else {\n defaultWriterReadyPromiseInitializeAsResolved(this);\n }\n defaultWriterClosedPromiseInitialize(this);\n } else if (state === 'erroring') {\n defaultWriterReadyPromiseInitializeAsRejected(this, stream._storedError);\n defaultWriterClosedPromiseInitialize(this);\n } else if (state === 'closed') {\n defaultWriterReadyPromiseInitializeAsResolved(this);\n defaultWriterClosedPromiseInitializeAsResolved(this);\n } else {\n var storedError = stream._storedError;\n defaultWriterReadyPromiseInitializeAsRejected(this, storedError);\n defaultWriterClosedPromiseInitializeAsRejected(this, storedError);\n }\n }\n Object.defineProperty(WritableStreamDefaultWriter.prototype, \"closed\", {\n get: function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return promiseRejectedWith(defaultWriterBrandCheckException('closed'));\n }\n return this._closedPromise;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(WritableStreamDefaultWriter.prototype, \"desiredSize\", {\n get: function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n throw defaultWriterBrandCheckException('desiredSize');\n }\n if (this._ownerWritableStream === undefined) {\n throw defaultWriterLockException('desiredSize');\n }\n return WritableStreamDefaultWriterGetDesiredSize(this);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(WritableStreamDefaultWriter.prototype, \"ready\", {\n get: function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return promiseRejectedWith(defaultWriterBrandCheckException('ready'));\n }\n return this._readyPromise;\n },\n enumerable: true,\n configurable: true\n });\n WritableStreamDefaultWriter.prototype.abort = function (reason) {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return promiseRejectedWith(defaultWriterBrandCheckException('abort'));\n }\n if (this._ownerWritableStream === undefined) {\n return promiseRejectedWith(defaultWriterLockException('abort'));\n }\n return WritableStreamDefaultWriterAbort(this, reason);\n };\n WritableStreamDefaultWriter.prototype.close = function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return promiseRejectedWith(defaultWriterBrandCheckException('close'));\n }\n var stream = this._ownerWritableStream;\n if (stream === undefined) {\n return promiseRejectedWith(defaultWriterLockException('close'));\n }\n if (WritableStreamCloseQueuedOrInFlight(stream) === true) {\n return promiseRejectedWith(new TypeError('Cannot close an already-closing stream'));\n }\n return WritableStreamDefaultWriterClose(this);\n };\n WritableStreamDefaultWriter.prototype.releaseLock = function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n throw defaultWriterBrandCheckException('releaseLock');\n }\n var stream = this._ownerWritableStream;\n if (stream === undefined) {\n return;\n }\n WritableStreamDefaultWriterRelease(this);\n };\n WritableStreamDefaultWriter.prototype.write = function (chunk) {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return promiseRejectedWith(defaultWriterBrandCheckException('write'));\n }\n if (this._ownerWritableStream === undefined) {\n return promiseRejectedWith(defaultWriterLockException('write to'));\n }\n return WritableStreamDefaultWriterWrite(this, chunk);\n };\n return WritableStreamDefaultWriter;\n }();\n function IsWritableStreamDefaultWriter(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_ownerWritableStream')) {\n return false;\n }\n return true;\n }\n function WritableStreamDefaultWriterAbort(writer, reason) {\n var stream = writer._ownerWritableStream;\n return WritableStreamAbort(stream, reason);\n }\n function WritableStreamDefaultWriterClose(writer) {\n var stream = writer._ownerWritableStream;\n return WritableStreamClose(stream);\n }\n function WritableStreamDefaultWriterCloseWithErrorPropagation(writer) {\n var stream = writer._ownerWritableStream;\n var state = stream._state;\n if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\n return promiseResolvedWith(undefined);\n }\n if (state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n return WritableStreamDefaultWriterClose(writer);\n }\n function WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, error) {\n if (writer._closedPromiseState === 'pending') {\n defaultWriterClosedPromiseReject(writer, error);\n } else {\n defaultWriterClosedPromiseResetToRejected(writer, error);\n }\n }\n function WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, error) {\n if (writer._readyPromiseState === 'pending') {\n defaultWriterReadyPromiseReject(writer, error);\n } else {\n defaultWriterReadyPromiseResetToRejected(writer, error);\n }\n }\n function WritableStreamDefaultWriterGetDesiredSize(writer) {\n var stream = writer._ownerWritableStream;\n var state = stream._state;\n if (state === 'errored' || state === 'erroring') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n return WritableStreamDefaultControllerGetDesiredSize(stream._writableStreamController);\n }\n function WritableStreamDefaultWriterRelease(writer) {\n var stream = writer._ownerWritableStream;\n var releasedError = new TypeError('Writer was released and can no longer be used to monitor the stream\\'s closedness');\n WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, releasedError);\n WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, releasedError);\n stream._writer = undefined;\n writer._ownerWritableStream = undefined;\n }\n function WritableStreamDefaultWriterWrite(writer, chunk) {\n var stream = writer._ownerWritableStream;\n var controller = stream._writableStreamController;\n var chunkSize = WritableStreamDefaultControllerGetChunkSize(controller, chunk);\n if (stream !== writer._ownerWritableStream) {\n return promiseRejectedWith(defaultWriterLockException('write to'));\n }\n var state = stream._state;\n if (state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\n return promiseRejectedWith(new TypeError('The stream is closing or closed and cannot be written to'));\n }\n if (state === 'erroring') {\n return promiseRejectedWith(stream._storedError);\n }\n var promise = WritableStreamAddWriteRequest(stream);\n WritableStreamDefaultControllerWrite(controller, chunk, chunkSize);\n return promise;\n }\n var WritableStreamDefaultController = function () {\n function WritableStreamDefaultController() {\n throw new TypeError('WritableStreamDefaultController cannot be constructed explicitly');\n }\n WritableStreamDefaultController.prototype.error = function (e) {\n if (IsWritableStreamDefaultController(this) === false) {\n throw new TypeError('WritableStreamDefaultController.prototype.error can only be used on a WritableStreamDefaultController');\n }\n var state = this._controlledWritableStream._state;\n if (state !== 'writable') {\n return;\n }\n WritableStreamDefaultControllerError(this, e);\n };\n WritableStreamDefaultController.prototype[AbortSteps] = function (reason) {\n var result = this._abortAlgorithm(reason);\n WritableStreamDefaultControllerClearAlgorithms(this);\n return result;\n };\n WritableStreamDefaultController.prototype[ErrorSteps] = function () {\n ResetQueue(this);\n };\n return WritableStreamDefaultController;\n }();\n function IsWritableStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledWritableStream')) {\n return false;\n }\n return true;\n }\n function SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {\n controller._controlledWritableStream = stream;\n stream._writableStreamController = controller;\n controller._queue = undefined;\n controller._queueTotalSize = undefined;\n ResetQueue(controller);\n controller._started = false;\n controller._strategySizeAlgorithm = sizeAlgorithm;\n controller._strategyHWM = highWaterMark;\n controller._writeAlgorithm = writeAlgorithm;\n controller._closeAlgorithm = closeAlgorithm;\n controller._abortAlgorithm = abortAlgorithm;\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n var startResult = startAlgorithm();\n var startPromise = promiseResolvedWith(startResult);\n uponPromise(startPromise, function () {\n controller._started = true;\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }, function (r) {\n controller._started = true;\n WritableStreamDealWithRejection(stream, r);\n });\n }\n function SetUpWritableStreamDefaultControllerFromUnderlyingSink(stream, underlyingSink, highWaterMark, sizeAlgorithm) {\n var controller = Object.create(WritableStreamDefaultController.prototype);\n function startAlgorithm() {\n return InvokeOrNoop(underlyingSink, 'start', [controller]);\n }\n var writeAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'write', 1, [controller]);\n var closeAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'close', 0, []);\n var abortAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'abort', 1, []);\n SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);\n }\n function WritableStreamDefaultControllerClearAlgorithms(controller) {\n controller._writeAlgorithm = undefined;\n controller._closeAlgorithm = undefined;\n controller._abortAlgorithm = undefined;\n controller._strategySizeAlgorithm = undefined;\n }\n function WritableStreamDefaultControllerClose(controller) {\n EnqueueValueWithSize(controller, 'close', 0);\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }\n function WritableStreamDefaultControllerGetChunkSize(controller, chunk) {\n try {\n return controller._strategySizeAlgorithm(chunk);\n } catch (chunkSizeE) {\n WritableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE);\n return 1;\n }\n }\n function WritableStreamDefaultControllerGetDesiredSize(controller) {\n return controller._strategyHWM - controller._queueTotalSize;\n }\n function WritableStreamDefaultControllerWrite(controller, chunk, chunkSize) {\n var writeRecord = { chunk: chunk };\n try {\n EnqueueValueWithSize(controller, writeRecord, chunkSize);\n } catch (enqueueE) {\n WritableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);\n return;\n }\n var stream = controller._controlledWritableStream;\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._state === 'writable') {\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }\n function WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller) {\n var stream = controller._controlledWritableStream;\n if (controller._started === false) {\n return;\n }\n if (stream._inFlightWriteRequest !== undefined) {\n return;\n }\n var state = stream._state;\n if (state === 'erroring') {\n WritableStreamFinishErroring(stream);\n return;\n }\n if (controller._queue.length === 0) {\n return;\n }\n var writeRecord = PeekQueueValue(controller);\n if (writeRecord === 'close') {\n WritableStreamDefaultControllerProcessClose(controller);\n } else {\n WritableStreamDefaultControllerProcessWrite(controller, writeRecord.chunk);\n }\n }\n function WritableStreamDefaultControllerErrorIfNeeded(controller, error) {\n if (controller._controlledWritableStream._state === 'writable') {\n WritableStreamDefaultControllerError(controller, error);\n }\n }\n function WritableStreamDefaultControllerProcessClose(controller) {\n var stream = controller._controlledWritableStream;\n WritableStreamMarkCloseRequestInFlight(stream);\n DequeueValue(controller);\n var sinkClosePromise = controller._closeAlgorithm();\n WritableStreamDefaultControllerClearAlgorithms(controller);\n uponPromise(sinkClosePromise, function () {\n WritableStreamFinishInFlightClose(stream);\n }, function (reason) {\n WritableStreamFinishInFlightCloseWithError(stream, reason);\n });\n }\n function WritableStreamDefaultControllerProcessWrite(controller, chunk) {\n var stream = controller._controlledWritableStream;\n WritableStreamMarkFirstWriteRequestInFlight(stream);\n var sinkWritePromise = controller._writeAlgorithm(chunk);\n uponPromise(sinkWritePromise, function () {\n WritableStreamFinishInFlightWrite(stream);\n var state = stream._state;\n DequeueValue(controller);\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && state === 'writable') {\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }, function (reason) {\n if (stream._state === 'writable') {\n WritableStreamDefaultControllerClearAlgorithms(controller);\n }\n WritableStreamFinishInFlightWriteWithError(stream, reason);\n });\n }\n function WritableStreamDefaultControllerGetBackpressure(controller) {\n var desiredSize = WritableStreamDefaultControllerGetDesiredSize(controller);\n return desiredSize <= 0;\n }\n function WritableStreamDefaultControllerError(controller, error) {\n var stream = controller._controlledWritableStream;\n WritableStreamDefaultControllerClearAlgorithms(controller);\n WritableStreamStartErroring(stream, error);\n }\n function streamBrandCheckException(name) {\n return new TypeError(\"WritableStream.prototype.\" + name + \" can only be used on a WritableStream\");\n }\n function defaultWriterBrandCheckException(name) {\n return new TypeError(\"WritableStreamDefaultWriter.prototype.\" + name + \" can only be used on a WritableStreamDefaultWriter\");\n }\n function defaultWriterLockException(name) {\n return new TypeError('Cannot ' + name + ' a stream using a released writer');\n }\n function defaultWriterClosedPromiseInitialize(writer) {\n writer._closedPromise = newPromise(function (resolve, reject) {\n writer._closedPromise_resolve = resolve;\n writer._closedPromise_reject = reject;\n writer._closedPromiseState = 'pending';\n });\n }\n function defaultWriterClosedPromiseInitializeAsRejected(writer, reason) {\n defaultWriterClosedPromiseInitialize(writer);\n defaultWriterClosedPromiseReject(writer, reason);\n }\n function defaultWriterClosedPromiseInitializeAsResolved(writer) {\n defaultWriterClosedPromiseInitialize(writer);\n defaultWriterClosedPromiseResolve(writer);\n }\n function defaultWriterClosedPromiseReject(writer, reason) {\n setPromiseIsHandledToTrue(writer._closedPromise);\n writer._closedPromise_reject(reason);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'rejected';\n }\n function defaultWriterClosedPromiseResetToRejected(writer, reason) {\n defaultWriterClosedPromiseInitializeAsRejected(writer, reason);\n }\n function defaultWriterClosedPromiseResolve(writer) {\n writer._closedPromise_resolve(undefined);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'resolved';\n }\n function defaultWriterReadyPromiseInitialize(writer) {\n writer._readyPromise = newPromise(function (resolve, reject) {\n writer._readyPromise_resolve = resolve;\n writer._readyPromise_reject = reject;\n });\n writer._readyPromiseState = 'pending';\n }\n function defaultWriterReadyPromiseInitializeAsRejected(writer, reason) {\n defaultWriterReadyPromiseInitialize(writer);\n defaultWriterReadyPromiseReject(writer, reason);\n }\n function defaultWriterReadyPromiseInitializeAsResolved(writer) {\n defaultWriterReadyPromiseInitialize(writer);\n defaultWriterReadyPromiseResolve(writer);\n }\n function defaultWriterReadyPromiseReject(writer, reason) {\n setPromiseIsHandledToTrue(writer._readyPromise);\n writer._readyPromise_reject(reason);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'rejected';\n }\n function defaultWriterReadyPromiseReset(writer) {\n defaultWriterReadyPromiseInitialize(writer);\n }\n function defaultWriterReadyPromiseResetToRejected(writer, reason) {\n defaultWriterReadyPromiseInitializeAsRejected(writer, reason);\n }\n function defaultWriterReadyPromiseResolve(writer) {\n writer._readyPromise_resolve(undefined);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'fulfilled';\n }\n function isAbortSignal(value) {\n if (typeof value !== 'object' || value === null) {\n return false;\n }\n try {\n return typeof value.aborted === 'boolean';\n } catch (_a) {\n return false;\n }\n }\n var NativeDOMException = typeof DOMException !== 'undefined' ? DOMException : undefined;\n function isDOMExceptionConstructor(ctor) {\n if (!(typeof ctor === 'function' || typeof ctor === 'object')) {\n return false;\n }\n try {\n new ctor();\n return true;\n } catch (_a) {\n return false;\n }\n }\n function createDOMExceptionPolyfill() {\n var ctor = function DOMException(message, name) {\n this.message = message || '';\n this.name = name || 'Error';\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n };\n ctor.prototype = Object.create(Error.prototype);\n Object.defineProperty(ctor.prototype, 'constructor', {\n value: ctor,\n writable: true,\n configurable: true\n });\n return ctor;\n }\n var DOMException$1 = isDOMExceptionConstructor(NativeDOMException) ? NativeDOMException : createDOMExceptionPolyfill();\n function ReadableStreamPipeTo(source, dest, preventClose, preventAbort, preventCancel, signal) {\n var reader = AcquireReadableStreamDefaultReader(source);\n var writer = AcquireWritableStreamDefaultWriter(dest);\n source._disturbed = true;\n var shuttingDown = false;\n var currentWrite = promiseResolvedWith(undefined);\n return newPromise(function (resolve, reject) {\n var abortAlgorithm;\n if (signal !== undefined) {\n abortAlgorithm = function () {\n var error = new DOMException$1('Aborted', 'AbortError');\n var actions = [];\n if (preventAbort === false) {\n actions.push(function () {\n if (dest._state === 'writable') {\n return WritableStreamAbort(dest, error);\n }\n return promiseResolvedWith(undefined);\n });\n }\n if (preventCancel === false) {\n actions.push(function () {\n if (source._state === 'readable') {\n return ReadableStreamCancel(source, error);\n }\n return promiseResolvedWith(undefined);\n });\n }\n shutdownWithAction(function () {\n return Promise.all(actions.map(function (action) {\n return action();\n }));\n }, true, error);\n };\n if (signal.aborted === true) {\n abortAlgorithm();\n return;\n }\n signal.addEventListener('abort', abortAlgorithm);\n }\n function pipeLoop() {\n return newPromise(function (resolveLoop, rejectLoop) {\n function next(done) {\n if (done) {\n resolveLoop();\n } else {\n PerformPromiseThen(pipeStep(), next, rejectLoop);\n }\n }\n next(false);\n });\n }\n function pipeStep() {\n if (shuttingDown === true) {\n return promiseResolvedWith(true);\n }\n return PerformPromiseThen(writer._readyPromise, function () {\n return PerformPromiseThen(ReadableStreamDefaultReaderRead(reader), function (result) {\n if (result.done === true) {\n return true;\n }\n currentWrite = PerformPromiseThen(WritableStreamDefaultWriterWrite(writer, result.value), undefined, noop);\n return false;\n });\n });\n }\n isOrBecomesErrored(source, reader._closedPromise, function (storedError) {\n if (preventAbort === false) {\n shutdownWithAction(function () {\n return WritableStreamAbort(dest, storedError);\n }, true, storedError);\n } else {\n shutdown(true, storedError);\n }\n });\n isOrBecomesErrored(dest, writer._closedPromise, function (storedError) {\n if (preventCancel === false) {\n shutdownWithAction(function () {\n return ReadableStreamCancel(source, storedError);\n }, true, storedError);\n } else {\n shutdown(true, storedError);\n }\n });\n isOrBecomesClosed(source, reader._closedPromise, function () {\n if (preventClose === false) {\n shutdownWithAction(function () {\n return WritableStreamDefaultWriterCloseWithErrorPropagation(writer);\n });\n } else {\n shutdown();\n }\n });\n if (WritableStreamCloseQueuedOrInFlight(dest) === true || dest._state === 'closed') {\n var destClosed_1 = new TypeError('the destination writable stream closed before all data could be piped to it');\n if (preventCancel === false) {\n shutdownWithAction(function () {\n return ReadableStreamCancel(source, destClosed_1);\n }, true, destClosed_1);\n } else {\n shutdown(true, destClosed_1);\n }\n }\n setPromiseIsHandledToTrue(pipeLoop());\n function waitForWritesToFinish() {\n var oldCurrentWrite = currentWrite;\n return PerformPromiseThen(currentWrite, function () {\n return oldCurrentWrite !== currentWrite ? waitForWritesToFinish() : undefined;\n });\n }\n function isOrBecomesErrored(stream, promise, action) {\n if (stream._state === 'errored') {\n action(stream._storedError);\n } else {\n uponRejection(promise, action);\n }\n }\n function isOrBecomesClosed(stream, promise, action) {\n if (stream._state === 'closed') {\n action();\n } else {\n uponFulfillment(promise, action);\n }\n }\n function shutdownWithAction(action, originalIsError, originalError) {\n if (shuttingDown === true) {\n return;\n }\n shuttingDown = true;\n if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {\n uponFulfillment(waitForWritesToFinish(), doTheRest);\n } else {\n doTheRest();\n }\n function doTheRest() {\n uponPromise(action(), function () {\n return finalize(originalIsError, originalError);\n }, function (newError) {\n return finalize(true, newError);\n });\n }\n }\n function shutdown(isError, error) {\n if (shuttingDown === true) {\n return;\n }\n shuttingDown = true;\n if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {\n uponFulfillment(waitForWritesToFinish(), function () {\n return finalize(isError, error);\n });\n } else {\n finalize(isError, error);\n }\n }\n function finalize(isError, error) {\n WritableStreamDefaultWriterRelease(writer);\n ReadableStreamReaderGenericRelease(reader);\n if (signal !== undefined) {\n signal.removeEventListener('abort', abortAlgorithm);\n }\n if (isError) {\n reject(error);\n } else {\n resolve(undefined);\n }\n }\n });\n }\n var ReadableStreamDefaultController = function () {\n function ReadableStreamDefaultController() {\n throw new TypeError();\n }\n Object.defineProperty(ReadableStreamDefaultController.prototype, \"desiredSize\", {\n get: function () {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('desiredSize');\n }\n return ReadableStreamDefaultControllerGetDesiredSize(this);\n },\n enumerable: true,\n configurable: true\n });\n ReadableStreamDefaultController.prototype.close = function () {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('close');\n }\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(this) === false) {\n throw new TypeError('The stream is not in a state that permits close');\n }\n ReadableStreamDefaultControllerClose(this);\n };\n ReadableStreamDefaultController.prototype.enqueue = function (chunk) {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('enqueue');\n }\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(this) === false) {\n throw new TypeError('The stream is not in a state that permits enqueue');\n }\n return ReadableStreamDefaultControllerEnqueue(this, chunk);\n };\n ReadableStreamDefaultController.prototype.error = function (e) {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('error');\n }\n ReadableStreamDefaultControllerError(this, e);\n };\n ReadableStreamDefaultController.prototype[CancelSteps] = function (reason) {\n ResetQueue(this);\n var result = this._cancelAlgorithm(reason);\n ReadableStreamDefaultControllerClearAlgorithms(this);\n return result;\n };\n ReadableStreamDefaultController.prototype[PullSteps] = function () {\n var stream = this._controlledReadableStream;\n if (this._queue.length > 0) {\n var chunk = DequeueValue(this);\n if (this._closeRequested === true && this._queue.length === 0) {\n ReadableStreamDefaultControllerClearAlgorithms(this);\n ReadableStreamClose(stream);\n } else {\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n }\n return promiseResolvedWith(ReadableStreamCreateReadResult(chunk, false, stream._reader._forAuthorCode));\n }\n var pendingPromise = ReadableStreamAddReadRequest(stream);\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n return pendingPromise;\n };\n return ReadableStreamDefaultController;\n }();\n function IsReadableStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableStream')) {\n return false;\n }\n return true;\n }\n function ReadableStreamDefaultControllerCallPullIfNeeded(controller) {\n var shouldPull = ReadableStreamDefaultControllerShouldCallPull(controller);\n if (shouldPull === false) {\n return;\n }\n if (controller._pulling === true) {\n controller._pullAgain = true;\n return;\n }\n controller._pulling = true;\n var pullPromise = controller._pullAlgorithm();\n uponPromise(pullPromise, function () {\n controller._pulling = false;\n if (controller._pullAgain === true) {\n controller._pullAgain = false;\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }\n }, function (e) {\n ReadableStreamDefaultControllerError(controller, e);\n });\n }\n function ReadableStreamDefaultControllerShouldCallPull(controller) {\n var stream = controller._controlledReadableStream;\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) === false) {\n return false;\n }\n if (controller._started === false) {\n return false;\n }\n if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n return true;\n }\n var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller);\n if (desiredSize > 0) {\n return true;\n }\n return false;\n }\n function ReadableStreamDefaultControllerClearAlgorithms(controller) {\n controller._pullAlgorithm = undefined;\n controller._cancelAlgorithm = undefined;\n controller._strategySizeAlgorithm = undefined;\n }\n function ReadableStreamDefaultControllerClose(controller) {\n var stream = controller._controlledReadableStream;\n controller._closeRequested = true;\n if (controller._queue.length === 0) {\n ReadableStreamDefaultControllerClearAlgorithms(controller);\n ReadableStreamClose(stream);\n }\n }\n function ReadableStreamDefaultControllerEnqueue(controller, chunk) {\n var stream = controller._controlledReadableStream;\n if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n ReadableStreamFulfillReadRequest(stream, chunk, false);\n } else {\n var chunkSize = void 0;\n try {\n chunkSize = controller._strategySizeAlgorithm(chunk);\n } catch (chunkSizeE) {\n ReadableStreamDefaultControllerError(controller, chunkSizeE);\n throw chunkSizeE;\n }\n try {\n EnqueueValueWithSize(controller, chunk, chunkSize);\n } catch (enqueueE) {\n ReadableStreamDefaultControllerError(controller, enqueueE);\n throw enqueueE;\n }\n }\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }\n function ReadableStreamDefaultControllerError(controller, e) {\n var stream = controller._controlledReadableStream;\n if (stream._state !== 'readable') {\n return;\n }\n ResetQueue(controller);\n ReadableStreamDefaultControllerClearAlgorithms(controller);\n ReadableStreamError(stream, e);\n }\n function ReadableStreamDefaultControllerGetDesiredSize(controller) {\n var stream = controller._controlledReadableStream;\n var state = stream._state;\n if (state === 'errored') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n return controller._strategyHWM - controller._queueTotalSize;\n }\n function ReadableStreamDefaultControllerHasBackpressure(controller) {\n if (ReadableStreamDefaultControllerShouldCallPull(controller) === true) {\n return false;\n }\n return true;\n }\n function ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) {\n var state = controller._controlledReadableStream._state;\n if (controller._closeRequested === false && state === 'readable') {\n return true;\n }\n return false;\n }\n function SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {\n controller._controlledReadableStream = stream;\n controller._queue = undefined;\n controller._queueTotalSize = undefined;\n ResetQueue(controller);\n controller._started = false;\n controller._closeRequested = false;\n controller._pullAgain = false;\n controller._pulling = false;\n controller._strategySizeAlgorithm = sizeAlgorithm;\n controller._strategyHWM = highWaterMark;\n controller._pullAlgorithm = pullAlgorithm;\n controller._cancelAlgorithm = cancelAlgorithm;\n stream._readableStreamController = controller;\n var startResult = startAlgorithm();\n uponPromise(promiseResolvedWith(startResult), function () {\n controller._started = true;\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }, function (r) {\n ReadableStreamDefaultControllerError(controller, r);\n });\n }\n function SetUpReadableStreamDefaultControllerFromUnderlyingSource(stream, underlyingSource, highWaterMark, sizeAlgorithm) {\n var controller = Object.create(ReadableStreamDefaultController.prototype);\n function startAlgorithm() {\n return InvokeOrNoop(underlyingSource, 'start', [controller]);\n }\n var pullAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSource, 'pull', 0, [controller]);\n var cancelAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSource, 'cancel', 1, []);\n SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);\n }\n function defaultControllerBrandCheckException(name) {\n return new TypeError(\"ReadableStreamDefaultController.prototype.\" + name + \" can only be used on a ReadableStreamDefaultController\");\n }\n function ReadableStreamTee(stream, cloneForBranch2) {\n var reader = AcquireReadableStreamDefaultReader(stream);\n var reading = false;\n var canceled1 = false;\n var canceled2 = false;\n var reason1;\n var reason2;\n var branch1;\n var branch2;\n var resolveCancelPromise;\n var cancelPromise = newPromise(function (resolve) {\n resolveCancelPromise = resolve;\n });\n function pullAlgorithm() {\n if (reading === true) {\n return promiseResolvedWith(undefined);\n }\n reading = true;\n var readPromise = transformPromiseWith(ReadableStreamDefaultReaderRead(reader), function (result) {\n reading = false;\n var done = result.done;\n if (done === true) {\n if (canceled1 === false) {\n ReadableStreamDefaultControllerClose(branch1._readableStreamController);\n }\n if (canceled2 === false) {\n ReadableStreamDefaultControllerClose(branch2._readableStreamController);\n }\n return;\n }\n var value = result.value;\n var value1 = value;\n var value2 = value;\n if (canceled1 === false) {\n ReadableStreamDefaultControllerEnqueue(branch1._readableStreamController, value1);\n }\n if (canceled2 === false) {\n ReadableStreamDefaultControllerEnqueue(branch2._readableStreamController, value2);\n }\n });\n setPromiseIsHandledToTrue(readPromise);\n return promiseResolvedWith(undefined);\n }\n function cancel1Algorithm(reason) {\n canceled1 = true;\n reason1 = reason;\n if (canceled2 === true) {\n var compositeReason = createArrayFromList([\n reason1,\n reason2\n ]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n resolveCancelPromise(cancelResult);\n }\n return cancelPromise;\n }\n function cancel2Algorithm(reason) {\n canceled2 = true;\n reason2 = reason;\n if (canceled1 === true) {\n var compositeReason = createArrayFromList([\n reason1,\n reason2\n ]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n resolveCancelPromise(cancelResult);\n }\n return cancelPromise;\n }\n function startAlgorithm() {\n }\n branch1 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel1Algorithm);\n branch2 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel2Algorithm);\n uponRejection(reader._closedPromise, function (r) {\n ReadableStreamDefaultControllerError(branch1._readableStreamController, r);\n ReadableStreamDefaultControllerError(branch2._readableStreamController, r);\n });\n return [\n branch1,\n branch2\n ];\n }\n var NumberIsInteger = Number.isInteger || function (value) {\n return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;\n };\n var ReadableStreamBYOBRequest = function () {\n function ReadableStreamBYOBRequest() {\n throw new TypeError('ReadableStreamBYOBRequest cannot be used directly');\n }\n Object.defineProperty(ReadableStreamBYOBRequest.prototype, \"view\", {\n get: function () {\n if (IsReadableStreamBYOBRequest(this) === false) {\n throw byobRequestBrandCheckException('view');\n }\n return this._view;\n },\n enumerable: true,\n configurable: true\n });\n ReadableStreamBYOBRequest.prototype.respond = function (bytesWritten) {\n if (IsReadableStreamBYOBRequest(this) === false) {\n throw byobRequestBrandCheckException('respond');\n }\n if (this._associatedReadableByteStreamController === undefined) {\n throw new TypeError('This BYOB request has been invalidated');\n }\n if (IsDetachedBuffer(this._view.buffer) === true);\n ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController, bytesWritten);\n };\n ReadableStreamBYOBRequest.prototype.respondWithNewView = function (view) {\n if (IsReadableStreamBYOBRequest(this) === false) {\n throw byobRequestBrandCheckException('respond');\n }\n if (this._associatedReadableByteStreamController === undefined) {\n throw new TypeError('This BYOB request has been invalidated');\n }\n if (!ArrayBuffer.isView(view)) {\n throw new TypeError('You can only respond with array buffer views');\n }\n if (IsDetachedBuffer(view.buffer) === true);\n ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController, view);\n };\n return ReadableStreamBYOBRequest;\n }();\n var ReadableByteStreamController = function () {\n function ReadableByteStreamController() {\n throw new TypeError('ReadableByteStreamController constructor cannot be used directly');\n }\n Object.defineProperty(ReadableByteStreamController.prototype, \"byobRequest\", {\n get: function () {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('byobRequest');\n }\n if (this._byobRequest === undefined && this._pendingPullIntos.length > 0) {\n var firstDescriptor = this._pendingPullIntos.peek();\n var view = new Uint8Array(firstDescriptor.buffer, firstDescriptor.byteOffset + firstDescriptor.bytesFilled, firstDescriptor.byteLength - firstDescriptor.bytesFilled);\n var byobRequest = Object.create(ReadableStreamBYOBRequest.prototype);\n SetUpReadableStreamBYOBRequest(byobRequest, this, view);\n this._byobRequest = byobRequest;\n }\n return this._byobRequest;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ReadableByteStreamController.prototype, \"desiredSize\", {\n get: function () {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('desiredSize');\n }\n return ReadableByteStreamControllerGetDesiredSize(this);\n },\n enumerable: true,\n configurable: true\n });\n ReadableByteStreamController.prototype.close = function () {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('close');\n }\n if (this._closeRequested === true) {\n throw new TypeError('The stream has already been closed; do not close it again!');\n }\n var state = this._controlledReadableByteStream._state;\n if (state !== 'readable') {\n throw new TypeError(\"The stream (in \" + state + \" state) is not in the readable state and cannot be closed\");\n }\n ReadableByteStreamControllerClose(this);\n };\n ReadableByteStreamController.prototype.enqueue = function (chunk) {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('enqueue');\n }\n if (this._closeRequested === true) {\n throw new TypeError('stream is closed or draining');\n }\n var state = this._controlledReadableByteStream._state;\n if (state !== 'readable') {\n throw new TypeError(\"The stream (in \" + state + \" state) is not in the readable state and cannot be enqueued to\");\n }\n if (!ArrayBuffer.isView(chunk)) {\n throw new TypeError('You can only enqueue array buffer views when using a ReadableByteStreamController');\n }\n if (IsDetachedBuffer(chunk.buffer) === true);\n ReadableByteStreamControllerEnqueue(this, chunk);\n };\n ReadableByteStreamController.prototype.error = function (e) {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('error');\n }\n ReadableByteStreamControllerError(this, e);\n };\n ReadableByteStreamController.prototype[CancelSteps] = function (reason) {\n if (this._pendingPullIntos.length > 0) {\n var firstDescriptor = this._pendingPullIntos.peek();\n firstDescriptor.bytesFilled = 0;\n }\n ResetQueue(this);\n var result = this._cancelAlgorithm(reason);\n ReadableByteStreamControllerClearAlgorithms(this);\n return result;\n };\n ReadableByteStreamController.prototype[PullSteps] = function () {\n var stream = this._controlledReadableByteStream;\n if (this._queueTotalSize > 0) {\n var entry = this._queue.shift();\n this._queueTotalSize -= entry.byteLength;\n ReadableByteStreamControllerHandleQueueDrain(this);\n var view = void 0;\n try {\n view = new Uint8Array(entry.buffer, entry.byteOffset, entry.byteLength);\n } catch (viewE) {\n return promiseRejectedWith(viewE);\n }\n return promiseResolvedWith(ReadableStreamCreateReadResult(view, false, stream._reader._forAuthorCode));\n }\n var autoAllocateChunkSize = this._autoAllocateChunkSize;\n if (autoAllocateChunkSize !== undefined) {\n var buffer = void 0;\n try {\n buffer = new ArrayBuffer(autoAllocateChunkSize);\n } catch (bufferE) {\n return promiseRejectedWith(bufferE);\n }\n var pullIntoDescriptor = {\n buffer: buffer,\n byteOffset: 0,\n byteLength: autoAllocateChunkSize,\n bytesFilled: 0,\n elementSize: 1,\n ctor: Uint8Array,\n readerType: 'default'\n };\n this._pendingPullIntos.push(pullIntoDescriptor);\n }\n var promise = ReadableStreamAddReadRequest(stream);\n ReadableByteStreamControllerCallPullIfNeeded(this);\n return promise;\n };\n return ReadableByteStreamController;\n }();\n function IsReadableByteStreamController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableByteStream')) {\n return false;\n }\n return true;\n }\n function IsReadableStreamBYOBRequest(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_associatedReadableByteStreamController')) {\n return false;\n }\n return true;\n }\n function ReadableByteStreamControllerCallPullIfNeeded(controller) {\n var shouldPull = ReadableByteStreamControllerShouldCallPull(controller);\n if (shouldPull === false) {\n return;\n }\n if (controller._pulling === true) {\n controller._pullAgain = true;\n return;\n }\n controller._pulling = true;\n var pullPromise = controller._pullAlgorithm();\n uponPromise(pullPromise, function () {\n controller._pulling = false;\n if (controller._pullAgain === true) {\n controller._pullAgain = false;\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n }, function (e) {\n ReadableByteStreamControllerError(controller, e);\n });\n }\n function ReadableByteStreamControllerClearPendingPullIntos(controller) {\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n controller._pendingPullIntos = new SimpleQueue();\n }\n function ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor) {\n var done = false;\n if (stream._state === 'closed') {\n done = true;\n }\n var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n if (pullIntoDescriptor.readerType === 'default') {\n ReadableStreamFulfillReadRequest(stream, filledView, done);\n } else {\n ReadableStreamFulfillReadIntoRequest(stream, filledView, done);\n }\n }\n function ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor) {\n var bytesFilled = pullIntoDescriptor.bytesFilled;\n var elementSize = pullIntoDescriptor.elementSize;\n return new pullIntoDescriptor.ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, bytesFilled / elementSize);\n }\n function ReadableByteStreamControllerEnqueueChunkToQueue(controller, buffer, byteOffset, byteLength) {\n controller._queue.push({\n buffer: buffer,\n byteOffset: byteOffset,\n byteLength: byteLength\n });\n controller._queueTotalSize += byteLength;\n }\n function ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) {\n var elementSize = pullIntoDescriptor.elementSize;\n var currentAlignedBytes = pullIntoDescriptor.bytesFilled - pullIntoDescriptor.bytesFilled % elementSize;\n var maxBytesToCopy = Math.min(controller._queueTotalSize, pullIntoDescriptor.byteLength - pullIntoDescriptor.bytesFilled);\n var maxBytesFilled = pullIntoDescriptor.bytesFilled + maxBytesToCopy;\n var maxAlignedBytes = maxBytesFilled - maxBytesFilled % elementSize;\n var totalBytesToCopyRemaining = maxBytesToCopy;\n var ready = false;\n if (maxAlignedBytes > currentAlignedBytes) {\n totalBytesToCopyRemaining = maxAlignedBytes - pullIntoDescriptor.bytesFilled;\n ready = true;\n }\n var queue = controller._queue;\n while (totalBytesToCopyRemaining > 0) {\n var headOfQueue = queue.peek();\n var bytesToCopy = Math.min(totalBytesToCopyRemaining, headOfQueue.byteLength);\n var destStart = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\n ArrayBufferCopy(pullIntoDescriptor.buffer, destStart, headOfQueue.buffer, headOfQueue.byteOffset, bytesToCopy);\n if (headOfQueue.byteLength === bytesToCopy) {\n queue.shift();\n } else {\n headOfQueue.byteOffset += bytesToCopy;\n headOfQueue.byteLength -= bytesToCopy;\n }\n controller._queueTotalSize -= bytesToCopy;\n ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesToCopy, pullIntoDescriptor);\n totalBytesToCopyRemaining -= bytesToCopy;\n }\n return ready;\n }\n function ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, size, pullIntoDescriptor) {\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n pullIntoDescriptor.bytesFilled += size;\n }\n function ReadableByteStreamControllerHandleQueueDrain(controller) {\n if (controller._queueTotalSize === 0 && controller._closeRequested === true) {\n ReadableByteStreamControllerClearAlgorithms(controller);\n ReadableStreamClose(controller._controlledReadableByteStream);\n } else {\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n }\n function ReadableByteStreamControllerInvalidateBYOBRequest(controller) {\n if (controller._byobRequest === undefined) {\n return;\n }\n controller._byobRequest._associatedReadableByteStreamController = undefined;\n controller._byobRequest._view = undefined;\n controller._byobRequest = undefined;\n }\n function ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller) {\n while (controller._pendingPullIntos.length > 0) {\n if (controller._queueTotalSize === 0) {\n return;\n }\n var pullIntoDescriptor = controller._pendingPullIntos.peek();\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {\n ReadableByteStreamControllerShiftPendingPullInto(controller);\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);\n }\n }\n }\n function ReadableByteStreamControllerPullInto(controller, view) {\n var stream = controller._controlledReadableByteStream;\n var elementSize = 1;\n if (view.constructor !== DataView) {\n elementSize = view.constructor.BYTES_PER_ELEMENT;\n }\n var ctor = view.constructor;\n var buffer = TransferArrayBuffer(view.buffer);\n var pullIntoDescriptor = {\n buffer: buffer,\n byteOffset: view.byteOffset,\n byteLength: view.byteLength,\n bytesFilled: 0,\n elementSize: elementSize,\n ctor: ctor,\n readerType: 'byob'\n };\n if (controller._pendingPullIntos.length > 0) {\n controller._pendingPullIntos.push(pullIntoDescriptor);\n return ReadableStreamAddReadIntoRequest(stream);\n }\n if (stream._state === 'closed') {\n var emptyView = new ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, 0);\n return promiseResolvedWith(ReadableStreamCreateReadResult(emptyView, true, stream._reader._forAuthorCode));\n }\n if (controller._queueTotalSize > 0) {\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {\n var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n ReadableByteStreamControllerHandleQueueDrain(controller);\n return promiseResolvedWith(ReadableStreamCreateReadResult(filledView, false, stream._reader._forAuthorCode));\n }\n if (controller._closeRequested === true) {\n var e = new TypeError('Insufficient bytes to fill elements in the given buffer');\n ReadableByteStreamControllerError(controller, e);\n return promiseRejectedWith(e);\n }\n }\n controller._pendingPullIntos.push(pullIntoDescriptor);\n var promise = ReadableStreamAddReadIntoRequest(stream);\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n return promise;\n }\n function ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor) {\n firstDescriptor.buffer = TransferArrayBuffer(firstDescriptor.buffer);\n var stream = controller._controlledReadableByteStream;\n if (ReadableStreamHasBYOBReader(stream) === true) {\n while (ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n var pullIntoDescriptor = ReadableByteStreamControllerShiftPendingPullInto(controller);\n ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor);\n }\n }\n }\n function ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, pullIntoDescriptor) {\n if (pullIntoDescriptor.bytesFilled + bytesWritten > pullIntoDescriptor.byteLength) {\n throw new RangeError('bytesWritten out of range');\n }\n ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesWritten, pullIntoDescriptor);\n if (pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize) {\n return;\n }\n ReadableByteStreamControllerShiftPendingPullInto(controller);\n var remainderSize = pullIntoDescriptor.bytesFilled % pullIntoDescriptor.elementSize;\n if (remainderSize > 0) {\n var end = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\n var remainder = pullIntoDescriptor.buffer.slice(end - remainderSize, end);\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, remainder, 0, remainder.byteLength);\n }\n pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);\n pullIntoDescriptor.bytesFilled -= remainderSize;\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);\n ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n }\n function ReadableByteStreamControllerRespondInternal(controller, bytesWritten) {\n var firstDescriptor = controller._pendingPullIntos.peek();\n var stream = controller._controlledReadableByteStream;\n if (stream._state === 'closed') {\n if (bytesWritten !== 0) {\n throw new TypeError('bytesWritten must be 0 when calling respond() on a closed stream');\n }\n ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor);\n } else {\n ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, firstDescriptor);\n }\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n function ReadableByteStreamControllerShiftPendingPullInto(controller) {\n var descriptor = controller._pendingPullIntos.shift();\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n return descriptor;\n }\n function ReadableByteStreamControllerShouldCallPull(controller) {\n var stream = controller._controlledReadableByteStream;\n if (stream._state !== 'readable') {\n return false;\n }\n if (controller._closeRequested === true) {\n return false;\n }\n if (controller._started === false) {\n return false;\n }\n if (ReadableStreamHasDefaultReader(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n return true;\n }\n if (ReadableStreamHasBYOBReader(stream) === true && ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n return true;\n }\n var desiredSize = ReadableByteStreamControllerGetDesiredSize(controller);\n if (desiredSize > 0) {\n return true;\n }\n return false;\n }\n function ReadableByteStreamControllerClearAlgorithms(controller) {\n controller._pullAlgorithm = undefined;\n controller._cancelAlgorithm = undefined;\n }\n function ReadableByteStreamControllerClose(controller) {\n var stream = controller._controlledReadableByteStream;\n if (controller._queueTotalSize > 0) {\n controller._closeRequested = true;\n return;\n }\n if (controller._pendingPullIntos.length > 0) {\n var firstPendingPullInto = controller._pendingPullIntos.peek();\n if (firstPendingPullInto.bytesFilled > 0) {\n var e = new TypeError('Insufficient bytes to fill elements in the given buffer');\n ReadableByteStreamControllerError(controller, e);\n throw e;\n }\n }\n ReadableByteStreamControllerClearAlgorithms(controller);\n ReadableStreamClose(stream);\n }\n function ReadableByteStreamControllerEnqueue(controller, chunk) {\n var stream = controller._controlledReadableByteStream;\n var buffer = chunk.buffer;\n var byteOffset = chunk.byteOffset;\n var byteLength = chunk.byteLength;\n var transferredBuffer = TransferArrayBuffer(buffer);\n if (ReadableStreamHasDefaultReader(stream) === true) {\n if (ReadableStreamGetNumReadRequests(stream) === 0) {\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n } else {\n var transferredView = new Uint8Array(transferredBuffer, byteOffset, byteLength);\n ReadableStreamFulfillReadRequest(stream, transferredView, false);\n }\n } else if (ReadableStreamHasBYOBReader(stream) === true) {\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n } else {\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n }\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n function ReadableByteStreamControllerError(controller, e) {\n var stream = controller._controlledReadableByteStream;\n if (stream._state !== 'readable') {\n return;\n }\n ReadableByteStreamControllerClearPendingPullIntos(controller);\n ResetQueue(controller);\n ReadableByteStreamControllerClearAlgorithms(controller);\n ReadableStreamError(stream, e);\n }\n function ReadableByteStreamControllerGetDesiredSize(controller) {\n var stream = controller._controlledReadableByteStream;\n var state = stream._state;\n if (state === 'errored') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n return controller._strategyHWM - controller._queueTotalSize;\n }\n function ReadableByteStreamControllerRespond(controller, bytesWritten) {\n bytesWritten = Number(bytesWritten);\n if (IsFiniteNonNegativeNumber(bytesWritten) === false) {\n throw new RangeError('bytesWritten must be a finite');\n }\n ReadableByteStreamControllerRespondInternal(controller, bytesWritten);\n }\n function ReadableByteStreamControllerRespondWithNewView(controller, view) {\n var firstDescriptor = controller._pendingPullIntos.peek();\n if (firstDescriptor.byteOffset + firstDescriptor.bytesFilled !== view.byteOffset) {\n throw new RangeError('The region specified by view does not match byobRequest');\n }\n if (firstDescriptor.byteLength !== view.byteLength) {\n throw new RangeError('The buffer of view has different capacity than byobRequest');\n }\n firstDescriptor.buffer = view.buffer;\n ReadableByteStreamControllerRespondInternal(controller, view.byteLength);\n }\n function SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize) {\n controller._controlledReadableByteStream = stream;\n controller._pullAgain = false;\n controller._pulling = false;\n controller._byobRequest = undefined;\n controller._queue = controller._queueTotalSize = undefined;\n ResetQueue(controller);\n controller._closeRequested = false;\n controller._started = false;\n controller._strategyHWM = ValidateAndNormalizeHighWaterMark(highWaterMark);\n controller._pullAlgorithm = pullAlgorithm;\n controller._cancelAlgorithm = cancelAlgorithm;\n controller._autoAllocateChunkSize = autoAllocateChunkSize;\n controller._pendingPullIntos = new SimpleQueue();\n stream._readableStreamController = controller;\n var startResult = startAlgorithm();\n uponPromise(promiseResolvedWith(startResult), function () {\n controller._started = true;\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }, function (r) {\n ReadableByteStreamControllerError(controller, r);\n });\n }\n function SetUpReadableByteStreamControllerFromUnderlyingSource(stream, underlyingByteSource, highWaterMark) {\n var controller = Object.create(ReadableByteStreamController.prototype);\n function startAlgorithm() {\n return InvokeOrNoop(underlyingByteSource, 'start', [controller]);\n }\n var pullAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingByteSource, 'pull', 0, [controller]);\n var cancelAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingByteSource, 'cancel', 1, []);\n var autoAllocateChunkSize = underlyingByteSource.autoAllocateChunkSize;\n if (autoAllocateChunkSize !== undefined) {\n autoAllocateChunkSize = Number(autoAllocateChunkSize);\n if (NumberIsInteger(autoAllocateChunkSize) === false || autoAllocateChunkSize <= 0) {\n throw new RangeError('autoAllocateChunkSize must be a positive integer');\n }\n }\n SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize);\n }\n function SetUpReadableStreamBYOBRequest(request, controller, view) {\n request._associatedReadableByteStreamController = controller;\n request._view = view;\n }\n function byobRequestBrandCheckException(name) {\n return new TypeError(\"ReadableStreamBYOBRequest.prototype.\" + name + \" can only be used on a ReadableStreamBYOBRequest\");\n }\n function byteStreamControllerBrandCheckException(name) {\n return new TypeError(\"ReadableByteStreamController.prototype.\" + name + \" can only be used on a ReadableByteStreamController\");\n }\n function AcquireReadableStreamBYOBReader(stream, forAuthorCode) {\n if (forAuthorCode === void 0) {\n forAuthorCode = false;\n }\n var reader = new ReadableStreamBYOBReader(stream);\n reader._forAuthorCode = forAuthorCode;\n return reader;\n }\n function ReadableStreamAddReadIntoRequest(stream) {\n var promise = newPromise(function (resolve, reject) {\n var readIntoRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._reader._readIntoRequests.push(readIntoRequest);\n });\n return promise;\n }\n function ReadableStreamFulfillReadIntoRequest(stream, chunk, done) {\n var reader = stream._reader;\n var readIntoRequest = reader._readIntoRequests.shift();\n readIntoRequest._resolve(ReadableStreamCreateReadResult(chunk, done, reader._forAuthorCode));\n }\n function ReadableStreamGetNumReadIntoRequests(stream) {\n return stream._reader._readIntoRequests.length;\n }\n function ReadableStreamHasBYOBReader(stream) {\n var reader = stream._reader;\n if (reader === undefined) {\n return false;\n }\n if (!IsReadableStreamBYOBReader(reader)) {\n return false;\n }\n return true;\n }\n var ReadableStreamBYOBReader = function () {\n function ReadableStreamBYOBReader(stream) {\n if (!IsReadableStream(stream)) {\n throw new TypeError('ReadableStreamBYOBReader can only be constructed with a ReadableStream instance given a ' + 'byte source');\n }\n if (IsReadableByteStreamController(stream._readableStreamController) === false) {\n throw new TypeError('Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte ' + 'source');\n }\n if (IsReadableStreamLocked(stream)) {\n throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n }\n ReadableStreamReaderGenericInitialize(this, stream);\n this._readIntoRequests = new SimpleQueue();\n }\n Object.defineProperty(ReadableStreamBYOBReader.prototype, \"closed\", {\n get: function () {\n if (!IsReadableStreamBYOBReader(this)) {\n return promiseRejectedWith(byobReaderBrandCheckException('closed'));\n }\n return this._closedPromise;\n },\n enumerable: true,\n configurable: true\n });\n ReadableStreamBYOBReader.prototype.cancel = function (reason) {\n if (!IsReadableStreamBYOBReader(this)) {\n return promiseRejectedWith(byobReaderBrandCheckException('cancel'));\n }\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('cancel'));\n }\n return ReadableStreamReaderGenericCancel(this, reason);\n };\n ReadableStreamBYOBReader.prototype.read = function (view) {\n if (!IsReadableStreamBYOBReader(this)) {\n return promiseRejectedWith(byobReaderBrandCheckException('read'));\n }\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('read from'));\n }\n if (!ArrayBuffer.isView(view)) {\n return promiseRejectedWith(new TypeError('view must be an array buffer view'));\n }\n if (IsDetachedBuffer(view.buffer) === true);\n if (view.byteLength === 0) {\n return promiseRejectedWith(new TypeError('view must have non-zero byteLength'));\n }\n return ReadableStreamBYOBReaderRead(this, view);\n };\n ReadableStreamBYOBReader.prototype.releaseLock = function () {\n if (!IsReadableStreamBYOBReader(this)) {\n throw byobReaderBrandCheckException('releaseLock');\n }\n if (this._ownerReadableStream === undefined) {\n return;\n }\n if (this._readIntoRequests.length > 0) {\n throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\n }\n ReadableStreamReaderGenericRelease(this);\n };\n return ReadableStreamBYOBReader;\n }();\n function IsReadableStreamBYOBReader(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readIntoRequests')) {\n return false;\n }\n return true;\n }\n function ReadableStreamBYOBReaderRead(reader, view) {\n var stream = reader._ownerReadableStream;\n stream._disturbed = true;\n if (stream._state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n return ReadableByteStreamControllerPullInto(stream._readableStreamController, view);\n }\n function byobReaderBrandCheckException(name) {\n return new TypeError(\"ReadableStreamBYOBReader.prototype.\" + name + \" can only be used on a ReadableStreamBYOBReader\");\n }\n var ReadableStream = function () {\n function ReadableStream(underlyingSource, strategy) {\n if (underlyingSource === void 0) {\n underlyingSource = {};\n }\n if (strategy === void 0) {\n strategy = {};\n }\n InitializeReadableStream(this);\n var size = strategy.size;\n var highWaterMark = strategy.highWaterMark;\n var type = underlyingSource.type;\n var typeString = String(type);\n if (typeString === 'bytes') {\n if (size !== undefined) {\n throw new RangeError('The strategy for a byte stream cannot have a size function');\n }\n if (highWaterMark === undefined) {\n highWaterMark = 0;\n }\n highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);\n SetUpReadableByteStreamControllerFromUnderlyingSource(this, underlyingSource, highWaterMark);\n } else if (type === undefined) {\n var sizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(size);\n if (highWaterMark === undefined) {\n highWaterMark = 1;\n }\n highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);\n SetUpReadableStreamDefaultControllerFromUnderlyingSource(this, underlyingSource, highWaterMark, sizeAlgorithm);\n } else {\n throw new RangeError('Invalid type is specified');\n }\n }\n Object.defineProperty(ReadableStream.prototype, \"locked\", {\n get: function () {\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('locked');\n }\n return IsReadableStreamLocked(this);\n },\n enumerable: true,\n configurable: true\n });\n ReadableStream.prototype.cancel = function (reason) {\n if (IsReadableStream(this) === false) {\n return promiseRejectedWith(streamBrandCheckException$1('cancel'));\n }\n if (IsReadableStreamLocked(this) === true) {\n return promiseRejectedWith(new TypeError('Cannot cancel a stream that already has a reader'));\n }\n return ReadableStreamCancel(this, reason);\n };\n ReadableStream.prototype.getReader = function (_a) {\n var mode = (_a === void 0 ? {} : _a).mode;\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('getReader');\n }\n if (mode === undefined) {\n return AcquireReadableStreamDefaultReader(this, true);\n }\n mode = String(mode);\n if (mode === 'byob') {\n return AcquireReadableStreamBYOBReader(this, true);\n }\n throw new RangeError('Invalid mode is specified');\n };\n ReadableStream.prototype.pipeThrough = function (_a, _b) {\n var writable = _a.writable, readable = _a.readable;\n var _c = _b === void 0 ? {} : _b, preventClose = _c.preventClose, preventAbort = _c.preventAbort, preventCancel = _c.preventCancel, signal = _c.signal;\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('pipeThrough');\n }\n if (IsWritableStream(writable) === false) {\n throw new TypeError('writable argument to pipeThrough must be a WritableStream');\n }\n if (IsReadableStream(readable) === false) {\n throw new TypeError('readable argument to pipeThrough must be a ReadableStream');\n }\n preventClose = Boolean(preventClose);\n preventAbort = Boolean(preventAbort);\n preventCancel = Boolean(preventCancel);\n if (signal !== undefined && !isAbortSignal(signal)) {\n throw new TypeError('ReadableStream.prototype.pipeThrough\\'s signal option must be an AbortSignal');\n }\n if (IsReadableStreamLocked(this) === true) {\n throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream');\n }\n if (IsWritableStreamLocked(writable) === true) {\n throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream');\n }\n var promise = ReadableStreamPipeTo(this, writable, preventClose, preventAbort, preventCancel, signal);\n setPromiseIsHandledToTrue(promise);\n return readable;\n };\n ReadableStream.prototype.pipeTo = function (dest, _a) {\n var _b = _a === void 0 ? {} : _a, preventClose = _b.preventClose, preventAbort = _b.preventAbort, preventCancel = _b.preventCancel, signal = _b.signal;\n if (IsReadableStream(this) === false) {\n return promiseRejectedWith(streamBrandCheckException$1('pipeTo'));\n }\n if (IsWritableStream(dest) === false) {\n return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo\\'s first argument must be a WritableStream'));\n }\n preventClose = Boolean(preventClose);\n preventAbort = Boolean(preventAbort);\n preventCancel = Boolean(preventCancel);\n if (signal !== undefined && !isAbortSignal(signal)) {\n return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo\\'s signal option must be an AbortSignal'));\n }\n if (IsReadableStreamLocked(this) === true) {\n return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream'));\n }\n if (IsWritableStreamLocked(dest) === true) {\n return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream'));\n }\n return ReadableStreamPipeTo(this, dest, preventClose, preventAbort, preventCancel, signal);\n };\n ReadableStream.prototype.tee = function () {\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('tee');\n }\n var branches = ReadableStreamTee(this);\n return createArrayFromList(branches);\n };\n ReadableStream.prototype.getIterator = function (_a) {\n var _b = (_a === void 0 ? {} : _a).preventCancel, preventCancel = _b === void 0 ? false : _b;\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('getIterator');\n }\n return AcquireReadableStreamAsyncIterator(this, preventCancel);\n };\n return ReadableStream;\n }();\n if (typeof SymbolPolyfill.asyncIterator === 'symbol') {\n Object.defineProperty(ReadableStream.prototype, SymbolPolyfill.asyncIterator, {\n value: ReadableStream.prototype.getIterator,\n enumerable: false,\n writable: true,\n configurable: true\n });\n }\n function CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {\n if (highWaterMark === void 0) {\n highWaterMark = 1;\n }\n if (sizeAlgorithm === void 0) {\n sizeAlgorithm = function () {\n return 1;\n };\n }\n var stream = Object.create(ReadableStream.prototype);\n InitializeReadableStream(stream);\n var controller = Object.create(ReadableStreamDefaultController.prototype);\n SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);\n return stream;\n }\n function InitializeReadableStream(stream) {\n stream._state = 'readable';\n stream._reader = undefined;\n stream._storedError = undefined;\n stream._disturbed = false;\n }\n function IsReadableStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readableStreamController')) {\n return false;\n }\n return true;\n }\n function IsReadableStreamLocked(stream) {\n if (stream._reader === undefined) {\n return false;\n }\n return true;\n }\n function ReadableStreamCancel(stream, reason) {\n stream._disturbed = true;\n if (stream._state === 'closed') {\n return promiseResolvedWith(undefined);\n }\n if (stream._state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n ReadableStreamClose(stream);\n var sourceCancelPromise = stream._readableStreamController[CancelSteps](reason);\n return transformPromiseWith(sourceCancelPromise, noop);\n }\n function ReadableStreamClose(stream) {\n stream._state = 'closed';\n var reader = stream._reader;\n if (reader === undefined) {\n return;\n }\n if (IsReadableStreamDefaultReader(reader)) {\n reader._readRequests.forEach(function (readRequest) {\n readRequest._resolve(ReadableStreamCreateReadResult(undefined, true, reader._forAuthorCode));\n });\n reader._readRequests = new SimpleQueue();\n }\n defaultReaderClosedPromiseResolve(reader);\n }\n function ReadableStreamError(stream, e) {\n stream._state = 'errored';\n stream._storedError = e;\n var reader = stream._reader;\n if (reader === undefined) {\n return;\n }\n if (IsReadableStreamDefaultReader(reader)) {\n reader._readRequests.forEach(function (readRequest) {\n readRequest._reject(e);\n });\n reader._readRequests = new SimpleQueue();\n } else {\n reader._readIntoRequests.forEach(function (readIntoRequest) {\n readIntoRequest._reject(e);\n });\n reader._readIntoRequests = new SimpleQueue();\n }\n defaultReaderClosedPromiseReject(reader, e);\n }\n function streamBrandCheckException$1(name) {\n return new TypeError(\"ReadableStream.prototype.\" + name + \" can only be used on a ReadableStream\");\n }\n var ByteLengthQueuingStrategy = function () {\n function ByteLengthQueuingStrategy(_a) {\n var highWaterMark = _a.highWaterMark;\n this.highWaterMark = highWaterMark;\n }\n ByteLengthQueuingStrategy.prototype.size = function (chunk) {\n return chunk.byteLength;\n };\n return ByteLengthQueuingStrategy;\n }();\n var CountQueuingStrategy = function () {\n function CountQueuingStrategy(_a) {\n var highWaterMark = _a.highWaterMark;\n this.highWaterMark = highWaterMark;\n }\n CountQueuingStrategy.prototype.size = function () {\n return 1;\n };\n return CountQueuingStrategy;\n }();\n var TransformStream = function () {\n function TransformStream(transformer, writableStrategy, readableStrategy) {\n if (transformer === void 0) {\n transformer = {};\n }\n if (writableStrategy === void 0) {\n writableStrategy = {};\n }\n if (readableStrategy === void 0) {\n readableStrategy = {};\n }\n var writableSizeFunction = writableStrategy.size;\n var writableHighWaterMark = writableStrategy.highWaterMark;\n var readableSizeFunction = readableStrategy.size;\n var readableHighWaterMark = readableStrategy.highWaterMark;\n var writableType = transformer.writableType;\n if (writableType !== undefined) {\n throw new RangeError('Invalid writable type specified');\n }\n var writableSizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(writableSizeFunction);\n if (writableHighWaterMark === undefined) {\n writableHighWaterMark = 1;\n }\n writableHighWaterMark = ValidateAndNormalizeHighWaterMark(writableHighWaterMark);\n var readableType = transformer.readableType;\n if (readableType !== undefined) {\n throw new RangeError('Invalid readable type specified');\n }\n var readableSizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(readableSizeFunction);\n if (readableHighWaterMark === undefined) {\n readableHighWaterMark = 0;\n }\n readableHighWaterMark = ValidateAndNormalizeHighWaterMark(readableHighWaterMark);\n var startPromise_resolve;\n var startPromise = newPromise(function (resolve) {\n startPromise_resolve = resolve;\n });\n InitializeTransformStream(this, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm);\n SetUpTransformStreamDefaultControllerFromTransformer(this, transformer);\n var startResult = InvokeOrNoop(transformer, 'start', [this._transformStreamController]);\n startPromise_resolve(startResult);\n }\n Object.defineProperty(TransformStream.prototype, \"readable\", {\n get: function () {\n if (IsTransformStream(this) === false) {\n throw streamBrandCheckException$2('readable');\n }\n return this._readable;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(TransformStream.prototype, \"writable\", {\n get: function () {\n if (IsTransformStream(this) === false) {\n throw streamBrandCheckException$2('writable');\n }\n return this._writable;\n },\n enumerable: true,\n configurable: true\n });\n return TransformStream;\n }();\n function InitializeTransformStream(stream, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm) {\n function startAlgorithm() {\n return startPromise;\n }\n function writeAlgorithm(chunk) {\n return TransformStreamDefaultSinkWriteAlgorithm(stream, chunk);\n }\n function abortAlgorithm(reason) {\n return TransformStreamDefaultSinkAbortAlgorithm(stream, reason);\n }\n function closeAlgorithm() {\n return TransformStreamDefaultSinkCloseAlgorithm(stream);\n }\n stream._writable = CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, writableHighWaterMark, writableSizeAlgorithm);\n function pullAlgorithm() {\n return TransformStreamDefaultSourcePullAlgorithm(stream);\n }\n function cancelAlgorithm(reason) {\n TransformStreamErrorWritableAndUnblockWrite(stream, reason);\n return promiseResolvedWith(undefined);\n }\n stream._readable = CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, readableHighWaterMark, readableSizeAlgorithm);\n stream._backpressure = undefined;\n stream._backpressureChangePromise = undefined;\n stream._backpressureChangePromise_resolve = undefined;\n TransformStreamSetBackpressure(stream, true);\n stream._transformStreamController = undefined;\n }\n function IsTransformStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_transformStreamController')) {\n return false;\n }\n return true;\n }\n function TransformStreamError(stream, e) {\n ReadableStreamDefaultControllerError(stream._readable._readableStreamController, e);\n TransformStreamErrorWritableAndUnblockWrite(stream, e);\n }\n function TransformStreamErrorWritableAndUnblockWrite(stream, e) {\n TransformStreamDefaultControllerClearAlgorithms(stream._transformStreamController);\n WritableStreamDefaultControllerErrorIfNeeded(stream._writable._writableStreamController, e);\n if (stream._backpressure === true) {\n TransformStreamSetBackpressure(stream, false);\n }\n }\n function TransformStreamSetBackpressure(stream, backpressure) {\n if (stream._backpressureChangePromise !== undefined) {\n stream._backpressureChangePromise_resolve();\n }\n stream._backpressureChangePromise = newPromise(function (resolve) {\n stream._backpressureChangePromise_resolve = resolve;\n });\n stream._backpressure = backpressure;\n }\n var TransformStreamDefaultController = function () {\n function TransformStreamDefaultController() {\n throw new TypeError('TransformStreamDefaultController instances cannot be created directly');\n }\n Object.defineProperty(TransformStreamDefaultController.prototype, \"desiredSize\", {\n get: function () {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException$1('desiredSize');\n }\n var readableController = this._controlledTransformStream._readable._readableStreamController;\n return ReadableStreamDefaultControllerGetDesiredSize(readableController);\n },\n enumerable: true,\n configurable: true\n });\n TransformStreamDefaultController.prototype.enqueue = function (chunk) {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException$1('enqueue');\n }\n TransformStreamDefaultControllerEnqueue(this, chunk);\n };\n TransformStreamDefaultController.prototype.error = function (reason) {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException$1('error');\n }\n TransformStreamDefaultControllerError(this, reason);\n };\n TransformStreamDefaultController.prototype.terminate = function () {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException$1('terminate');\n }\n TransformStreamDefaultControllerTerminate(this);\n };\n return TransformStreamDefaultController;\n }();\n function IsTransformStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledTransformStream')) {\n return false;\n }\n return true;\n }\n function SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm) {\n controller._controlledTransformStream = stream;\n stream._transformStreamController = controller;\n controller._transformAlgorithm = transformAlgorithm;\n controller._flushAlgorithm = flushAlgorithm;\n }\n function SetUpTransformStreamDefaultControllerFromTransformer(stream, transformer) {\n var controller = Object.create(TransformStreamDefaultController.prototype);\n var transformAlgorithm = function (chunk) {\n try {\n TransformStreamDefaultControllerEnqueue(controller, chunk);\n return promiseResolvedWith(undefined);\n } catch (transformResultE) {\n return promiseRejectedWith(transformResultE);\n }\n };\n var transformMethod = transformer.transform;\n if (transformMethod !== undefined) {\n if (typeof transformMethod !== 'function') {\n throw new TypeError('transform is not a method');\n }\n transformAlgorithm = function (chunk) {\n return PromiseCall(transformMethod, transformer, [\n chunk,\n controller\n ]);\n };\n }\n var flushAlgorithm = CreateAlgorithmFromUnderlyingMethod(transformer, 'flush', 0, [controller]);\n SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm);\n }\n function TransformStreamDefaultControllerClearAlgorithms(controller) {\n controller._transformAlgorithm = undefined;\n controller._flushAlgorithm = undefined;\n }\n function TransformStreamDefaultControllerEnqueue(controller, chunk) {\n var stream = controller._controlledTransformStream;\n var readableController = stream._readable._readableStreamController;\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === false) {\n throw new TypeError('Readable side is not in a state that permits enqueue');\n }\n try {\n ReadableStreamDefaultControllerEnqueue(readableController, chunk);\n } catch (e) {\n TransformStreamErrorWritableAndUnblockWrite(stream, e);\n throw stream._readable._storedError;\n }\n var backpressure = ReadableStreamDefaultControllerHasBackpressure(readableController);\n if (backpressure !== stream._backpressure) {\n TransformStreamSetBackpressure(stream, true);\n }\n }\n function TransformStreamDefaultControllerError(controller, e) {\n TransformStreamError(controller._controlledTransformStream, e);\n }\n function TransformStreamDefaultControllerPerformTransform(controller, chunk) {\n var transformPromise = controller._transformAlgorithm(chunk);\n return transformPromiseWith(transformPromise, undefined, function (r) {\n TransformStreamError(controller._controlledTransformStream, r);\n throw r;\n });\n }\n function TransformStreamDefaultControllerTerminate(controller) {\n var stream = controller._controlledTransformStream;\n var readableController = stream._readable._readableStreamController;\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === true) {\n ReadableStreamDefaultControllerClose(readableController);\n }\n var error = new TypeError('TransformStream terminated');\n TransformStreamErrorWritableAndUnblockWrite(stream, error);\n }\n function TransformStreamDefaultSinkWriteAlgorithm(stream, chunk) {\n var controller = stream._transformStreamController;\n if (stream._backpressure === true) {\n var backpressureChangePromise = stream._backpressureChangePromise;\n return transformPromiseWith(backpressureChangePromise, function () {\n var writable = stream._writable;\n var state = writable._state;\n if (state === 'erroring') {\n throw writable._storedError;\n }\n return TransformStreamDefaultControllerPerformTransform(controller, chunk);\n });\n }\n return TransformStreamDefaultControllerPerformTransform(controller, chunk);\n }\n function TransformStreamDefaultSinkAbortAlgorithm(stream, reason) {\n TransformStreamError(stream, reason);\n return promiseResolvedWith(undefined);\n }\n function TransformStreamDefaultSinkCloseAlgorithm(stream) {\n var readable = stream._readable;\n var controller = stream._transformStreamController;\n var flushPromise = controller._flushAlgorithm();\n TransformStreamDefaultControllerClearAlgorithms(controller);\n return transformPromiseWith(flushPromise, function () {\n if (readable._state === 'errored') {\n throw readable._storedError;\n }\n var readableController = readable._readableStreamController;\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === true) {\n ReadableStreamDefaultControllerClose(readableController);\n }\n }, function (r) {\n TransformStreamError(stream, r);\n throw readable._storedError;\n });\n }\n function TransformStreamDefaultSourcePullAlgorithm(stream) {\n TransformStreamSetBackpressure(stream, false);\n return stream._backpressureChangePromise;\n }\n function defaultControllerBrandCheckException$1(name) {\n return new TypeError(\"TransformStreamDefaultController.prototype.\" + name + \" can only be used on a TransformStreamDefaultController\");\n }\n function streamBrandCheckException$2(name) {\n return new TypeError(\"TransformStream.prototype.\" + name + \" can only be used on a TransformStream\");\n }\n exports.ByteLengthQueuingStrategy = ByteLengthQueuingStrategy;\n exports.CountQueuingStrategy = CountQueuingStrategy;\n exports.ReadableStream = ReadableStream;\n exports.TransformStream = TransformStream;\n exports.WritableStream = WritableStream;\n Object.defineProperty(exports, '__esModule', { value: true });\n}));\n\n/***/ }),\n/* 146 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(147);\n__w_pdfjs_require__(118);\n__w_pdfjs_require__(77);\n__w_pdfjs_require__(120);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Map;\n\n/***/ }),\n/* 147 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar collection = __w_pdfjs_require__(148);\nvar collectionStrong = __w_pdfjs_require__(152);\nmodule.exports = collection('Map', function (init) {\n return function Map() {\n return init(this, arguments.length ? arguments[0] : undefined);\n };\n}, collectionStrong);\n\n/***/ }),\n/* 148 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar global = __w_pdfjs_require__(11);\nvar isForced = __w_pdfjs_require__(52);\nvar redefine = __w_pdfjs_require__(29);\nvar InternalMetadataModule = __w_pdfjs_require__(149);\nvar iterate = __w_pdfjs_require__(104);\nvar anInstance = __w_pdfjs_require__(126);\nvar isObject = __w_pdfjs_require__(22);\nvar fails = __w_pdfjs_require__(14);\nvar checkCorrectnessOfIteration = __w_pdfjs_require__(97);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar inheritIfRequired = __w_pdfjs_require__(151);\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n var fixMethod = function (KEY) {\n var nativeMethod = NativePrototype[KEY];\n redefine(NativePrototype, KEY, KEY == 'add' ? function add(value) {\n nativeMethod.call(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n nativeMethod.call(this, key === 0 ? 0 : key, value);\n return this;\n });\n };\n if (isForced(CONSTRUCTOR_NAME, typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n })))) {\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.REQUIRED = true;\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n var THROWS_ON_PRIMITIVES = fails(function () {\n instance.has(1);\n });\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) {\n new NativeConstructor(iterable);\n });\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--)\n $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, Constructor, CONSTRUCTOR_NAME);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined)\n iterate(iterable, that[ADDER], that, IS_MAP);\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n if (BUGGY_ZERO || HASNT_CHAINING)\n fixMethod(ADDER);\n if (IS_WEAK && NativePrototype.clear)\n delete NativePrototype.clear;\n }\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({\n global: true,\n forced: Constructor != NativeConstructor\n }, exported);\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n if (!IS_WEAK)\n common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n return Constructor;\n};\n\n/***/ }),\n/* 149 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar hiddenKeys = __w_pdfjs_require__(39);\nvar isObject = __w_pdfjs_require__(22);\nvar has = __w_pdfjs_require__(23);\nvar defineProperty = __w_pdfjs_require__(27).f;\nvar uid = __w_pdfjs_require__(38);\nvar FREEZING = __w_pdfjs_require__(150);\nvar METADATA = uid('meta');\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, {\n value: {\n objectID: 'O' + ++id,\n weakData: {}\n }\n });\n};\nvar fastKey = function (it, create) {\n if (!isObject(it))\n return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, METADATA)) {\n if (!isExtensible(it))\n return 'F';\n if (!create)\n return 'E';\n setMetadata(it);\n }\n return it[METADATA].objectID;\n};\nvar getWeakData = function (it, create) {\n if (!has(it, METADATA)) {\n if (!isExtensible(it))\n return true;\n if (!create)\n return false;\n setMetadata(it);\n }\n return it[METADATA].weakData;\n};\nvar onFreeze = function (it) {\n if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA))\n setMetadata(it);\n return it;\n};\nvar meta = module.exports = {\n REQUIRED: false,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\nhiddenKeys[METADATA] = true;\n\n/***/ }),\n/* 150 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nmodule.exports = !fails(function () {\n return Object.isExtensible(Object.preventExtensions({}));\n});\n\n/***/ }),\n/* 151 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nvar setPrototypeOf = __w_pdfjs_require__(87);\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (setPrototypeOf && typeof (NewTarget = dummy.constructor) == 'function' && NewTarget !== Wrapper && isObject(NewTargetPrototype = NewTarget.prototype) && NewTargetPrototype !== Wrapper.prototype)\n setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n\n/***/ }),\n/* 152 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar defineProperty = __w_pdfjs_require__(27).f;\nvar create = __w_pdfjs_require__(71);\nvar redefineAll = __w_pdfjs_require__(124);\nvar bind = __w_pdfjs_require__(62);\nvar anInstance = __w_pdfjs_require__(126);\nvar iterate = __w_pdfjs_require__(104);\nvar defineIterator = __w_pdfjs_require__(79);\nvar setSpecies = __w_pdfjs_require__(125);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar fastKey = __w_pdfjs_require__(149).fastKey;\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, CONSTRUCTOR_NAME);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS)\n that.size = 0;\n if (iterable != undefined)\n iterate(iterable, that[ADDER], that, IS_MAP);\n });\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n if (entry) {\n entry.value = value;\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first)\n state.first = entry;\n if (previous)\n previous.next = entry;\n if (DESCRIPTORS)\n state.size++;\n else\n that.size++;\n if (index !== 'F')\n state.index[index] = entry;\n }\n return that;\n };\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n var index = fastKey(key);\n var entry;\n if (index !== 'F')\n return state.index[index];\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key)\n return entry;\n }\n };\n redefineAll(C.prototype, {\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous)\n entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS)\n state.size = 0;\n else\n that.size = 0;\n },\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev)\n prev.next = next;\n if (next)\n next.previous = prev;\n if (state.first == entry)\n state.first = next;\n if (state.last == entry)\n state.last = prev;\n if (DESCRIPTORS)\n state.size--;\n else\n that.size--;\n }\n return !!entry;\n },\n forEach: function forEach(callbackfn) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n while (entry && entry.removed)\n entry = entry.previous;\n }\n },\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n redefineAll(C.prototype, IS_MAP ? {\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS)\n defineProperty(C.prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return C;\n },\n setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n while (entry && entry.removed)\n entry = entry.previous;\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n state.target = undefined;\n return {\n value: undefined,\n done: true\n };\n }\n if (kind == 'keys')\n return {\n value: entry.key,\n done: false\n };\n if (kind == 'values')\n return {\n value: entry.value,\n done: false\n };\n return {\n value: [\n entry.key,\n entry.value\n ],\n done: false\n };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n\n/***/ }),\n/* 153 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(154);\n__w_pdfjs_require__(118);\n__w_pdfjs_require__(77);\n__w_pdfjs_require__(120);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Set;\n\n/***/ }),\n/* 154 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar collection = __w_pdfjs_require__(148);\nvar collectionStrong = __w_pdfjs_require__(152);\nmodule.exports = collection('Set', function (init) {\n return function Set() {\n return init(this, arguments.length ? arguments[0] : undefined);\n };\n}, collectionStrong);\n\n/***/ }),\n/* 155 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(118);\n__w_pdfjs_require__(156);\n__w_pdfjs_require__(120);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.WeakMap;\n\n/***/ }),\n/* 156 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar global = __w_pdfjs_require__(11);\nvar redefineAll = __w_pdfjs_require__(124);\nvar InternalMetadataModule = __w_pdfjs_require__(149);\nvar collection = __w_pdfjs_require__(148);\nvar collectionWeak = __w_pdfjs_require__(157);\nvar isObject = __w_pdfjs_require__(22);\nvar enforceIternalState = __w_pdfjs_require__(33).enforce;\nvar NATIVE_WEAK_MAP = __w_pdfjs_require__(34);\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar isExtensible = Object.isExtensible;\nvar InternalWeakMap;\nvar wrapper = function (init) {\n return function WeakMap() {\n return init(this, arguments.length ? arguments[0] : undefined);\n };\n};\nvar $WeakMap = module.exports = collection('WeakMap', wrapper, collectionWeak);\nif (NATIVE_WEAK_MAP && IS_IE11) {\n InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true);\n InternalMetadataModule.REQUIRED = true;\n var WeakMapPrototype = $WeakMap.prototype;\n var nativeDelete = WeakMapPrototype['delete'];\n var nativeHas = WeakMapPrototype.has;\n var nativeGet = WeakMapPrototype.get;\n var nativeSet = WeakMapPrototype.set;\n redefineAll(WeakMapPrototype, {\n 'delete': function (key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen)\n state.frozen = new InternalWeakMap();\n return nativeDelete.call(this, key) || state.frozen['delete'](key);\n }\n return nativeDelete.call(this, key);\n },\n has: function has(key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen)\n state.frozen = new InternalWeakMap();\n return nativeHas.call(this, key) || state.frozen.has(key);\n }\n return nativeHas.call(this, key);\n },\n get: function get(key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen)\n state.frozen = new InternalWeakMap();\n return nativeHas.call(this, key) ? nativeGet.call(this, key) : state.frozen.get(key);\n }\n return nativeGet.call(this, key);\n },\n set: function set(key, value) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen)\n state.frozen = new InternalWeakMap();\n nativeHas.call(this, key) ? nativeSet.call(this, key, value) : state.frozen.set(key, value);\n } else\n nativeSet.call(this, key, value);\n return this;\n }\n });\n}\n\n/***/ }),\n/* 157 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar redefineAll = __w_pdfjs_require__(124);\nvar getWeakData = __w_pdfjs_require__(149).getWeakData;\nvar anObject = __w_pdfjs_require__(28);\nvar isObject = __w_pdfjs_require__(22);\nvar anInstance = __w_pdfjs_require__(126);\nvar iterate = __w_pdfjs_require__(104);\nvar ArrayIterationModule = __w_pdfjs_require__(158);\nvar $has = __w_pdfjs_require__(23);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\nvar find = ArrayIterationModule.find;\nvar findIndex = ArrayIterationModule.findIndex;\nvar id = 0;\nvar uncaughtFrozenStore = function (store) {\n return store.frozen || (store.frozen = new UncaughtFrozenStore());\n};\nvar UncaughtFrozenStore = function () {\n this.entries = [];\n};\nvar findUncaughtFrozen = function (store, key) {\n return find(store.entries, function (it) {\n return it[0] === key;\n });\n};\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry)\n return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry)\n entry[1] = value;\n else\n this.entries.push([\n key,\n value\n ]);\n },\n 'delete': function (key) {\n var index = findIndex(this.entries, function (it) {\n return it[0] === key;\n });\n if (~index)\n this.entries.splice(index, 1);\n return !!~index;\n }\n};\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, CONSTRUCTOR_NAME);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n id: id++,\n frozen: undefined\n });\n if (iterable != undefined)\n iterate(iterable, that[ADDER], that, IS_MAP);\n });\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var data = getWeakData(anObject(key), true);\n if (data === true)\n uncaughtFrozenStore(state).set(key, value);\n else\n data[state.id] = value;\n return that;\n };\n redefineAll(C.prototype, {\n 'delete': function (key) {\n var state = getInternalState(this);\n if (!isObject(key))\n return false;\n var data = getWeakData(key);\n if (data === true)\n return uncaughtFrozenStore(state)['delete'](key);\n return data && $has(data, state.id) && delete data[state.id];\n },\n has: function has(key) {\n var state = getInternalState(this);\n if (!isObject(key))\n return false;\n var data = getWeakData(key);\n if (data === true)\n return uncaughtFrozenStore(state).has(key);\n return data && $has(data, state.id);\n }\n });\n redefineAll(C.prototype, IS_MAP ? {\n get: function get(key) {\n var state = getInternalState(this);\n if (isObject(key)) {\n var data = getWeakData(key);\n if (data === true)\n return uncaughtFrozenStore(state).get(key);\n return data ? data[state.id] : undefined;\n }\n },\n set: function set(key, value) {\n return define(this, key, value);\n }\n } : {\n add: function add(value) {\n return define(this, value, true);\n }\n });\n return C;\n }\n};\n\n/***/ }),\n/* 158 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar bind = __w_pdfjs_require__(62);\nvar IndexedObject = __w_pdfjs_require__(18);\nvar toObject = __w_pdfjs_require__(83);\nvar toLength = __w_pdfjs_require__(47);\nvar arraySpeciesCreate = __w_pdfjs_require__(159);\nvar push = [].push;\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var value, result;\n for (; length > index; index++)\n if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP)\n target[index] = result;\n else if (result)\n switch (TYPE) {\n case 3:\n return true;\n case 5:\n return value;\n case 6:\n return index;\n case 2:\n push.call(target, value);\n }\n else if (IS_EVERY)\n return false;\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\nmodule.exports = {\n forEach: createMethod(0),\n map: createMethod(1),\n filter: createMethod(2),\n some: createMethod(3),\n every: createMethod(4),\n find: createMethod(5),\n findIndex: createMethod(6)\n};\n\n/***/ }),\n/* 159 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nvar isArray = __w_pdfjs_require__(160);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar SPECIES = wellKnownSymbol('species');\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n if (typeof C == 'function' && (C === Array || isArray(C.prototype)))\n C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null)\n C = undefined;\n }\n }\n return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n\n/***/ }),\n/* 160 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar classof = __w_pdfjs_require__(19);\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n\n/***/ }),\n/* 161 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(118);\n__w_pdfjs_require__(162);\n__w_pdfjs_require__(120);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.WeakSet;\n\n/***/ }),\n/* 162 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar collection = __w_pdfjs_require__(148);\nvar collectionWeak = __w_pdfjs_require__(157);\ncollection('WeakSet', function (init) {\n return function WeakSet() {\n return init(this, arguments.length ? arguments[0] : undefined);\n };\n}, collectionWeak);\n\n/***/ }),\n/* 163 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(164);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'codePointAt');\n\n/***/ }),\n/* 164 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar codeAt = __w_pdfjs_require__(78).codeAt;\n$({\n target: 'String',\n proto: true\n}, {\n codePointAt: function codePointAt(pos) {\n return codeAt(this, pos);\n }\n});\n\n/***/ }),\n/* 165 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(166);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.String.fromCodePoint;\n\n/***/ }),\n/* 166 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar toAbsoluteIndex = __w_pdfjs_require__(49);\nvar fromCharCode = String.fromCharCode;\nvar nativeFromCodePoint = String.fromCodePoint;\nvar INCORRECT_LENGTH = !!nativeFromCodePoint && nativeFromCodePoint.length != 1;\n$({\n target: 'String',\n stat: true,\n forced: INCORRECT_LENGTH\n}, {\n fromCodePoint: function fromCodePoint(x) {\n var elements = [];\n var length = arguments.length;\n var i = 0;\n var code;\n while (length > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(code, 0x10FFFF) !== code)\n throw RangeError(code + ' is not a valid code point');\n elements.push(code < 0x10000 ? fromCharCode(code) : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00));\n }\n return elements.join('');\n }\n});\n\n/***/ }),\n/* 167 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(168);\n__w_pdfjs_require__(118);\n__w_pdfjs_require__(170);\n__w_pdfjs_require__(174);\n__w_pdfjs_require__(175);\n__w_pdfjs_require__(176);\n__w_pdfjs_require__(177);\n__w_pdfjs_require__(178);\n__w_pdfjs_require__(179);\n__w_pdfjs_require__(180);\n__w_pdfjs_require__(181);\n__w_pdfjs_require__(182);\n__w_pdfjs_require__(183);\n__w_pdfjs_require__(184);\n__w_pdfjs_require__(185);\n__w_pdfjs_require__(186);\n__w_pdfjs_require__(187);\n__w_pdfjs_require__(188);\n__w_pdfjs_require__(189);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Symbol;\n\n/***/ }),\n/* 168 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar fails = __w_pdfjs_require__(14);\nvar isArray = __w_pdfjs_require__(160);\nvar isObject = __w_pdfjs_require__(22);\nvar toObject = __w_pdfjs_require__(83);\nvar toLength = __w_pdfjs_require__(47);\nvar createProperty = __w_pdfjs_require__(93);\nvar arraySpeciesCreate = __w_pdfjs_require__(159);\nvar arrayMethodHasSpeciesSupport = __w_pdfjs_require__(169);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar V8_VERSION = __w_pdfjs_require__(135);\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\nvar isConcatSpreadable = function (O) {\n if (!isObject(O))\n return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n$({\n target: 'Array',\n proto: true,\n forced: FORCED\n}, {\n concat: function concat(arg) {\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = toLength(E.length);\n if (n + len > MAX_SAFE_INTEGER)\n throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++)\n if (k in E)\n createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER)\n throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n\n/***/ }),\n/* 169 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar V8_VERSION = __w_pdfjs_require__(135);\nvar SPECIES = wellKnownSymbol('species');\nmodule.exports = function (METHOD_NAME) {\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n\n/***/ }),\n/* 170 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar global = __w_pdfjs_require__(11);\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar NATIVE_SYMBOL = __w_pdfjs_require__(58);\nvar USE_SYMBOL_AS_UID = __w_pdfjs_require__(59);\nvar fails = __w_pdfjs_require__(14);\nvar has = __w_pdfjs_require__(23);\nvar isArray = __w_pdfjs_require__(160);\nvar isObject = __w_pdfjs_require__(22);\nvar anObject = __w_pdfjs_require__(28);\nvar toObject = __w_pdfjs_require__(83);\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar toPrimitive = __w_pdfjs_require__(21);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\nvar nativeObjectCreate = __w_pdfjs_require__(71);\nvar objectKeys = __w_pdfjs_require__(73);\nvar getOwnPropertyNamesModule = __w_pdfjs_require__(44);\nvar getOwnPropertyNamesExternal = __w_pdfjs_require__(171);\nvar getOwnPropertySymbolsModule = __w_pdfjs_require__(51);\nvar getOwnPropertyDescriptorModule = __w_pdfjs_require__(12);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar propertyIsEnumerableModule = __w_pdfjs_require__(15);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar redefine = __w_pdfjs_require__(29);\nvar shared = __w_pdfjs_require__(36);\nvar sharedKey = __w_pdfjs_require__(35);\nvar hiddenKeys = __w_pdfjs_require__(39);\nvar uid = __w_pdfjs_require__(38);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar wrappedWellKnownSymbolModule = __w_pdfjs_require__(172);\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar $forEach = __w_pdfjs_require__(158).forEach;\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\nvar WellKnownSymbolsStore = shared('wks');\nvar QObject = global.QObject;\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () {\n return nativeDefineProperty(this, 'a', { value: 7 }).a;\n }\n })).a != 7;\n}) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor)\n delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS)\n symbol.description = description;\n return symbol;\n};\nvar isSymbol = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return Object(it) instanceof $Symbol;\n};\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype)\n $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPrimitive(P, true);\n anObject(Attributes);\n if (has(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!has(O, HIDDEN))\n nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (has(O, HIDDEN) && O[HIDDEN][key])\n O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n }\n return setSymbolDescriptor(O, key, Attributes);\n }\n return nativeDefineProperty(O, key, Attributes);\n};\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key))\n $defineProperty(O, key, properties[key]);\n });\n return O;\n};\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPrimitive(V, true);\n var enumerable = nativePropertyIsEnumerable.call(this, P);\n if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P))\n return false;\n return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPrimitive(P, true);\n if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key))\n return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!has(AllSymbols, key) && !has(hiddenKeys, key))\n result.push(key);\n });\n return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {\n result.push(AllSymbols[key]);\n }\n });\n return result;\n};\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol)\n throw TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n if (this === ObjectPrototype)\n setter.call(ObjectPrototypeSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag))\n this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n if (DESCRIPTORS && USE_SETTER)\n setSymbolDescriptor(ObjectPrototype, tag, {\n configurable: true,\n set: setter\n });\n return wrap(tag, description);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return getInternalState(this).tag;\n });\n redefine($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n if (DESCRIPTORS) {\n nativeDefineProperty($Symbol[PROTOTYPE], 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n$({\n global: true,\n wrap: true,\n forced: !NATIVE_SYMBOL,\n sham: !NATIVE_SYMBOL\n}, { Symbol: $Symbol });\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n$({\n target: SYMBOL,\n stat: true,\n forced: !NATIVE_SYMBOL\n}, {\n 'for': function (key) {\n var string = String(key);\n if (has(StringToSymbolRegistry, string))\n return StringToSymbolRegistry[string];\n var symbol = $Symbol(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n },\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym))\n throw TypeError(sym + ' is not a symbol');\n if (has(SymbolToStringRegistry, sym))\n return SymbolToStringRegistry[sym];\n },\n useSetter: function () {\n USE_SETTER = true;\n },\n useSimple: function () {\n USE_SETTER = false;\n }\n});\n$({\n target: 'Object',\n stat: true,\n forced: !NATIVE_SYMBOL,\n sham: !DESCRIPTORS\n}, {\n create: $create,\n defineProperty: $defineProperty,\n defineProperties: $defineProperties,\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n$({\n target: 'Object',\n stat: true,\n forced: !NATIVE_SYMBOL\n}, {\n getOwnPropertyNames: $getOwnPropertyNames,\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n$({\n target: 'Object',\n stat: true,\n forced: fails(function () {\n getOwnPropertySymbolsModule.f(1);\n })\n}, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return getOwnPropertySymbolsModule.f(toObject(it));\n }\n});\nif ($stringify) {\n var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {\n var symbol = $Symbol();\n return $stringify([symbol]) != '[null]' || $stringify({ a: symbol }) != '{}' || $stringify(Object(symbol)) != '{}';\n });\n $({\n target: 'JSON',\n stat: true,\n forced: FORCED_JSON_STRINGIFY\n }, {\n stringify: function stringify(it, replacer, space) {\n var args = [it];\n var index = 1;\n var $replacer;\n while (arguments.length > index)\n args.push(arguments[index++]);\n $replacer = replacer;\n if (!isObject(replacer) && it === undefined || isSymbol(it))\n return;\n if (!isArray(replacer))\n replacer = function (key, value) {\n if (typeof $replacer == 'function')\n value = $replacer.call(this, key, value);\n if (!isSymbol(value))\n return value;\n };\n args[1] = replacer;\n return $stringify.apply(null, args);\n }\n });\n}\nif (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {\n createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n}\nsetToStringTag($Symbol, SYMBOL);\nhiddenKeys[HIDDEN] = true;\n\n/***/ }),\n/* 171 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar nativeGetOwnPropertyNames = __w_pdfjs_require__(44).f;\nvar toString = {}.toString;\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [];\nvar getWindowNames = function (it) {\n try {\n return nativeGetOwnPropertyNames(it);\n } catch (error) {\n return windowNames.slice();\n }\n};\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : nativeGetOwnPropertyNames(toIndexedObject(it));\n};\n\n/***/ }),\n/* 172 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nexports.f = wellKnownSymbol;\n\n/***/ }),\n/* 173 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar path = __w_pdfjs_require__(43);\nvar has = __w_pdfjs_require__(23);\nvar wrappedWellKnownSymbolModule = __w_pdfjs_require__(172);\nvar defineProperty = __w_pdfjs_require__(27).f;\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!has(Symbol, NAME))\n defineProperty(Symbol, NAME, { value: wrappedWellKnownSymbolModule.f(NAME) });\n};\n\n/***/ }),\n/* 174 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('asyncIterator');\n\n/***/ }),\n/* 175 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar global = __w_pdfjs_require__(11);\nvar has = __w_pdfjs_require__(23);\nvar isObject = __w_pdfjs_require__(22);\nvar defineProperty = __w_pdfjs_require__(27).f;\nvar copyConstructorProperties = __w_pdfjs_require__(40);\nvar NativeSymbol = global.Symbol;\nif (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) || NativeSymbol().description !== undefined)) {\n var EmptyStringDescriptionStore = {};\n var SymbolWrapper = function Symbol() {\n var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);\n var result = this instanceof SymbolWrapper ? new NativeSymbol(description) : description === undefined ? NativeSymbol() : NativeSymbol(description);\n if (description === '')\n EmptyStringDescriptionStore[result] = true;\n return result;\n };\n copyConstructorProperties(SymbolWrapper, NativeSymbol);\n var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;\n symbolPrototype.constructor = SymbolWrapper;\n var symbolToString = symbolPrototype.toString;\n var native = String(NativeSymbol('test')) == 'Symbol(test)';\n var regexp = /^Symbol\\((.*)\\)[^)]+$/;\n defineProperty(symbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n var symbol = isObject(this) ? this.valueOf() : this;\n var string = symbolToString.call(symbol);\n if (has(EmptyStringDescriptionStore, symbol))\n return '';\n var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');\n return desc === '' ? undefined : desc;\n }\n });\n $({\n global: true,\n forced: true\n }, { Symbol: SymbolWrapper });\n}\n\n/***/ }),\n/* 176 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('hasInstance');\n\n/***/ }),\n/* 177 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('isConcatSpreadable');\n\n/***/ }),\n/* 178 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('iterator');\n\n/***/ }),\n/* 179 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('match');\n\n/***/ }),\n/* 180 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('matchAll');\n\n/***/ }),\n/* 181 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('replace');\n\n/***/ }),\n/* 182 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('search');\n\n/***/ }),\n/* 183 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('species');\n\n/***/ }),\n/* 184 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('split');\n\n/***/ }),\n/* 185 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('toPrimitive');\n\n/***/ }),\n/* 186 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('toStringTag');\n\n/***/ }),\n/* 187 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('unscopables');\n\n/***/ }),\n/* 188 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar setToStringTag = __w_pdfjs_require__(85);\nsetToStringTag(Math, 'Math', true);\n\n/***/ }),\n/* 189 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar setToStringTag = __w_pdfjs_require__(85);\nsetToStringTag(global.JSON, 'JSON', true);\n\n/***/ }),\n/* 190 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(191);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'padStart');\n\n/***/ }),\n/* 191 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar $padStart = __w_pdfjs_require__(192).start;\nvar WEBKIT_BUG = __w_pdfjs_require__(194);\n$({\n target: 'String',\n proto: true,\n forced: WEBKIT_BUG\n}, {\n padStart: function padStart(maxLength) {\n return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n/***/ }),\n/* 192 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toLength = __w_pdfjs_require__(47);\nvar repeat = __w_pdfjs_require__(193);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nvar ceil = Math.ceil;\nvar createMethod = function (IS_END) {\n return function ($this, maxLength, fillString) {\n var S = String(requireObjectCoercible($this));\n var stringLength = S.length;\n var fillStr = fillString === undefined ? ' ' : String(fillString);\n var intMaxLength = toLength(maxLength);\n var fillLen, stringFiller;\n if (intMaxLength <= stringLength || fillStr == '')\n return S;\n fillLen = intMaxLength - stringLength;\n stringFiller = repeat.call(fillStr, ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen)\n stringFiller = stringFiller.slice(0, fillLen);\n return IS_END ? S + stringFiller : stringFiller + S;\n };\n};\nmodule.exports = {\n start: createMethod(false),\n end: createMethod(true)\n};\n\n/***/ }),\n/* 193 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar toInteger = __w_pdfjs_require__(48);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nmodule.exports = ''.repeat || function repeat(count) {\n var str = String(requireObjectCoercible(this));\n var result = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity)\n throw RangeError('Wrong number of repetitions');\n for (; n > 0; (n >>>= 1) && (str += str))\n if (n & 1)\n result += str;\n return result;\n};\n\n/***/ }),\n/* 194 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar userAgent = __w_pdfjs_require__(129);\nmodule.exports = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n\n/***/ }),\n/* 195 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(196);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'padEnd');\n\n/***/ }),\n/* 196 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar $padEnd = __w_pdfjs_require__(192).end;\nvar WEBKIT_BUG = __w_pdfjs_require__(194);\n$({\n target: 'String',\n proto: true,\n forced: WEBKIT_BUG\n}, {\n padEnd: function padEnd(maxLength) {\n return $padEnd(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n/***/ }),\n/* 197 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(198);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Object.values;\n\n/***/ }),\n/* 198 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar $values = __w_pdfjs_require__(199).values;\n$({\n target: 'Object',\n stat: true\n}, {\n values: function values(O) {\n return $values(O);\n }\n});\n\n/***/ }),\n/* 199 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar objectKeys = __w_pdfjs_require__(73);\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar propertyIsEnumerable = __w_pdfjs_require__(15).f;\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(O, key)) {\n result.push(TO_ENTRIES ? [\n key,\n O[key]\n ] : O[key]);\n }\n }\n return result;\n };\n};\nmodule.exports = {\n entries: createMethod(true),\n values: createMethod(false)\n};\n\n/***/ }),\n/* 200 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(201);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Object.entries;\n\n/***/ }),\n/* 201 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar $entries = __w_pdfjs_require__(199).entries;\n$({\n target: 'Object',\n stat: true\n}, {\n entries: function entries(O) {\n return $entries(O);\n }\n});\n\n/***/ }),\n/* 202 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.clearPrimitiveCaches = clearPrimitiveCaches;\nexports.isEOF = isEOF;\nexports.isCmd = isCmd;\nexports.isDict = isDict;\nexports.isName = isName;\nexports.isRef = isRef;\nexports.isRefsEqual = isRefsEqual;\nexports.isStream = isStream;\nexports.RefSetCache = exports.RefSet = exports.Ref = exports.Name = exports.Dict = exports.Cmd = exports.EOF = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nvar EOF = {};\nexports.EOF = EOF;\n\nvar Name = function NameClosure() {\n var nameCache = Object.create(null);\n\n function Name(name) {\n this.name = name;\n }\n\n Name.prototype = {};\n\n Name.get = function Name_get(name) {\n var nameValue = nameCache[name];\n return nameValue ? nameValue : nameCache[name] = new Name(name);\n };\n\n Name._clearCache = function () {\n nameCache = Object.create(null);\n };\n\n return Name;\n}();\n\nexports.Name = Name;\n\nvar Cmd = function CmdClosure() {\n var cmdCache = Object.create(null);\n\n function Cmd(cmd) {\n this.cmd = cmd;\n }\n\n Cmd.prototype = {};\n\n Cmd.get = function Cmd_get(cmd) {\n var cmdValue = cmdCache[cmd];\n return cmdValue ? cmdValue : cmdCache[cmd] = new Cmd(cmd);\n };\n\n Cmd._clearCache = function () {\n cmdCache = Object.create(null);\n };\n\n return Cmd;\n}();\n\nexports.Cmd = Cmd;\n\nvar Dict = function DictClosure() {\n var nonSerializable = function nonSerializableClosure() {\n return nonSerializable;\n };\n\n function Dict(xref) {\n this._map = Object.create(null);\n this.xref = xref;\n this.objId = null;\n this.suppressEncryption = false;\n this.__nonSerializable__ = nonSerializable;\n }\n\n Dict.prototype = {\n assignXref: function Dict_assignXref(newXref) {\n this.xref = newXref;\n },\n\n get size() {\n return Object.keys(this._map).length;\n },\n\n get: function get(key1, key2, key3) {\n var value = this._map[key1];\n\n if (value === undefined && key2 !== undefined) {\n value = this._map[key2];\n\n if (value === undefined && key3 !== undefined) {\n value = this._map[key3];\n }\n }\n\n if (value instanceof Ref && this.xref) {\n return this.xref.fetch(value, this.suppressEncryption);\n }\n\n return value;\n },\n getAsync: function getAsync(key1, key2, key3) {\n var _this = this;\n\n return _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n var value;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n value = _this._map[key1];\n\n if (value === undefined && key2 !== undefined) {\n value = _this._map[key2];\n\n if (value === undefined && key3 !== undefined) {\n value = _this._map[key3];\n }\n }\n\n if (!(value instanceof Ref && _this.xref)) {\n _context.next = 4;\n break;\n }\n\n return _context.abrupt(\"return\", _this.xref.fetchAsync(value, _this.suppressEncryption));\n\n case 4:\n return _context.abrupt(\"return\", value);\n\n case 5:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }))();\n },\n getArray: function getArray(key1, key2, key3) {\n var value = this.get(key1, key2, key3);\n\n if (!Array.isArray(value) || !this.xref) {\n return value;\n }\n\n value = value.slice();\n\n for (var i = 0, ii = value.length; i < ii; i++) {\n if (!(value[i] instanceof Ref)) {\n continue;\n }\n\n value[i] = this.xref.fetch(value[i], this.suppressEncryption);\n }\n\n return value;\n },\n getRaw: function Dict_getRaw(key) {\n return this._map[key];\n },\n getKeys: function Dict_getKeys() {\n return Object.keys(this._map);\n },\n getRawValues: function Dict_getRawValues() {\n return Object.values(this._map);\n },\n set: function Dict_set(key, value) {\n this._map[key] = value;\n },\n has: function Dict_has(key) {\n return this._map[key] !== undefined;\n },\n forEach: function Dict_forEach(callback) {\n for (var key in this._map) {\n callback(key, this.get(key));\n }\n }\n };\n Dict.empty = new Dict(null);\n\n Dict.merge = function (_ref) {\n var xref = _ref.xref,\n dictArray = _ref.dictArray,\n _ref$mergeSubDicts = _ref.mergeSubDicts,\n mergeSubDicts = _ref$mergeSubDicts === void 0 ? false : _ref$mergeSubDicts;\n var mergedDict = new Dict(xref);\n\n if (!mergeSubDicts) {\n var _iterator = _createForOfIteratorHelper(dictArray),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var dict = _step.value;\n\n if (!(dict instanceof Dict)) {\n continue;\n }\n\n for (var _i = 0, _Object$entries = Object.entries(dict._map); _i < _Object$entries.length; _i++) {\n var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),\n key = _Object$entries$_i[0],\n value = _Object$entries$_i[1];\n\n if (mergedDict._map[key] === undefined) {\n mergedDict._map[key] = value;\n }\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return mergedDict.size > 0 ? mergedDict : Dict.empty;\n }\n\n var properties = new Map();\n\n var _iterator2 = _createForOfIteratorHelper(dictArray),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var _dict = _step2.value;\n\n if (!(_dict instanceof Dict)) {\n continue;\n }\n\n for (var _i2 = 0, _Object$entries2 = Object.entries(_dict._map); _i2 < _Object$entries2.length; _i2++) {\n var _Object$entries2$_i = _slicedToArray(_Object$entries2[_i2], 2),\n _key = _Object$entries2$_i[0],\n _value = _Object$entries2$_i[1];\n\n var property = properties.get(_key);\n\n if (property === undefined) {\n property = [];\n properties.set(_key, property);\n }\n\n property.push(_value);\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n var _iterator3 = _createForOfIteratorHelper(properties),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var _step3$value = _slicedToArray(_step3.value, 2),\n name = _step3$value[0],\n values = _step3$value[1];\n\n if (values.length === 1 || !(values[0] instanceof Dict)) {\n mergedDict._map[name] = values[0];\n continue;\n }\n\n var subDict = new Dict(xref);\n\n var _iterator4 = _createForOfIteratorHelper(values),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var _dict2 = _step4.value;\n\n if (!(_dict2 instanceof Dict)) {\n continue;\n }\n\n for (var _i3 = 0, _Object$entries3 = Object.entries(_dict2._map); _i3 < _Object$entries3.length; _i3++) {\n var _Object$entries3$_i = _slicedToArray(_Object$entries3[_i3], 2),\n _key2 = _Object$entries3$_i[0],\n _value2 = _Object$entries3$_i[1];\n\n if (subDict._map[_key2] === undefined) {\n subDict._map[_key2] = _value2;\n }\n }\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n\n if (subDict.size > 0) {\n mergedDict._map[name] = subDict;\n }\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n\n properties.clear();\n return mergedDict.size > 0 ? mergedDict : Dict.empty;\n };\n\n return Dict;\n}();\n\nexports.Dict = Dict;\n\nvar Ref = function RefClosure() {\n var refCache = Object.create(null);\n\n function Ref(num, gen) {\n this.num = num;\n this.gen = gen;\n }\n\n Ref.prototype = {\n toString: function Ref_toString() {\n if (this.gen === 0) {\n return \"\".concat(this.num, \"R\");\n }\n\n return \"\".concat(this.num, \"R\").concat(this.gen);\n }\n };\n\n Ref.get = function (num, gen) {\n var key = gen === 0 ? \"\".concat(num, \"R\") : \"\".concat(num, \"R\").concat(gen);\n var refValue = refCache[key];\n return refValue ? refValue : refCache[key] = new Ref(num, gen);\n };\n\n Ref._clearCache = function () {\n refCache = Object.create(null);\n };\n\n return Ref;\n}();\n\nexports.Ref = Ref;\n\nvar RefSet = /*#__PURE__*/function () {\n function RefSet() {\n _classCallCheck(this, RefSet);\n\n this._set = new Set();\n }\n\n _createClass(RefSet, [{\n key: \"has\",\n value: function has(ref) {\n return this._set.has(ref.toString());\n }\n }, {\n key: \"put\",\n value: function put(ref) {\n this._set.add(ref.toString());\n }\n }, {\n key: \"remove\",\n value: function remove(ref) {\n this._set[\"delete\"](ref.toString());\n }\n }]);\n\n return RefSet;\n}();\n\nexports.RefSet = RefSet;\n\nvar RefSetCache = /*#__PURE__*/function () {\n function RefSetCache() {\n _classCallCheck(this, RefSetCache);\n\n this._map = new Map();\n }\n\n _createClass(RefSetCache, [{\n key: \"get\",\n value: function get(ref) {\n return this._map.get(ref.toString());\n }\n }, {\n key: \"has\",\n value: function has(ref) {\n return this._map.has(ref.toString());\n }\n }, {\n key: \"put\",\n value: function put(ref, obj) {\n this._map.set(ref.toString(), obj);\n }\n }, {\n key: \"putAlias\",\n value: function putAlias(ref, aliasRef) {\n this._map.set(ref.toString(), this.get(aliasRef));\n }\n }, {\n key: \"forEach\",\n value: function forEach(callback) {\n var _iterator5 = _createForOfIteratorHelper(this._map.values()),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var value = _step5.value;\n callback(value);\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this._map.clear();\n }\n }, {\n key: \"size\",\n get: function get() {\n return this._map.size;\n }\n }]);\n\n return RefSetCache;\n}();\n\nexports.RefSetCache = RefSetCache;\n\nfunction isEOF(v) {\n return v === EOF;\n}\n\nfunction isName(v, name) {\n return v instanceof Name && (name === undefined || v.name === name);\n}\n\nfunction isCmd(v, cmd) {\n return v instanceof Cmd && (cmd === undefined || v.cmd === cmd);\n}\n\nfunction isDict(v, type) {\n return v instanceof Dict && (type === undefined || isName(v.get(\"Type\"), type));\n}\n\nfunction isRef(v) {\n return v instanceof Ref;\n}\n\nfunction isRefsEqual(v1, v2) {\n return v1.num === v2.num && v1.gen === v2.gen;\n}\n\nfunction isStream(v) {\n return _typeof(v) === \"object\" && v !== null && v.getBytes !== undefined;\n}\n\nfunction clearPrimitiveCaches() {\n Cmd._clearCache();\n\n Name._clearCache();\n\n Ref._clearCache();\n}\n\n/***/ }),\n/* 203 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.NetworkPdfManager = exports.LocalPdfManager = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _chunked_stream = __w_pdfjs_require__(204);\n\nvar _core_utils = __w_pdfjs_require__(205);\n\nvar _document = __w_pdfjs_require__(206);\n\nvar _stream = __w_pdfjs_require__(209);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar BasePdfManager = /*#__PURE__*/function () {\n function BasePdfManager() {\n _classCallCheck(this, BasePdfManager);\n\n if (this.constructor === BasePdfManager) {\n (0, _util.unreachable)(\"Cannot initialize BasePdfManager.\");\n }\n }\n\n _createClass(BasePdfManager, [{\n key: \"onLoadedStream\",\n value: function onLoadedStream() {\n (0, _util.unreachable)(\"Abstract method `onLoadedStream` called\");\n }\n }, {\n key: \"ensureDoc\",\n value: function ensureDoc(prop, args) {\n return this.ensure(this.pdfDocument, prop, args);\n }\n }, {\n key: \"ensureXRef\",\n value: function ensureXRef(prop, args) {\n return this.ensure(this.pdfDocument.xref, prop, args);\n }\n }, {\n key: \"ensureCatalog\",\n value: function ensureCatalog(prop, args) {\n return this.ensure(this.pdfDocument.catalog, prop, args);\n }\n }, {\n key: \"getPage\",\n value: function getPage(pageIndex) {\n return this.pdfDocument.getPage(pageIndex);\n }\n }, {\n key: \"fontFallback\",\n value: function fontFallback(id, handler) {\n return this.pdfDocument.fontFallback(id, handler);\n }\n }, {\n key: \"cleanup\",\n value: function cleanup() {\n var manuallyTriggered = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n return this.pdfDocument.cleanup(manuallyTriggered);\n }\n }, {\n key: \"ensure\",\n value: function () {\n var _ensure = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(obj, prop, args) {\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n (0, _util.unreachable)(\"Abstract method `ensure` called\");\n\n case 1:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n function ensure(_x, _x2, _x3) {\n return _ensure.apply(this, arguments);\n }\n\n return ensure;\n }()\n }, {\n key: \"requestRange\",\n value: function requestRange(begin, end) {\n (0, _util.unreachable)(\"Abstract method `requestRange` called\");\n }\n }, {\n key: \"requestLoadedStream\",\n value: function requestLoadedStream() {\n (0, _util.unreachable)(\"Abstract method `requestLoadedStream` called\");\n }\n }, {\n key: \"sendProgressiveData\",\n value: function sendProgressiveData(chunk) {\n (0, _util.unreachable)(\"Abstract method `sendProgressiveData` called\");\n }\n }, {\n key: \"updatePassword\",\n value: function updatePassword(password) {\n this._password = password;\n }\n }, {\n key: \"terminate\",\n value: function terminate(reason) {\n (0, _util.unreachable)(\"Abstract method `terminate` called\");\n }\n }, {\n key: \"docId\",\n get: function get() {\n return this._docId;\n }\n }, {\n key: \"password\",\n get: function get() {\n return this._password;\n }\n }, {\n key: \"docBaseUrl\",\n get: function get() {\n var docBaseUrl = null;\n\n if (this._docBaseUrl) {\n var absoluteUrl = (0, _util.createValidAbsoluteUrl)(this._docBaseUrl);\n\n if (absoluteUrl) {\n docBaseUrl = absoluteUrl.href;\n } else {\n (0, _util.warn)(\"Invalid absolute docBaseUrl: \\\"\".concat(this._docBaseUrl, \"\\\".\"));\n }\n }\n\n return (0, _util.shadow)(this, \"docBaseUrl\", docBaseUrl);\n }\n }]);\n\n return BasePdfManager;\n}();\n\nvar LocalPdfManager = /*#__PURE__*/function (_BasePdfManager) {\n _inherits(LocalPdfManager, _BasePdfManager);\n\n var _super = _createSuper(LocalPdfManager);\n\n function LocalPdfManager(docId, data, password, evaluatorOptions, docBaseUrl) {\n var _this;\n\n _classCallCheck(this, LocalPdfManager);\n\n _this = _super.call(this);\n _this._docId = docId;\n _this._password = password;\n _this._docBaseUrl = docBaseUrl;\n _this.evaluatorOptions = evaluatorOptions;\n var stream = new _stream.Stream(data);\n _this.pdfDocument = new _document.PDFDocument(_assertThisInitialized(_this), stream);\n _this._loadedStreamPromise = Promise.resolve(stream);\n return _this;\n }\n\n _createClass(LocalPdfManager, [{\n key: \"ensure\",\n value: function () {\n var _ensure2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2(obj, prop, args) {\n var value;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n value = obj[prop];\n\n if (!(typeof value === \"function\")) {\n _context2.next = 3;\n break;\n }\n\n return _context2.abrupt(\"return\", value.apply(obj, args));\n\n case 3:\n return _context2.abrupt(\"return\", value);\n\n case 4:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n\n function ensure(_x4, _x5, _x6) {\n return _ensure2.apply(this, arguments);\n }\n\n return ensure;\n }()\n }, {\n key: \"requestRange\",\n value: function requestRange(begin, end) {\n return Promise.resolve();\n }\n }, {\n key: \"requestLoadedStream\",\n value: function requestLoadedStream() {}\n }, {\n key: \"onLoadedStream\",\n value: function onLoadedStream() {\n return this._loadedStreamPromise;\n }\n }, {\n key: \"terminate\",\n value: function terminate(reason) {}\n }]);\n\n return LocalPdfManager;\n}(BasePdfManager);\n\nexports.LocalPdfManager = LocalPdfManager;\n\nvar NetworkPdfManager = /*#__PURE__*/function (_BasePdfManager2) {\n _inherits(NetworkPdfManager, _BasePdfManager2);\n\n var _super2 = _createSuper(NetworkPdfManager);\n\n function NetworkPdfManager(docId, pdfNetworkStream, args, evaluatorOptions, docBaseUrl) {\n var _this2;\n\n _classCallCheck(this, NetworkPdfManager);\n\n _this2 = _super2.call(this);\n _this2._docId = docId;\n _this2._password = args.password;\n _this2._docBaseUrl = docBaseUrl;\n _this2.msgHandler = args.msgHandler;\n _this2.evaluatorOptions = evaluatorOptions;\n _this2.streamManager = new _chunked_stream.ChunkedStreamManager(pdfNetworkStream, {\n msgHandler: args.msgHandler,\n length: args.length,\n disableAutoFetch: args.disableAutoFetch,\n rangeChunkSize: args.rangeChunkSize\n });\n _this2.pdfDocument = new _document.PDFDocument(_assertThisInitialized(_this2), _this2.streamManager.getStream());\n return _this2;\n }\n\n _createClass(NetworkPdfManager, [{\n key: \"ensure\",\n value: function () {\n var _ensure3 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee3(obj, prop, args) {\n var value;\n return _regenerator[\"default\"].wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.prev = 0;\n value = obj[prop];\n\n if (!(typeof value === \"function\")) {\n _context3.next = 4;\n break;\n }\n\n return _context3.abrupt(\"return\", value.apply(obj, args));\n\n case 4:\n return _context3.abrupt(\"return\", value);\n\n case 7:\n _context3.prev = 7;\n _context3.t0 = _context3[\"catch\"](0);\n\n if (_context3.t0 instanceof _core_utils.MissingDataException) {\n _context3.next = 11;\n break;\n }\n\n throw _context3.t0;\n\n case 11:\n _context3.next = 13;\n return this.requestRange(_context3.t0.begin, _context3.t0.end);\n\n case 13:\n return _context3.abrupt(\"return\", this.ensure(obj, prop, args));\n\n case 14:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, this, [[0, 7]]);\n }));\n\n function ensure(_x7, _x8, _x9) {\n return _ensure3.apply(this, arguments);\n }\n\n return ensure;\n }()\n }, {\n key: \"requestRange\",\n value: function requestRange(begin, end) {\n return this.streamManager.requestRange(begin, end);\n }\n }, {\n key: \"requestLoadedStream\",\n value: function requestLoadedStream() {\n this.streamManager.requestAllChunks();\n }\n }, {\n key: \"sendProgressiveData\",\n value: function sendProgressiveData(chunk) {\n this.streamManager.onReceiveData({\n chunk: chunk\n });\n }\n }, {\n key: \"onLoadedStream\",\n value: function onLoadedStream() {\n return this.streamManager.onLoadedStream();\n }\n }, {\n key: \"terminate\",\n value: function terminate(reason) {\n this.streamManager.abort(reason);\n }\n }]);\n\n return NetworkPdfManager;\n}(BasePdfManager);\n\nexports.NetworkPdfManager = NetworkPdfManager;\n\n/***/ }),\n/* 204 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ChunkedStreamManager = exports.ChunkedStream = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _core_utils = __w_pdfjs_require__(205);\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar ChunkedStream = /*#__PURE__*/function () {\n function ChunkedStream(length, chunkSize, manager) {\n _classCallCheck(this, ChunkedStream);\n\n this.bytes = new Uint8Array(length);\n this.start = 0;\n this.pos = 0;\n this.end = length;\n this.chunkSize = chunkSize;\n this._loadedChunks = new Set();\n this.numChunks = Math.ceil(length / chunkSize);\n this.manager = manager;\n this.progressiveDataLength = 0;\n this.lastSuccessfulEnsureByteChunk = -1;\n }\n\n _createClass(ChunkedStream, [{\n key: \"getMissingChunks\",\n value: function getMissingChunks() {\n var chunks = [];\n\n for (var chunk = 0, n = this.numChunks; chunk < n; ++chunk) {\n if (!this._loadedChunks.has(chunk)) {\n chunks.push(chunk);\n }\n }\n\n return chunks;\n }\n }, {\n key: \"getBaseStreams\",\n value: function getBaseStreams() {\n return [this];\n }\n }, {\n key: \"allChunksLoaded\",\n value: function allChunksLoaded() {\n return this.numChunksLoaded === this.numChunks;\n }\n }, {\n key: \"onReceiveData\",\n value: function onReceiveData(begin, chunk) {\n var chunkSize = this.chunkSize;\n\n if (begin % chunkSize !== 0) {\n throw new Error(\"Bad begin offset: \".concat(begin));\n }\n\n var end = begin + chunk.byteLength;\n\n if (end % chunkSize !== 0 && end !== this.bytes.length) {\n throw new Error(\"Bad end offset: \".concat(end));\n }\n\n this.bytes.set(new Uint8Array(chunk), begin);\n var beginChunk = Math.floor(begin / chunkSize);\n var endChunk = Math.floor((end - 1) / chunkSize) + 1;\n\n for (var curChunk = beginChunk; curChunk < endChunk; ++curChunk) {\n this._loadedChunks.add(curChunk);\n }\n }\n }, {\n key: \"onReceiveProgressiveData\",\n value: function onReceiveProgressiveData(data) {\n var position = this.progressiveDataLength;\n var beginChunk = Math.floor(position / this.chunkSize);\n this.bytes.set(new Uint8Array(data), position);\n position += data.byteLength;\n this.progressiveDataLength = position;\n var endChunk = position >= this.end ? this.numChunks : Math.floor(position / this.chunkSize);\n\n for (var curChunk = beginChunk; curChunk < endChunk; ++curChunk) {\n this._loadedChunks.add(curChunk);\n }\n }\n }, {\n key: \"ensureByte\",\n value: function ensureByte(pos) {\n if (pos < this.progressiveDataLength) {\n return;\n }\n\n var chunk = Math.floor(pos / this.chunkSize);\n\n if (chunk === this.lastSuccessfulEnsureByteChunk) {\n return;\n }\n\n if (!this._loadedChunks.has(chunk)) {\n throw new _core_utils.MissingDataException(pos, pos + 1);\n }\n\n this.lastSuccessfulEnsureByteChunk = chunk;\n }\n }, {\n key: \"ensureRange\",\n value: function ensureRange(begin, end) {\n if (begin >= end) {\n return;\n }\n\n if (end <= this.progressiveDataLength) {\n return;\n }\n\n var chunkSize = this.chunkSize;\n var beginChunk = Math.floor(begin / chunkSize);\n var endChunk = Math.floor((end - 1) / chunkSize) + 1;\n\n for (var chunk = beginChunk; chunk < endChunk; ++chunk) {\n if (!this._loadedChunks.has(chunk)) {\n throw new _core_utils.MissingDataException(begin, end);\n }\n }\n }\n }, {\n key: \"nextEmptyChunk\",\n value: function nextEmptyChunk(beginChunk) {\n var numChunks = this.numChunks;\n\n for (var i = 0; i < numChunks; ++i) {\n var chunk = (beginChunk + i) % numChunks;\n\n if (!this._loadedChunks.has(chunk)) {\n return chunk;\n }\n }\n\n return null;\n }\n }, {\n key: \"hasChunk\",\n value: function hasChunk(chunk) {\n return this._loadedChunks.has(chunk);\n }\n }, {\n key: \"getByte\",\n value: function getByte() {\n var pos = this.pos;\n\n if (pos >= this.end) {\n return -1;\n }\n\n if (pos >= this.progressiveDataLength) {\n this.ensureByte(pos);\n }\n\n return this.bytes[this.pos++];\n }\n }, {\n key: \"getUint16\",\n value: function getUint16() {\n var b0 = this.getByte();\n var b1 = this.getByte();\n\n if (b0 === -1 || b1 === -1) {\n return -1;\n }\n\n return (b0 << 8) + b1;\n }\n }, {\n key: \"getInt32\",\n value: function getInt32() {\n var b0 = this.getByte();\n var b1 = this.getByte();\n var b2 = this.getByte();\n var b3 = this.getByte();\n return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;\n }\n }, {\n key: \"getBytes\",\n value: function getBytes(length) {\n var forceClamped = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var bytes = this.bytes;\n var pos = this.pos;\n var strEnd = this.end;\n\n if (!length) {\n if (strEnd > this.progressiveDataLength) {\n this.ensureRange(pos, strEnd);\n }\n\n var _subarray = bytes.subarray(pos, strEnd);\n\n return forceClamped ? new Uint8ClampedArray(_subarray) : _subarray;\n }\n\n var end = pos + length;\n\n if (end > strEnd) {\n end = strEnd;\n }\n\n if (end > this.progressiveDataLength) {\n this.ensureRange(pos, end);\n }\n\n this.pos = end;\n var subarray = bytes.subarray(pos, end);\n return forceClamped ? new Uint8ClampedArray(subarray) : subarray;\n }\n }, {\n key: \"peekByte\",\n value: function peekByte() {\n var peekedByte = this.getByte();\n\n if (peekedByte !== -1) {\n this.pos--;\n }\n\n return peekedByte;\n }\n }, {\n key: \"peekBytes\",\n value: function peekBytes(length) {\n var forceClamped = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var bytes = this.getBytes(length, forceClamped);\n this.pos -= bytes.length;\n return bytes;\n }\n }, {\n key: \"getByteRange\",\n value: function getByteRange(begin, end) {\n if (begin < 0) {\n begin = 0;\n }\n\n if (end > this.end) {\n end = this.end;\n }\n\n if (end > this.progressiveDataLength) {\n this.ensureRange(begin, end);\n }\n\n return this.bytes.subarray(begin, end);\n }\n }, {\n key: \"skip\",\n value: function skip(n) {\n if (!n) {\n n = 1;\n }\n\n this.pos += n;\n }\n }, {\n key: \"reset\",\n value: function reset() {\n this.pos = this.start;\n }\n }, {\n key: \"moveStart\",\n value: function moveStart() {\n this.start = this.pos;\n }\n }, {\n key: \"makeSubStream\",\n value: function makeSubStream(start, length, dict) {\n if (length) {\n if (start + length > this.progressiveDataLength) {\n this.ensureRange(start, start + length);\n }\n } else {\n if (start >= this.progressiveDataLength) {\n this.ensureByte(start);\n }\n }\n\n function ChunkedStreamSubstream() {}\n\n ChunkedStreamSubstream.prototype = Object.create(this);\n\n ChunkedStreamSubstream.prototype.getMissingChunks = function () {\n var chunkSize = this.chunkSize;\n var beginChunk = Math.floor(this.start / chunkSize);\n var endChunk = Math.floor((this.end - 1) / chunkSize) + 1;\n var missingChunks = [];\n\n for (var chunk = beginChunk; chunk < endChunk; ++chunk) {\n if (!this._loadedChunks.has(chunk)) {\n missingChunks.push(chunk);\n }\n }\n\n return missingChunks;\n };\n\n ChunkedStreamSubstream.prototype.allChunksLoaded = function () {\n if (this.numChunksLoaded === this.numChunks) {\n return true;\n }\n\n return this.getMissingChunks().length === 0;\n };\n\n var subStream = new ChunkedStreamSubstream();\n subStream.pos = subStream.start = start;\n subStream.end = start + length || this.end;\n subStream.dict = dict;\n return subStream;\n }\n }, {\n key: \"numChunksLoaded\",\n get: function get() {\n return this._loadedChunks.size;\n }\n }, {\n key: \"length\",\n get: function get() {\n return this.end - this.start;\n }\n }, {\n key: \"isEmpty\",\n get: function get() {\n return this.length === 0;\n }\n }]);\n\n return ChunkedStream;\n}();\n\nexports.ChunkedStream = ChunkedStream;\n\nvar ChunkedStreamManager = /*#__PURE__*/function () {\n function ChunkedStreamManager(pdfNetworkStream, args) {\n _classCallCheck(this, ChunkedStreamManager);\n\n this.length = args.length;\n this.chunkSize = args.rangeChunkSize;\n this.stream = new ChunkedStream(this.length, this.chunkSize, this);\n this.pdfNetworkStream = pdfNetworkStream;\n this.disableAutoFetch = args.disableAutoFetch;\n this.msgHandler = args.msgHandler;\n this.currRequestId = 0;\n this._chunksNeededByRequest = new Map();\n this._requestsByChunk = new Map();\n this._promisesByRequest = new Map();\n this.progressiveDataLength = 0;\n this.aborted = false;\n this._loadedStreamCapability = (0, _util.createPromiseCapability)();\n }\n\n _createClass(ChunkedStreamManager, [{\n key: \"onLoadedStream\",\n value: function onLoadedStream() {\n return this._loadedStreamCapability.promise;\n }\n }, {\n key: \"sendRequest\",\n value: function sendRequest(begin, end) {\n var _this = this;\n\n var rangeReader = this.pdfNetworkStream.getRangeReader(begin, end);\n\n if (!rangeReader.isStreamingSupported) {\n rangeReader.onProgress = this.onProgress.bind(this);\n }\n\n var chunks = [],\n loaded = 0;\n var promise = new Promise(function (resolve, reject) {\n var readChunk = function readChunk(chunk) {\n try {\n if (!chunk.done) {\n var data = chunk.value;\n chunks.push(data);\n loaded += (0, _util.arrayByteLength)(data);\n\n if (rangeReader.isStreamingSupported) {\n _this.onProgress({\n loaded: loaded\n });\n }\n\n rangeReader.read().then(readChunk, reject);\n return;\n }\n\n var chunkData = (0, _util.arraysToBytes)(chunks);\n chunks = null;\n resolve(chunkData);\n } catch (e) {\n reject(e);\n }\n };\n\n rangeReader.read().then(readChunk, reject);\n });\n promise.then(function (data) {\n if (_this.aborted) {\n return;\n }\n\n _this.onReceiveData({\n chunk: data,\n begin: begin\n });\n });\n }\n }, {\n key: \"requestAllChunks\",\n value: function requestAllChunks() {\n var missingChunks = this.stream.getMissingChunks();\n\n this._requestChunks(missingChunks);\n\n return this._loadedStreamCapability.promise;\n }\n }, {\n key: \"_requestChunks\",\n value: function _requestChunks(chunks) {\n var _this2 = this;\n\n var requestId = this.currRequestId++;\n var chunksNeeded = new Set();\n\n this._chunksNeededByRequest.set(requestId, chunksNeeded);\n\n var _iterator = _createForOfIteratorHelper(chunks),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var chunk = _step.value;\n\n if (!this.stream.hasChunk(chunk)) {\n chunksNeeded.add(chunk);\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n if (chunksNeeded.size === 0) {\n return Promise.resolve();\n }\n\n var capability = (0, _util.createPromiseCapability)();\n\n this._promisesByRequest.set(requestId, capability);\n\n var chunksToRequest = [];\n\n var _iterator2 = _createForOfIteratorHelper(chunksNeeded),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var _chunk = _step2.value;\n\n var requestIds = this._requestsByChunk.get(_chunk);\n\n if (!requestIds) {\n requestIds = [];\n\n this._requestsByChunk.set(_chunk, requestIds);\n\n chunksToRequest.push(_chunk);\n }\n\n requestIds.push(requestId);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n if (chunksToRequest.length > 0) {\n var groupedChunksToRequest = this.groupChunks(chunksToRequest);\n\n var _iterator3 = _createForOfIteratorHelper(groupedChunksToRequest),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var groupedChunk = _step3.value;\n var begin = groupedChunk.beginChunk * this.chunkSize;\n var end = Math.min(groupedChunk.endChunk * this.chunkSize, this.length);\n this.sendRequest(begin, end);\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n }\n\n return capability.promise[\"catch\"](function (reason) {\n if (_this2.aborted) {\n return;\n }\n\n throw reason;\n });\n }\n }, {\n key: \"getStream\",\n value: function getStream() {\n return this.stream;\n }\n }, {\n key: \"requestRange\",\n value: function requestRange(begin, end) {\n end = Math.min(end, this.length);\n var beginChunk = this.getBeginChunk(begin);\n var endChunk = this.getEndChunk(end);\n var chunks = [];\n\n for (var chunk = beginChunk; chunk < endChunk; ++chunk) {\n chunks.push(chunk);\n }\n\n return this._requestChunks(chunks);\n }\n }, {\n key: \"requestRanges\",\n value: function requestRanges() {\n var ranges = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var chunksToRequest = [];\n\n var _iterator4 = _createForOfIteratorHelper(ranges),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var range = _step4.value;\n var beginChunk = this.getBeginChunk(range.begin);\n var endChunk = this.getEndChunk(range.end);\n\n for (var chunk = beginChunk; chunk < endChunk; ++chunk) {\n if (!chunksToRequest.includes(chunk)) {\n chunksToRequest.push(chunk);\n }\n }\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n\n chunksToRequest.sort(function (a, b) {\n return a - b;\n });\n return this._requestChunks(chunksToRequest);\n }\n }, {\n key: \"groupChunks\",\n value: function groupChunks(chunks) {\n var groupedChunks = [];\n var beginChunk = -1;\n var prevChunk = -1;\n\n for (var i = 0, ii = chunks.length; i < ii; ++i) {\n var chunk = chunks[i];\n\n if (beginChunk < 0) {\n beginChunk = chunk;\n }\n\n if (prevChunk >= 0 && prevChunk + 1 !== chunk) {\n groupedChunks.push({\n beginChunk: beginChunk,\n endChunk: prevChunk + 1\n });\n beginChunk = chunk;\n }\n\n if (i + 1 === chunks.length) {\n groupedChunks.push({\n beginChunk: beginChunk,\n endChunk: chunk + 1\n });\n }\n\n prevChunk = chunk;\n }\n\n return groupedChunks;\n }\n }, {\n key: \"onProgress\",\n value: function onProgress(args) {\n this.msgHandler.send(\"DocProgress\", {\n loaded: this.stream.numChunksLoaded * this.chunkSize + args.loaded,\n total: this.length\n });\n }\n }, {\n key: \"onReceiveData\",\n value: function onReceiveData(args) {\n var chunk = args.chunk;\n var isProgressive = args.begin === undefined;\n var begin = isProgressive ? this.progressiveDataLength : args.begin;\n var end = begin + chunk.byteLength;\n var beginChunk = Math.floor(begin / this.chunkSize);\n var endChunk = end < this.length ? Math.floor(end / this.chunkSize) : Math.ceil(end / this.chunkSize);\n\n if (isProgressive) {\n this.stream.onReceiveProgressiveData(chunk);\n this.progressiveDataLength = end;\n } else {\n this.stream.onReceiveData(begin, chunk);\n }\n\n if (this.stream.allChunksLoaded()) {\n this._loadedStreamCapability.resolve(this.stream);\n }\n\n var loadedRequests = [];\n\n for (var curChunk = beginChunk; curChunk < endChunk; ++curChunk) {\n var requestIds = this._requestsByChunk.get(curChunk);\n\n if (!requestIds) {\n continue;\n }\n\n this._requestsByChunk[\"delete\"](curChunk);\n\n var _iterator5 = _createForOfIteratorHelper(requestIds),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var requestId = _step5.value;\n\n var chunksNeeded = this._chunksNeededByRequest.get(requestId);\n\n if (chunksNeeded.has(curChunk)) {\n chunksNeeded[\"delete\"](curChunk);\n }\n\n if (chunksNeeded.size > 0) {\n continue;\n }\n\n loadedRequests.push(requestId);\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n }\n\n if (!this.disableAutoFetch && this._requestsByChunk.size === 0) {\n var nextEmptyChunk;\n\n if (this.stream.numChunksLoaded === 1) {\n var lastChunk = this.stream.numChunks - 1;\n\n if (!this.stream.hasChunk(lastChunk)) {\n nextEmptyChunk = lastChunk;\n }\n } else {\n nextEmptyChunk = this.stream.nextEmptyChunk(endChunk);\n }\n\n if (Number.isInteger(nextEmptyChunk)) {\n this._requestChunks([nextEmptyChunk]);\n }\n }\n\n for (var _i = 0, _loadedRequests = loadedRequests; _i < _loadedRequests.length; _i++) {\n var _requestId = _loadedRequests[_i];\n\n var capability = this._promisesByRequest.get(_requestId);\n\n this._promisesByRequest[\"delete\"](_requestId);\n\n capability.resolve();\n }\n\n this.msgHandler.send(\"DocProgress\", {\n loaded: this.stream.numChunksLoaded * this.chunkSize,\n total: this.length\n });\n }\n }, {\n key: \"onError\",\n value: function onError(err) {\n this._loadedStreamCapability.reject(err);\n }\n }, {\n key: \"getBeginChunk\",\n value: function getBeginChunk(begin) {\n return Math.floor(begin / this.chunkSize);\n }\n }, {\n key: \"getEndChunk\",\n value: function getEndChunk(end) {\n return Math.floor((end - 1) / this.chunkSize) + 1;\n }\n }, {\n key: \"abort\",\n value: function abort(reason) {\n this.aborted = true;\n\n if (this.pdfNetworkStream) {\n this.pdfNetworkStream.cancelAllRequests(reason);\n }\n\n var _iterator6 = _createForOfIteratorHelper(this._promisesByRequest.values()),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var capability = _step6.value;\n capability.reject(reason);\n }\n } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n }\n }]);\n\n return ChunkedStreamManager;\n}();\n\nexports.ChunkedStreamManager = ChunkedStreamManager;\n\n/***/ }),\n/* 205 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getLookupTableFactory = getLookupTableFactory;\nexports.getInheritableProperty = getInheritableProperty;\nexports.toRomanNumerals = toRomanNumerals;\nexports.log2 = log2;\nexports.readInt8 = readInt8;\nexports.readUint16 = readUint16;\nexports.readUint32 = readUint32;\nexports.isWhiteSpace = isWhiteSpace;\nexports.XRefParseException = exports.XRefEntryException = exports.MissingDataException = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\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\n return lookup;\n };\n}\n\nvar MissingDataException = /*#__PURE__*/function (_BaseException) {\n _inherits(MissingDataException, _BaseException);\n\n var _super = _createSuper(MissingDataException);\n\n function MissingDataException(begin, end) {\n var _this;\n\n _classCallCheck(this, MissingDataException);\n\n _this = _super.call(this, \"Missing data [\".concat(begin, \", \").concat(end, \")\"));\n _this.begin = begin;\n _this.end = end;\n return _this;\n }\n\n return MissingDataException;\n}(_util.BaseException);\n\nexports.MissingDataException = MissingDataException;\n\nvar XRefEntryException = /*#__PURE__*/function (_BaseException2) {\n _inherits(XRefEntryException, _BaseException2);\n\n var _super2 = _createSuper(XRefEntryException);\n\n function XRefEntryException() {\n _classCallCheck(this, XRefEntryException);\n\n return _super2.apply(this, arguments);\n }\n\n return XRefEntryException;\n}(_util.BaseException);\n\nexports.XRefEntryException = XRefEntryException;\n\nvar XRefParseException = /*#__PURE__*/function (_BaseException3) {\n _inherits(XRefParseException, _BaseException3);\n\n var _super3 = _createSuper(XRefParseException);\n\n function XRefParseException() {\n _classCallCheck(this, XRefParseException);\n\n return _super3.apply(this, arguments);\n }\n\n return XRefParseException;\n}(_util.BaseException);\n\nexports.XRefParseException = XRefParseException;\n\nfunction getInheritableProperty(_ref) {\n var dict = _ref.dict,\n key = _ref.key,\n _ref$getArray = _ref.getArray,\n getArray = _ref$getArray === void 0 ? false : _ref$getArray,\n _ref$stopWhenFound = _ref.stopWhenFound,\n stopWhenFound = _ref$stopWhenFound === void 0 ? true : _ref$stopWhenFound;\n var LOOP_LIMIT = 100;\n var loopCount = 0;\n var values;\n\n while (dict) {\n var value = getArray ? dict.getArray(key) : dict.get(key);\n\n if (value !== undefined) {\n if (stopWhenFound) {\n return value;\n }\n\n if (!values) {\n values = [];\n }\n\n values.push(value);\n }\n\n if (++loopCount > LOOP_LIMIT) {\n (0, _util.warn)(\"getInheritableProperty: maximum loop count exceeded for \\\"\".concat(key, \"\\\"\"));\n break;\n }\n\n dict = dict.get(\"Parent\");\n }\n\n return values;\n}\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\"];\n\nfunction toRomanNumerals(number) {\n var lowerCase = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n (0, _util.assert)(Number.isInteger(number) && number > 0, \"The number should be a positive integer.\");\n var romanBuf = [];\n var pos;\n\n while (number >= 1000) {\n number -= 1000;\n romanBuf.push(\"M\");\n }\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}\n\nfunction log2(x) {\n if (x <= 0) {\n return 0;\n }\n\n return Math.ceil(Math.log2(x));\n}\n\nfunction readInt8(data, offset) {\n return data[offset] << 24 >> 24;\n}\n\nfunction readUint16(data, offset) {\n return data[offset] << 8 | data[offset + 1];\n}\n\nfunction readUint32(data, offset) {\n return (data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3]) >>> 0;\n}\n\nfunction isWhiteSpace(ch) {\n return ch === 0x20 || ch === 0x09 || ch === 0x0d || ch === 0x0a;\n}\n\n/***/ }),\n/* 206 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFDocument = exports.Page = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _obj = __w_pdfjs_require__(207);\n\nvar _primitives = __w_pdfjs_require__(202);\n\nvar _core_utils = __w_pdfjs_require__(205);\n\nvar _stream = __w_pdfjs_require__(209);\n\nvar _annotation = __w_pdfjs_require__(222);\n\nvar _crypto = __w_pdfjs_require__(219);\n\nvar _parser = __w_pdfjs_require__(208);\n\nvar _operator_list = __w_pdfjs_require__(223);\n\nvar _evaluator = __w_pdfjs_require__(225);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar DEFAULT_USER_UNIT = 1.0;\nvar LETTER_SIZE_MEDIABOX = [0, 0, 612, 792];\n\nfunction isAnnotationRenderable(annotation, intent) {\n return intent === \"display\" && annotation.viewable || intent === \"print\" && annotation.printable;\n}\n\nvar Page = /*#__PURE__*/function () {\n function Page(_ref) {\n var pdfManager = _ref.pdfManager,\n xref = _ref.xref,\n pageIndex = _ref.pageIndex,\n pageDict = _ref.pageDict,\n ref = _ref.ref,\n globalIdFactory = _ref.globalIdFactory,\n fontCache = _ref.fontCache,\n builtInCMapCache = _ref.builtInCMapCache,\n globalImageCache = _ref.globalImageCache;\n\n _classCallCheck(this, Page);\n\n this.pdfManager = pdfManager;\n this.pageIndex = pageIndex;\n this.pageDict = pageDict;\n this.xref = xref;\n this.ref = ref;\n this.fontCache = fontCache;\n this.builtInCMapCache = builtInCMapCache;\n this.globalImageCache = globalImageCache;\n this.evaluatorOptions = pdfManager.evaluatorOptions;\n this.resourcesPromise = null;\n var idCounters = {\n obj: 0\n };\n\n this._localIdFactory = /*#__PURE__*/function (_globalIdFactory) {\n _inherits(_class, _globalIdFactory);\n\n var _super = _createSuper(_class);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(_class, null, [{\n key: \"createObjId\",\n value: function createObjId() {\n return \"p\".concat(pageIndex, \"_\").concat(++idCounters.obj);\n }\n }]);\n\n return _class;\n }(globalIdFactory);\n }\n\n _createClass(Page, [{\n key: \"_getInheritableProperty\",\n value: function _getInheritableProperty(key) {\n var getArray = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var value = (0, _core_utils.getInheritableProperty)({\n dict: this.pageDict,\n key: key,\n getArray: getArray,\n stopWhenFound: false\n });\n\n if (!Array.isArray(value)) {\n return value;\n }\n\n if (value.length === 1 || !(0, _primitives.isDict)(value[0])) {\n return value[0];\n }\n\n return _primitives.Dict.merge({\n xref: this.xref,\n dictArray: value\n });\n }\n }, {\n key: \"_getBoundingBox\",\n value: function _getBoundingBox(name) {\n var box = this._getInheritableProperty(name, true);\n\n if (Array.isArray(box) && box.length === 4) {\n if (box[2] - box[0] !== 0 && box[3] - box[1] !== 0) {\n return box;\n }\n\n (0, _util.warn)(\"Empty /\".concat(name, \" entry.\"));\n }\n\n return null;\n }\n }, {\n key: \"getContentStream\",\n value: function getContentStream() {\n var content = this.content;\n var stream;\n\n if (Array.isArray(content)) {\n var xref = this.xref;\n var streams = [];\n\n var _iterator = _createForOfIteratorHelper(content),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var subStream = _step.value;\n streams.push(xref.fetchIfRef(subStream));\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n stream = new _stream.StreamsSequenceStream(streams);\n } else if ((0, _primitives.isStream)(content)) {\n stream = content;\n } else {\n stream = new _stream.NullStream();\n }\n\n return stream;\n }\n }, {\n key: \"save\",\n value: function save(handler, task, annotationStorage) {\n var partialEvaluator = new _evaluator.PartialEvaluator({\n xref: this.xref,\n handler: handler,\n pageIndex: this.pageIndex,\n idFactory: this._localIdFactory,\n fontCache: this.fontCache,\n builtInCMapCache: this.builtInCMapCache,\n globalImageCache: this.globalImageCache,\n options: this.evaluatorOptions\n });\n return this._parsedAnnotations.then(function (annotations) {\n var newRefsPromises = [];\n\n var _iterator2 = _createForOfIteratorHelper(annotations),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var annotation = _step2.value;\n\n if (!isAnnotationRenderable(annotation, \"print\")) {\n continue;\n }\n\n newRefsPromises.push(annotation.save(partialEvaluator, task, annotationStorage)[\"catch\"](function (reason) {\n (0, _util.warn)(\"save - ignoring annotation data during \" + \"\\\"\".concat(task.name, \"\\\" task: \\\"\").concat(reason, \"\\\".\"));\n return null;\n }));\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n return Promise.all(newRefsPromises);\n });\n }\n }, {\n key: \"loadResources\",\n value: function loadResources(keys) {\n var _this = this;\n\n if (!this.resourcesPromise) {\n this.resourcesPromise = this.pdfManager.ensure(this, \"resources\");\n }\n\n return this.resourcesPromise.then(function () {\n var objectLoader = new _obj.ObjectLoader(_this.resources, keys, _this.xref);\n return objectLoader.load();\n });\n }\n }, {\n key: \"getOperatorList\",\n value: function getOperatorList(_ref2) {\n var _this2 = this;\n\n var handler = _ref2.handler,\n sink = _ref2.sink,\n task = _ref2.task,\n intent = _ref2.intent,\n renderInteractiveForms = _ref2.renderInteractiveForms,\n annotationStorage = _ref2.annotationStorage;\n var contentStreamPromise = this.pdfManager.ensure(this, \"getContentStream\");\n var resourcesPromise = this.loadResources([\"ExtGState\", \"ColorSpace\", \"Pattern\", \"Shading\", \"XObject\", \"Font\"]);\n var partialEvaluator = new _evaluator.PartialEvaluator({\n xref: this.xref,\n handler: handler,\n pageIndex: this.pageIndex,\n idFactory: this._localIdFactory,\n fontCache: this.fontCache,\n builtInCMapCache: this.builtInCMapCache,\n globalImageCache: this.globalImageCache,\n options: this.evaluatorOptions\n });\n var dataPromises = Promise.all([contentStreamPromise, resourcesPromise]);\n var pageListPromise = dataPromises.then(function (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 1),\n contentStream = _ref4[0];\n\n var opList = new _operator_list.OperatorList(intent, sink);\n handler.send(\"StartRenderPage\", {\n transparency: partialEvaluator.hasBlendModes(_this2.resources),\n pageIndex: _this2.pageIndex,\n intent: intent\n });\n return partialEvaluator.getOperatorList({\n stream: contentStream,\n task: task,\n resources: _this2.resources,\n operatorList: opList\n }).then(function () {\n return opList;\n });\n });\n return Promise.all([pageListPromise, this._parsedAnnotations]).then(function (_ref5) {\n var _ref6 = _slicedToArray(_ref5, 2),\n pageOpList = _ref6[0],\n annotations = _ref6[1];\n\n if (annotations.length === 0) {\n pageOpList.flush(true);\n return {\n length: pageOpList.totalLength\n };\n }\n\n var opListPromises = [];\n\n var _iterator3 = _createForOfIteratorHelper(annotations),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var annotation = _step3.value;\n\n if (isAnnotationRenderable(annotation, intent)) {\n opListPromises.push(annotation.getOperatorList(partialEvaluator, task, renderInteractiveForms, annotationStorage)[\"catch\"](function (reason) {\n (0, _util.warn)(\"getOperatorList - ignoring annotation data during \" + \"\\\"\".concat(task.name, \"\\\" task: \\\"\").concat(reason, \"\\\".\"));\n return null;\n }));\n }\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n\n return Promise.all(opListPromises).then(function (opLists) {\n pageOpList.addOp(_util.OPS.beginAnnotations, []);\n\n var _iterator4 = _createForOfIteratorHelper(opLists),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var opList = _step4.value;\n pageOpList.addOpList(opList);\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n\n pageOpList.addOp(_util.OPS.endAnnotations, []);\n pageOpList.flush(true);\n return {\n length: pageOpList.totalLength\n };\n });\n });\n }\n }, {\n key: \"extractTextContent\",\n value: function extractTextContent(_ref7) {\n var _this3 = this;\n\n var handler = _ref7.handler,\n task = _ref7.task,\n normalizeWhitespace = _ref7.normalizeWhitespace,\n sink = _ref7.sink,\n combineTextItems = _ref7.combineTextItems;\n var contentStreamPromise = this.pdfManager.ensure(this, \"getContentStream\");\n var resourcesPromise = this.loadResources([\"ExtGState\", \"XObject\", \"Font\"]);\n var dataPromises = Promise.all([contentStreamPromise, resourcesPromise]);\n return dataPromises.then(function (_ref8) {\n var _ref9 = _slicedToArray(_ref8, 1),\n contentStream = _ref9[0];\n\n var partialEvaluator = new _evaluator.PartialEvaluator({\n xref: _this3.xref,\n handler: handler,\n pageIndex: _this3.pageIndex,\n idFactory: _this3._localIdFactory,\n fontCache: _this3.fontCache,\n builtInCMapCache: _this3.builtInCMapCache,\n globalImageCache: _this3.globalImageCache,\n options: _this3.evaluatorOptions\n });\n return partialEvaluator.getTextContent({\n stream: contentStream,\n task: task,\n resources: _this3.resources,\n normalizeWhitespace: normalizeWhitespace,\n combineTextItems: combineTextItems,\n sink: sink\n });\n });\n }\n }, {\n key: \"getAnnotationsData\",\n value: function getAnnotationsData(intent) {\n return this._parsedAnnotations.then(function (annotations) {\n var annotationsData = [];\n\n for (var i = 0, ii = annotations.length; i < ii; i++) {\n if (!intent || isAnnotationRenderable(annotations[i], intent)) {\n annotationsData.push(annotations[i].data);\n }\n }\n\n return annotationsData;\n });\n }\n }, {\n key: \"content\",\n get: function get() {\n return this.pageDict.get(\"Contents\");\n }\n }, {\n key: \"resources\",\n get: function get() {\n return (0, _util.shadow)(this, \"resources\", this._getInheritableProperty(\"Resources\") || _primitives.Dict.empty);\n }\n }, {\n key: \"mediaBox\",\n get: function get() {\n return (0, _util.shadow)(this, \"mediaBox\", this._getBoundingBox(\"MediaBox\") || LETTER_SIZE_MEDIABOX);\n }\n }, {\n key: \"cropBox\",\n get: function get() {\n return (0, _util.shadow)(this, \"cropBox\", this._getBoundingBox(\"CropBox\") || this.mediaBox);\n }\n }, {\n key: \"userUnit\",\n get: function get() {\n var obj = this.pageDict.get(\"UserUnit\");\n\n if (!(0, _util.isNum)(obj) || obj <= 0) {\n obj = DEFAULT_USER_UNIT;\n }\n\n return (0, _util.shadow)(this, \"userUnit\", obj);\n }\n }, {\n key: \"view\",\n get: function get() {\n var cropBox = this.cropBox,\n mediaBox = this.mediaBox;\n var view;\n\n if (cropBox === mediaBox || (0, _util.isArrayEqual)(cropBox, mediaBox)) {\n view = mediaBox;\n } else {\n var box = _util.Util.intersect(cropBox, mediaBox);\n\n if (box && box[2] - box[0] !== 0 && box[3] - box[1] !== 0) {\n view = box;\n } else {\n (0, _util.warn)(\"Empty /CropBox and /MediaBox intersection.\");\n }\n }\n\n return (0, _util.shadow)(this, \"view\", view || mediaBox);\n }\n }, {\n key: \"rotate\",\n get: function get() {\n var rotate = this._getInheritableProperty(\"Rotate\") || 0;\n\n if (rotate % 90 !== 0) {\n rotate = 0;\n } else if (rotate >= 360) {\n rotate = rotate % 360;\n } else if (rotate < 0) {\n rotate = (rotate % 360 + 360) % 360;\n }\n\n return (0, _util.shadow)(this, \"rotate\", rotate);\n }\n }, {\n key: \"annotations\",\n get: function get() {\n return (0, _util.shadow)(this, \"annotations\", this._getInheritableProperty(\"Annots\") || []);\n }\n }, {\n key: \"_parsedAnnotations\",\n get: function get() {\n var _this4 = this;\n\n var parsedAnnotations = this.pdfManager.ensure(this, \"annotations\").then(function () {\n var annotationPromises = [];\n\n var _iterator5 = _createForOfIteratorHelper(_this4.annotations),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var annotationRef = _step5.value;\n annotationPromises.push(_annotation.AnnotationFactory.create(_this4.xref, annotationRef, _this4.pdfManager, _this4._localIdFactory)[\"catch\"](function (reason) {\n (0, _util.warn)(\"_parsedAnnotations: \\\"\".concat(reason, \"\\\".\"));\n return null;\n }));\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n\n return Promise.all(annotationPromises).then(function (annotations) {\n return annotations.filter(function (annotation) {\n return !!annotation;\n });\n });\n });\n return (0, _util.shadow)(this, \"_parsedAnnotations\", parsedAnnotations);\n }\n }]);\n\n return Page;\n}();\n\nexports.Page = Page;\nvar PDF_HEADER_SIGNATURE = new Uint8Array([0x25, 0x50, 0x44, 0x46, 0x2d]);\nvar STARTXREF_SIGNATURE = new Uint8Array([0x73, 0x74, 0x61, 0x72, 0x74, 0x78, 0x72, 0x65, 0x66]);\nvar ENDOBJ_SIGNATURE = new Uint8Array([0x65, 0x6e, 0x64, 0x6f, 0x62, 0x6a]);\nvar FINGERPRINT_FIRST_BYTES = 1024;\nvar EMPTY_FINGERPRINT = \"\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\";\nvar PDF_HEADER_VERSION_REGEXP = /^[1-9]\\.[0-9]$/;\n\nfunction find(stream, signature) {\n var limit = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1024;\n var backwards = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n var signatureLength = signature.length;\n var scanBytes = stream.peekBytes(limit);\n var scanLength = scanBytes.length - signatureLength;\n\n if (scanLength <= 0) {\n return false;\n }\n\n if (backwards) {\n var signatureEnd = signatureLength - 1;\n var pos = scanBytes.length - 1;\n\n while (pos >= signatureEnd) {\n var j = 0;\n\n while (j < signatureLength && scanBytes[pos - j] === signature[signatureEnd - j]) {\n j++;\n }\n\n if (j >= signatureLength) {\n stream.pos += pos - signatureEnd;\n return true;\n }\n\n pos--;\n }\n } else {\n var _pos = 0;\n\n while (_pos <= scanLength) {\n var _j = 0;\n\n while (_j < signatureLength && scanBytes[_pos + _j] === signature[_j]) {\n _j++;\n }\n\n if (_j >= signatureLength) {\n stream.pos += _pos;\n return true;\n }\n\n _pos++;\n }\n }\n\n return false;\n}\n\nvar PDFDocument = /*#__PURE__*/function () {\n function PDFDocument(pdfManager, arg) {\n _classCallCheck(this, PDFDocument);\n\n var stream;\n\n if ((0, _primitives.isStream)(arg)) {\n stream = arg;\n } else if ((0, _util.isArrayBuffer)(arg)) {\n stream = new _stream.Stream(arg);\n } else {\n throw new Error(\"PDFDocument: Unknown argument type\");\n }\n\n if (stream.length <= 0) {\n throw new _util.InvalidPDFException(\"The PDF file is empty, i.e. its size is zero bytes.\");\n }\n\n this.pdfManager = pdfManager;\n this.stream = stream;\n this.xref = new _obj.XRef(stream, pdfManager);\n this._pagePromises = [];\n this._version = null;\n var idCounters = {\n font: 0\n };\n\n this._globalIdFactory = /*#__PURE__*/function () {\n function _class2() {\n _classCallCheck(this, _class2);\n }\n\n _createClass(_class2, null, [{\n key: \"getDocId\",\n value: function getDocId() {\n return \"g_\".concat(pdfManager.docId);\n }\n }, {\n key: \"createFontId\",\n value: function createFontId() {\n return \"f\".concat(++idCounters.font);\n }\n }, {\n key: \"createObjId\",\n value: function createObjId() {\n (0, _util.unreachable)(\"Abstract method `createObjId` called.\");\n }\n }]);\n\n return _class2;\n }();\n }\n\n _createClass(PDFDocument, [{\n key: \"parse\",\n value: function parse(recoveryMode) {\n this.xref.parse(recoveryMode);\n this.catalog = new _obj.Catalog(this.pdfManager, this.xref);\n\n if (this.catalog.version) {\n this._version = this.catalog.version;\n }\n }\n }, {\n key: \"checkHeader\",\n value: function checkHeader() {\n var stream = this.stream;\n stream.reset();\n\n if (!find(stream, PDF_HEADER_SIGNATURE)) {\n return;\n }\n\n stream.moveStart();\n var MAX_PDF_VERSION_LENGTH = 12;\n var version = \"\",\n ch;\n\n while ((ch = stream.getByte()) > 0x20) {\n if (version.length >= MAX_PDF_VERSION_LENGTH) {\n break;\n }\n\n version += String.fromCharCode(ch);\n }\n\n if (!this._version) {\n this._version = version.substring(5);\n }\n }\n }, {\n key: \"parseStartXRef\",\n value: function parseStartXRef() {\n this.xref.setStartXRef(this.startXRef);\n }\n }, {\n key: \"_hasOnlyDocumentSignatures\",\n value: function _hasOnlyDocumentSignatures(fields) {\n var _this5 = this;\n\n var recursionDepth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var RECURSION_LIMIT = 10;\n return fields.every(function (field) {\n field = _this5.xref.fetchIfRef(field);\n\n if (field.has(\"Kids\")) {\n if (++recursionDepth > RECURSION_LIMIT) {\n (0, _util.warn)(\"_hasOnlyDocumentSignatures: maximum recursion depth reached\");\n return false;\n }\n\n return _this5._hasOnlyDocumentSignatures(field.get(\"Kids\"), recursionDepth);\n }\n\n var isSignature = (0, _primitives.isName)(field.get(\"FT\"), \"Sig\");\n var rectangle = field.get(\"Rect\");\n var isInvisible = Array.isArray(rectangle) && rectangle.every(function (value) {\n return value === 0;\n });\n return isSignature && isInvisible;\n });\n }\n }, {\n key: \"_getLinearizationPage\",\n value: function _getLinearizationPage(pageIndex) {\n var catalog = this.catalog,\n linearization = this.linearization;\n\n var ref = _primitives.Ref.get(linearization.objectNumberFirst, 0);\n\n return this.xref.fetchAsync(ref).then(function (obj) {\n if ((0, _primitives.isDict)(obj, \"Page\") || (0, _primitives.isDict)(obj) && !obj.has(\"Type\") && obj.has(\"Contents\")) {\n if (ref && !catalog.pageKidsCountCache.has(ref)) {\n catalog.pageKidsCountCache.put(ref, 1);\n }\n\n return [obj, ref];\n }\n\n throw new _util.FormatError(\"The Linearization dictionary doesn't point \" + \"to a valid Page dictionary.\");\n })[\"catch\"](function (reason) {\n (0, _util.info)(reason);\n return catalog.getPageDict(pageIndex);\n });\n }\n }, {\n key: \"getPage\",\n value: function getPage(pageIndex) {\n var _this6 = this;\n\n if (this._pagePromises[pageIndex] !== undefined) {\n return this._pagePromises[pageIndex];\n }\n\n var catalog = this.catalog,\n linearization = this.linearization;\n var promise = linearization && linearization.pageFirst === pageIndex ? this._getLinearizationPage(pageIndex) : catalog.getPageDict(pageIndex);\n return this._pagePromises[pageIndex] = promise.then(function (_ref10) {\n var _ref11 = _slicedToArray(_ref10, 2),\n pageDict = _ref11[0],\n ref = _ref11[1];\n\n return new Page({\n pdfManager: _this6.pdfManager,\n xref: _this6.xref,\n pageIndex: pageIndex,\n pageDict: pageDict,\n ref: ref,\n globalIdFactory: _this6._globalIdFactory,\n fontCache: catalog.fontCache,\n builtInCMapCache: catalog.builtInCMapCache,\n globalImageCache: catalog.globalImageCache\n });\n });\n }\n }, {\n key: \"checkFirstPage\",\n value: function checkFirstPage() {\n var _this7 = this;\n\n return this.getPage(0)[\"catch\"]( /*#__PURE__*/function () {\n var _ref12 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(reason) {\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!(reason instanceof _core_utils.XRefEntryException)) {\n _context.next = 5;\n break;\n }\n\n _this7._pagePromises.length = 0;\n _context.next = 4;\n return _this7.cleanup();\n\n case 4:\n throw new _core_utils.XRefParseException();\n\n case 5:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function (_x) {\n return _ref12.apply(this, arguments);\n };\n }());\n }\n }, {\n key: \"fontFallback\",\n value: function fontFallback(id, handler) {\n return this.catalog.fontFallback(id, handler);\n }\n }, {\n key: \"cleanup\",\n value: function () {\n var _cleanup = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n var manuallyTriggered,\n _args2 = arguments;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n manuallyTriggered = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : false;\n return _context2.abrupt(\"return\", this.catalog ? this.catalog.cleanup(manuallyTriggered) : (0, _primitives.clearPrimitiveCaches)());\n\n case 2:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function cleanup() {\n return _cleanup.apply(this, arguments);\n }\n\n return cleanup;\n }()\n }, {\n key: \"linearization\",\n get: function get() {\n var linearization = null;\n\n try {\n linearization = _parser.Linearization.create(this.stream);\n } catch (err) {\n if (err instanceof _core_utils.MissingDataException) {\n throw err;\n }\n\n (0, _util.info)(err);\n }\n\n return (0, _util.shadow)(this, \"linearization\", linearization);\n }\n }, {\n key: \"startXRef\",\n get: function get() {\n var stream = this.stream;\n var startXRef = 0;\n\n if (this.linearization) {\n stream.reset();\n\n if (find(stream, ENDOBJ_SIGNATURE)) {\n startXRef = stream.pos + 6 - stream.start;\n }\n } else {\n var step = 1024;\n var startXRefLength = STARTXREF_SIGNATURE.length;\n var found = false,\n pos = stream.end;\n\n while (!found && pos > 0) {\n pos -= step - startXRefLength;\n\n if (pos < 0) {\n pos = 0;\n }\n\n stream.pos = pos;\n found = find(stream, STARTXREF_SIGNATURE, step, true);\n }\n\n if (found) {\n stream.skip(9);\n var ch;\n\n do {\n ch = stream.getByte();\n } while ((0, _core_utils.isWhiteSpace)(ch));\n\n var str = \"\";\n\n while (ch >= 0x20 && ch <= 0x39) {\n str += String.fromCharCode(ch);\n ch = stream.getByte();\n }\n\n startXRef = parseInt(str, 10);\n\n if (isNaN(startXRef)) {\n startXRef = 0;\n }\n }\n }\n\n return (0, _util.shadow)(this, \"startXRef\", startXRef);\n }\n }, {\n key: \"numPages\",\n get: function get() {\n var linearization = this.linearization;\n var num = linearization ? linearization.numPages : this.catalog.numPages;\n return (0, _util.shadow)(this, \"numPages\", num);\n }\n }, {\n key: \"formInfo\",\n get: function get() {\n var formInfo = {\n hasAcroForm: false,\n hasXfa: false\n };\n var acroForm = this.catalog.acroForm;\n\n if (!acroForm) {\n return (0, _util.shadow)(this, \"formInfo\", formInfo);\n }\n\n try {\n var xfa = acroForm.get(\"XFA\");\n var hasXfa = Array.isArray(xfa) && xfa.length > 0 || (0, _primitives.isStream)(xfa) && !xfa.isEmpty;\n formInfo.hasXfa = hasXfa;\n var fields = acroForm.get(\"Fields\");\n var hasFields = Array.isArray(fields) && fields.length > 0;\n var sigFlags = acroForm.get(\"SigFlags\");\n\n var hasOnlyDocumentSignatures = !!(sigFlags & 0x1) && this._hasOnlyDocumentSignatures(fields);\n\n formInfo.hasAcroForm = hasFields && !hasOnlyDocumentSignatures;\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.info)(\"Cannot fetch form information.\");\n }\n\n return (0, _util.shadow)(this, \"formInfo\", formInfo);\n }\n }, {\n key: \"documentInfo\",\n get: function get() {\n var DocumentInfoValidators = {\n Title: _util.isString,\n Author: _util.isString,\n Subject: _util.isString,\n Keywords: _util.isString,\n Creator: _util.isString,\n Producer: _util.isString,\n CreationDate: _util.isString,\n ModDate: _util.isString,\n Trapped: _primitives.isName\n };\n var version = this._version;\n\n if (typeof version !== \"string\" || !PDF_HEADER_VERSION_REGEXP.test(version)) {\n (0, _util.warn)(\"Invalid PDF header version number: \".concat(version));\n version = null;\n }\n\n var docInfo = {\n PDFFormatVersion: version,\n IsLinearized: !!this.linearization,\n IsAcroFormPresent: this.formInfo.hasAcroForm,\n IsXFAPresent: this.formInfo.hasXfa,\n IsCollectionPresent: !!this.catalog.collection\n };\n var infoDict;\n\n try {\n infoDict = this.xref.trailer.get(\"Info\");\n } catch (err) {\n if (err instanceof _core_utils.MissingDataException) {\n throw err;\n }\n\n (0, _util.info)(\"The document information dictionary is invalid.\");\n }\n\n if ((0, _primitives.isDict)(infoDict)) {\n var _iterator6 = _createForOfIteratorHelper(infoDict.getKeys()),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var key = _step6.value;\n var value = infoDict.get(key);\n\n if (DocumentInfoValidators[key]) {\n if (DocumentInfoValidators[key](value)) {\n docInfo[key] = typeof value !== \"string\" ? value : (0, _util.stringToPDFString)(value);\n } else {\n (0, _util.info)(\"Bad value in document info for \\\"\".concat(key, \"\\\".\"));\n }\n } else if (typeof key === \"string\") {\n var customValue = void 0;\n\n if ((0, _util.isString)(value)) {\n customValue = (0, _util.stringToPDFString)(value);\n } else if ((0, _primitives.isName)(value) || (0, _util.isNum)(value) || (0, _util.isBool)(value)) {\n customValue = value;\n } else {\n (0, _util.info)(\"Unsupported value in document info for (custom) \\\"\".concat(key, \"\\\".\"));\n continue;\n }\n\n if (!docInfo.Custom) {\n docInfo.Custom = Object.create(null);\n }\n\n docInfo.Custom[key] = customValue;\n }\n }\n } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n }\n\n return (0, _util.shadow)(this, \"documentInfo\", docInfo);\n }\n }, {\n key: \"fingerprint\",\n get: function get() {\n var hash;\n var idArray = this.xref.trailer.get(\"ID\");\n\n if (Array.isArray(idArray) && idArray[0] && (0, _util.isString)(idArray[0]) && idArray[0] !== EMPTY_FINGERPRINT) {\n hash = (0, _util.stringToBytes)(idArray[0]);\n } else {\n hash = (0, _crypto.calculateMD5)(this.stream.getByteRange(0, FINGERPRINT_FIRST_BYTES), 0, FINGERPRINT_FIRST_BYTES);\n }\n\n var fingerprintBuf = [];\n\n for (var i = 0, ii = hash.length; i < ii; i++) {\n var hex = hash[i].toString(16);\n fingerprintBuf.push(hex.padStart(2, \"0\"));\n }\n\n return (0, _util.shadow)(this, \"fingerprint\", fingerprintBuf.join(\"\"));\n }\n }]);\n\n return PDFDocument;\n}();\n\nexports.PDFDocument = PDFDocument;\n\n/***/ }),\n/* 207 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FileSpec = exports.XRef = exports.ObjectLoader = exports.Catalog = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(202);\n\nvar _parser = __w_pdfjs_require__(208);\n\nvar _core_utils = __w_pdfjs_require__(205);\n\nvar _crypto = __w_pdfjs_require__(219);\n\nvar _colorspace = __w_pdfjs_require__(220);\n\nvar _image_utils = __w_pdfjs_require__(221);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction fetchDestination(dest) {\n return (0, _primitives.isDict)(dest) ? dest.get(\"D\") : dest;\n}\n\nvar Catalog = /*#__PURE__*/function () {\n function Catalog(pdfManager, xref) {\n _classCallCheck(this, Catalog);\n\n this.pdfManager = pdfManager;\n this.xref = xref;\n this._catDict = xref.getCatalogObj();\n\n if (!(0, _primitives.isDict)(this._catDict)) {\n throw new _util.FormatError(\"Catalog object is not a dictionary.\");\n }\n\n this.fontCache = new _primitives.RefSetCache();\n this.builtInCMapCache = new Map();\n this.globalImageCache = new _image_utils.GlobalImageCache();\n this.pageKidsCountCache = new _primitives.RefSetCache();\n }\n\n _createClass(Catalog, [{\n key: \"_readDocumentOutline\",\n value: function _readDocumentOutline() {\n var obj = this._catDict.get(\"Outlines\");\n\n if (!(0, _primitives.isDict)(obj)) {\n return null;\n }\n\n obj = obj.getRaw(\"First\");\n\n if (!(0, _primitives.isRef)(obj)) {\n return null;\n }\n\n var root = {\n items: []\n };\n var queue = [{\n obj: obj,\n parent: root\n }];\n var processed = new _primitives.RefSet();\n processed.put(obj);\n var xref = this.xref,\n blackColor = new Uint8ClampedArray(3);\n\n while (queue.length > 0) {\n var i = queue.shift();\n var outlineDict = xref.fetchIfRef(i.obj);\n\n if (outlineDict === null) {\n continue;\n }\n\n if (!outlineDict.has(\"Title\")) {\n throw new _util.FormatError(\"Invalid outline item encountered.\");\n }\n\n var data = {\n url: null,\n dest: null\n };\n Catalog.parseDestDictionary({\n destDict: outlineDict,\n resultObj: data,\n docBaseUrl: this.pdfManager.docBaseUrl\n });\n var title = outlineDict.get(\"Title\");\n var flags = outlineDict.get(\"F\") || 0;\n var color = outlineDict.getArray(\"C\");\n var count = outlineDict.get(\"Count\");\n var rgbColor = blackColor;\n\n if (Array.isArray(color) && color.length === 3 && (color[0] !== 0 || color[1] !== 0 || color[2] !== 0)) {\n rgbColor = _colorspace.ColorSpace.singletons.rgb.getRgb(color, 0);\n }\n\n var outlineItem = {\n dest: data.dest,\n url: data.url,\n unsafeUrl: data.unsafeUrl,\n newWindow: data.newWindow,\n title: (0, _util.stringToPDFString)(title),\n color: rgbColor,\n count: Number.isInteger(count) ? count : undefined,\n bold: !!(flags & 2),\n italic: !!(flags & 1),\n items: []\n };\n i.parent.items.push(outlineItem);\n obj = outlineDict.getRaw(\"First\");\n\n if ((0, _primitives.isRef)(obj) && !processed.has(obj)) {\n queue.push({\n obj: obj,\n parent: outlineItem\n });\n processed.put(obj);\n }\n\n obj = outlineDict.getRaw(\"Next\");\n\n if ((0, _primitives.isRef)(obj) && !processed.has(obj)) {\n queue.push({\n obj: obj,\n parent: i.parent\n });\n processed.put(obj);\n }\n }\n\n return root.items.length > 0 ? root.items : null;\n }\n }, {\n key: \"_readPermissions\",\n value: function _readPermissions() {\n var encrypt = this.xref.trailer.get(\"Encrypt\");\n\n if (!(0, _primitives.isDict)(encrypt)) {\n return null;\n }\n\n var flags = encrypt.get(\"P\");\n\n if (!(0, _util.isNum)(flags)) {\n return null;\n }\n\n flags += Math.pow(2, 32);\n var permissions = [];\n\n for (var key in _util.PermissionFlag) {\n var value = _util.PermissionFlag[key];\n\n if (flags & value) {\n permissions.push(value);\n }\n }\n\n return permissions;\n }\n }, {\n key: \"_readOptionalContentConfig\",\n value: function _readOptionalContentConfig(config, contentGroupRefs) {\n function parseOnOff(refs) {\n var onParsed = [];\n\n if (Array.isArray(refs)) {\n var _iterator = _createForOfIteratorHelper(refs),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var value = _step.value;\n\n if (!(0, _primitives.isRef)(value)) {\n continue;\n }\n\n if (contentGroupRefs.includes(value)) {\n onParsed.push(value.toString());\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n\n return onParsed;\n }\n\n function parseOrder(refs) {\n var nestedLevels = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n if (!Array.isArray(refs)) {\n return null;\n }\n\n var order = [];\n\n var _iterator2 = _createForOfIteratorHelper(refs),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var value = _step2.value;\n\n if ((0, _primitives.isRef)(value) && contentGroupRefs.includes(value)) {\n parsedOrderRefs.put(value);\n order.push(value.toString());\n continue;\n }\n\n var nestedOrder = parseNestedOrder(value, nestedLevels);\n\n if (nestedOrder) {\n order.push(nestedOrder);\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n if (nestedLevels > 0) {\n return order;\n }\n\n var hiddenGroups = [];\n\n var _iterator3 = _createForOfIteratorHelper(contentGroupRefs),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var groupRef = _step3.value;\n\n if (parsedOrderRefs.has(groupRef)) {\n continue;\n }\n\n hiddenGroups.push(groupRef.toString());\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n\n if (hiddenGroups.length) {\n order.push({\n name: null,\n order: hiddenGroups\n });\n }\n\n return order;\n }\n\n function parseNestedOrder(ref, nestedLevels) {\n if (++nestedLevels > MAX_NESTED_LEVELS) {\n (0, _util.warn)(\"parseNestedOrder - reached MAX_NESTED_LEVELS.\");\n return null;\n }\n\n var value = xref.fetchIfRef(ref);\n\n if (!Array.isArray(value)) {\n return null;\n }\n\n var nestedName = xref.fetchIfRef(value[0]);\n\n if (typeof nestedName !== \"string\") {\n return null;\n }\n\n var nestedOrder = parseOrder(value.slice(1), nestedLevels);\n\n if (!nestedOrder || !nestedOrder.length) {\n return null;\n }\n\n return {\n name: (0, _util.stringToPDFString)(nestedName),\n order: nestedOrder\n };\n }\n\n var xref = this.xref,\n parsedOrderRefs = new _primitives.RefSet(),\n MAX_NESTED_LEVELS = 10;\n return {\n name: (0, _util.isString)(config.get(\"Name\")) ? (0, _util.stringToPDFString)(config.get(\"Name\")) : null,\n creator: (0, _util.isString)(config.get(\"Creator\")) ? (0, _util.stringToPDFString)(config.get(\"Creator\")) : null,\n baseState: (0, _primitives.isName)(config.get(\"BaseState\")) ? config.get(\"BaseState\").name : null,\n on: parseOnOff(config.get(\"ON\")),\n off: parseOnOff(config.get(\"OFF\")),\n order: parseOrder(config.get(\"Order\")),\n groups: null\n };\n }\n }, {\n key: \"getDestination\",\n value: function getDestination(destinationId) {\n var obj = this._readDests();\n\n if (obj instanceof NameTree || obj instanceof _primitives.Dict) {\n return fetchDestination(obj.get(destinationId) || null);\n }\n\n return null;\n }\n }, {\n key: \"_readDests\",\n value: function _readDests() {\n var obj = this._catDict.get(\"Names\");\n\n if (obj && obj.has(\"Dests\")) {\n return new NameTree(obj.getRaw(\"Dests\"), this.xref);\n } else if (this._catDict.has(\"Dests\")) {\n return this._catDict.get(\"Dests\");\n }\n\n return undefined;\n }\n }, {\n key: \"_readPageLabels\",\n value: function _readPageLabels() {\n var obj = this._catDict.getRaw(\"PageLabels\");\n\n if (!obj) {\n return null;\n }\n\n var pageLabels = new Array(this.numPages);\n var style = null,\n prefix = \"\";\n var numberTree = new NumberTree(obj, this.xref);\n var nums = numberTree.getAll();\n var currentLabel = \"\",\n currentIndex = 1;\n\n for (var i = 0, ii = this.numPages; i < ii; i++) {\n if (i in nums) {\n var labelDict = nums[i];\n\n if (!(0, _primitives.isDict)(labelDict)) {\n throw new _util.FormatError(\"PageLabel is not a dictionary.\");\n }\n\n if (labelDict.has(\"Type\") && !(0, _primitives.isName)(labelDict.get(\"Type\"), \"PageLabel\")) {\n throw new _util.FormatError(\"Invalid type in PageLabel dictionary.\");\n }\n\n if (labelDict.has(\"S\")) {\n var s = labelDict.get(\"S\");\n\n if (!(0, _primitives.isName)(s)) {\n throw new _util.FormatError(\"Invalid style in PageLabel dictionary.\");\n }\n\n style = s.name;\n } else {\n style = null;\n }\n\n if (labelDict.has(\"P\")) {\n var p = labelDict.get(\"P\");\n\n if (!(0, _util.isString)(p)) {\n throw new _util.FormatError(\"Invalid prefix in PageLabel dictionary.\");\n }\n\n prefix = (0, _util.stringToPDFString)(p);\n } else {\n prefix = \"\";\n }\n\n if (labelDict.has(\"St\")) {\n var st = labelDict.get(\"St\");\n\n if (!(Number.isInteger(st) && st >= 1)) {\n throw new _util.FormatError(\"Invalid start in PageLabel dictionary.\");\n }\n\n currentIndex = st;\n } else {\n currentIndex = 1;\n }\n }\n\n switch (style) {\n case \"D\":\n currentLabel = currentIndex;\n break;\n\n case \"R\":\n case \"r\":\n currentLabel = (0, _core_utils.toRomanNumerals)(currentIndex, style === \"r\");\n break;\n\n case \"A\":\n case \"a\":\n var LIMIT = 26;\n var A_UPPER_CASE = 0x41,\n A_LOWER_CASE = 0x61;\n var baseCharCode = style === \"a\" ? A_LOWER_CASE : A_UPPER_CASE;\n var letterIndex = currentIndex - 1;\n var character = String.fromCharCode(baseCharCode + letterIndex % LIMIT);\n var charBuf = [];\n\n for (var j = 0, jj = letterIndex / LIMIT | 0; j <= jj; j++) {\n charBuf.push(character);\n }\n\n currentLabel = charBuf.join(\"\");\n break;\n\n default:\n if (style) {\n throw new _util.FormatError(\"Invalid style \\\"\".concat(style, \"\\\" in PageLabel dictionary.\"));\n }\n\n currentLabel = \"\";\n }\n\n pageLabels[i] = prefix + currentLabel;\n currentIndex++;\n }\n\n return pageLabels;\n }\n }, {\n key: \"fontFallback\",\n value: function fontFallback(id, handler) {\n var promises = [];\n this.fontCache.forEach(function (promise) {\n promises.push(promise);\n });\n return Promise.all(promises).then(function (translatedFonts) {\n var _iterator4 = _createForOfIteratorHelper(translatedFonts),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var translatedFont = _step4.value;\n\n if (translatedFont.loadedName === id) {\n translatedFont.fallback(handler);\n return;\n }\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n });\n }\n }, {\n key: \"cleanup\",\n value: function cleanup() {\n var _this = this;\n\n var manuallyTriggered = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n (0, _primitives.clearPrimitiveCaches)();\n this.globalImageCache.clear(manuallyTriggered);\n this.pageKidsCountCache.clear();\n var promises = [];\n this.fontCache.forEach(function (promise) {\n promises.push(promise);\n });\n return Promise.all(promises).then(function (translatedFonts) {\n var _iterator5 = _createForOfIteratorHelper(translatedFonts),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var dict = _step5.value.dict;\n delete dict.translated;\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n\n _this.fontCache.clear();\n\n _this.builtInCMapCache.clear();\n });\n }\n }, {\n key: \"getPageDict\",\n value: function getPageDict(pageIndex) {\n var capability = (0, _util.createPromiseCapability)();\n var nodesToVisit = [this._catDict.getRaw(\"Pages\")];\n var visitedNodes = new _primitives.RefSet();\n var xref = this.xref,\n pageKidsCountCache = this.pageKidsCountCache;\n var count,\n currentPageIndex = 0;\n\n function next() {\n var _loop = function _loop() {\n var currentNode = nodesToVisit.pop();\n\n if ((0, _primitives.isRef)(currentNode)) {\n count = pageKidsCountCache.get(currentNode);\n\n if (count > 0 && currentPageIndex + count < pageIndex) {\n currentPageIndex += count;\n return \"continue\";\n }\n\n if (visitedNodes.has(currentNode)) {\n capability.reject(new _util.FormatError(\"Pages tree contains circular reference.\"));\n return {\n v: void 0\n };\n }\n\n visitedNodes.put(currentNode);\n xref.fetchAsync(currentNode).then(function (obj) {\n if ((0, _primitives.isDict)(obj, \"Page\") || (0, _primitives.isDict)(obj) && !obj.has(\"Kids\")) {\n if (pageIndex === currentPageIndex) {\n if (currentNode && !pageKidsCountCache.has(currentNode)) {\n pageKidsCountCache.put(currentNode, 1);\n }\n\n capability.resolve([obj, currentNode]);\n } else {\n currentPageIndex++;\n next();\n }\n\n return;\n }\n\n nodesToVisit.push(obj);\n next();\n }, capability.reject);\n return {\n v: void 0\n };\n }\n\n if (!(0, _primitives.isDict)(currentNode)) {\n capability.reject(new _util.FormatError(\"Page dictionary kid reference points to wrong type of object.\"));\n return {\n v: void 0\n };\n }\n\n count = currentNode.get(\"Count\");\n\n if (Number.isInteger(count) && count >= 0) {\n var objId = currentNode.objId;\n\n if (objId && !pageKidsCountCache.has(objId)) {\n pageKidsCountCache.put(objId, count);\n }\n\n if (currentPageIndex + count <= pageIndex) {\n currentPageIndex += count;\n return \"continue\";\n }\n }\n\n var kids = currentNode.get(\"Kids\");\n\n if (!Array.isArray(kids)) {\n if ((0, _primitives.isName)(currentNode.get(\"Type\"), \"Page\") || !currentNode.has(\"Type\") && currentNode.has(\"Contents\")) {\n if (currentPageIndex === pageIndex) {\n capability.resolve([currentNode, null]);\n return {\n v: void 0\n };\n }\n\n currentPageIndex++;\n return \"continue\";\n }\n\n capability.reject(new _util.FormatError(\"Page dictionary kids object is not an array.\"));\n return {\n v: void 0\n };\n }\n\n for (var last = kids.length - 1; last >= 0; last--) {\n nodesToVisit.push(kids[last]);\n }\n };\n\n while (nodesToVisit.length) {\n var _ret = _loop();\n\n if (_ret === \"continue\") continue;\n if (_typeof(_ret) === \"object\") return _ret.v;\n }\n\n capability.reject(new Error(\"Page index \".concat(pageIndex, \" not found.\")));\n }\n\n next();\n return capability.promise;\n }\n }, {\n key: \"getPageIndex\",\n value: function getPageIndex(pageRef) {\n var xref = this.xref;\n\n function pagesBeforeRef(kidRef) {\n var total = 0,\n parentRef;\n return xref.fetchAsync(kidRef).then(function (node) {\n if ((0, _primitives.isRefsEqual)(kidRef, pageRef) && !(0, _primitives.isDict)(node, \"Page\") && !((0, _primitives.isDict)(node) && !node.has(\"Type\") && node.has(\"Contents\"))) {\n throw new _util.FormatError(\"The reference does not point to a /Page dictionary.\");\n }\n\n if (!node) {\n return null;\n }\n\n if (!(0, _primitives.isDict)(node)) {\n throw new _util.FormatError(\"Node must be a dictionary.\");\n }\n\n parentRef = node.getRaw(\"Parent\");\n return node.getAsync(\"Parent\");\n }).then(function (parent) {\n if (!parent) {\n return null;\n }\n\n if (!(0, _primitives.isDict)(parent)) {\n throw new _util.FormatError(\"Parent must be a dictionary.\");\n }\n\n return parent.getAsync(\"Kids\");\n }).then(function (kids) {\n if (!kids) {\n return null;\n }\n\n var kidPromises = [];\n var found = false;\n\n for (var i = 0, ii = kids.length; i < ii; i++) {\n var kid = kids[i];\n\n if (!(0, _primitives.isRef)(kid)) {\n throw new _util.FormatError(\"Kid must be a reference.\");\n }\n\n if ((0, _primitives.isRefsEqual)(kid, kidRef)) {\n found = true;\n break;\n }\n\n kidPromises.push(xref.fetchAsync(kid).then(function (obj) {\n if (!(0, _primitives.isDict)(obj)) {\n throw new _util.FormatError(\"Kid node must be a dictionary.\");\n }\n\n if (obj.has(\"Count\")) {\n total += obj.get(\"Count\");\n } else {\n total++;\n }\n }));\n }\n\n if (!found) {\n throw new _util.FormatError(\"Kid reference not found in parent's kids.\");\n }\n\n return Promise.all(kidPromises).then(function () {\n return [total, parentRef];\n });\n });\n }\n\n var total = 0;\n\n function next(ref) {\n return pagesBeforeRef(ref).then(function (args) {\n if (!args) {\n return total;\n }\n\n var _args = _slicedToArray(args, 2),\n count = _args[0],\n parentRef = _args[1];\n\n total += count;\n return next(parentRef);\n });\n }\n\n return next(pageRef);\n }\n }, {\n key: \"version\",\n get: function get() {\n var version = this._catDict.get(\"Version\");\n\n if (!(0, _primitives.isName)(version)) {\n return (0, _util.shadow)(this, \"version\", null);\n }\n\n return (0, _util.shadow)(this, \"version\", version.name);\n }\n }, {\n key: \"collection\",\n get: function get() {\n var collection = null;\n\n try {\n var obj = this._catDict.get(\"Collection\");\n\n if ((0, _primitives.isDict)(obj) && obj.size > 0) {\n collection = obj;\n }\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.info)(\"Cannot fetch Collection entry; assuming no collection is present.\");\n }\n\n return (0, _util.shadow)(this, \"collection\", collection);\n }\n }, {\n key: \"acroForm\",\n get: function get() {\n var acroForm = null;\n\n try {\n var obj = this._catDict.get(\"AcroForm\");\n\n if ((0, _primitives.isDict)(obj) && obj.size > 0) {\n acroForm = obj;\n }\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.info)(\"Cannot fetch AcroForm entry; assuming no forms are present.\");\n }\n\n return (0, _util.shadow)(this, \"acroForm\", acroForm);\n }\n }, {\n key: \"metadata\",\n get: function get() {\n var streamRef = this._catDict.getRaw(\"Metadata\");\n\n if (!(0, _primitives.isRef)(streamRef)) {\n return (0, _util.shadow)(this, \"metadata\", null);\n }\n\n var suppressEncryption = !(this.xref.encrypt && this.xref.encrypt.encryptMetadata);\n var stream = this.xref.fetch(streamRef, suppressEncryption);\n var metadata;\n\n if (stream && (0, _primitives.isDict)(stream.dict)) {\n var type = stream.dict.get(\"Type\");\n var subtype = stream.dict.get(\"Subtype\");\n\n if ((0, _primitives.isName)(type, \"Metadata\") && (0, _primitives.isName)(subtype, \"XML\")) {\n try {\n metadata = (0, _util.stringToUTF8String)((0, _util.bytesToString)(stream.getBytes()));\n } catch (e) {\n if (e instanceof _core_utils.MissingDataException) {\n throw e;\n }\n\n (0, _util.info)(\"Skipping invalid metadata.\");\n }\n }\n }\n\n return (0, _util.shadow)(this, \"metadata\", metadata);\n }\n }, {\n key: \"toplevelPagesDict\",\n get: function get() {\n var pagesObj = this._catDict.get(\"Pages\");\n\n if (!(0, _primitives.isDict)(pagesObj)) {\n throw new _util.FormatError(\"Invalid top-level pages dictionary.\");\n }\n\n return (0, _util.shadow)(this, \"toplevelPagesDict\", pagesObj);\n }\n }, {\n key: \"documentOutline\",\n get: function get() {\n var obj = null;\n\n try {\n obj = this._readDocumentOutline();\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.warn)(\"Unable to read document outline.\");\n }\n\n return (0, _util.shadow)(this, \"documentOutline\", obj);\n }\n }, {\n key: \"permissions\",\n get: function get() {\n var permissions = null;\n\n try {\n permissions = this._readPermissions();\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.warn)(\"Unable to read permissions.\");\n }\n\n return (0, _util.shadow)(this, \"permissions\", permissions);\n }\n }, {\n key: \"optionalContentConfig\",\n get: function get() {\n var config = null;\n\n try {\n var properties = this._catDict.get(\"OCProperties\");\n\n if (!properties) {\n return (0, _util.shadow)(this, \"optionalContentConfig\", null);\n }\n\n var defaultConfig = properties.get(\"D\");\n\n if (!defaultConfig) {\n return (0, _util.shadow)(this, \"optionalContentConfig\", null);\n }\n\n var groupsData = properties.get(\"OCGs\");\n\n if (!Array.isArray(groupsData)) {\n return (0, _util.shadow)(this, \"optionalContentConfig\", null);\n }\n\n var groups = [];\n var groupRefs = [];\n\n var _iterator6 = _createForOfIteratorHelper(groupsData),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var groupRef = _step6.value;\n\n if (!(0, _primitives.isRef)(groupRef)) {\n continue;\n }\n\n groupRefs.push(groupRef);\n var group = this.xref.fetchIfRef(groupRef);\n groups.push({\n id: groupRef.toString(),\n name: (0, _util.isString)(group.get(\"Name\")) ? (0, _util.stringToPDFString)(group.get(\"Name\")) : null,\n intent: (0, _util.isString)(group.get(\"Intent\")) ? (0, _util.stringToPDFString)(group.get(\"Intent\")) : null\n });\n }\n } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n\n config = this._readOptionalContentConfig(defaultConfig, groupRefs);\n config.groups = groups;\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.warn)(\"Unable to read optional content config: \".concat(ex));\n }\n\n return (0, _util.shadow)(this, \"optionalContentConfig\", config);\n }\n }, {\n key: \"numPages\",\n get: function get() {\n var obj = this.toplevelPagesDict.get(\"Count\");\n\n if (!Number.isInteger(obj)) {\n throw new _util.FormatError(\"Page count in top-level pages dictionary is not an integer.\");\n }\n\n return (0, _util.shadow)(this, \"numPages\", obj);\n }\n }, {\n key: \"destinations\",\n get: function get() {\n var obj = this._readDests(),\n dests = Object.create(null);\n\n if (obj instanceof NameTree) {\n var names = obj.getAll();\n\n for (var name in names) {\n dests[name] = fetchDestination(names[name]);\n }\n } else if (obj instanceof _primitives.Dict) {\n obj.forEach(function (key, value) {\n if (value) {\n dests[key] = fetchDestination(value);\n }\n });\n }\n\n return (0, _util.shadow)(this, \"destinations\", dests);\n }\n }, {\n key: \"pageLabels\",\n get: function get() {\n var obj = null;\n\n try {\n obj = this._readPageLabels();\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.warn)(\"Unable to read page labels.\");\n }\n\n return (0, _util.shadow)(this, \"pageLabels\", obj);\n }\n }, {\n key: \"pageLayout\",\n get: function get() {\n var obj = this._catDict.get(\"PageLayout\");\n\n var pageLayout = \"\";\n\n if ((0, _primitives.isName)(obj)) {\n switch (obj.name) {\n case \"SinglePage\":\n case \"OneColumn\":\n case \"TwoColumnLeft\":\n case \"TwoColumnRight\":\n case \"TwoPageLeft\":\n case \"TwoPageRight\":\n pageLayout = obj.name;\n }\n }\n\n return (0, _util.shadow)(this, \"pageLayout\", pageLayout);\n }\n }, {\n key: \"pageMode\",\n get: function get() {\n var obj = this._catDict.get(\"PageMode\");\n\n var pageMode = \"UseNone\";\n\n if ((0, _primitives.isName)(obj)) {\n switch (obj.name) {\n case \"UseNone\":\n case \"UseOutlines\":\n case \"UseThumbs\":\n case \"FullScreen\":\n case \"UseOC\":\n case \"UseAttachments\":\n pageMode = obj.name;\n }\n }\n\n return (0, _util.shadow)(this, \"pageMode\", pageMode);\n }\n }, {\n key: \"viewerPreferences\",\n get: function get() {\n var _this2 = this;\n\n var ViewerPreferencesValidators = {\n HideToolbar: _util.isBool,\n HideMenubar: _util.isBool,\n HideWindowUI: _util.isBool,\n FitWindow: _util.isBool,\n CenterWindow: _util.isBool,\n DisplayDocTitle: _util.isBool,\n NonFullScreenPageMode: _primitives.isName,\n Direction: _primitives.isName,\n ViewArea: _primitives.isName,\n ViewClip: _primitives.isName,\n PrintArea: _primitives.isName,\n PrintClip: _primitives.isName,\n PrintScaling: _primitives.isName,\n Duplex: _primitives.isName,\n PickTrayByPDFSize: _util.isBool,\n PrintPageRange: Array.isArray,\n NumCopies: Number.isInteger\n };\n\n var obj = this._catDict.get(\"ViewerPreferences\");\n\n var prefs = null;\n\n if ((0, _primitives.isDict)(obj)) {\n for (var key in ViewerPreferencesValidators) {\n if (!obj.has(key)) {\n continue;\n }\n\n var value = obj.get(key);\n\n if (!ViewerPreferencesValidators[key](value)) {\n (0, _util.info)(\"Bad value in ViewerPreferences for \\\"\".concat(key, \"\\\".\"));\n continue;\n }\n\n var prefValue = void 0;\n\n switch (key) {\n case \"NonFullScreenPageMode\":\n switch (value.name) {\n case \"UseNone\":\n case \"UseOutlines\":\n case \"UseThumbs\":\n case \"UseOC\":\n prefValue = value.name;\n break;\n\n default:\n prefValue = \"UseNone\";\n }\n\n break;\n\n case \"Direction\":\n switch (value.name) {\n case \"L2R\":\n case \"R2L\":\n prefValue = value.name;\n break;\n\n default:\n prefValue = \"L2R\";\n }\n\n break;\n\n case \"ViewArea\":\n case \"ViewClip\":\n case \"PrintArea\":\n case \"PrintClip\":\n switch (value.name) {\n case \"MediaBox\":\n case \"CropBox\":\n case \"BleedBox\":\n case \"TrimBox\":\n case \"ArtBox\":\n prefValue = value.name;\n break;\n\n default:\n prefValue = \"CropBox\";\n }\n\n break;\n\n case \"PrintScaling\":\n switch (value.name) {\n case \"None\":\n case \"AppDefault\":\n prefValue = value.name;\n break;\n\n default:\n prefValue = \"AppDefault\";\n }\n\n break;\n\n case \"Duplex\":\n switch (value.name) {\n case \"Simplex\":\n case \"DuplexFlipShortEdge\":\n case \"DuplexFlipLongEdge\":\n prefValue = value.name;\n break;\n\n default:\n prefValue = \"None\";\n }\n\n break;\n\n case \"PrintPageRange\":\n var length = value.length;\n\n if (length % 2 !== 0) {\n break;\n }\n\n var isValid = value.every(function (page, i, arr) {\n return Number.isInteger(page) && page > 0 && (i === 0 || page >= arr[i - 1]) && page <= _this2.numPages;\n });\n\n if (isValid) {\n prefValue = value;\n }\n\n break;\n\n case \"NumCopies\":\n if (value > 0) {\n prefValue = value;\n }\n\n break;\n\n default:\n if (typeof value !== \"boolean\") {\n throw new _util.FormatError(\"viewerPreferences - expected a boolean value for: \".concat(key));\n }\n\n prefValue = value;\n }\n\n if (prefValue !== undefined) {\n if (!prefs) {\n prefs = Object.create(null);\n }\n\n prefs[key] = prefValue;\n } else {\n (0, _util.info)(\"Bad value in ViewerPreferences for \\\"\".concat(key, \"\\\".\"));\n }\n }\n }\n\n return (0, _util.shadow)(this, \"viewerPreferences\", prefs);\n }\n }, {\n key: \"openAction\",\n get: function get() {\n var obj = this._catDict.get(\"OpenAction\");\n\n var openAction = null;\n\n if ((0, _primitives.isDict)(obj)) {\n var destDict = new _primitives.Dict(this.xref);\n destDict.set(\"A\", obj);\n var resultObj = {\n url: null,\n dest: null,\n action: null\n };\n Catalog.parseDestDictionary({\n destDict: destDict,\n resultObj: resultObj\n });\n\n if (Array.isArray(resultObj.dest)) {\n if (!openAction) {\n openAction = Object.create(null);\n }\n\n openAction.dest = resultObj.dest;\n } else if (resultObj.action) {\n if (!openAction) {\n openAction = Object.create(null);\n }\n\n openAction.action = resultObj.action;\n }\n } else if (Array.isArray(obj)) {\n if (!openAction) {\n openAction = Object.create(null);\n }\n\n openAction.dest = obj;\n }\n\n return (0, _util.shadow)(this, \"openAction\", openAction);\n }\n }, {\n key: \"attachments\",\n get: function get() {\n var obj = this._catDict.get(\"Names\");\n\n var attachments = null;\n\n if (obj && obj.has(\"EmbeddedFiles\")) {\n var nameTree = new NameTree(obj.getRaw(\"EmbeddedFiles\"), this.xref);\n var names = nameTree.getAll();\n\n for (var name in names) {\n var fs = new FileSpec(names[name], this.xref);\n\n if (!attachments) {\n attachments = Object.create(null);\n }\n\n attachments[(0, _util.stringToPDFString)(name)] = fs.serializable;\n }\n }\n\n return (0, _util.shadow)(this, \"attachments\", attachments);\n }\n }, {\n key: \"javaScript\",\n get: function get() {\n var obj = this._catDict.get(\"Names\");\n\n var javaScript = null;\n\n function appendIfJavaScriptDict(jsDict) {\n var type = jsDict.get(\"S\");\n\n if (!(0, _primitives.isName)(type, \"JavaScript\")) {\n return;\n }\n\n var js = jsDict.get(\"JS\");\n\n if ((0, _primitives.isStream)(js)) {\n js = (0, _util.bytesToString)(js.getBytes());\n } else if (!(0, _util.isString)(js)) {\n return;\n }\n\n if (!javaScript) {\n javaScript = [];\n }\n\n javaScript.push((0, _util.stringToPDFString)(js));\n }\n\n if (obj && obj.has(\"JavaScript\")) {\n var nameTree = new NameTree(obj.getRaw(\"JavaScript\"), this.xref);\n var names = nameTree.getAll();\n\n for (var name in names) {\n var jsDict = names[name];\n\n if ((0, _primitives.isDict)(jsDict)) {\n appendIfJavaScriptDict(jsDict);\n }\n }\n }\n\n var openAction = this._catDict.get(\"OpenAction\");\n\n if ((0, _primitives.isDict)(openAction) && (0, _primitives.isName)(openAction.get(\"S\"), \"JavaScript\")) {\n appendIfJavaScriptDict(openAction);\n }\n\n return (0, _util.shadow)(this, \"javaScript\", javaScript);\n }\n }], [{\n key: \"parseDestDictionary\",\n value: function parseDestDictionary(params) {\n function addDefaultProtocolToUrl(url) {\n return url.startsWith(\"www.\") ? \"http://\".concat(url) : url;\n }\n\n function tryConvertUrlEncoding(url) {\n try {\n return (0, _util.stringToUTF8String)(url);\n } catch (e) {\n return url;\n }\n }\n\n var destDict = params.destDict;\n\n if (!(0, _primitives.isDict)(destDict)) {\n (0, _util.warn)(\"parseDestDictionary: `destDict` must be a dictionary.\");\n return;\n }\n\n var resultObj = params.resultObj;\n\n if (_typeof(resultObj) !== \"object\") {\n (0, _util.warn)(\"parseDestDictionary: `resultObj` must be an object.\");\n return;\n }\n\n var docBaseUrl = params.docBaseUrl || null;\n var action = destDict.get(\"A\"),\n url,\n dest;\n\n if (!(0, _primitives.isDict)(action) && destDict.has(\"Dest\")) {\n action = destDict.get(\"Dest\");\n }\n\n if ((0, _primitives.isDict)(action)) {\n var actionType = action.get(\"S\");\n\n if (!(0, _primitives.isName)(actionType)) {\n (0, _util.warn)(\"parseDestDictionary: Invalid type in Action dictionary.\");\n return;\n }\n\n var actionName = actionType.name;\n\n switch (actionName) {\n case \"URI\":\n url = action.get(\"URI\");\n\n if ((0, _primitives.isName)(url)) {\n url = \"/\" + url.name;\n } else if ((0, _util.isString)(url)) {\n url = addDefaultProtocolToUrl(url);\n }\n\n break;\n\n case \"GoTo\":\n dest = action.get(\"D\");\n break;\n\n case \"Launch\":\n case \"GoToR\":\n var urlDict = action.get(\"F\");\n\n if ((0, _primitives.isDict)(urlDict)) {\n url = urlDict.get(\"F\") || null;\n } else if ((0, _util.isString)(urlDict)) {\n url = urlDict;\n }\n\n var remoteDest = action.get(\"D\");\n\n if (remoteDest) {\n if ((0, _primitives.isName)(remoteDest)) {\n remoteDest = remoteDest.name;\n }\n\n if ((0, _util.isString)(url)) {\n var baseUrl = url.split(\"#\")[0];\n\n if ((0, _util.isString)(remoteDest)) {\n url = baseUrl + \"#\" + remoteDest;\n } else if (Array.isArray(remoteDest)) {\n url = baseUrl + \"#\" + JSON.stringify(remoteDest);\n }\n }\n }\n\n var newWindow = action.get(\"NewWindow\");\n\n if ((0, _util.isBool)(newWindow)) {\n resultObj.newWindow = newWindow;\n }\n\n break;\n\n case \"Named\":\n var namedAction = action.get(\"N\");\n\n if ((0, _primitives.isName)(namedAction)) {\n resultObj.action = namedAction.name;\n }\n\n break;\n\n case \"JavaScript\":\n var jsAction = action.get(\"JS\");\n var js;\n\n if ((0, _primitives.isStream)(jsAction)) {\n js = (0, _util.bytesToString)(jsAction.getBytes());\n } else if ((0, _util.isString)(jsAction)) {\n js = jsAction;\n }\n\n if (js) {\n var URL_OPEN_METHODS = [\"app.launchURL\", \"window.open\"];\n var regex = new RegExp(\"^\\\\s*(\" + URL_OPEN_METHODS.join(\"|\").split(\".\").join(\"\\\\.\") + \")\\\\((?:'|\\\")([^'\\\"]*)(?:'|\\\")(?:,\\\\s*(\\\\w+)\\\\)|\\\\))\", \"i\");\n var jsUrl = regex.exec((0, _util.stringToPDFString)(js));\n\n if (jsUrl && jsUrl[2]) {\n url = jsUrl[2];\n\n if (jsUrl[3] === \"true\" && jsUrl[1] === \"app.launchURL\") {\n resultObj.newWindow = true;\n }\n\n break;\n }\n }\n\n default:\n (0, _util.warn)(\"parseDestDictionary: unsupported action type \\\"\".concat(actionName, \"\\\".\"));\n break;\n }\n } else if (destDict.has(\"Dest\")) {\n dest = destDict.get(\"Dest\");\n }\n\n if ((0, _util.isString)(url)) {\n url = tryConvertUrlEncoding(url);\n var absoluteUrl = (0, _util.createValidAbsoluteUrl)(url, docBaseUrl);\n\n if (absoluteUrl) {\n resultObj.url = absoluteUrl.href;\n }\n\n resultObj.unsafeUrl = url;\n }\n\n if (dest) {\n if ((0, _primitives.isName)(dest)) {\n dest = dest.name;\n }\n\n if ((0, _util.isString)(dest) || Array.isArray(dest)) {\n resultObj.dest = dest;\n }\n }\n }\n }]);\n\n return Catalog;\n}();\n\nexports.Catalog = Catalog;\n\nvar XRef = function XRefClosure() {\n function XRef(stream, pdfManager) {\n this.stream = stream;\n this.pdfManager = pdfManager;\n this.entries = [];\n this.xrefstms = Object.create(null);\n this._cacheMap = new Map();\n this.stats = {\n streamTypes: Object.create(null),\n fontTypes: Object.create(null)\n };\n this._newRefNum = null;\n }\n\n XRef.prototype = {\n getNewRef: function XRef_getNewRef() {\n if (this._newRefNum === null) {\n this._newRefNum = this.entries.length;\n }\n\n return _primitives.Ref.get(this._newRefNum++, 0);\n },\n resetNewRef: function XRef_resetNewRef() {\n this._newRefNum = null;\n },\n setStartXRef: function XRef_setStartXRef(startXRef) {\n this.startXRefQueue = [startXRef];\n },\n parse: function XRef_parse(recoveryMode) {\n var trailerDict;\n\n if (!recoveryMode) {\n trailerDict = this.readXRef();\n } else {\n (0, _util.warn)(\"Indexing all PDF objects\");\n trailerDict = this.indexObjects();\n }\n\n trailerDict.assignXref(this);\n this.trailer = trailerDict;\n var encrypt;\n\n try {\n encrypt = trailerDict.get(\"Encrypt\");\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.warn)(\"XRef.parse - Invalid \\\"Encrypt\\\" reference: \\\"\".concat(ex, \"\\\".\"));\n }\n\n if ((0, _primitives.isDict)(encrypt)) {\n var ids = trailerDict.get(\"ID\");\n var fileId = ids && ids.length ? ids[0] : \"\";\n encrypt.suppressEncryption = true;\n this.encrypt = new _crypto.CipherTransformFactory(encrypt, fileId, this.pdfManager.password);\n }\n\n var root;\n\n try {\n root = trailerDict.get(\"Root\");\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.warn)(\"XRef.parse - Invalid \\\"Root\\\" reference: \\\"\".concat(ex, \"\\\".\"));\n }\n\n if ((0, _primitives.isDict)(root) && root.has(\"Pages\")) {\n this.root = root;\n } else {\n if (!recoveryMode) {\n throw new _core_utils.XRefParseException();\n }\n\n throw new _util.FormatError(\"Invalid root reference\");\n }\n },\n processXRefTable: function XRef_processXRefTable(parser) {\n if (!(\"tableState\" in this)) {\n this.tableState = {\n entryNum: 0,\n streamPos: parser.lexer.stream.pos,\n parserBuf1: parser.buf1,\n parserBuf2: parser.buf2\n };\n }\n\n var obj = this.readXRefTable(parser);\n\n if (!(0, _primitives.isCmd)(obj, \"trailer\")) {\n throw new _util.FormatError(\"Invalid XRef table: could not find trailer dictionary\");\n }\n\n var dict = parser.getObj();\n\n if (!(0, _primitives.isDict)(dict) && dict.dict) {\n dict = dict.dict;\n }\n\n if (!(0, _primitives.isDict)(dict)) {\n throw new _util.FormatError(\"Invalid XRef table: could not parse trailer dictionary\");\n }\n\n delete this.tableState;\n return dict;\n },\n readXRefTable: function XRef_readXRefTable(parser) {\n var stream = parser.lexer.stream;\n var tableState = this.tableState;\n stream.pos = tableState.streamPos;\n parser.buf1 = tableState.parserBuf1;\n parser.buf2 = tableState.parserBuf2;\n var obj;\n\n while (true) {\n if (!(\"firstEntryNum\" in tableState) || !(\"entryCount\" in tableState)) {\n if ((0, _primitives.isCmd)(obj = parser.getObj(), \"trailer\")) {\n break;\n }\n\n tableState.firstEntryNum = obj;\n tableState.entryCount = parser.getObj();\n }\n\n var first = tableState.firstEntryNum;\n var count = tableState.entryCount;\n\n if (!Number.isInteger(first) || !Number.isInteger(count)) {\n throw new _util.FormatError(\"Invalid XRef table: wrong types in subsection header\");\n }\n\n for (var i = tableState.entryNum; i < count; i++) {\n tableState.streamPos = stream.pos;\n tableState.entryNum = i;\n tableState.parserBuf1 = parser.buf1;\n tableState.parserBuf2 = parser.buf2;\n var entry = {};\n entry.offset = parser.getObj();\n entry.gen = parser.getObj();\n var type = parser.getObj();\n\n if (type instanceof _primitives.Cmd) {\n switch (type.cmd) {\n case \"f\":\n entry.free = true;\n break;\n\n case \"n\":\n entry.uncompressed = true;\n break;\n }\n }\n\n if (!Number.isInteger(entry.offset) || !Number.isInteger(entry.gen) || !(entry.free || entry.uncompressed)) {\n throw new _util.FormatError(\"Invalid entry in XRef subsection: \".concat(first, \", \").concat(count));\n }\n\n if (i === 0 && entry.free && first === 1) {\n first = 0;\n }\n\n if (!this.entries[i + first]) {\n this.entries[i + first] = entry;\n }\n }\n\n tableState.entryNum = 0;\n tableState.streamPos = stream.pos;\n tableState.parserBuf1 = parser.buf1;\n tableState.parserBuf2 = parser.buf2;\n delete tableState.firstEntryNum;\n delete tableState.entryCount;\n }\n\n if (this.entries[0] && !this.entries[0].free) {\n throw new _util.FormatError(\"Invalid XRef table: unexpected first object\");\n }\n\n return obj;\n },\n processXRefStream: function XRef_processXRefStream(stream) {\n if (!(\"streamState\" in this)) {\n var streamParameters = stream.dict;\n var byteWidths = streamParameters.get(\"W\");\n var range = streamParameters.get(\"Index\");\n\n if (!range) {\n range = [0, streamParameters.get(\"Size\")];\n }\n\n this.streamState = {\n entryRanges: range,\n byteWidths: byteWidths,\n entryNum: 0,\n streamPos: stream.pos\n };\n }\n\n this.readXRefStream(stream);\n delete this.streamState;\n return stream.dict;\n },\n readXRefStream: function XRef_readXRefStream(stream) {\n var i, j;\n var streamState = this.streamState;\n stream.pos = streamState.streamPos;\n var byteWidths = streamState.byteWidths;\n var typeFieldWidth = byteWidths[0];\n var offsetFieldWidth = byteWidths[1];\n var generationFieldWidth = byteWidths[2];\n var entryRanges = streamState.entryRanges;\n\n while (entryRanges.length > 0) {\n var first = entryRanges[0];\n var n = entryRanges[1];\n\n if (!Number.isInteger(first) || !Number.isInteger(n)) {\n throw new _util.FormatError(\"Invalid XRef range fields: \".concat(first, \", \").concat(n));\n }\n\n if (!Number.isInteger(typeFieldWidth) || !Number.isInteger(offsetFieldWidth) || !Number.isInteger(generationFieldWidth)) {\n throw new _util.FormatError(\"Invalid XRef entry fields length: \".concat(first, \", \").concat(n));\n }\n\n for (i = streamState.entryNum; i < n; ++i) {\n streamState.entryNum = i;\n streamState.streamPos = stream.pos;\n var type = 0,\n offset = 0,\n generation = 0;\n\n for (j = 0; j < typeFieldWidth; ++j) {\n type = type << 8 | stream.getByte();\n }\n\n if (typeFieldWidth === 0) {\n type = 1;\n }\n\n for (j = 0; j < offsetFieldWidth; ++j) {\n offset = offset << 8 | stream.getByte();\n }\n\n for (j = 0; j < generationFieldWidth; ++j) {\n generation = generation << 8 | stream.getByte();\n }\n\n var entry = {};\n entry.offset = offset;\n entry.gen = generation;\n\n switch (type) {\n case 0:\n entry.free = true;\n break;\n\n case 1:\n entry.uncompressed = true;\n break;\n\n case 2:\n break;\n\n default:\n throw new _util.FormatError(\"Invalid XRef entry type: \".concat(type));\n }\n\n if (!this.entries[first + i]) {\n this.entries[first + i] = entry;\n }\n }\n\n streamState.entryNum = 0;\n streamState.streamPos = stream.pos;\n entryRanges.splice(0, 2);\n }\n },\n indexObjects: function XRef_indexObjects() {\n var TAB = 0x9,\n LF = 0xa,\n CR = 0xd,\n SPACE = 0x20;\n var PERCENT = 0x25,\n LT = 0x3c;\n\n function readToken(data, offset) {\n var token = \"\",\n ch = data[offset];\n\n while (ch !== LF && ch !== CR && ch !== LT) {\n if (++offset >= data.length) {\n break;\n }\n\n token += String.fromCharCode(ch);\n ch = data[offset];\n }\n\n return token;\n }\n\n function skipUntil(data, offset, what) {\n var length = what.length,\n dataLength = data.length;\n var skipped = 0;\n\n while (offset < dataLength) {\n var i = 0;\n\n while (i < length && data[offset + i] === what[i]) {\n ++i;\n }\n\n if (i >= length) {\n break;\n }\n\n offset++;\n skipped++;\n }\n\n return skipped;\n }\n\n var objRegExp = /^(\\d+)\\s+(\\d+)\\s+obj\\b/;\n var endobjRegExp = /\\bendobj[\\b\\s]$/;\n var nestedObjRegExp = /\\s+(\\d+\\s+\\d+\\s+obj[\\b\\s<])$/;\n var CHECK_CONTENT_LENGTH = 25;\n var trailerBytes = new Uint8Array([116, 114, 97, 105, 108, 101, 114]);\n var startxrefBytes = new Uint8Array([115, 116, 97, 114, 116, 120, 114, 101, 102]);\n var objBytes = new Uint8Array([111, 98, 106]);\n var xrefBytes = new Uint8Array([47, 88, 82, 101, 102]);\n this.entries.length = 0;\n var stream = this.stream;\n stream.pos = 0;\n var buffer = stream.getBytes();\n var position = stream.start,\n length = buffer.length;\n var trailers = [],\n xrefStms = [];\n\n while (position < length) {\n var ch = buffer[position];\n\n if (ch === TAB || ch === LF || ch === CR || ch === SPACE) {\n ++position;\n continue;\n }\n\n if (ch === PERCENT) {\n do {\n ++position;\n\n if (position >= length) {\n break;\n }\n\n ch = buffer[position];\n } while (ch !== LF && ch !== CR);\n\n continue;\n }\n\n var token = readToken(buffer, position);\n var m;\n\n if (token.startsWith(\"xref\") && (token.length === 4 || /\\s/.test(token[4]))) {\n position += skipUntil(buffer, position, trailerBytes);\n trailers.push(position);\n position += skipUntil(buffer, position, startxrefBytes);\n } else if (m = objRegExp.exec(token)) {\n var num = m[1] | 0,\n gen = m[2] | 0;\n\n if (!this.entries[num] || this.entries[num].gen === gen) {\n this.entries[num] = {\n offset: position - stream.start,\n gen: gen,\n uncompressed: true\n };\n }\n\n var contentLength = void 0,\n startPos = position + token.length;\n\n while (startPos < buffer.length) {\n var endPos = startPos + skipUntil(buffer, startPos, objBytes) + 4;\n contentLength = endPos - position;\n var checkPos = Math.max(endPos - CHECK_CONTENT_LENGTH, startPos);\n var tokenStr = (0, _util.bytesToString)(buffer.subarray(checkPos, endPos));\n\n if (endobjRegExp.test(tokenStr)) {\n break;\n } else {\n var objToken = nestedObjRegExp.exec(tokenStr);\n\n if (objToken && objToken[1]) {\n (0, _util.warn)('indexObjects: Found new \"obj\" inside of another \"obj\", ' + 'caused by missing \"endobj\" -- trying to recover.');\n contentLength -= objToken[1].length;\n break;\n }\n }\n\n startPos = endPos;\n }\n\n var content = buffer.subarray(position, position + contentLength);\n var xrefTagOffset = skipUntil(content, 0, xrefBytes);\n\n if (xrefTagOffset < contentLength && content[xrefTagOffset + 5] < 64) {\n xrefStms.push(position - stream.start);\n this.xrefstms[position - stream.start] = 1;\n }\n\n position += contentLength;\n } else if (token.startsWith(\"trailer\") && (token.length === 7 || /\\s/.test(token[7]))) {\n trailers.push(position);\n position += skipUntil(buffer, position, startxrefBytes);\n } else {\n position += token.length + 1;\n }\n }\n\n var i, ii;\n\n for (i = 0, ii = xrefStms.length; i < ii; ++i) {\n this.startXRefQueue.push(xrefStms[i]);\n this.readXRef(true);\n }\n\n var trailerDict;\n\n for (i = 0, ii = trailers.length; i < ii; ++i) {\n stream.pos = trailers[i];\n var parser = new _parser.Parser({\n lexer: new _parser.Lexer(stream),\n xref: this,\n allowStreams: true,\n recoveryMode: true\n });\n var obj = parser.getObj();\n\n if (!(0, _primitives.isCmd)(obj, \"trailer\")) {\n continue;\n }\n\n var dict = parser.getObj();\n\n if (!(0, _primitives.isDict)(dict)) {\n continue;\n }\n\n var rootDict = void 0;\n\n try {\n rootDict = dict.get(\"Root\");\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n continue;\n }\n\n if (!(0, _primitives.isDict)(rootDict) || !rootDict.has(\"Pages\")) {\n continue;\n }\n\n if (dict.has(\"ID\")) {\n return dict;\n }\n\n trailerDict = dict;\n }\n\n if (trailerDict) {\n return trailerDict;\n }\n\n throw new _util.InvalidPDFException(\"Invalid PDF structure.\");\n },\n readXRef: function XRef_readXRef(recoveryMode) {\n var stream = this.stream;\n var startXRefParsedCache = Object.create(null);\n\n try {\n while (this.startXRefQueue.length) {\n var startXRef = this.startXRefQueue[0];\n\n if (startXRefParsedCache[startXRef]) {\n (0, _util.warn)(\"readXRef - skipping XRef table since it was already parsed.\");\n this.startXRefQueue.shift();\n continue;\n }\n\n startXRefParsedCache[startXRef] = true;\n stream.pos = startXRef + stream.start;\n var parser = new _parser.Parser({\n lexer: new _parser.Lexer(stream),\n xref: this,\n allowStreams: true\n });\n var obj = parser.getObj();\n var dict;\n\n if ((0, _primitives.isCmd)(obj, \"xref\")) {\n dict = this.processXRefTable(parser);\n\n if (!this.topDict) {\n this.topDict = dict;\n }\n\n obj = dict.get(\"XRefStm\");\n\n if (Number.isInteger(obj)) {\n var pos = obj;\n\n if (!(pos in this.xrefstms)) {\n this.xrefstms[pos] = 1;\n this.startXRefQueue.push(pos);\n }\n }\n } else if (Number.isInteger(obj)) {\n if (!Number.isInteger(parser.getObj()) || !(0, _primitives.isCmd)(parser.getObj(), \"obj\") || !(0, _primitives.isStream)(obj = parser.getObj())) {\n throw new _util.FormatError(\"Invalid XRef stream\");\n }\n\n dict = this.processXRefStream(obj);\n\n if (!this.topDict) {\n this.topDict = dict;\n }\n\n if (!dict) {\n throw new _util.FormatError(\"Failed to read XRef stream\");\n }\n } else {\n throw new _util.FormatError(\"Invalid XRef stream header\");\n }\n\n obj = dict.get(\"Prev\");\n\n if (Number.isInteger(obj)) {\n this.startXRefQueue.push(obj);\n } else if ((0, _primitives.isRef)(obj)) {\n this.startXRefQueue.push(obj.num);\n }\n\n this.startXRefQueue.shift();\n }\n\n return this.topDict;\n } catch (e) {\n if (e instanceof _core_utils.MissingDataException) {\n throw e;\n }\n\n (0, _util.info)(\"(while reading XRef): \" + e);\n }\n\n if (recoveryMode) {\n return undefined;\n }\n\n throw new _core_utils.XRefParseException();\n },\n getEntry: function XRef_getEntry(i) {\n var xrefEntry = this.entries[i];\n\n if (xrefEntry && !xrefEntry.free && xrefEntry.offset) {\n return xrefEntry;\n }\n\n return null;\n },\n fetchIfRef: function XRef_fetchIfRef(obj, suppressEncryption) {\n if (obj instanceof _primitives.Ref) {\n return this.fetch(obj, suppressEncryption);\n }\n\n return obj;\n },\n fetch: function XRef_fetch(ref, suppressEncryption) {\n if (!(ref instanceof _primitives.Ref)) {\n throw new Error(\"ref object is not a reference\");\n }\n\n var num = ref.num;\n\n var cacheEntry = this._cacheMap.get(num);\n\n if (cacheEntry !== undefined) {\n if (cacheEntry instanceof _primitives.Dict && !cacheEntry.objId) {\n cacheEntry.objId = ref.toString();\n }\n\n return cacheEntry;\n }\n\n var xrefEntry = this.getEntry(num);\n\n if (xrefEntry === null) {\n this._cacheMap.set(num, xrefEntry);\n\n return xrefEntry;\n }\n\n if (xrefEntry.uncompressed) {\n xrefEntry = this.fetchUncompressed(ref, xrefEntry, suppressEncryption);\n } else {\n xrefEntry = this.fetchCompressed(ref, xrefEntry, suppressEncryption);\n }\n\n if ((0, _primitives.isDict)(xrefEntry)) {\n xrefEntry.objId = ref.toString();\n } else if ((0, _primitives.isStream)(xrefEntry)) {\n xrefEntry.dict.objId = ref.toString();\n }\n\n return xrefEntry;\n },\n fetchUncompressed: function fetchUncompressed(ref, xrefEntry) {\n var suppressEncryption = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var gen = ref.gen;\n var num = ref.num;\n\n if (xrefEntry.gen !== gen) {\n throw new _core_utils.XRefEntryException(\"Inconsistent generation in XRef: \".concat(ref));\n }\n\n var stream = this.stream.makeSubStream(xrefEntry.offset + this.stream.start);\n var parser = new _parser.Parser({\n lexer: new _parser.Lexer(stream),\n xref: this,\n allowStreams: true\n });\n var obj1 = parser.getObj();\n var obj2 = parser.getObj();\n var obj3 = parser.getObj();\n\n if (obj1 !== num || obj2 !== gen || !(obj3 instanceof _primitives.Cmd)) {\n throw new _core_utils.XRefEntryException(\"Bad (uncompressed) XRef entry: \".concat(ref));\n }\n\n if (obj3.cmd !== \"obj\") {\n if (obj3.cmd.startsWith(\"obj\")) {\n num = parseInt(obj3.cmd.substring(3), 10);\n\n if (!Number.isNaN(num)) {\n return num;\n }\n }\n\n throw new _core_utils.XRefEntryException(\"Bad (uncompressed) XRef entry: \".concat(ref));\n }\n\n if (this.encrypt && !suppressEncryption) {\n xrefEntry = parser.getObj(this.encrypt.createCipherTransform(num, gen));\n } else {\n xrefEntry = parser.getObj();\n }\n\n if (!(0, _primitives.isStream)(xrefEntry)) {\n this._cacheMap.set(num, xrefEntry);\n }\n\n return xrefEntry;\n },\n fetchCompressed: function fetchCompressed(ref, xrefEntry) {\n var suppressEncryption = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var tableOffset = xrefEntry.offset;\n var stream = this.fetch(_primitives.Ref.get(tableOffset, 0));\n\n if (!(0, _primitives.isStream)(stream)) {\n throw new _util.FormatError(\"bad ObjStm stream\");\n }\n\n var first = stream.dict.get(\"First\");\n var n = stream.dict.get(\"N\");\n\n if (!Number.isInteger(first) || !Number.isInteger(n)) {\n throw new _util.FormatError(\"invalid first and n parameters for ObjStm stream\");\n }\n\n var parser = new _parser.Parser({\n lexer: new _parser.Lexer(stream),\n xref: this,\n allowStreams: true\n });\n var nums = new Array(n);\n\n for (var i = 0; i < n; ++i) {\n var num = parser.getObj();\n\n if (!Number.isInteger(num)) {\n throw new _util.FormatError(\"invalid object number in the ObjStm stream: \".concat(num));\n }\n\n var offset = parser.getObj();\n\n if (!Number.isInteger(offset)) {\n throw new _util.FormatError(\"invalid object offset in the ObjStm stream: \".concat(offset));\n }\n\n nums[i] = num;\n }\n\n var entries = new Array(n);\n\n for (var _i2 = 0; _i2 < n; ++_i2) {\n var obj = parser.getObj();\n entries[_i2] = obj;\n\n if (parser.buf1 instanceof _primitives.Cmd && parser.buf1.cmd === \"endobj\") {\n parser.shift();\n }\n\n if ((0, _primitives.isStream)(obj)) {\n continue;\n }\n\n var _num = nums[_i2],\n entry = this.entries[_num];\n\n if (entry && entry.offset === tableOffset && entry.gen === _i2) {\n this._cacheMap.set(_num, obj);\n }\n }\n\n xrefEntry = entries[xrefEntry.gen];\n\n if (xrefEntry === undefined) {\n throw new _core_utils.XRefEntryException(\"Bad (compressed) XRef entry: \".concat(ref));\n }\n\n return xrefEntry;\n },\n fetchIfRefAsync: function fetchIfRefAsync(obj, suppressEncryption) {\n var _this3 = this;\n\n return _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!(obj instanceof _primitives.Ref)) {\n _context.next = 2;\n break;\n }\n\n return _context.abrupt(\"return\", _this3.fetchAsync(obj, suppressEncryption));\n\n case 2:\n return _context.abrupt(\"return\", obj);\n\n case 3:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }))();\n },\n fetchAsync: function fetchAsync(ref, suppressEncryption) {\n var _this4 = this;\n\n return _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.prev = 0;\n return _context2.abrupt(\"return\", _this4.fetch(ref, suppressEncryption));\n\n case 4:\n _context2.prev = 4;\n _context2.t0 = _context2[\"catch\"](0);\n\n if (_context2.t0 instanceof _core_utils.MissingDataException) {\n _context2.next = 8;\n break;\n }\n\n throw _context2.t0;\n\n case 8:\n _context2.next = 10;\n return _this4.pdfManager.requestRange(_context2.t0.begin, _context2.t0.end);\n\n case 10:\n return _context2.abrupt(\"return\", _this4.fetchAsync(ref, suppressEncryption));\n\n case 11:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, null, [[0, 4]]);\n }))();\n },\n getCatalogObj: function XRef_getCatalogObj() {\n return this.root;\n }\n };\n return XRef;\n}();\n\nexports.XRef = XRef;\n\nvar NameOrNumberTree = /*#__PURE__*/function () {\n function NameOrNumberTree(root, xref, type) {\n _classCallCheck(this, NameOrNumberTree);\n\n if (this.constructor === NameOrNumberTree) {\n (0, _util.unreachable)(\"Cannot initialize NameOrNumberTree.\");\n }\n\n this.root = root;\n this.xref = xref;\n this._type = type;\n }\n\n _createClass(NameOrNumberTree, [{\n key: \"getAll\",\n value: function getAll() {\n var dict = Object.create(null);\n\n if (!this.root) {\n return dict;\n }\n\n var xref = this.xref;\n var processed = new _primitives.RefSet();\n processed.put(this.root);\n var queue = [this.root];\n\n while (queue.length > 0) {\n var obj = xref.fetchIfRef(queue.shift());\n\n if (!(0, _primitives.isDict)(obj)) {\n continue;\n }\n\n if (obj.has(\"Kids\")) {\n var kids = obj.get(\"Kids\");\n\n for (var i = 0, ii = kids.length; i < ii; i++) {\n var kid = kids[i];\n\n if (processed.has(kid)) {\n throw new _util.FormatError(\"Duplicate entry in \\\"\".concat(this._type, \"\\\" tree.\"));\n }\n\n queue.push(kid);\n processed.put(kid);\n }\n\n continue;\n }\n\n var entries = obj.get(this._type);\n\n if (Array.isArray(entries)) {\n for (var _i3 = 0, _ii = entries.length; _i3 < _ii; _i3 += 2) {\n dict[xref.fetchIfRef(entries[_i3])] = xref.fetchIfRef(entries[_i3 + 1]);\n }\n }\n }\n\n return dict;\n }\n }, {\n key: \"get\",\n value: function get(key) {\n if (!this.root) {\n return null;\n }\n\n var xref = this.xref;\n var kidsOrEntries = xref.fetchIfRef(this.root);\n var loopCount = 0;\n var MAX_LEVELS = 10;\n\n while (kidsOrEntries.has(\"Kids\")) {\n if (++loopCount > MAX_LEVELS) {\n (0, _util.warn)(\"Search depth limit reached for \\\"\".concat(this._type, \"\\\" tree.\"));\n return null;\n }\n\n var kids = kidsOrEntries.get(\"Kids\");\n\n if (!Array.isArray(kids)) {\n return null;\n }\n\n var l = 0,\n r = kids.length - 1;\n\n while (l <= r) {\n var m = l + r >> 1;\n var kid = xref.fetchIfRef(kids[m]);\n var limits = kid.get(\"Limits\");\n\n if (key < xref.fetchIfRef(limits[0])) {\n r = m - 1;\n } else if (key > xref.fetchIfRef(limits[1])) {\n l = m + 1;\n } else {\n kidsOrEntries = xref.fetchIfRef(kids[m]);\n break;\n }\n }\n\n if (l > r) {\n return null;\n }\n }\n\n var entries = kidsOrEntries.get(this._type);\n\n if (Array.isArray(entries)) {\n var _l = 0,\n _r = entries.length - 2;\n\n while (_l <= _r) {\n var tmp = _l + _r >> 1,\n _m = tmp + (tmp & 1);\n\n var currentKey = xref.fetchIfRef(entries[_m]);\n\n if (key < currentKey) {\n _r = _m - 2;\n } else if (key > currentKey) {\n _l = _m + 2;\n } else {\n return xref.fetchIfRef(entries[_m + 1]);\n }\n }\n\n (0, _util.info)(\"Falling back to an exhaustive search, for key \\\"\".concat(key, \"\\\", \") + \"in \\\"\".concat(this._type, \"\\\" tree.\"));\n\n for (var _m2 = 0, mm = entries.length; _m2 < mm; _m2 += 2) {\n var _currentKey = xref.fetchIfRef(entries[_m2]);\n\n if (_currentKey === key) {\n (0, _util.warn)(\"The \\\"\".concat(key, \"\\\" key was found at an incorrect, \") + \"i.e. out-of-order, position in \\\"\".concat(this._type, \"\\\" tree.\"));\n return xref.fetchIfRef(entries[_m2 + 1]);\n }\n }\n }\n\n return null;\n }\n }]);\n\n return NameOrNumberTree;\n}();\n\nvar NameTree = /*#__PURE__*/function (_NameOrNumberTree) {\n _inherits(NameTree, _NameOrNumberTree);\n\n var _super = _createSuper(NameTree);\n\n function NameTree(root, xref) {\n _classCallCheck(this, NameTree);\n\n return _super.call(this, root, xref, \"Names\");\n }\n\n return NameTree;\n}(NameOrNumberTree);\n\nvar NumberTree = /*#__PURE__*/function (_NameOrNumberTree2) {\n _inherits(NumberTree, _NameOrNumberTree2);\n\n var _super2 = _createSuper(NumberTree);\n\n function NumberTree(root, xref) {\n _classCallCheck(this, NumberTree);\n\n return _super2.call(this, root, xref, \"Nums\");\n }\n\n return NumberTree;\n}(NameOrNumberTree);\n\nvar FileSpec = function FileSpecClosure() {\n function FileSpec(root, xref) {\n if (!root || !(0, _primitives.isDict)(root)) {\n return;\n }\n\n this.xref = xref;\n this.root = root;\n\n if (root.has(\"FS\")) {\n this.fs = root.get(\"FS\");\n }\n\n this.description = root.has(\"Desc\") ? (0, _util.stringToPDFString)(root.get(\"Desc\")) : \"\";\n\n if (root.has(\"RF\")) {\n (0, _util.warn)(\"Related file specifications are not supported\");\n }\n\n this.contentAvailable = true;\n\n if (!root.has(\"EF\")) {\n this.contentAvailable = false;\n (0, _util.warn)(\"Non-embedded file specifications are not supported\");\n }\n }\n\n function pickPlatformItem(dict) {\n if (dict.has(\"UF\")) {\n return dict.get(\"UF\");\n } else if (dict.has(\"F\")) {\n return dict.get(\"F\");\n } else if (dict.has(\"Unix\")) {\n return dict.get(\"Unix\");\n } else if (dict.has(\"Mac\")) {\n return dict.get(\"Mac\");\n } else if (dict.has(\"DOS\")) {\n return dict.get(\"DOS\");\n }\n\n return null;\n }\n\n FileSpec.prototype = {\n get filename() {\n if (!this._filename && this.root) {\n var filename = pickPlatformItem(this.root) || \"unnamed\";\n this._filename = (0, _util.stringToPDFString)(filename).replace(/\\\\\\\\/g, \"\\\\\").replace(/\\\\\\//g, \"/\").replace(/\\\\/g, \"/\");\n }\n\n return this._filename;\n },\n\n get content() {\n if (!this.contentAvailable) {\n return null;\n }\n\n if (!this.contentRef && this.root) {\n this.contentRef = pickPlatformItem(this.root.get(\"EF\"));\n }\n\n var content = null;\n\n if (this.contentRef) {\n var xref = this.xref;\n var fileObj = xref.fetchIfRef(this.contentRef);\n\n if (fileObj && (0, _primitives.isStream)(fileObj)) {\n content = fileObj.getBytes();\n } else {\n (0, _util.warn)(\"Embedded file specification points to non-existing/invalid \" + \"content\");\n }\n } else {\n (0, _util.warn)(\"Embedded file specification does not have a content\");\n }\n\n return content;\n },\n\n get serializable() {\n return {\n filename: this.filename,\n content: this.content\n };\n }\n\n };\n return FileSpec;\n}();\n\nexports.FileSpec = FileSpec;\n\nvar ObjectLoader = function () {\n function mayHaveChildren(value) {\n return value instanceof _primitives.Ref || value instanceof _primitives.Dict || Array.isArray(value) || (0, _primitives.isStream)(value);\n }\n\n function addChildren(node, nodesToVisit) {\n if (node instanceof _primitives.Dict) {\n node = node.getRawValues();\n } else if ((0, _primitives.isStream)(node)) {\n node = node.dict.getRawValues();\n } else if (!Array.isArray(node)) {\n return;\n }\n\n var _iterator7 = _createForOfIteratorHelper(node),\n _step7;\n\n try {\n for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {\n var rawValue = _step7.value;\n\n if (mayHaveChildren(rawValue)) {\n nodesToVisit.push(rawValue);\n }\n }\n } catch (err) {\n _iterator7.e(err);\n } finally {\n _iterator7.f();\n }\n }\n\n function ObjectLoader(dict, keys, xref) {\n this.dict = dict;\n this.keys = keys;\n this.xref = xref;\n this.refSet = null;\n }\n\n ObjectLoader.prototype = {\n load: function load() {\n var _this5 = this;\n\n return _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee3() {\n var keys, dict, nodesToVisit, i, ii, rawValue;\n return _regenerator[\"default\"].wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n if (!(!_this5.xref.stream.allChunksLoaded || _this5.xref.stream.allChunksLoaded())) {\n _context3.next = 2;\n break;\n }\n\n return _context3.abrupt(\"return\", undefined);\n\n case 2:\n keys = _this5.keys, dict = _this5.dict;\n _this5.refSet = new _primitives.RefSet();\n nodesToVisit = [];\n\n for (i = 0, ii = keys.length; i < ii; i++) {\n rawValue = dict.getRaw(keys[i]);\n\n if (rawValue !== undefined) {\n nodesToVisit.push(rawValue);\n }\n }\n\n return _context3.abrupt(\"return\", _this5._walk(nodesToVisit));\n\n case 7:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }))();\n },\n _walk: function _walk(nodesToVisit) {\n var _this6 = this;\n\n return _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee4() {\n var nodesToRevisit, pendingRequests, currentNode, baseStreams, foundMissingData, i, ii, stream, _i4, _ii2, node;\n\n return _regenerator[\"default\"].wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n nodesToRevisit = [];\n pendingRequests = [];\n\n case 2:\n if (!nodesToVisit.length) {\n _context4.next = 22;\n break;\n }\n\n currentNode = nodesToVisit.pop();\n\n if (!(currentNode instanceof _primitives.Ref)) {\n _context4.next = 18;\n break;\n }\n\n if (!_this6.refSet.has(currentNode)) {\n _context4.next = 7;\n break;\n }\n\n return _context4.abrupt(\"continue\", 2);\n\n case 7:\n _context4.prev = 7;\n\n _this6.refSet.put(currentNode);\n\n currentNode = _this6.xref.fetch(currentNode);\n _context4.next = 18;\n break;\n\n case 12:\n _context4.prev = 12;\n _context4.t0 = _context4[\"catch\"](7);\n\n if (_context4.t0 instanceof _core_utils.MissingDataException) {\n _context4.next = 16;\n break;\n }\n\n throw _context4.t0;\n\n case 16:\n nodesToRevisit.push(currentNode);\n pendingRequests.push({\n begin: _context4.t0.begin,\n end: _context4.t0.end\n });\n\n case 18:\n if (currentNode && currentNode.getBaseStreams) {\n baseStreams = currentNode.getBaseStreams();\n foundMissingData = false;\n\n for (i = 0, ii = baseStreams.length; i < ii; i++) {\n stream = baseStreams[i];\n\n if (stream.allChunksLoaded && !stream.allChunksLoaded()) {\n foundMissingData = true;\n pendingRequests.push({\n begin: stream.start,\n end: stream.end\n });\n }\n }\n\n if (foundMissingData) {\n nodesToRevisit.push(currentNode);\n }\n }\n\n addChildren(currentNode, nodesToVisit);\n _context4.next = 2;\n break;\n\n case 22:\n if (!pendingRequests.length) {\n _context4.next = 27;\n break;\n }\n\n _context4.next = 25;\n return _this6.xref.stream.manager.requestRanges(pendingRequests);\n\n case 25:\n for (_i4 = 0, _ii2 = nodesToRevisit.length; _i4 < _ii2; _i4++) {\n node = nodesToRevisit[_i4];\n\n if (node instanceof _primitives.Ref) {\n _this6.refSet.remove(node);\n }\n }\n\n return _context4.abrupt(\"return\", _this6._walk(nodesToRevisit));\n\n case 27:\n _this6.refSet = null;\n return _context4.abrupt(\"return\", undefined);\n\n case 29:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4, null, [[7, 12]]);\n }))();\n }\n };\n return ObjectLoader;\n}();\n\nexports.ObjectLoader = ObjectLoader;\n\n/***/ }),\n/* 208 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Parser = exports.Linearization = exports.Lexer = void 0;\n\nvar _stream = __w_pdfjs_require__(209);\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(202);\n\nvar _core_utils = __w_pdfjs_require__(205);\n\nvar _ccitt_stream = __w_pdfjs_require__(210);\n\nvar _jbig2_stream = __w_pdfjs_require__(212);\n\nvar _jpeg_stream = __w_pdfjs_require__(215);\n\nvar _jpx_stream = __w_pdfjs_require__(217);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar MAX_LENGTH_TO_CACHE = 1000;\nvar MAX_ADLER32_LENGTH = 5552;\n\nfunction computeAdler32(bytes) {\n var bytesLength = bytes.length;\n var a = 1,\n b = 0;\n\n for (var i = 0; i < bytesLength; ++i) {\n a += bytes[i] & 0xff;\n b += a;\n }\n\n return b % 65521 << 16 | a % 65521;\n}\n\nvar Parser = /*#__PURE__*/function () {\n function Parser(_ref) {\n var lexer = _ref.lexer,\n xref = _ref.xref,\n _ref$allowStreams = _ref.allowStreams,\n allowStreams = _ref$allowStreams === void 0 ? false : _ref$allowStreams,\n _ref$recoveryMode = _ref.recoveryMode,\n recoveryMode = _ref$recoveryMode === void 0 ? false : _ref$recoveryMode;\n\n _classCallCheck(this, Parser);\n\n this.lexer = lexer;\n this.xref = xref;\n this.allowStreams = allowStreams;\n this.recoveryMode = recoveryMode;\n this.imageCache = Object.create(null);\n this.refill();\n }\n\n _createClass(Parser, [{\n key: \"refill\",\n value: function refill() {\n this.buf1 = this.lexer.getObj();\n this.buf2 = this.lexer.getObj();\n }\n }, {\n key: \"shift\",\n value: function shift() {\n if (this.buf2 instanceof _primitives.Cmd && this.buf2.cmd === \"ID\") {\n this.buf1 = this.buf2;\n this.buf2 = null;\n } else {\n this.buf1 = this.buf2;\n this.buf2 = this.lexer.getObj();\n }\n }\n }, {\n key: \"tryShift\",\n value: function tryShift() {\n try {\n this.shift();\n return true;\n } catch (e) {\n if (e instanceof _core_utils.MissingDataException) {\n throw e;\n }\n\n return false;\n }\n }\n }, {\n key: \"getObj\",\n value: function getObj() {\n var cipherTransform = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var buf1 = this.buf1;\n this.shift();\n\n if (buf1 instanceof _primitives.Cmd) {\n switch (buf1.cmd) {\n case \"BI\":\n return this.makeInlineImage(cipherTransform);\n\n case \"[\":\n var array = [];\n\n while (!(0, _primitives.isCmd)(this.buf1, \"]\") && !(0, _primitives.isEOF)(this.buf1)) {\n array.push(this.getObj(cipherTransform));\n }\n\n if ((0, _primitives.isEOF)(this.buf1)) {\n if (!this.recoveryMode) {\n throw new _util.FormatError(\"End of file inside array\");\n }\n\n return array;\n }\n\n this.shift();\n return array;\n\n case \"<<\":\n var dict = new _primitives.Dict(this.xref);\n\n while (!(0, _primitives.isCmd)(this.buf1, \">>\") && !(0, _primitives.isEOF)(this.buf1)) {\n if (!(0, _primitives.isName)(this.buf1)) {\n (0, _util.info)(\"Malformed dictionary: key must be a name object\");\n this.shift();\n continue;\n }\n\n var key = this.buf1.name;\n this.shift();\n\n if ((0, _primitives.isEOF)(this.buf1)) {\n break;\n }\n\n dict.set(key, this.getObj(cipherTransform));\n }\n\n if ((0, _primitives.isEOF)(this.buf1)) {\n if (!this.recoveryMode) {\n throw new _util.FormatError(\"End of file inside dictionary\");\n }\n\n return dict;\n }\n\n if ((0, _primitives.isCmd)(this.buf2, \"stream\")) {\n return this.allowStreams ? this.makeStream(dict, cipherTransform) : dict;\n }\n\n this.shift();\n return dict;\n\n default:\n return buf1;\n }\n }\n\n if (Number.isInteger(buf1)) {\n if (Number.isInteger(this.buf1) && (0, _primitives.isCmd)(this.buf2, \"R\")) {\n var ref = _primitives.Ref.get(buf1, this.buf1);\n\n this.shift();\n this.shift();\n return ref;\n }\n\n return buf1;\n }\n\n if (typeof buf1 === \"string\") {\n if (cipherTransform) {\n return cipherTransform.decryptString(buf1);\n }\n\n return buf1;\n }\n\n return buf1;\n }\n }, {\n key: \"findDefaultInlineStreamEnd\",\n value: function findDefaultInlineStreamEnd(stream) {\n var E = 0x45,\n I = 0x49,\n SPACE = 0x20,\n LF = 0xa,\n CR = 0xd,\n NUL = 0x0;\n var lexer = this.lexer,\n startPos = stream.pos,\n n = 10;\n var state = 0,\n ch,\n maybeEIPos;\n\n while ((ch = stream.getByte()) !== -1) {\n if (state === 0) {\n state = ch === E ? 1 : 0;\n } else if (state === 1) {\n state = ch === I ? 2 : 0;\n } else {\n (0, _util.assert)(state === 2, \"findDefaultInlineStreamEnd - invalid state.\");\n\n if (ch === SPACE || ch === LF || ch === CR) {\n maybeEIPos = stream.pos;\n var followingBytes = stream.peekBytes(n);\n\n for (var i = 0, ii = followingBytes.length; i < ii; i++) {\n ch = followingBytes[i];\n\n if (ch === NUL && followingBytes[i + 1] !== NUL) {\n continue;\n }\n\n if (ch !== LF && ch !== CR && (ch < SPACE || ch > 0x7f)) {\n state = 0;\n break;\n }\n }\n\n if (state !== 2) {\n continue;\n }\n\n if (lexer.knownCommands) {\n var nextObj = lexer.peekObj();\n\n if (nextObj instanceof _primitives.Cmd && !lexer.knownCommands[nextObj.cmd]) {\n state = 0;\n }\n } else {\n (0, _util.warn)(\"findDefaultInlineStreamEnd - `lexer.knownCommands` is undefined.\");\n }\n\n if (state === 2) {\n break;\n }\n } else {\n state = 0;\n }\n }\n }\n\n if (ch === -1) {\n (0, _util.warn)(\"findDefaultInlineStreamEnd: \" + \"Reached the end of the stream without finding a valid EI marker\");\n\n if (maybeEIPos) {\n (0, _util.warn)('... trying to recover by using the last \"EI\" occurrence.');\n stream.skip(-(stream.pos - maybeEIPos));\n }\n }\n\n var endOffset = 4;\n stream.skip(-endOffset);\n ch = stream.peekByte();\n stream.skip(endOffset);\n\n if (!(0, _core_utils.isWhiteSpace)(ch)) {\n endOffset--;\n }\n\n return stream.pos - endOffset - startPos;\n }\n }, {\n key: \"findDCTDecodeInlineStreamEnd\",\n value: function findDCTDecodeInlineStreamEnd(stream) {\n var startPos = stream.pos;\n var foundEOI = false,\n b,\n markerLength;\n\n while ((b = stream.getByte()) !== -1) {\n if (b !== 0xff) {\n continue;\n }\n\n switch (stream.getByte()) {\n case 0x00:\n break;\n\n case 0xff:\n stream.skip(-1);\n break;\n\n case 0xd9:\n foundEOI = true;\n break;\n\n case 0xc0:\n case 0xc1:\n case 0xc2:\n case 0xc3:\n case 0xc5:\n case 0xc6:\n case 0xc7:\n case 0xc9:\n case 0xca:\n case 0xcb:\n case 0xcd:\n case 0xce:\n case 0xcf:\n case 0xc4:\n case 0xcc:\n case 0xda:\n case 0xdb:\n case 0xdc:\n case 0xdd:\n case 0xde:\n case 0xdf:\n case 0xe0:\n case 0xe1:\n case 0xe2:\n case 0xe3:\n case 0xe4:\n case 0xe5:\n case 0xe6:\n case 0xe7:\n case 0xe8:\n case 0xe9:\n case 0xea:\n case 0xeb:\n case 0xec:\n case 0xed:\n case 0xee:\n case 0xef:\n case 0xfe:\n markerLength = stream.getUint16();\n\n if (markerLength > 2) {\n stream.skip(markerLength - 2);\n } else {\n stream.skip(-2);\n }\n\n break;\n }\n\n if (foundEOI) {\n break;\n }\n }\n\n var length = stream.pos - startPos;\n\n if (b === -1) {\n (0, _util.warn)(\"Inline DCTDecode image stream: \" + \"EOI marker not found, searching for /EI/ instead.\");\n stream.skip(-length);\n return this.findDefaultInlineStreamEnd(stream);\n }\n\n this.inlineStreamSkipEI(stream);\n return length;\n }\n }, {\n key: \"findASCII85DecodeInlineStreamEnd\",\n value: function findASCII85DecodeInlineStreamEnd(stream) {\n var TILDE = 0x7e,\n GT = 0x3e;\n var startPos = stream.pos;\n var ch;\n\n while ((ch = stream.getByte()) !== -1) {\n if (ch === TILDE) {\n var tildePos = stream.pos;\n ch = stream.peekByte();\n\n while ((0, _core_utils.isWhiteSpace)(ch)) {\n stream.skip();\n ch = stream.peekByte();\n }\n\n if (ch === GT) {\n stream.skip();\n break;\n }\n\n if (stream.pos > tildePos) {\n var maybeEI = stream.peekBytes(2);\n\n if (maybeEI[0] === 0x45 && maybeEI[1] === 0x49) {\n break;\n }\n }\n }\n }\n\n var length = stream.pos - startPos;\n\n if (ch === -1) {\n (0, _util.warn)(\"Inline ASCII85Decode image stream: \" + \"EOD marker not found, searching for /EI/ instead.\");\n stream.skip(-length);\n return this.findDefaultInlineStreamEnd(stream);\n }\n\n this.inlineStreamSkipEI(stream);\n return length;\n }\n }, {\n key: \"findASCIIHexDecodeInlineStreamEnd\",\n value: function findASCIIHexDecodeInlineStreamEnd(stream) {\n var GT = 0x3e;\n var startPos = stream.pos;\n var ch;\n\n while ((ch = stream.getByte()) !== -1) {\n if (ch === GT) {\n break;\n }\n }\n\n var length = stream.pos - startPos;\n\n if (ch === -1) {\n (0, _util.warn)(\"Inline ASCIIHexDecode image stream: \" + \"EOD marker not found, searching for /EI/ instead.\");\n stream.skip(-length);\n return this.findDefaultInlineStreamEnd(stream);\n }\n\n this.inlineStreamSkipEI(stream);\n return length;\n }\n }, {\n key: \"inlineStreamSkipEI\",\n value: function inlineStreamSkipEI(stream) {\n var E = 0x45,\n I = 0x49;\n var state = 0,\n ch;\n\n while ((ch = stream.getByte()) !== -1) {\n if (state === 0) {\n state = ch === E ? 1 : 0;\n } else if (state === 1) {\n state = ch === I ? 2 : 0;\n } else if (state === 2) {\n break;\n }\n }\n }\n }, {\n key: \"makeInlineImage\",\n value: function makeInlineImage(cipherTransform) {\n var lexer = this.lexer;\n var stream = lexer.stream;\n var dict = new _primitives.Dict(this.xref);\n var dictLength;\n\n while (!(0, _primitives.isCmd)(this.buf1, \"ID\") && !(0, _primitives.isEOF)(this.buf1)) {\n if (!(0, _primitives.isName)(this.buf1)) {\n throw new _util.FormatError(\"Dictionary key must be a name object\");\n }\n\n var key = this.buf1.name;\n this.shift();\n\n if ((0, _primitives.isEOF)(this.buf1)) {\n break;\n }\n\n dict.set(key, this.getObj(cipherTransform));\n }\n\n if (lexer.beginInlineImagePos !== -1) {\n dictLength = stream.pos - lexer.beginInlineImagePos;\n }\n\n var filter = dict.get(\"Filter\", \"F\");\n var filterName;\n\n if ((0, _primitives.isName)(filter)) {\n filterName = filter.name;\n } else if (Array.isArray(filter)) {\n var filterZero = this.xref.fetchIfRef(filter[0]);\n\n if ((0, _primitives.isName)(filterZero)) {\n filterName = filterZero.name;\n }\n }\n\n var startPos = stream.pos;\n var length;\n\n if (filterName === \"DCTDecode\" || filterName === \"DCT\") {\n length = this.findDCTDecodeInlineStreamEnd(stream);\n } else if (filterName === \"ASCII85Decode\" || filterName === \"A85\") {\n length = this.findASCII85DecodeInlineStreamEnd(stream);\n } else if (filterName === \"ASCIIHexDecode\" || filterName === \"AHx\") {\n length = this.findASCIIHexDecodeInlineStreamEnd(stream);\n } else {\n length = this.findDefaultInlineStreamEnd(stream);\n }\n\n var imageStream = stream.makeSubStream(startPos, length, dict);\n var cacheKey;\n\n if (length < MAX_LENGTH_TO_CACHE && dictLength < MAX_ADLER32_LENGTH) {\n var imageBytes = imageStream.getBytes();\n imageStream.reset();\n var initialStreamPos = stream.pos;\n stream.pos = lexer.beginInlineImagePos;\n var dictBytes = stream.getBytes(dictLength);\n stream.pos = initialStreamPos;\n cacheKey = computeAdler32(imageBytes) + \"_\" + computeAdler32(dictBytes);\n var cacheEntry = this.imageCache[cacheKey];\n\n if (cacheEntry !== undefined) {\n this.buf2 = _primitives.Cmd.get(\"EI\");\n this.shift();\n cacheEntry.reset();\n return cacheEntry;\n }\n }\n\n if (cipherTransform) {\n imageStream = cipherTransform.createStream(imageStream, length);\n }\n\n imageStream = this.filter(imageStream, dict, length);\n imageStream.dict = dict;\n\n if (cacheKey !== undefined) {\n imageStream.cacheKey = \"inline_\".concat(length, \"_\").concat(cacheKey);\n this.imageCache[cacheKey] = imageStream;\n }\n\n this.buf2 = _primitives.Cmd.get(\"EI\");\n this.shift();\n return imageStream;\n }\n }, {\n key: \"_findStreamLength\",\n value: function _findStreamLength(startPos, signature) {\n var stream = this.lexer.stream;\n stream.pos = startPos;\n var SCAN_BLOCK_LENGTH = 2048;\n var signatureLength = signature.length;\n\n while (stream.pos < stream.end) {\n var scanBytes = stream.peekBytes(SCAN_BLOCK_LENGTH);\n var scanLength = scanBytes.length - signatureLength;\n\n if (scanLength <= 0) {\n break;\n }\n\n var pos = 0;\n\n while (pos < scanLength) {\n var j = 0;\n\n while (j < signatureLength && scanBytes[pos + j] === signature[j]) {\n j++;\n }\n\n if (j >= signatureLength) {\n stream.pos += pos;\n return stream.pos - startPos;\n }\n\n pos++;\n }\n\n stream.pos += scanLength;\n }\n\n return -1;\n }\n }, {\n key: \"makeStream\",\n value: function makeStream(dict, cipherTransform) {\n var lexer = this.lexer;\n var stream = lexer.stream;\n lexer.skipToNextLine();\n var startPos = stream.pos - 1;\n var length = dict.get(\"Length\");\n\n if (!Number.isInteger(length)) {\n (0, _util.info)(\"Bad length \\\"\".concat(length, \"\\\" in stream\"));\n length = 0;\n }\n\n stream.pos = startPos + length;\n lexer.nextChar();\n\n if (this.tryShift() && (0, _primitives.isCmd)(this.buf2, \"endstream\")) {\n this.shift();\n } else {\n var ENDSTREAM_SIGNATURE = new Uint8Array([0x65, 0x6E, 0x64, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6D]);\n\n var actualLength = this._findStreamLength(startPos, ENDSTREAM_SIGNATURE);\n\n if (actualLength < 0) {\n var MAX_TRUNCATION = 1;\n\n for (var i = 1; i <= MAX_TRUNCATION; i++) {\n var end = ENDSTREAM_SIGNATURE.length - i;\n var TRUNCATED_SIGNATURE = ENDSTREAM_SIGNATURE.slice(0, end);\n\n var maybeLength = this._findStreamLength(startPos, TRUNCATED_SIGNATURE);\n\n if (maybeLength >= 0) {\n var lastByte = stream.peekBytes(end + 1)[end];\n\n if (!(0, _core_utils.isWhiteSpace)(lastByte)) {\n break;\n }\n\n (0, _util.info)(\"Found \\\"\".concat((0, _util.bytesToString)(TRUNCATED_SIGNATURE), \"\\\" when \") + \"searching for endstream command.\");\n actualLength = maybeLength;\n break;\n }\n }\n\n if (actualLength < 0) {\n throw new _util.FormatError(\"Missing endstream command.\");\n }\n }\n\n length = actualLength;\n lexer.nextChar();\n this.shift();\n this.shift();\n }\n\n this.shift();\n stream = stream.makeSubStream(startPos, length, dict);\n\n if (cipherTransform) {\n stream = cipherTransform.createStream(stream, length);\n }\n\n stream = this.filter(stream, dict, length);\n stream.dict = dict;\n return stream;\n }\n }, {\n key: \"filter\",\n value: function filter(stream, dict, length) {\n var filter = dict.get(\"Filter\", \"F\");\n var params = dict.get(\"DecodeParms\", \"DP\");\n\n if ((0, _primitives.isName)(filter)) {\n if (Array.isArray(params)) {\n (0, _util.warn)(\"/DecodeParms should not contain an Array, \" + \"when /Filter contains a Name.\");\n }\n\n return this.makeFilter(stream, filter.name, length, params);\n }\n\n var maybeLength = length;\n\n if (Array.isArray(filter)) {\n var filterArray = filter;\n var paramsArray = params;\n\n for (var i = 0, ii = filterArray.length; i < ii; ++i) {\n filter = this.xref.fetchIfRef(filterArray[i]);\n\n if (!(0, _primitives.isName)(filter)) {\n throw new _util.FormatError(\"Bad filter name \\\"\".concat(filter, \"\\\"\"));\n }\n\n params = null;\n\n if (Array.isArray(paramsArray) && i in paramsArray) {\n params = this.xref.fetchIfRef(paramsArray[i]);\n }\n\n stream = this.makeFilter(stream, filter.name, maybeLength, params);\n maybeLength = null;\n }\n }\n\n return stream;\n }\n }, {\n key: \"makeFilter\",\n value: function makeFilter(stream, name, maybeLength, params) {\n if (maybeLength === 0) {\n (0, _util.warn)(\"Empty \\\"\".concat(name, \"\\\" stream.\"));\n return new _stream.NullStream();\n }\n\n try {\n var xrefStreamStats = this.xref.stats.streamTypes;\n\n if (name === \"FlateDecode\" || name === \"Fl\") {\n xrefStreamStats[_util.StreamType.FLATE] = true;\n\n if (params) {\n return new _stream.PredictorStream(new _stream.FlateStream(stream, maybeLength), maybeLength, params);\n }\n\n return new _stream.FlateStream(stream, maybeLength);\n }\n\n if (name === \"LZWDecode\" || name === \"LZW\") {\n xrefStreamStats[_util.StreamType.LZW] = true;\n var earlyChange = 1;\n\n if (params) {\n if (params.has(\"EarlyChange\")) {\n earlyChange = params.get(\"EarlyChange\");\n }\n\n return new _stream.PredictorStream(new _stream.LZWStream(stream, maybeLength, earlyChange), maybeLength, params);\n }\n\n return new _stream.LZWStream(stream, maybeLength, earlyChange);\n }\n\n if (name === \"DCTDecode\" || name === \"DCT\") {\n xrefStreamStats[_util.StreamType.DCT] = true;\n return new _jpeg_stream.JpegStream(stream, maybeLength, stream.dict, params);\n }\n\n if (name === \"JPXDecode\" || name === \"JPX\") {\n xrefStreamStats[_util.StreamType.JPX] = true;\n return new _jpx_stream.JpxStream(stream, maybeLength, stream.dict, params);\n }\n\n if (name === \"ASCII85Decode\" || name === \"A85\") {\n xrefStreamStats[_util.StreamType.A85] = true;\n return new _stream.Ascii85Stream(stream, maybeLength);\n }\n\n if (name === \"ASCIIHexDecode\" || name === \"AHx\") {\n xrefStreamStats[_util.StreamType.AHX] = true;\n return new _stream.AsciiHexStream(stream, maybeLength);\n }\n\n if (name === \"CCITTFaxDecode\" || name === \"CCF\") {\n xrefStreamStats[_util.StreamType.CCF] = true;\n return new _ccitt_stream.CCITTFaxStream(stream, maybeLength, params);\n }\n\n if (name === \"RunLengthDecode\" || name === \"RL\") {\n xrefStreamStats[_util.StreamType.RLX] = true;\n return new _stream.RunLengthStream(stream, maybeLength);\n }\n\n if (name === \"JBIG2Decode\") {\n xrefStreamStats[_util.StreamType.JBIG] = true;\n return new _jbig2_stream.Jbig2Stream(stream, maybeLength, stream.dict, params);\n }\n\n (0, _util.warn)(\"Filter \\\"\".concat(name, \"\\\" is not supported.\"));\n return stream;\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.warn)(\"Invalid stream: \\\"\".concat(ex, \"\\\"\"));\n return new _stream.NullStream();\n }\n }\n }]);\n\n return Parser;\n}();\n\nexports.Parser = Parser;\nvar specialChars = [1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 2, 0, 0, 2, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n\nfunction toHexDigit(ch) {\n if (ch >= 0x30 && ch <= 0x39) {\n return ch & 0x0f;\n }\n\n if (ch >= 0x41 && ch <= 0x46 || ch >= 0x61 && ch <= 0x66) {\n return (ch & 0x0f) + 9;\n }\n\n return -1;\n}\n\nvar Lexer = /*#__PURE__*/function () {\n function Lexer(stream) {\n var knownCommands = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n _classCallCheck(this, Lexer);\n\n this.stream = stream;\n this.nextChar();\n this.strBuf = [];\n this.knownCommands = knownCommands;\n this._hexStringNumWarn = 0;\n this.beginInlineImagePos = -1;\n }\n\n _createClass(Lexer, [{\n key: \"nextChar\",\n value: function nextChar() {\n return this.currentChar = this.stream.getByte();\n }\n }, {\n key: \"peekChar\",\n value: function peekChar() {\n return this.stream.peekByte();\n }\n }, {\n key: \"getNumber\",\n value: function getNumber() {\n var ch = this.currentChar;\n var eNotation = false;\n var divideBy = 0;\n var sign = 0;\n\n if (ch === 0x2d) {\n sign = -1;\n ch = this.nextChar();\n\n if (ch === 0x2d) {\n ch = this.nextChar();\n }\n } else if (ch === 0x2b) {\n sign = 1;\n ch = this.nextChar();\n }\n\n if (ch === 0x0a || ch === 0x0d) {\n do {\n ch = this.nextChar();\n } while (ch === 0x0a || ch === 0x0d);\n }\n\n if (ch === 0x2e) {\n divideBy = 10;\n ch = this.nextChar();\n }\n\n if (ch < 0x30 || ch > 0x39) {\n if (divideBy === 10 && sign === 0 && ((0, _core_utils.isWhiteSpace)(ch) || ch === -1)) {\n (0, _util.warn)(\"Lexer.getNumber - treating a single decimal point as zero.\");\n return 0;\n }\n\n throw new _util.FormatError(\"Invalid number: \".concat(String.fromCharCode(ch), \" (charCode \").concat(ch, \")\"));\n }\n\n sign = sign || 1;\n var baseValue = ch - 0x30;\n var powerValue = 0;\n var powerValueSign = 1;\n\n while ((ch = this.nextChar()) >= 0) {\n if (ch >= 0x30 && ch <= 0x39) {\n var currentDigit = ch - 0x30;\n\n if (eNotation) {\n powerValue = powerValue * 10 + currentDigit;\n } else {\n if (divideBy !== 0) {\n divideBy *= 10;\n }\n\n baseValue = baseValue * 10 + currentDigit;\n }\n } else if (ch === 0x2e) {\n if (divideBy === 0) {\n divideBy = 1;\n } else {\n break;\n }\n } else if (ch === 0x2d) {\n (0, _util.warn)(\"Badly formatted number: minus sign in the middle\");\n } else if (ch === 0x45 || ch === 0x65) {\n ch = this.peekChar();\n\n if (ch === 0x2b || ch === 0x2d) {\n powerValueSign = ch === 0x2d ? -1 : 1;\n this.nextChar();\n } else if (ch < 0x30 || ch > 0x39) {\n break;\n }\n\n eNotation = true;\n } else {\n break;\n }\n }\n\n if (divideBy !== 0) {\n baseValue /= divideBy;\n }\n\n if (eNotation) {\n baseValue *= Math.pow(10, powerValueSign * powerValue);\n }\n\n return sign * baseValue;\n }\n }, {\n key: \"getString\",\n value: function getString() {\n var numParen = 1;\n var done = false;\n var strBuf = this.strBuf;\n strBuf.length = 0;\n var ch = this.nextChar();\n\n while (true) {\n var charBuffered = false;\n\n switch (ch | 0) {\n case -1:\n (0, _util.warn)(\"Unterminated string\");\n done = true;\n break;\n\n case 0x28:\n ++numParen;\n strBuf.push(\"(\");\n break;\n\n case 0x29:\n if (--numParen === 0) {\n this.nextChar();\n done = true;\n } else {\n strBuf.push(\")\");\n }\n\n break;\n\n case 0x5c:\n ch = this.nextChar();\n\n switch (ch) {\n case -1:\n (0, _util.warn)(\"Unterminated string\");\n done = true;\n break;\n\n case 0x6e:\n strBuf.push(\"\\n\");\n break;\n\n case 0x72:\n strBuf.push(\"\\r\");\n break;\n\n case 0x74:\n strBuf.push(\"\\t\");\n break;\n\n case 0x62:\n strBuf.push(\"\\b\");\n break;\n\n case 0x66:\n strBuf.push(\"\\f\");\n break;\n\n case 0x5c:\n case 0x28:\n case 0x29:\n strBuf.push(String.fromCharCode(ch));\n break;\n\n case 0x30:\n case 0x31:\n case 0x32:\n case 0x33:\n case 0x34:\n case 0x35:\n case 0x36:\n case 0x37:\n var x = ch & 0x0f;\n ch = this.nextChar();\n charBuffered = true;\n\n if (ch >= 0x30 && ch <= 0x37) {\n x = (x << 3) + (ch & 0x0f);\n ch = this.nextChar();\n\n if (ch >= 0x30 && ch <= 0x37) {\n charBuffered = false;\n x = (x << 3) + (ch & 0x0f);\n }\n }\n\n strBuf.push(String.fromCharCode(x));\n break;\n\n case 0x0d:\n if (this.peekChar() === 0x0a) {\n this.nextChar();\n }\n\n break;\n\n case 0x0a:\n break;\n\n default:\n strBuf.push(String.fromCharCode(ch));\n break;\n }\n\n break;\n\n default:\n strBuf.push(String.fromCharCode(ch));\n break;\n }\n\n if (done) {\n break;\n }\n\n if (!charBuffered) {\n ch = this.nextChar();\n }\n }\n\n return strBuf.join(\"\");\n }\n }, {\n key: \"getName\",\n value: function getName() {\n var ch, previousCh;\n var strBuf = this.strBuf;\n strBuf.length = 0;\n\n while ((ch = this.nextChar()) >= 0 && !specialChars[ch]) {\n if (ch === 0x23) {\n ch = this.nextChar();\n\n if (specialChars[ch]) {\n (0, _util.warn)(\"Lexer_getName: \" + \"NUMBER SIGN (#) should be followed by a hexadecimal number.\");\n strBuf.push(\"#\");\n break;\n }\n\n var x = toHexDigit(ch);\n\n if (x !== -1) {\n previousCh = ch;\n ch = this.nextChar();\n var x2 = toHexDigit(ch);\n\n if (x2 === -1) {\n (0, _util.warn)(\"Lexer_getName: Illegal digit (\".concat(String.fromCharCode(ch), \") \") + \"in hexadecimal number.\");\n strBuf.push(\"#\", String.fromCharCode(previousCh));\n\n if (specialChars[ch]) {\n break;\n }\n\n strBuf.push(String.fromCharCode(ch));\n continue;\n }\n\n strBuf.push(String.fromCharCode(x << 4 | x2));\n } else {\n strBuf.push(\"#\", String.fromCharCode(ch));\n }\n } else {\n strBuf.push(String.fromCharCode(ch));\n }\n }\n\n if (strBuf.length > 127) {\n (0, _util.warn)(\"Name token is longer than allowed by the spec: \".concat(strBuf.length));\n }\n\n return _primitives.Name.get(strBuf.join(\"\"));\n }\n }, {\n key: \"_hexStringWarn\",\n value: function _hexStringWarn(ch) {\n var MAX_HEX_STRING_NUM_WARN = 5;\n\n if (this._hexStringNumWarn++ === MAX_HEX_STRING_NUM_WARN) {\n (0, _util.warn)(\"getHexString - ignoring additional invalid characters.\");\n return;\n }\n\n if (this._hexStringNumWarn > MAX_HEX_STRING_NUM_WARN) {\n return;\n }\n\n (0, _util.warn)(\"getHexString - ignoring invalid character: \".concat(ch));\n }\n }, {\n key: \"getHexString\",\n value: function getHexString() {\n var strBuf = this.strBuf;\n strBuf.length = 0;\n var ch = this.currentChar;\n var isFirstHex = true;\n var firstDigit, secondDigit;\n this._hexStringNumWarn = 0;\n\n while (true) {\n if (ch < 0) {\n (0, _util.warn)(\"Unterminated hex string\");\n break;\n } else if (ch === 0x3e) {\n this.nextChar();\n break;\n } else if (specialChars[ch] === 1) {\n ch = this.nextChar();\n continue;\n } else {\n if (isFirstHex) {\n firstDigit = toHexDigit(ch);\n\n if (firstDigit === -1) {\n this._hexStringWarn(ch);\n\n ch = this.nextChar();\n continue;\n }\n } else {\n secondDigit = toHexDigit(ch);\n\n if (secondDigit === -1) {\n this._hexStringWarn(ch);\n\n ch = this.nextChar();\n continue;\n }\n\n strBuf.push(String.fromCharCode(firstDigit << 4 | secondDigit));\n }\n\n isFirstHex = !isFirstHex;\n ch = this.nextChar();\n }\n }\n\n return strBuf.join(\"\");\n }\n }, {\n key: \"getObj\",\n value: function getObj() {\n var comment = false;\n var ch = this.currentChar;\n\n while (true) {\n if (ch < 0) {\n return _primitives.EOF;\n }\n\n if (comment) {\n if (ch === 0x0a || ch === 0x0d) {\n comment = false;\n }\n } else if (ch === 0x25) {\n comment = true;\n } else if (specialChars[ch] !== 1) {\n break;\n }\n\n ch = this.nextChar();\n }\n\n switch (ch | 0) {\n case 0x30:\n case 0x31:\n case 0x32:\n case 0x33:\n case 0x34:\n case 0x35:\n case 0x36:\n case 0x37:\n case 0x38:\n case 0x39:\n case 0x2b:\n case 0x2d:\n case 0x2e:\n return this.getNumber();\n\n case 0x28:\n return this.getString();\n\n case 0x2f:\n return this.getName();\n\n case 0x5b:\n this.nextChar();\n return _primitives.Cmd.get(\"[\");\n\n case 0x5d:\n this.nextChar();\n return _primitives.Cmd.get(\"]\");\n\n case 0x3c:\n ch = this.nextChar();\n\n if (ch === 0x3c) {\n this.nextChar();\n return _primitives.Cmd.get(\"<<\");\n }\n\n return this.getHexString();\n\n case 0x3e:\n ch = this.nextChar();\n\n if (ch === 0x3e) {\n this.nextChar();\n return _primitives.Cmd.get(\">>\");\n }\n\n return _primitives.Cmd.get(\">\");\n\n case 0x7b:\n this.nextChar();\n return _primitives.Cmd.get(\"{\");\n\n case 0x7d:\n this.nextChar();\n return _primitives.Cmd.get(\"}\");\n\n case 0x29:\n this.nextChar();\n throw new _util.FormatError(\"Illegal character: \".concat(ch));\n }\n\n var str = String.fromCharCode(ch);\n var knownCommands = this.knownCommands;\n var knownCommandFound = knownCommands && knownCommands[str] !== undefined;\n\n while ((ch = this.nextChar()) >= 0 && !specialChars[ch]) {\n var possibleCommand = str + String.fromCharCode(ch);\n\n if (knownCommandFound && knownCommands[possibleCommand] === undefined) {\n break;\n }\n\n if (str.length === 128) {\n throw new _util.FormatError(\"Command token too long: \".concat(str.length));\n }\n\n str = possibleCommand;\n knownCommandFound = knownCommands && knownCommands[str] !== undefined;\n }\n\n if (str === \"true\") {\n return true;\n }\n\n if (str === \"false\") {\n return false;\n }\n\n if (str === \"null\") {\n return null;\n }\n\n if (str === \"BI\") {\n this.beginInlineImagePos = this.stream.pos;\n }\n\n return _primitives.Cmd.get(str);\n }\n }, {\n key: \"peekObj\",\n value: function peekObj() {\n var streamPos = this.stream.pos,\n currentChar = this.currentChar,\n beginInlineImagePos = this.beginInlineImagePos;\n var nextObj;\n\n try {\n nextObj = this.getObj();\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.warn)(\"peekObj: \".concat(ex));\n }\n\n this.stream.pos = streamPos;\n this.currentChar = currentChar;\n this.beginInlineImagePos = beginInlineImagePos;\n return nextObj;\n }\n }, {\n key: \"skipToNextLine\",\n value: function skipToNextLine() {\n var ch = this.currentChar;\n\n while (ch >= 0) {\n if (ch === 0x0d) {\n ch = this.nextChar();\n\n if (ch === 0x0a) {\n this.nextChar();\n }\n\n break;\n } else if (ch === 0x0a) {\n this.nextChar();\n break;\n }\n\n ch = this.nextChar();\n }\n }\n }]);\n\n return Lexer;\n}();\n\nexports.Lexer = Lexer;\n\nvar Linearization = /*#__PURE__*/function () {\n function Linearization() {\n _classCallCheck(this, Linearization);\n }\n\n _createClass(Linearization, null, [{\n key: \"create\",\n value: function create(stream) {\n function getInt(linDict, name) {\n var allowZeroValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var obj = linDict.get(name);\n\n if (Number.isInteger(obj) && (allowZeroValue ? obj >= 0 : obj > 0)) {\n return obj;\n }\n\n throw new Error(\"The \\\"\".concat(name, \"\\\" parameter in the linearization \") + \"dictionary is invalid.\");\n }\n\n function getHints(linDict) {\n var hints = linDict.get(\"H\");\n var hintsLength;\n\n if (Array.isArray(hints) && ((hintsLength = hints.length) === 2 || hintsLength === 4)) {\n for (var index = 0; index < hintsLength; index++) {\n var hint = hints[index];\n\n if (!(Number.isInteger(hint) && hint > 0)) {\n throw new Error(\"Hint (\".concat(index, \") in the linearization dictionary is invalid.\"));\n }\n }\n\n return hints;\n }\n\n throw new Error(\"Hint array in the linearization dictionary is invalid.\");\n }\n\n var parser = new Parser({\n lexer: new Lexer(stream),\n xref: null\n });\n var obj1 = parser.getObj();\n var obj2 = parser.getObj();\n var obj3 = parser.getObj();\n var linDict = parser.getObj();\n var obj, length;\n\n if (!(Number.isInteger(obj1) && Number.isInteger(obj2) && (0, _primitives.isCmd)(obj3, \"obj\") && (0, _primitives.isDict)(linDict) && (0, _util.isNum)(obj = linDict.get(\"Linearized\")) && obj > 0)) {\n return null;\n } else if ((length = getInt(linDict, \"L\")) !== stream.length) {\n throw new Error('The \"L\" parameter in the linearization dictionary ' + \"does not equal the stream length.\");\n }\n\n return {\n length: length,\n hints: getHints(linDict),\n objectNumberFirst: getInt(linDict, \"O\"),\n endFirst: getInt(linDict, \"E\"),\n numPages: getInt(linDict, \"N\"),\n mainXRefEntriesOffset: getInt(linDict, \"T\"),\n pageFirst: linDict.has(\"P\") ? getInt(linDict, \"P\", true) : 0\n };\n }\n }]);\n\n return Linearization;\n}();\n\nexports.Linearization = Linearization;\n\n/***/ }),\n/* 209 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.LZWStream = exports.StringStream = exports.StreamsSequenceStream = exports.Stream = exports.RunLengthStream = exports.PredictorStream = exports.NullStream = exports.FlateStream = exports.DecodeStream = exports.DecryptStream = exports.AsciiHexStream = exports.Ascii85Stream = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(202);\n\nvar _core_utils = __w_pdfjs_require__(205);\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nvar Stream = function StreamClosure() {\n function Stream(arrayBuffer, start, length, dict) {\n this.bytes = arrayBuffer instanceof Uint8Array ? arrayBuffer : new Uint8Array(arrayBuffer);\n this.start = start || 0;\n this.pos = this.start;\n this.end = start + length || this.bytes.length;\n this.dict = dict;\n }\n\n Stream.prototype = {\n get length() {\n return this.end - this.start;\n },\n\n get isEmpty() {\n return this.length === 0;\n },\n\n getByte: function Stream_getByte() {\n if (this.pos >= this.end) {\n return -1;\n }\n\n return this.bytes[this.pos++];\n },\n getUint16: function Stream_getUint16() {\n var b0 = this.getByte();\n var b1 = this.getByte();\n\n if (b0 === -1 || b1 === -1) {\n return -1;\n }\n\n return (b0 << 8) + b1;\n },\n getInt32: function Stream_getInt32() {\n var b0 = this.getByte();\n var b1 = this.getByte();\n var b2 = this.getByte();\n var b3 = this.getByte();\n return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;\n },\n getBytes: function getBytes(length) {\n var forceClamped = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var bytes = this.bytes;\n var pos = this.pos;\n var strEnd = this.end;\n\n if (!length) {\n var _subarray = bytes.subarray(pos, strEnd);\n\n return forceClamped ? new Uint8ClampedArray(_subarray) : _subarray;\n }\n\n var end = pos + length;\n\n if (end > strEnd) {\n end = strEnd;\n }\n\n this.pos = end;\n var subarray = bytes.subarray(pos, end);\n return forceClamped ? new Uint8ClampedArray(subarray) : subarray;\n },\n peekByte: function Stream_peekByte() {\n var peekedByte = this.getByte();\n\n if (peekedByte !== -1) {\n this.pos--;\n }\n\n return peekedByte;\n },\n peekBytes: function peekBytes(length) {\n var forceClamped = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var bytes = this.getBytes(length, forceClamped);\n this.pos -= bytes.length;\n return bytes;\n },\n getByteRange: function getByteRange(begin, end) {\n if (begin < 0) {\n begin = 0;\n }\n\n if (end > this.end) {\n end = this.end;\n }\n\n return this.bytes.subarray(begin, end);\n },\n skip: function Stream_skip(n) {\n if (!n) {\n n = 1;\n }\n\n this.pos += n;\n },\n reset: function Stream_reset() {\n this.pos = this.start;\n },\n moveStart: function Stream_moveStart() {\n this.start = this.pos;\n },\n makeSubStream: function Stream_makeSubStream(start, length, dict) {\n return new Stream(this.bytes.buffer, start, length, dict);\n }\n };\n return Stream;\n}();\n\nexports.Stream = Stream;\n\nvar StringStream = function StringStreamClosure() {\n function StringStream(str) {\n var bytes = (0, _util.stringToBytes)(str);\n Stream.call(this, bytes);\n }\n\n StringStream.prototype = Stream.prototype;\n return StringStream;\n}();\n\nexports.StringStream = StringStream;\n\nvar DecodeStream = function DecodeStreamClosure() {\n var emptyBuffer = new Uint8Array(0);\n\n function DecodeStream(maybeMinBufferLength) {\n this._rawMinBufferLength = maybeMinBufferLength || 0;\n this.pos = 0;\n this.bufferLength = 0;\n this.eof = false;\n this.buffer = emptyBuffer;\n this.minBufferLength = 512;\n\n if (maybeMinBufferLength) {\n while (this.minBufferLength < maybeMinBufferLength) {\n this.minBufferLength *= 2;\n }\n }\n }\n\n DecodeStream.prototype = {\n get isEmpty() {\n while (!this.eof && this.bufferLength === 0) {\n this.readBlock();\n }\n\n return this.bufferLength === 0;\n },\n\n ensureBuffer: function DecodeStream_ensureBuffer(requested) {\n var buffer = this.buffer;\n\n if (requested <= buffer.byteLength) {\n return buffer;\n }\n\n var size = this.minBufferLength;\n\n while (size < requested) {\n size *= 2;\n }\n\n var buffer2 = new Uint8Array(size);\n buffer2.set(buffer);\n return this.buffer = buffer2;\n },\n getByte: function DecodeStream_getByte() {\n var pos = this.pos;\n\n while (this.bufferLength <= pos) {\n if (this.eof) {\n return -1;\n }\n\n this.readBlock();\n }\n\n return this.buffer[this.pos++];\n },\n getUint16: function DecodeStream_getUint16() {\n var b0 = this.getByte();\n var b1 = this.getByte();\n\n if (b0 === -1 || b1 === -1) {\n return -1;\n }\n\n return (b0 << 8) + b1;\n },\n getInt32: function DecodeStream_getInt32() {\n var b0 = this.getByte();\n var b1 = this.getByte();\n var b2 = this.getByte();\n var b3 = this.getByte();\n return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;\n },\n getBytes: function getBytes(length) {\n var forceClamped = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var end,\n pos = this.pos;\n\n if (length) {\n this.ensureBuffer(pos + length);\n end = pos + length;\n\n while (!this.eof && this.bufferLength < end) {\n this.readBlock();\n }\n\n var bufEnd = this.bufferLength;\n\n if (end > bufEnd) {\n end = bufEnd;\n }\n } else {\n while (!this.eof) {\n this.readBlock();\n }\n\n end = this.bufferLength;\n }\n\n this.pos = end;\n var subarray = this.buffer.subarray(pos, end);\n return forceClamped && !(subarray instanceof Uint8ClampedArray) ? new Uint8ClampedArray(subarray) : subarray;\n },\n peekByte: function DecodeStream_peekByte() {\n var peekedByte = this.getByte();\n\n if (peekedByte !== -1) {\n this.pos--;\n }\n\n return peekedByte;\n },\n peekBytes: function peekBytes(length) {\n var forceClamped = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var bytes = this.getBytes(length, forceClamped);\n this.pos -= bytes.length;\n return bytes;\n },\n makeSubStream: function DecodeStream_makeSubStream(start, length, dict) {\n var end = start + length;\n\n while (this.bufferLength <= end && !this.eof) {\n this.readBlock();\n }\n\n return new Stream(this.buffer, start, length, dict);\n },\n getByteRange: function getByteRange(begin, end) {\n (0, _util.unreachable)(\"Should not call DecodeStream.getByteRange\");\n },\n skip: function DecodeStream_skip(n) {\n if (!n) {\n n = 1;\n }\n\n this.pos += n;\n },\n reset: function DecodeStream_reset() {\n this.pos = 0;\n },\n getBaseStreams: function DecodeStream_getBaseStreams() {\n if (this.str && this.str.getBaseStreams) {\n return this.str.getBaseStreams();\n }\n\n return [];\n }\n };\n return DecodeStream;\n}();\n\nexports.DecodeStream = DecodeStream;\n\nvar StreamsSequenceStream = function StreamsSequenceStreamClosure() {\n function StreamsSequenceStream(streams) {\n this.streams = streams;\n var maybeLength = 0;\n\n for (var i = 0, ii = streams.length; i < ii; i++) {\n var stream = streams[i];\n\n if (stream instanceof DecodeStream) {\n maybeLength += stream._rawMinBufferLength;\n } else {\n maybeLength += stream.length;\n }\n }\n\n DecodeStream.call(this, maybeLength);\n }\n\n StreamsSequenceStream.prototype = Object.create(DecodeStream.prototype);\n\n StreamsSequenceStream.prototype.readBlock = function streamSequenceStreamReadBlock() {\n var streams = this.streams;\n\n if (streams.length === 0) {\n this.eof = true;\n return;\n }\n\n var stream = streams.shift();\n var chunk = stream.getBytes();\n var bufferLength = this.bufferLength;\n var newLength = bufferLength + chunk.length;\n var buffer = this.ensureBuffer(newLength);\n buffer.set(chunk, bufferLength);\n this.bufferLength = newLength;\n };\n\n StreamsSequenceStream.prototype.getBaseStreams = function StreamsSequenceStream_getBaseStreams() {\n var baseStreams = [];\n\n for (var i = 0, ii = this.streams.length; i < ii; i++) {\n var stream = this.streams[i];\n\n if (stream.getBaseStreams) {\n baseStreams.push.apply(baseStreams, _toConsumableArray(stream.getBaseStreams()));\n }\n }\n\n return baseStreams;\n };\n\n return StreamsSequenceStream;\n}();\n\nexports.StreamsSequenceStream = StreamsSequenceStream;\n\nvar FlateStream = function FlateStreamClosure() {\n var codeLenCodeMap = new Int32Array([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]);\n var lengthDecode = new Int32Array([0x00003, 0x00004, 0x00005, 0x00006, 0x00007, 0x00008, 0x00009, 0x0000a, 0x1000b, 0x1000d, 0x1000f, 0x10011, 0x20013, 0x20017, 0x2001b, 0x2001f, 0x30023, 0x3002b, 0x30033, 0x3003b, 0x40043, 0x40053, 0x40063, 0x40073, 0x50083, 0x500a3, 0x500c3, 0x500e3, 0x00102, 0x00102, 0x00102]);\n var distDecode = new Int32Array([0x00001, 0x00002, 0x00003, 0x00004, 0x10005, 0x10007, 0x20009, 0x2000d, 0x30011, 0x30019, 0x40021, 0x40031, 0x50041, 0x50061, 0x60081, 0x600c1, 0x70101, 0x70181, 0x80201, 0x80301, 0x90401, 0x90601, 0xa0801, 0xa0c01, 0xb1001, 0xb1801, 0xc2001, 0xc3001, 0xd4001, 0xd6001]);\n var fixedLitCodeTab = [new Int32Array([0x70100, 0x80050, 0x80010, 0x80118, 0x70110, 0x80070, 0x80030, 0x900c0, 0x70108, 0x80060, 0x80020, 0x900a0, 0x80000, 0x80080, 0x80040, 0x900e0, 0x70104, 0x80058, 0x80018, 0x90090, 0x70114, 0x80078, 0x80038, 0x900d0, 0x7010c, 0x80068, 0x80028, 0x900b0, 0x80008, 0x80088, 0x80048, 0x900f0, 0x70102, 0x80054, 0x80014, 0x8011c, 0x70112, 0x80074, 0x80034, 0x900c8, 0x7010a, 0x80064, 0x80024, 0x900a8, 0x80004, 0x80084, 0x80044, 0x900e8, 0x70106, 0x8005c, 0x8001c, 0x90098, 0x70116, 0x8007c, 0x8003c, 0x900d8, 0x7010e, 0x8006c, 0x8002c, 0x900b8, 0x8000c, 0x8008c, 0x8004c, 0x900f8, 0x70101, 0x80052, 0x80012, 0x8011a, 0x70111, 0x80072, 0x80032, 0x900c4, 0x70109, 0x80062, 0x80022, 0x900a4, 0x80002, 0x80082, 0x80042, 0x900e4, 0x70105, 0x8005a, 0x8001a, 0x90094, 0x70115, 0x8007a, 0x8003a, 0x900d4, 0x7010d, 0x8006a, 0x8002a, 0x900b4, 0x8000a, 0x8008a, 0x8004a, 0x900f4, 0x70103, 0x80056, 0x80016, 0x8011e, 0x70113, 0x80076, 0x80036, 0x900cc, 0x7010b, 0x80066, 0x80026, 0x900ac, 0x80006, 0x80086, 0x80046, 0x900ec, 0x70107, 0x8005e, 0x8001e, 0x9009c, 0x70117, 0x8007e, 0x8003e, 0x900dc, 0x7010f, 0x8006e, 0x8002e, 0x900bc, 0x8000e, 0x8008e, 0x8004e, 0x900fc, 0x70100, 0x80051, 0x80011, 0x80119, 0x70110, 0x80071, 0x80031, 0x900c2, 0x70108, 0x80061, 0x80021, 0x900a2, 0x80001, 0x80081, 0x80041, 0x900e2, 0x70104, 0x80059, 0x80019, 0x90092, 0x70114, 0x80079, 0x80039, 0x900d2, 0x7010c, 0x80069, 0x80029, 0x900b2, 0x80009, 0x80089, 0x80049, 0x900f2, 0x70102, 0x80055, 0x80015, 0x8011d, 0x70112, 0x80075, 0x80035, 0x900ca, 0x7010a, 0x80065, 0x80025, 0x900aa, 0x80005, 0x80085, 0x80045, 0x900ea, 0x70106, 0x8005d, 0x8001d, 0x9009a, 0x70116, 0x8007d, 0x8003d, 0x900da, 0x7010e, 0x8006d, 0x8002d, 0x900ba, 0x8000d, 0x8008d, 0x8004d, 0x900fa, 0x70101, 0x80053, 0x80013, 0x8011b, 0x70111, 0x80073, 0x80033, 0x900c6, 0x70109, 0x80063, 0x80023, 0x900a6, 0x80003, 0x80083, 0x80043, 0x900e6, 0x70105, 0x8005b, 0x8001b, 0x90096, 0x70115, 0x8007b, 0x8003b, 0x900d6, 0x7010d, 0x8006b, 0x8002b, 0x900b6, 0x8000b, 0x8008b, 0x8004b, 0x900f6, 0x70103, 0x80057, 0x80017, 0x8011f, 0x70113, 0x80077, 0x80037, 0x900ce, 0x7010b, 0x80067, 0x80027, 0x900ae, 0x80007, 0x80087, 0x80047, 0x900ee, 0x70107, 0x8005f, 0x8001f, 0x9009e, 0x70117, 0x8007f, 0x8003f, 0x900de, 0x7010f, 0x8006f, 0x8002f, 0x900be, 0x8000f, 0x8008f, 0x8004f, 0x900fe, 0x70100, 0x80050, 0x80010, 0x80118, 0x70110, 0x80070, 0x80030, 0x900c1, 0x70108, 0x80060, 0x80020, 0x900a1, 0x80000, 0x80080, 0x80040, 0x900e1, 0x70104, 0x80058, 0x80018, 0x90091, 0x70114, 0x80078, 0x80038, 0x900d1, 0x7010c, 0x80068, 0x80028, 0x900b1, 0x80008, 0x80088, 0x80048, 0x900f1, 0x70102, 0x80054, 0x80014, 0x8011c, 0x70112, 0x80074, 0x80034, 0x900c9, 0x7010a, 0x80064, 0x80024, 0x900a9, 0x80004, 0x80084, 0x80044, 0x900e9, 0x70106, 0x8005c, 0x8001c, 0x90099, 0x70116, 0x8007c, 0x8003c, 0x900d9, 0x7010e, 0x8006c, 0x8002c, 0x900b9, 0x8000c, 0x8008c, 0x8004c, 0x900f9, 0x70101, 0x80052, 0x80012, 0x8011a, 0x70111, 0x80072, 0x80032, 0x900c5, 0x70109, 0x80062, 0x80022, 0x900a5, 0x80002, 0x80082, 0x80042, 0x900e5, 0x70105, 0x8005a, 0x8001a, 0x90095, 0x70115, 0x8007a, 0x8003a, 0x900d5, 0x7010d, 0x8006a, 0x8002a, 0x900b5, 0x8000a, 0x8008a, 0x8004a, 0x900f5, 0x70103, 0x80056, 0x80016, 0x8011e, 0x70113, 0x80076, 0x80036, 0x900cd, 0x7010b, 0x80066, 0x80026, 0x900ad, 0x80006, 0x80086, 0x80046, 0x900ed, 0x70107, 0x8005e, 0x8001e, 0x9009d, 0x70117, 0x8007e, 0x8003e, 0x900dd, 0x7010f, 0x8006e, 0x8002e, 0x900bd, 0x8000e, 0x8008e, 0x8004e, 0x900fd, 0x70100, 0x80051, 0x80011, 0x80119, 0x70110, 0x80071, 0x80031, 0x900c3, 0x70108, 0x80061, 0x80021, 0x900a3, 0x80001, 0x80081, 0x80041, 0x900e3, 0x70104, 0x80059, 0x80019, 0x90093, 0x70114, 0x80079, 0x80039, 0x900d3, 0x7010c, 0x80069, 0x80029, 0x900b3, 0x80009, 0x80089, 0x80049, 0x900f3, 0x70102, 0x80055, 0x80015, 0x8011d, 0x70112, 0x80075, 0x80035, 0x900cb, 0x7010a, 0x80065, 0x80025, 0x900ab, 0x80005, 0x80085, 0x80045, 0x900eb, 0x70106, 0x8005d, 0x8001d, 0x9009b, 0x70116, 0x8007d, 0x8003d, 0x900db, 0x7010e, 0x8006d, 0x8002d, 0x900bb, 0x8000d, 0x8008d, 0x8004d, 0x900fb, 0x70101, 0x80053, 0x80013, 0x8011b, 0x70111, 0x80073, 0x80033, 0x900c7, 0x70109, 0x80063, 0x80023, 0x900a7, 0x80003, 0x80083, 0x80043, 0x900e7, 0x70105, 0x8005b, 0x8001b, 0x90097, 0x70115, 0x8007b, 0x8003b, 0x900d7, 0x7010d, 0x8006b, 0x8002b, 0x900b7, 0x8000b, 0x8008b, 0x8004b, 0x900f7, 0x70103, 0x80057, 0x80017, 0x8011f, 0x70113, 0x80077, 0x80037, 0x900cf, 0x7010b, 0x80067, 0x80027, 0x900af, 0x80007, 0x80087, 0x80047, 0x900ef, 0x70107, 0x8005f, 0x8001f, 0x9009f, 0x70117, 0x8007f, 0x8003f, 0x900df, 0x7010f, 0x8006f, 0x8002f, 0x900bf, 0x8000f, 0x8008f, 0x8004f, 0x900ff]), 9];\n var fixedDistCodeTab = [new Int32Array([0x50000, 0x50010, 0x50008, 0x50018, 0x50004, 0x50014, 0x5000c, 0x5001c, 0x50002, 0x50012, 0x5000a, 0x5001a, 0x50006, 0x50016, 0x5000e, 0x00000, 0x50001, 0x50011, 0x50009, 0x50019, 0x50005, 0x50015, 0x5000d, 0x5001d, 0x50003, 0x50013, 0x5000b, 0x5001b, 0x50007, 0x50017, 0x5000f, 0x00000]), 5];\n\n function FlateStream(str, maybeLength) {\n this.str = str;\n this.dict = str.dict;\n var cmf = str.getByte();\n var flg = str.getByte();\n\n if (cmf === -1 || flg === -1) {\n throw new _util.FormatError(\"Invalid header in flate stream: \".concat(cmf, \", \").concat(flg));\n }\n\n if ((cmf & 0x0f) !== 0x08) {\n throw new _util.FormatError(\"Unknown compression method in flate stream: \".concat(cmf, \", \").concat(flg));\n }\n\n if (((cmf << 8) + flg) % 31 !== 0) {\n throw new _util.FormatError(\"Bad FCHECK in flate stream: \".concat(cmf, \", \").concat(flg));\n }\n\n if (flg & 0x20) {\n throw new _util.FormatError(\"FDICT bit set in flate stream: \".concat(cmf, \", \").concat(flg));\n }\n\n this.codeSize = 0;\n this.codeBuf = 0;\n DecodeStream.call(this, maybeLength);\n }\n\n FlateStream.prototype = Object.create(DecodeStream.prototype);\n\n FlateStream.prototype.getBits = function FlateStream_getBits(bits) {\n var str = this.str;\n var codeSize = this.codeSize;\n var codeBuf = this.codeBuf;\n var b;\n\n while (codeSize < bits) {\n if ((b = str.getByte()) === -1) {\n throw new _util.FormatError(\"Bad encoding in flate stream\");\n }\n\n codeBuf |= b << codeSize;\n codeSize += 8;\n }\n\n b = codeBuf & (1 << bits) - 1;\n this.codeBuf = codeBuf >> bits;\n this.codeSize = codeSize -= bits;\n return b;\n };\n\n FlateStream.prototype.getCode = function FlateStream_getCode(table) {\n var str = this.str;\n var codes = table[0];\n var maxLen = table[1];\n var codeSize = this.codeSize;\n var codeBuf = this.codeBuf;\n var b;\n\n while (codeSize < maxLen) {\n if ((b = str.getByte()) === -1) {\n break;\n }\n\n codeBuf |= b << codeSize;\n codeSize += 8;\n }\n\n var code = codes[codeBuf & (1 << maxLen) - 1];\n var codeLen = code >> 16;\n var codeVal = code & 0xffff;\n\n if (codeLen < 1 || codeSize < codeLen) {\n throw new _util.FormatError(\"Bad encoding in flate stream\");\n }\n\n this.codeBuf = codeBuf >> codeLen;\n this.codeSize = codeSize - codeLen;\n return codeVal;\n };\n\n FlateStream.prototype.generateHuffmanTable = function flateStreamGenerateHuffmanTable(lengths) {\n var n = lengths.length;\n var maxLen = 0;\n var i;\n\n for (i = 0; i < n; ++i) {\n if (lengths[i] > maxLen) {\n maxLen = lengths[i];\n }\n }\n\n var size = 1 << maxLen;\n var codes = new Int32Array(size);\n\n for (var len = 1, code = 0, skip = 2; len <= maxLen; ++len, code <<= 1, skip <<= 1) {\n for (var val = 0; val < n; ++val) {\n if (lengths[val] === len) {\n var code2 = 0;\n var t = code;\n\n for (i = 0; i < len; ++i) {\n code2 = code2 << 1 | t & 1;\n t >>= 1;\n }\n\n for (i = code2; i < size; i += skip) {\n codes[i] = len << 16 | val;\n }\n\n ++code;\n }\n }\n }\n\n return [codes, maxLen];\n };\n\n FlateStream.prototype.readBlock = function FlateStream_readBlock() {\n var buffer, len;\n var str = this.str;\n var hdr = this.getBits(3);\n\n if (hdr & 1) {\n this.eof = true;\n }\n\n hdr >>= 1;\n\n if (hdr === 0) {\n var b;\n\n if ((b = str.getByte()) === -1) {\n throw new _util.FormatError(\"Bad block header in flate stream\");\n }\n\n var blockLen = b;\n\n if ((b = str.getByte()) === -1) {\n throw new _util.FormatError(\"Bad block header in flate stream\");\n }\n\n blockLen |= b << 8;\n\n if ((b = str.getByte()) === -1) {\n throw new _util.FormatError(\"Bad block header in flate stream\");\n }\n\n var check = b;\n\n if ((b = str.getByte()) === -1) {\n throw new _util.FormatError(\"Bad block header in flate stream\");\n }\n\n check |= b << 8;\n\n if (check !== (~blockLen & 0xffff) && (blockLen !== 0 || check !== 0)) {\n throw new _util.FormatError(\"Bad uncompressed block length in flate stream\");\n }\n\n this.codeBuf = 0;\n this.codeSize = 0;\n var bufferLength = this.bufferLength,\n end = bufferLength + blockLen;\n buffer = this.ensureBuffer(end);\n this.bufferLength = end;\n\n if (blockLen === 0) {\n if (str.peekByte() === -1) {\n this.eof = true;\n }\n } else {\n var block = str.getBytes(blockLen);\n buffer.set(block, bufferLength);\n\n if (block.length < blockLen) {\n this.eof = true;\n }\n }\n\n return;\n }\n\n var litCodeTable;\n var distCodeTable;\n\n if (hdr === 1) {\n litCodeTable = fixedLitCodeTab;\n distCodeTable = fixedDistCodeTab;\n } else if (hdr === 2) {\n var numLitCodes = this.getBits(5) + 257;\n var numDistCodes = this.getBits(5) + 1;\n var numCodeLenCodes = this.getBits(4) + 4;\n var codeLenCodeLengths = new Uint8Array(codeLenCodeMap.length);\n var i;\n\n for (i = 0; i < numCodeLenCodes; ++i) {\n codeLenCodeLengths[codeLenCodeMap[i]] = this.getBits(3);\n }\n\n var codeLenCodeTab = this.generateHuffmanTable(codeLenCodeLengths);\n len = 0;\n i = 0;\n var codes = numLitCodes + numDistCodes;\n var codeLengths = new Uint8Array(codes);\n var bitsLength, bitsOffset, what;\n\n while (i < codes) {\n var code = this.getCode(codeLenCodeTab);\n\n if (code === 16) {\n bitsLength = 2;\n bitsOffset = 3;\n what = len;\n } else if (code === 17) {\n bitsLength = 3;\n bitsOffset = 3;\n what = len = 0;\n } else if (code === 18) {\n bitsLength = 7;\n bitsOffset = 11;\n what = len = 0;\n } else {\n codeLengths[i++] = len = code;\n continue;\n }\n\n var repeatLength = this.getBits(bitsLength) + bitsOffset;\n\n while (repeatLength-- > 0) {\n codeLengths[i++] = what;\n }\n }\n\n litCodeTable = this.generateHuffmanTable(codeLengths.subarray(0, numLitCodes));\n distCodeTable = this.generateHuffmanTable(codeLengths.subarray(numLitCodes, codes));\n } else {\n throw new _util.FormatError(\"Unknown block type in flate stream\");\n }\n\n buffer = this.buffer;\n var limit = buffer ? buffer.length : 0;\n var pos = this.bufferLength;\n\n while (true) {\n var code1 = this.getCode(litCodeTable);\n\n if (code1 < 256) {\n if (pos + 1 >= limit) {\n buffer = this.ensureBuffer(pos + 1);\n limit = buffer.length;\n }\n\n buffer[pos++] = code1;\n continue;\n }\n\n if (code1 === 256) {\n this.bufferLength = pos;\n return;\n }\n\n code1 -= 257;\n code1 = lengthDecode[code1];\n var code2 = code1 >> 16;\n\n if (code2 > 0) {\n code2 = this.getBits(code2);\n }\n\n len = (code1 & 0xffff) + code2;\n code1 = this.getCode(distCodeTable);\n code1 = distDecode[code1];\n code2 = code1 >> 16;\n\n if (code2 > 0) {\n code2 = this.getBits(code2);\n }\n\n var dist = (code1 & 0xffff) + code2;\n\n if (pos + len >= limit) {\n buffer = this.ensureBuffer(pos + len);\n limit = buffer.length;\n }\n\n for (var k = 0; k < len; ++k, ++pos) {\n buffer[pos] = buffer[pos - dist];\n }\n }\n };\n\n return FlateStream;\n}();\n\nexports.FlateStream = FlateStream;\n\nvar PredictorStream = function PredictorStreamClosure() {\n function PredictorStream(str, maybeLength, params) {\n if (!(0, _primitives.isDict)(params)) {\n return str;\n }\n\n var predictor = this.predictor = params.get(\"Predictor\") || 1;\n\n if (predictor <= 1) {\n return str;\n }\n\n if (predictor !== 2 && (predictor < 10 || predictor > 15)) {\n throw new _util.FormatError(\"Unsupported predictor: \".concat(predictor));\n }\n\n if (predictor === 2) {\n this.readBlock = this.readBlockTiff;\n } else {\n this.readBlock = this.readBlockPng;\n }\n\n this.str = str;\n this.dict = str.dict;\n var colors = this.colors = params.get(\"Colors\") || 1;\n var bits = this.bits = params.get(\"BitsPerComponent\") || 8;\n var columns = this.columns = params.get(\"Columns\") || 1;\n this.pixBytes = colors * bits + 7 >> 3;\n this.rowBytes = columns * colors * bits + 7 >> 3;\n DecodeStream.call(this, maybeLength);\n return this;\n }\n\n PredictorStream.prototype = Object.create(DecodeStream.prototype);\n\n PredictorStream.prototype.readBlockTiff = function predictorStreamReadBlockTiff() {\n var rowBytes = this.rowBytes;\n var bufferLength = this.bufferLength;\n var buffer = this.ensureBuffer(bufferLength + rowBytes);\n var bits = this.bits;\n var colors = this.colors;\n var rawBytes = this.str.getBytes(rowBytes);\n this.eof = !rawBytes.length;\n\n if (this.eof) {\n return;\n }\n\n var inbuf = 0,\n outbuf = 0;\n var inbits = 0,\n outbits = 0;\n var pos = bufferLength;\n var i;\n\n if (bits === 1 && colors === 1) {\n for (i = 0; i < rowBytes; ++i) {\n var c = rawBytes[i] ^ inbuf;\n c ^= c >> 1;\n c ^= c >> 2;\n c ^= c >> 4;\n inbuf = (c & 1) << 7;\n buffer[pos++] = c;\n }\n } else if (bits === 8) {\n for (i = 0; i < colors; ++i) {\n buffer[pos++] = rawBytes[i];\n }\n\n for (; i < rowBytes; ++i) {\n buffer[pos] = buffer[pos - colors] + rawBytes[i];\n pos++;\n }\n } else if (bits === 16) {\n var bytesPerPixel = colors * 2;\n\n for (i = 0; i < bytesPerPixel; ++i) {\n buffer[pos++] = rawBytes[i];\n }\n\n for (; i < rowBytes; i += 2) {\n var sum = ((rawBytes[i] & 0xff) << 8) + (rawBytes[i + 1] & 0xff) + ((buffer[pos - bytesPerPixel] & 0xff) << 8) + (buffer[pos - bytesPerPixel + 1] & 0xff);\n buffer[pos++] = sum >> 8 & 0xff;\n buffer[pos++] = sum & 0xff;\n }\n } else {\n var compArray = new Uint8Array(colors + 1);\n var bitMask = (1 << bits) - 1;\n var j = 0,\n k = bufferLength;\n var columns = this.columns;\n\n for (i = 0; i < columns; ++i) {\n for (var kk = 0; kk < colors; ++kk) {\n if (inbits < bits) {\n inbuf = inbuf << 8 | rawBytes[j++] & 0xff;\n inbits += 8;\n }\n\n compArray[kk] = compArray[kk] + (inbuf >> inbits - bits) & bitMask;\n inbits -= bits;\n outbuf = outbuf << bits | compArray[kk];\n outbits += bits;\n\n if (outbits >= 8) {\n buffer[k++] = outbuf >> outbits - 8 & 0xff;\n outbits -= 8;\n }\n }\n }\n\n if (outbits > 0) {\n buffer[k++] = (outbuf << 8 - outbits) + (inbuf & (1 << 8 - outbits) - 1);\n }\n }\n\n this.bufferLength += rowBytes;\n };\n\n PredictorStream.prototype.readBlockPng = function predictorStreamReadBlockPng() {\n var rowBytes = this.rowBytes;\n var pixBytes = this.pixBytes;\n var predictor = this.str.getByte();\n var rawBytes = this.str.getBytes(rowBytes);\n this.eof = !rawBytes.length;\n\n if (this.eof) {\n return;\n }\n\n var bufferLength = this.bufferLength;\n var buffer = this.ensureBuffer(bufferLength + rowBytes);\n var prevRow = buffer.subarray(bufferLength - rowBytes, bufferLength);\n\n if (prevRow.length === 0) {\n prevRow = new Uint8Array(rowBytes);\n }\n\n var i,\n j = bufferLength,\n up,\n c;\n\n switch (predictor) {\n case 0:\n for (i = 0; i < rowBytes; ++i) {\n buffer[j++] = rawBytes[i];\n }\n\n break;\n\n case 1:\n for (i = 0; i < pixBytes; ++i) {\n buffer[j++] = rawBytes[i];\n }\n\n for (; i < rowBytes; ++i) {\n buffer[j] = buffer[j - pixBytes] + rawBytes[i] & 0xff;\n j++;\n }\n\n break;\n\n case 2:\n for (i = 0; i < rowBytes; ++i) {\n buffer[j++] = prevRow[i] + rawBytes[i] & 0xff;\n }\n\n break;\n\n case 3:\n for (i = 0; i < pixBytes; ++i) {\n buffer[j++] = (prevRow[i] >> 1) + rawBytes[i];\n }\n\n for (; i < rowBytes; ++i) {\n buffer[j] = (prevRow[i] + buffer[j - pixBytes] >> 1) + rawBytes[i] & 0xff;\n j++;\n }\n\n break;\n\n case 4:\n for (i = 0; i < pixBytes; ++i) {\n up = prevRow[i];\n c = rawBytes[i];\n buffer[j++] = up + c;\n }\n\n for (; i < rowBytes; ++i) {\n up = prevRow[i];\n var upLeft = prevRow[i - pixBytes];\n var left = buffer[j - pixBytes];\n var p = left + up - upLeft;\n var pa = p - left;\n\n if (pa < 0) {\n pa = -pa;\n }\n\n var pb = p - up;\n\n if (pb < 0) {\n pb = -pb;\n }\n\n var pc = p - upLeft;\n\n if (pc < 0) {\n pc = -pc;\n }\n\n c = rawBytes[i];\n\n if (pa <= pb && pa <= pc) {\n buffer[j++] = left + c;\n } else if (pb <= pc) {\n buffer[j++] = up + c;\n } else {\n buffer[j++] = upLeft + c;\n }\n }\n\n break;\n\n default:\n throw new _util.FormatError(\"Unsupported predictor: \".concat(predictor));\n }\n\n this.bufferLength += rowBytes;\n };\n\n return PredictorStream;\n}();\n\nexports.PredictorStream = PredictorStream;\n\nvar DecryptStream = function DecryptStreamClosure() {\n function DecryptStream(str, maybeLength, decrypt) {\n this.str = str;\n this.dict = str.dict;\n this.decrypt = decrypt;\n this.nextChunk = null;\n this.initialized = false;\n DecodeStream.call(this, maybeLength);\n }\n\n var chunkSize = 512;\n DecryptStream.prototype = Object.create(DecodeStream.prototype);\n\n DecryptStream.prototype.readBlock = function DecryptStream_readBlock() {\n var chunk;\n\n if (this.initialized) {\n chunk = this.nextChunk;\n } else {\n chunk = this.str.getBytes(chunkSize);\n this.initialized = true;\n }\n\n if (!chunk || chunk.length === 0) {\n this.eof = true;\n return;\n }\n\n this.nextChunk = this.str.getBytes(chunkSize);\n var hasMoreData = this.nextChunk && this.nextChunk.length > 0;\n var decrypt = this.decrypt;\n chunk = decrypt(chunk, !hasMoreData);\n var bufferLength = this.bufferLength;\n var i,\n n = chunk.length;\n var buffer = this.ensureBuffer(bufferLength + n);\n\n for (i = 0; i < n; i++) {\n buffer[bufferLength++] = chunk[i];\n }\n\n this.bufferLength = bufferLength;\n };\n\n return DecryptStream;\n}();\n\nexports.DecryptStream = DecryptStream;\n\nvar Ascii85Stream = function Ascii85StreamClosure() {\n function Ascii85Stream(str, maybeLength) {\n this.str = str;\n this.dict = str.dict;\n this.input = new Uint8Array(5);\n\n if (maybeLength) {\n maybeLength = 0.8 * maybeLength;\n }\n\n DecodeStream.call(this, maybeLength);\n }\n\n Ascii85Stream.prototype = Object.create(DecodeStream.prototype);\n\n Ascii85Stream.prototype.readBlock = function Ascii85Stream_readBlock() {\n var TILDA_CHAR = 0x7e;\n var Z_LOWER_CHAR = 0x7a;\n var EOF = -1;\n var str = this.str;\n var c = str.getByte();\n\n while ((0, _core_utils.isWhiteSpace)(c)) {\n c = str.getByte();\n }\n\n if (c === EOF || c === TILDA_CHAR) {\n this.eof = true;\n return;\n }\n\n var bufferLength = this.bufferLength,\n buffer;\n var i;\n\n if (c === Z_LOWER_CHAR) {\n buffer = this.ensureBuffer(bufferLength + 4);\n\n for (i = 0; i < 4; ++i) {\n buffer[bufferLength + i] = 0;\n }\n\n this.bufferLength += 4;\n } else {\n var input = this.input;\n input[0] = c;\n\n for (i = 1; i < 5; ++i) {\n c = str.getByte();\n\n while ((0, _core_utils.isWhiteSpace)(c)) {\n c = str.getByte();\n }\n\n input[i] = c;\n\n if (c === EOF || c === TILDA_CHAR) {\n break;\n }\n }\n\n buffer = this.ensureBuffer(bufferLength + i - 1);\n this.bufferLength += i - 1;\n\n if (i < 5) {\n for (; i < 5; ++i) {\n input[i] = 0x21 + 84;\n }\n\n this.eof = true;\n }\n\n var t = 0;\n\n for (i = 0; i < 5; ++i) {\n t = t * 85 + (input[i] - 0x21);\n }\n\n for (i = 3; i >= 0; --i) {\n buffer[bufferLength + i] = t & 0xff;\n t >>= 8;\n }\n }\n };\n\n return Ascii85Stream;\n}();\n\nexports.Ascii85Stream = Ascii85Stream;\n\nvar AsciiHexStream = function AsciiHexStreamClosure() {\n function AsciiHexStream(str, maybeLength) {\n this.str = str;\n this.dict = str.dict;\n this.firstDigit = -1;\n\n if (maybeLength) {\n maybeLength = 0.5 * maybeLength;\n }\n\n DecodeStream.call(this, maybeLength);\n }\n\n AsciiHexStream.prototype = Object.create(DecodeStream.prototype);\n\n AsciiHexStream.prototype.readBlock = function AsciiHexStream_readBlock() {\n var UPSTREAM_BLOCK_SIZE = 8000;\n var bytes = this.str.getBytes(UPSTREAM_BLOCK_SIZE);\n\n if (!bytes.length) {\n this.eof = true;\n return;\n }\n\n var maxDecodeLength = bytes.length + 1 >> 1;\n var buffer = this.ensureBuffer(this.bufferLength + maxDecodeLength);\n var bufferLength = this.bufferLength;\n var firstDigit = this.firstDigit;\n\n for (var i = 0, ii = bytes.length; i < ii; i++) {\n var ch = bytes[i],\n digit;\n\n if (ch >= 0x30 && ch <= 0x39) {\n digit = ch & 0x0f;\n } else if (ch >= 0x41 && ch <= 0x46 || ch >= 0x61 && ch <= 0x66) {\n digit = (ch & 0x0f) + 9;\n } else if (ch === 0x3e) {\n this.eof = true;\n break;\n } else {\n continue;\n }\n\n if (firstDigit < 0) {\n firstDigit = digit;\n } else {\n buffer[bufferLength++] = firstDigit << 4 | digit;\n firstDigit = -1;\n }\n }\n\n if (firstDigit >= 0 && this.eof) {\n buffer[bufferLength++] = firstDigit << 4;\n firstDigit = -1;\n }\n\n this.firstDigit = firstDigit;\n this.bufferLength = bufferLength;\n };\n\n return AsciiHexStream;\n}();\n\nexports.AsciiHexStream = AsciiHexStream;\n\nvar RunLengthStream = function RunLengthStreamClosure() {\n function RunLengthStream(str, maybeLength) {\n this.str = str;\n this.dict = str.dict;\n DecodeStream.call(this, maybeLength);\n }\n\n RunLengthStream.prototype = Object.create(DecodeStream.prototype);\n\n RunLengthStream.prototype.readBlock = function RunLengthStream_readBlock() {\n var repeatHeader = this.str.getBytes(2);\n\n if (!repeatHeader || repeatHeader.length < 2 || repeatHeader[0] === 128) {\n this.eof = true;\n return;\n }\n\n var buffer;\n var bufferLength = this.bufferLength;\n var n = repeatHeader[0];\n\n if (n < 128) {\n buffer = this.ensureBuffer(bufferLength + n + 1);\n buffer[bufferLength++] = repeatHeader[1];\n\n if (n > 0) {\n var source = this.str.getBytes(n);\n buffer.set(source, bufferLength);\n bufferLength += n;\n }\n } else {\n n = 257 - n;\n var b = repeatHeader[1];\n buffer = this.ensureBuffer(bufferLength + n + 1);\n\n for (var i = 0; i < n; i++) {\n buffer[bufferLength++] = b;\n }\n }\n\n this.bufferLength = bufferLength;\n };\n\n return RunLengthStream;\n}();\n\nexports.RunLengthStream = RunLengthStream;\n\nvar LZWStream = function LZWStreamClosure() {\n function LZWStream(str, maybeLength, earlyChange) {\n this.str = str;\n this.dict = str.dict;\n this.cachedData = 0;\n this.bitsCached = 0;\n var maxLzwDictionarySize = 4096;\n var lzwState = {\n earlyChange: earlyChange,\n codeLength: 9,\n nextCode: 258,\n dictionaryValues: new Uint8Array(maxLzwDictionarySize),\n dictionaryLengths: new Uint16Array(maxLzwDictionarySize),\n dictionaryPrevCodes: new Uint16Array(maxLzwDictionarySize),\n currentSequence: new Uint8Array(maxLzwDictionarySize),\n currentSequenceLength: 0\n };\n\n for (var i = 0; i < 256; ++i) {\n lzwState.dictionaryValues[i] = i;\n lzwState.dictionaryLengths[i] = 1;\n }\n\n this.lzwState = lzwState;\n DecodeStream.call(this, maybeLength);\n }\n\n LZWStream.prototype = Object.create(DecodeStream.prototype);\n\n LZWStream.prototype.readBits = function LZWStream_readBits(n) {\n var bitsCached = this.bitsCached;\n var cachedData = this.cachedData;\n\n while (bitsCached < n) {\n var c = this.str.getByte();\n\n if (c === -1) {\n this.eof = true;\n return null;\n }\n\n cachedData = cachedData << 8 | c;\n bitsCached += 8;\n }\n\n this.bitsCached = bitsCached -= n;\n this.cachedData = cachedData;\n this.lastCode = null;\n return cachedData >>> bitsCached & (1 << n) - 1;\n };\n\n LZWStream.prototype.readBlock = function LZWStream_readBlock() {\n var blockSize = 512;\n var estimatedDecodedSize = blockSize * 2,\n decodedSizeDelta = blockSize;\n var i, j, q;\n var lzwState = this.lzwState;\n\n if (!lzwState) {\n return;\n }\n\n var earlyChange = lzwState.earlyChange;\n var nextCode = lzwState.nextCode;\n var dictionaryValues = lzwState.dictionaryValues;\n var dictionaryLengths = lzwState.dictionaryLengths;\n var dictionaryPrevCodes = lzwState.dictionaryPrevCodes;\n var codeLength = lzwState.codeLength;\n var prevCode = lzwState.prevCode;\n var currentSequence = lzwState.currentSequence;\n var currentSequenceLength = lzwState.currentSequenceLength;\n var decodedLength = 0;\n var currentBufferLength = this.bufferLength;\n var buffer = this.ensureBuffer(this.bufferLength + estimatedDecodedSize);\n\n for (i = 0; i < blockSize; i++) {\n var code = this.readBits(codeLength);\n var hasPrev = currentSequenceLength > 0;\n\n if (code < 256) {\n currentSequence[0] = code;\n currentSequenceLength = 1;\n } else if (code >= 258) {\n if (code < nextCode) {\n currentSequenceLength = dictionaryLengths[code];\n\n for (j = currentSequenceLength - 1, q = code; j >= 0; j--) {\n currentSequence[j] = dictionaryValues[q];\n q = dictionaryPrevCodes[q];\n }\n } else {\n currentSequence[currentSequenceLength++] = currentSequence[0];\n }\n } else if (code === 256) {\n codeLength = 9;\n nextCode = 258;\n currentSequenceLength = 0;\n continue;\n } else {\n this.eof = true;\n delete this.lzwState;\n break;\n }\n\n if (hasPrev) {\n dictionaryPrevCodes[nextCode] = prevCode;\n dictionaryLengths[nextCode] = dictionaryLengths[prevCode] + 1;\n dictionaryValues[nextCode] = currentSequence[0];\n nextCode++;\n codeLength = nextCode + earlyChange & nextCode + earlyChange - 1 ? codeLength : Math.min(Math.log(nextCode + earlyChange) / 0.6931471805599453 + 1, 12) | 0;\n }\n\n prevCode = code;\n decodedLength += currentSequenceLength;\n\n if (estimatedDecodedSize < decodedLength) {\n do {\n estimatedDecodedSize += decodedSizeDelta;\n } while (estimatedDecodedSize < decodedLength);\n\n buffer = this.ensureBuffer(this.bufferLength + estimatedDecodedSize);\n }\n\n for (j = 0; j < currentSequenceLength; j++) {\n buffer[currentBufferLength++] = currentSequence[j];\n }\n }\n\n lzwState.nextCode = nextCode;\n lzwState.codeLength = codeLength;\n lzwState.prevCode = prevCode;\n lzwState.currentSequenceLength = currentSequenceLength;\n this.bufferLength = currentBufferLength;\n };\n\n return LZWStream;\n}();\n\nexports.LZWStream = LZWStream;\n\nvar NullStream = function NullStreamClosure() {\n function NullStream() {\n Stream.call(this, new Uint8Array(0));\n }\n\n NullStream.prototype = Stream.prototype;\n return NullStream;\n}();\n\nexports.NullStream = NullStream;\n\n/***/ }),\n/* 210 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CCITTFaxStream = void 0;\n\nvar _primitives = __w_pdfjs_require__(202);\n\nvar _ccitt = __w_pdfjs_require__(211);\n\nvar _stream = __w_pdfjs_require__(209);\n\nvar CCITTFaxStream = function CCITTFaxStreamClosure() {\n function CCITTFaxStream(str, maybeLength, params) {\n this.str = str;\n this.dict = str.dict;\n\n if (!(0, _primitives.isDict)(params)) {\n params = _primitives.Dict.empty;\n }\n\n var source = {\n next: function next() {\n return str.getByte();\n }\n };\n this.ccittFaxDecoder = new _ccitt.CCITTFaxDecoder(source, {\n K: params.get(\"K\"),\n EndOfLine: params.get(\"EndOfLine\"),\n EncodedByteAlign: params.get(\"EncodedByteAlign\"),\n Columns: params.get(\"Columns\"),\n Rows: params.get(\"Rows\"),\n EndOfBlock: params.get(\"EndOfBlock\"),\n BlackIs1: params.get(\"BlackIs1\")\n });\n\n _stream.DecodeStream.call(this, maybeLength);\n }\n\n CCITTFaxStream.prototype = Object.create(_stream.DecodeStream.prototype);\n\n CCITTFaxStream.prototype.readBlock = function () {\n while (!this.eof) {\n var c = this.ccittFaxDecoder.readNextChar();\n\n if (c === -1) {\n this.eof = true;\n return;\n }\n\n this.ensureBuffer(this.bufferLength + 1);\n this.buffer[this.bufferLength++] = c;\n }\n };\n\n return CCITTFaxStream;\n}();\n\nexports.CCITTFaxStream = CCITTFaxStream;\n\n/***/ }),\n/* 211 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CCITTFaxDecoder = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar CCITTFaxDecoder = function CCITTFaxDecoder() {\n var ccittEOL = -2;\n var ccittEOF = -1;\n var twoDimPass = 0;\n var twoDimHoriz = 1;\n var twoDimVert0 = 2;\n var twoDimVertR1 = 3;\n var twoDimVertL1 = 4;\n var twoDimVertR2 = 5;\n var twoDimVertL2 = 6;\n var twoDimVertR3 = 7;\n var twoDimVertL3 = 8;\n var twoDimTable = [[-1, -1], [-1, -1], [7, twoDimVertL3], [7, twoDimVertR3], [6, twoDimVertL2], [6, twoDimVertL2], [6, twoDimVertR2], [6, twoDimVertR2], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0]];\n var whiteTable1 = [[-1, -1], [12, ccittEOL], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [11, 1792], [11, 1792], [12, 1984], [12, 2048], [12, 2112], [12, 2176], [12, 2240], [12, 2304], [11, 1856], [11, 1856], [11, 1920], [11, 1920], [12, 2368], [12, 2432], [12, 2496], [12, 2560]];\n var whiteTable2 = [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [8, 29], [8, 29], [8, 30], [8, 30], [8, 45], [8, 45], [8, 46], [8, 46], [7, 22], [7, 22], [7, 22], [7, 22], [7, 23], [7, 23], [7, 23], [7, 23], [8, 47], [8, 47], [8, 48], [8, 48], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [7, 20], [7, 20], [7, 20], [7, 20], [8, 33], [8, 33], [8, 34], [8, 34], [8, 35], [8, 35], [8, 36], [8, 36], [8, 37], [8, 37], [8, 38], [8, 38], [7, 19], [7, 19], [7, 19], [7, 19], [8, 31], [8, 31], [8, 32], [8, 32], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 12], [6, 12], [6, 12], [6, 12], [6, 12], [6, 12], [6, 12], [6, 12], [8, 53], [8, 53], [8, 54], [8, 54], [7, 26], [7, 26], [7, 26], [7, 26], [8, 39], [8, 39], [8, 40], [8, 40], [8, 41], [8, 41], [8, 42], [8, 42], [8, 43], [8, 43], [8, 44], [8, 44], [7, 21], [7, 21], [7, 21], [7, 21], [7, 28], [7, 28], [7, 28], [7, 28], [8, 61], [8, 61], [8, 62], [8, 62], [8, 63], [8, 63], [8, 0], [8, 0], [8, 320], [8, 320], [8, 384], [8, 384], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [7, 27], [7, 27], [7, 27], [7, 27], [8, 59], [8, 59], [8, 60], [8, 60], [9, 1472], [9, 1536], [9, 1600], [9, 1728], [7, 18], [7, 18], [7, 18], [7, 18], [7, 24], [7, 24], [7, 24], [7, 24], [8, 49], [8, 49], [8, 50], [8, 50], [8, 51], [8, 51], [8, 52], [8, 52], [7, 25], [7, 25], [7, 25], [7, 25], [8, 55], [8, 55], [8, 56], [8, 56], [8, 57], [8, 57], [8, 58], [8, 58], [6, 192], [6, 192], [6, 192], [6, 192], [6, 192], [6, 192], [6, 192], [6, 192], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [8, 448], [8, 448], [8, 512], [8, 512], [9, 704], [9, 768], [8, 640], [8, 640], [8, 576], [8, 576], [9, 832], [9, 896], [9, 960], [9, 1024], [9, 1088], [9, 1152], [9, 1216], [9, 1280], [9, 1344], [9, 1408], [7, 256], [7, 256], [7, 256], [7, 256], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], [6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [6, 14], [6, 14], [6, 14], [6, 14], [6, 14], [6, 14], [6, 14], [6, 14], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7]];\n var blackTable1 = [[-1, -1], [-1, -1], [12, ccittEOL], [12, ccittEOL], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [11, 1792], [11, 1792], [11, 1792], [11, 1792], [12, 1984], [12, 1984], [12, 2048], [12, 2048], [12, 2112], [12, 2112], [12, 2176], [12, 2176], [12, 2240], [12, 2240], [12, 2304], [12, 2304], [11, 1856], [11, 1856], [11, 1856], [11, 1856], [11, 1920], [11, 1920], [11, 1920], [11, 1920], [12, 2368], [12, 2368], [12, 2432], [12, 2432], [12, 2496], [12, 2496], [12, 2560], [12, 2560], [10, 18], [10, 18], [10, 18], [10, 18], [10, 18], [10, 18], [10, 18], [10, 18], [12, 52], [12, 52], [13, 640], [13, 704], [13, 768], [13, 832], [12, 55], [12, 55], [12, 56], [12, 56], [13, 1280], [13, 1344], [13, 1408], [13, 1472], [12, 59], [12, 59], [12, 60], [12, 60], [13, 1536], [13, 1600], [11, 24], [11, 24], [11, 24], [11, 24], [11, 25], [11, 25], [11, 25], [11, 25], [13, 1664], [13, 1728], [12, 320], [12, 320], [12, 384], [12, 384], [12, 448], [12, 448], [13, 512], [13, 576], [12, 53], [12, 53], [12, 54], [12, 54], [13, 896], [13, 960], [13, 1024], [13, 1088], [13, 1152], [13, 1216], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64]];\n var blackTable2 = [[8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [11, 23], [11, 23], [12, 50], [12, 51], [12, 44], [12, 45], [12, 46], [12, 47], [12, 57], [12, 58], [12, 61], [12, 256], [10, 16], [10, 16], [10, 16], [10, 16], [10, 17], [10, 17], [10, 17], [10, 17], [12, 48], [12, 49], [12, 62], [12, 63], [12, 30], [12, 31], [12, 32], [12, 33], [12, 40], [12, 41], [11, 22], [11, 22], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [9, 15], [9, 15], [9, 15], [9, 15], [9, 15], [9, 15], [9, 15], [9, 15], [12, 128], [12, 192], [12, 26], [12, 27], [12, 28], [12, 29], [11, 19], [11, 19], [11, 20], [11, 20], [12, 34], [12, 35], [12, 36], [12, 37], [12, 38], [12, 39], [11, 21], [11, 21], [12, 42], [12, 43], [10, 0], [10, 0], [10, 0], [10, 0], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12]];\n var blackTable3 = [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [6, 9], [6, 8], [5, 7], [5, 7], [4, 6], [4, 6], [4, 6], [4, 6], [4, 5], [4, 5], [4, 5], [4, 5], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2]];\n\n function CCITTFaxDecoder(source) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!source || typeof source.next !== \"function\") {\n throw new Error('CCITTFaxDecoder - invalid \"source\" parameter.');\n }\n\n this.source = source;\n this.eof = false;\n this.encoding = options.K || 0;\n this.eoline = options.EndOfLine || false;\n this.byteAlign = options.EncodedByteAlign || false;\n this.columns = options.Columns || 1728;\n this.rows = options.Rows || 0;\n var eoblock = options.EndOfBlock;\n\n if (eoblock === null || eoblock === undefined) {\n eoblock = true;\n }\n\n this.eoblock = eoblock;\n this.black = options.BlackIs1 || false;\n this.codingLine = new Uint32Array(this.columns + 1);\n this.refLine = new Uint32Array(this.columns + 2);\n this.codingLine[0] = this.columns;\n this.codingPos = 0;\n this.row = 0;\n this.nextLine2D = this.encoding < 0;\n this.inputBits = 0;\n this.inputBuf = 0;\n this.outputBits = 0;\n this.rowsDone = false;\n var code1;\n\n while ((code1 = this._lookBits(12)) === 0) {\n this._eatBits(1);\n }\n\n if (code1 === 1) {\n this._eatBits(12);\n }\n\n if (this.encoding > 0) {\n this.nextLine2D = !this._lookBits(1);\n\n this._eatBits(1);\n }\n }\n\n CCITTFaxDecoder.prototype = {\n readNextChar: function readNextChar() {\n if (this.eof) {\n return -1;\n }\n\n var refLine = this.refLine;\n var codingLine = this.codingLine;\n var columns = this.columns;\n var refPos, blackPixels, bits, i;\n\n if (this.outputBits === 0) {\n if (this.rowsDone) {\n this.eof = true;\n }\n\n if (this.eof) {\n return -1;\n }\n\n this.err = false;\n var code1, code2, code3;\n\n if (this.nextLine2D) {\n for (i = 0; codingLine[i] < columns; ++i) {\n refLine[i] = codingLine[i];\n }\n\n refLine[i++] = columns;\n refLine[i] = columns;\n codingLine[0] = 0;\n this.codingPos = 0;\n refPos = 0;\n blackPixels = 0;\n\n while (codingLine[this.codingPos] < columns) {\n code1 = this._getTwoDimCode();\n\n switch (code1) {\n case twoDimPass:\n this._addPixels(refLine[refPos + 1], blackPixels);\n\n if (refLine[refPos + 1] < columns) {\n refPos += 2;\n }\n\n break;\n\n case twoDimHoriz:\n code1 = code2 = 0;\n\n if (blackPixels) {\n do {\n code1 += code3 = this._getBlackCode();\n } while (code3 >= 64);\n\n do {\n code2 += code3 = this._getWhiteCode();\n } while (code3 >= 64);\n } else {\n do {\n code1 += code3 = this._getWhiteCode();\n } while (code3 >= 64);\n\n do {\n code2 += code3 = this._getBlackCode();\n } while (code3 >= 64);\n }\n\n this._addPixels(codingLine[this.codingPos] + code1, blackPixels);\n\n if (codingLine[this.codingPos] < columns) {\n this._addPixels(codingLine[this.codingPos] + code2, blackPixels ^ 1);\n }\n\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n\n break;\n\n case twoDimVertR3:\n this._addPixels(refLine[refPos] + 3, blackPixels);\n\n blackPixels ^= 1;\n\n if (codingLine[this.codingPos] < columns) {\n ++refPos;\n\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n }\n\n break;\n\n case twoDimVertR2:\n this._addPixels(refLine[refPos] + 2, blackPixels);\n\n blackPixels ^= 1;\n\n if (codingLine[this.codingPos] < columns) {\n ++refPos;\n\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n }\n\n break;\n\n case twoDimVertR1:\n this._addPixels(refLine[refPos] + 1, blackPixels);\n\n blackPixels ^= 1;\n\n if (codingLine[this.codingPos] < columns) {\n ++refPos;\n\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n }\n\n break;\n\n case twoDimVert0:\n this._addPixels(refLine[refPos], blackPixels);\n\n blackPixels ^= 1;\n\n if (codingLine[this.codingPos] < columns) {\n ++refPos;\n\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n }\n\n break;\n\n case twoDimVertL3:\n this._addPixelsNeg(refLine[refPos] - 3, blackPixels);\n\n blackPixels ^= 1;\n\n if (codingLine[this.codingPos] < columns) {\n if (refPos > 0) {\n --refPos;\n } else {\n ++refPos;\n }\n\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n }\n\n break;\n\n case twoDimVertL2:\n this._addPixelsNeg(refLine[refPos] - 2, blackPixels);\n\n blackPixels ^= 1;\n\n if (codingLine[this.codingPos] < columns) {\n if (refPos > 0) {\n --refPos;\n } else {\n ++refPos;\n }\n\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n }\n\n break;\n\n case twoDimVertL1:\n this._addPixelsNeg(refLine[refPos] - 1, blackPixels);\n\n blackPixels ^= 1;\n\n if (codingLine[this.codingPos] < columns) {\n if (refPos > 0) {\n --refPos;\n } else {\n ++refPos;\n }\n\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n }\n\n break;\n\n case ccittEOF:\n this._addPixels(columns, 0);\n\n this.eof = true;\n break;\n\n default:\n (0, _util.info)(\"bad 2d code\");\n\n this._addPixels(columns, 0);\n\n this.err = true;\n }\n }\n } else {\n codingLine[0] = 0;\n this.codingPos = 0;\n blackPixels = 0;\n\n while (codingLine[this.codingPos] < columns) {\n code1 = 0;\n\n if (blackPixels) {\n do {\n code1 += code3 = this._getBlackCode();\n } while (code3 >= 64);\n } else {\n do {\n code1 += code3 = this._getWhiteCode();\n } while (code3 >= 64);\n }\n\n this._addPixels(codingLine[this.codingPos] + code1, blackPixels);\n\n blackPixels ^= 1;\n }\n }\n\n var gotEOL = false;\n\n if (this.byteAlign) {\n this.inputBits &= ~7;\n }\n\n if (!this.eoblock && this.row === this.rows - 1) {\n this.rowsDone = true;\n } else {\n code1 = this._lookBits(12);\n\n if (this.eoline) {\n while (code1 !== ccittEOF && code1 !== 1) {\n this._eatBits(1);\n\n code1 = this._lookBits(12);\n }\n } else {\n while (code1 === 0) {\n this._eatBits(1);\n\n code1 = this._lookBits(12);\n }\n }\n\n if (code1 === 1) {\n this._eatBits(12);\n\n gotEOL = true;\n } else if (code1 === ccittEOF) {\n this.eof = true;\n }\n }\n\n if (!this.eof && this.encoding > 0 && !this.rowsDone) {\n this.nextLine2D = !this._lookBits(1);\n\n this._eatBits(1);\n }\n\n if (this.eoblock && gotEOL && this.byteAlign) {\n code1 = this._lookBits(12);\n\n if (code1 === 1) {\n this._eatBits(12);\n\n if (this.encoding > 0) {\n this._lookBits(1);\n\n this._eatBits(1);\n }\n\n if (this.encoding >= 0) {\n for (i = 0; i < 4; ++i) {\n code1 = this._lookBits(12);\n\n if (code1 !== 1) {\n (0, _util.info)(\"bad rtc code: \" + code1);\n }\n\n this._eatBits(12);\n\n if (this.encoding > 0) {\n this._lookBits(1);\n\n this._eatBits(1);\n }\n }\n }\n\n this.eof = true;\n }\n } else if (this.err && this.eoline) {\n while (true) {\n code1 = this._lookBits(13);\n\n if (code1 === ccittEOF) {\n this.eof = true;\n return -1;\n }\n\n if (code1 >> 1 === 1) {\n break;\n }\n\n this._eatBits(1);\n }\n\n this._eatBits(12);\n\n if (this.encoding > 0) {\n this._eatBits(1);\n\n this.nextLine2D = !(code1 & 1);\n }\n }\n\n if (codingLine[0] > 0) {\n this.outputBits = codingLine[this.codingPos = 0];\n } else {\n this.outputBits = codingLine[this.codingPos = 1];\n }\n\n this.row++;\n }\n\n var c;\n\n if (this.outputBits >= 8) {\n c = this.codingPos & 1 ? 0 : 0xff;\n this.outputBits -= 8;\n\n if (this.outputBits === 0 && codingLine[this.codingPos] < columns) {\n this.codingPos++;\n this.outputBits = codingLine[this.codingPos] - codingLine[this.codingPos - 1];\n }\n } else {\n bits = 8;\n c = 0;\n\n do {\n if (this.outputBits > bits) {\n c <<= bits;\n\n if (!(this.codingPos & 1)) {\n c |= 0xff >> 8 - bits;\n }\n\n this.outputBits -= bits;\n bits = 0;\n } else {\n c <<= this.outputBits;\n\n if (!(this.codingPos & 1)) {\n c |= 0xff >> 8 - this.outputBits;\n }\n\n bits -= this.outputBits;\n this.outputBits = 0;\n\n if (codingLine[this.codingPos] < columns) {\n this.codingPos++;\n this.outputBits = codingLine[this.codingPos] - codingLine[this.codingPos - 1];\n } else if (bits > 0) {\n c <<= bits;\n bits = 0;\n }\n }\n } while (bits);\n }\n\n if (this.black) {\n c ^= 0xff;\n }\n\n return c;\n },\n _addPixels: function _addPixels(a1, blackPixels) {\n var codingLine = this.codingLine;\n var codingPos = this.codingPos;\n\n if (a1 > codingLine[codingPos]) {\n if (a1 > this.columns) {\n (0, _util.info)(\"row is wrong length\");\n this.err = true;\n a1 = this.columns;\n }\n\n if (codingPos & 1 ^ blackPixels) {\n ++codingPos;\n }\n\n codingLine[codingPos] = a1;\n }\n\n this.codingPos = codingPos;\n },\n _addPixelsNeg: function _addPixelsNeg(a1, blackPixels) {\n var codingLine = this.codingLine;\n var codingPos = this.codingPos;\n\n if (a1 > codingLine[codingPos]) {\n if (a1 > this.columns) {\n (0, _util.info)(\"row is wrong length\");\n this.err = true;\n a1 = this.columns;\n }\n\n if (codingPos & 1 ^ blackPixels) {\n ++codingPos;\n }\n\n codingLine[codingPos] = a1;\n } else if (a1 < codingLine[codingPos]) {\n if (a1 < 0) {\n (0, _util.info)(\"invalid code\");\n this.err = true;\n a1 = 0;\n }\n\n while (codingPos > 0 && a1 < codingLine[codingPos - 1]) {\n --codingPos;\n }\n\n codingLine[codingPos] = a1;\n }\n\n this.codingPos = codingPos;\n },\n _findTableCode: function _findTableCode(start, end, table, limit) {\n var limitValue = limit || 0;\n\n for (var i = start; i <= end; ++i) {\n var code = this._lookBits(i);\n\n if (code === ccittEOF) {\n return [true, 1, false];\n }\n\n if (i < end) {\n code <<= end - i;\n }\n\n if (!limitValue || code >= limitValue) {\n var p = table[code - limitValue];\n\n if (p[0] === i) {\n this._eatBits(i);\n\n return [true, p[1], true];\n }\n }\n }\n\n return [false, 0, false];\n },\n _getTwoDimCode: function _getTwoDimCode() {\n var code = 0;\n var p;\n\n if (this.eoblock) {\n code = this._lookBits(7);\n p = twoDimTable[code];\n\n if (p && p[0] > 0) {\n this._eatBits(p[0]);\n\n return p[1];\n }\n } else {\n var result = this._findTableCode(1, 7, twoDimTable);\n\n if (result[0] && result[2]) {\n return result[1];\n }\n }\n\n (0, _util.info)(\"Bad two dim code\");\n return ccittEOF;\n },\n _getWhiteCode: function _getWhiteCode() {\n var code = 0;\n var p;\n\n if (this.eoblock) {\n code = this._lookBits(12);\n\n if (code === ccittEOF) {\n return 1;\n }\n\n if (code >> 5 === 0) {\n p = whiteTable1[code];\n } else {\n p = whiteTable2[code >> 3];\n }\n\n if (p[0] > 0) {\n this._eatBits(p[0]);\n\n return p[1];\n }\n } else {\n var result = this._findTableCode(1, 9, whiteTable2);\n\n if (result[0]) {\n return result[1];\n }\n\n result = this._findTableCode(11, 12, whiteTable1);\n\n if (result[0]) {\n return result[1];\n }\n }\n\n (0, _util.info)(\"bad white code\");\n\n this._eatBits(1);\n\n return 1;\n },\n _getBlackCode: function _getBlackCode() {\n var code, p;\n\n if (this.eoblock) {\n code = this._lookBits(13);\n\n if (code === ccittEOF) {\n return 1;\n }\n\n if (code >> 7 === 0) {\n p = blackTable1[code];\n } else if (code >> 9 === 0 && code >> 7 !== 0) {\n p = blackTable2[(code >> 1) - 64];\n } else {\n p = blackTable3[code >> 7];\n }\n\n if (p[0] > 0) {\n this._eatBits(p[0]);\n\n return p[1];\n }\n } else {\n var result = this._findTableCode(2, 6, blackTable3);\n\n if (result[0]) {\n return result[1];\n }\n\n result = this._findTableCode(7, 12, blackTable2, 64);\n\n if (result[0]) {\n return result[1];\n }\n\n result = this._findTableCode(10, 13, blackTable1);\n\n if (result[0]) {\n return result[1];\n }\n }\n\n (0, _util.info)(\"bad black code\");\n\n this._eatBits(1);\n\n return 1;\n },\n _lookBits: function _lookBits(n) {\n var c;\n\n while (this.inputBits < n) {\n if ((c = this.source.next()) === -1) {\n if (this.inputBits === 0) {\n return ccittEOF;\n }\n\n return this.inputBuf << n - this.inputBits & 0xffff >> 16 - n;\n }\n\n this.inputBuf = this.inputBuf << 8 | c;\n this.inputBits += 8;\n }\n\n return this.inputBuf >> this.inputBits - n & 0xffff >> 16 - n;\n },\n _eatBits: function _eatBits(n) {\n if ((this.inputBits -= n) < 0) {\n this.inputBits = 0;\n }\n }\n };\n return CCITTFaxDecoder;\n}();\n\nexports.CCITTFaxDecoder = CCITTFaxDecoder;\n\n/***/ }),\n/* 212 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Jbig2Stream = void 0;\n\nvar _primitives = __w_pdfjs_require__(202);\n\nvar _stream = __w_pdfjs_require__(209);\n\nvar _jbig = __w_pdfjs_require__(213);\n\nvar _util = __w_pdfjs_require__(5);\n\nvar Jbig2Stream = function Jbig2StreamClosure() {\n function Jbig2Stream(stream, maybeLength, dict, params) {\n this.stream = stream;\n this.maybeLength = maybeLength;\n this.dict = dict;\n this.params = params;\n\n _stream.DecodeStream.call(this, maybeLength);\n }\n\n Jbig2Stream.prototype = Object.create(_stream.DecodeStream.prototype);\n Object.defineProperty(Jbig2Stream.prototype, \"bytes\", {\n get: function get() {\n return (0, _util.shadow)(this, \"bytes\", this.stream.getBytes(this.maybeLength));\n },\n configurable: true\n });\n\n Jbig2Stream.prototype.ensureBuffer = function (requested) {};\n\n Jbig2Stream.prototype.readBlock = function () {\n if (this.eof) {\n return;\n }\n\n var jbig2Image = new _jbig.Jbig2Image();\n var chunks = [];\n\n if ((0, _primitives.isDict)(this.params)) {\n var globalsStream = this.params.get(\"JBIG2Globals\");\n\n if ((0, _primitives.isStream)(globalsStream)) {\n var globals = globalsStream.getBytes();\n chunks.push({\n data: globals,\n start: 0,\n end: globals.length\n });\n }\n }\n\n chunks.push({\n data: this.bytes,\n start: 0,\n end: this.bytes.length\n });\n var data = jbig2Image.parseChunks(chunks);\n var dataLength = data.length;\n\n for (var i = 0; i < dataLength; i++) {\n data[i] ^= 0xff;\n }\n\n this.buffer = data;\n this.bufferLength = dataLength;\n this.eof = true;\n };\n\n return Jbig2Stream;\n}();\n\nexports.Jbig2Stream = Jbig2Stream;\n\n/***/ }),\n/* 213 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Jbig2Image = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _core_utils = __w_pdfjs_require__(205);\n\nvar _arithmetic_decoder = __w_pdfjs_require__(214);\n\nvar _ccitt = __w_pdfjs_require__(211);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar Jbig2Error = /*#__PURE__*/function (_BaseException) {\n _inherits(Jbig2Error, _BaseException);\n\n var _super = _createSuper(Jbig2Error);\n\n function Jbig2Error(msg) {\n _classCallCheck(this, Jbig2Error);\n\n return _super.call(this, \"JBIG2 error: \".concat(msg));\n }\n\n return Jbig2Error;\n}(_util.BaseException);\n\nvar Jbig2Image = function Jbig2ImageClosure() {\n function ContextCache() {}\n\n ContextCache.prototype = {\n getContexts: function getContexts(id) {\n if (id in this) {\n return this[id];\n }\n\n return this[id] = new Int8Array(1 << 16);\n }\n };\n\n function DecodingContext(data, start, end) {\n this.data = data;\n this.start = start;\n this.end = end;\n }\n\n DecodingContext.prototype = {\n get decoder() {\n var decoder = new _arithmetic_decoder.ArithmeticDecoder(this.data, this.start, this.end);\n return (0, _util.shadow)(this, \"decoder\", decoder);\n },\n\n get contextCache() {\n var cache = new ContextCache();\n return (0, _util.shadow)(this, \"contextCache\", cache);\n }\n\n };\n\n function decodeInteger(contextCache, procedure, decoder) {\n var contexts = contextCache.getContexts(procedure);\n var prev = 1;\n\n function readBits(length) {\n var v = 0;\n\n for (var i = 0; i < length; i++) {\n var bit = decoder.readBit(contexts, prev);\n prev = prev < 256 ? prev << 1 | bit : (prev << 1 | bit) & 511 | 256;\n v = v << 1 | bit;\n }\n\n return v >>> 0;\n }\n\n var sign = readBits(1);\n var value = readBits(1) ? readBits(1) ? readBits(1) ? readBits(1) ? readBits(1) ? readBits(32) + 4436 : readBits(12) + 340 : readBits(8) + 84 : readBits(6) + 20 : readBits(4) + 4 : readBits(2);\n\n if (sign === 0) {\n return value;\n } else if (value > 0) {\n return -value;\n }\n\n return null;\n }\n\n function decodeIAID(contextCache, decoder, codeLength) {\n var contexts = contextCache.getContexts(\"IAID\");\n var prev = 1;\n\n for (var i = 0; i < codeLength; i++) {\n var bit = decoder.readBit(contexts, prev);\n prev = prev << 1 | bit;\n }\n\n if (codeLength < 31) {\n return prev & (1 << codeLength) - 1;\n }\n\n return prev & 0x7fffffff;\n }\n\n var SegmentTypes = [\"SymbolDictionary\", null, null, null, \"IntermediateTextRegion\", null, \"ImmediateTextRegion\", \"ImmediateLosslessTextRegion\", null, null, null, null, null, null, null, null, \"PatternDictionary\", null, null, null, \"IntermediateHalftoneRegion\", null, \"ImmediateHalftoneRegion\", \"ImmediateLosslessHalftoneRegion\", null, null, null, null, null, null, null, null, null, null, null, null, \"IntermediateGenericRegion\", null, \"ImmediateGenericRegion\", \"ImmediateLosslessGenericRegion\", \"IntermediateGenericRefinementRegion\", null, \"ImmediateGenericRefinementRegion\", \"ImmediateLosslessGenericRefinementRegion\", null, null, null, null, \"PageInformation\", \"EndOfPage\", \"EndOfStripe\", \"EndOfFile\", \"Profiles\", \"Tables\", null, null, null, null, null, null, null, null, \"Extension\"];\n var CodingTemplates = [[{\n x: -1,\n y: -2\n }, {\n x: 0,\n y: -2\n }, {\n x: 1,\n y: -2\n }, {\n x: -2,\n y: -1\n }, {\n x: -1,\n y: -1\n }, {\n x: 0,\n y: -1\n }, {\n x: 1,\n y: -1\n }, {\n x: 2,\n y: -1\n }, {\n x: -4,\n y: 0\n }, {\n x: -3,\n y: 0\n }, {\n x: -2,\n y: 0\n }, {\n x: -1,\n y: 0\n }], [{\n x: -1,\n y: -2\n }, {\n x: 0,\n y: -2\n }, {\n x: 1,\n y: -2\n }, {\n x: 2,\n y: -2\n }, {\n x: -2,\n y: -1\n }, {\n x: -1,\n y: -1\n }, {\n x: 0,\n y: -1\n }, {\n x: 1,\n y: -1\n }, {\n x: 2,\n y: -1\n }, {\n x: -3,\n y: 0\n }, {\n x: -2,\n y: 0\n }, {\n x: -1,\n y: 0\n }], [{\n x: -1,\n y: -2\n }, {\n x: 0,\n y: -2\n }, {\n x: 1,\n y: -2\n }, {\n x: -2,\n y: -1\n }, {\n x: -1,\n y: -1\n }, {\n x: 0,\n y: -1\n }, {\n x: 1,\n y: -1\n }, {\n x: -2,\n y: 0\n }, {\n x: -1,\n y: 0\n }], [{\n x: -3,\n y: -1\n }, {\n x: -2,\n y: -1\n }, {\n x: -1,\n y: -1\n }, {\n x: 0,\n y: -1\n }, {\n x: 1,\n y: -1\n }, {\n x: -4,\n y: 0\n }, {\n x: -3,\n y: 0\n }, {\n x: -2,\n y: 0\n }, {\n x: -1,\n y: 0\n }]];\n var RefinementTemplates = [{\n coding: [{\n x: 0,\n y: -1\n }, {\n x: 1,\n y: -1\n }, {\n x: -1,\n y: 0\n }],\n reference: [{\n x: 0,\n y: -1\n }, {\n x: 1,\n y: -1\n }, {\n x: -1,\n y: 0\n }, {\n x: 0,\n y: 0\n }, {\n x: 1,\n y: 0\n }, {\n x: -1,\n y: 1\n }, {\n x: 0,\n y: 1\n }, {\n x: 1,\n y: 1\n }]\n }, {\n coding: [{\n x: -1,\n y: -1\n }, {\n x: 0,\n y: -1\n }, {\n x: 1,\n y: -1\n }, {\n x: -1,\n y: 0\n }],\n reference: [{\n x: 0,\n y: -1\n }, {\n x: -1,\n y: 0\n }, {\n x: 0,\n y: 0\n }, {\n x: 1,\n y: 0\n }, {\n x: 0,\n y: 1\n }, {\n x: 1,\n y: 1\n }]\n }];\n var ReusedContexts = [0x9b25, 0x0795, 0x00e5, 0x0195];\n var RefinementReusedContexts = [0x0020, 0x0008];\n\n function decodeBitmapTemplate0(width, height, decodingContext) {\n var decoder = decodingContext.decoder;\n var contexts = decodingContext.contextCache.getContexts(\"GB\");\n var contextLabel,\n i,\n j,\n pixel,\n row,\n row1,\n row2,\n bitmap = [];\n var OLD_PIXEL_MASK = 0x7bf7;\n\n for (i = 0; i < height; i++) {\n row = bitmap[i] = new Uint8Array(width);\n row1 = i < 1 ? row : bitmap[i - 1];\n row2 = i < 2 ? row : bitmap[i - 2];\n contextLabel = row2[0] << 13 | row2[1] << 12 | row2[2] << 11 | row1[0] << 7 | row1[1] << 6 | row1[2] << 5 | row1[3] << 4;\n\n for (j = 0; j < width; j++) {\n row[j] = pixel = decoder.readBit(contexts, contextLabel);\n contextLabel = (contextLabel & OLD_PIXEL_MASK) << 1 | (j + 3 < width ? row2[j + 3] << 11 : 0) | (j + 4 < width ? row1[j + 4] << 4 : 0) | pixel;\n }\n }\n\n return bitmap;\n }\n\n function decodeBitmap(mmr, width, height, templateIndex, prediction, skip, at, decodingContext) {\n if (mmr) {\n var input = new Reader(decodingContext.data, decodingContext.start, decodingContext.end);\n return decodeMMRBitmap(input, width, height, false);\n }\n\n if (templateIndex === 0 && !skip && !prediction && at.length === 4 && at[0].x === 3 && at[0].y === -1 && at[1].x === -3 && at[1].y === -1 && at[2].x === 2 && at[2].y === -2 && at[3].x === -2 && at[3].y === -2) {\n return decodeBitmapTemplate0(width, height, decodingContext);\n }\n\n var useskip = !!skip;\n var template = CodingTemplates[templateIndex].concat(at);\n template.sort(function (a, b) {\n return a.y - b.y || a.x - b.x;\n });\n var templateLength = template.length;\n var templateX = new Int8Array(templateLength);\n var templateY = new Int8Array(templateLength);\n var changingTemplateEntries = [];\n var reuseMask = 0,\n minX = 0,\n maxX = 0,\n minY = 0;\n var c, k;\n\n for (k = 0; k < templateLength; k++) {\n templateX[k] = template[k].x;\n templateY[k] = template[k].y;\n minX = Math.min(minX, template[k].x);\n maxX = Math.max(maxX, template[k].x);\n minY = Math.min(minY, template[k].y);\n\n if (k < templateLength - 1 && template[k].y === template[k + 1].y && template[k].x === template[k + 1].x - 1) {\n reuseMask |= 1 << templateLength - 1 - k;\n } else {\n changingTemplateEntries.push(k);\n }\n }\n\n var changingEntriesLength = changingTemplateEntries.length;\n var changingTemplateX = new Int8Array(changingEntriesLength);\n var changingTemplateY = new Int8Array(changingEntriesLength);\n var changingTemplateBit = new Uint16Array(changingEntriesLength);\n\n for (c = 0; c < changingEntriesLength; c++) {\n k = changingTemplateEntries[c];\n changingTemplateX[c] = template[k].x;\n changingTemplateY[c] = template[k].y;\n changingTemplateBit[c] = 1 << templateLength - 1 - k;\n }\n\n var sbb_left = -minX;\n var sbb_top = -minY;\n var sbb_right = width - maxX;\n var pseudoPixelContext = ReusedContexts[templateIndex];\n var row = new Uint8Array(width);\n var bitmap = [];\n var decoder = decodingContext.decoder;\n var contexts = decodingContext.contextCache.getContexts(\"GB\");\n var ltp = 0,\n j,\n i0,\n j0,\n contextLabel = 0,\n bit,\n shift;\n\n for (var i = 0; i < height; i++) {\n if (prediction) {\n var sltp = decoder.readBit(contexts, pseudoPixelContext);\n ltp ^= sltp;\n\n if (ltp) {\n bitmap.push(row);\n continue;\n }\n }\n\n row = new Uint8Array(row);\n bitmap.push(row);\n\n for (j = 0; j < width; j++) {\n if (useskip && skip[i][j]) {\n row[j] = 0;\n continue;\n }\n\n if (j >= sbb_left && j < sbb_right && i >= sbb_top) {\n contextLabel = contextLabel << 1 & reuseMask;\n\n for (k = 0; k < changingEntriesLength; k++) {\n i0 = i + changingTemplateY[k];\n j0 = j + changingTemplateX[k];\n bit = bitmap[i0][j0];\n\n if (bit) {\n bit = changingTemplateBit[k];\n contextLabel |= bit;\n }\n }\n } else {\n contextLabel = 0;\n shift = templateLength - 1;\n\n for (k = 0; k < templateLength; k++, shift--) {\n j0 = j + templateX[k];\n\n if (j0 >= 0 && j0 < width) {\n i0 = i + templateY[k];\n\n if (i0 >= 0) {\n bit = bitmap[i0][j0];\n\n if (bit) {\n contextLabel |= bit << shift;\n }\n }\n }\n }\n }\n\n var pixel = decoder.readBit(contexts, contextLabel);\n row[j] = pixel;\n }\n }\n\n return bitmap;\n }\n\n function decodeRefinement(width, height, templateIndex, referenceBitmap, offsetX, offsetY, prediction, at, decodingContext) {\n var codingTemplate = RefinementTemplates[templateIndex].coding;\n\n if (templateIndex === 0) {\n codingTemplate = codingTemplate.concat([at[0]]);\n }\n\n var codingTemplateLength = codingTemplate.length;\n var codingTemplateX = new Int32Array(codingTemplateLength);\n var codingTemplateY = new Int32Array(codingTemplateLength);\n var k;\n\n for (k = 0; k < codingTemplateLength; k++) {\n codingTemplateX[k] = codingTemplate[k].x;\n codingTemplateY[k] = codingTemplate[k].y;\n }\n\n var referenceTemplate = RefinementTemplates[templateIndex].reference;\n\n if (templateIndex === 0) {\n referenceTemplate = referenceTemplate.concat([at[1]]);\n }\n\n var referenceTemplateLength = referenceTemplate.length;\n var referenceTemplateX = new Int32Array(referenceTemplateLength);\n var referenceTemplateY = new Int32Array(referenceTemplateLength);\n\n for (k = 0; k < referenceTemplateLength; k++) {\n referenceTemplateX[k] = referenceTemplate[k].x;\n referenceTemplateY[k] = referenceTemplate[k].y;\n }\n\n var referenceWidth = referenceBitmap[0].length;\n var referenceHeight = referenceBitmap.length;\n var pseudoPixelContext = RefinementReusedContexts[templateIndex];\n var bitmap = [];\n var decoder = decodingContext.decoder;\n var contexts = decodingContext.contextCache.getContexts(\"GR\");\n var ltp = 0;\n\n for (var i = 0; i < height; i++) {\n if (prediction) {\n var sltp = decoder.readBit(contexts, pseudoPixelContext);\n ltp ^= sltp;\n\n if (ltp) {\n throw new Jbig2Error(\"prediction is not supported\");\n }\n }\n\n var row = new Uint8Array(width);\n bitmap.push(row);\n\n for (var j = 0; j < width; j++) {\n var i0, j0;\n var contextLabel = 0;\n\n for (k = 0; k < codingTemplateLength; k++) {\n i0 = i + codingTemplateY[k];\n j0 = j + codingTemplateX[k];\n\n if (i0 < 0 || j0 < 0 || j0 >= width) {\n contextLabel <<= 1;\n } else {\n contextLabel = contextLabel << 1 | bitmap[i0][j0];\n }\n }\n\n for (k = 0; k < referenceTemplateLength; k++) {\n i0 = i + referenceTemplateY[k] - offsetY;\n j0 = j + referenceTemplateX[k] - offsetX;\n\n if (i0 < 0 || i0 >= referenceHeight || j0 < 0 || j0 >= referenceWidth) {\n contextLabel <<= 1;\n } else {\n contextLabel = contextLabel << 1 | referenceBitmap[i0][j0];\n }\n }\n\n var pixel = decoder.readBit(contexts, contextLabel);\n row[j] = pixel;\n }\n }\n\n return bitmap;\n }\n\n function decodeSymbolDictionary(huffman, refinement, symbols, numberOfNewSymbols, numberOfExportedSymbols, huffmanTables, templateIndex, at, refinementTemplateIndex, refinementAt, decodingContext, huffmanInput) {\n if (huffman && refinement) {\n throw new Jbig2Error(\"symbol refinement with Huffman is not supported\");\n }\n\n var newSymbols = [];\n var currentHeight = 0;\n var symbolCodeLength = (0, _core_utils.log2)(symbols.length + numberOfNewSymbols);\n var decoder = decodingContext.decoder;\n var contextCache = decodingContext.contextCache;\n var tableB1, symbolWidths;\n\n if (huffman) {\n tableB1 = getStandardTable(1);\n symbolWidths = [];\n symbolCodeLength = Math.max(symbolCodeLength, 1);\n }\n\n while (newSymbols.length < numberOfNewSymbols) {\n var deltaHeight = huffman ? huffmanTables.tableDeltaHeight.decode(huffmanInput) : decodeInteger(contextCache, \"IADH\", decoder);\n currentHeight += deltaHeight;\n var currentWidth = 0,\n totalWidth = 0;\n var firstSymbol = huffman ? symbolWidths.length : 0;\n\n while (true) {\n var deltaWidth = huffman ? huffmanTables.tableDeltaWidth.decode(huffmanInput) : decodeInteger(contextCache, \"IADW\", decoder);\n\n if (deltaWidth === null) {\n break;\n }\n\n currentWidth += deltaWidth;\n totalWidth += currentWidth;\n var bitmap;\n\n if (refinement) {\n var numberOfInstances = decodeInteger(contextCache, \"IAAI\", decoder);\n\n if (numberOfInstances > 1) {\n bitmap = decodeTextRegion(huffman, refinement, currentWidth, currentHeight, 0, numberOfInstances, 1, symbols.concat(newSymbols), symbolCodeLength, 0, 0, 1, 0, huffmanTables, refinementTemplateIndex, refinementAt, decodingContext, 0, huffmanInput);\n } else {\n var symbolId = decodeIAID(contextCache, decoder, symbolCodeLength);\n var rdx = decodeInteger(contextCache, \"IARDX\", decoder);\n var rdy = decodeInteger(contextCache, \"IARDY\", decoder);\n var symbol = symbolId < symbols.length ? symbols[symbolId] : newSymbols[symbolId - symbols.length];\n bitmap = decodeRefinement(currentWidth, currentHeight, refinementTemplateIndex, symbol, rdx, rdy, false, refinementAt, decodingContext);\n }\n\n newSymbols.push(bitmap);\n } else if (huffman) {\n symbolWidths.push(currentWidth);\n } else {\n bitmap = decodeBitmap(false, currentWidth, currentHeight, templateIndex, false, null, at, decodingContext);\n newSymbols.push(bitmap);\n }\n }\n\n if (huffman && !refinement) {\n var bitmapSize = huffmanTables.tableBitmapSize.decode(huffmanInput);\n huffmanInput.byteAlign();\n var collectiveBitmap = void 0;\n\n if (bitmapSize === 0) {\n collectiveBitmap = readUncompressedBitmap(huffmanInput, totalWidth, currentHeight);\n } else {\n var originalEnd = huffmanInput.end;\n var bitmapEnd = huffmanInput.position + bitmapSize;\n huffmanInput.end = bitmapEnd;\n collectiveBitmap = decodeMMRBitmap(huffmanInput, totalWidth, currentHeight, false);\n huffmanInput.end = originalEnd;\n huffmanInput.position = bitmapEnd;\n }\n\n var numberOfSymbolsDecoded = symbolWidths.length;\n\n if (firstSymbol === numberOfSymbolsDecoded - 1) {\n newSymbols.push(collectiveBitmap);\n } else {\n var _i = void 0,\n y = void 0,\n xMin = 0,\n xMax = void 0,\n bitmapWidth = void 0,\n symbolBitmap = void 0;\n\n for (_i = firstSymbol; _i < numberOfSymbolsDecoded; _i++) {\n bitmapWidth = symbolWidths[_i];\n xMax = xMin + bitmapWidth;\n symbolBitmap = [];\n\n for (y = 0; y < currentHeight; y++) {\n symbolBitmap.push(collectiveBitmap[y].subarray(xMin, xMax));\n }\n\n newSymbols.push(symbolBitmap);\n xMin = xMax;\n }\n }\n }\n }\n\n var exportedSymbols = [];\n var flags = [],\n currentFlag = false;\n var totalSymbolsLength = symbols.length + numberOfNewSymbols;\n\n while (flags.length < totalSymbolsLength) {\n var runLength = huffman ? tableB1.decode(huffmanInput) : decodeInteger(contextCache, \"IAEX\", decoder);\n\n while (runLength--) {\n flags.push(currentFlag);\n }\n\n currentFlag = !currentFlag;\n }\n\n for (var i = 0, ii = symbols.length; i < ii; i++) {\n if (flags[i]) {\n exportedSymbols.push(symbols[i]);\n }\n }\n\n for (var j = 0; j < numberOfNewSymbols; i++, j++) {\n if (flags[i]) {\n exportedSymbols.push(newSymbols[j]);\n }\n }\n\n return exportedSymbols;\n }\n\n function decodeTextRegion(huffman, refinement, width, height, defaultPixelValue, numberOfSymbolInstances, stripSize, inputSymbols, symbolCodeLength, transposed, dsOffset, referenceCorner, combinationOperator, huffmanTables, refinementTemplateIndex, refinementAt, decodingContext, logStripSize, huffmanInput) {\n if (huffman && refinement) {\n throw new Jbig2Error(\"refinement with Huffman is not supported\");\n }\n\n var bitmap = [];\n var i, row;\n\n for (i = 0; i < height; i++) {\n row = new Uint8Array(width);\n\n if (defaultPixelValue) {\n for (var j = 0; j < width; j++) {\n row[j] = defaultPixelValue;\n }\n }\n\n bitmap.push(row);\n }\n\n var decoder = decodingContext.decoder;\n var contextCache = decodingContext.contextCache;\n var stripT = huffman ? -huffmanTables.tableDeltaT.decode(huffmanInput) : -decodeInteger(contextCache, \"IADT\", decoder);\n var firstS = 0;\n i = 0;\n\n while (i < numberOfSymbolInstances) {\n var deltaT = huffman ? huffmanTables.tableDeltaT.decode(huffmanInput) : decodeInteger(contextCache, \"IADT\", decoder);\n stripT += deltaT;\n var deltaFirstS = huffman ? huffmanTables.tableFirstS.decode(huffmanInput) : decodeInteger(contextCache, \"IAFS\", decoder);\n firstS += deltaFirstS;\n var currentS = firstS;\n\n do {\n var currentT = 0;\n\n if (stripSize > 1) {\n currentT = huffman ? huffmanInput.readBits(logStripSize) : decodeInteger(contextCache, \"IAIT\", decoder);\n }\n\n var t = stripSize * stripT + currentT;\n var symbolId = huffman ? huffmanTables.symbolIDTable.decode(huffmanInput) : decodeIAID(contextCache, decoder, symbolCodeLength);\n var applyRefinement = refinement && (huffman ? huffmanInput.readBit() : decodeInteger(contextCache, \"IARI\", decoder));\n var symbolBitmap = inputSymbols[symbolId];\n var symbolWidth = symbolBitmap[0].length;\n var symbolHeight = symbolBitmap.length;\n\n if (applyRefinement) {\n var rdw = decodeInteger(contextCache, \"IARDW\", decoder);\n var rdh = decodeInteger(contextCache, \"IARDH\", decoder);\n var rdx = decodeInteger(contextCache, \"IARDX\", decoder);\n var rdy = decodeInteger(contextCache, \"IARDY\", decoder);\n symbolWidth += rdw;\n symbolHeight += rdh;\n symbolBitmap = decodeRefinement(symbolWidth, symbolHeight, refinementTemplateIndex, symbolBitmap, (rdw >> 1) + rdx, (rdh >> 1) + rdy, false, refinementAt, decodingContext);\n }\n\n var offsetT = t - (referenceCorner & 1 ? 0 : symbolHeight - 1);\n var offsetS = currentS - (referenceCorner & 2 ? symbolWidth - 1 : 0);\n var s2, t2, symbolRow;\n\n if (transposed) {\n for (s2 = 0; s2 < symbolHeight; s2++) {\n row = bitmap[offsetS + s2];\n\n if (!row) {\n continue;\n }\n\n symbolRow = symbolBitmap[s2];\n var maxWidth = Math.min(width - offsetT, symbolWidth);\n\n switch (combinationOperator) {\n case 0:\n for (t2 = 0; t2 < maxWidth; t2++) {\n row[offsetT + t2] |= symbolRow[t2];\n }\n\n break;\n\n case 2:\n for (t2 = 0; t2 < maxWidth; t2++) {\n row[offsetT + t2] ^= symbolRow[t2];\n }\n\n break;\n\n default:\n throw new Jbig2Error(\"operator \".concat(combinationOperator, \" is not supported\"));\n }\n }\n\n currentS += symbolHeight - 1;\n } else {\n for (t2 = 0; t2 < symbolHeight; t2++) {\n row = bitmap[offsetT + t2];\n\n if (!row) {\n continue;\n }\n\n symbolRow = symbolBitmap[t2];\n\n switch (combinationOperator) {\n case 0:\n for (s2 = 0; s2 < symbolWidth; s2++) {\n row[offsetS + s2] |= symbolRow[s2];\n }\n\n break;\n\n case 2:\n for (s2 = 0; s2 < symbolWidth; s2++) {\n row[offsetS + s2] ^= symbolRow[s2];\n }\n\n break;\n\n default:\n throw new Jbig2Error(\"operator \".concat(combinationOperator, \" is not supported\"));\n }\n }\n\n currentS += symbolWidth - 1;\n }\n\n i++;\n var deltaS = huffman ? huffmanTables.tableDeltaS.decode(huffmanInput) : decodeInteger(contextCache, \"IADS\", decoder);\n\n if (deltaS === null) {\n break;\n }\n\n currentS += deltaS + dsOffset;\n } while (true);\n }\n\n return bitmap;\n }\n\n function decodePatternDictionary(mmr, patternWidth, patternHeight, maxPatternIndex, template, decodingContext) {\n var at = [];\n\n if (!mmr) {\n at.push({\n x: -patternWidth,\n y: 0\n });\n\n if (template === 0) {\n at.push({\n x: -3,\n y: -1\n });\n at.push({\n x: 2,\n y: -2\n });\n at.push({\n x: -2,\n y: -2\n });\n }\n }\n\n var collectiveWidth = (maxPatternIndex + 1) * patternWidth;\n var collectiveBitmap = decodeBitmap(mmr, collectiveWidth, patternHeight, template, false, null, at, decodingContext);\n var patterns = [];\n\n for (var i = 0; i <= maxPatternIndex; i++) {\n var patternBitmap = [];\n var xMin = patternWidth * i;\n var xMax = xMin + patternWidth;\n\n for (var y = 0; y < patternHeight; y++) {\n patternBitmap.push(collectiveBitmap[y].subarray(xMin, xMax));\n }\n\n patterns.push(patternBitmap);\n }\n\n return patterns;\n }\n\n function decodeHalftoneRegion(mmr, patterns, template, regionWidth, regionHeight, defaultPixelValue, enableSkip, combinationOperator, gridWidth, gridHeight, gridOffsetX, gridOffsetY, gridVectorX, gridVectorY, decodingContext) {\n var skip = null;\n\n if (enableSkip) {\n throw new Jbig2Error(\"skip is not supported\");\n }\n\n if (combinationOperator !== 0) {\n throw new Jbig2Error(\"operator \" + combinationOperator + \" is not supported in halftone region\");\n }\n\n var regionBitmap = [];\n var i, j, row;\n\n for (i = 0; i < regionHeight; i++) {\n row = new Uint8Array(regionWidth);\n\n if (defaultPixelValue) {\n for (j = 0; j < regionWidth; j++) {\n row[j] = defaultPixelValue;\n }\n }\n\n regionBitmap.push(row);\n }\n\n var numberOfPatterns = patterns.length;\n var pattern0 = patterns[0];\n var patternWidth = pattern0[0].length,\n patternHeight = pattern0.length;\n var bitsPerValue = (0, _core_utils.log2)(numberOfPatterns);\n var at = [];\n\n if (!mmr) {\n at.push({\n x: template <= 1 ? 3 : 2,\n y: -1\n });\n\n if (template === 0) {\n at.push({\n x: -3,\n y: -1\n });\n at.push({\n x: 2,\n y: -2\n });\n at.push({\n x: -2,\n y: -2\n });\n }\n }\n\n var grayScaleBitPlanes = [];\n var mmrInput, bitmap;\n\n if (mmr) {\n mmrInput = new Reader(decodingContext.data, decodingContext.start, decodingContext.end);\n }\n\n for (i = bitsPerValue - 1; i >= 0; i--) {\n if (mmr) {\n bitmap = decodeMMRBitmap(mmrInput, gridWidth, gridHeight, true);\n } else {\n bitmap = decodeBitmap(false, gridWidth, gridHeight, template, false, skip, at, decodingContext);\n }\n\n grayScaleBitPlanes[i] = bitmap;\n }\n\n var mg, ng, bit, patternIndex, patternBitmap, x, y, patternRow, regionRow;\n\n for (mg = 0; mg < gridHeight; mg++) {\n for (ng = 0; ng < gridWidth; ng++) {\n bit = 0;\n patternIndex = 0;\n\n for (j = bitsPerValue - 1; j >= 0; j--) {\n bit = grayScaleBitPlanes[j][mg][ng] ^ bit;\n patternIndex |= bit << j;\n }\n\n patternBitmap = patterns[patternIndex];\n x = gridOffsetX + mg * gridVectorY + ng * gridVectorX >> 8;\n y = gridOffsetY + mg * gridVectorX - ng * gridVectorY >> 8;\n\n if (x >= 0 && x + patternWidth <= regionWidth && y >= 0 && y + patternHeight <= regionHeight) {\n for (i = 0; i < patternHeight; i++) {\n regionRow = regionBitmap[y + i];\n patternRow = patternBitmap[i];\n\n for (j = 0; j < patternWidth; j++) {\n regionRow[x + j] |= patternRow[j];\n }\n }\n } else {\n var regionX = void 0,\n regionY = void 0;\n\n for (i = 0; i < patternHeight; i++) {\n regionY = y + i;\n\n if (regionY < 0 || regionY >= regionHeight) {\n continue;\n }\n\n regionRow = regionBitmap[regionY];\n patternRow = patternBitmap[i];\n\n for (j = 0; j < patternWidth; j++) {\n regionX = x + j;\n\n if (regionX >= 0 && regionX < regionWidth) {\n regionRow[regionX] |= patternRow[j];\n }\n }\n }\n }\n }\n }\n\n return regionBitmap;\n }\n\n function readSegmentHeader(data, start) {\n var segmentHeader = {};\n segmentHeader.number = (0, _core_utils.readUint32)(data, start);\n var flags = data[start + 4];\n var segmentType = flags & 0x3f;\n\n if (!SegmentTypes[segmentType]) {\n throw new Jbig2Error(\"invalid segment type: \" + segmentType);\n }\n\n segmentHeader.type = segmentType;\n segmentHeader.typeName = SegmentTypes[segmentType];\n segmentHeader.deferredNonRetain = !!(flags & 0x80);\n var pageAssociationFieldSize = !!(flags & 0x40);\n var referredFlags = data[start + 5];\n var referredToCount = referredFlags >> 5 & 7;\n var retainBits = [referredFlags & 31];\n var position = start + 6;\n\n if (referredFlags === 7) {\n referredToCount = (0, _core_utils.readUint32)(data, position - 1) & 0x1fffffff;\n position += 3;\n var bytes = referredToCount + 7 >> 3;\n retainBits[0] = data[position++];\n\n while (--bytes > 0) {\n retainBits.push(data[position++]);\n }\n } else if (referredFlags === 5 || referredFlags === 6) {\n throw new Jbig2Error(\"invalid referred-to flags\");\n }\n\n segmentHeader.retainBits = retainBits;\n var referredToSegmentNumberSize = 4;\n\n if (segmentHeader.number <= 256) {\n referredToSegmentNumberSize = 1;\n } else if (segmentHeader.number <= 65536) {\n referredToSegmentNumberSize = 2;\n }\n\n var referredTo = [];\n var i, ii;\n\n for (i = 0; i < referredToCount; i++) {\n var number = void 0;\n\n if (referredToSegmentNumberSize === 1) {\n number = data[position];\n } else if (referredToSegmentNumberSize === 2) {\n number = (0, _core_utils.readUint16)(data, position);\n } else {\n number = (0, _core_utils.readUint32)(data, position);\n }\n\n referredTo.push(number);\n position += referredToSegmentNumberSize;\n }\n\n segmentHeader.referredTo = referredTo;\n\n if (!pageAssociationFieldSize) {\n segmentHeader.pageAssociation = data[position++];\n } else {\n segmentHeader.pageAssociation = (0, _core_utils.readUint32)(data, position);\n position += 4;\n }\n\n segmentHeader.length = (0, _core_utils.readUint32)(data, position);\n position += 4;\n\n if (segmentHeader.length === 0xffffffff) {\n if (segmentType === 38) {\n var genericRegionInfo = readRegionSegmentInformation(data, position);\n var genericRegionSegmentFlags = data[position + RegionSegmentInformationFieldLength];\n var genericRegionMmr = !!(genericRegionSegmentFlags & 1);\n var searchPatternLength = 6;\n var searchPattern = new Uint8Array(searchPatternLength);\n\n if (!genericRegionMmr) {\n searchPattern[0] = 0xff;\n searchPattern[1] = 0xac;\n }\n\n searchPattern[2] = genericRegionInfo.height >>> 24 & 0xff;\n searchPattern[3] = genericRegionInfo.height >> 16 & 0xff;\n searchPattern[4] = genericRegionInfo.height >> 8 & 0xff;\n searchPattern[5] = genericRegionInfo.height & 0xff;\n\n for (i = position, ii = data.length; i < ii; i++) {\n var j = 0;\n\n while (j < searchPatternLength && searchPattern[j] === data[i + j]) {\n j++;\n }\n\n if (j === searchPatternLength) {\n segmentHeader.length = i + searchPatternLength;\n break;\n }\n }\n\n if (segmentHeader.length === 0xffffffff) {\n throw new Jbig2Error(\"segment end was not found\");\n }\n } else {\n throw new Jbig2Error(\"invalid unknown segment length\");\n }\n }\n\n segmentHeader.headerEnd = position;\n return segmentHeader;\n }\n\n function readSegments(header, data, start, end) {\n var segments = [];\n var position = start;\n\n while (position < end) {\n var segmentHeader = readSegmentHeader(data, position);\n position = segmentHeader.headerEnd;\n var segment = {\n header: segmentHeader,\n data: data\n };\n\n if (!header.randomAccess) {\n segment.start = position;\n position += segmentHeader.length;\n segment.end = position;\n }\n\n segments.push(segment);\n\n if (segmentHeader.type === 51) {\n break;\n }\n }\n\n if (header.randomAccess) {\n for (var i = 0, ii = segments.length; i < ii; i++) {\n segments[i].start = position;\n position += segments[i].header.length;\n segments[i].end = position;\n }\n }\n\n return segments;\n }\n\n function readRegionSegmentInformation(data, start) {\n return {\n width: (0, _core_utils.readUint32)(data, start),\n height: (0, _core_utils.readUint32)(data, start + 4),\n x: (0, _core_utils.readUint32)(data, start + 8),\n y: (0, _core_utils.readUint32)(data, start + 12),\n combinationOperator: data[start + 16] & 7\n };\n }\n\n var RegionSegmentInformationFieldLength = 17;\n\n function processSegment(segment, visitor) {\n var header = segment.header;\n var data = segment.data,\n position = segment.start,\n end = segment.end;\n var args, at, i, atLength;\n\n switch (header.type) {\n case 0:\n var dictionary = {};\n var dictionaryFlags = (0, _core_utils.readUint16)(data, position);\n dictionary.huffman = !!(dictionaryFlags & 1);\n dictionary.refinement = !!(dictionaryFlags & 2);\n dictionary.huffmanDHSelector = dictionaryFlags >> 2 & 3;\n dictionary.huffmanDWSelector = dictionaryFlags >> 4 & 3;\n dictionary.bitmapSizeSelector = dictionaryFlags >> 6 & 1;\n dictionary.aggregationInstancesSelector = dictionaryFlags >> 7 & 1;\n dictionary.bitmapCodingContextUsed = !!(dictionaryFlags & 256);\n dictionary.bitmapCodingContextRetained = !!(dictionaryFlags & 512);\n dictionary.template = dictionaryFlags >> 10 & 3;\n dictionary.refinementTemplate = dictionaryFlags >> 12 & 1;\n position += 2;\n\n if (!dictionary.huffman) {\n atLength = dictionary.template === 0 ? 4 : 1;\n at = [];\n\n for (i = 0; i < atLength; i++) {\n at.push({\n x: (0, _core_utils.readInt8)(data, position),\n y: (0, _core_utils.readInt8)(data, position + 1)\n });\n position += 2;\n }\n\n dictionary.at = at;\n }\n\n if (dictionary.refinement && !dictionary.refinementTemplate) {\n at = [];\n\n for (i = 0; i < 2; i++) {\n at.push({\n x: (0, _core_utils.readInt8)(data, position),\n y: (0, _core_utils.readInt8)(data, position + 1)\n });\n position += 2;\n }\n\n dictionary.refinementAt = at;\n }\n\n dictionary.numberOfExportedSymbols = (0, _core_utils.readUint32)(data, position);\n position += 4;\n dictionary.numberOfNewSymbols = (0, _core_utils.readUint32)(data, position);\n position += 4;\n args = [dictionary, header.number, header.referredTo, data, position, end];\n break;\n\n case 6:\n case 7:\n var textRegion = {};\n textRegion.info = readRegionSegmentInformation(data, position);\n position += RegionSegmentInformationFieldLength;\n var textRegionSegmentFlags = (0, _core_utils.readUint16)(data, position);\n position += 2;\n textRegion.huffman = !!(textRegionSegmentFlags & 1);\n textRegion.refinement = !!(textRegionSegmentFlags & 2);\n textRegion.logStripSize = textRegionSegmentFlags >> 2 & 3;\n textRegion.stripSize = 1 << textRegion.logStripSize;\n textRegion.referenceCorner = textRegionSegmentFlags >> 4 & 3;\n textRegion.transposed = !!(textRegionSegmentFlags & 64);\n textRegion.combinationOperator = textRegionSegmentFlags >> 7 & 3;\n textRegion.defaultPixelValue = textRegionSegmentFlags >> 9 & 1;\n textRegion.dsOffset = textRegionSegmentFlags << 17 >> 27;\n textRegion.refinementTemplate = textRegionSegmentFlags >> 15 & 1;\n\n if (textRegion.huffman) {\n var textRegionHuffmanFlags = (0, _core_utils.readUint16)(data, position);\n position += 2;\n textRegion.huffmanFS = textRegionHuffmanFlags & 3;\n textRegion.huffmanDS = textRegionHuffmanFlags >> 2 & 3;\n textRegion.huffmanDT = textRegionHuffmanFlags >> 4 & 3;\n textRegion.huffmanRefinementDW = textRegionHuffmanFlags >> 6 & 3;\n textRegion.huffmanRefinementDH = textRegionHuffmanFlags >> 8 & 3;\n textRegion.huffmanRefinementDX = textRegionHuffmanFlags >> 10 & 3;\n textRegion.huffmanRefinementDY = textRegionHuffmanFlags >> 12 & 3;\n textRegion.huffmanRefinementSizeSelector = !!(textRegionHuffmanFlags & 0x4000);\n }\n\n if (textRegion.refinement && !textRegion.refinementTemplate) {\n at = [];\n\n for (i = 0; i < 2; i++) {\n at.push({\n x: (0, _core_utils.readInt8)(data, position),\n y: (0, _core_utils.readInt8)(data, position + 1)\n });\n position += 2;\n }\n\n textRegion.refinementAt = at;\n }\n\n textRegion.numberOfSymbolInstances = (0, _core_utils.readUint32)(data, position);\n position += 4;\n args = [textRegion, header.referredTo, data, position, end];\n break;\n\n case 16:\n var patternDictionary = {};\n var patternDictionaryFlags = data[position++];\n patternDictionary.mmr = !!(patternDictionaryFlags & 1);\n patternDictionary.template = patternDictionaryFlags >> 1 & 3;\n patternDictionary.patternWidth = data[position++];\n patternDictionary.patternHeight = data[position++];\n patternDictionary.maxPatternIndex = (0, _core_utils.readUint32)(data, position);\n position += 4;\n args = [patternDictionary, header.number, data, position, end];\n break;\n\n case 22:\n case 23:\n var halftoneRegion = {};\n halftoneRegion.info = readRegionSegmentInformation(data, position);\n position += RegionSegmentInformationFieldLength;\n var halftoneRegionFlags = data[position++];\n halftoneRegion.mmr = !!(halftoneRegionFlags & 1);\n halftoneRegion.template = halftoneRegionFlags >> 1 & 3;\n halftoneRegion.enableSkip = !!(halftoneRegionFlags & 8);\n halftoneRegion.combinationOperator = halftoneRegionFlags >> 4 & 7;\n halftoneRegion.defaultPixelValue = halftoneRegionFlags >> 7 & 1;\n halftoneRegion.gridWidth = (0, _core_utils.readUint32)(data, position);\n position += 4;\n halftoneRegion.gridHeight = (0, _core_utils.readUint32)(data, position);\n position += 4;\n halftoneRegion.gridOffsetX = (0, _core_utils.readUint32)(data, position) & 0xffffffff;\n position += 4;\n halftoneRegion.gridOffsetY = (0, _core_utils.readUint32)(data, position) & 0xffffffff;\n position += 4;\n halftoneRegion.gridVectorX = (0, _core_utils.readUint16)(data, position);\n position += 2;\n halftoneRegion.gridVectorY = (0, _core_utils.readUint16)(data, position);\n position += 2;\n args = [halftoneRegion, header.referredTo, data, position, end];\n break;\n\n case 38:\n case 39:\n var genericRegion = {};\n genericRegion.info = readRegionSegmentInformation(data, position);\n position += RegionSegmentInformationFieldLength;\n var genericRegionSegmentFlags = data[position++];\n genericRegion.mmr = !!(genericRegionSegmentFlags & 1);\n genericRegion.template = genericRegionSegmentFlags >> 1 & 3;\n genericRegion.prediction = !!(genericRegionSegmentFlags & 8);\n\n if (!genericRegion.mmr) {\n atLength = genericRegion.template === 0 ? 4 : 1;\n at = [];\n\n for (i = 0; i < atLength; i++) {\n at.push({\n x: (0, _core_utils.readInt8)(data, position),\n y: (0, _core_utils.readInt8)(data, position + 1)\n });\n position += 2;\n }\n\n genericRegion.at = at;\n }\n\n args = [genericRegion, data, position, end];\n break;\n\n case 48:\n var pageInfo = {\n width: (0, _core_utils.readUint32)(data, position),\n height: (0, _core_utils.readUint32)(data, position + 4),\n resolutionX: (0, _core_utils.readUint32)(data, position + 8),\n resolutionY: (0, _core_utils.readUint32)(data, position + 12)\n };\n\n if (pageInfo.height === 0xffffffff) {\n delete pageInfo.height;\n }\n\n var pageSegmentFlags = data[position + 16];\n (0, _core_utils.readUint16)(data, position + 17);\n pageInfo.lossless = !!(pageSegmentFlags & 1);\n pageInfo.refinement = !!(pageSegmentFlags & 2);\n pageInfo.defaultPixelValue = pageSegmentFlags >> 2 & 1;\n pageInfo.combinationOperator = pageSegmentFlags >> 3 & 3;\n pageInfo.requiresBuffer = !!(pageSegmentFlags & 32);\n pageInfo.combinationOperatorOverride = !!(pageSegmentFlags & 64);\n args = [pageInfo];\n break;\n\n case 49:\n break;\n\n case 50:\n break;\n\n case 51:\n break;\n\n case 53:\n args = [header.number, data, position, end];\n break;\n\n case 62:\n break;\n\n default:\n throw new Jbig2Error(\"segment type \".concat(header.typeName, \"(\").concat(header.type, \")\") + \" is not implemented\");\n }\n\n var callbackName = \"on\" + header.typeName;\n\n if (callbackName in visitor) {\n visitor[callbackName].apply(visitor, args);\n }\n }\n\n function processSegments(segments, visitor) {\n for (var i = 0, ii = segments.length; i < ii; i++) {\n processSegment(segments[i], visitor);\n }\n }\n\n function parseJbig2Chunks(chunks) {\n var visitor = new SimpleSegmentVisitor();\n\n for (var i = 0, ii = chunks.length; i < ii; i++) {\n var chunk = chunks[i];\n var segments = readSegments({}, chunk.data, chunk.start, chunk.end);\n processSegments(segments, visitor);\n }\n\n return visitor.buffer;\n }\n\n function parseJbig2(data) {\n var end = data.length;\n var position = 0;\n\n if (data[position] !== 0x97 || data[position + 1] !== 0x4a || data[position + 2] !== 0x42 || data[position + 3] !== 0x32 || data[position + 4] !== 0x0d || data[position + 5] !== 0x0a || data[position + 6] !== 0x1a || data[position + 7] !== 0x0a) {\n throw new Jbig2Error(\"parseJbig2 - invalid header.\");\n }\n\n var header = Object.create(null);\n position += 8;\n var flags = data[position++];\n header.randomAccess = !(flags & 1);\n\n if (!(flags & 2)) {\n header.numberOfPages = (0, _core_utils.readUint32)(data, position);\n position += 4;\n }\n\n var segments = readSegments(header, data, position, end);\n var visitor = new SimpleSegmentVisitor();\n processSegments(segments, visitor);\n var _visitor$currentPageI = visitor.currentPageInfo,\n width = _visitor$currentPageI.width,\n height = _visitor$currentPageI.height;\n var bitPacked = visitor.buffer;\n var imgData = new Uint8ClampedArray(width * height);\n var q = 0,\n k = 0;\n\n for (var i = 0; i < height; i++) {\n var mask = 0,\n buffer = void 0;\n\n for (var j = 0; j < width; j++) {\n if (!mask) {\n mask = 128;\n buffer = bitPacked[k++];\n }\n\n imgData[q++] = buffer & mask ? 0 : 255;\n mask >>= 1;\n }\n }\n\n return {\n imgData: imgData,\n width: width,\n height: height\n };\n }\n\n function SimpleSegmentVisitor() {}\n\n SimpleSegmentVisitor.prototype = {\n onPageInformation: function SimpleSegmentVisitor_onPageInformation(info) {\n this.currentPageInfo = info;\n var rowSize = info.width + 7 >> 3;\n var buffer = new Uint8ClampedArray(rowSize * info.height);\n\n if (info.defaultPixelValue) {\n for (var i = 0, ii = buffer.length; i < ii; i++) {\n buffer[i] = 0xff;\n }\n }\n\n this.buffer = buffer;\n },\n drawBitmap: function SimpleSegmentVisitor_drawBitmap(regionInfo, bitmap) {\n var pageInfo = this.currentPageInfo;\n var width = regionInfo.width,\n height = regionInfo.height;\n var rowSize = pageInfo.width + 7 >> 3;\n var combinationOperator = pageInfo.combinationOperatorOverride ? regionInfo.combinationOperator : pageInfo.combinationOperator;\n var buffer = this.buffer;\n var mask0 = 128 >> (regionInfo.x & 7);\n var offset0 = regionInfo.y * rowSize + (regionInfo.x >> 3);\n var i, j, mask, offset;\n\n switch (combinationOperator) {\n case 0:\n for (i = 0; i < height; i++) {\n mask = mask0;\n offset = offset0;\n\n for (j = 0; j < width; j++) {\n if (bitmap[i][j]) {\n buffer[offset] |= mask;\n }\n\n mask >>= 1;\n\n if (!mask) {\n mask = 128;\n offset++;\n }\n }\n\n offset0 += rowSize;\n }\n\n break;\n\n case 2:\n for (i = 0; i < height; i++) {\n mask = mask0;\n offset = offset0;\n\n for (j = 0; j < width; j++) {\n if (bitmap[i][j]) {\n buffer[offset] ^= mask;\n }\n\n mask >>= 1;\n\n if (!mask) {\n mask = 128;\n offset++;\n }\n }\n\n offset0 += rowSize;\n }\n\n break;\n\n default:\n throw new Jbig2Error(\"operator \".concat(combinationOperator, \" is not supported\"));\n }\n },\n onImmediateGenericRegion: function SimpleSegmentVisitor_onImmediateGenericRegion(region, data, start, end) {\n var regionInfo = region.info;\n var decodingContext = new DecodingContext(data, start, end);\n var bitmap = decodeBitmap(region.mmr, regionInfo.width, regionInfo.height, region.template, region.prediction, null, region.at, decodingContext);\n this.drawBitmap(regionInfo, bitmap);\n },\n onImmediateLosslessGenericRegion: function SimpleSegmentVisitor_onImmediateLosslessGenericRegion() {\n this.onImmediateGenericRegion.apply(this, arguments);\n },\n onSymbolDictionary: function SimpleSegmentVisitor_onSymbolDictionary(dictionary, currentSegment, referredSegments, data, start, end) {\n var huffmanTables, huffmanInput;\n\n if (dictionary.huffman) {\n huffmanTables = getSymbolDictionaryHuffmanTables(dictionary, referredSegments, this.customTables);\n huffmanInput = new Reader(data, start, end);\n }\n\n var symbols = this.symbols;\n\n if (!symbols) {\n this.symbols = symbols = {};\n }\n\n var inputSymbols = [];\n\n for (var i = 0, ii = referredSegments.length; i < ii; i++) {\n var referredSymbols = symbols[referredSegments[i]];\n\n if (referredSymbols) {\n inputSymbols = inputSymbols.concat(referredSymbols);\n }\n }\n\n var decodingContext = new DecodingContext(data, start, end);\n symbols[currentSegment] = decodeSymbolDictionary(dictionary.huffman, dictionary.refinement, inputSymbols, dictionary.numberOfNewSymbols, dictionary.numberOfExportedSymbols, huffmanTables, dictionary.template, dictionary.at, dictionary.refinementTemplate, dictionary.refinementAt, decodingContext, huffmanInput);\n },\n onImmediateTextRegion: function SimpleSegmentVisitor_onImmediateTextRegion(region, referredSegments, data, start, end) {\n var regionInfo = region.info;\n var huffmanTables, huffmanInput;\n var symbols = this.symbols;\n var inputSymbols = [];\n\n for (var i = 0, ii = referredSegments.length; i < ii; i++) {\n var referredSymbols = symbols[referredSegments[i]];\n\n if (referredSymbols) {\n inputSymbols = inputSymbols.concat(referredSymbols);\n }\n }\n\n var symbolCodeLength = (0, _core_utils.log2)(inputSymbols.length);\n\n if (region.huffman) {\n huffmanInput = new Reader(data, start, end);\n huffmanTables = getTextRegionHuffmanTables(region, referredSegments, this.customTables, inputSymbols.length, huffmanInput);\n }\n\n var decodingContext = new DecodingContext(data, start, end);\n var bitmap = decodeTextRegion(region.huffman, region.refinement, regionInfo.width, regionInfo.height, region.defaultPixelValue, region.numberOfSymbolInstances, region.stripSize, inputSymbols, symbolCodeLength, region.transposed, region.dsOffset, region.referenceCorner, region.combinationOperator, huffmanTables, region.refinementTemplate, region.refinementAt, decodingContext, region.logStripSize, huffmanInput);\n this.drawBitmap(regionInfo, bitmap);\n },\n onImmediateLosslessTextRegion: function SimpleSegmentVisitor_onImmediateLosslessTextRegion() {\n this.onImmediateTextRegion.apply(this, arguments);\n },\n onPatternDictionary: function onPatternDictionary(dictionary, currentSegment, data, start, end) {\n var patterns = this.patterns;\n\n if (!patterns) {\n this.patterns = patterns = {};\n }\n\n var decodingContext = new DecodingContext(data, start, end);\n patterns[currentSegment] = decodePatternDictionary(dictionary.mmr, dictionary.patternWidth, dictionary.patternHeight, dictionary.maxPatternIndex, dictionary.template, decodingContext);\n },\n onImmediateHalftoneRegion: function onImmediateHalftoneRegion(region, referredSegments, data, start, end) {\n var patterns = this.patterns[referredSegments[0]];\n var regionInfo = region.info;\n var decodingContext = new DecodingContext(data, start, end);\n var bitmap = decodeHalftoneRegion(region.mmr, patterns, region.template, regionInfo.width, regionInfo.height, region.defaultPixelValue, region.enableSkip, region.combinationOperator, region.gridWidth, region.gridHeight, region.gridOffsetX, region.gridOffsetY, region.gridVectorX, region.gridVectorY, decodingContext);\n this.drawBitmap(regionInfo, bitmap);\n },\n onImmediateLosslessHalftoneRegion: function onImmediateLosslessHalftoneRegion() {\n this.onImmediateHalftoneRegion.apply(this, arguments);\n },\n onTables: function onTables(currentSegment, data, start, end) {\n var customTables = this.customTables;\n\n if (!customTables) {\n this.customTables = customTables = {};\n }\n\n customTables[currentSegment] = decodeTablesSegment(data, start, end);\n }\n };\n\n function HuffmanLine(lineData) {\n if (lineData.length === 2) {\n this.isOOB = true;\n this.rangeLow = 0;\n this.prefixLength = lineData[0];\n this.rangeLength = 0;\n this.prefixCode = lineData[1];\n this.isLowerRange = false;\n } else {\n this.isOOB = false;\n this.rangeLow = lineData[0];\n this.prefixLength = lineData[1];\n this.rangeLength = lineData[2];\n this.prefixCode = lineData[3];\n this.isLowerRange = lineData[4] === \"lower\";\n }\n }\n\n function HuffmanTreeNode(line) {\n this.children = [];\n\n if (line) {\n this.isLeaf = true;\n this.rangeLength = line.rangeLength;\n this.rangeLow = line.rangeLow;\n this.isLowerRange = line.isLowerRange;\n this.isOOB = line.isOOB;\n } else {\n this.isLeaf = false;\n }\n }\n\n HuffmanTreeNode.prototype = {\n buildTree: function buildTree(line, shift) {\n var bit = line.prefixCode >> shift & 1;\n\n if (shift <= 0) {\n this.children[bit] = new HuffmanTreeNode(line);\n } else {\n var node = this.children[bit];\n\n if (!node) {\n this.children[bit] = node = new HuffmanTreeNode(null);\n }\n\n node.buildTree(line, shift - 1);\n }\n },\n decodeNode: function decodeNode(reader) {\n if (this.isLeaf) {\n if (this.isOOB) {\n return null;\n }\n\n var htOffset = reader.readBits(this.rangeLength);\n return this.rangeLow + (this.isLowerRange ? -htOffset : htOffset);\n }\n\n var node = this.children[reader.readBit()];\n\n if (!node) {\n throw new Jbig2Error(\"invalid Huffman data\");\n }\n\n return node.decodeNode(reader);\n }\n };\n\n function HuffmanTable(lines, prefixCodesDone) {\n if (!prefixCodesDone) {\n this.assignPrefixCodes(lines);\n }\n\n this.rootNode = new HuffmanTreeNode(null);\n\n for (var i = 0, ii = lines.length; i < ii; i++) {\n var line = lines[i];\n\n if (line.prefixLength > 0) {\n this.rootNode.buildTree(line, line.prefixLength - 1);\n }\n }\n }\n\n HuffmanTable.prototype = {\n decode: function decode(reader) {\n return this.rootNode.decodeNode(reader);\n },\n assignPrefixCodes: function assignPrefixCodes(lines) {\n var linesLength = lines.length;\n var prefixLengthMax = 0;\n\n for (var i = 0; i < linesLength; i++) {\n prefixLengthMax = Math.max(prefixLengthMax, lines[i].prefixLength);\n }\n\n var histogram = new Uint32Array(prefixLengthMax + 1);\n\n for (var _i2 = 0; _i2 < linesLength; _i2++) {\n histogram[lines[_i2].prefixLength]++;\n }\n\n var currentLength = 1,\n firstCode = 0,\n currentCode,\n currentTemp,\n line;\n histogram[0] = 0;\n\n while (currentLength <= prefixLengthMax) {\n firstCode = firstCode + histogram[currentLength - 1] << 1;\n currentCode = firstCode;\n currentTemp = 0;\n\n while (currentTemp < linesLength) {\n line = lines[currentTemp];\n\n if (line.prefixLength === currentLength) {\n line.prefixCode = currentCode;\n currentCode++;\n }\n\n currentTemp++;\n }\n\n currentLength++;\n }\n }\n };\n\n function decodeTablesSegment(data, start, end) {\n var flags = data[start];\n var lowestValue = (0, _core_utils.readUint32)(data, start + 1) & 0xffffffff;\n var highestValue = (0, _core_utils.readUint32)(data, start + 5) & 0xffffffff;\n var reader = new Reader(data, start + 9, end);\n var prefixSizeBits = (flags >> 1 & 7) + 1;\n var rangeSizeBits = (flags >> 4 & 7) + 1;\n var lines = [];\n var prefixLength,\n rangeLength,\n currentRangeLow = lowestValue;\n\n do {\n prefixLength = reader.readBits(prefixSizeBits);\n rangeLength = reader.readBits(rangeSizeBits);\n lines.push(new HuffmanLine([currentRangeLow, prefixLength, rangeLength, 0]));\n currentRangeLow += 1 << rangeLength;\n } while (currentRangeLow < highestValue);\n\n prefixLength = reader.readBits(prefixSizeBits);\n lines.push(new HuffmanLine([lowestValue - 1, prefixLength, 32, 0, \"lower\"]));\n prefixLength = reader.readBits(prefixSizeBits);\n lines.push(new HuffmanLine([highestValue, prefixLength, 32, 0]));\n\n if (flags & 1) {\n prefixLength = reader.readBits(prefixSizeBits);\n lines.push(new HuffmanLine([prefixLength, 0]));\n }\n\n return new HuffmanTable(lines, false);\n }\n\n var standardTablesCache = {};\n\n function getStandardTable(number) {\n var table = standardTablesCache[number];\n\n if (table) {\n return table;\n }\n\n var lines;\n\n switch (number) {\n case 1:\n lines = [[0, 1, 4, 0x0], [16, 2, 8, 0x2], [272, 3, 16, 0x6], [65808, 3, 32, 0x7]];\n break;\n\n case 2:\n lines = [[0, 1, 0, 0x0], [1, 2, 0, 0x2], [2, 3, 0, 0x6], [3, 4, 3, 0xe], [11, 5, 6, 0x1e], [75, 6, 32, 0x3e], [6, 0x3f]];\n break;\n\n case 3:\n lines = [[-256, 8, 8, 0xfe], [0, 1, 0, 0x0], [1, 2, 0, 0x2], [2, 3, 0, 0x6], [3, 4, 3, 0xe], [11, 5, 6, 0x1e], [-257, 8, 32, 0xff, \"lower\"], [75, 7, 32, 0x7e], [6, 0x3e]];\n break;\n\n case 4:\n lines = [[1, 1, 0, 0x0], [2, 2, 0, 0x2], [3, 3, 0, 0x6], [4, 4, 3, 0xe], [12, 5, 6, 0x1e], [76, 5, 32, 0x1f]];\n break;\n\n case 5:\n lines = [[-255, 7, 8, 0x7e], [1, 1, 0, 0x0], [2, 2, 0, 0x2], [3, 3, 0, 0x6], [4, 4, 3, 0xe], [12, 5, 6, 0x1e], [-256, 7, 32, 0x7f, \"lower\"], [76, 6, 32, 0x3e]];\n break;\n\n case 6:\n lines = [[-2048, 5, 10, 0x1c], [-1024, 4, 9, 0x8], [-512, 4, 8, 0x9], [-256, 4, 7, 0xa], [-128, 5, 6, 0x1d], [-64, 5, 5, 0x1e], [-32, 4, 5, 0xb], [0, 2, 7, 0x0], [128, 3, 7, 0x2], [256, 3, 8, 0x3], [512, 4, 9, 0xc], [1024, 4, 10, 0xd], [-2049, 6, 32, 0x3e, \"lower\"], [2048, 6, 32, 0x3f]];\n break;\n\n case 7:\n lines = [[-1024, 4, 9, 0x8], [-512, 3, 8, 0x0], [-256, 4, 7, 0x9], [-128, 5, 6, 0x1a], [-64, 5, 5, 0x1b], [-32, 4, 5, 0xa], [0, 4, 5, 0xb], [32, 5, 5, 0x1c], [64, 5, 6, 0x1d], [128, 4, 7, 0xc], [256, 3, 8, 0x1], [512, 3, 9, 0x2], [1024, 3, 10, 0x3], [-1025, 5, 32, 0x1e, \"lower\"], [2048, 5, 32, 0x1f]];\n break;\n\n case 8:\n lines = [[-15, 8, 3, 0xfc], [-7, 9, 1, 0x1fc], [-5, 8, 1, 0xfd], [-3, 9, 0, 0x1fd], [-2, 7, 0, 0x7c], [-1, 4, 0, 0xa], [0, 2, 1, 0x0], [2, 5, 0, 0x1a], [3, 6, 0, 0x3a], [4, 3, 4, 0x4], [20, 6, 1, 0x3b], [22, 4, 4, 0xb], [38, 4, 5, 0xc], [70, 5, 6, 0x1b], [134, 5, 7, 0x1c], [262, 6, 7, 0x3c], [390, 7, 8, 0x7d], [646, 6, 10, 0x3d], [-16, 9, 32, 0x1fe, \"lower\"], [1670, 9, 32, 0x1ff], [2, 0x1]];\n break;\n\n case 9:\n lines = [[-31, 8, 4, 0xfc], [-15, 9, 2, 0x1fc], [-11, 8, 2, 0xfd], [-7, 9, 1, 0x1fd], [-5, 7, 1, 0x7c], [-3, 4, 1, 0xa], [-1, 3, 1, 0x2], [1, 3, 1, 0x3], [3, 5, 1, 0x1a], [5, 6, 1, 0x3a], [7, 3, 5, 0x4], [39, 6, 2, 0x3b], [43, 4, 5, 0xb], [75, 4, 6, 0xc], [139, 5, 7, 0x1b], [267, 5, 8, 0x1c], [523, 6, 8, 0x3c], [779, 7, 9, 0x7d], [1291, 6, 11, 0x3d], [-32, 9, 32, 0x1fe, \"lower\"], [3339, 9, 32, 0x1ff], [2, 0x0]];\n break;\n\n case 10:\n lines = [[-21, 7, 4, 0x7a], [-5, 8, 0, 0xfc], [-4, 7, 0, 0x7b], [-3, 5, 0, 0x18], [-2, 2, 2, 0x0], [2, 5, 0, 0x19], [3, 6, 0, 0x36], [4, 7, 0, 0x7c], [5, 8, 0, 0xfd], [6, 2, 6, 0x1], [70, 5, 5, 0x1a], [102, 6, 5, 0x37], [134, 6, 6, 0x38], [198, 6, 7, 0x39], [326, 6, 8, 0x3a], [582, 6, 9, 0x3b], [1094, 6, 10, 0x3c], [2118, 7, 11, 0x7d], [-22, 8, 32, 0xfe, \"lower\"], [4166, 8, 32, 0xff], [2, 0x2]];\n break;\n\n case 11:\n lines = [[1, 1, 0, 0x0], [2, 2, 1, 0x2], [4, 4, 0, 0xc], [5, 4, 1, 0xd], [7, 5, 1, 0x1c], [9, 5, 2, 0x1d], [13, 6, 2, 0x3c], [17, 7, 2, 0x7a], [21, 7, 3, 0x7b], [29, 7, 4, 0x7c], [45, 7, 5, 0x7d], [77, 7, 6, 0x7e], [141, 7, 32, 0x7f]];\n break;\n\n case 12:\n lines = [[1, 1, 0, 0x0], [2, 2, 0, 0x2], [3, 3, 1, 0x6], [5, 5, 0, 0x1c], [6, 5, 1, 0x1d], [8, 6, 1, 0x3c], [10, 7, 0, 0x7a], [11, 7, 1, 0x7b], [13, 7, 2, 0x7c], [17, 7, 3, 0x7d], [25, 7, 4, 0x7e], [41, 8, 5, 0xfe], [73, 8, 32, 0xff]];\n break;\n\n case 13:\n lines = [[1, 1, 0, 0x0], [2, 3, 0, 0x4], [3, 4, 0, 0xc], [4, 5, 0, 0x1c], [5, 4, 1, 0xd], [7, 3, 3, 0x5], [15, 6, 1, 0x3a], [17, 6, 2, 0x3b], [21, 6, 3, 0x3c], [29, 6, 4, 0x3d], [45, 6, 5, 0x3e], [77, 7, 6, 0x7e], [141, 7, 32, 0x7f]];\n break;\n\n case 14:\n lines = [[-2, 3, 0, 0x4], [-1, 3, 0, 0x5], [0, 1, 0, 0x0], [1, 3, 0, 0x6], [2, 3, 0, 0x7]];\n break;\n\n case 15:\n lines = [[-24, 7, 4, 0x7c], [-8, 6, 2, 0x3c], [-4, 5, 1, 0x1c], [-2, 4, 0, 0xc], [-1, 3, 0, 0x4], [0, 1, 0, 0x0], [1, 3, 0, 0x5], [2, 4, 0, 0xd], [3, 5, 1, 0x1d], [5, 6, 2, 0x3d], [9, 7, 4, 0x7d], [-25, 7, 32, 0x7e, \"lower\"], [25, 7, 32, 0x7f]];\n break;\n\n default:\n throw new Jbig2Error(\"standard table B.\".concat(number, \" does not exist\"));\n }\n\n for (var i = 0, ii = lines.length; i < ii; i++) {\n lines[i] = new HuffmanLine(lines[i]);\n }\n\n table = new HuffmanTable(lines, true);\n standardTablesCache[number] = table;\n return table;\n }\n\n function Reader(data, start, end) {\n this.data = data;\n this.start = start;\n this.end = end;\n this.position = start;\n this.shift = -1;\n this.currentByte = 0;\n }\n\n Reader.prototype = {\n readBit: function readBit() {\n if (this.shift < 0) {\n if (this.position >= this.end) {\n throw new Jbig2Error(\"end of data while reading bit\");\n }\n\n this.currentByte = this.data[this.position++];\n this.shift = 7;\n }\n\n var bit = this.currentByte >> this.shift & 1;\n this.shift--;\n return bit;\n },\n readBits: function readBits(numBits) {\n var result = 0,\n i;\n\n for (i = numBits - 1; i >= 0; i--) {\n result |= this.readBit() << i;\n }\n\n return result;\n },\n byteAlign: function byteAlign() {\n this.shift = -1;\n },\n next: function next() {\n if (this.position >= this.end) {\n return -1;\n }\n\n return this.data[this.position++];\n }\n };\n\n function getCustomHuffmanTable(index, referredTo, customTables) {\n var currentIndex = 0;\n\n for (var i = 0, ii = referredTo.length; i < ii; i++) {\n var table = customTables[referredTo[i]];\n\n if (table) {\n if (index === currentIndex) {\n return table;\n }\n\n currentIndex++;\n }\n }\n\n throw new Jbig2Error(\"can't find custom Huffman table\");\n }\n\n function getTextRegionHuffmanTables(textRegion, referredTo, customTables, numberOfSymbols, reader) {\n var codes = [];\n\n for (var i = 0; i <= 34; i++) {\n var codeLength = reader.readBits(4);\n codes.push(new HuffmanLine([i, codeLength, 0, 0]));\n }\n\n var runCodesTable = new HuffmanTable(codes, false);\n codes.length = 0;\n\n for (var _i3 = 0; _i3 < numberOfSymbols;) {\n var _codeLength = runCodesTable.decode(reader);\n\n if (_codeLength >= 32) {\n var repeatedLength = void 0,\n numberOfRepeats = void 0,\n j = void 0;\n\n switch (_codeLength) {\n case 32:\n if (_i3 === 0) {\n throw new Jbig2Error(\"no previous value in symbol ID table\");\n }\n\n numberOfRepeats = reader.readBits(2) + 3;\n repeatedLength = codes[_i3 - 1].prefixLength;\n break;\n\n case 33:\n numberOfRepeats = reader.readBits(3) + 3;\n repeatedLength = 0;\n break;\n\n case 34:\n numberOfRepeats = reader.readBits(7) + 11;\n repeatedLength = 0;\n break;\n\n default:\n throw new Jbig2Error(\"invalid code length in symbol ID table\");\n }\n\n for (j = 0; j < numberOfRepeats; j++) {\n codes.push(new HuffmanLine([_i3, repeatedLength, 0, 0]));\n _i3++;\n }\n } else {\n codes.push(new HuffmanLine([_i3, _codeLength, 0, 0]));\n _i3++;\n }\n }\n\n reader.byteAlign();\n var symbolIDTable = new HuffmanTable(codes, false);\n var customIndex = 0,\n tableFirstS,\n tableDeltaS,\n tableDeltaT;\n\n switch (textRegion.huffmanFS) {\n case 0:\n case 1:\n tableFirstS = getStandardTable(textRegion.huffmanFS + 6);\n break;\n\n case 3:\n tableFirstS = getCustomHuffmanTable(customIndex, referredTo, customTables);\n customIndex++;\n break;\n\n default:\n throw new Jbig2Error(\"invalid Huffman FS selector\");\n }\n\n switch (textRegion.huffmanDS) {\n case 0:\n case 1:\n case 2:\n tableDeltaS = getStandardTable(textRegion.huffmanDS + 8);\n break;\n\n case 3:\n tableDeltaS = getCustomHuffmanTable(customIndex, referredTo, customTables);\n customIndex++;\n break;\n\n default:\n throw new Jbig2Error(\"invalid Huffman DS selector\");\n }\n\n switch (textRegion.huffmanDT) {\n case 0:\n case 1:\n case 2:\n tableDeltaT = getStandardTable(textRegion.huffmanDT + 11);\n break;\n\n case 3:\n tableDeltaT = getCustomHuffmanTable(customIndex, referredTo, customTables);\n customIndex++;\n break;\n\n default:\n throw new Jbig2Error(\"invalid Huffman DT selector\");\n }\n\n if (textRegion.refinement) {\n throw new Jbig2Error(\"refinement with Huffman is not supported\");\n }\n\n return {\n symbolIDTable: symbolIDTable,\n tableFirstS: tableFirstS,\n tableDeltaS: tableDeltaS,\n tableDeltaT: tableDeltaT\n };\n }\n\n function getSymbolDictionaryHuffmanTables(dictionary, referredTo, customTables) {\n var customIndex = 0,\n tableDeltaHeight,\n tableDeltaWidth;\n\n switch (dictionary.huffmanDHSelector) {\n case 0:\n case 1:\n tableDeltaHeight = getStandardTable(dictionary.huffmanDHSelector + 4);\n break;\n\n case 3:\n tableDeltaHeight = getCustomHuffmanTable(customIndex, referredTo, customTables);\n customIndex++;\n break;\n\n default:\n throw new Jbig2Error(\"invalid Huffman DH selector\");\n }\n\n switch (dictionary.huffmanDWSelector) {\n case 0:\n case 1:\n tableDeltaWidth = getStandardTable(dictionary.huffmanDWSelector + 2);\n break;\n\n case 3:\n tableDeltaWidth = getCustomHuffmanTable(customIndex, referredTo, customTables);\n customIndex++;\n break;\n\n default:\n throw new Jbig2Error(\"invalid Huffman DW selector\");\n }\n\n var tableBitmapSize, tableAggregateInstances;\n\n if (dictionary.bitmapSizeSelector) {\n tableBitmapSize = getCustomHuffmanTable(customIndex, referredTo, customTables);\n customIndex++;\n } else {\n tableBitmapSize = getStandardTable(1);\n }\n\n if (dictionary.aggregationInstancesSelector) {\n tableAggregateInstances = getCustomHuffmanTable(customIndex, referredTo, customTables);\n } else {\n tableAggregateInstances = getStandardTable(1);\n }\n\n return {\n tableDeltaHeight: tableDeltaHeight,\n tableDeltaWidth: tableDeltaWidth,\n tableBitmapSize: tableBitmapSize,\n tableAggregateInstances: tableAggregateInstances\n };\n }\n\n function readUncompressedBitmap(reader, width, height) {\n var bitmap = [];\n\n for (var y = 0; y < height; y++) {\n var row = new Uint8Array(width);\n bitmap.push(row);\n\n for (var x = 0; x < width; x++) {\n row[x] = reader.readBit();\n }\n\n reader.byteAlign();\n }\n\n return bitmap;\n }\n\n function decodeMMRBitmap(input, width, height, endOfBlock) {\n var params = {\n K: -1,\n Columns: width,\n Rows: height,\n BlackIs1: true,\n EndOfBlock: endOfBlock\n };\n var decoder = new _ccitt.CCITTFaxDecoder(input, params);\n var bitmap = [];\n var currentByte,\n eof = false;\n\n for (var y = 0; y < height; y++) {\n var row = new Uint8Array(width);\n bitmap.push(row);\n var shift = -1;\n\n for (var x = 0; x < width; x++) {\n if (shift < 0) {\n currentByte = decoder.readNextChar();\n\n if (currentByte === -1) {\n currentByte = 0;\n eof = true;\n }\n\n shift = 7;\n }\n\n row[x] = currentByte >> shift & 1;\n shift--;\n }\n }\n\n if (endOfBlock && !eof) {\n var lookForEOFLimit = 5;\n\n for (var i = 0; i < lookForEOFLimit; i++) {\n if (decoder.readNextChar() === -1) {\n break;\n }\n }\n }\n\n return bitmap;\n }\n\n function Jbig2Image() {}\n\n Jbig2Image.prototype = {\n parseChunks: function parseChunks(chunks) {\n return parseJbig2Chunks(chunks);\n },\n parse: function parse(data) {\n var _parseJbig = parseJbig2(data),\n imgData = _parseJbig.imgData,\n width = _parseJbig.width,\n height = _parseJbig.height;\n\n this.width = width;\n this.height = height;\n return imgData;\n }\n };\n return Jbig2Image;\n}();\n\nexports.Jbig2Image = Jbig2Image;\n\n/***/ }),\n/* 214 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ArithmeticDecoder = void 0;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar QeTable = [{\n qe: 0x5601,\n nmps: 1,\n nlps: 1,\n switchFlag: 1\n}, {\n qe: 0x3401,\n nmps: 2,\n nlps: 6,\n switchFlag: 0\n}, {\n qe: 0x1801,\n nmps: 3,\n nlps: 9,\n switchFlag: 0\n}, {\n qe: 0x0ac1,\n nmps: 4,\n nlps: 12,\n switchFlag: 0\n}, {\n qe: 0x0521,\n nmps: 5,\n nlps: 29,\n switchFlag: 0\n}, {\n qe: 0x0221,\n nmps: 38,\n nlps: 33,\n switchFlag: 0\n}, {\n qe: 0x5601,\n nmps: 7,\n nlps: 6,\n switchFlag: 1\n}, {\n qe: 0x5401,\n nmps: 8,\n nlps: 14,\n switchFlag: 0\n}, {\n qe: 0x4801,\n nmps: 9,\n nlps: 14,\n switchFlag: 0\n}, {\n qe: 0x3801,\n nmps: 10,\n nlps: 14,\n switchFlag: 0\n}, {\n qe: 0x3001,\n nmps: 11,\n nlps: 17,\n switchFlag: 0\n}, {\n qe: 0x2401,\n nmps: 12,\n nlps: 18,\n switchFlag: 0\n}, {\n qe: 0x1c01,\n nmps: 13,\n nlps: 20,\n switchFlag: 0\n}, {\n qe: 0x1601,\n nmps: 29,\n nlps: 21,\n switchFlag: 0\n}, {\n qe: 0x5601,\n nmps: 15,\n nlps: 14,\n switchFlag: 1\n}, {\n qe: 0x5401,\n nmps: 16,\n nlps: 14,\n switchFlag: 0\n}, {\n qe: 0x5101,\n nmps: 17,\n nlps: 15,\n switchFlag: 0\n}, {\n qe: 0x4801,\n nmps: 18,\n nlps: 16,\n switchFlag: 0\n}, {\n qe: 0x3801,\n nmps: 19,\n nlps: 17,\n switchFlag: 0\n}, {\n qe: 0x3401,\n nmps: 20,\n nlps: 18,\n switchFlag: 0\n}, {\n qe: 0x3001,\n nmps: 21,\n nlps: 19,\n switchFlag: 0\n}, {\n qe: 0x2801,\n nmps: 22,\n nlps: 19,\n switchFlag: 0\n}, {\n qe: 0x2401,\n nmps: 23,\n nlps: 20,\n switchFlag: 0\n}, {\n qe: 0x2201,\n nmps: 24,\n nlps: 21,\n switchFlag: 0\n}, {\n qe: 0x1c01,\n nmps: 25,\n nlps: 22,\n switchFlag: 0\n}, {\n qe: 0x1801,\n nmps: 26,\n nlps: 23,\n switchFlag: 0\n}, {\n qe: 0x1601,\n nmps: 27,\n nlps: 24,\n switchFlag: 0\n}, {\n qe: 0x1401,\n nmps: 28,\n nlps: 25,\n switchFlag: 0\n}, {\n qe: 0x1201,\n nmps: 29,\n nlps: 26,\n switchFlag: 0\n}, {\n qe: 0x1101,\n nmps: 30,\n nlps: 27,\n switchFlag: 0\n}, {\n qe: 0x0ac1,\n nmps: 31,\n nlps: 28,\n switchFlag: 0\n}, {\n qe: 0x09c1,\n nmps: 32,\n nlps: 29,\n switchFlag: 0\n}, {\n qe: 0x08a1,\n nmps: 33,\n nlps: 30,\n switchFlag: 0\n}, {\n qe: 0x0521,\n nmps: 34,\n nlps: 31,\n switchFlag: 0\n}, {\n qe: 0x0441,\n nmps: 35,\n nlps: 32,\n switchFlag: 0\n}, {\n qe: 0x02a1,\n nmps: 36,\n nlps: 33,\n switchFlag: 0\n}, {\n qe: 0x0221,\n nmps: 37,\n nlps: 34,\n switchFlag: 0\n}, {\n qe: 0x0141,\n nmps: 38,\n nlps: 35,\n switchFlag: 0\n}, {\n qe: 0x0111,\n nmps: 39,\n nlps: 36,\n switchFlag: 0\n}, {\n qe: 0x0085,\n nmps: 40,\n nlps: 37,\n switchFlag: 0\n}, {\n qe: 0x0049,\n nmps: 41,\n nlps: 38,\n switchFlag: 0\n}, {\n qe: 0x0025,\n nmps: 42,\n nlps: 39,\n switchFlag: 0\n}, {\n qe: 0x0015,\n nmps: 43,\n nlps: 40,\n switchFlag: 0\n}, {\n qe: 0x0009,\n nmps: 44,\n nlps: 41,\n switchFlag: 0\n}, {\n qe: 0x0005,\n nmps: 45,\n nlps: 42,\n switchFlag: 0\n}, {\n qe: 0x0001,\n nmps: 45,\n nlps: 43,\n switchFlag: 0\n}, {\n qe: 0x5601,\n nmps: 46,\n nlps: 46,\n switchFlag: 0\n}];\n\nvar ArithmeticDecoder = /*#__PURE__*/function () {\n function ArithmeticDecoder(data, start, end) {\n _classCallCheck(this, ArithmeticDecoder);\n\n this.data = data;\n this.bp = start;\n this.dataEnd = end;\n this.chigh = data[start];\n this.clow = 0;\n this.byteIn();\n this.chigh = this.chigh << 7 & 0xffff | this.clow >> 9 & 0x7f;\n this.clow = this.clow << 7 & 0xffff;\n this.ct -= 7;\n this.a = 0x8000;\n }\n\n _createClass(ArithmeticDecoder, [{\n key: \"byteIn\",\n value: function byteIn() {\n var data = this.data;\n var bp = this.bp;\n\n if (data[bp] === 0xff) {\n if (data[bp + 1] > 0x8f) {\n this.clow += 0xff00;\n this.ct = 8;\n } else {\n bp++;\n this.clow += data[bp] << 9;\n this.ct = 7;\n this.bp = bp;\n }\n } else {\n bp++;\n this.clow += bp < this.dataEnd ? data[bp] << 8 : 0xff00;\n this.ct = 8;\n this.bp = bp;\n }\n\n if (this.clow > 0xffff) {\n this.chigh += this.clow >> 16;\n this.clow &= 0xffff;\n }\n }\n }, {\n key: \"readBit\",\n value: function readBit(contexts, pos) {\n var cx_index = contexts[pos] >> 1,\n cx_mps = contexts[pos] & 1;\n var qeTableIcx = QeTable[cx_index];\n var qeIcx = qeTableIcx.qe;\n var d;\n var a = this.a - qeIcx;\n\n if (this.chigh < qeIcx) {\n if (a < qeIcx) {\n a = qeIcx;\n d = cx_mps;\n cx_index = qeTableIcx.nmps;\n } else {\n a = qeIcx;\n d = 1 ^ cx_mps;\n\n if (qeTableIcx.switchFlag === 1) {\n cx_mps = d;\n }\n\n cx_index = qeTableIcx.nlps;\n }\n } else {\n this.chigh -= qeIcx;\n\n if ((a & 0x8000) !== 0) {\n this.a = a;\n return cx_mps;\n }\n\n if (a < qeIcx) {\n d = 1 ^ cx_mps;\n\n if (qeTableIcx.switchFlag === 1) {\n cx_mps = d;\n }\n\n cx_index = qeTableIcx.nlps;\n } else {\n d = cx_mps;\n cx_index = qeTableIcx.nmps;\n }\n }\n\n do {\n if (this.ct === 0) {\n this.byteIn();\n }\n\n a <<= 1;\n this.chigh = this.chigh << 1 & 0xffff | this.clow >> 15 & 1;\n this.clow = this.clow << 1 & 0xffff;\n this.ct--;\n } while ((a & 0x8000) === 0);\n\n this.a = a;\n contexts[pos] = cx_index << 1 | cx_mps;\n return d;\n }\n }]);\n\n return ArithmeticDecoder;\n}();\n\nexports.ArithmeticDecoder = ArithmeticDecoder;\n\n/***/ }),\n/* 215 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.JpegStream = void 0;\n\nvar _stream = __w_pdfjs_require__(209);\n\nvar _primitives = __w_pdfjs_require__(202);\n\nvar _jpg = __w_pdfjs_require__(216);\n\nvar _util = __w_pdfjs_require__(5);\n\nvar JpegStream = function JpegStreamClosure() {\n function JpegStream(stream, maybeLength, dict, params) {\n var ch;\n\n while ((ch = stream.getByte()) !== -1) {\n if (ch === 0xff) {\n stream.skip(-1);\n break;\n }\n }\n\n this.stream = stream;\n this.maybeLength = maybeLength;\n this.dict = dict;\n this.params = params;\n\n _stream.DecodeStream.call(this, maybeLength);\n }\n\n JpegStream.prototype = Object.create(_stream.DecodeStream.prototype);\n Object.defineProperty(JpegStream.prototype, \"bytes\", {\n get: function JpegStream_bytes() {\n return (0, _util.shadow)(this, \"bytes\", this.stream.getBytes(this.maybeLength));\n },\n configurable: true\n });\n\n JpegStream.prototype.ensureBuffer = function (requested) {};\n\n JpegStream.prototype.readBlock = function () {\n if (this.eof) {\n return;\n }\n\n var jpegOptions = {\n decodeTransform: undefined,\n colorTransform: undefined\n };\n var decodeArr = this.dict.getArray(\"Decode\", \"D\");\n\n if (this.forceRGB && Array.isArray(decodeArr)) {\n var bitsPerComponent = this.dict.get(\"BitsPerComponent\") || 8;\n var decodeArrLength = decodeArr.length;\n var transform = new Int32Array(decodeArrLength);\n var transformNeeded = false;\n var maxValue = (1 << bitsPerComponent) - 1;\n\n for (var i = 0; i < decodeArrLength; i += 2) {\n transform[i] = (decodeArr[i + 1] - decodeArr[i]) * 256 | 0;\n transform[i + 1] = decodeArr[i] * maxValue | 0;\n\n if (transform[i] !== 256 || transform[i + 1] !== 0) {\n transformNeeded = true;\n }\n }\n\n if (transformNeeded) {\n jpegOptions.decodeTransform = transform;\n }\n }\n\n if ((0, _primitives.isDict)(this.params)) {\n var colorTransform = this.params.get(\"ColorTransform\");\n\n if (Number.isInteger(colorTransform)) {\n jpegOptions.colorTransform = colorTransform;\n }\n }\n\n var jpegImage = new _jpg.JpegImage(jpegOptions);\n jpegImage.parse(this.bytes);\n var data = jpegImage.getData({\n width: this.drawWidth,\n height: this.drawHeight,\n forceRGB: this.forceRGB,\n isSourcePDF: true\n });\n this.buffer = data;\n this.bufferLength = data.length;\n this.eof = true;\n };\n\n return JpegStream;\n}();\n\nexports.JpegStream = JpegStream;\n\n/***/ }),\n/* 216 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.JpegImage = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _core_utils = __w_pdfjs_require__(205);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar JpegError = /*#__PURE__*/function (_BaseException) {\n _inherits(JpegError, _BaseException);\n\n var _super = _createSuper(JpegError);\n\n function JpegError(msg) {\n _classCallCheck(this, JpegError);\n\n return _super.call(this, \"JPEG error: \".concat(msg));\n }\n\n return JpegError;\n}(_util.BaseException);\n\nvar DNLMarkerError = /*#__PURE__*/function (_BaseException2) {\n _inherits(DNLMarkerError, _BaseException2);\n\n var _super2 = _createSuper(DNLMarkerError);\n\n function DNLMarkerError(message, scanLines) {\n var _this;\n\n _classCallCheck(this, DNLMarkerError);\n\n _this = _super2.call(this, message);\n _this.scanLines = scanLines;\n return _this;\n }\n\n return DNLMarkerError;\n}(_util.BaseException);\n\nvar EOIMarkerError = /*#__PURE__*/function (_BaseException3) {\n _inherits(EOIMarkerError, _BaseException3);\n\n var _super3 = _createSuper(EOIMarkerError);\n\n function EOIMarkerError() {\n _classCallCheck(this, EOIMarkerError);\n\n return _super3.apply(this, arguments);\n }\n\n return EOIMarkerError;\n}(_util.BaseException);\n\nvar JpegImage = function JpegImageClosure() {\n var dctZigZag = new Uint8Array([0, 1, 8, 16, 9, 2, 3, 10, 17, 24, 32, 25, 18, 11, 4, 5, 12, 19, 26, 33, 40, 48, 41, 34, 27, 20, 13, 6, 7, 14, 21, 28, 35, 42, 49, 56, 57, 50, 43, 36, 29, 22, 15, 23, 30, 37, 44, 51, 58, 59, 52, 45, 38, 31, 39, 46, 53, 60, 61, 54, 47, 55, 62, 63]);\n var dctCos1 = 4017;\n var dctSin1 = 799;\n var dctCos3 = 3406;\n var dctSin3 = 2276;\n var dctCos6 = 1567;\n var dctSin6 = 3784;\n var dctSqrt2 = 5793;\n var dctSqrt1d2 = 2896;\n\n function JpegImage() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$decodeTransform = _ref.decodeTransform,\n decodeTransform = _ref$decodeTransform === void 0 ? null : _ref$decodeTransform,\n _ref$colorTransform = _ref.colorTransform,\n colorTransform = _ref$colorTransform === void 0 ? -1 : _ref$colorTransform;\n\n this._decodeTransform = decodeTransform;\n this._colorTransform = colorTransform;\n }\n\n function buildHuffmanTable(codeLengths, values) {\n var k = 0,\n code = [],\n i,\n j,\n length = 16;\n\n while (length > 0 && !codeLengths[length - 1]) {\n length--;\n }\n\n code.push({\n children: [],\n index: 0\n });\n var p = code[0],\n q;\n\n for (i = 0; i < length; i++) {\n for (j = 0; j < codeLengths[i]; j++) {\n p = code.pop();\n p.children[p.index] = values[k];\n\n while (p.index > 0) {\n p = code.pop();\n }\n\n p.index++;\n code.push(p);\n\n while (code.length <= i) {\n code.push(q = {\n children: [],\n index: 0\n });\n p.children[p.index] = q.children;\n p = q;\n }\n\n k++;\n }\n\n if (i + 1 < length) {\n code.push(q = {\n children: [],\n index: 0\n });\n p.children[p.index] = q.children;\n p = q;\n }\n }\n\n return code[0].children;\n }\n\n function getBlockBufferOffset(component, row, col) {\n return 64 * ((component.blocksPerLine + 1) * row + col);\n }\n\n function decodeScan(data, offset, frame, components, resetInterval, spectralStart, spectralEnd, successivePrev, successive) {\n var parseDNLMarker = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : false;\n var mcusPerLine = frame.mcusPerLine;\n var progressive = frame.progressive;\n var startOffset = offset;\n var bitsData = 0,\n bitsCount = 0;\n\n function readBit() {\n if (bitsCount > 0) {\n bitsCount--;\n return bitsData >> bitsCount & 1;\n }\n\n bitsData = data[offset++];\n\n if (bitsData === 0xff) {\n var nextByte = data[offset++];\n\n if (nextByte) {\n if (nextByte === 0xdc && parseDNLMarker) {\n offset += 2;\n var scanLines = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\n\n if (scanLines > 0 && scanLines !== frame.scanLines) {\n throw new DNLMarkerError(\"Found DNL marker (0xFFDC) while parsing scan data\", scanLines);\n }\n } else if (nextByte === 0xd9) {\n if (parseDNLMarker) {\n var maybeScanLines = blockRow * (frame.precision === 8 ? 8 : 0);\n\n if (maybeScanLines > 0 && Math.round(frame.scanLines / maybeScanLines) >= 10) {\n throw new DNLMarkerError(\"Found EOI marker (0xFFD9) while parsing scan data, \" + \"possibly caused by incorrect `scanLines` parameter\", maybeScanLines);\n }\n }\n\n throw new EOIMarkerError(\"Found EOI marker (0xFFD9) while parsing scan data\");\n }\n\n throw new JpegError(\"unexpected marker \".concat((bitsData << 8 | nextByte).toString(16)));\n }\n }\n\n bitsCount = 7;\n return bitsData >>> 7;\n }\n\n function decodeHuffman(tree) {\n var node = tree;\n\n while (true) {\n node = node[readBit()];\n\n switch (_typeof(node)) {\n case \"number\":\n return node;\n\n case \"object\":\n continue;\n }\n\n throw new JpegError(\"invalid huffman sequence\");\n }\n }\n\n function receive(length) {\n var n = 0;\n\n while (length > 0) {\n n = n << 1 | readBit();\n length--;\n }\n\n return n;\n }\n\n function receiveAndExtend(length) {\n if (length === 1) {\n return readBit() === 1 ? 1 : -1;\n }\n\n var n = receive(length);\n\n if (n >= 1 << length - 1) {\n return n;\n }\n\n return n + (-1 << length) + 1;\n }\n\n function decodeBaseline(component, blockOffset) {\n var t = decodeHuffman(component.huffmanTableDC);\n var diff = t === 0 ? 0 : receiveAndExtend(t);\n component.blockData[blockOffset] = component.pred += diff;\n var k = 1;\n\n while (k < 64) {\n var rs = decodeHuffman(component.huffmanTableAC);\n var s = rs & 15,\n r = rs >> 4;\n\n if (s === 0) {\n if (r < 15) {\n break;\n }\n\n k += 16;\n continue;\n }\n\n k += r;\n var z = dctZigZag[k];\n component.blockData[blockOffset + z] = receiveAndExtend(s);\n k++;\n }\n }\n\n function decodeDCFirst(component, blockOffset) {\n var t = decodeHuffman(component.huffmanTableDC);\n var diff = t === 0 ? 0 : receiveAndExtend(t) << successive;\n component.blockData[blockOffset] = component.pred += diff;\n }\n\n function decodeDCSuccessive(component, blockOffset) {\n component.blockData[blockOffset] |= readBit() << successive;\n }\n\n var eobrun = 0;\n\n function decodeACFirst(component, blockOffset) {\n if (eobrun > 0) {\n eobrun--;\n return;\n }\n\n var k = spectralStart,\n e = spectralEnd;\n\n while (k <= e) {\n var rs = decodeHuffman(component.huffmanTableAC);\n var s = rs & 15,\n r = rs >> 4;\n\n if (s === 0) {\n if (r < 15) {\n eobrun = receive(r) + (1 << r) - 1;\n break;\n }\n\n k += 16;\n continue;\n }\n\n k += r;\n var z = dctZigZag[k];\n component.blockData[blockOffset + z] = receiveAndExtend(s) * (1 << successive);\n k++;\n }\n }\n\n var successiveACState = 0,\n successiveACNextValue;\n\n function decodeACSuccessive(component, blockOffset) {\n var k = spectralStart;\n var e = spectralEnd;\n var r = 0;\n var s;\n var rs;\n\n while (k <= e) {\n var offsetZ = blockOffset + dctZigZag[k];\n var sign = component.blockData[offsetZ] < 0 ? -1 : 1;\n\n switch (successiveACState) {\n case 0:\n rs = decodeHuffman(component.huffmanTableAC);\n s = rs & 15;\n r = rs >> 4;\n\n if (s === 0) {\n if (r < 15) {\n eobrun = receive(r) + (1 << r);\n successiveACState = 4;\n } else {\n r = 16;\n successiveACState = 1;\n }\n } else {\n if (s !== 1) {\n throw new JpegError(\"invalid ACn encoding\");\n }\n\n successiveACNextValue = receiveAndExtend(s);\n successiveACState = r ? 2 : 3;\n }\n\n continue;\n\n case 1:\n case 2:\n if (component.blockData[offsetZ]) {\n component.blockData[offsetZ] += sign * (readBit() << successive);\n } else {\n r--;\n\n if (r === 0) {\n successiveACState = successiveACState === 2 ? 3 : 0;\n }\n }\n\n break;\n\n case 3:\n if (component.blockData[offsetZ]) {\n component.blockData[offsetZ] += sign * (readBit() << successive);\n } else {\n component.blockData[offsetZ] = successiveACNextValue << successive;\n successiveACState = 0;\n }\n\n break;\n\n case 4:\n if (component.blockData[offsetZ]) {\n component.blockData[offsetZ] += sign * (readBit() << successive);\n }\n\n break;\n }\n\n k++;\n }\n\n if (successiveACState === 4) {\n eobrun--;\n\n if (eobrun === 0) {\n successiveACState = 0;\n }\n }\n }\n\n var blockRow = 0;\n\n function decodeMcu(component, decode, mcu, row, col) {\n var mcuRow = mcu / mcusPerLine | 0;\n var mcuCol = mcu % mcusPerLine;\n blockRow = mcuRow * component.v + row;\n var blockCol = mcuCol * component.h + col;\n var blockOffset = getBlockBufferOffset(component, blockRow, blockCol);\n decode(component, blockOffset);\n }\n\n function decodeBlock(component, decode, mcu) {\n blockRow = mcu / component.blocksPerLine | 0;\n var blockCol = mcu % component.blocksPerLine;\n var blockOffset = getBlockBufferOffset(component, blockRow, blockCol);\n decode(component, blockOffset);\n }\n\n var componentsLength = components.length;\n var component, i, j, k, n;\n var decodeFn;\n\n if (progressive) {\n if (spectralStart === 0) {\n decodeFn = successivePrev === 0 ? decodeDCFirst : decodeDCSuccessive;\n } else {\n decodeFn = successivePrev === 0 ? decodeACFirst : decodeACSuccessive;\n }\n } else {\n decodeFn = decodeBaseline;\n }\n\n var mcu = 0,\n fileMarker;\n var mcuExpected;\n\n if (componentsLength === 1) {\n mcuExpected = components[0].blocksPerLine * components[0].blocksPerColumn;\n } else {\n mcuExpected = mcusPerLine * frame.mcusPerColumn;\n }\n\n var h, v;\n\n while (mcu <= mcuExpected) {\n var mcuToRead = resetInterval ? Math.min(mcuExpected - mcu, resetInterval) : mcuExpected;\n\n if (mcuToRead > 0) {\n for (i = 0; i < componentsLength; i++) {\n components[i].pred = 0;\n }\n\n eobrun = 0;\n\n if (componentsLength === 1) {\n component = components[0];\n\n for (n = 0; n < mcuToRead; n++) {\n decodeBlock(component, decodeFn, mcu);\n mcu++;\n }\n } else {\n for (n = 0; n < mcuToRead; n++) {\n for (i = 0; i < componentsLength; i++) {\n component = components[i];\n h = component.h;\n v = component.v;\n\n for (j = 0; j < v; j++) {\n for (k = 0; k < h; k++) {\n decodeMcu(component, decodeFn, mcu, j, k);\n }\n }\n }\n\n mcu++;\n }\n }\n }\n\n bitsCount = 0;\n fileMarker = findNextFileMarker(data, offset);\n\n if (!fileMarker) {\n break;\n }\n\n if (fileMarker.invalid) {\n var partialMsg = mcuToRead > 0 ? \"unexpected\" : \"excessive\";\n (0, _util.warn)(\"decodeScan - \".concat(partialMsg, \" MCU data, current marker is: \").concat(fileMarker.invalid));\n offset = fileMarker.offset;\n }\n\n if (fileMarker.marker >= 0xffd0 && fileMarker.marker <= 0xffd7) {\n offset += 2;\n } else {\n break;\n }\n }\n\n return offset - startOffset;\n }\n\n function quantizeAndInverse(component, blockBufferOffset, p) {\n var qt = component.quantizationTable,\n blockData = component.blockData;\n var v0, v1, v2, v3, v4, v5, v6, v7;\n var p0, p1, p2, p3, p4, p5, p6, p7;\n var t;\n\n if (!qt) {\n throw new JpegError(\"missing required Quantization Table.\");\n }\n\n for (var row = 0; row < 64; row += 8) {\n p0 = blockData[blockBufferOffset + row];\n p1 = blockData[blockBufferOffset + row + 1];\n p2 = blockData[blockBufferOffset + row + 2];\n p3 = blockData[blockBufferOffset + row + 3];\n p4 = blockData[blockBufferOffset + row + 4];\n p5 = blockData[blockBufferOffset + row + 5];\n p6 = blockData[blockBufferOffset + row + 6];\n p7 = blockData[blockBufferOffset + row + 7];\n p0 *= qt[row];\n\n if ((p1 | p2 | p3 | p4 | p5 | p6 | p7) === 0) {\n t = dctSqrt2 * p0 + 512 >> 10;\n p[row] = t;\n p[row + 1] = t;\n p[row + 2] = t;\n p[row + 3] = t;\n p[row + 4] = t;\n p[row + 5] = t;\n p[row + 6] = t;\n p[row + 7] = t;\n continue;\n }\n\n p1 *= qt[row + 1];\n p2 *= qt[row + 2];\n p3 *= qt[row + 3];\n p4 *= qt[row + 4];\n p5 *= qt[row + 5];\n p6 *= qt[row + 6];\n p7 *= qt[row + 7];\n v0 = dctSqrt2 * p0 + 128 >> 8;\n v1 = dctSqrt2 * p4 + 128 >> 8;\n v2 = p2;\n v3 = p6;\n v4 = dctSqrt1d2 * (p1 - p7) + 128 >> 8;\n v7 = dctSqrt1d2 * (p1 + p7) + 128 >> 8;\n v5 = p3 << 4;\n v6 = p5 << 4;\n v0 = v0 + v1 + 1 >> 1;\n v1 = v0 - v1;\n t = v2 * dctSin6 + v3 * dctCos6 + 128 >> 8;\n v2 = v2 * dctCos6 - v3 * dctSin6 + 128 >> 8;\n v3 = t;\n v4 = v4 + v6 + 1 >> 1;\n v6 = v4 - v6;\n v7 = v7 + v5 + 1 >> 1;\n v5 = v7 - v5;\n v0 = v0 + v3 + 1 >> 1;\n v3 = v0 - v3;\n v1 = v1 + v2 + 1 >> 1;\n v2 = v1 - v2;\n t = v4 * dctSin3 + v7 * dctCos3 + 2048 >> 12;\n v4 = v4 * dctCos3 - v7 * dctSin3 + 2048 >> 12;\n v7 = t;\n t = v5 * dctSin1 + v6 * dctCos1 + 2048 >> 12;\n v5 = v5 * dctCos1 - v6 * dctSin1 + 2048 >> 12;\n v6 = t;\n p[row] = v0 + v7;\n p[row + 7] = v0 - v7;\n p[row + 1] = v1 + v6;\n p[row + 6] = v1 - v6;\n p[row + 2] = v2 + v5;\n p[row + 5] = v2 - v5;\n p[row + 3] = v3 + v4;\n p[row + 4] = v3 - v4;\n }\n\n for (var col = 0; col < 8; ++col) {\n p0 = p[col];\n p1 = p[col + 8];\n p2 = p[col + 16];\n p3 = p[col + 24];\n p4 = p[col + 32];\n p5 = p[col + 40];\n p6 = p[col + 48];\n p7 = p[col + 56];\n\n if ((p1 | p2 | p3 | p4 | p5 | p6 | p7) === 0) {\n t = dctSqrt2 * p0 + 8192 >> 14;\n\n if (t < -2040) {\n t = 0;\n } else if (t >= 2024) {\n t = 255;\n } else {\n t = t + 2056 >> 4;\n }\n\n blockData[blockBufferOffset + col] = t;\n blockData[blockBufferOffset + col + 8] = t;\n blockData[blockBufferOffset + col + 16] = t;\n blockData[blockBufferOffset + col + 24] = t;\n blockData[blockBufferOffset + col + 32] = t;\n blockData[blockBufferOffset + col + 40] = t;\n blockData[blockBufferOffset + col + 48] = t;\n blockData[blockBufferOffset + col + 56] = t;\n continue;\n }\n\n v0 = dctSqrt2 * p0 + 2048 >> 12;\n v1 = dctSqrt2 * p4 + 2048 >> 12;\n v2 = p2;\n v3 = p6;\n v4 = dctSqrt1d2 * (p1 - p7) + 2048 >> 12;\n v7 = dctSqrt1d2 * (p1 + p7) + 2048 >> 12;\n v5 = p3;\n v6 = p5;\n v0 = (v0 + v1 + 1 >> 1) + 4112;\n v1 = v0 - v1;\n t = v2 * dctSin6 + v3 * dctCos6 + 2048 >> 12;\n v2 = v2 * dctCos6 - v3 * dctSin6 + 2048 >> 12;\n v3 = t;\n v4 = v4 + v6 + 1 >> 1;\n v6 = v4 - v6;\n v7 = v7 + v5 + 1 >> 1;\n v5 = v7 - v5;\n v0 = v0 + v3 + 1 >> 1;\n v3 = v0 - v3;\n v1 = v1 + v2 + 1 >> 1;\n v2 = v1 - v2;\n t = v4 * dctSin3 + v7 * dctCos3 + 2048 >> 12;\n v4 = v4 * dctCos3 - v7 * dctSin3 + 2048 >> 12;\n v7 = t;\n t = v5 * dctSin1 + v6 * dctCos1 + 2048 >> 12;\n v5 = v5 * dctCos1 - v6 * dctSin1 + 2048 >> 12;\n v6 = t;\n p0 = v0 + v7;\n p7 = v0 - v7;\n p1 = v1 + v6;\n p6 = v1 - v6;\n p2 = v2 + v5;\n p5 = v2 - v5;\n p3 = v3 + v4;\n p4 = v3 - v4;\n\n if (p0 < 16) {\n p0 = 0;\n } else if (p0 >= 4080) {\n p0 = 255;\n } else {\n p0 >>= 4;\n }\n\n if (p1 < 16) {\n p1 = 0;\n } else if (p1 >= 4080) {\n p1 = 255;\n } else {\n p1 >>= 4;\n }\n\n if (p2 < 16) {\n p2 = 0;\n } else if (p2 >= 4080) {\n p2 = 255;\n } else {\n p2 >>= 4;\n }\n\n if (p3 < 16) {\n p3 = 0;\n } else if (p3 >= 4080) {\n p3 = 255;\n } else {\n p3 >>= 4;\n }\n\n if (p4 < 16) {\n p4 = 0;\n } else if (p4 >= 4080) {\n p4 = 255;\n } else {\n p4 >>= 4;\n }\n\n if (p5 < 16) {\n p5 = 0;\n } else if (p5 >= 4080) {\n p5 = 255;\n } else {\n p5 >>= 4;\n }\n\n if (p6 < 16) {\n p6 = 0;\n } else if (p6 >= 4080) {\n p6 = 255;\n } else {\n p6 >>= 4;\n }\n\n if (p7 < 16) {\n p7 = 0;\n } else if (p7 >= 4080) {\n p7 = 255;\n } else {\n p7 >>= 4;\n }\n\n blockData[blockBufferOffset + col] = p0;\n blockData[blockBufferOffset + col + 8] = p1;\n blockData[blockBufferOffset + col + 16] = p2;\n blockData[blockBufferOffset + col + 24] = p3;\n blockData[blockBufferOffset + col + 32] = p4;\n blockData[blockBufferOffset + col + 40] = p5;\n blockData[blockBufferOffset + col + 48] = p6;\n blockData[blockBufferOffset + col + 56] = p7;\n }\n }\n\n function buildComponentData(frame, component) {\n var blocksPerLine = component.blocksPerLine;\n var blocksPerColumn = component.blocksPerColumn;\n var computationBuffer = new Int16Array(64);\n\n for (var blockRow = 0; blockRow < blocksPerColumn; blockRow++) {\n for (var blockCol = 0; blockCol < blocksPerLine; blockCol++) {\n var offset = getBlockBufferOffset(component, blockRow, blockCol);\n quantizeAndInverse(component, offset, computationBuffer);\n }\n }\n\n return component.blockData;\n }\n\n function findNextFileMarker(data, currentPos) {\n var startPos = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : currentPos;\n var maxPos = data.length - 1;\n var newPos = startPos < currentPos ? startPos : currentPos;\n\n if (currentPos >= maxPos) {\n return null;\n }\n\n var currentMarker = (0, _core_utils.readUint16)(data, currentPos);\n\n if (currentMarker >= 0xffc0 && currentMarker <= 0xfffe) {\n return {\n invalid: null,\n marker: currentMarker,\n offset: currentPos\n };\n }\n\n var newMarker = (0, _core_utils.readUint16)(data, newPos);\n\n while (!(newMarker >= 0xffc0 && newMarker <= 0xfffe)) {\n if (++newPos >= maxPos) {\n return null;\n }\n\n newMarker = (0, _core_utils.readUint16)(data, newPos);\n }\n\n return {\n invalid: currentMarker.toString(16),\n marker: newMarker,\n offset: newPos\n };\n }\n\n JpegImage.prototype = {\n parse: function parse(data) {\n var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref2$dnlScanLines = _ref2.dnlScanLines,\n dnlScanLines = _ref2$dnlScanLines === void 0 ? null : _ref2$dnlScanLines;\n\n function readDataBlock() {\n var length = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\n var endOffset = offset + length - 2;\n var fileMarker = findNextFileMarker(data, endOffset, offset);\n\n if (fileMarker && fileMarker.invalid) {\n (0, _util.warn)(\"readDataBlock - incorrect length, current marker is: \" + fileMarker.invalid);\n endOffset = fileMarker.offset;\n }\n\n var array = data.subarray(offset, endOffset);\n offset += array.length;\n return array;\n }\n\n function prepareComponents(frame) {\n var mcusPerLine = Math.ceil(frame.samplesPerLine / 8 / frame.maxH);\n var mcusPerColumn = Math.ceil(frame.scanLines / 8 / frame.maxV);\n\n for (var i = 0; i < frame.components.length; i++) {\n component = frame.components[i];\n var blocksPerLine = Math.ceil(Math.ceil(frame.samplesPerLine / 8) * component.h / frame.maxH);\n var blocksPerColumn = Math.ceil(Math.ceil(frame.scanLines / 8) * component.v / frame.maxV);\n var blocksPerLineForMcu = mcusPerLine * component.h;\n var blocksPerColumnForMcu = mcusPerColumn * component.v;\n var blocksBufferSize = 64 * blocksPerColumnForMcu * (blocksPerLineForMcu + 1);\n component.blockData = new Int16Array(blocksBufferSize);\n component.blocksPerLine = blocksPerLine;\n component.blocksPerColumn = blocksPerColumn;\n }\n\n frame.mcusPerLine = mcusPerLine;\n frame.mcusPerColumn = mcusPerColumn;\n }\n\n var offset = 0;\n var jfif = null;\n var adobe = null;\n var frame, resetInterval;\n var numSOSMarkers = 0;\n var quantizationTables = [];\n var huffmanTablesAC = [],\n huffmanTablesDC = [];\n var fileMarker = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\n\n if (fileMarker !== 0xffd8) {\n throw new JpegError(\"SOI not found\");\n }\n\n fileMarker = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\n\n markerLoop: while (fileMarker !== 0xffd9) {\n var i, j, l;\n\n switch (fileMarker) {\n case 0xffe0:\n case 0xffe1:\n case 0xffe2:\n case 0xffe3:\n case 0xffe4:\n case 0xffe5:\n case 0xffe6:\n case 0xffe7:\n case 0xffe8:\n case 0xffe9:\n case 0xffea:\n case 0xffeb:\n case 0xffec:\n case 0xffed:\n case 0xffee:\n case 0xffef:\n case 0xfffe:\n var appData = readDataBlock();\n\n if (fileMarker === 0xffe0) {\n if (appData[0] === 0x4a && appData[1] === 0x46 && appData[2] === 0x49 && appData[3] === 0x46 && appData[4] === 0) {\n jfif = {\n version: {\n major: appData[5],\n minor: appData[6]\n },\n densityUnits: appData[7],\n xDensity: appData[8] << 8 | appData[9],\n yDensity: appData[10] << 8 | appData[11],\n thumbWidth: appData[12],\n thumbHeight: appData[13],\n thumbData: appData.subarray(14, 14 + 3 * appData[12] * appData[13])\n };\n }\n }\n\n if (fileMarker === 0xffee) {\n if (appData[0] === 0x41 && appData[1] === 0x64 && appData[2] === 0x6f && appData[3] === 0x62 && appData[4] === 0x65) {\n adobe = {\n version: appData[5] << 8 | appData[6],\n flags0: appData[7] << 8 | appData[8],\n flags1: appData[9] << 8 | appData[10],\n transformCode: appData[11]\n };\n }\n }\n\n break;\n\n case 0xffdb:\n var quantizationTablesLength = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\n var quantizationTablesEnd = quantizationTablesLength + offset - 2;\n var z;\n\n while (offset < quantizationTablesEnd) {\n var quantizationTableSpec = data[offset++];\n var tableData = new Uint16Array(64);\n\n if (quantizationTableSpec >> 4 === 0) {\n for (j = 0; j < 64; j++) {\n z = dctZigZag[j];\n tableData[z] = data[offset++];\n }\n } else if (quantizationTableSpec >> 4 === 1) {\n for (j = 0; j < 64; j++) {\n z = dctZigZag[j];\n tableData[z] = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\n }\n } else {\n throw new JpegError(\"DQT - invalid table spec\");\n }\n\n quantizationTables[quantizationTableSpec & 15] = tableData;\n }\n\n break;\n\n case 0xffc0:\n case 0xffc1:\n case 0xffc2:\n if (frame) {\n throw new JpegError(\"Only single frame JPEGs supported\");\n }\n\n offset += 2;\n frame = {};\n frame.extended = fileMarker === 0xffc1;\n frame.progressive = fileMarker === 0xffc2;\n frame.precision = data[offset++];\n var sofScanLines = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\n frame.scanLines = dnlScanLines || sofScanLines;\n frame.samplesPerLine = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\n frame.components = [];\n frame.componentIds = {};\n var componentsCount = data[offset++],\n componentId;\n var maxH = 0,\n maxV = 0;\n\n for (i = 0; i < componentsCount; i++) {\n componentId = data[offset];\n var h = data[offset + 1] >> 4;\n var v = data[offset + 1] & 15;\n\n if (maxH < h) {\n maxH = h;\n }\n\n if (maxV < v) {\n maxV = v;\n }\n\n var qId = data[offset + 2];\n l = frame.components.push({\n h: h,\n v: v,\n quantizationId: qId,\n quantizationTable: null\n });\n frame.componentIds[componentId] = l - 1;\n offset += 3;\n }\n\n frame.maxH = maxH;\n frame.maxV = maxV;\n prepareComponents(frame);\n break;\n\n case 0xffc4:\n var huffmanLength = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\n\n for (i = 2; i < huffmanLength;) {\n var huffmanTableSpec = data[offset++];\n var codeLengths = new Uint8Array(16);\n var codeLengthSum = 0;\n\n for (j = 0; j < 16; j++, offset++) {\n codeLengthSum += codeLengths[j] = data[offset];\n }\n\n var huffmanValues = new Uint8Array(codeLengthSum);\n\n for (j = 0; j < codeLengthSum; j++, offset++) {\n huffmanValues[j] = data[offset];\n }\n\n i += 17 + codeLengthSum;\n (huffmanTableSpec >> 4 === 0 ? huffmanTablesDC : huffmanTablesAC)[huffmanTableSpec & 15] = buildHuffmanTable(codeLengths, huffmanValues);\n }\n\n break;\n\n case 0xffdd:\n offset += 2;\n resetInterval = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\n break;\n\n case 0xffda:\n var parseDNLMarker = ++numSOSMarkers === 1 && !dnlScanLines;\n offset += 2;\n var selectorsCount = data[offset++];\n var components = [],\n component;\n\n for (i = 0; i < selectorsCount; i++) {\n var index = data[offset++];\n var componentIndex = frame.componentIds[index];\n component = frame.components[componentIndex];\n component.index = index;\n var tableSpec = data[offset++];\n component.huffmanTableDC = huffmanTablesDC[tableSpec >> 4];\n component.huffmanTableAC = huffmanTablesAC[tableSpec & 15];\n components.push(component);\n }\n\n var spectralStart = data[offset++];\n var spectralEnd = data[offset++];\n var successiveApproximation = data[offset++];\n\n try {\n var processed = decodeScan(data, offset, frame, components, resetInterval, spectralStart, spectralEnd, successiveApproximation >> 4, successiveApproximation & 15, parseDNLMarker);\n offset += processed;\n } catch (ex) {\n if (ex instanceof DNLMarkerError) {\n (0, _util.warn)(\"\".concat(ex.message, \" -- attempting to re-parse the JPEG image.\"));\n return this.parse(data, {\n dnlScanLines: ex.scanLines\n });\n } else if (ex instanceof EOIMarkerError) {\n (0, _util.warn)(\"\".concat(ex.message, \" -- ignoring the rest of the image data.\"));\n break markerLoop;\n }\n\n throw ex;\n }\n\n break;\n\n case 0xffdc:\n offset += 4;\n break;\n\n case 0xffff:\n if (data[offset] !== 0xff) {\n offset--;\n }\n\n break;\n\n default:\n var nextFileMarker = findNextFileMarker(data, offset - 2, offset - 3);\n\n if (nextFileMarker && nextFileMarker.invalid) {\n (0, _util.warn)(\"JpegImage.parse - unexpected data, current marker is: \" + nextFileMarker.invalid);\n offset = nextFileMarker.offset;\n break;\n }\n\n if (offset >= data.length - 1) {\n (0, _util.warn)(\"JpegImage.parse - reached the end of the image data \" + \"without finding an EOI marker (0xFFD9).\");\n break markerLoop;\n }\n\n throw new JpegError(\"JpegImage.parse - unknown marker: \" + fileMarker.toString(16));\n }\n\n fileMarker = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\n }\n\n this.width = frame.samplesPerLine;\n this.height = frame.scanLines;\n this.jfif = jfif;\n this.adobe = adobe;\n this.components = [];\n\n for (i = 0; i < frame.components.length; i++) {\n component = frame.components[i];\n var quantizationTable = quantizationTables[component.quantizationId];\n\n if (quantizationTable) {\n component.quantizationTable = quantizationTable;\n }\n\n this.components.push({\n index: component.index,\n output: buildComponentData(frame, component),\n scaleX: component.h / frame.maxH,\n scaleY: component.v / frame.maxV,\n blocksPerLine: component.blocksPerLine,\n blocksPerColumn: component.blocksPerColumn\n });\n }\n\n this.numComponents = this.components.length;\n return undefined;\n },\n _getLinearizedBlockData: function _getLinearizedBlockData(width, height) {\n var isSourcePDF = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var scaleX = this.width / width,\n scaleY = this.height / height;\n var component, componentScaleX, componentScaleY, blocksPerScanline;\n var x, y, i, j, k;\n var index;\n var offset = 0;\n var output;\n var numComponents = this.components.length;\n var dataLength = width * height * numComponents;\n var data = new Uint8ClampedArray(dataLength);\n var xScaleBlockOffset = new Uint32Array(width);\n var mask3LSB = 0xfffffff8;\n var lastComponentScaleX;\n\n for (i = 0; i < numComponents; i++) {\n component = this.components[i];\n componentScaleX = component.scaleX * scaleX;\n componentScaleY = component.scaleY * scaleY;\n offset = i;\n output = component.output;\n blocksPerScanline = component.blocksPerLine + 1 << 3;\n\n if (componentScaleX !== lastComponentScaleX) {\n for (x = 0; x < width; x++) {\n j = 0 | x * componentScaleX;\n xScaleBlockOffset[x] = (j & mask3LSB) << 3 | j & 7;\n }\n\n lastComponentScaleX = componentScaleX;\n }\n\n for (y = 0; y < height; y++) {\n j = 0 | y * componentScaleY;\n index = blocksPerScanline * (j & mask3LSB) | (j & 7) << 3;\n\n for (x = 0; x < width; x++) {\n data[offset] = output[index + xScaleBlockOffset[x]];\n offset += numComponents;\n }\n }\n }\n\n var transform = this._decodeTransform;\n\n if (!isSourcePDF && numComponents === 4 && !transform) {\n transform = new Int32Array([-256, 255, -256, 255, -256, 255, -256, 255]);\n }\n\n if (transform) {\n for (i = 0; i < dataLength;) {\n for (j = 0, k = 0; j < numComponents; j++, i++, k += 2) {\n data[i] = (data[i] * transform[k] >> 8) + transform[k + 1];\n }\n }\n }\n\n return data;\n },\n\n get _isColorConversionNeeded() {\n if (this.adobe) {\n return !!this.adobe.transformCode;\n }\n\n if (this.numComponents === 3) {\n if (this._colorTransform === 0) {\n return false;\n } else if (this.components[0].index === 0x52 && this.components[1].index === 0x47 && this.components[2].index === 0x42) {\n return false;\n }\n\n return true;\n }\n\n if (this._colorTransform === 1) {\n return true;\n }\n\n return false;\n },\n\n _convertYccToRgb: function convertYccToRgb(data) {\n var Y, Cb, Cr;\n\n for (var i = 0, length = data.length; i < length; i += 3) {\n Y = data[i];\n Cb = data[i + 1];\n Cr = data[i + 2];\n data[i] = Y - 179.456 + 1.402 * Cr;\n data[i + 1] = Y + 135.459 - 0.344 * Cb - 0.714 * Cr;\n data[i + 2] = Y - 226.816 + 1.772 * Cb;\n }\n\n return data;\n },\n _convertYcckToRgb: function convertYcckToRgb(data) {\n var Y, Cb, Cr, k;\n var offset = 0;\n\n for (var i = 0, length = data.length; i < length; i += 4) {\n Y = data[i];\n Cb = data[i + 1];\n Cr = data[i + 2];\n k = data[i + 3];\n data[offset++] = -122.67195406894 + Cb * (-6.60635669420364e-5 * Cb + 0.000437130475926232 * Cr - 5.4080610064599e-5 * Y + 0.00048449797120281 * k - 0.154362151871126) + Cr * (-0.000957964378445773 * Cr + 0.000817076911346625 * Y - 0.00477271405408747 * k + 1.53380253221734) + Y * (0.000961250184130688 * Y - 0.00266257332283933 * k + 0.48357088451265) + k * (-0.000336197177618394 * k + 0.484791561490776);\n data[offset++] = 107.268039397724 + Cb * (2.19927104525741e-5 * Cb - 0.000640992018297945 * Cr + 0.000659397001245577 * Y + 0.000426105652938837 * k - 0.176491792462875) + Cr * (-0.000778269941513683 * Cr + 0.00130872261408275 * Y + 0.000770482631801132 * k - 0.151051492775562) + Y * (0.00126935368114843 * Y - 0.00265090189010898 * k + 0.25802910206845) + k * (-0.000318913117588328 * k - 0.213742400323665);\n data[offset++] = -20.810012546947 + Cb * (-0.000570115196973677 * Cb - 2.63409051004589e-5 * Cr + 0.0020741088115012 * Y - 0.00288260236853442 * k + 0.814272968359295) + Cr * (-1.53496057440975e-5 * Cr - 0.000132689043961446 * Y + 0.000560833691242812 * k - 0.195152027534049) + Y * (0.00174418132927582 * Y - 0.00255243321439347 * k + 0.116935020465145) + k * (-0.000343531996510555 * k + 0.24165260232407);\n }\n\n return data.subarray(0, offset);\n },\n _convertYcckToCmyk: function convertYcckToCmyk(data) {\n var Y, Cb, Cr;\n\n for (var i = 0, length = data.length; i < length; i += 4) {\n Y = data[i];\n Cb = data[i + 1];\n Cr = data[i + 2];\n data[i] = 434.456 - Y - 1.402 * Cr;\n data[i + 1] = 119.541 - Y + 0.344 * Cb + 0.714 * Cr;\n data[i + 2] = 481.816 - Y - 1.772 * Cb;\n }\n\n return data;\n },\n _convertCmykToRgb: function convertCmykToRgb(data) {\n var c, m, y, k;\n var offset = 0;\n\n for (var i = 0, length = data.length; i < length; i += 4) {\n c = data[i];\n m = data[i + 1];\n y = data[i + 2];\n k = data[i + 3];\n data[offset++] = 255 + c * (-0.00006747147073602441 * c + 0.0008379262121013727 * m + 0.0002894718188643294 * y + 0.003264231057537806 * k - 1.1185611867203937) + m * (0.000026374107616089405 * m - 0.00008626949158638572 * y - 0.0002748769067499491 * k - 0.02155688794978967) + y * (-0.00003878099212869363 * y - 0.0003267808279485286 * k + 0.0686742238595345) - k * (0.0003361971776183937 * k + 0.7430659151342254);\n data[offset++] = 255 + c * (0.00013596372813588848 * c + 0.000924537132573585 * m + 0.00010567359618683593 * y + 0.0004791864687436512 * k - 0.3109689587515875) + m * (-0.00023545346108370344 * m + 0.0002702845253534714 * y + 0.0020200308977307156 * k - 0.7488052167015494) + y * (0.00006834815998235662 * y + 0.00015168452363460973 * k - 0.09751927774728933) - k * (0.00031891311758832814 * k + 0.7364883807733168);\n data[offset++] = 255 + c * (0.000013598650411385307 * c + 0.00012423956175490851 * m + 0.0004751985097583589 * y - 0.0000036729317476630422 * k - 0.05562186980264034) + m * (0.00016141380598724676 * m + 0.0009692239130725186 * y + 0.0007782692450036253 * k - 0.44015232367526463) + y * (5.068882914068769e-7 * y + 0.0017778369011375071 * k - 0.7591454649749609) - k * (0.0003435319965105553 * k + 0.7063770186160144);\n }\n\n return data.subarray(0, offset);\n },\n getData: function getData(_ref3) {\n var width = _ref3.width,\n height = _ref3.height,\n _ref3$forceRGB = _ref3.forceRGB,\n forceRGB = _ref3$forceRGB === void 0 ? false : _ref3$forceRGB,\n _ref3$isSourcePDF = _ref3.isSourcePDF,\n isSourcePDF = _ref3$isSourcePDF === void 0 ? false : _ref3$isSourcePDF;\n\n if (this.numComponents > 4) {\n throw new JpegError(\"Unsupported color mode\");\n }\n\n var data = this._getLinearizedBlockData(width, height, isSourcePDF);\n\n if (this.numComponents === 1 && forceRGB) {\n var dataLength = data.length;\n var rgbData = new Uint8ClampedArray(dataLength * 3);\n var offset = 0;\n\n for (var i = 0; i < dataLength; i++) {\n var grayColor = data[i];\n rgbData[offset++] = grayColor;\n rgbData[offset++] = grayColor;\n rgbData[offset++] = grayColor;\n }\n\n return rgbData;\n } else if (this.numComponents === 3 && this._isColorConversionNeeded) {\n return this._convertYccToRgb(data);\n } else if (this.numComponents === 4) {\n if (this._isColorConversionNeeded) {\n if (forceRGB) {\n return this._convertYcckToRgb(data);\n }\n\n return this._convertYcckToCmyk(data);\n } else if (forceRGB) {\n return this._convertCmykToRgb(data);\n }\n }\n\n return data;\n }\n };\n return JpegImage;\n}();\n\nexports.JpegImage = JpegImage;\n\n/***/ }),\n/* 217 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.JpxStream = void 0;\n\nvar _stream = __w_pdfjs_require__(209);\n\nvar _jpx = __w_pdfjs_require__(218);\n\nvar _util = __w_pdfjs_require__(5);\n\nvar JpxStream = function JpxStreamClosure() {\n function JpxStream(stream, maybeLength, dict, params) {\n this.stream = stream;\n this.maybeLength = maybeLength;\n this.dict = dict;\n this.params = params;\n\n _stream.DecodeStream.call(this, maybeLength);\n }\n\n JpxStream.prototype = Object.create(_stream.DecodeStream.prototype);\n Object.defineProperty(JpxStream.prototype, \"bytes\", {\n get: function JpxStream_bytes() {\n return (0, _util.shadow)(this, \"bytes\", this.stream.getBytes(this.maybeLength));\n },\n configurable: true\n });\n\n JpxStream.prototype.ensureBuffer = function (requested) {};\n\n JpxStream.prototype.readBlock = function () {\n if (this.eof) {\n return;\n }\n\n var jpxImage = new _jpx.JpxImage();\n jpxImage.parse(this.bytes);\n var width = jpxImage.width;\n var height = jpxImage.height;\n var componentsCount = jpxImage.componentsCount;\n var tileCount = jpxImage.tiles.length;\n\n if (tileCount === 1) {\n this.buffer = jpxImage.tiles[0].items;\n } else {\n var data = new Uint8ClampedArray(width * height * componentsCount);\n\n for (var k = 0; k < tileCount; k++) {\n var tileComponents = jpxImage.tiles[k];\n var tileWidth = tileComponents.width;\n var tileHeight = tileComponents.height;\n var tileLeft = tileComponents.left;\n var tileTop = tileComponents.top;\n var src = tileComponents.items;\n var srcPosition = 0;\n var dataPosition = (width * tileTop + tileLeft) * componentsCount;\n var imgRowSize = width * componentsCount;\n var tileRowSize = tileWidth * componentsCount;\n\n for (var j = 0; j < tileHeight; j++) {\n var rowBytes = src.subarray(srcPosition, srcPosition + tileRowSize);\n data.set(rowBytes, dataPosition);\n srcPosition += tileRowSize;\n dataPosition += imgRowSize;\n }\n }\n\n this.buffer = data;\n }\n\n this.bufferLength = this.buffer.length;\n this.eof = true;\n };\n\n return JpxStream;\n}();\n\nexports.JpxStream = JpxStream;\n\n/***/ }),\n/* 218 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.JpxImage = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _core_utils = __w_pdfjs_require__(205);\n\nvar _arithmetic_decoder = __w_pdfjs_require__(214);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar JpxError = /*#__PURE__*/function (_BaseException) {\n _inherits(JpxError, _BaseException);\n\n var _super = _createSuper(JpxError);\n\n function JpxError(msg) {\n _classCallCheck(this, JpxError);\n\n return _super.call(this, \"JPX error: \".concat(msg));\n }\n\n return JpxError;\n}(_util.BaseException);\n\nvar JpxImage = function JpxImageClosure() {\n var SubbandsGainLog2 = {\n LL: 0,\n LH: 1,\n HL: 1,\n HH: 2\n };\n\n function JpxImage() {\n this.failOnCorruptedImage = false;\n }\n\n JpxImage.prototype = {\n parse: function JpxImage_parse(data) {\n var head = (0, _core_utils.readUint16)(data, 0);\n\n if (head === 0xff4f) {\n this.parseCodestream(data, 0, data.length);\n return;\n }\n\n var position = 0,\n length = data.length;\n\n while (position < length) {\n var headerSize = 8;\n var lbox = (0, _core_utils.readUint32)(data, position);\n var tbox = (0, _core_utils.readUint32)(data, position + 4);\n position += headerSize;\n\n if (lbox === 1) {\n lbox = (0, _core_utils.readUint32)(data, position) * 4294967296 + (0, _core_utils.readUint32)(data, position + 4);\n position += 8;\n headerSize += 8;\n }\n\n if (lbox === 0) {\n lbox = length - position + headerSize;\n }\n\n if (lbox < headerSize) {\n throw new JpxError(\"Invalid box field size\");\n }\n\n var dataLength = lbox - headerSize;\n var jumpDataLength = true;\n\n switch (tbox) {\n case 0x6a703268:\n jumpDataLength = false;\n break;\n\n case 0x636f6c72:\n var method = data[position];\n\n if (method === 1) {\n var colorspace = (0, _core_utils.readUint32)(data, position + 3);\n\n switch (colorspace) {\n case 16:\n case 17:\n case 18:\n break;\n\n default:\n (0, _util.warn)(\"Unknown colorspace \" + colorspace);\n break;\n }\n } else if (method === 2) {\n (0, _util.info)(\"ICC profile not supported\");\n }\n\n break;\n\n case 0x6a703263:\n this.parseCodestream(data, position, position + dataLength);\n break;\n\n case 0x6a502020:\n if ((0, _core_utils.readUint32)(data, position) !== 0x0d0a870a) {\n (0, _util.warn)(\"Invalid JP2 signature\");\n }\n\n break;\n\n case 0x6a501a1a:\n case 0x66747970:\n case 0x72726571:\n case 0x72657320:\n case 0x69686472:\n break;\n\n default:\n var headerType = String.fromCharCode(tbox >> 24 & 0xff, tbox >> 16 & 0xff, tbox >> 8 & 0xff, tbox & 0xff);\n (0, _util.warn)(\"Unsupported header type \" + tbox + \" (\" + headerType + \")\");\n break;\n }\n\n if (jumpDataLength) {\n position += dataLength;\n }\n }\n },\n parseImageProperties: function JpxImage_parseImageProperties(stream) {\n var newByte = stream.getByte();\n\n while (newByte >= 0) {\n var oldByte = newByte;\n newByte = stream.getByte();\n var code = oldByte << 8 | newByte;\n\n if (code === 0xff51) {\n stream.skip(4);\n var Xsiz = stream.getInt32() >>> 0;\n var Ysiz = stream.getInt32() >>> 0;\n var XOsiz = stream.getInt32() >>> 0;\n var YOsiz = stream.getInt32() >>> 0;\n stream.skip(16);\n var Csiz = stream.getUint16();\n this.width = Xsiz - XOsiz;\n this.height = Ysiz - YOsiz;\n this.componentsCount = Csiz;\n this.bitsPerComponent = 8;\n return;\n }\n }\n\n throw new JpxError(\"No size marker found in JPX stream\");\n },\n parseCodestream: function JpxImage_parseCodestream(data, start, end) {\n var context = {};\n var doNotRecover = false;\n\n try {\n var position = start;\n\n while (position + 1 < end) {\n var code = (0, _core_utils.readUint16)(data, position);\n position += 2;\n var length = 0,\n j,\n sqcd,\n spqcds,\n spqcdSize,\n scalarExpounded,\n tile;\n\n switch (code) {\n case 0xff4f:\n context.mainHeader = true;\n break;\n\n case 0xffd9:\n break;\n\n case 0xff51:\n length = (0, _core_utils.readUint16)(data, position);\n var siz = {};\n siz.Xsiz = (0, _core_utils.readUint32)(data, position + 4);\n siz.Ysiz = (0, _core_utils.readUint32)(data, position + 8);\n siz.XOsiz = (0, _core_utils.readUint32)(data, position + 12);\n siz.YOsiz = (0, _core_utils.readUint32)(data, position + 16);\n siz.XTsiz = (0, _core_utils.readUint32)(data, position + 20);\n siz.YTsiz = (0, _core_utils.readUint32)(data, position + 24);\n siz.XTOsiz = (0, _core_utils.readUint32)(data, position + 28);\n siz.YTOsiz = (0, _core_utils.readUint32)(data, position + 32);\n var componentsCount = (0, _core_utils.readUint16)(data, position + 36);\n siz.Csiz = componentsCount;\n var components = [];\n j = position + 38;\n\n for (var i = 0; i < componentsCount; i++) {\n var component = {\n precision: (data[j] & 0x7f) + 1,\n isSigned: !!(data[j] & 0x80),\n XRsiz: data[j + 1],\n YRsiz: data[j + 2]\n };\n j += 3;\n calculateComponentDimensions(component, siz);\n components.push(component);\n }\n\n context.SIZ = siz;\n context.components = components;\n calculateTileGrids(context, components);\n context.QCC = [];\n context.COC = [];\n break;\n\n case 0xff5c:\n length = (0, _core_utils.readUint16)(data, position);\n var qcd = {};\n j = position + 2;\n sqcd = data[j++];\n\n switch (sqcd & 0x1f) {\n case 0:\n spqcdSize = 8;\n scalarExpounded = true;\n break;\n\n case 1:\n spqcdSize = 16;\n scalarExpounded = false;\n break;\n\n case 2:\n spqcdSize = 16;\n scalarExpounded = true;\n break;\n\n default:\n throw new Error(\"Invalid SQcd value \" + sqcd);\n }\n\n qcd.noQuantization = spqcdSize === 8;\n qcd.scalarExpounded = scalarExpounded;\n qcd.guardBits = sqcd >> 5;\n spqcds = [];\n\n while (j < length + position) {\n var spqcd = {};\n\n if (spqcdSize === 8) {\n spqcd.epsilon = data[j++] >> 3;\n spqcd.mu = 0;\n } else {\n spqcd.epsilon = data[j] >> 3;\n spqcd.mu = (data[j] & 0x7) << 8 | data[j + 1];\n j += 2;\n }\n\n spqcds.push(spqcd);\n }\n\n qcd.SPqcds = spqcds;\n\n if (context.mainHeader) {\n context.QCD = qcd;\n } else {\n context.currentTile.QCD = qcd;\n context.currentTile.QCC = [];\n }\n\n break;\n\n case 0xff5d:\n length = (0, _core_utils.readUint16)(data, position);\n var qcc = {};\n j = position + 2;\n var cqcc;\n\n if (context.SIZ.Csiz < 257) {\n cqcc = data[j++];\n } else {\n cqcc = (0, _core_utils.readUint16)(data, j);\n j += 2;\n }\n\n sqcd = data[j++];\n\n switch (sqcd & 0x1f) {\n case 0:\n spqcdSize = 8;\n scalarExpounded = true;\n break;\n\n case 1:\n spqcdSize = 16;\n scalarExpounded = false;\n break;\n\n case 2:\n spqcdSize = 16;\n scalarExpounded = true;\n break;\n\n default:\n throw new Error(\"Invalid SQcd value \" + sqcd);\n }\n\n qcc.noQuantization = spqcdSize === 8;\n qcc.scalarExpounded = scalarExpounded;\n qcc.guardBits = sqcd >> 5;\n spqcds = [];\n\n while (j < length + position) {\n spqcd = {};\n\n if (spqcdSize === 8) {\n spqcd.epsilon = data[j++] >> 3;\n spqcd.mu = 0;\n } else {\n spqcd.epsilon = data[j] >> 3;\n spqcd.mu = (data[j] & 0x7) << 8 | data[j + 1];\n j += 2;\n }\n\n spqcds.push(spqcd);\n }\n\n qcc.SPqcds = spqcds;\n\n if (context.mainHeader) {\n context.QCC[cqcc] = qcc;\n } else {\n context.currentTile.QCC[cqcc] = qcc;\n }\n\n break;\n\n case 0xff52:\n length = (0, _core_utils.readUint16)(data, position);\n var cod = {};\n j = position + 2;\n var scod = data[j++];\n cod.entropyCoderWithCustomPrecincts = !!(scod & 1);\n cod.sopMarkerUsed = !!(scod & 2);\n cod.ephMarkerUsed = !!(scod & 4);\n cod.progressionOrder = data[j++];\n cod.layersCount = (0, _core_utils.readUint16)(data, j);\n j += 2;\n cod.multipleComponentTransform = data[j++];\n cod.decompositionLevelsCount = data[j++];\n cod.xcb = (data[j++] & 0xf) + 2;\n cod.ycb = (data[j++] & 0xf) + 2;\n var blockStyle = data[j++];\n cod.selectiveArithmeticCodingBypass = !!(blockStyle & 1);\n cod.resetContextProbabilities = !!(blockStyle & 2);\n cod.terminationOnEachCodingPass = !!(blockStyle & 4);\n cod.verticallyStripe = !!(blockStyle & 8);\n cod.predictableTermination = !!(blockStyle & 16);\n cod.segmentationSymbolUsed = !!(blockStyle & 32);\n cod.reversibleTransformation = data[j++];\n\n if (cod.entropyCoderWithCustomPrecincts) {\n var precinctsSizes = [];\n\n while (j < length + position) {\n var precinctsSize = data[j++];\n precinctsSizes.push({\n PPx: precinctsSize & 0xf,\n PPy: precinctsSize >> 4\n });\n }\n\n cod.precinctsSizes = precinctsSizes;\n }\n\n var unsupported = [];\n\n if (cod.selectiveArithmeticCodingBypass) {\n unsupported.push(\"selectiveArithmeticCodingBypass\");\n }\n\n if (cod.resetContextProbabilities) {\n unsupported.push(\"resetContextProbabilities\");\n }\n\n if (cod.terminationOnEachCodingPass) {\n unsupported.push(\"terminationOnEachCodingPass\");\n }\n\n if (cod.verticallyStripe) {\n unsupported.push(\"verticallyStripe\");\n }\n\n if (cod.predictableTermination) {\n unsupported.push(\"predictableTermination\");\n }\n\n if (unsupported.length > 0) {\n doNotRecover = true;\n throw new Error(\"Unsupported COD options (\" + unsupported.join(\", \") + \")\");\n }\n\n if (context.mainHeader) {\n context.COD = cod;\n } else {\n context.currentTile.COD = cod;\n context.currentTile.COC = [];\n }\n\n break;\n\n case 0xff90:\n length = (0, _core_utils.readUint16)(data, position);\n tile = {};\n tile.index = (0, _core_utils.readUint16)(data, position + 2);\n tile.length = (0, _core_utils.readUint32)(data, position + 4);\n tile.dataEnd = tile.length + position - 2;\n tile.partIndex = data[position + 8];\n tile.partsCount = data[position + 9];\n context.mainHeader = false;\n\n if (tile.partIndex === 0) {\n tile.COD = context.COD;\n tile.COC = context.COC.slice(0);\n tile.QCD = context.QCD;\n tile.QCC = context.QCC.slice(0);\n }\n\n context.currentTile = tile;\n break;\n\n case 0xff93:\n tile = context.currentTile;\n\n if (tile.partIndex === 0) {\n initializeTile(context, tile.index);\n buildPackets(context);\n }\n\n length = tile.dataEnd - position;\n parseTilePackets(context, data, position, length);\n break;\n\n case 0xff55:\n case 0xff57:\n case 0xff58:\n case 0xff64:\n length = (0, _core_utils.readUint16)(data, position);\n break;\n\n case 0xff53:\n throw new Error(\"Codestream code 0xFF53 (COC) is not implemented\");\n\n default:\n throw new Error(\"Unknown codestream code: \" + code.toString(16));\n }\n\n position += length;\n }\n } catch (e) {\n if (doNotRecover || this.failOnCorruptedImage) {\n throw new JpxError(e.message);\n } else {\n (0, _util.warn)(\"JPX: Trying to recover from: \" + e.message);\n }\n }\n\n this.tiles = transformComponents(context);\n this.width = context.SIZ.Xsiz - context.SIZ.XOsiz;\n this.height = context.SIZ.Ysiz - context.SIZ.YOsiz;\n this.componentsCount = context.SIZ.Csiz;\n }\n };\n\n function calculateComponentDimensions(component, siz) {\n component.x0 = Math.ceil(siz.XOsiz / component.XRsiz);\n component.x1 = Math.ceil(siz.Xsiz / component.XRsiz);\n component.y0 = Math.ceil(siz.YOsiz / component.YRsiz);\n component.y1 = Math.ceil(siz.Ysiz / component.YRsiz);\n component.width = component.x1 - component.x0;\n component.height = component.y1 - component.y0;\n }\n\n function calculateTileGrids(context, components) {\n var siz = context.SIZ;\n var tile,\n tiles = [];\n var numXtiles = Math.ceil((siz.Xsiz - siz.XTOsiz) / siz.XTsiz);\n var numYtiles = Math.ceil((siz.Ysiz - siz.YTOsiz) / siz.YTsiz);\n\n for (var q = 0; q < numYtiles; q++) {\n for (var p = 0; p < numXtiles; p++) {\n tile = {};\n tile.tx0 = Math.max(siz.XTOsiz + p * siz.XTsiz, siz.XOsiz);\n tile.ty0 = Math.max(siz.YTOsiz + q * siz.YTsiz, siz.YOsiz);\n tile.tx1 = Math.min(siz.XTOsiz + (p + 1) * siz.XTsiz, siz.Xsiz);\n tile.ty1 = Math.min(siz.YTOsiz + (q + 1) * siz.YTsiz, siz.Ysiz);\n tile.width = tile.tx1 - tile.tx0;\n tile.height = tile.ty1 - tile.ty0;\n tile.components = [];\n tiles.push(tile);\n }\n }\n\n context.tiles = tiles;\n var componentsCount = siz.Csiz;\n\n for (var i = 0, ii = componentsCount; i < ii; i++) {\n var component = components[i];\n\n for (var j = 0, jj = tiles.length; j < jj; j++) {\n var tileComponent = {};\n tile = tiles[j];\n tileComponent.tcx0 = Math.ceil(tile.tx0 / component.XRsiz);\n tileComponent.tcy0 = Math.ceil(tile.ty0 / component.YRsiz);\n tileComponent.tcx1 = Math.ceil(tile.tx1 / component.XRsiz);\n tileComponent.tcy1 = Math.ceil(tile.ty1 / component.YRsiz);\n tileComponent.width = tileComponent.tcx1 - tileComponent.tcx0;\n tileComponent.height = tileComponent.tcy1 - tileComponent.tcy0;\n tile.components[i] = tileComponent;\n }\n }\n }\n\n function getBlocksDimensions(context, component, r) {\n var codOrCoc = component.codingStyleParameters;\n var result = {};\n\n if (!codOrCoc.entropyCoderWithCustomPrecincts) {\n result.PPx = 15;\n result.PPy = 15;\n } else {\n result.PPx = codOrCoc.precinctsSizes[r].PPx;\n result.PPy = codOrCoc.precinctsSizes[r].PPy;\n }\n\n result.xcb_ = r > 0 ? Math.min(codOrCoc.xcb, result.PPx - 1) : Math.min(codOrCoc.xcb, result.PPx);\n result.ycb_ = r > 0 ? Math.min(codOrCoc.ycb, result.PPy - 1) : Math.min(codOrCoc.ycb, result.PPy);\n return result;\n }\n\n function buildPrecincts(context, resolution, dimensions) {\n var precinctWidth = 1 << dimensions.PPx;\n var precinctHeight = 1 << dimensions.PPy;\n var isZeroRes = resolution.resLevel === 0;\n var precinctWidthInSubband = 1 << dimensions.PPx + (isZeroRes ? 0 : -1);\n var precinctHeightInSubband = 1 << dimensions.PPy + (isZeroRes ? 0 : -1);\n var numprecinctswide = resolution.trx1 > resolution.trx0 ? Math.ceil(resolution.trx1 / precinctWidth) - Math.floor(resolution.trx0 / precinctWidth) : 0;\n var numprecinctshigh = resolution.try1 > resolution.try0 ? Math.ceil(resolution.try1 / precinctHeight) - Math.floor(resolution.try0 / precinctHeight) : 0;\n var numprecincts = numprecinctswide * numprecinctshigh;\n resolution.precinctParameters = {\n precinctWidth: precinctWidth,\n precinctHeight: precinctHeight,\n numprecinctswide: numprecinctswide,\n numprecinctshigh: numprecinctshigh,\n numprecincts: numprecincts,\n precinctWidthInSubband: precinctWidthInSubband,\n precinctHeightInSubband: precinctHeightInSubband\n };\n }\n\n function buildCodeblocks(context, subband, dimensions) {\n var xcb_ = dimensions.xcb_;\n var ycb_ = dimensions.ycb_;\n var codeblockWidth = 1 << xcb_;\n var codeblockHeight = 1 << ycb_;\n var cbx0 = subband.tbx0 >> xcb_;\n var cby0 = subband.tby0 >> ycb_;\n var cbx1 = subband.tbx1 + codeblockWidth - 1 >> xcb_;\n var cby1 = subband.tby1 + codeblockHeight - 1 >> ycb_;\n var precinctParameters = subband.resolution.precinctParameters;\n var codeblocks = [];\n var precincts = [];\n var i, j, codeblock, precinctNumber;\n\n for (j = cby0; j < cby1; j++) {\n for (i = cbx0; i < cbx1; i++) {\n codeblock = {\n cbx: i,\n cby: j,\n tbx0: codeblockWidth * i,\n tby0: codeblockHeight * j,\n tbx1: codeblockWidth * (i + 1),\n tby1: codeblockHeight * (j + 1)\n };\n codeblock.tbx0_ = Math.max(subband.tbx0, codeblock.tbx0);\n codeblock.tby0_ = Math.max(subband.tby0, codeblock.tby0);\n codeblock.tbx1_ = Math.min(subband.tbx1, codeblock.tbx1);\n codeblock.tby1_ = Math.min(subband.tby1, codeblock.tby1);\n var pi = Math.floor((codeblock.tbx0_ - subband.tbx0) / precinctParameters.precinctWidthInSubband);\n var pj = Math.floor((codeblock.tby0_ - subband.tby0) / precinctParameters.precinctHeightInSubband);\n precinctNumber = pi + pj * precinctParameters.numprecinctswide;\n codeblock.precinctNumber = precinctNumber;\n codeblock.subbandType = subband.type;\n codeblock.Lblock = 3;\n\n if (codeblock.tbx1_ <= codeblock.tbx0_ || codeblock.tby1_ <= codeblock.tby0_) {\n continue;\n }\n\n codeblocks.push(codeblock);\n var precinct = precincts[precinctNumber];\n\n if (precinct !== undefined) {\n if (i < precinct.cbxMin) {\n precinct.cbxMin = i;\n } else if (i > precinct.cbxMax) {\n precinct.cbxMax = i;\n }\n\n if (j < precinct.cbyMin) {\n precinct.cbxMin = j;\n } else if (j > precinct.cbyMax) {\n precinct.cbyMax = j;\n }\n } else {\n precincts[precinctNumber] = precinct = {\n cbxMin: i,\n cbyMin: j,\n cbxMax: i,\n cbyMax: j\n };\n }\n\n codeblock.precinct = precinct;\n }\n }\n\n subband.codeblockParameters = {\n codeblockWidth: xcb_,\n codeblockHeight: ycb_,\n numcodeblockwide: cbx1 - cbx0 + 1,\n numcodeblockhigh: cby1 - cby0 + 1\n };\n subband.codeblocks = codeblocks;\n subband.precincts = precincts;\n }\n\n function createPacket(resolution, precinctNumber, layerNumber) {\n var precinctCodeblocks = [];\n var subbands = resolution.subbands;\n\n for (var i = 0, ii = subbands.length; i < ii; i++) {\n var subband = subbands[i];\n var codeblocks = subband.codeblocks;\n\n for (var j = 0, jj = codeblocks.length; j < jj; j++) {\n var codeblock = codeblocks[j];\n\n if (codeblock.precinctNumber !== precinctNumber) {\n continue;\n }\n\n precinctCodeblocks.push(codeblock);\n }\n }\n\n return {\n layerNumber: layerNumber,\n codeblocks: precinctCodeblocks\n };\n }\n\n function LayerResolutionComponentPositionIterator(context) {\n var siz = context.SIZ;\n var tileIndex = context.currentTile.index;\n var tile = context.tiles[tileIndex];\n var layersCount = tile.codingStyleDefaultParameters.layersCount;\n var componentsCount = siz.Csiz;\n var maxDecompositionLevelsCount = 0;\n\n for (var q = 0; q < componentsCount; q++) {\n maxDecompositionLevelsCount = Math.max(maxDecompositionLevelsCount, tile.components[q].codingStyleParameters.decompositionLevelsCount);\n }\n\n var l = 0,\n r = 0,\n i = 0,\n k = 0;\n\n this.nextPacket = function JpxImage_nextPacket() {\n for (; l < layersCount; l++) {\n for (; r <= maxDecompositionLevelsCount; r++) {\n for (; i < componentsCount; i++) {\n var component = tile.components[i];\n\n if (r > component.codingStyleParameters.decompositionLevelsCount) {\n continue;\n }\n\n var resolution = component.resolutions[r];\n var numprecincts = resolution.precinctParameters.numprecincts;\n\n for (; k < numprecincts;) {\n var packet = createPacket(resolution, k, l);\n k++;\n return packet;\n }\n\n k = 0;\n }\n\n i = 0;\n }\n\n r = 0;\n }\n\n throw new JpxError(\"Out of packets\");\n };\n }\n\n function ResolutionLayerComponentPositionIterator(context) {\n var siz = context.SIZ;\n var tileIndex = context.currentTile.index;\n var tile = context.tiles[tileIndex];\n var layersCount = tile.codingStyleDefaultParameters.layersCount;\n var componentsCount = siz.Csiz;\n var maxDecompositionLevelsCount = 0;\n\n for (var q = 0; q < componentsCount; q++) {\n maxDecompositionLevelsCount = Math.max(maxDecompositionLevelsCount, tile.components[q].codingStyleParameters.decompositionLevelsCount);\n }\n\n var r = 0,\n l = 0,\n i = 0,\n k = 0;\n\n this.nextPacket = function JpxImage_nextPacket() {\n for (; r <= maxDecompositionLevelsCount; r++) {\n for (; l < layersCount; l++) {\n for (; i < componentsCount; i++) {\n var component = tile.components[i];\n\n if (r > component.codingStyleParameters.decompositionLevelsCount) {\n continue;\n }\n\n var resolution = component.resolutions[r];\n var numprecincts = resolution.precinctParameters.numprecincts;\n\n for (; k < numprecincts;) {\n var packet = createPacket(resolution, k, l);\n k++;\n return packet;\n }\n\n k = 0;\n }\n\n i = 0;\n }\n\n l = 0;\n }\n\n throw new JpxError(\"Out of packets\");\n };\n }\n\n function ResolutionPositionComponentLayerIterator(context) {\n var siz = context.SIZ;\n var tileIndex = context.currentTile.index;\n var tile = context.tiles[tileIndex];\n var layersCount = tile.codingStyleDefaultParameters.layersCount;\n var componentsCount = siz.Csiz;\n var l, r, c, p;\n var maxDecompositionLevelsCount = 0;\n\n for (c = 0; c < componentsCount; c++) {\n var component = tile.components[c];\n maxDecompositionLevelsCount = Math.max(maxDecompositionLevelsCount, component.codingStyleParameters.decompositionLevelsCount);\n }\n\n var maxNumPrecinctsInLevel = new Int32Array(maxDecompositionLevelsCount + 1);\n\n for (r = 0; r <= maxDecompositionLevelsCount; ++r) {\n var maxNumPrecincts = 0;\n\n for (c = 0; c < componentsCount; ++c) {\n var resolutions = tile.components[c].resolutions;\n\n if (r < resolutions.length) {\n maxNumPrecincts = Math.max(maxNumPrecincts, resolutions[r].precinctParameters.numprecincts);\n }\n }\n\n maxNumPrecinctsInLevel[r] = maxNumPrecincts;\n }\n\n l = 0;\n r = 0;\n c = 0;\n p = 0;\n\n this.nextPacket = function JpxImage_nextPacket() {\n for (; r <= maxDecompositionLevelsCount; r++) {\n for (; p < maxNumPrecinctsInLevel[r]; p++) {\n for (; c < componentsCount; c++) {\n var _component = tile.components[c];\n\n if (r > _component.codingStyleParameters.decompositionLevelsCount) {\n continue;\n }\n\n var resolution = _component.resolutions[r];\n var numprecincts = resolution.precinctParameters.numprecincts;\n\n if (p >= numprecincts) {\n continue;\n }\n\n for (; l < layersCount;) {\n var packet = createPacket(resolution, p, l);\n l++;\n return packet;\n }\n\n l = 0;\n }\n\n c = 0;\n }\n\n p = 0;\n }\n\n throw new JpxError(\"Out of packets\");\n };\n }\n\n function PositionComponentResolutionLayerIterator(context) {\n var siz = context.SIZ;\n var tileIndex = context.currentTile.index;\n var tile = context.tiles[tileIndex];\n var layersCount = tile.codingStyleDefaultParameters.layersCount;\n var componentsCount = siz.Csiz;\n var precinctsSizes = getPrecinctSizesInImageScale(tile);\n var precinctsIterationSizes = precinctsSizes;\n var l = 0,\n r = 0,\n c = 0,\n px = 0,\n py = 0;\n\n this.nextPacket = function JpxImage_nextPacket() {\n for (; py < precinctsIterationSizes.maxNumHigh; py++) {\n for (; px < precinctsIterationSizes.maxNumWide; px++) {\n for (; c < componentsCount; c++) {\n var component = tile.components[c];\n var decompositionLevelsCount = component.codingStyleParameters.decompositionLevelsCount;\n\n for (; r <= decompositionLevelsCount; r++) {\n var resolution = component.resolutions[r];\n var sizeInImageScale = precinctsSizes.components[c].resolutions[r];\n var k = getPrecinctIndexIfExist(px, py, sizeInImageScale, precinctsIterationSizes, resolution);\n\n if (k === null) {\n continue;\n }\n\n for (; l < layersCount;) {\n var packet = createPacket(resolution, k, l);\n l++;\n return packet;\n }\n\n l = 0;\n }\n\n r = 0;\n }\n\n c = 0;\n }\n\n px = 0;\n }\n\n throw new JpxError(\"Out of packets\");\n };\n }\n\n function ComponentPositionResolutionLayerIterator(context) {\n var siz = context.SIZ;\n var tileIndex = context.currentTile.index;\n var tile = context.tiles[tileIndex];\n var layersCount = tile.codingStyleDefaultParameters.layersCount;\n var componentsCount = siz.Csiz;\n var precinctsSizes = getPrecinctSizesInImageScale(tile);\n var l = 0,\n r = 0,\n c = 0,\n px = 0,\n py = 0;\n\n this.nextPacket = function JpxImage_nextPacket() {\n for (; c < componentsCount; ++c) {\n var component = tile.components[c];\n var precinctsIterationSizes = precinctsSizes.components[c];\n var decompositionLevelsCount = component.codingStyleParameters.decompositionLevelsCount;\n\n for (; py < precinctsIterationSizes.maxNumHigh; py++) {\n for (; px < precinctsIterationSizes.maxNumWide; px++) {\n for (; r <= decompositionLevelsCount; r++) {\n var resolution = component.resolutions[r];\n var sizeInImageScale = precinctsIterationSizes.resolutions[r];\n var k = getPrecinctIndexIfExist(px, py, sizeInImageScale, precinctsIterationSizes, resolution);\n\n if (k === null) {\n continue;\n }\n\n for (; l < layersCount;) {\n var packet = createPacket(resolution, k, l);\n l++;\n return packet;\n }\n\n l = 0;\n }\n\n r = 0;\n }\n\n px = 0;\n }\n\n py = 0;\n }\n\n throw new JpxError(\"Out of packets\");\n };\n }\n\n function getPrecinctIndexIfExist(pxIndex, pyIndex, sizeInImageScale, precinctIterationSizes, resolution) {\n var posX = pxIndex * precinctIterationSizes.minWidth;\n var posY = pyIndex * precinctIterationSizes.minHeight;\n\n if (posX % sizeInImageScale.width !== 0 || posY % sizeInImageScale.height !== 0) {\n return null;\n }\n\n var startPrecinctRowIndex = posY / sizeInImageScale.width * resolution.precinctParameters.numprecinctswide;\n return posX / sizeInImageScale.height + startPrecinctRowIndex;\n }\n\n function getPrecinctSizesInImageScale(tile) {\n var componentsCount = tile.components.length;\n var minWidth = Number.MAX_VALUE;\n var minHeight = Number.MAX_VALUE;\n var maxNumWide = 0;\n var maxNumHigh = 0;\n var sizePerComponent = new Array(componentsCount);\n\n for (var c = 0; c < componentsCount; c++) {\n var component = tile.components[c];\n var decompositionLevelsCount = component.codingStyleParameters.decompositionLevelsCount;\n var sizePerResolution = new Array(decompositionLevelsCount + 1);\n var minWidthCurrentComponent = Number.MAX_VALUE;\n var minHeightCurrentComponent = Number.MAX_VALUE;\n var maxNumWideCurrentComponent = 0;\n var maxNumHighCurrentComponent = 0;\n var scale = 1;\n\n for (var r = decompositionLevelsCount; r >= 0; --r) {\n var resolution = component.resolutions[r];\n var widthCurrentResolution = scale * resolution.precinctParameters.precinctWidth;\n var heightCurrentResolution = scale * resolution.precinctParameters.precinctHeight;\n minWidthCurrentComponent = Math.min(minWidthCurrentComponent, widthCurrentResolution);\n minHeightCurrentComponent = Math.min(minHeightCurrentComponent, heightCurrentResolution);\n maxNumWideCurrentComponent = Math.max(maxNumWideCurrentComponent, resolution.precinctParameters.numprecinctswide);\n maxNumHighCurrentComponent = Math.max(maxNumHighCurrentComponent, resolution.precinctParameters.numprecinctshigh);\n sizePerResolution[r] = {\n width: widthCurrentResolution,\n height: heightCurrentResolution\n };\n scale <<= 1;\n }\n\n minWidth = Math.min(minWidth, minWidthCurrentComponent);\n minHeight = Math.min(minHeight, minHeightCurrentComponent);\n maxNumWide = Math.max(maxNumWide, maxNumWideCurrentComponent);\n maxNumHigh = Math.max(maxNumHigh, maxNumHighCurrentComponent);\n sizePerComponent[c] = {\n resolutions: sizePerResolution,\n minWidth: minWidthCurrentComponent,\n minHeight: minHeightCurrentComponent,\n maxNumWide: maxNumWideCurrentComponent,\n maxNumHigh: maxNumHighCurrentComponent\n };\n }\n\n return {\n components: sizePerComponent,\n minWidth: minWidth,\n minHeight: minHeight,\n maxNumWide: maxNumWide,\n maxNumHigh: maxNumHigh\n };\n }\n\n function buildPackets(context) {\n var siz = context.SIZ;\n var tileIndex = context.currentTile.index;\n var tile = context.tiles[tileIndex];\n var componentsCount = siz.Csiz;\n\n for (var c = 0; c < componentsCount; c++) {\n var component = tile.components[c];\n var decompositionLevelsCount = component.codingStyleParameters.decompositionLevelsCount;\n var resolutions = [];\n var subbands = [];\n\n for (var r = 0; r <= decompositionLevelsCount; r++) {\n var blocksDimensions = getBlocksDimensions(context, component, r);\n var resolution = {};\n var scale = 1 << decompositionLevelsCount - r;\n resolution.trx0 = Math.ceil(component.tcx0 / scale);\n resolution.try0 = Math.ceil(component.tcy0 / scale);\n resolution.trx1 = Math.ceil(component.tcx1 / scale);\n resolution.try1 = Math.ceil(component.tcy1 / scale);\n resolution.resLevel = r;\n buildPrecincts(context, resolution, blocksDimensions);\n resolutions.push(resolution);\n var subband;\n\n if (r === 0) {\n subband = {};\n subband.type = \"LL\";\n subband.tbx0 = Math.ceil(component.tcx0 / scale);\n subband.tby0 = Math.ceil(component.tcy0 / scale);\n subband.tbx1 = Math.ceil(component.tcx1 / scale);\n subband.tby1 = Math.ceil(component.tcy1 / scale);\n subband.resolution = resolution;\n buildCodeblocks(context, subband, blocksDimensions);\n subbands.push(subband);\n resolution.subbands = [subband];\n } else {\n var bscale = 1 << decompositionLevelsCount - r + 1;\n var resolutionSubbands = [];\n subband = {};\n subband.type = \"HL\";\n subband.tbx0 = Math.ceil(component.tcx0 / bscale - 0.5);\n subband.tby0 = Math.ceil(component.tcy0 / bscale);\n subband.tbx1 = Math.ceil(component.tcx1 / bscale - 0.5);\n subband.tby1 = Math.ceil(component.tcy1 / bscale);\n subband.resolution = resolution;\n buildCodeblocks(context, subband, blocksDimensions);\n subbands.push(subband);\n resolutionSubbands.push(subband);\n subband = {};\n subband.type = \"LH\";\n subband.tbx0 = Math.ceil(component.tcx0 / bscale);\n subband.tby0 = Math.ceil(component.tcy0 / bscale - 0.5);\n subband.tbx1 = Math.ceil(component.tcx1 / bscale);\n subband.tby1 = Math.ceil(component.tcy1 / bscale - 0.5);\n subband.resolution = resolution;\n buildCodeblocks(context, subband, blocksDimensions);\n subbands.push(subband);\n resolutionSubbands.push(subband);\n subband = {};\n subband.type = \"HH\";\n subband.tbx0 = Math.ceil(component.tcx0 / bscale - 0.5);\n subband.tby0 = Math.ceil(component.tcy0 / bscale - 0.5);\n subband.tbx1 = Math.ceil(component.tcx1 / bscale - 0.5);\n subband.tby1 = Math.ceil(component.tcy1 / bscale - 0.5);\n subband.resolution = resolution;\n buildCodeblocks(context, subband, blocksDimensions);\n subbands.push(subband);\n resolutionSubbands.push(subband);\n resolution.subbands = resolutionSubbands;\n }\n }\n\n component.resolutions = resolutions;\n component.subbands = subbands;\n }\n\n var progressionOrder = tile.codingStyleDefaultParameters.progressionOrder;\n\n switch (progressionOrder) {\n case 0:\n tile.packetsIterator = new LayerResolutionComponentPositionIterator(context);\n break;\n\n case 1:\n tile.packetsIterator = new ResolutionLayerComponentPositionIterator(context);\n break;\n\n case 2:\n tile.packetsIterator = new ResolutionPositionComponentLayerIterator(context);\n break;\n\n case 3:\n tile.packetsIterator = new PositionComponentResolutionLayerIterator(context);\n break;\n\n case 4:\n tile.packetsIterator = new ComponentPositionResolutionLayerIterator(context);\n break;\n\n default:\n throw new JpxError(\"Unsupported progression order \".concat(progressionOrder));\n }\n }\n\n function parseTilePackets(context, data, offset, dataLength) {\n var position = 0;\n var buffer,\n bufferSize = 0,\n skipNextBit = false;\n\n function readBits(count) {\n while (bufferSize < count) {\n var b = data[offset + position];\n position++;\n\n if (skipNextBit) {\n buffer = buffer << 7 | b;\n bufferSize += 7;\n skipNextBit = false;\n } else {\n buffer = buffer << 8 | b;\n bufferSize += 8;\n }\n\n if (b === 0xff) {\n skipNextBit = true;\n }\n }\n\n bufferSize -= count;\n return buffer >>> bufferSize & (1 << count) - 1;\n }\n\n function skipMarkerIfEqual(value) {\n if (data[offset + position - 1] === 0xff && data[offset + position] === value) {\n skipBytes(1);\n return true;\n } else if (data[offset + position] === 0xff && data[offset + position + 1] === value) {\n skipBytes(2);\n return true;\n }\n\n return false;\n }\n\n function skipBytes(count) {\n position += count;\n }\n\n function alignToByte() {\n bufferSize = 0;\n\n if (skipNextBit) {\n position++;\n skipNextBit = false;\n }\n }\n\n function readCodingpasses() {\n if (readBits(1) === 0) {\n return 1;\n }\n\n if (readBits(1) === 0) {\n return 2;\n }\n\n var value = readBits(2);\n\n if (value < 3) {\n return value + 3;\n }\n\n value = readBits(5);\n\n if (value < 31) {\n return value + 6;\n }\n\n value = readBits(7);\n return value + 37;\n }\n\n var tileIndex = context.currentTile.index;\n var tile = context.tiles[tileIndex];\n var sopMarkerUsed = context.COD.sopMarkerUsed;\n var ephMarkerUsed = context.COD.ephMarkerUsed;\n var packetsIterator = tile.packetsIterator;\n\n while (position < dataLength) {\n alignToByte();\n\n if (sopMarkerUsed && skipMarkerIfEqual(0x91)) {\n skipBytes(4);\n }\n\n var packet = packetsIterator.nextPacket();\n\n if (!readBits(1)) {\n continue;\n }\n\n var layerNumber = packet.layerNumber;\n var queue = [],\n codeblock;\n\n for (var i = 0, ii = packet.codeblocks.length; i < ii; i++) {\n codeblock = packet.codeblocks[i];\n var precinct = codeblock.precinct;\n var codeblockColumn = codeblock.cbx - precinct.cbxMin;\n var codeblockRow = codeblock.cby - precinct.cbyMin;\n var codeblockIncluded = false;\n var firstTimeInclusion = false;\n var valueReady;\n\n if (codeblock.included !== undefined) {\n codeblockIncluded = !!readBits(1);\n } else {\n precinct = codeblock.precinct;\n var inclusionTree, zeroBitPlanesTree;\n\n if (precinct.inclusionTree !== undefined) {\n inclusionTree = precinct.inclusionTree;\n } else {\n var width = precinct.cbxMax - precinct.cbxMin + 1;\n var height = precinct.cbyMax - precinct.cbyMin + 1;\n inclusionTree = new InclusionTree(width, height, layerNumber);\n zeroBitPlanesTree = new TagTree(width, height);\n precinct.inclusionTree = inclusionTree;\n precinct.zeroBitPlanesTree = zeroBitPlanesTree;\n }\n\n if (inclusionTree.reset(codeblockColumn, codeblockRow, layerNumber)) {\n while (true) {\n if (readBits(1)) {\n valueReady = !inclusionTree.nextLevel();\n\n if (valueReady) {\n codeblock.included = true;\n codeblockIncluded = firstTimeInclusion = true;\n break;\n }\n } else {\n inclusionTree.incrementValue(layerNumber);\n break;\n }\n }\n }\n }\n\n if (!codeblockIncluded) {\n continue;\n }\n\n if (firstTimeInclusion) {\n zeroBitPlanesTree = precinct.zeroBitPlanesTree;\n zeroBitPlanesTree.reset(codeblockColumn, codeblockRow);\n\n while (true) {\n if (readBits(1)) {\n valueReady = !zeroBitPlanesTree.nextLevel();\n\n if (valueReady) {\n break;\n }\n } else {\n zeroBitPlanesTree.incrementValue();\n }\n }\n\n codeblock.zeroBitPlanes = zeroBitPlanesTree.value;\n }\n\n var codingpasses = readCodingpasses();\n\n while (readBits(1)) {\n codeblock.Lblock++;\n }\n\n var codingpassesLog2 = (0, _core_utils.log2)(codingpasses);\n var bits = (codingpasses < 1 << codingpassesLog2 ? codingpassesLog2 - 1 : codingpassesLog2) + codeblock.Lblock;\n var codedDataLength = readBits(bits);\n queue.push({\n codeblock: codeblock,\n codingpasses: codingpasses,\n dataLength: codedDataLength\n });\n }\n\n alignToByte();\n\n if (ephMarkerUsed) {\n skipMarkerIfEqual(0x92);\n }\n\n while (queue.length > 0) {\n var packetItem = queue.shift();\n codeblock = packetItem.codeblock;\n\n if (codeblock.data === undefined) {\n codeblock.data = [];\n }\n\n codeblock.data.push({\n data: data,\n start: offset + position,\n end: offset + position + packetItem.dataLength,\n codingpasses: packetItem.codingpasses\n });\n position += packetItem.dataLength;\n }\n }\n\n return position;\n }\n\n function copyCoefficients(coefficients, levelWidth, levelHeight, subband, delta, mb, reversible, segmentationSymbolUsed) {\n var x0 = subband.tbx0;\n var y0 = subband.tby0;\n var width = subband.tbx1 - subband.tbx0;\n var codeblocks = subband.codeblocks;\n var right = subband.type.charAt(0) === \"H\" ? 1 : 0;\n var bottom = subband.type.charAt(1) === \"H\" ? levelWidth : 0;\n\n for (var i = 0, ii = codeblocks.length; i < ii; ++i) {\n var codeblock = codeblocks[i];\n var blockWidth = codeblock.tbx1_ - codeblock.tbx0_;\n var blockHeight = codeblock.tby1_ - codeblock.tby0_;\n\n if (blockWidth === 0 || blockHeight === 0) {\n continue;\n }\n\n if (codeblock.data === undefined) {\n continue;\n }\n\n var bitModel, currentCodingpassType;\n bitModel = new BitModel(blockWidth, blockHeight, codeblock.subbandType, codeblock.zeroBitPlanes, mb);\n currentCodingpassType = 2;\n var data = codeblock.data,\n totalLength = 0,\n codingpasses = 0;\n var j, jj, dataItem;\n\n for (j = 0, jj = data.length; j < jj; j++) {\n dataItem = data[j];\n totalLength += dataItem.end - dataItem.start;\n codingpasses += dataItem.codingpasses;\n }\n\n var encodedData = new Uint8Array(totalLength);\n var position = 0;\n\n for (j = 0, jj = data.length; j < jj; j++) {\n dataItem = data[j];\n var chunk = dataItem.data.subarray(dataItem.start, dataItem.end);\n encodedData.set(chunk, position);\n position += chunk.length;\n }\n\n var decoder = new _arithmetic_decoder.ArithmeticDecoder(encodedData, 0, totalLength);\n bitModel.setDecoder(decoder);\n\n for (j = 0; j < codingpasses; j++) {\n switch (currentCodingpassType) {\n case 0:\n bitModel.runSignificancePropagationPass();\n break;\n\n case 1:\n bitModel.runMagnitudeRefinementPass();\n break;\n\n case 2:\n bitModel.runCleanupPass();\n\n if (segmentationSymbolUsed) {\n bitModel.checkSegmentationSymbol();\n }\n\n break;\n }\n\n currentCodingpassType = (currentCodingpassType + 1) % 3;\n }\n\n var offset = codeblock.tbx0_ - x0 + (codeblock.tby0_ - y0) * width;\n var sign = bitModel.coefficentsSign;\n var magnitude = bitModel.coefficentsMagnitude;\n var bitsDecoded = bitModel.bitsDecoded;\n var magnitudeCorrection = reversible ? 0 : 0.5;\n var k, n, nb;\n position = 0;\n var interleave = subband.type !== \"LL\";\n\n for (j = 0; j < blockHeight; j++) {\n var row = offset / width | 0;\n var levelOffset = 2 * row * (levelWidth - width) + right + bottom;\n\n for (k = 0; k < blockWidth; k++) {\n n = magnitude[position];\n\n if (n !== 0) {\n n = (n + magnitudeCorrection) * delta;\n\n if (sign[position] !== 0) {\n n = -n;\n }\n\n nb = bitsDecoded[position];\n var pos = interleave ? levelOffset + (offset << 1) : offset;\n\n if (reversible && nb >= mb) {\n coefficients[pos] = n;\n } else {\n coefficients[pos] = n * (1 << mb - nb);\n }\n }\n\n offset++;\n position++;\n }\n\n offset += width - blockWidth;\n }\n }\n }\n\n function transformTile(context, tile, c) {\n var component = tile.components[c];\n var codingStyleParameters = component.codingStyleParameters;\n var quantizationParameters = component.quantizationParameters;\n var decompositionLevelsCount = codingStyleParameters.decompositionLevelsCount;\n var spqcds = quantizationParameters.SPqcds;\n var scalarExpounded = quantizationParameters.scalarExpounded;\n var guardBits = quantizationParameters.guardBits;\n var segmentationSymbolUsed = codingStyleParameters.segmentationSymbolUsed;\n var precision = context.components[c].precision;\n var reversible = codingStyleParameters.reversibleTransformation;\n var transform = reversible ? new ReversibleTransform() : new IrreversibleTransform();\n var subbandCoefficients = [];\n var b = 0;\n\n for (var i = 0; i <= decompositionLevelsCount; i++) {\n var resolution = component.resolutions[i];\n var width = resolution.trx1 - resolution.trx0;\n var height = resolution.try1 - resolution.try0;\n var coefficients = new Float32Array(width * height);\n\n for (var j = 0, jj = resolution.subbands.length; j < jj; j++) {\n var mu, epsilon;\n\n if (!scalarExpounded) {\n mu = spqcds[0].mu;\n epsilon = spqcds[0].epsilon + (i > 0 ? 1 - i : 0);\n } else {\n mu = spqcds[b].mu;\n epsilon = spqcds[b].epsilon;\n b++;\n }\n\n var subband = resolution.subbands[j];\n var gainLog2 = SubbandsGainLog2[subband.type];\n var delta = reversible ? 1 : Math.pow(2, precision + gainLog2 - epsilon) * (1 + mu / 2048);\n var mb = guardBits + epsilon - 1;\n copyCoefficients(coefficients, width, height, subband, delta, mb, reversible, segmentationSymbolUsed);\n }\n\n subbandCoefficients.push({\n width: width,\n height: height,\n items: coefficients\n });\n }\n\n var result = transform.calculate(subbandCoefficients, component.tcx0, component.tcy0);\n return {\n left: component.tcx0,\n top: component.tcy0,\n width: result.width,\n height: result.height,\n items: result.items\n };\n }\n\n function transformComponents(context) {\n var siz = context.SIZ;\n var components = context.components;\n var componentsCount = siz.Csiz;\n var resultImages = [];\n\n for (var i = 0, ii = context.tiles.length; i < ii; i++) {\n var tile = context.tiles[i];\n var transformedTiles = [];\n var c;\n\n for (c = 0; c < componentsCount; c++) {\n transformedTiles[c] = transformTile(context, tile, c);\n }\n\n var tile0 = transformedTiles[0];\n var out = new Uint8ClampedArray(tile0.items.length * componentsCount);\n var result = {\n left: tile0.left,\n top: tile0.top,\n width: tile0.width,\n height: tile0.height,\n items: out\n };\n var shift, offset;\n var pos = 0,\n j,\n jj,\n y0,\n y1,\n y2;\n\n if (tile.codingStyleDefaultParameters.multipleComponentTransform) {\n var fourComponents = componentsCount === 4;\n var y0items = transformedTiles[0].items;\n var y1items = transformedTiles[1].items;\n var y2items = transformedTiles[2].items;\n var y3items = fourComponents ? transformedTiles[3].items : null;\n shift = components[0].precision - 8;\n offset = (128 << shift) + 0.5;\n var component0 = tile.components[0];\n var alpha01 = componentsCount - 3;\n jj = y0items.length;\n\n if (!component0.codingStyleParameters.reversibleTransformation) {\n for (j = 0; j < jj; j++, pos += alpha01) {\n y0 = y0items[j] + offset;\n y1 = y1items[j];\n y2 = y2items[j];\n out[pos++] = y0 + 1.402 * y2 >> shift;\n out[pos++] = y0 - 0.34413 * y1 - 0.71414 * y2 >> shift;\n out[pos++] = y0 + 1.772 * y1 >> shift;\n }\n } else {\n for (j = 0; j < jj; j++, pos += alpha01) {\n y0 = y0items[j] + offset;\n y1 = y1items[j];\n y2 = y2items[j];\n var g = y0 - (y2 + y1 >> 2);\n out[pos++] = g + y2 >> shift;\n out[pos++] = g >> shift;\n out[pos++] = g + y1 >> shift;\n }\n }\n\n if (fourComponents) {\n for (j = 0, pos = 3; j < jj; j++, pos += 4) {\n out[pos] = y3items[j] + offset >> shift;\n }\n }\n } else {\n for (c = 0; c < componentsCount; c++) {\n var items = transformedTiles[c].items;\n shift = components[c].precision - 8;\n offset = (128 << shift) + 0.5;\n\n for (pos = c, j = 0, jj = items.length; j < jj; j++) {\n out[pos] = items[j] + offset >> shift;\n pos += componentsCount;\n }\n }\n }\n\n resultImages.push(result);\n }\n\n return resultImages;\n }\n\n function initializeTile(context, tileIndex) {\n var siz = context.SIZ;\n var componentsCount = siz.Csiz;\n var tile = context.tiles[tileIndex];\n\n for (var c = 0; c < componentsCount; c++) {\n var component = tile.components[c];\n var qcdOrQcc = context.currentTile.QCC[c] !== undefined ? context.currentTile.QCC[c] : context.currentTile.QCD;\n component.quantizationParameters = qcdOrQcc;\n var codOrCoc = context.currentTile.COC[c] !== undefined ? context.currentTile.COC[c] : context.currentTile.COD;\n component.codingStyleParameters = codOrCoc;\n }\n\n tile.codingStyleDefaultParameters = context.currentTile.COD;\n }\n\n var TagTree = function TagTreeClosure() {\n function TagTree(width, height) {\n var levelsLength = (0, _core_utils.log2)(Math.max(width, height)) + 1;\n this.levels = [];\n\n for (var i = 0; i < levelsLength; i++) {\n var level = {\n width: width,\n height: height,\n items: []\n };\n this.levels.push(level);\n width = Math.ceil(width / 2);\n height = Math.ceil(height / 2);\n }\n }\n\n TagTree.prototype = {\n reset: function TagTree_reset(i, j) {\n var currentLevel = 0,\n value = 0,\n level;\n\n while (currentLevel < this.levels.length) {\n level = this.levels[currentLevel];\n var index = i + j * level.width;\n\n if (level.items[index] !== undefined) {\n value = level.items[index];\n break;\n }\n\n level.index = index;\n i >>= 1;\n j >>= 1;\n currentLevel++;\n }\n\n currentLevel--;\n level = this.levels[currentLevel];\n level.items[level.index] = value;\n this.currentLevel = currentLevel;\n delete this.value;\n },\n incrementValue: function TagTree_incrementValue() {\n var level = this.levels[this.currentLevel];\n level.items[level.index]++;\n },\n nextLevel: function TagTree_nextLevel() {\n var currentLevel = this.currentLevel;\n var level = this.levels[currentLevel];\n var value = level.items[level.index];\n currentLevel--;\n\n if (currentLevel < 0) {\n this.value = value;\n return false;\n }\n\n this.currentLevel = currentLevel;\n level = this.levels[currentLevel];\n level.items[level.index] = value;\n return true;\n }\n };\n return TagTree;\n }();\n\n var InclusionTree = function InclusionTreeClosure() {\n function InclusionTree(width, height, defaultValue) {\n var levelsLength = (0, _core_utils.log2)(Math.max(width, height)) + 1;\n this.levels = [];\n\n for (var i = 0; i < levelsLength; i++) {\n var items = new Uint8Array(width * height);\n\n for (var j = 0, jj = items.length; j < jj; j++) {\n items[j] = defaultValue;\n }\n\n var level = {\n width: width,\n height: height,\n items: items\n };\n this.levels.push(level);\n width = Math.ceil(width / 2);\n height = Math.ceil(height / 2);\n }\n }\n\n InclusionTree.prototype = {\n reset: function InclusionTree_reset(i, j, stopValue) {\n var currentLevel = 0;\n\n while (currentLevel < this.levels.length) {\n var level = this.levels[currentLevel];\n var index = i + j * level.width;\n level.index = index;\n var value = level.items[index];\n\n if (value === 0xff) {\n break;\n }\n\n if (value > stopValue) {\n this.currentLevel = currentLevel;\n this.propagateValues();\n return false;\n }\n\n i >>= 1;\n j >>= 1;\n currentLevel++;\n }\n\n this.currentLevel = currentLevel - 1;\n return true;\n },\n incrementValue: function InclusionTree_incrementValue(stopValue) {\n var level = this.levels[this.currentLevel];\n level.items[level.index] = stopValue + 1;\n this.propagateValues();\n },\n propagateValues: function InclusionTree_propagateValues() {\n var levelIndex = this.currentLevel;\n var level = this.levels[levelIndex];\n var currentValue = level.items[level.index];\n\n while (--levelIndex >= 0) {\n level = this.levels[levelIndex];\n level.items[level.index] = currentValue;\n }\n },\n nextLevel: function InclusionTree_nextLevel() {\n var currentLevel = this.currentLevel;\n var level = this.levels[currentLevel];\n var value = level.items[level.index];\n level.items[level.index] = 0xff;\n currentLevel--;\n\n if (currentLevel < 0) {\n return false;\n }\n\n this.currentLevel = currentLevel;\n level = this.levels[currentLevel];\n level.items[level.index] = value;\n return true;\n }\n };\n return InclusionTree;\n }();\n\n var BitModel = function BitModelClosure() {\n var UNIFORM_CONTEXT = 17;\n var RUNLENGTH_CONTEXT = 18;\n var LLAndLHContextsLabel = new Uint8Array([0, 5, 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 1, 6, 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 2, 6, 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 2, 6, 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 2, 6, 8, 0, 3, 7, 8, 0, 4, 7, 8]);\n var HLContextLabel = new Uint8Array([0, 3, 4, 0, 5, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 1, 3, 4, 0, 6, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 2, 3, 4, 0, 6, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 2, 3, 4, 0, 6, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 2, 3, 4, 0, 6, 7, 7, 0, 8, 8, 8]);\n var HHContextLabel = new Uint8Array([0, 1, 2, 0, 1, 2, 2, 0, 2, 2, 2, 0, 0, 0, 0, 0, 3, 4, 5, 0, 4, 5, 5, 0, 5, 5, 5, 0, 0, 0, 0, 0, 6, 7, 7, 0, 7, 7, 7, 0, 7, 7, 7, 0, 0, 0, 0, 0, 8, 8, 8, 0, 8, 8, 8, 0, 8, 8, 8, 0, 0, 0, 0, 0, 8, 8, 8, 0, 8, 8, 8, 0, 8, 8, 8]);\n\n function BitModel(width, height, subband, zeroBitPlanes, mb) {\n this.width = width;\n this.height = height;\n var contextLabelTable;\n\n if (subband === \"HH\") {\n contextLabelTable = HHContextLabel;\n } else if (subband === \"HL\") {\n contextLabelTable = HLContextLabel;\n } else {\n contextLabelTable = LLAndLHContextsLabel;\n }\n\n this.contextLabelTable = contextLabelTable;\n var coefficientCount = width * height;\n this.neighborsSignificance = new Uint8Array(coefficientCount);\n this.coefficentsSign = new Uint8Array(coefficientCount);\n var coefficentsMagnitude;\n\n if (mb > 14) {\n coefficentsMagnitude = new Uint32Array(coefficientCount);\n } else if (mb > 6) {\n coefficentsMagnitude = new Uint16Array(coefficientCount);\n } else {\n coefficentsMagnitude = new Uint8Array(coefficientCount);\n }\n\n this.coefficentsMagnitude = coefficentsMagnitude;\n this.processingFlags = new Uint8Array(coefficientCount);\n var bitsDecoded = new Uint8Array(coefficientCount);\n\n if (zeroBitPlanes !== 0) {\n for (var i = 0; i < coefficientCount; i++) {\n bitsDecoded[i] = zeroBitPlanes;\n }\n }\n\n this.bitsDecoded = bitsDecoded;\n this.reset();\n }\n\n BitModel.prototype = {\n setDecoder: function BitModel_setDecoder(decoder) {\n this.decoder = decoder;\n },\n reset: function BitModel_reset() {\n this.contexts = new Int8Array(19);\n this.contexts[0] = 4 << 1 | 0;\n this.contexts[UNIFORM_CONTEXT] = 46 << 1 | 0;\n this.contexts[RUNLENGTH_CONTEXT] = 3 << 1 | 0;\n },\n setNeighborsSignificance: function BitModel_setNeighborsSignificance(row, column, index) {\n var neighborsSignificance = this.neighborsSignificance;\n var width = this.width,\n height = this.height;\n var left = column > 0;\n var right = column + 1 < width;\n var i;\n\n if (row > 0) {\n i = index - width;\n\n if (left) {\n neighborsSignificance[i - 1] += 0x10;\n }\n\n if (right) {\n neighborsSignificance[i + 1] += 0x10;\n }\n\n neighborsSignificance[i] += 0x04;\n }\n\n if (row + 1 < height) {\n i = index + width;\n\n if (left) {\n neighborsSignificance[i - 1] += 0x10;\n }\n\n if (right) {\n neighborsSignificance[i + 1] += 0x10;\n }\n\n neighborsSignificance[i] += 0x04;\n }\n\n if (left) {\n neighborsSignificance[index - 1] += 0x01;\n }\n\n if (right) {\n neighborsSignificance[index + 1] += 0x01;\n }\n\n neighborsSignificance[index] |= 0x80;\n },\n runSignificancePropagationPass: function BitModel_runSignificancePropagationPass() {\n var decoder = this.decoder;\n var width = this.width,\n height = this.height;\n var coefficentsMagnitude = this.coefficentsMagnitude;\n var coefficentsSign = this.coefficentsSign;\n var neighborsSignificance = this.neighborsSignificance;\n var processingFlags = this.processingFlags;\n var contexts = this.contexts;\n var labels = this.contextLabelTable;\n var bitsDecoded = this.bitsDecoded;\n var processedInverseMask = ~1;\n var processedMask = 1;\n var firstMagnitudeBitMask = 2;\n\n for (var i0 = 0; i0 < height; i0 += 4) {\n for (var j = 0; j < width; j++) {\n var index = i0 * width + j;\n\n for (var i1 = 0; i1 < 4; i1++, index += width) {\n var i = i0 + i1;\n\n if (i >= height) {\n break;\n }\n\n processingFlags[index] &= processedInverseMask;\n\n if (coefficentsMagnitude[index] || !neighborsSignificance[index]) {\n continue;\n }\n\n var contextLabel = labels[neighborsSignificance[index]];\n var decision = decoder.readBit(contexts, contextLabel);\n\n if (decision) {\n var sign = this.decodeSignBit(i, j, index);\n coefficentsSign[index] = sign;\n coefficentsMagnitude[index] = 1;\n this.setNeighborsSignificance(i, j, index);\n processingFlags[index] |= firstMagnitudeBitMask;\n }\n\n bitsDecoded[index]++;\n processingFlags[index] |= processedMask;\n }\n }\n }\n },\n decodeSignBit: function BitModel_decodeSignBit(row, column, index) {\n var width = this.width,\n height = this.height;\n var coefficentsMagnitude = this.coefficentsMagnitude;\n var coefficentsSign = this.coefficentsSign;\n var contribution, sign0, sign1, significance1;\n var contextLabel, decoded;\n significance1 = column > 0 && coefficentsMagnitude[index - 1] !== 0;\n\n if (column + 1 < width && coefficentsMagnitude[index + 1] !== 0) {\n sign1 = coefficentsSign[index + 1];\n\n if (significance1) {\n sign0 = coefficentsSign[index - 1];\n contribution = 1 - sign1 - sign0;\n } else {\n contribution = 1 - sign1 - sign1;\n }\n } else if (significance1) {\n sign0 = coefficentsSign[index - 1];\n contribution = 1 - sign0 - sign0;\n } else {\n contribution = 0;\n }\n\n var horizontalContribution = 3 * contribution;\n significance1 = row > 0 && coefficentsMagnitude[index - width] !== 0;\n\n if (row + 1 < height && coefficentsMagnitude[index + width] !== 0) {\n sign1 = coefficentsSign[index + width];\n\n if (significance1) {\n sign0 = coefficentsSign[index - width];\n contribution = 1 - sign1 - sign0 + horizontalContribution;\n } else {\n contribution = 1 - sign1 - sign1 + horizontalContribution;\n }\n } else if (significance1) {\n sign0 = coefficentsSign[index - width];\n contribution = 1 - sign0 - sign0 + horizontalContribution;\n } else {\n contribution = horizontalContribution;\n }\n\n if (contribution >= 0) {\n contextLabel = 9 + contribution;\n decoded = this.decoder.readBit(this.contexts, contextLabel);\n } else {\n contextLabel = 9 - contribution;\n decoded = this.decoder.readBit(this.contexts, contextLabel) ^ 1;\n }\n\n return decoded;\n },\n runMagnitudeRefinementPass: function BitModel_runMagnitudeRefinementPass() {\n var decoder = this.decoder;\n var width = this.width,\n height = this.height;\n var coefficentsMagnitude = this.coefficentsMagnitude;\n var neighborsSignificance = this.neighborsSignificance;\n var contexts = this.contexts;\n var bitsDecoded = this.bitsDecoded;\n var processingFlags = this.processingFlags;\n var processedMask = 1;\n var firstMagnitudeBitMask = 2;\n var length = width * height;\n var width4 = width * 4;\n\n for (var index0 = 0, indexNext; index0 < length; index0 = indexNext) {\n indexNext = Math.min(length, index0 + width4);\n\n for (var j = 0; j < width; j++) {\n for (var index = index0 + j; index < indexNext; index += width) {\n if (!coefficentsMagnitude[index] || (processingFlags[index] & processedMask) !== 0) {\n continue;\n }\n\n var contextLabel = 16;\n\n if ((processingFlags[index] & firstMagnitudeBitMask) !== 0) {\n processingFlags[index] ^= firstMagnitudeBitMask;\n var significance = neighborsSignificance[index] & 127;\n contextLabel = significance === 0 ? 15 : 14;\n }\n\n var bit = decoder.readBit(contexts, contextLabel);\n coefficentsMagnitude[index] = coefficentsMagnitude[index] << 1 | bit;\n bitsDecoded[index]++;\n processingFlags[index] |= processedMask;\n }\n }\n }\n },\n runCleanupPass: function BitModel_runCleanupPass() {\n var decoder = this.decoder;\n var width = this.width,\n height = this.height;\n var neighborsSignificance = this.neighborsSignificance;\n var coefficentsMagnitude = this.coefficentsMagnitude;\n var coefficentsSign = this.coefficentsSign;\n var contexts = this.contexts;\n var labels = this.contextLabelTable;\n var bitsDecoded = this.bitsDecoded;\n var processingFlags = this.processingFlags;\n var processedMask = 1;\n var firstMagnitudeBitMask = 2;\n var oneRowDown = width;\n var twoRowsDown = width * 2;\n var threeRowsDown = width * 3;\n var iNext;\n\n for (var i0 = 0; i0 < height; i0 = iNext) {\n iNext = Math.min(i0 + 4, height);\n var indexBase = i0 * width;\n var checkAllEmpty = i0 + 3 < height;\n\n for (var j = 0; j < width; j++) {\n var index0 = indexBase + j;\n var allEmpty = checkAllEmpty && processingFlags[index0] === 0 && processingFlags[index0 + oneRowDown] === 0 && processingFlags[index0 + twoRowsDown] === 0 && processingFlags[index0 + threeRowsDown] === 0 && neighborsSignificance[index0] === 0 && neighborsSignificance[index0 + oneRowDown] === 0 && neighborsSignificance[index0 + twoRowsDown] === 0 && neighborsSignificance[index0 + threeRowsDown] === 0;\n var i1 = 0,\n index = index0;\n var i = i0,\n sign;\n\n if (allEmpty) {\n var hasSignificantCoefficent = decoder.readBit(contexts, RUNLENGTH_CONTEXT);\n\n if (!hasSignificantCoefficent) {\n bitsDecoded[index0]++;\n bitsDecoded[index0 + oneRowDown]++;\n bitsDecoded[index0 + twoRowsDown]++;\n bitsDecoded[index0 + threeRowsDown]++;\n continue;\n }\n\n i1 = decoder.readBit(contexts, UNIFORM_CONTEXT) << 1 | decoder.readBit(contexts, UNIFORM_CONTEXT);\n\n if (i1 !== 0) {\n i = i0 + i1;\n index += i1 * width;\n }\n\n sign = this.decodeSignBit(i, j, index);\n coefficentsSign[index] = sign;\n coefficentsMagnitude[index] = 1;\n this.setNeighborsSignificance(i, j, index);\n processingFlags[index] |= firstMagnitudeBitMask;\n index = index0;\n\n for (var i2 = i0; i2 <= i; i2++, index += width) {\n bitsDecoded[index]++;\n }\n\n i1++;\n }\n\n for (i = i0 + i1; i < iNext; i++, index += width) {\n if (coefficentsMagnitude[index] || (processingFlags[index] & processedMask) !== 0) {\n continue;\n }\n\n var contextLabel = labels[neighborsSignificance[index]];\n var decision = decoder.readBit(contexts, contextLabel);\n\n if (decision === 1) {\n sign = this.decodeSignBit(i, j, index);\n coefficentsSign[index] = sign;\n coefficentsMagnitude[index] = 1;\n this.setNeighborsSignificance(i, j, index);\n processingFlags[index] |= firstMagnitudeBitMask;\n }\n\n bitsDecoded[index]++;\n }\n }\n }\n },\n checkSegmentationSymbol: function BitModel_checkSegmentationSymbol() {\n var decoder = this.decoder;\n var contexts = this.contexts;\n var symbol = decoder.readBit(contexts, UNIFORM_CONTEXT) << 3 | decoder.readBit(contexts, UNIFORM_CONTEXT) << 2 | decoder.readBit(contexts, UNIFORM_CONTEXT) << 1 | decoder.readBit(contexts, UNIFORM_CONTEXT);\n\n if (symbol !== 0xa) {\n throw new JpxError(\"Invalid segmentation symbol\");\n }\n }\n };\n return BitModel;\n }();\n\n var Transform = function TransformClosure() {\n function Transform() {}\n\n Transform.prototype.calculate = function transformCalculate(subbands, u0, v0) {\n var ll = subbands[0];\n\n for (var i = 1, ii = subbands.length; i < ii; i++) {\n ll = this.iterate(ll, subbands[i], u0, v0);\n }\n\n return ll;\n };\n\n Transform.prototype.extend = function extend(buffer, offset, size) {\n var i1 = offset - 1,\n j1 = offset + 1;\n var i2 = offset + size - 2,\n j2 = offset + size;\n buffer[i1--] = buffer[j1++];\n buffer[j2++] = buffer[i2--];\n buffer[i1--] = buffer[j1++];\n buffer[j2++] = buffer[i2--];\n buffer[i1--] = buffer[j1++];\n buffer[j2++] = buffer[i2--];\n buffer[i1] = buffer[j1];\n buffer[j2] = buffer[i2];\n };\n\n Transform.prototype.iterate = function Transform_iterate(ll, hl_lh_hh, u0, v0) {\n var llWidth = ll.width,\n llHeight = ll.height,\n llItems = ll.items;\n var width = hl_lh_hh.width;\n var height = hl_lh_hh.height;\n var items = hl_lh_hh.items;\n var i, j, k, l, u, v;\n\n for (k = 0, i = 0; i < llHeight; i++) {\n l = i * 2 * width;\n\n for (j = 0; j < llWidth; j++, k++, l += 2) {\n items[l] = llItems[k];\n }\n }\n\n llItems = ll.items = null;\n var bufferPadding = 4;\n var rowBuffer = new Float32Array(width + 2 * bufferPadding);\n\n if (width === 1) {\n if ((u0 & 1) !== 0) {\n for (v = 0, k = 0; v < height; v++, k += width) {\n items[k] *= 0.5;\n }\n }\n } else {\n for (v = 0, k = 0; v < height; v++, k += width) {\n rowBuffer.set(items.subarray(k, k + width), bufferPadding);\n this.extend(rowBuffer, bufferPadding, width);\n this.filter(rowBuffer, bufferPadding, width);\n items.set(rowBuffer.subarray(bufferPadding, bufferPadding + width), k);\n }\n }\n\n var numBuffers = 16;\n var colBuffers = [];\n\n for (i = 0; i < numBuffers; i++) {\n colBuffers.push(new Float32Array(height + 2 * bufferPadding));\n }\n\n var b,\n currentBuffer = 0;\n ll = bufferPadding + height;\n\n if (height === 1) {\n if ((v0 & 1) !== 0) {\n for (u = 0; u < width; u++) {\n items[u] *= 0.5;\n }\n }\n } else {\n for (u = 0; u < width; u++) {\n if (currentBuffer === 0) {\n numBuffers = Math.min(width - u, numBuffers);\n\n for (k = u, l = bufferPadding; l < ll; k += width, l++) {\n for (b = 0; b < numBuffers; b++) {\n colBuffers[b][l] = items[k + b];\n }\n }\n\n currentBuffer = numBuffers;\n }\n\n currentBuffer--;\n var buffer = colBuffers[currentBuffer];\n this.extend(buffer, bufferPadding, height);\n this.filter(buffer, bufferPadding, height);\n\n if (currentBuffer === 0) {\n k = u - numBuffers + 1;\n\n for (l = bufferPadding; l < ll; k += width, l++) {\n for (b = 0; b < numBuffers; b++) {\n items[k + b] = colBuffers[b][l];\n }\n }\n }\n }\n }\n\n return {\n width: width,\n height: height,\n items: items\n };\n };\n\n return Transform;\n }();\n\n var IrreversibleTransform = function IrreversibleTransformClosure() {\n function IrreversibleTransform() {\n Transform.call(this);\n }\n\n IrreversibleTransform.prototype = Object.create(Transform.prototype);\n\n IrreversibleTransform.prototype.filter = function irreversibleTransformFilter(x, offset, length) {\n var len = length >> 1;\n offset = offset | 0;\n var j, n, current, next;\n var alpha = -1.586134342059924;\n var beta = -0.052980118572961;\n var gamma = 0.882911075530934;\n var delta = 0.443506852043971;\n var K = 1.230174104914001;\n var K_ = 1 / K;\n j = offset - 3;\n\n for (n = len + 4; n--; j += 2) {\n x[j] *= K_;\n }\n\n j = offset - 2;\n current = delta * x[j - 1];\n\n for (n = len + 3; n--; j += 2) {\n next = delta * x[j + 1];\n x[j] = K * x[j] - current - next;\n\n if (n--) {\n j += 2;\n current = delta * x[j + 1];\n x[j] = K * x[j] - current - next;\n } else {\n break;\n }\n }\n\n j = offset - 1;\n current = gamma * x[j - 1];\n\n for (n = len + 2; n--; j += 2) {\n next = gamma * x[j + 1];\n x[j] -= current + next;\n\n if (n--) {\n j += 2;\n current = gamma * x[j + 1];\n x[j] -= current + next;\n } else {\n break;\n }\n }\n\n j = offset;\n current = beta * x[j - 1];\n\n for (n = len + 1; n--; j += 2) {\n next = beta * x[j + 1];\n x[j] -= current + next;\n\n if (n--) {\n j += 2;\n current = beta * x[j + 1];\n x[j] -= current + next;\n } else {\n break;\n }\n }\n\n if (len !== 0) {\n j = offset + 1;\n current = alpha * x[j - 1];\n\n for (n = len; n--; j += 2) {\n next = alpha * x[j + 1];\n x[j] -= current + next;\n\n if (n--) {\n j += 2;\n current = alpha * x[j + 1];\n x[j] -= current + next;\n } else {\n break;\n }\n }\n }\n };\n\n return IrreversibleTransform;\n }();\n\n var ReversibleTransform = function ReversibleTransformClosure() {\n function ReversibleTransform() {\n Transform.call(this);\n }\n\n ReversibleTransform.prototype = Object.create(Transform.prototype);\n\n ReversibleTransform.prototype.filter = function reversibleTransformFilter(x, offset, length) {\n var len = length >> 1;\n offset = offset | 0;\n var j, n;\n\n for (j = offset, n = len + 1; n--; j += 2) {\n x[j] -= x[j - 1] + x[j + 1] + 2 >> 2;\n }\n\n for (j = offset + 1, n = len; n--; j += 2) {\n x[j] += x[j - 1] + x[j + 1] >> 1;\n }\n };\n\n return ReversibleTransform;\n }();\n\n return JpxImage;\n}();\n\nexports.JpxImage = JpxImage;\n\n/***/ }),\n/* 219 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.calculateSHA512 = exports.calculateSHA384 = exports.calculateSHA256 = exports.calculateMD5 = exports.PDF20 = exports.PDF17 = exports.CipherTransformFactory = exports.ARCFourCipher = exports.AES256Cipher = exports.AES128Cipher = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(202);\n\nvar _stream = __w_pdfjs_require__(209);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar ARCFourCipher = function ARCFourCipherClosure() {\n function ARCFourCipher(key) {\n this.a = 0;\n this.b = 0;\n var s = new Uint8Array(256);\n var i,\n j = 0,\n tmp,\n keyLength = key.length;\n\n for (i = 0; i < 256; ++i) {\n s[i] = i;\n }\n\n for (i = 0; i < 256; ++i) {\n tmp = s[i];\n j = j + tmp + key[i % keyLength] & 0xff;\n s[i] = s[j];\n s[j] = tmp;\n }\n\n this.s = s;\n }\n\n ARCFourCipher.prototype = {\n encryptBlock: function ARCFourCipher_encryptBlock(data) {\n var i,\n n = data.length,\n tmp,\n tmp2;\n var a = this.a,\n b = this.b,\n s = this.s;\n var output = new Uint8Array(n);\n\n for (i = 0; i < n; ++i) {\n a = a + 1 & 0xff;\n tmp = s[a];\n b = b + tmp & 0xff;\n tmp2 = s[b];\n s[a] = tmp2;\n s[b] = tmp;\n output[i] = data[i] ^ s[tmp + tmp2 & 0xff];\n }\n\n this.a = a;\n this.b = b;\n return output;\n }\n };\n ARCFourCipher.prototype.decryptBlock = ARCFourCipher.prototype.encryptBlock;\n ARCFourCipher.prototype.encrypt = ARCFourCipher.prototype.encryptBlock;\n return ARCFourCipher;\n}();\n\nexports.ARCFourCipher = ARCFourCipher;\n\nvar calculateMD5 = function calculateMD5Closure() {\n var r = new Uint8Array([7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21]);\n var k = new Int32Array([-680876936, -389564586, 606105819, -1044525330, -176418897, 1200080426, -1473231341, -45705983, 1770035416, -1958414417, -42063, -1990404162, 1804603682, -40341101, -1502002290, 1236535329, -165796510, -1069501632, 643717713, -373897302, -701558691, 38016083, -660478335, -405537848, 568446438, -1019803690, -187363961, 1163531501, -1444681467, -51403784, 1735328473, -1926607734, -378558, -2022574463, 1839030562, -35309556, -1530992060, 1272893353, -155497632, -1094730640, 681279174, -358537222, -722521979, 76029189, -640364487, -421815835, 530742520, -995338651, -198630844, 1126891415, -1416354905, -57434055, 1700485571, -1894986606, -1051523, -2054922799, 1873313359, -30611744, -1560198380, 1309151649, -145523070, -1120210379, 718787259, -343485551]);\n\n function hash(data, offset, length) {\n var h0 = 1732584193,\n h1 = -271733879,\n h2 = -1732584194,\n h3 = 271733878;\n var paddedLength = length + 72 & ~63;\n var padded = new Uint8Array(paddedLength);\n var i, j, n;\n\n for (i = 0; i < length; ++i) {\n padded[i] = data[offset++];\n }\n\n padded[i++] = 0x80;\n n = paddedLength - 8;\n\n while (i < n) {\n padded[i++] = 0;\n }\n\n padded[i++] = length << 3 & 0xff;\n padded[i++] = length >> 5 & 0xff;\n padded[i++] = length >> 13 & 0xff;\n padded[i++] = length >> 21 & 0xff;\n padded[i++] = length >>> 29 & 0xff;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n var w = new Int32Array(16);\n\n for (i = 0; i < paddedLength;) {\n for (j = 0; j < 16; ++j, i += 4) {\n w[j] = padded[i] | padded[i + 1] << 8 | padded[i + 2] << 16 | padded[i + 3] << 24;\n }\n\n var a = h0,\n b = h1,\n c = h2,\n d = h3,\n f,\n g;\n\n for (j = 0; j < 64; ++j) {\n if (j < 16) {\n f = b & c | ~b & d;\n g = j;\n } else if (j < 32) {\n f = d & b | ~d & c;\n g = 5 * j + 1 & 15;\n } else if (j < 48) {\n f = b ^ c ^ d;\n g = 3 * j + 5 & 15;\n } else {\n f = c ^ (b | ~d);\n g = 7 * j & 15;\n }\n\n var tmp = d,\n rotateArg = a + f + k[j] + w[g] | 0,\n rotate = r[j];\n d = c;\n c = b;\n b = b + (rotateArg << rotate | rotateArg >>> 32 - rotate) | 0;\n a = tmp;\n }\n\n h0 = h0 + a | 0;\n h1 = h1 + b | 0;\n h2 = h2 + c | 0;\n h3 = h3 + d | 0;\n }\n\n return new Uint8Array([h0 & 0xFF, h0 >> 8 & 0xFF, h0 >> 16 & 0xFF, h0 >>> 24 & 0xFF, h1 & 0xFF, h1 >> 8 & 0xFF, h1 >> 16 & 0xFF, h1 >>> 24 & 0xFF, h2 & 0xFF, h2 >> 8 & 0xFF, h2 >> 16 & 0xFF, h2 >>> 24 & 0xFF, h3 & 0xFF, h3 >> 8 & 0xFF, h3 >> 16 & 0xFF, h3 >>> 24 & 0xFF]);\n }\n\n return hash;\n}();\n\nexports.calculateMD5 = calculateMD5;\n\nvar Word64 = function Word64Closure() {\n function Word64(highInteger, lowInteger) {\n this.high = highInteger | 0;\n this.low = lowInteger | 0;\n }\n\n Word64.prototype = {\n and: function Word64_and(word) {\n this.high &= word.high;\n this.low &= word.low;\n },\n xor: function Word64_xor(word) {\n this.high ^= word.high;\n this.low ^= word.low;\n },\n or: function Word64_or(word) {\n this.high |= word.high;\n this.low |= word.low;\n },\n shiftRight: function Word64_shiftRight(places) {\n if (places >= 32) {\n this.low = this.high >>> places - 32 | 0;\n this.high = 0;\n } else {\n this.low = this.low >>> places | this.high << 32 - places;\n this.high = this.high >>> places | 0;\n }\n },\n shiftLeft: function Word64_shiftLeft(places) {\n if (places >= 32) {\n this.high = this.low << places - 32;\n this.low = 0;\n } else {\n this.high = this.high << places | this.low >>> 32 - places;\n this.low = this.low << places;\n }\n },\n rotateRight: function Word64_rotateRight(places) {\n var low, high;\n\n if (places & 32) {\n high = this.low;\n low = this.high;\n } else {\n low = this.low;\n high = this.high;\n }\n\n places &= 31;\n this.low = low >>> places | high << 32 - places;\n this.high = high >>> places | low << 32 - places;\n },\n not: function Word64_not() {\n this.high = ~this.high;\n this.low = ~this.low;\n },\n add: function Word64_add(word) {\n var lowAdd = (this.low >>> 0) + (word.low >>> 0);\n var highAdd = (this.high >>> 0) + (word.high >>> 0);\n\n if (lowAdd > 0xffffffff) {\n highAdd += 1;\n }\n\n this.low = lowAdd | 0;\n this.high = highAdd | 0;\n },\n copyTo: function Word64_copyTo(bytes, offset) {\n bytes[offset] = this.high >>> 24 & 0xff;\n bytes[offset + 1] = this.high >> 16 & 0xff;\n bytes[offset + 2] = this.high >> 8 & 0xff;\n bytes[offset + 3] = this.high & 0xff;\n bytes[offset + 4] = this.low >>> 24 & 0xff;\n bytes[offset + 5] = this.low >> 16 & 0xff;\n bytes[offset + 6] = this.low >> 8 & 0xff;\n bytes[offset + 7] = this.low & 0xff;\n },\n assign: function Word64_assign(word) {\n this.high = word.high;\n this.low = word.low;\n }\n };\n return Word64;\n}();\n\nvar calculateSHA256 = function calculateSHA256Closure() {\n function rotr(x, n) {\n return x >>> n | x << 32 - n;\n }\n\n function ch(x, y, z) {\n return x & y ^ ~x & z;\n }\n\n function maj(x, y, z) {\n return x & y ^ x & z ^ y & z;\n }\n\n function sigma(x) {\n return rotr(x, 2) ^ rotr(x, 13) ^ rotr(x, 22);\n }\n\n function sigmaPrime(x) {\n return rotr(x, 6) ^ rotr(x, 11) ^ rotr(x, 25);\n }\n\n function littleSigma(x) {\n return rotr(x, 7) ^ rotr(x, 18) ^ x >>> 3;\n }\n\n function littleSigmaPrime(x) {\n return rotr(x, 17) ^ rotr(x, 19) ^ x >>> 10;\n }\n\n var k = [0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070, 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2];\n\n function hash(data, offset, length) {\n var h0 = 0x6a09e667,\n h1 = 0xbb67ae85,\n h2 = 0x3c6ef372,\n h3 = 0xa54ff53a,\n h4 = 0x510e527f,\n h5 = 0x9b05688c,\n h6 = 0x1f83d9ab,\n h7 = 0x5be0cd19;\n var paddedLength = Math.ceil((length + 9) / 64) * 64;\n var padded = new Uint8Array(paddedLength);\n var i, j, n;\n\n for (i = 0; i < length; ++i) {\n padded[i] = data[offset++];\n }\n\n padded[i++] = 0x80;\n n = paddedLength - 8;\n\n while (i < n) {\n padded[i++] = 0;\n }\n\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = length >>> 29 & 0xff;\n padded[i++] = length >> 21 & 0xff;\n padded[i++] = length >> 13 & 0xff;\n padded[i++] = length >> 5 & 0xff;\n padded[i++] = length << 3 & 0xff;\n var w = new Uint32Array(64);\n\n for (i = 0; i < paddedLength;) {\n for (j = 0; j < 16; ++j) {\n w[j] = padded[i] << 24 | padded[i + 1] << 16 | padded[i + 2] << 8 | padded[i + 3];\n i += 4;\n }\n\n for (j = 16; j < 64; ++j) {\n w[j] = littleSigmaPrime(w[j - 2]) + w[j - 7] + littleSigma(w[j - 15]) + w[j - 16] | 0;\n }\n\n var a = h0,\n b = h1,\n c = h2,\n d = h3,\n e = h4,\n f = h5,\n g = h6,\n h = h7,\n t1,\n t2;\n\n for (j = 0; j < 64; ++j) {\n t1 = h + sigmaPrime(e) + ch(e, f, g) + k[j] + w[j];\n t2 = sigma(a) + maj(a, b, c);\n h = g;\n g = f;\n f = e;\n e = d + t1 | 0;\n d = c;\n c = b;\n b = a;\n a = t1 + t2 | 0;\n }\n\n h0 = h0 + a | 0;\n h1 = h1 + b | 0;\n h2 = h2 + c | 0;\n h3 = h3 + d | 0;\n h4 = h4 + e | 0;\n h5 = h5 + f | 0;\n h6 = h6 + g | 0;\n h7 = h7 + h | 0;\n }\n\n return new Uint8Array([h0 >> 24 & 0xFF, h0 >> 16 & 0xFF, h0 >> 8 & 0xFF, h0 & 0xFF, h1 >> 24 & 0xFF, h1 >> 16 & 0xFF, h1 >> 8 & 0xFF, h1 & 0xFF, h2 >> 24 & 0xFF, h2 >> 16 & 0xFF, h2 >> 8 & 0xFF, h2 & 0xFF, h3 >> 24 & 0xFF, h3 >> 16 & 0xFF, h3 >> 8 & 0xFF, h3 & 0xFF, h4 >> 24 & 0xFF, h4 >> 16 & 0xFF, h4 >> 8 & 0xFF, h4 & 0xFF, h5 >> 24 & 0xFF, h5 >> 16 & 0xFF, h5 >> 8 & 0xFF, h5 & 0xFF, h6 >> 24 & 0xFF, h6 >> 16 & 0xFF, h6 >> 8 & 0xFF, h6 & 0xFF, h7 >> 24 & 0xFF, h7 >> 16 & 0xFF, h7 >> 8 & 0xFF, h7 & 0xFF]);\n }\n\n return hash;\n}();\n\nexports.calculateSHA256 = calculateSHA256;\n\nvar calculateSHA512 = function calculateSHA512Closure() {\n function ch(result, x, y, z, tmp) {\n result.assign(x);\n result.and(y);\n tmp.assign(x);\n tmp.not();\n tmp.and(z);\n result.xor(tmp);\n }\n\n function maj(result, x, y, z, tmp) {\n result.assign(x);\n result.and(y);\n tmp.assign(x);\n tmp.and(z);\n result.xor(tmp);\n tmp.assign(y);\n tmp.and(z);\n result.xor(tmp);\n }\n\n function sigma(result, x, tmp) {\n result.assign(x);\n result.rotateRight(28);\n tmp.assign(x);\n tmp.rotateRight(34);\n result.xor(tmp);\n tmp.assign(x);\n tmp.rotateRight(39);\n result.xor(tmp);\n }\n\n function sigmaPrime(result, x, tmp) {\n result.assign(x);\n result.rotateRight(14);\n tmp.assign(x);\n tmp.rotateRight(18);\n result.xor(tmp);\n tmp.assign(x);\n tmp.rotateRight(41);\n result.xor(tmp);\n }\n\n function littleSigma(result, x, tmp) {\n result.assign(x);\n result.rotateRight(1);\n tmp.assign(x);\n tmp.rotateRight(8);\n result.xor(tmp);\n tmp.assign(x);\n tmp.shiftRight(7);\n result.xor(tmp);\n }\n\n function littleSigmaPrime(result, x, tmp) {\n result.assign(x);\n result.rotateRight(19);\n tmp.assign(x);\n tmp.rotateRight(61);\n result.xor(tmp);\n tmp.assign(x);\n tmp.shiftRight(6);\n result.xor(tmp);\n }\n\n var k = [new Word64(0x428a2f98, 0xd728ae22), new Word64(0x71374491, 0x23ef65cd), new Word64(0xb5c0fbcf, 0xec4d3b2f), new Word64(0xe9b5dba5, 0x8189dbbc), new Word64(0x3956c25b, 0xf348b538), new Word64(0x59f111f1, 0xb605d019), new Word64(0x923f82a4, 0xaf194f9b), new Word64(0xab1c5ed5, 0xda6d8118), new Word64(0xd807aa98, 0xa3030242), new Word64(0x12835b01, 0x45706fbe), new Word64(0x243185be, 0x4ee4b28c), new Word64(0x550c7dc3, 0xd5ffb4e2), new Word64(0x72be5d74, 0xf27b896f), new Word64(0x80deb1fe, 0x3b1696b1), new Word64(0x9bdc06a7, 0x25c71235), new Word64(0xc19bf174, 0xcf692694), new Word64(0xe49b69c1, 0x9ef14ad2), new Word64(0xefbe4786, 0x384f25e3), new Word64(0x0fc19dc6, 0x8b8cd5b5), new Word64(0x240ca1cc, 0x77ac9c65), new Word64(0x2de92c6f, 0x592b0275), new Word64(0x4a7484aa, 0x6ea6e483), new Word64(0x5cb0a9dc, 0xbd41fbd4), new Word64(0x76f988da, 0x831153b5), new Word64(0x983e5152, 0xee66dfab), new Word64(0xa831c66d, 0x2db43210), new Word64(0xb00327c8, 0x98fb213f), new Word64(0xbf597fc7, 0xbeef0ee4), new Word64(0xc6e00bf3, 0x3da88fc2), new Word64(0xd5a79147, 0x930aa725), new Word64(0x06ca6351, 0xe003826f), new Word64(0x14292967, 0x0a0e6e70), new Word64(0x27b70a85, 0x46d22ffc), new Word64(0x2e1b2138, 0x5c26c926), new Word64(0x4d2c6dfc, 0x5ac42aed), new Word64(0x53380d13, 0x9d95b3df), new Word64(0x650a7354, 0x8baf63de), new Word64(0x766a0abb, 0x3c77b2a8), new Word64(0x81c2c92e, 0x47edaee6), new Word64(0x92722c85, 0x1482353b), new Word64(0xa2bfe8a1, 0x4cf10364), new Word64(0xa81a664b, 0xbc423001), new Word64(0xc24b8b70, 0xd0f89791), new Word64(0xc76c51a3, 0x0654be30), new Word64(0xd192e819, 0xd6ef5218), new Word64(0xd6990624, 0x5565a910), new Word64(0xf40e3585, 0x5771202a), new Word64(0x106aa070, 0x32bbd1b8), new Word64(0x19a4c116, 0xb8d2d0c8), new Word64(0x1e376c08, 0x5141ab53), new Word64(0x2748774c, 0xdf8eeb99), new Word64(0x34b0bcb5, 0xe19b48a8), new Word64(0x391c0cb3, 0xc5c95a63), new Word64(0x4ed8aa4a, 0xe3418acb), new Word64(0x5b9cca4f, 0x7763e373), new Word64(0x682e6ff3, 0xd6b2b8a3), new Word64(0x748f82ee, 0x5defb2fc), new Word64(0x78a5636f, 0x43172f60), new Word64(0x84c87814, 0xa1f0ab72), new Word64(0x8cc70208, 0x1a6439ec), new Word64(0x90befffa, 0x23631e28), new Word64(0xa4506ceb, 0xde82bde9), new Word64(0xbef9a3f7, 0xb2c67915), new Word64(0xc67178f2, 0xe372532b), new Word64(0xca273ece, 0xea26619c), new Word64(0xd186b8c7, 0x21c0c207), new Word64(0xeada7dd6, 0xcde0eb1e), new Word64(0xf57d4f7f, 0xee6ed178), new Word64(0x06f067aa, 0x72176fba), new Word64(0x0a637dc5, 0xa2c898a6), new Word64(0x113f9804, 0xbef90dae), new Word64(0x1b710b35, 0x131c471b), new Word64(0x28db77f5, 0x23047d84), new Word64(0x32caab7b, 0x40c72493), new Word64(0x3c9ebe0a, 0x15c9bebc), new Word64(0x431d67c4, 0x9c100d4c), new Word64(0x4cc5d4be, 0xcb3e42b6), new Word64(0x597f299c, 0xfc657e2a), new Word64(0x5fcb6fab, 0x3ad6faec), new Word64(0x6c44198c, 0x4a475817)];\n\n function hash(data, offset, length, mode384) {\n mode384 = !!mode384;\n var h0, h1, h2, h3, h4, h5, h6, h7;\n\n if (!mode384) {\n h0 = new Word64(0x6a09e667, 0xf3bcc908);\n h1 = new Word64(0xbb67ae85, 0x84caa73b);\n h2 = new Word64(0x3c6ef372, 0xfe94f82b);\n h3 = new Word64(0xa54ff53a, 0x5f1d36f1);\n h4 = new Word64(0x510e527f, 0xade682d1);\n h5 = new Word64(0x9b05688c, 0x2b3e6c1f);\n h6 = new Word64(0x1f83d9ab, 0xfb41bd6b);\n h7 = new Word64(0x5be0cd19, 0x137e2179);\n } else {\n h0 = new Word64(0xcbbb9d5d, 0xc1059ed8);\n h1 = new Word64(0x629a292a, 0x367cd507);\n h2 = new Word64(0x9159015a, 0x3070dd17);\n h3 = new Word64(0x152fecd8, 0xf70e5939);\n h4 = new Word64(0x67332667, 0xffc00b31);\n h5 = new Word64(0x8eb44a87, 0x68581511);\n h6 = new Word64(0xdb0c2e0d, 0x64f98fa7);\n h7 = new Word64(0x47b5481d, 0xbefa4fa4);\n }\n\n var paddedLength = Math.ceil((length + 17) / 128) * 128;\n var padded = new Uint8Array(paddedLength);\n var i, j, n;\n\n for (i = 0; i < length; ++i) {\n padded[i] = data[offset++];\n }\n\n padded[i++] = 0x80;\n n = paddedLength - 16;\n\n while (i < n) {\n padded[i++] = 0;\n }\n\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = length >>> 29 & 0xff;\n padded[i++] = length >> 21 & 0xff;\n padded[i++] = length >> 13 & 0xff;\n padded[i++] = length >> 5 & 0xff;\n padded[i++] = length << 3 & 0xff;\n var w = new Array(80);\n\n for (i = 0; i < 80; i++) {\n w[i] = new Word64(0, 0);\n }\n\n var a = new Word64(0, 0),\n b = new Word64(0, 0),\n c = new Word64(0, 0);\n var d = new Word64(0, 0),\n e = new Word64(0, 0),\n f = new Word64(0, 0);\n var g = new Word64(0, 0),\n h = new Word64(0, 0);\n var t1 = new Word64(0, 0),\n t2 = new Word64(0, 0);\n var tmp1 = new Word64(0, 0),\n tmp2 = new Word64(0, 0),\n tmp3;\n\n for (i = 0; i < paddedLength;) {\n for (j = 0; j < 16; ++j) {\n w[j].high = padded[i] << 24 | padded[i + 1] << 16 | padded[i + 2] << 8 | padded[i + 3];\n w[j].low = padded[i + 4] << 24 | padded[i + 5] << 16 | padded[i + 6] << 8 | padded[i + 7];\n i += 8;\n }\n\n for (j = 16; j < 80; ++j) {\n tmp3 = w[j];\n littleSigmaPrime(tmp3, w[j - 2], tmp2);\n tmp3.add(w[j - 7]);\n littleSigma(tmp1, w[j - 15], tmp2);\n tmp3.add(tmp1);\n tmp3.add(w[j - 16]);\n }\n\n a.assign(h0);\n b.assign(h1);\n c.assign(h2);\n d.assign(h3);\n e.assign(h4);\n f.assign(h5);\n g.assign(h6);\n h.assign(h7);\n\n for (j = 0; j < 80; ++j) {\n t1.assign(h);\n sigmaPrime(tmp1, e, tmp2);\n t1.add(tmp1);\n ch(tmp1, e, f, g, tmp2);\n t1.add(tmp1);\n t1.add(k[j]);\n t1.add(w[j]);\n sigma(t2, a, tmp2);\n maj(tmp1, a, b, c, tmp2);\n t2.add(tmp1);\n tmp3 = h;\n h = g;\n g = f;\n f = e;\n d.add(t1);\n e = d;\n d = c;\n c = b;\n b = a;\n tmp3.assign(t1);\n tmp3.add(t2);\n a = tmp3;\n }\n\n h0.add(a);\n h1.add(b);\n h2.add(c);\n h3.add(d);\n h4.add(e);\n h5.add(f);\n h6.add(g);\n h7.add(h);\n }\n\n var result;\n\n if (!mode384) {\n result = new Uint8Array(64);\n h0.copyTo(result, 0);\n h1.copyTo(result, 8);\n h2.copyTo(result, 16);\n h3.copyTo(result, 24);\n h4.copyTo(result, 32);\n h5.copyTo(result, 40);\n h6.copyTo(result, 48);\n h7.copyTo(result, 56);\n } else {\n result = new Uint8Array(48);\n h0.copyTo(result, 0);\n h1.copyTo(result, 8);\n h2.copyTo(result, 16);\n h3.copyTo(result, 24);\n h4.copyTo(result, 32);\n h5.copyTo(result, 40);\n }\n\n return result;\n }\n\n return hash;\n}();\n\nexports.calculateSHA512 = calculateSHA512;\n\nvar calculateSHA384 = function calculateSHA384Closure() {\n function hash(data, offset, length) {\n return calculateSHA512(data, offset, length, true);\n }\n\n return hash;\n}();\n\nexports.calculateSHA384 = calculateSHA384;\n\nvar NullCipher = function NullCipherClosure() {\n function NullCipher() {}\n\n NullCipher.prototype = {\n decryptBlock: function NullCipher_decryptBlock(data) {\n return data;\n },\n encrypt: function NullCipher_encrypt(data) {\n return data;\n }\n };\n return NullCipher;\n}();\n\nvar AESBaseCipher = /*#__PURE__*/function () {\n function AESBaseCipher() {\n _classCallCheck(this, AESBaseCipher);\n\n if (this.constructor === AESBaseCipher) {\n (0, _util.unreachable)(\"Cannot initialize AESBaseCipher.\");\n }\n\n this._s = new Uint8Array([0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76, 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0, 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15, 0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a, 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75, 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0, 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84, 0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b, 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf, 0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85, 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8, 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5, 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2, 0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17, 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73, 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88, 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb, 0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c, 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79, 0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9, 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08, 0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6, 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a, 0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e, 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e, 0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94, 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf, 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16]);\n this._inv_s = new Uint8Array([0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38, 0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7, 0xfb, 0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87, 0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb, 0x54, 0x7b, 0x94, 0x32, 0xa6, 0xc2, 0x23, 0x3d, 0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e, 0x08, 0x2e, 0xa1, 0x66, 0x28, 0xd9, 0x24, 0xb2, 0x76, 0x5b, 0xa2, 0x49, 0x6d, 0x8b, 0xd1, 0x25, 0x72, 0xf8, 0xf6, 0x64, 0x86, 0x68, 0x98, 0x16, 0xd4, 0xa4, 0x5c, 0xcc, 0x5d, 0x65, 0xb6, 0x92, 0x6c, 0x70, 0x48, 0x50, 0xfd, 0xed, 0xb9, 0xda, 0x5e, 0x15, 0x46, 0x57, 0xa7, 0x8d, 0x9d, 0x84, 0x90, 0xd8, 0xab, 0x00, 0x8c, 0xbc, 0xd3, 0x0a, 0xf7, 0xe4, 0x58, 0x05, 0xb8, 0xb3, 0x45, 0x06, 0xd0, 0x2c, 0x1e, 0x8f, 0xca, 0x3f, 0x0f, 0x02, 0xc1, 0xaf, 0xbd, 0x03, 0x01, 0x13, 0x8a, 0x6b, 0x3a, 0x91, 0x11, 0x41, 0x4f, 0x67, 0xdc, 0xea, 0x97, 0xf2, 0xcf, 0xce, 0xf0, 0xb4, 0xe6, 0x73, 0x96, 0xac, 0x74, 0x22, 0xe7, 0xad, 0x35, 0x85, 0xe2, 0xf9, 0x37, 0xe8, 0x1c, 0x75, 0xdf, 0x6e, 0x47, 0xf1, 0x1a, 0x71, 0x1d, 0x29, 0xc5, 0x89, 0x6f, 0xb7, 0x62, 0x0e, 0xaa, 0x18, 0xbe, 0x1b, 0xfc, 0x56, 0x3e, 0x4b, 0xc6, 0xd2, 0x79, 0x20, 0x9a, 0xdb, 0xc0, 0xfe, 0x78, 0xcd, 0x5a, 0xf4, 0x1f, 0xdd, 0xa8, 0x33, 0x88, 0x07, 0xc7, 0x31, 0xb1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xec, 0x5f, 0x60, 0x51, 0x7f, 0xa9, 0x19, 0xb5, 0x4a, 0x0d, 0x2d, 0xe5, 0x7a, 0x9f, 0x93, 0xc9, 0x9c, 0xef, 0xa0, 0xe0, 0x3b, 0x4d, 0xae, 0x2a, 0xf5, 0xb0, 0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61, 0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26, 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d]);\n this._mix = new Uint32Array([0x00000000, 0x0e090d0b, 0x1c121a16, 0x121b171d, 0x3824342c, 0x362d3927, 0x24362e3a, 0x2a3f2331, 0x70486858, 0x7e416553, 0x6c5a724e, 0x62537f45, 0x486c5c74, 0x4665517f, 0x547e4662, 0x5a774b69, 0xe090d0b0, 0xee99ddbb, 0xfc82caa6, 0xf28bc7ad, 0xd8b4e49c, 0xd6bde997, 0xc4a6fe8a, 0xcaaff381, 0x90d8b8e8, 0x9ed1b5e3, 0x8ccaa2fe, 0x82c3aff5, 0xa8fc8cc4, 0xa6f581cf, 0xb4ee96d2, 0xbae79bd9, 0xdb3bbb7b, 0xd532b670, 0xc729a16d, 0xc920ac66, 0xe31f8f57, 0xed16825c, 0xff0d9541, 0xf104984a, 0xab73d323, 0xa57ade28, 0xb761c935, 0xb968c43e, 0x9357e70f, 0x9d5eea04, 0x8f45fd19, 0x814cf012, 0x3bab6bcb, 0x35a266c0, 0x27b971dd, 0x29b07cd6, 0x038f5fe7, 0x0d8652ec, 0x1f9d45f1, 0x119448fa, 0x4be30393, 0x45ea0e98, 0x57f11985, 0x59f8148e, 0x73c737bf, 0x7dce3ab4, 0x6fd52da9, 0x61dc20a2, 0xad766df6, 0xa37f60fd, 0xb16477e0, 0xbf6d7aeb, 0x955259da, 0x9b5b54d1, 0x894043cc, 0x87494ec7, 0xdd3e05ae, 0xd33708a5, 0xc12c1fb8, 0xcf2512b3, 0xe51a3182, 0xeb133c89, 0xf9082b94, 0xf701269f, 0x4de6bd46, 0x43efb04d, 0x51f4a750, 0x5ffdaa5b, 0x75c2896a, 0x7bcb8461, 0x69d0937c, 0x67d99e77, 0x3daed51e, 0x33a7d815, 0x21bccf08, 0x2fb5c203, 0x058ae132, 0x0b83ec39, 0x1998fb24, 0x1791f62f, 0x764dd68d, 0x7844db86, 0x6a5fcc9b, 0x6456c190, 0x4e69e2a1, 0x4060efaa, 0x527bf8b7, 0x5c72f5bc, 0x0605bed5, 0x080cb3de, 0x1a17a4c3, 0x141ea9c8, 0x3e218af9, 0x302887f2, 0x223390ef, 0x2c3a9de4, 0x96dd063d, 0x98d40b36, 0x8acf1c2b, 0x84c61120, 0xaef93211, 0xa0f03f1a, 0xb2eb2807, 0xbce2250c, 0xe6956e65, 0xe89c636e, 0xfa877473, 0xf48e7978, 0xdeb15a49, 0xd0b85742, 0xc2a3405f, 0xccaa4d54, 0x41ecdaf7, 0x4fe5d7fc, 0x5dfec0e1, 0x53f7cdea, 0x79c8eedb, 0x77c1e3d0, 0x65daf4cd, 0x6bd3f9c6, 0x31a4b2af, 0x3fadbfa4, 0x2db6a8b9, 0x23bfa5b2, 0x09808683, 0x07898b88, 0x15929c95, 0x1b9b919e, 0xa17c0a47, 0xaf75074c, 0xbd6e1051, 0xb3671d5a, 0x99583e6b, 0x97513360, 0x854a247d, 0x8b432976, 0xd134621f, 0xdf3d6f14, 0xcd267809, 0xc32f7502, 0xe9105633, 0xe7195b38, 0xf5024c25, 0xfb0b412e, 0x9ad7618c, 0x94de6c87, 0x86c57b9a, 0x88cc7691, 0xa2f355a0, 0xacfa58ab, 0xbee14fb6, 0xb0e842bd, 0xea9f09d4, 0xe49604df, 0xf68d13c2, 0xf8841ec9, 0xd2bb3df8, 0xdcb230f3, 0xcea927ee, 0xc0a02ae5, 0x7a47b13c, 0x744ebc37, 0x6655ab2a, 0x685ca621, 0x42638510, 0x4c6a881b, 0x5e719f06, 0x5078920d, 0x0a0fd964, 0x0406d46f, 0x161dc372, 0x1814ce79, 0x322bed48, 0x3c22e043, 0x2e39f75e, 0x2030fa55, 0xec9ab701, 0xe293ba0a, 0xf088ad17, 0xfe81a01c, 0xd4be832d, 0xdab78e26, 0xc8ac993b, 0xc6a59430, 0x9cd2df59, 0x92dbd252, 0x80c0c54f, 0x8ec9c844, 0xa4f6eb75, 0xaaffe67e, 0xb8e4f163, 0xb6edfc68, 0x0c0a67b1, 0x02036aba, 0x10187da7, 0x1e1170ac, 0x342e539d, 0x3a275e96, 0x283c498b, 0x26354480, 0x7c420fe9, 0x724b02e2, 0x605015ff, 0x6e5918f4, 0x44663bc5, 0x4a6f36ce, 0x587421d3, 0x567d2cd8, 0x37a10c7a, 0x39a80171, 0x2bb3166c, 0x25ba1b67, 0x0f853856, 0x018c355d, 0x13972240, 0x1d9e2f4b, 0x47e96422, 0x49e06929, 0x5bfb7e34, 0x55f2733f, 0x7fcd500e, 0x71c45d05, 0x63df4a18, 0x6dd64713, 0xd731dcca, 0xd938d1c1, 0xcb23c6dc, 0xc52acbd7, 0xef15e8e6, 0xe11ce5ed, 0xf307f2f0, 0xfd0efffb, 0xa779b492, 0xa970b999, 0xbb6bae84, 0xb562a38f, 0x9f5d80be, 0x91548db5, 0x834f9aa8, 0x8d4697a3]);\n this._mixCol = new Uint8Array(256);\n\n for (var i = 0; i < 256; i++) {\n if (i < 128) {\n this._mixCol[i] = i << 1;\n } else {\n this._mixCol[i] = i << 1 ^ 0x1b;\n }\n }\n\n this.buffer = new Uint8Array(16);\n this.bufferPosition = 0;\n }\n\n _createClass(AESBaseCipher, [{\n key: \"_expandKey\",\n value: function _expandKey(cipherKey) {\n (0, _util.unreachable)(\"Cannot call `_expandKey` on the base class\");\n }\n }, {\n key: \"_decrypt\",\n value: function _decrypt(input, key) {\n var t, u, v;\n var state = new Uint8Array(16);\n state.set(input);\n\n for (var j = 0, k = this._keySize; j < 16; ++j, ++k) {\n state[j] ^= key[k];\n }\n\n for (var i = this._cyclesOfRepetition - 1; i >= 1; --i) {\n t = state[13];\n state[13] = state[9];\n state[9] = state[5];\n state[5] = state[1];\n state[1] = t;\n t = state[14];\n u = state[10];\n state[14] = state[6];\n state[10] = state[2];\n state[6] = t;\n state[2] = u;\n t = state[15];\n u = state[11];\n v = state[7];\n state[15] = state[3];\n state[11] = t;\n state[7] = u;\n state[3] = v;\n\n for (var _j = 0; _j < 16; ++_j) {\n state[_j] = this._inv_s[state[_j]];\n }\n\n for (var _j2 = 0, _k = i * 16; _j2 < 16; ++_j2, ++_k) {\n state[_j2] ^= key[_k];\n }\n\n for (var _j3 = 0; _j3 < 16; _j3 += 4) {\n var s0 = this._mix[state[_j3]];\n var s1 = this._mix[state[_j3 + 1]];\n var s2 = this._mix[state[_j3 + 2]];\n var s3 = this._mix[state[_j3 + 3]];\n t = s0 ^ s1 >>> 8 ^ s1 << 24 ^ s2 >>> 16 ^ s2 << 16 ^ s3 >>> 24 ^ s3 << 8;\n state[_j3] = t >>> 24 & 0xff;\n state[_j3 + 1] = t >> 16 & 0xff;\n state[_j3 + 2] = t >> 8 & 0xff;\n state[_j3 + 3] = t & 0xff;\n }\n }\n\n t = state[13];\n state[13] = state[9];\n state[9] = state[5];\n state[5] = state[1];\n state[1] = t;\n t = state[14];\n u = state[10];\n state[14] = state[6];\n state[10] = state[2];\n state[6] = t;\n state[2] = u;\n t = state[15];\n u = state[11];\n v = state[7];\n state[15] = state[3];\n state[11] = t;\n state[7] = u;\n state[3] = v;\n\n for (var _j4 = 0; _j4 < 16; ++_j4) {\n state[_j4] = this._inv_s[state[_j4]];\n state[_j4] ^= key[_j4];\n }\n\n return state;\n }\n }, {\n key: \"_encrypt\",\n value: function _encrypt(input, key) {\n var s = this._s;\n var t, u, v;\n var state = new Uint8Array(16);\n state.set(input);\n\n for (var j = 0; j < 16; ++j) {\n state[j] ^= key[j];\n }\n\n for (var i = 1; i < this._cyclesOfRepetition; i++) {\n for (var _j5 = 0; _j5 < 16; ++_j5) {\n state[_j5] = s[state[_j5]];\n }\n\n v = state[1];\n state[1] = state[5];\n state[5] = state[9];\n state[9] = state[13];\n state[13] = v;\n v = state[2];\n u = state[6];\n state[2] = state[10];\n state[6] = state[14];\n state[10] = v;\n state[14] = u;\n v = state[3];\n u = state[7];\n t = state[11];\n state[3] = state[15];\n state[7] = v;\n state[11] = u;\n state[15] = t;\n\n for (var _j6 = 0; _j6 < 16; _j6 += 4) {\n var s0 = state[_j6 + 0];\n var s1 = state[_j6 + 1];\n var s2 = state[_j6 + 2];\n var s3 = state[_j6 + 3];\n t = s0 ^ s1 ^ s2 ^ s3;\n state[_j6 + 0] ^= t ^ this._mixCol[s0 ^ s1];\n state[_j6 + 1] ^= t ^ this._mixCol[s1 ^ s2];\n state[_j6 + 2] ^= t ^ this._mixCol[s2 ^ s3];\n state[_j6 + 3] ^= t ^ this._mixCol[s3 ^ s0];\n }\n\n for (var _j7 = 0, k = i * 16; _j7 < 16; ++_j7, ++k) {\n state[_j7] ^= key[k];\n }\n }\n\n for (var _j8 = 0; _j8 < 16; ++_j8) {\n state[_j8] = s[state[_j8]];\n }\n\n v = state[1];\n state[1] = state[5];\n state[5] = state[9];\n state[9] = state[13];\n state[13] = v;\n v = state[2];\n u = state[6];\n state[2] = state[10];\n state[6] = state[14];\n state[10] = v;\n state[14] = u;\n v = state[3];\n u = state[7];\n t = state[11];\n state[3] = state[15];\n state[7] = v;\n state[11] = u;\n state[15] = t;\n\n for (var _j9 = 0, _k2 = this._keySize; _j9 < 16; ++_j9, ++_k2) {\n state[_j9] ^= key[_k2];\n }\n\n return state;\n }\n }, {\n key: \"_decryptBlock2\",\n value: function _decryptBlock2(data, finalize) {\n var sourceLength = data.length;\n var buffer = this.buffer,\n bufferLength = this.bufferPosition;\n var result = [];\n var iv = this.iv;\n\n for (var i = 0; i < sourceLength; ++i) {\n buffer[bufferLength] = data[i];\n ++bufferLength;\n\n if (bufferLength < 16) {\n continue;\n }\n\n var plain = this._decrypt(buffer, this._key);\n\n for (var j = 0; j < 16; ++j) {\n plain[j] ^= iv[j];\n }\n\n iv = buffer;\n result.push(plain);\n buffer = new Uint8Array(16);\n bufferLength = 0;\n }\n\n this.buffer = buffer;\n this.bufferLength = bufferLength;\n this.iv = iv;\n\n if (result.length === 0) {\n return new Uint8Array(0);\n }\n\n var outputLength = 16 * result.length;\n\n if (finalize) {\n var lastBlock = result[result.length - 1];\n var psLen = lastBlock[15];\n\n if (psLen <= 16) {\n for (var _i = 15, ii = 16 - psLen; _i >= ii; --_i) {\n if (lastBlock[_i] !== psLen) {\n psLen = 0;\n break;\n }\n }\n\n outputLength -= psLen;\n result[result.length - 1] = lastBlock.subarray(0, 16 - psLen);\n }\n }\n\n var output = new Uint8Array(outputLength);\n\n for (var _i2 = 0, _j10 = 0, _ii = result.length; _i2 < _ii; ++_i2, _j10 += 16) {\n output.set(result[_i2], _j10);\n }\n\n return output;\n }\n }, {\n key: \"decryptBlock\",\n value: function decryptBlock(data, finalize) {\n var iv = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var sourceLength = data.length;\n var buffer = this.buffer;\n var bufferLength = this.bufferPosition;\n\n if (iv) {\n this.iv = iv;\n } else {\n for (var i = 0; bufferLength < 16 && i < sourceLength; ++i, ++bufferLength) {\n buffer[bufferLength] = data[i];\n }\n\n if (bufferLength < 16) {\n this.bufferLength = bufferLength;\n return new Uint8Array(0);\n }\n\n this.iv = buffer;\n data = data.subarray(16);\n }\n\n this.buffer = new Uint8Array(16);\n this.bufferLength = 0;\n this.decryptBlock = this._decryptBlock2;\n return this.decryptBlock(data, finalize);\n }\n }, {\n key: \"encrypt\",\n value: function encrypt(data, iv) {\n var sourceLength = data.length;\n var buffer = this.buffer,\n bufferLength = this.bufferPosition;\n var result = [];\n\n if (!iv) {\n iv = new Uint8Array(16);\n }\n\n for (var i = 0; i < sourceLength; ++i) {\n buffer[bufferLength] = data[i];\n ++bufferLength;\n\n if (bufferLength < 16) {\n continue;\n }\n\n for (var j = 0; j < 16; ++j) {\n buffer[j] ^= iv[j];\n }\n\n var cipher = this._encrypt(buffer, this._key);\n\n iv = cipher;\n result.push(cipher);\n buffer = new Uint8Array(16);\n bufferLength = 0;\n }\n\n this.buffer = buffer;\n this.bufferLength = bufferLength;\n this.iv = iv;\n\n if (result.length === 0) {\n return new Uint8Array(0);\n }\n\n var outputLength = 16 * result.length;\n var output = new Uint8Array(outputLength);\n\n for (var _i3 = 0, _j11 = 0, ii = result.length; _i3 < ii; ++_i3, _j11 += 16) {\n output.set(result[_i3], _j11);\n }\n\n return output;\n }\n }]);\n\n return AESBaseCipher;\n}();\n\nvar AES128Cipher = /*#__PURE__*/function (_AESBaseCipher) {\n _inherits(AES128Cipher, _AESBaseCipher);\n\n var _super = _createSuper(AES128Cipher);\n\n function AES128Cipher(key) {\n var _this;\n\n _classCallCheck(this, AES128Cipher);\n\n _this = _super.call(this);\n _this._cyclesOfRepetition = 10;\n _this._keySize = 160;\n _this._rcon = new Uint8Array([0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d]);\n _this._key = _this._expandKey(key);\n return _this;\n }\n\n _createClass(AES128Cipher, [{\n key: \"_expandKey\",\n value: function _expandKey(cipherKey) {\n var b = 176;\n var s = this._s;\n var rcon = this._rcon;\n var result = new Uint8Array(b);\n result.set(cipherKey);\n\n for (var j = 16, i = 1; j < b; ++i) {\n var t1 = result[j - 3];\n var t2 = result[j - 2];\n var t3 = result[j - 1];\n var t4 = result[j - 4];\n t1 = s[t1];\n t2 = s[t2];\n t3 = s[t3];\n t4 = s[t4];\n t1 = t1 ^ rcon[i];\n\n for (var n = 0; n < 4; ++n) {\n result[j] = t1 ^= result[j - 16];\n j++;\n result[j] = t2 ^= result[j - 16];\n j++;\n result[j] = t3 ^= result[j - 16];\n j++;\n result[j] = t4 ^= result[j - 16];\n j++;\n }\n }\n\n return result;\n }\n }]);\n\n return AES128Cipher;\n}(AESBaseCipher);\n\nexports.AES128Cipher = AES128Cipher;\n\nvar AES256Cipher = /*#__PURE__*/function (_AESBaseCipher2) {\n _inherits(AES256Cipher, _AESBaseCipher2);\n\n var _super2 = _createSuper(AES256Cipher);\n\n function AES256Cipher(key) {\n var _this2;\n\n _classCallCheck(this, AES256Cipher);\n\n _this2 = _super2.call(this);\n _this2._cyclesOfRepetition = 14;\n _this2._keySize = 224;\n _this2._key = _this2._expandKey(key);\n return _this2;\n }\n\n _createClass(AES256Cipher, [{\n key: \"_expandKey\",\n value: function _expandKey(cipherKey) {\n var b = 240;\n var s = this._s;\n var result = new Uint8Array(b);\n result.set(cipherKey);\n var r = 1;\n var t1, t2, t3, t4;\n\n for (var j = 32, i = 1; j < b; ++i) {\n if (j % 32 === 16) {\n t1 = s[t1];\n t2 = s[t2];\n t3 = s[t3];\n t4 = s[t4];\n } else if (j % 32 === 0) {\n t1 = result[j - 3];\n t2 = result[j - 2];\n t3 = result[j - 1];\n t4 = result[j - 4];\n t1 = s[t1];\n t2 = s[t2];\n t3 = s[t3];\n t4 = s[t4];\n t1 = t1 ^ r;\n\n if ((r <<= 1) >= 256) {\n r = (r ^ 0x1b) & 0xff;\n }\n }\n\n for (var n = 0; n < 4; ++n) {\n result[j] = t1 ^= result[j - 32];\n j++;\n result[j] = t2 ^= result[j - 32];\n j++;\n result[j] = t3 ^= result[j - 32];\n j++;\n result[j] = t4 ^= result[j - 32];\n j++;\n }\n }\n\n return result;\n }\n }]);\n\n return AES256Cipher;\n}(AESBaseCipher);\n\nexports.AES256Cipher = AES256Cipher;\n\nvar PDF17 = function PDF17Closure() {\n function compareByteArrays(array1, array2) {\n if (array1.length !== array2.length) {\n return false;\n }\n\n for (var i = 0; i < array1.length; i++) {\n if (array1[i] !== array2[i]) {\n return false;\n }\n }\n\n return true;\n }\n\n function PDF17() {}\n\n PDF17.prototype = {\n checkOwnerPassword: function PDF17_checkOwnerPassword(password, ownerValidationSalt, userBytes, ownerPassword) {\n var hashData = new Uint8Array(password.length + 56);\n hashData.set(password, 0);\n hashData.set(ownerValidationSalt, password.length);\n hashData.set(userBytes, password.length + ownerValidationSalt.length);\n var result = calculateSHA256(hashData, 0, hashData.length);\n return compareByteArrays(result, ownerPassword);\n },\n checkUserPassword: function PDF17_checkUserPassword(password, userValidationSalt, userPassword) {\n var hashData = new Uint8Array(password.length + 8);\n hashData.set(password, 0);\n hashData.set(userValidationSalt, password.length);\n var result = calculateSHA256(hashData, 0, hashData.length);\n return compareByteArrays(result, userPassword);\n },\n getOwnerKey: function PDF17_getOwnerKey(password, ownerKeySalt, userBytes, ownerEncryption) {\n var hashData = new Uint8Array(password.length + 56);\n hashData.set(password, 0);\n hashData.set(ownerKeySalt, password.length);\n hashData.set(userBytes, password.length + ownerKeySalt.length);\n var key = calculateSHA256(hashData, 0, hashData.length);\n var cipher = new AES256Cipher(key);\n return cipher.decryptBlock(ownerEncryption, false, new Uint8Array(16));\n },\n getUserKey: function PDF17_getUserKey(password, userKeySalt, userEncryption) {\n var hashData = new Uint8Array(password.length + 8);\n hashData.set(password, 0);\n hashData.set(userKeySalt, password.length);\n var key = calculateSHA256(hashData, 0, hashData.length);\n var cipher = new AES256Cipher(key);\n return cipher.decryptBlock(userEncryption, false, new Uint8Array(16));\n }\n };\n return PDF17;\n}();\n\nexports.PDF17 = PDF17;\n\nvar PDF20 = function PDF20Closure() {\n function concatArrays(array1, array2) {\n var t = new Uint8Array(array1.length + array2.length);\n t.set(array1, 0);\n t.set(array2, array1.length);\n return t;\n }\n\n function calculatePDF20Hash(password, input, userBytes) {\n var k = calculateSHA256(input, 0, input.length).subarray(0, 32);\n var e = [0];\n var i = 0;\n\n while (i < 64 || e[e.length - 1] > i - 32) {\n var arrayLength = password.length + k.length + userBytes.length;\n var k1 = new Uint8Array(arrayLength * 64);\n var array = concatArrays(password, k);\n array = concatArrays(array, userBytes);\n\n for (var j = 0, pos = 0; j < 64; j++, pos += arrayLength) {\n k1.set(array, pos);\n }\n\n var cipher = new AES128Cipher(k.subarray(0, 16));\n e = cipher.encrypt(k1, k.subarray(16, 32));\n var remainder = 0;\n\n for (var z = 0; z < 16; z++) {\n remainder *= 256 % 3;\n remainder %= 3;\n remainder += (e[z] >>> 0) % 3;\n remainder %= 3;\n }\n\n if (remainder === 0) {\n k = calculateSHA256(e, 0, e.length);\n } else if (remainder === 1) {\n k = calculateSHA384(e, 0, e.length);\n } else if (remainder === 2) {\n k = calculateSHA512(e, 0, e.length);\n }\n\n i++;\n }\n\n return k.subarray(0, 32);\n }\n\n function PDF20() {}\n\n function compareByteArrays(array1, array2) {\n if (array1.length !== array2.length) {\n return false;\n }\n\n for (var i = 0; i < array1.length; i++) {\n if (array1[i] !== array2[i]) {\n return false;\n }\n }\n\n return true;\n }\n\n PDF20.prototype = {\n hash: function PDF20_hash(password, concatBytes, userBytes) {\n return calculatePDF20Hash(password, concatBytes, userBytes);\n },\n checkOwnerPassword: function PDF20_checkOwnerPassword(password, ownerValidationSalt, userBytes, ownerPassword) {\n var hashData = new Uint8Array(password.length + 56);\n hashData.set(password, 0);\n hashData.set(ownerValidationSalt, password.length);\n hashData.set(userBytes, password.length + ownerValidationSalt.length);\n var result = calculatePDF20Hash(password, hashData, userBytes);\n return compareByteArrays(result, ownerPassword);\n },\n checkUserPassword: function PDF20_checkUserPassword(password, userValidationSalt, userPassword) {\n var hashData = new Uint8Array(password.length + 8);\n hashData.set(password, 0);\n hashData.set(userValidationSalt, password.length);\n var result = calculatePDF20Hash(password, hashData, []);\n return compareByteArrays(result, userPassword);\n },\n getOwnerKey: function PDF20_getOwnerKey(password, ownerKeySalt, userBytes, ownerEncryption) {\n var hashData = new Uint8Array(password.length + 56);\n hashData.set(password, 0);\n hashData.set(ownerKeySalt, password.length);\n hashData.set(userBytes, password.length + ownerKeySalt.length);\n var key = calculatePDF20Hash(password, hashData, userBytes);\n var cipher = new AES256Cipher(key);\n return cipher.decryptBlock(ownerEncryption, false, new Uint8Array(16));\n },\n getUserKey: function PDF20_getUserKey(password, userKeySalt, userEncryption) {\n var hashData = new Uint8Array(password.length + 8);\n hashData.set(password, 0);\n hashData.set(userKeySalt, password.length);\n var key = calculatePDF20Hash(password, hashData, []);\n var cipher = new AES256Cipher(key);\n return cipher.decryptBlock(userEncryption, false, new Uint8Array(16));\n }\n };\n return PDF20;\n}();\n\nexports.PDF20 = PDF20;\n\nvar CipherTransform = function CipherTransformClosure() {\n function CipherTransform(stringCipherConstructor, streamCipherConstructor) {\n this.StringCipherConstructor = stringCipherConstructor;\n this.StreamCipherConstructor = streamCipherConstructor;\n }\n\n CipherTransform.prototype = {\n createStream: function CipherTransform_createStream(stream, length) {\n var cipher = new this.StreamCipherConstructor();\n return new _stream.DecryptStream(stream, length, function cipherTransformDecryptStream(data, finalize) {\n return cipher.decryptBlock(data, finalize);\n });\n },\n decryptString: function CipherTransform_decryptString(s) {\n var cipher = new this.StringCipherConstructor();\n var data = (0, _util.stringToBytes)(s);\n data = cipher.decryptBlock(data, true);\n return (0, _util.bytesToString)(data);\n },\n encryptString: function CipherTransform_encryptString(s) {\n var cipher = new this.StringCipherConstructor();\n\n if (cipher instanceof AESBaseCipher) {\n var strLen = s.length;\n var pad = 16 - strLen % 16;\n\n if (pad !== 16) {\n s = s.padEnd(16 * Math.ceil(strLen / 16), String.fromCharCode(pad));\n }\n\n var iv = new Uint8Array(16);\n\n if (typeof crypto !== \"undefined\") {\n crypto.getRandomValues(iv);\n } else {\n for (var i = 0; i < 16; i++) {\n iv[i] = Math.floor(256 * Math.random());\n }\n }\n\n var _data = (0, _util.stringToBytes)(s);\n\n _data = cipher.encrypt(_data, iv);\n var buf = new Uint8Array(16 + _data.length);\n buf.set(iv);\n buf.set(_data, 16);\n return (0, _util.bytesToString)(buf);\n }\n\n var data = (0, _util.stringToBytes)(s);\n data = cipher.encrypt(data);\n return (0, _util.bytesToString)(data);\n }\n };\n return CipherTransform;\n}();\n\nvar CipherTransformFactory = function CipherTransformFactoryClosure() {\n var defaultPasswordBytes = new Uint8Array([0x28, 0xBF, 0x4E, 0x5E, 0x4E, 0x75, 0x8A, 0x41, 0x64, 0x00, 0x4E, 0x56, 0xFF, 0xFA, 0x01, 0x08, 0x2E, 0x2E, 0x00, 0xB6, 0xD0, 0x68, 0x3E, 0x80, 0x2F, 0x0C, 0xA9, 0xFE, 0x64, 0x53, 0x69, 0x7A]);\n\n function createEncryptionKey20(revision, password, ownerPassword, ownerValidationSalt, ownerKeySalt, uBytes, userPassword, userValidationSalt, userKeySalt, ownerEncryption, userEncryption, perms) {\n if (password) {\n var passwordLength = Math.min(127, password.length);\n password = password.subarray(0, passwordLength);\n } else {\n password = [];\n }\n\n var pdfAlgorithm;\n\n if (revision === 6) {\n pdfAlgorithm = new PDF20();\n } else {\n pdfAlgorithm = new PDF17();\n }\n\n if (pdfAlgorithm.checkUserPassword(password, userValidationSalt, userPassword)) {\n return pdfAlgorithm.getUserKey(password, userKeySalt, userEncryption);\n } else if (password.length && pdfAlgorithm.checkOwnerPassword(password, ownerValidationSalt, uBytes, ownerPassword)) {\n return pdfAlgorithm.getOwnerKey(password, ownerKeySalt, uBytes, ownerEncryption);\n }\n\n return null;\n }\n\n function prepareKeyData(fileId, password, ownerPassword, userPassword, flags, revision, keyLength, encryptMetadata) {\n var hashDataSize = 40 + ownerPassword.length + fileId.length;\n var hashData = new Uint8Array(hashDataSize),\n i = 0,\n j,\n n;\n\n if (password) {\n n = Math.min(32, password.length);\n\n for (; i < n; ++i) {\n hashData[i] = password[i];\n }\n }\n\n j = 0;\n\n while (i < 32) {\n hashData[i++] = defaultPasswordBytes[j++];\n }\n\n for (j = 0, n = ownerPassword.length; j < n; ++j) {\n hashData[i++] = ownerPassword[j];\n }\n\n hashData[i++] = flags & 0xff;\n hashData[i++] = flags >> 8 & 0xff;\n hashData[i++] = flags >> 16 & 0xff;\n hashData[i++] = flags >>> 24 & 0xff;\n\n for (j = 0, n = fileId.length; j < n; ++j) {\n hashData[i++] = fileId[j];\n }\n\n if (revision >= 4 && !encryptMetadata) {\n hashData[i++] = 0xff;\n hashData[i++] = 0xff;\n hashData[i++] = 0xff;\n hashData[i++] = 0xff;\n }\n\n var hash = calculateMD5(hashData, 0, i);\n var keyLengthInBytes = keyLength >> 3;\n\n if (revision >= 3) {\n for (j = 0; j < 50; ++j) {\n hash = calculateMD5(hash, 0, keyLengthInBytes);\n }\n }\n\n var encryptionKey = hash.subarray(0, keyLengthInBytes);\n var cipher, checkData;\n\n if (revision >= 3) {\n for (i = 0; i < 32; ++i) {\n hashData[i] = defaultPasswordBytes[i];\n }\n\n for (j = 0, n = fileId.length; j < n; ++j) {\n hashData[i++] = fileId[j];\n }\n\n cipher = new ARCFourCipher(encryptionKey);\n checkData = cipher.encryptBlock(calculateMD5(hashData, 0, i));\n n = encryptionKey.length;\n var derivedKey = new Uint8Array(n),\n k;\n\n for (j = 1; j <= 19; ++j) {\n for (k = 0; k < n; ++k) {\n derivedKey[k] = encryptionKey[k] ^ j;\n }\n\n cipher = new ARCFourCipher(derivedKey);\n checkData = cipher.encryptBlock(checkData);\n }\n\n for (j = 0, n = checkData.length; j < n; ++j) {\n if (userPassword[j] !== checkData[j]) {\n return null;\n }\n }\n } else {\n cipher = new ARCFourCipher(encryptionKey);\n checkData = cipher.encryptBlock(defaultPasswordBytes);\n\n for (j = 0, n = checkData.length; j < n; ++j) {\n if (userPassword[j] !== checkData[j]) {\n return null;\n }\n }\n }\n\n return encryptionKey;\n }\n\n function decodeUserPassword(password, ownerPassword, revision, keyLength) {\n var hashData = new Uint8Array(32),\n i = 0,\n j,\n n;\n n = Math.min(32, password.length);\n\n for (; i < n; ++i) {\n hashData[i] = password[i];\n }\n\n j = 0;\n\n while (i < 32) {\n hashData[i++] = defaultPasswordBytes[j++];\n }\n\n var hash = calculateMD5(hashData, 0, i);\n var keyLengthInBytes = keyLength >> 3;\n\n if (revision >= 3) {\n for (j = 0; j < 50; ++j) {\n hash = calculateMD5(hash, 0, hash.length);\n }\n }\n\n var cipher, userPassword;\n\n if (revision >= 3) {\n userPassword = ownerPassword;\n var derivedKey = new Uint8Array(keyLengthInBytes),\n k;\n\n for (j = 19; j >= 0; j--) {\n for (k = 0; k < keyLengthInBytes; ++k) {\n derivedKey[k] = hash[k] ^ j;\n }\n\n cipher = new ARCFourCipher(derivedKey);\n userPassword = cipher.encryptBlock(userPassword);\n }\n } else {\n cipher = new ARCFourCipher(hash.subarray(0, keyLengthInBytes));\n userPassword = cipher.encryptBlock(ownerPassword);\n }\n\n return userPassword;\n }\n\n var identityName = _primitives.Name.get(\"Identity\");\n\n function CipherTransformFactory(dict, fileId, password) {\n var filter = dict.get(\"Filter\");\n\n if (!(0, _primitives.isName)(filter, \"Standard\")) {\n throw new _util.FormatError(\"unknown encryption method\");\n }\n\n this.dict = dict;\n var algorithm = dict.get(\"V\");\n\n if (!Number.isInteger(algorithm) || algorithm !== 1 && algorithm !== 2 && algorithm !== 4 && algorithm !== 5) {\n throw new _util.FormatError(\"unsupported encryption algorithm\");\n }\n\n this.algorithm = algorithm;\n var keyLength = dict.get(\"Length\");\n\n if (!keyLength) {\n if (algorithm <= 3) {\n keyLength = 40;\n } else {\n var cfDict = dict.get(\"CF\");\n var streamCryptoName = dict.get(\"StmF\");\n\n if ((0, _primitives.isDict)(cfDict) && (0, _primitives.isName)(streamCryptoName)) {\n cfDict.suppressEncryption = true;\n var handlerDict = cfDict.get(streamCryptoName.name);\n keyLength = handlerDict && handlerDict.get(\"Length\") || 128;\n\n if (keyLength < 40) {\n keyLength <<= 3;\n }\n }\n }\n }\n\n if (!Number.isInteger(keyLength) || keyLength < 40 || keyLength % 8 !== 0) {\n throw new _util.FormatError(\"invalid key length\");\n }\n\n var ownerPassword = (0, _util.stringToBytes)(dict.get(\"O\")).subarray(0, 32);\n var userPassword = (0, _util.stringToBytes)(dict.get(\"U\")).subarray(0, 32);\n var flags = dict.get(\"P\");\n var revision = dict.get(\"R\");\n var encryptMetadata = (algorithm === 4 || algorithm === 5) && dict.get(\"EncryptMetadata\") !== false;\n this.encryptMetadata = encryptMetadata;\n var fileIdBytes = (0, _util.stringToBytes)(fileId);\n var passwordBytes;\n\n if (password) {\n if (revision === 6) {\n try {\n password = (0, _util.utf8StringToString)(password);\n } catch (ex) {\n (0, _util.warn)(\"CipherTransformFactory: \" + \"Unable to convert UTF8 encoded password.\");\n }\n }\n\n passwordBytes = (0, _util.stringToBytes)(password);\n }\n\n var encryptionKey;\n\n if (algorithm !== 5) {\n encryptionKey = prepareKeyData(fileIdBytes, passwordBytes, ownerPassword, userPassword, flags, revision, keyLength, encryptMetadata);\n } else {\n var ownerValidationSalt = (0, _util.stringToBytes)(dict.get(\"O\")).subarray(32, 40);\n var ownerKeySalt = (0, _util.stringToBytes)(dict.get(\"O\")).subarray(40, 48);\n var uBytes = (0, _util.stringToBytes)(dict.get(\"U\")).subarray(0, 48);\n var userValidationSalt = (0, _util.stringToBytes)(dict.get(\"U\")).subarray(32, 40);\n var userKeySalt = (0, _util.stringToBytes)(dict.get(\"U\")).subarray(40, 48);\n var ownerEncryption = (0, _util.stringToBytes)(dict.get(\"OE\"));\n var userEncryption = (0, _util.stringToBytes)(dict.get(\"UE\"));\n var perms = (0, _util.stringToBytes)(dict.get(\"Perms\"));\n encryptionKey = createEncryptionKey20(revision, passwordBytes, ownerPassword, ownerValidationSalt, ownerKeySalt, uBytes, userPassword, userValidationSalt, userKeySalt, ownerEncryption, userEncryption, perms);\n }\n\n if (!encryptionKey && !password) {\n throw new _util.PasswordException(\"No password given\", _util.PasswordResponses.NEED_PASSWORD);\n } else if (!encryptionKey && password) {\n var decodedPassword = decodeUserPassword(passwordBytes, ownerPassword, revision, keyLength);\n encryptionKey = prepareKeyData(fileIdBytes, decodedPassword, ownerPassword, userPassword, flags, revision, keyLength, encryptMetadata);\n }\n\n if (!encryptionKey) {\n throw new _util.PasswordException(\"Incorrect Password\", _util.PasswordResponses.INCORRECT_PASSWORD);\n }\n\n this.encryptionKey = encryptionKey;\n\n if (algorithm >= 4) {\n var cf = dict.get(\"CF\");\n\n if ((0, _primitives.isDict)(cf)) {\n cf.suppressEncryption = true;\n }\n\n this.cf = cf;\n this.stmf = dict.get(\"StmF\") || identityName;\n this.strf = dict.get(\"StrF\") || identityName;\n this.eff = dict.get(\"EFF\") || this.stmf;\n }\n }\n\n function buildObjectKey(num, gen, encryptionKey, isAes) {\n var key = new Uint8Array(encryptionKey.length + 9),\n i,\n n;\n\n for (i = 0, n = encryptionKey.length; i < n; ++i) {\n key[i] = encryptionKey[i];\n }\n\n key[i++] = num & 0xff;\n key[i++] = num >> 8 & 0xff;\n key[i++] = num >> 16 & 0xff;\n key[i++] = gen & 0xff;\n key[i++] = gen >> 8 & 0xff;\n\n if (isAes) {\n key[i++] = 0x73;\n key[i++] = 0x41;\n key[i++] = 0x6c;\n key[i++] = 0x54;\n }\n\n var hash = calculateMD5(key, 0, i);\n return hash.subarray(0, Math.min(encryptionKey.length + 5, 16));\n }\n\n function buildCipherConstructor(cf, name, num, gen, key) {\n if (!(0, _primitives.isName)(name)) {\n throw new _util.FormatError(\"Invalid crypt filter name.\");\n }\n\n var cryptFilter = cf.get(name.name);\n var cfm;\n\n if (cryptFilter !== null && cryptFilter !== undefined) {\n cfm = cryptFilter.get(\"CFM\");\n }\n\n if (!cfm || cfm.name === \"None\") {\n return function cipherTransformFactoryBuildCipherConstructorNone() {\n return new NullCipher();\n };\n }\n\n if (cfm.name === \"V2\") {\n return function cipherTransformFactoryBuildCipherConstructorV2() {\n return new ARCFourCipher(buildObjectKey(num, gen, key, false));\n };\n }\n\n if (cfm.name === \"AESV2\") {\n return function cipherTransformFactoryBuildCipherConstructorAESV2() {\n return new AES128Cipher(buildObjectKey(num, gen, key, true));\n };\n }\n\n if (cfm.name === \"AESV3\") {\n return function cipherTransformFactoryBuildCipherConstructorAESV3() {\n return new AES256Cipher(key);\n };\n }\n\n throw new _util.FormatError(\"Unknown crypto method\");\n }\n\n CipherTransformFactory.prototype = {\n createCipherTransform: function CipherTransformFactory_createCipherTransform(num, gen) {\n if (this.algorithm === 4 || this.algorithm === 5) {\n return new CipherTransform(buildCipherConstructor(this.cf, this.stmf, num, gen, this.encryptionKey), buildCipherConstructor(this.cf, this.strf, num, gen, this.encryptionKey));\n }\n\n var key = buildObjectKey(num, gen, this.encryptionKey, false);\n\n var cipherConstructor = function buildCipherCipherConstructor() {\n return new ARCFourCipher(key);\n };\n\n return new CipherTransform(cipherConstructor, cipherConstructor);\n }\n };\n return CipherTransformFactory;\n}();\n\nexports.CipherTransformFactory = CipherTransformFactory;\n\n/***/ }),\n/* 220 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ColorSpace = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(202);\n\nvar _core_utils = __w_pdfjs_require__(205);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction resizeRgbImage(src, dest, w1, h1, w2, h2, alpha01) {\n var COMPONENTS = 3;\n alpha01 = alpha01 !== 1 ? 0 : alpha01;\n var xRatio = w1 / w2;\n var yRatio = h1 / h2;\n var newIndex = 0,\n oldIndex;\n var xScaled = new Uint16Array(w2);\n var w1Scanline = w1 * COMPONENTS;\n\n for (var i = 0; i < w2; i++) {\n xScaled[i] = Math.floor(i * xRatio) * COMPONENTS;\n }\n\n for (var _i = 0; _i < h2; _i++) {\n var py = Math.floor(_i * yRatio) * w1Scanline;\n\n for (var j = 0; j < w2; j++) {\n oldIndex = py + xScaled[j];\n dest[newIndex++] = src[oldIndex++];\n dest[newIndex++] = src[oldIndex++];\n dest[newIndex++] = src[oldIndex++];\n newIndex += alpha01;\n }\n }\n}\n\nvar ColorSpace = /*#__PURE__*/function () {\n function ColorSpace(name, numComps) {\n _classCallCheck(this, ColorSpace);\n\n if (this.constructor === ColorSpace) {\n (0, _util.unreachable)(\"Cannot initialize ColorSpace.\");\n }\n\n this.name = name;\n this.numComps = numComps;\n }\n\n _createClass(ColorSpace, [{\n key: \"getRgb\",\n value: function getRgb(src, srcOffset) {\n var rgb = new Uint8ClampedArray(3);\n this.getRgbItem(src, srcOffset, rgb, 0);\n return rgb;\n }\n }, {\n key: \"getRgbItem\",\n value: function getRgbItem(src, srcOffset, dest, destOffset) {\n (0, _util.unreachable)(\"Should not call ColorSpace.getRgbItem\");\n }\n }, {\n key: \"getRgbBuffer\",\n value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n (0, _util.unreachable)(\"Should not call ColorSpace.getRgbBuffer\");\n }\n }, {\n key: \"getOutputLength\",\n value: function getOutputLength(inputLength, alpha01) {\n (0, _util.unreachable)(\"Should not call ColorSpace.getOutputLength\");\n }\n }, {\n key: \"isPassthrough\",\n value: function isPassthrough(bits) {\n return false;\n }\n }, {\n key: \"isDefaultDecode\",\n value: function isDefaultDecode(decodeMap, bpc) {\n return ColorSpace.isDefaultDecode(decodeMap, this.numComps);\n }\n }, {\n key: \"fillRgb\",\n value: function fillRgb(dest, originalWidth, originalHeight, width, height, actualHeight, bpc, comps, alpha01) {\n var count = originalWidth * originalHeight;\n var rgbBuf = null;\n var numComponentColors = 1 << bpc;\n var needsResizing = originalHeight !== height || originalWidth !== width;\n\n if (this.isPassthrough(bpc)) {\n rgbBuf = comps;\n } else if (this.numComps === 1 && count > numComponentColors && this.name !== \"DeviceGray\" && this.name !== \"DeviceRGB\") {\n var allColors = bpc <= 8 ? new Uint8Array(numComponentColors) : new Uint16Array(numComponentColors);\n\n for (var i = 0; i < numComponentColors; i++) {\n allColors[i] = i;\n }\n\n var colorMap = new Uint8ClampedArray(numComponentColors * 3);\n this.getRgbBuffer(allColors, 0, numComponentColors, colorMap, 0, bpc, 0);\n\n if (!needsResizing) {\n var destPos = 0;\n\n for (var _i2 = 0; _i2 < count; ++_i2) {\n var key = comps[_i2] * 3;\n dest[destPos++] = colorMap[key];\n dest[destPos++] = colorMap[key + 1];\n dest[destPos++] = colorMap[key + 2];\n destPos += alpha01;\n }\n } else {\n rgbBuf = new Uint8Array(count * 3);\n var rgbPos = 0;\n\n for (var _i3 = 0; _i3 < count; ++_i3) {\n var _key = comps[_i3] * 3;\n\n rgbBuf[rgbPos++] = colorMap[_key];\n rgbBuf[rgbPos++] = colorMap[_key + 1];\n rgbBuf[rgbPos++] = colorMap[_key + 2];\n }\n }\n } else {\n if (!needsResizing) {\n this.getRgbBuffer(comps, 0, width * actualHeight, dest, 0, bpc, alpha01);\n } else {\n rgbBuf = new Uint8ClampedArray(count * 3);\n this.getRgbBuffer(comps, 0, count, rgbBuf, 0, bpc, 0);\n }\n }\n\n if (rgbBuf) {\n if (needsResizing) {\n resizeRgbImage(rgbBuf, dest, originalWidth, originalHeight, width, height, alpha01);\n } else {\n var _destPos = 0,\n _rgbPos = 0;\n\n for (var _i4 = 0, ii = width * actualHeight; _i4 < ii; _i4++) {\n dest[_destPos++] = rgbBuf[_rgbPos++];\n dest[_destPos++] = rgbBuf[_rgbPos++];\n dest[_destPos++] = rgbBuf[_rgbPos++];\n _destPos += alpha01;\n }\n }\n }\n }\n }, {\n key: \"usesZeroToOneRange\",\n get: function get() {\n return (0, _util.shadow)(this, \"usesZeroToOneRange\", true);\n }\n }], [{\n key: \"_cache\",\n value: function _cache(cacheKey, xref, localColorSpaceCache, parsedColorSpace) {\n if (!localColorSpaceCache) {\n throw new Error('ColorSpace._cache - expected \"localColorSpaceCache\" argument.');\n }\n\n if (!parsedColorSpace) {\n throw new Error('ColorSpace._cache - expected \"parsedColorSpace\" argument.');\n }\n\n var csName, csRef;\n\n if (cacheKey instanceof _primitives.Ref) {\n csRef = cacheKey;\n cacheKey = xref.fetch(cacheKey);\n }\n\n if (cacheKey instanceof _primitives.Name) {\n csName = cacheKey.name;\n }\n\n if (csName || csRef) {\n localColorSpaceCache.set(csName, csRef, parsedColorSpace);\n }\n }\n }, {\n key: \"getCached\",\n value: function getCached(cacheKey, xref, localColorSpaceCache) {\n if (!localColorSpaceCache) {\n throw new Error('ColorSpace.getCached - expected \"localColorSpaceCache\" argument.');\n }\n\n if (cacheKey instanceof _primitives.Ref) {\n var localColorSpace = localColorSpaceCache.getByRef(cacheKey);\n\n if (localColorSpace) {\n return localColorSpace;\n }\n\n try {\n cacheKey = xref.fetch(cacheKey);\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n }\n }\n\n if (cacheKey instanceof _primitives.Name) {\n var _localColorSpace = localColorSpaceCache.getByName(cacheKey.name);\n\n if (_localColorSpace) {\n return _localColorSpace;\n }\n }\n\n return null;\n }\n }, {\n key: \"parseAsync\",\n value: function () {\n var _parseAsync = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(_ref) {\n var cs, xref, _ref$resources, resources, pdfFunctionFactory, localColorSpaceCache, parsedColorSpace;\n\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n cs = _ref.cs, xref = _ref.xref, _ref$resources = _ref.resources, resources = _ref$resources === void 0 ? null : _ref$resources, pdfFunctionFactory = _ref.pdfFunctionFactory, localColorSpaceCache = _ref.localColorSpaceCache;\n parsedColorSpace = this._parse(cs, xref, resources, pdfFunctionFactory);\n\n this._cache(cs, xref, localColorSpaceCache, parsedColorSpace);\n\n return _context.abrupt(\"return\", parsedColorSpace);\n\n case 4:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function parseAsync(_x) {\n return _parseAsync.apply(this, arguments);\n }\n\n return parseAsync;\n }()\n }, {\n key: \"parse\",\n value: function parse(_ref2) {\n var cs = _ref2.cs,\n xref = _ref2.xref,\n _ref2$resources = _ref2.resources,\n resources = _ref2$resources === void 0 ? null : _ref2$resources,\n pdfFunctionFactory = _ref2.pdfFunctionFactory,\n localColorSpaceCache = _ref2.localColorSpaceCache;\n var cachedColorSpace = this.getCached(cs, xref, localColorSpaceCache);\n\n if (cachedColorSpace) {\n return cachedColorSpace;\n }\n\n var parsedColorSpace = this._parse(cs, xref, resources, pdfFunctionFactory);\n\n this._cache(cs, xref, localColorSpaceCache, parsedColorSpace);\n\n return parsedColorSpace;\n }\n }, {\n key: \"_parse\",\n value: function _parse(cs, xref) {\n var resources = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var pdfFunctionFactory = arguments.length > 3 ? arguments[3] : undefined;\n cs = xref.fetchIfRef(cs);\n\n if ((0, _primitives.isName)(cs)) {\n switch (cs.name) {\n case \"DeviceGray\":\n case \"G\":\n return this.singletons.gray;\n\n case \"DeviceRGB\":\n case \"RGB\":\n return this.singletons.rgb;\n\n case \"DeviceCMYK\":\n case \"CMYK\":\n return this.singletons.cmyk;\n\n case \"Pattern\":\n return new PatternCS(null);\n\n default:\n if ((0, _primitives.isDict)(resources)) {\n var colorSpaces = resources.get(\"ColorSpace\");\n\n if ((0, _primitives.isDict)(colorSpaces)) {\n var resourcesCS = colorSpaces.get(cs.name);\n\n if (resourcesCS) {\n if ((0, _primitives.isName)(resourcesCS)) {\n return this._parse(resourcesCS, xref, resources, pdfFunctionFactory);\n }\n\n cs = resourcesCS;\n break;\n }\n }\n }\n\n throw new _util.FormatError(\"Unrecognized ColorSpace: \".concat(cs.name));\n }\n }\n\n if (Array.isArray(cs)) {\n var mode = xref.fetchIfRef(cs[0]).name;\n var params, numComps, baseCS, whitePoint, blackPoint, gamma;\n\n switch (mode) {\n case \"DeviceGray\":\n case \"G\":\n return this.singletons.gray;\n\n case \"DeviceRGB\":\n case \"RGB\":\n return this.singletons.rgb;\n\n case \"DeviceCMYK\":\n case \"CMYK\":\n return this.singletons.cmyk;\n\n case \"CalGray\":\n params = xref.fetchIfRef(cs[1]);\n whitePoint = params.getArray(\"WhitePoint\");\n blackPoint = params.getArray(\"BlackPoint\");\n gamma = params.get(\"Gamma\");\n return new CalGrayCS(whitePoint, blackPoint, gamma);\n\n case \"CalRGB\":\n params = xref.fetchIfRef(cs[1]);\n whitePoint = params.getArray(\"WhitePoint\");\n blackPoint = params.getArray(\"BlackPoint\");\n gamma = params.getArray(\"Gamma\");\n var matrix = params.getArray(\"Matrix\");\n return new CalRGBCS(whitePoint, blackPoint, gamma, matrix);\n\n case \"ICCBased\":\n var stream = xref.fetchIfRef(cs[1]);\n var dict = stream.dict;\n numComps = dict.get(\"N\");\n var alt = dict.get(\"Alternate\");\n\n if (alt) {\n var altCS = this._parse(alt, xref, resources, pdfFunctionFactory);\n\n if (altCS.numComps === numComps) {\n return altCS;\n }\n\n (0, _util.warn)(\"ICCBased color space: Ignoring incorrect /Alternate entry.\");\n }\n\n if (numComps === 1) {\n return this.singletons.gray;\n } else if (numComps === 3) {\n return this.singletons.rgb;\n } else if (numComps === 4) {\n return this.singletons.cmyk;\n }\n\n break;\n\n case \"Pattern\":\n baseCS = cs[1] || null;\n\n if (baseCS) {\n baseCS = this._parse(baseCS, xref, resources, pdfFunctionFactory);\n }\n\n return new PatternCS(baseCS);\n\n case \"Indexed\":\n case \"I\":\n baseCS = this._parse(cs[1], xref, resources, pdfFunctionFactory);\n var hiVal = xref.fetchIfRef(cs[2]) + 1;\n var lookup = xref.fetchIfRef(cs[3]);\n return new IndexedCS(baseCS, hiVal, lookup);\n\n case \"Separation\":\n case \"DeviceN\":\n var name = xref.fetchIfRef(cs[1]);\n numComps = Array.isArray(name) ? name.length : 1;\n baseCS = this._parse(cs[2], xref, resources, pdfFunctionFactory);\n var tintFn = pdfFunctionFactory.create(cs[3]);\n return new AlternateCS(numComps, baseCS, tintFn);\n\n case \"Lab\":\n params = xref.fetchIfRef(cs[1]);\n whitePoint = params.getArray(\"WhitePoint\");\n blackPoint = params.getArray(\"BlackPoint\");\n var range = params.getArray(\"Range\");\n return new LabCS(whitePoint, blackPoint, range);\n\n default:\n throw new _util.FormatError(\"Unimplemented ColorSpace object: \".concat(mode));\n }\n }\n\n throw new _util.FormatError(\"Unrecognized ColorSpace object: \".concat(cs));\n }\n }, {\n key: \"isDefaultDecode\",\n value: function isDefaultDecode(decode, numComps) {\n if (!Array.isArray(decode)) {\n return true;\n }\n\n if (numComps * 2 !== decode.length) {\n (0, _util.warn)(\"The decode map is not the correct length\");\n return true;\n }\n\n for (var i = 0, ii = decode.length; i < ii; i += 2) {\n if (decode[i] !== 0 || decode[i + 1] !== 1) {\n return false;\n }\n }\n\n return true;\n }\n }, {\n key: \"singletons\",\n get: function get() {\n return (0, _util.shadow)(this, \"singletons\", {\n get gray() {\n return (0, _util.shadow)(this, \"gray\", new DeviceGrayCS());\n },\n\n get rgb() {\n return (0, _util.shadow)(this, \"rgb\", new DeviceRgbCS());\n },\n\n get cmyk() {\n return (0, _util.shadow)(this, \"cmyk\", new DeviceCmykCS());\n }\n\n });\n }\n }]);\n\n return ColorSpace;\n}();\n\nexports.ColorSpace = ColorSpace;\n\nvar AlternateCS = /*#__PURE__*/function (_ColorSpace) {\n _inherits(AlternateCS, _ColorSpace);\n\n var _super = _createSuper(AlternateCS);\n\n function AlternateCS(numComps, base, tintFn) {\n var _this;\n\n _classCallCheck(this, AlternateCS);\n\n _this = _super.call(this, \"Alternate\", numComps);\n _this.base = base;\n _this.tintFn = tintFn;\n _this.tmpBuf = new Float32Array(base.numComps);\n return _this;\n }\n\n _createClass(AlternateCS, [{\n key: \"getRgbItem\",\n value: function getRgbItem(src, srcOffset, dest, destOffset) {\n var tmpBuf = this.tmpBuf;\n this.tintFn(src, srcOffset, tmpBuf, 0);\n this.base.getRgbItem(tmpBuf, 0, dest, destOffset);\n }\n }, {\n key: \"getRgbBuffer\",\n value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n var tintFn = this.tintFn;\n var base = this.base;\n var scale = 1 / ((1 << bits) - 1);\n var baseNumComps = base.numComps;\n var usesZeroToOneRange = base.usesZeroToOneRange;\n var isPassthrough = (base.isPassthrough(8) || !usesZeroToOneRange) && alpha01 === 0;\n var pos = isPassthrough ? destOffset : 0;\n var baseBuf = isPassthrough ? dest : new Uint8ClampedArray(baseNumComps * count);\n var numComps = this.numComps;\n var scaled = new Float32Array(numComps);\n var tinted = new Float32Array(baseNumComps);\n var i, j;\n\n for (i = 0; i < count; i++) {\n for (j = 0; j < numComps; j++) {\n scaled[j] = src[srcOffset++] * scale;\n }\n\n tintFn(scaled, 0, tinted, 0);\n\n if (usesZeroToOneRange) {\n for (j = 0; j < baseNumComps; j++) {\n baseBuf[pos++] = tinted[j] * 255;\n }\n } else {\n base.getRgbItem(tinted, 0, baseBuf, pos);\n pos += baseNumComps;\n }\n }\n\n if (!isPassthrough) {\n base.getRgbBuffer(baseBuf, 0, count, dest, destOffset, 8, alpha01);\n }\n }\n }, {\n key: \"getOutputLength\",\n value: function getOutputLength(inputLength, alpha01) {\n return this.base.getOutputLength(inputLength * this.base.numComps / this.numComps, alpha01);\n }\n }]);\n\n return AlternateCS;\n}(ColorSpace);\n\nvar PatternCS = /*#__PURE__*/function (_ColorSpace2) {\n _inherits(PatternCS, _ColorSpace2);\n\n var _super2 = _createSuper(PatternCS);\n\n function PatternCS(baseCS) {\n var _this2;\n\n _classCallCheck(this, PatternCS);\n\n _this2 = _super2.call(this, \"Pattern\", null);\n _this2.base = baseCS;\n return _this2;\n }\n\n _createClass(PatternCS, [{\n key: \"isDefaultDecode\",\n value: function isDefaultDecode(decodeMap, bpc) {\n (0, _util.unreachable)(\"Should not call PatternCS.isDefaultDecode\");\n }\n }]);\n\n return PatternCS;\n}(ColorSpace);\n\nvar IndexedCS = /*#__PURE__*/function (_ColorSpace3) {\n _inherits(IndexedCS, _ColorSpace3);\n\n var _super3 = _createSuper(IndexedCS);\n\n function IndexedCS(base, highVal, lookup) {\n var _this3;\n\n _classCallCheck(this, IndexedCS);\n\n _this3 = _super3.call(this, \"Indexed\", 1);\n _this3.base = base;\n _this3.highVal = highVal;\n var length = base.numComps * highVal;\n _this3.lookup = new Uint8Array(length);\n\n if ((0, _primitives.isStream)(lookup)) {\n var bytes = lookup.getBytes(length);\n\n _this3.lookup.set(bytes);\n } else if (typeof lookup === \"string\") {\n for (var i = 0; i < length; ++i) {\n _this3.lookup[i] = lookup.charCodeAt(i) & 0xff;\n }\n } else {\n throw new _util.FormatError(\"IndexedCS - unrecognized lookup table: \".concat(lookup));\n }\n\n return _this3;\n }\n\n _createClass(IndexedCS, [{\n key: \"getRgbItem\",\n value: function getRgbItem(src, srcOffset, dest, destOffset) {\n var numComps = this.base.numComps;\n var start = src[srcOffset] * numComps;\n this.base.getRgbBuffer(this.lookup, start, 1, dest, destOffset, 8, 0);\n }\n }, {\n key: \"getRgbBuffer\",\n value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n var base = this.base;\n var numComps = base.numComps;\n var outputDelta = base.getOutputLength(numComps, alpha01);\n var lookup = this.lookup;\n\n for (var i = 0; i < count; ++i) {\n var lookupPos = src[srcOffset++] * numComps;\n base.getRgbBuffer(lookup, lookupPos, 1, dest, destOffset, 8, alpha01);\n destOffset += outputDelta;\n }\n }\n }, {\n key: \"getOutputLength\",\n value: function getOutputLength(inputLength, alpha01) {\n return this.base.getOutputLength(inputLength * this.base.numComps, alpha01);\n }\n }, {\n key: \"isDefaultDecode\",\n value: function isDefaultDecode(decodeMap, bpc) {\n if (!Array.isArray(decodeMap)) {\n return true;\n }\n\n if (decodeMap.length !== 2) {\n (0, _util.warn)(\"Decode map length is not correct\");\n return true;\n }\n\n if (!Number.isInteger(bpc) || bpc < 1) {\n (0, _util.warn)(\"Bits per component is not correct\");\n return true;\n }\n\n return decodeMap[0] === 0 && decodeMap[1] === (1 << bpc) - 1;\n }\n }]);\n\n return IndexedCS;\n}(ColorSpace);\n\nvar DeviceGrayCS = /*#__PURE__*/function (_ColorSpace4) {\n _inherits(DeviceGrayCS, _ColorSpace4);\n\n var _super4 = _createSuper(DeviceGrayCS);\n\n function DeviceGrayCS() {\n _classCallCheck(this, DeviceGrayCS);\n\n return _super4.call(this, \"DeviceGray\", 1);\n }\n\n _createClass(DeviceGrayCS, [{\n key: \"getRgbItem\",\n value: function getRgbItem(src, srcOffset, dest, destOffset) {\n var c = src[srcOffset] * 255;\n dest[destOffset] = dest[destOffset + 1] = dest[destOffset + 2] = c;\n }\n }, {\n key: \"getRgbBuffer\",\n value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n var scale = 255 / ((1 << bits) - 1);\n var j = srcOffset,\n q = destOffset;\n\n for (var i = 0; i < count; ++i) {\n var c = scale * src[j++];\n dest[q++] = c;\n dest[q++] = c;\n dest[q++] = c;\n q += alpha01;\n }\n }\n }, {\n key: \"getOutputLength\",\n value: function getOutputLength(inputLength, alpha01) {\n return inputLength * (3 + alpha01);\n }\n }]);\n\n return DeviceGrayCS;\n}(ColorSpace);\n\nvar DeviceRgbCS = /*#__PURE__*/function (_ColorSpace5) {\n _inherits(DeviceRgbCS, _ColorSpace5);\n\n var _super5 = _createSuper(DeviceRgbCS);\n\n function DeviceRgbCS() {\n _classCallCheck(this, DeviceRgbCS);\n\n return _super5.call(this, \"DeviceRGB\", 3);\n }\n\n _createClass(DeviceRgbCS, [{\n key: \"getRgbItem\",\n value: function getRgbItem(src, srcOffset, dest, destOffset) {\n dest[destOffset] = src[srcOffset] * 255;\n dest[destOffset + 1] = src[srcOffset + 1] * 255;\n dest[destOffset + 2] = src[srcOffset + 2] * 255;\n }\n }, {\n key: \"getRgbBuffer\",\n value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n if (bits === 8 && alpha01 === 0) {\n dest.set(src.subarray(srcOffset, srcOffset + count * 3), destOffset);\n return;\n }\n\n var scale = 255 / ((1 << bits) - 1);\n var j = srcOffset,\n q = destOffset;\n\n for (var i = 0; i < count; ++i) {\n dest[q++] = scale * src[j++];\n dest[q++] = scale * src[j++];\n dest[q++] = scale * src[j++];\n q += alpha01;\n }\n }\n }, {\n key: \"getOutputLength\",\n value: function getOutputLength(inputLength, alpha01) {\n return inputLength * (3 + alpha01) / 3 | 0;\n }\n }, {\n key: \"isPassthrough\",\n value: function isPassthrough(bits) {\n return bits === 8;\n }\n }]);\n\n return DeviceRgbCS;\n}(ColorSpace);\n\nvar DeviceCmykCS = function DeviceCmykCSClosure() {\n function convertToRgb(src, srcOffset, srcScale, dest, destOffset) {\n var c = src[srcOffset] * srcScale;\n var m = src[srcOffset + 1] * srcScale;\n var y = src[srcOffset + 2] * srcScale;\n var k = src[srcOffset + 3] * srcScale;\n dest[destOffset] = 255 + c * (-4.387332384609988 * c + 54.48615194189176 * m + 18.82290502165302 * y + 212.25662451639585 * k + -285.2331026137004) + m * (1.7149763477362134 * m - 5.6096736904047315 * y + -17.873870861415444 * k - 5.497006427196366) + y * (-2.5217340131683033 * y - 21.248923337353073 * k + 17.5119270841813) + k * (-21.86122147463605 * k - 189.48180835922747);\n dest[destOffset + 1] = 255 + c * (8.841041422036149 * c + 60.118027045597366 * m + 6.871425592049007 * y + 31.159100130055922 * k + -79.2970844816548) + m * (-15.310361306967817 * m + 17.575251261109482 * y + 131.35250912493976 * k - 190.9453302588951) + y * (4.444339102852739 * y + 9.8632861493405 * k - 24.86741582555878) + k * (-20.737325471181034 * k - 187.80453709719578);\n dest[destOffset + 2] = 255 + c * (0.8842522430003296 * c + 8.078677503112928 * m + 30.89978309703729 * y - 0.23883238689178934 * k + -14.183576799673286) + m * (10.49593273432072 * m + 63.02378494754052 * y + 50.606957656360734 * k - 112.23884253719248) + y * (0.03296041114873217 * y + 115.60384449646641 * k + -193.58209356861505) + k * (-22.33816807309886 * k - 180.12613974708367);\n }\n\n var DeviceCmykCS = /*#__PURE__*/function (_ColorSpace6) {\n _inherits(DeviceCmykCS, _ColorSpace6);\n\n var _super6 = _createSuper(DeviceCmykCS);\n\n function DeviceCmykCS() {\n _classCallCheck(this, DeviceCmykCS);\n\n return _super6.call(this, \"DeviceCMYK\", 4);\n }\n\n _createClass(DeviceCmykCS, [{\n key: \"getRgbItem\",\n value: function getRgbItem(src, srcOffset, dest, destOffset) {\n convertToRgb(src, srcOffset, 1, dest, destOffset);\n }\n }, {\n key: \"getRgbBuffer\",\n value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n var scale = 1 / ((1 << bits) - 1);\n\n for (var i = 0; i < count; i++) {\n convertToRgb(src, srcOffset, scale, dest, destOffset);\n srcOffset += 4;\n destOffset += 3 + alpha01;\n }\n }\n }, {\n key: \"getOutputLength\",\n value: function getOutputLength(inputLength, alpha01) {\n return inputLength / 4 * (3 + alpha01) | 0;\n }\n }]);\n\n return DeviceCmykCS;\n }(ColorSpace);\n\n return DeviceCmykCS;\n}();\n\nvar CalGrayCS = function CalGrayCSClosure() {\n function convertToRgb(cs, src, srcOffset, dest, destOffset, scale) {\n var A = src[srcOffset] * scale;\n var AG = Math.pow(A, cs.G);\n var L = cs.YW * AG;\n var val = Math.max(295.8 * Math.pow(L, 0.333333333333333333) - 40.8, 0);\n dest[destOffset] = val;\n dest[destOffset + 1] = val;\n dest[destOffset + 2] = val;\n }\n\n var CalGrayCS = /*#__PURE__*/function (_ColorSpace7) {\n _inherits(CalGrayCS, _ColorSpace7);\n\n var _super7 = _createSuper(CalGrayCS);\n\n function CalGrayCS(whitePoint, blackPoint, gamma) {\n var _this4;\n\n _classCallCheck(this, CalGrayCS);\n\n _this4 = _super7.call(this, \"CalGray\", 1);\n\n if (!whitePoint) {\n throw new _util.FormatError(\"WhitePoint missing - required for color space CalGray\");\n }\n\n blackPoint = blackPoint || [0, 0, 0];\n gamma = gamma || 1;\n _this4.XW = whitePoint[0];\n _this4.YW = whitePoint[1];\n _this4.ZW = whitePoint[2];\n _this4.XB = blackPoint[0];\n _this4.YB = blackPoint[1];\n _this4.ZB = blackPoint[2];\n _this4.G = gamma;\n\n if (_this4.XW < 0 || _this4.ZW < 0 || _this4.YW !== 1) {\n throw new _util.FormatError(\"Invalid WhitePoint components for \".concat(_this4.name) + \", no fallback available\");\n }\n\n if (_this4.XB < 0 || _this4.YB < 0 || _this4.ZB < 0) {\n (0, _util.info)(\"Invalid BlackPoint for \".concat(_this4.name, \", falling back to default.\"));\n _this4.XB = _this4.YB = _this4.ZB = 0;\n }\n\n if (_this4.XB !== 0 || _this4.YB !== 0 || _this4.ZB !== 0) {\n (0, _util.warn)(\"\".concat(_this4.name, \", BlackPoint: XB: \").concat(_this4.XB, \", YB: \").concat(_this4.YB, \", \") + \"ZB: \".concat(_this4.ZB, \", only default values are supported.\"));\n }\n\n if (_this4.G < 1) {\n (0, _util.info)(\"Invalid Gamma: \".concat(_this4.G, \" for \").concat(_this4.name, \", \") + \"falling back to default.\");\n _this4.G = 1;\n }\n\n return _this4;\n }\n\n _createClass(CalGrayCS, [{\n key: \"getRgbItem\",\n value: function getRgbItem(src, srcOffset, dest, destOffset) {\n convertToRgb(this, src, srcOffset, dest, destOffset, 1);\n }\n }, {\n key: \"getRgbBuffer\",\n value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n var scale = 1 / ((1 << bits) - 1);\n\n for (var i = 0; i < count; ++i) {\n convertToRgb(this, src, srcOffset, dest, destOffset, scale);\n srcOffset += 1;\n destOffset += 3 + alpha01;\n }\n }\n }, {\n key: \"getOutputLength\",\n value: function getOutputLength(inputLength, alpha01) {\n return inputLength * (3 + alpha01);\n }\n }]);\n\n return CalGrayCS;\n }(ColorSpace);\n\n return CalGrayCS;\n}();\n\nvar CalRGBCS = function CalRGBCSClosure() {\n var BRADFORD_SCALE_MATRIX = new Float32Array([0.8951, 0.2664, -0.1614, -0.7502, 1.7135, 0.0367, 0.0389, -0.0685, 1.0296]);\n var BRADFORD_SCALE_INVERSE_MATRIX = new Float32Array([0.9869929, -0.1470543, 0.1599627, 0.4323053, 0.5183603, 0.0492912, -0.0085287, 0.0400428, 0.9684867]);\n var SRGB_D65_XYZ_TO_RGB_MATRIX = new Float32Array([3.2404542, -1.5371385, -0.4985314, -0.9692660, 1.8760108, 0.0415560, 0.0556434, -0.2040259, 1.0572252]);\n var FLAT_WHITEPOINT_MATRIX = new Float32Array([1, 1, 1]);\n var tempNormalizeMatrix = new Float32Array(3);\n var tempConvertMatrix1 = new Float32Array(3);\n var tempConvertMatrix2 = new Float32Array(3);\n var DECODE_L_CONSTANT = Math.pow((8 + 16) / 116, 3) / 8.0;\n\n function matrixProduct(a, b, result) {\n result[0] = a[0] * b[0] + a[1] * b[1] + a[2] * b[2];\n result[1] = a[3] * b[0] + a[4] * b[1] + a[5] * b[2];\n result[2] = a[6] * b[0] + a[7] * b[1] + a[8] * b[2];\n }\n\n function convertToFlat(sourceWhitePoint, LMS, result) {\n result[0] = LMS[0] * 1 / sourceWhitePoint[0];\n result[1] = LMS[1] * 1 / sourceWhitePoint[1];\n result[2] = LMS[2] * 1 / sourceWhitePoint[2];\n }\n\n function convertToD65(sourceWhitePoint, LMS, result) {\n var D65X = 0.95047;\n var D65Y = 1;\n var D65Z = 1.08883;\n result[0] = LMS[0] * D65X / sourceWhitePoint[0];\n result[1] = LMS[1] * D65Y / sourceWhitePoint[1];\n result[2] = LMS[2] * D65Z / sourceWhitePoint[2];\n }\n\n function sRGBTransferFunction(color) {\n if (color <= 0.0031308) {\n return adjustToRange(0, 1, 12.92 * color);\n }\n\n if (color >= 0.99554525) {\n return 1;\n }\n\n return adjustToRange(0, 1, (1 + 0.055) * Math.pow(color, 1 / 2.4) - 0.055);\n }\n\n function adjustToRange(min, max, value) {\n return Math.max(min, Math.min(max, value));\n }\n\n function decodeL(L) {\n if (L < 0) {\n return -decodeL(-L);\n }\n\n if (L > 8.0) {\n return Math.pow((L + 16) / 116, 3);\n }\n\n return L * DECODE_L_CONSTANT;\n }\n\n function compensateBlackPoint(sourceBlackPoint, XYZ_Flat, result) {\n if (sourceBlackPoint[0] === 0 && sourceBlackPoint[1] === 0 && sourceBlackPoint[2] === 0) {\n result[0] = XYZ_Flat[0];\n result[1] = XYZ_Flat[1];\n result[2] = XYZ_Flat[2];\n return;\n }\n\n var zeroDecodeL = decodeL(0);\n var X_DST = zeroDecodeL;\n var X_SRC = decodeL(sourceBlackPoint[0]);\n var Y_DST = zeroDecodeL;\n var Y_SRC = decodeL(sourceBlackPoint[1]);\n var Z_DST = zeroDecodeL;\n var Z_SRC = decodeL(sourceBlackPoint[2]);\n var X_Scale = (1 - X_DST) / (1 - X_SRC);\n var X_Offset = 1 - X_Scale;\n var Y_Scale = (1 - Y_DST) / (1 - Y_SRC);\n var Y_Offset = 1 - Y_Scale;\n var Z_Scale = (1 - Z_DST) / (1 - Z_SRC);\n var Z_Offset = 1 - Z_Scale;\n result[0] = XYZ_Flat[0] * X_Scale + X_Offset;\n result[1] = XYZ_Flat[1] * Y_Scale + Y_Offset;\n result[2] = XYZ_Flat[2] * Z_Scale + Z_Offset;\n }\n\n function normalizeWhitePointToFlat(sourceWhitePoint, XYZ_In, result) {\n if (sourceWhitePoint[0] === 1 && sourceWhitePoint[2] === 1) {\n result[0] = XYZ_In[0];\n result[1] = XYZ_In[1];\n result[2] = XYZ_In[2];\n return;\n }\n\n var LMS = result;\n matrixProduct(BRADFORD_SCALE_MATRIX, XYZ_In, LMS);\n var LMS_Flat = tempNormalizeMatrix;\n convertToFlat(sourceWhitePoint, LMS, LMS_Flat);\n matrixProduct(BRADFORD_SCALE_INVERSE_MATRIX, LMS_Flat, result);\n }\n\n function normalizeWhitePointToD65(sourceWhitePoint, XYZ_In, result) {\n var LMS = result;\n matrixProduct(BRADFORD_SCALE_MATRIX, XYZ_In, LMS);\n var LMS_D65 = tempNormalizeMatrix;\n convertToD65(sourceWhitePoint, LMS, LMS_D65);\n matrixProduct(BRADFORD_SCALE_INVERSE_MATRIX, LMS_D65, result);\n }\n\n function convertToRgb(cs, src, srcOffset, dest, destOffset, scale) {\n var A = adjustToRange(0, 1, src[srcOffset] * scale);\n var B = adjustToRange(0, 1, src[srcOffset + 1] * scale);\n var C = adjustToRange(0, 1, src[srcOffset + 2] * scale);\n var AGR = A === 1 ? 1 : Math.pow(A, cs.GR);\n var BGG = B === 1 ? 1 : Math.pow(B, cs.GG);\n var CGB = C === 1 ? 1 : Math.pow(C, cs.GB);\n var X = cs.MXA * AGR + cs.MXB * BGG + cs.MXC * CGB;\n var Y = cs.MYA * AGR + cs.MYB * BGG + cs.MYC * CGB;\n var Z = cs.MZA * AGR + cs.MZB * BGG + cs.MZC * CGB;\n var XYZ = tempConvertMatrix1;\n XYZ[0] = X;\n XYZ[1] = Y;\n XYZ[2] = Z;\n var XYZ_Flat = tempConvertMatrix2;\n normalizeWhitePointToFlat(cs.whitePoint, XYZ, XYZ_Flat);\n var XYZ_Black = tempConvertMatrix1;\n compensateBlackPoint(cs.blackPoint, XYZ_Flat, XYZ_Black);\n var XYZ_D65 = tempConvertMatrix2;\n normalizeWhitePointToD65(FLAT_WHITEPOINT_MATRIX, XYZ_Black, XYZ_D65);\n var SRGB = tempConvertMatrix1;\n matrixProduct(SRGB_D65_XYZ_TO_RGB_MATRIX, XYZ_D65, SRGB);\n dest[destOffset] = sRGBTransferFunction(SRGB[0]) * 255;\n dest[destOffset + 1] = sRGBTransferFunction(SRGB[1]) * 255;\n dest[destOffset + 2] = sRGBTransferFunction(SRGB[2]) * 255;\n }\n\n var CalRGBCS = /*#__PURE__*/function (_ColorSpace8) {\n _inherits(CalRGBCS, _ColorSpace8);\n\n var _super8 = _createSuper(CalRGBCS);\n\n function CalRGBCS(whitePoint, blackPoint, gamma, matrix) {\n var _this5;\n\n _classCallCheck(this, CalRGBCS);\n\n _this5 = _super8.call(this, \"CalRGB\", 3);\n\n if (!whitePoint) {\n throw new _util.FormatError(\"WhitePoint missing - required for color space CalRGB\");\n }\n\n blackPoint = blackPoint || new Float32Array(3);\n gamma = gamma || new Float32Array([1, 1, 1]);\n matrix = matrix || new Float32Array([1, 0, 0, 0, 1, 0, 0, 0, 1]);\n var XW = whitePoint[0];\n var YW = whitePoint[1];\n var ZW = whitePoint[2];\n _this5.whitePoint = whitePoint;\n var XB = blackPoint[0];\n var YB = blackPoint[1];\n var ZB = blackPoint[2];\n _this5.blackPoint = blackPoint;\n _this5.GR = gamma[0];\n _this5.GG = gamma[1];\n _this5.GB = gamma[2];\n _this5.MXA = matrix[0];\n _this5.MYA = matrix[1];\n _this5.MZA = matrix[2];\n _this5.MXB = matrix[3];\n _this5.MYB = matrix[4];\n _this5.MZB = matrix[5];\n _this5.MXC = matrix[6];\n _this5.MYC = matrix[7];\n _this5.MZC = matrix[8];\n\n if (XW < 0 || ZW < 0 || YW !== 1) {\n throw new _util.FormatError(\"Invalid WhitePoint components for \".concat(_this5.name) + \", no fallback available\");\n }\n\n if (XB < 0 || YB < 0 || ZB < 0) {\n (0, _util.info)(\"Invalid BlackPoint for \".concat(_this5.name, \" [\").concat(XB, \", \").concat(YB, \", \").concat(ZB, \"], \") + \"falling back to default.\");\n _this5.blackPoint = new Float32Array(3);\n }\n\n if (_this5.GR < 0 || _this5.GG < 0 || _this5.GB < 0) {\n (0, _util.info)(\"Invalid Gamma [\".concat(_this5.GR, \", \").concat(_this5.GG, \", \").concat(_this5.GB, \"] for \") + \"\".concat(_this5.name, \", falling back to default.\"));\n _this5.GR = _this5.GG = _this5.GB = 1;\n }\n\n return _this5;\n }\n\n _createClass(CalRGBCS, [{\n key: \"getRgbItem\",\n value: function getRgbItem(src, srcOffset, dest, destOffset) {\n convertToRgb(this, src, srcOffset, dest, destOffset, 1);\n }\n }, {\n key: \"getRgbBuffer\",\n value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n var scale = 1 / ((1 << bits) - 1);\n\n for (var i = 0; i < count; ++i) {\n convertToRgb(this, src, srcOffset, dest, destOffset, scale);\n srcOffset += 3;\n destOffset += 3 + alpha01;\n }\n }\n }, {\n key: \"getOutputLength\",\n value: function getOutputLength(inputLength, alpha01) {\n return inputLength * (3 + alpha01) / 3 | 0;\n }\n }]);\n\n return CalRGBCS;\n }(ColorSpace);\n\n return CalRGBCS;\n}();\n\nvar LabCS = function LabCSClosure() {\n function fn_g(x) {\n var result;\n\n if (x >= 6 / 29) {\n result = x * x * x;\n } else {\n result = 108 / 841 * (x - 4 / 29);\n }\n\n return result;\n }\n\n function decode(value, high1, low2, high2) {\n return low2 + value * (high2 - low2) / high1;\n }\n\n function convertToRgb(cs, src, srcOffset, maxVal, dest, destOffset) {\n var Ls = src[srcOffset];\n var as = src[srcOffset + 1];\n var bs = src[srcOffset + 2];\n\n if (maxVal !== false) {\n Ls = decode(Ls, maxVal, 0, 100);\n as = decode(as, maxVal, cs.amin, cs.amax);\n bs = decode(bs, maxVal, cs.bmin, cs.bmax);\n }\n\n if (as > cs.amax) {\n as = cs.amax;\n } else if (as < cs.amin) {\n as = cs.amin;\n }\n\n if (bs > cs.bmax) {\n bs = cs.bmax;\n } else if (bs < cs.bmin) {\n bs = cs.bmin;\n }\n\n var M = (Ls + 16) / 116;\n var L = M + as / 500;\n var N = M - bs / 200;\n var X = cs.XW * fn_g(L);\n var Y = cs.YW * fn_g(M);\n var Z = cs.ZW * fn_g(N);\n var r, g, b;\n\n if (cs.ZW < 1) {\n r = X * 3.1339 + Y * -1.617 + Z * -0.4906;\n g = X * -0.9785 + Y * 1.916 + Z * 0.0333;\n b = X * 0.072 + Y * -0.229 + Z * 1.4057;\n } else {\n r = X * 3.2406 + Y * -1.5372 + Z * -0.4986;\n g = X * -0.9689 + Y * 1.8758 + Z * 0.0415;\n b = X * 0.0557 + Y * -0.204 + Z * 1.057;\n }\n\n dest[destOffset] = Math.sqrt(r) * 255;\n dest[destOffset + 1] = Math.sqrt(g) * 255;\n dest[destOffset + 2] = Math.sqrt(b) * 255;\n }\n\n var LabCS = /*#__PURE__*/function (_ColorSpace9) {\n _inherits(LabCS, _ColorSpace9);\n\n var _super9 = _createSuper(LabCS);\n\n function LabCS(whitePoint, blackPoint, range) {\n var _this6;\n\n _classCallCheck(this, LabCS);\n\n _this6 = _super9.call(this, \"Lab\", 3);\n\n if (!whitePoint) {\n throw new _util.FormatError(\"WhitePoint missing - required for color space Lab\");\n }\n\n blackPoint = blackPoint || [0, 0, 0];\n range = range || [-100, 100, -100, 100];\n _this6.XW = whitePoint[0];\n _this6.YW = whitePoint[1];\n _this6.ZW = whitePoint[2];\n _this6.amin = range[0];\n _this6.amax = range[1];\n _this6.bmin = range[2];\n _this6.bmax = range[3];\n _this6.XB = blackPoint[0];\n _this6.YB = blackPoint[1];\n _this6.ZB = blackPoint[2];\n\n if (_this6.XW < 0 || _this6.ZW < 0 || _this6.YW !== 1) {\n throw new _util.FormatError(\"Invalid WhitePoint components, no fallback available\");\n }\n\n if (_this6.XB < 0 || _this6.YB < 0 || _this6.ZB < 0) {\n (0, _util.info)(\"Invalid BlackPoint, falling back to default\");\n _this6.XB = _this6.YB = _this6.ZB = 0;\n }\n\n if (_this6.amin > _this6.amax || _this6.bmin > _this6.bmax) {\n (0, _util.info)(\"Invalid Range, falling back to defaults\");\n _this6.amin = -100;\n _this6.amax = 100;\n _this6.bmin = -100;\n _this6.bmax = 100;\n }\n\n return _this6;\n }\n\n _createClass(LabCS, [{\n key: \"getRgbItem\",\n value: function getRgbItem(src, srcOffset, dest, destOffset) {\n convertToRgb(this, src, srcOffset, false, dest, destOffset);\n }\n }, {\n key: \"getRgbBuffer\",\n value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n var maxVal = (1 << bits) - 1;\n\n for (var i = 0; i < count; i++) {\n convertToRgb(this, src, srcOffset, maxVal, dest, destOffset);\n srcOffset += 3;\n destOffset += 3 + alpha01;\n }\n }\n }, {\n key: \"getOutputLength\",\n value: function getOutputLength(inputLength, alpha01) {\n return inputLength * (3 + alpha01) / 3 | 0;\n }\n }, {\n key: \"isDefaultDecode\",\n value: function isDefaultDecode(decodeMap, bpc) {\n return true;\n }\n }, {\n key: \"usesZeroToOneRange\",\n get: function get() {\n return (0, _util.shadow)(this, \"usesZeroToOneRange\", false);\n }\n }]);\n\n return LabCS;\n }(ColorSpace);\n\n return LabCS;\n}();\n\n/***/ }),\n/* 221 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.GlobalImageCache = exports.LocalGStateCache = exports.LocalFunctionCache = exports.LocalColorSpaceCache = exports.LocalImageCache = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(202);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar BaseLocalCache = /*#__PURE__*/function () {\n function BaseLocalCache(options) {\n _classCallCheck(this, BaseLocalCache);\n\n if (this.constructor === BaseLocalCache) {\n (0, _util.unreachable)(\"Cannot initialize BaseLocalCache.\");\n }\n\n if (!options || !options.onlyRefs) {\n this._nameRefMap = new Map();\n this._imageMap = new Map();\n }\n\n this._imageCache = new _primitives.RefSetCache();\n }\n\n _createClass(BaseLocalCache, [{\n key: \"getByName\",\n value: function getByName(name) {\n var ref = this._nameRefMap.get(name);\n\n if (ref) {\n return this.getByRef(ref);\n }\n\n return this._imageMap.get(name) || null;\n }\n }, {\n key: \"getByRef\",\n value: function getByRef(ref) {\n return this._imageCache.get(ref) || null;\n }\n }, {\n key: \"set\",\n value: function set(name, ref, data) {\n (0, _util.unreachable)(\"Abstract method `set` called.\");\n }\n }]);\n\n return BaseLocalCache;\n}();\n\nvar LocalImageCache = /*#__PURE__*/function (_BaseLocalCache) {\n _inherits(LocalImageCache, _BaseLocalCache);\n\n var _super = _createSuper(LocalImageCache);\n\n function LocalImageCache() {\n _classCallCheck(this, LocalImageCache);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(LocalImageCache, [{\n key: \"set\",\n value: function set(name) {\n var ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var data = arguments.length > 2 ? arguments[2] : undefined;\n\n if (!name) {\n throw new Error('LocalImageCache.set - expected \"name\" argument.');\n }\n\n if (ref) {\n if (this._imageCache.has(ref)) {\n return;\n }\n\n this._nameRefMap.set(name, ref);\n\n this._imageCache.put(ref, data);\n\n return;\n }\n\n if (this._imageMap.has(name)) {\n return;\n }\n\n this._imageMap.set(name, data);\n }\n }]);\n\n return LocalImageCache;\n}(BaseLocalCache);\n\nexports.LocalImageCache = LocalImageCache;\n\nvar LocalColorSpaceCache = /*#__PURE__*/function (_BaseLocalCache2) {\n _inherits(LocalColorSpaceCache, _BaseLocalCache2);\n\n var _super2 = _createSuper(LocalColorSpaceCache);\n\n function LocalColorSpaceCache() {\n _classCallCheck(this, LocalColorSpaceCache);\n\n return _super2.apply(this, arguments);\n }\n\n _createClass(LocalColorSpaceCache, [{\n key: \"set\",\n value: function set() {\n var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var data = arguments.length > 2 ? arguments[2] : undefined;\n\n if (!name && !ref) {\n throw new Error('LocalColorSpaceCache.set - expected \"name\" and/or \"ref\" argument.');\n }\n\n if (ref) {\n if (this._imageCache.has(ref)) {\n return;\n }\n\n if (name) {\n this._nameRefMap.set(name, ref);\n }\n\n this._imageCache.put(ref, data);\n\n return;\n }\n\n if (this._imageMap.has(name)) {\n return;\n }\n\n this._imageMap.set(name, data);\n }\n }]);\n\n return LocalColorSpaceCache;\n}(BaseLocalCache);\n\nexports.LocalColorSpaceCache = LocalColorSpaceCache;\n\nvar LocalFunctionCache = /*#__PURE__*/function (_BaseLocalCache3) {\n _inherits(LocalFunctionCache, _BaseLocalCache3);\n\n var _super3 = _createSuper(LocalFunctionCache);\n\n function LocalFunctionCache(options) {\n _classCallCheck(this, LocalFunctionCache);\n\n return _super3.call(this, {\n onlyRefs: true\n });\n }\n\n _createClass(LocalFunctionCache, [{\n key: \"getByName\",\n value: function getByName(name) {\n (0, _util.unreachable)(\"Should not call `getByName` method.\");\n }\n }, {\n key: \"set\",\n value: function set() {\n var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var ref = arguments.length > 1 ? arguments[1] : undefined;\n var data = arguments.length > 2 ? arguments[2] : undefined;\n\n if (!ref) {\n throw new Error('LocalFunctionCache.set - expected \"ref\" argument.');\n }\n\n if (this._imageCache.has(ref)) {\n return;\n }\n\n this._imageCache.put(ref, data);\n }\n }]);\n\n return LocalFunctionCache;\n}(BaseLocalCache);\n\nexports.LocalFunctionCache = LocalFunctionCache;\n\nvar LocalGStateCache = /*#__PURE__*/function (_BaseLocalCache4) {\n _inherits(LocalGStateCache, _BaseLocalCache4);\n\n var _super4 = _createSuper(LocalGStateCache);\n\n function LocalGStateCache() {\n _classCallCheck(this, LocalGStateCache);\n\n return _super4.apply(this, arguments);\n }\n\n _createClass(LocalGStateCache, [{\n key: \"set\",\n value: function set(name) {\n var ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var data = arguments.length > 2 ? arguments[2] : undefined;\n\n if (!name) {\n throw new Error('LocalGStateCache.set - expected \"name\" argument.');\n }\n\n if (ref) {\n if (this._imageCache.has(ref)) {\n return;\n }\n\n this._nameRefMap.set(name, ref);\n\n this._imageCache.put(ref, data);\n\n return;\n }\n\n if (this._imageMap.has(name)) {\n return;\n }\n\n this._imageMap.set(name, data);\n }\n }]);\n\n return LocalGStateCache;\n}(BaseLocalCache);\n\nexports.LocalGStateCache = LocalGStateCache;\n\nvar GlobalImageCache = /*#__PURE__*/function () {\n _createClass(GlobalImageCache, null, [{\n key: \"NUM_PAGES_THRESHOLD\",\n get: function get() {\n return (0, _util.shadow)(this, \"NUM_PAGES_THRESHOLD\", 2);\n }\n }, {\n key: \"MAX_IMAGES_TO_CACHE\",\n get: function get() {\n return (0, _util.shadow)(this, \"MAX_IMAGES_TO_CACHE\", 10);\n }\n }]);\n\n function GlobalImageCache() {\n _classCallCheck(this, GlobalImageCache);\n\n this._refCache = new _primitives.RefSetCache();\n this._imageCache = new _primitives.RefSetCache();\n }\n\n _createClass(GlobalImageCache, [{\n key: \"shouldCache\",\n value: function shouldCache(ref, pageIndex) {\n var pageIndexSet = this._refCache.get(ref);\n\n var numPages = pageIndexSet ? pageIndexSet.size + (pageIndexSet.has(pageIndex) ? 0 : 1) : 1;\n\n if (numPages < GlobalImageCache.NUM_PAGES_THRESHOLD) {\n return false;\n }\n\n if (!this._imageCache.has(ref) && this._imageCache.size >= GlobalImageCache.MAX_IMAGES_TO_CACHE) {\n return false;\n }\n\n return true;\n }\n }, {\n key: \"addPageIndex\",\n value: function addPageIndex(ref, pageIndex) {\n var pageIndexSet = this._refCache.get(ref);\n\n if (!pageIndexSet) {\n pageIndexSet = new Set();\n\n this._refCache.put(ref, pageIndexSet);\n }\n\n pageIndexSet.add(pageIndex);\n }\n }, {\n key: \"getData\",\n value: function getData(ref, pageIndex) {\n var pageIndexSet = this._refCache.get(ref);\n\n if (!pageIndexSet) {\n return null;\n }\n\n if (pageIndexSet.size < GlobalImageCache.NUM_PAGES_THRESHOLD) {\n return null;\n }\n\n if (!this._imageCache.has(ref)) {\n return null;\n }\n\n pageIndexSet.add(pageIndex);\n return this._imageCache.get(ref);\n }\n }, {\n key: \"setData\",\n value: function setData(ref, data) {\n if (!this._refCache.has(ref)) {\n throw new Error('GlobalImageCache.setData - expected \"addPageIndex\" to have been called.');\n }\n\n if (this._imageCache.has(ref)) {\n return;\n }\n\n if (this._imageCache.size >= GlobalImageCache.MAX_IMAGES_TO_CACHE) {\n (0, _util.info)(\"GlobalImageCache.setData - ignoring image above MAX_IMAGES_TO_CACHE.\");\n return;\n }\n\n this._imageCache.put(ref, data);\n }\n }, {\n key: \"clear\",\n value: function clear() {\n var onlyData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!onlyData) {\n this._refCache.clear();\n }\n\n this._imageCache.clear();\n }\n }]);\n\n return GlobalImageCache;\n}();\n\nexports.GlobalImageCache = GlobalImageCache;\n\n/***/ }),\n/* 222 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getQuadPoints = getQuadPoints;\nexports.MarkupAnnotation = exports.AnnotationFactory = exports.AnnotationBorderStyle = exports.Annotation = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _obj = __w_pdfjs_require__(207);\n\nvar _primitives = __w_pdfjs_require__(202);\n\nvar _colorspace = __w_pdfjs_require__(220);\n\nvar _core_utils = __w_pdfjs_require__(205);\n\nvar _operator_list = __w_pdfjs_require__(223);\n\nvar _stream = __w_pdfjs_require__(209);\n\nvar _writer = __w_pdfjs_require__(224);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar AnnotationFactory = /*#__PURE__*/function () {\n function AnnotationFactory() {\n _classCallCheck(this, AnnotationFactory);\n }\n\n _createClass(AnnotationFactory, null, [{\n key: \"create\",\n value: function create(xref, ref, pdfManager, idFactory) {\n var _this = this;\n\n return pdfManager.ensureCatalog(\"acroForm\").then(function (acroForm) {\n return pdfManager.ensure(_this, \"_create\", [xref, ref, pdfManager, idFactory, acroForm]);\n });\n }\n }, {\n key: \"_create\",\n value: function _create(xref, ref, pdfManager, idFactory, acroForm) {\n var dict = xref.fetchIfRef(ref);\n\n if (!(0, _primitives.isDict)(dict)) {\n return undefined;\n }\n\n var id = (0, _primitives.isRef)(ref) ? ref.toString() : \"annot_\".concat(idFactory.createObjId());\n var subtype = dict.get(\"Subtype\");\n subtype = (0, _primitives.isName)(subtype) ? subtype.name : null;\n var parameters = {\n xref: xref,\n ref: ref,\n dict: dict,\n subtype: subtype,\n id: id,\n pdfManager: pdfManager,\n acroForm: acroForm instanceof _primitives.Dict ? acroForm : _primitives.Dict.empty\n };\n\n switch (subtype) {\n case \"Link\":\n return new LinkAnnotation(parameters);\n\n case \"Text\":\n return new TextAnnotation(parameters);\n\n case \"Widget\":\n var fieldType = (0, _core_utils.getInheritableProperty)({\n dict: dict,\n key: \"FT\"\n });\n fieldType = (0, _primitives.isName)(fieldType) ? fieldType.name : null;\n\n switch (fieldType) {\n case \"Tx\":\n return new TextWidgetAnnotation(parameters);\n\n case \"Btn\":\n return new ButtonWidgetAnnotation(parameters);\n\n case \"Ch\":\n return new ChoiceWidgetAnnotation(parameters);\n }\n\n (0, _util.warn)('Unimplemented widget field type \"' + fieldType + '\", ' + \"falling back to base field type.\");\n return new WidgetAnnotation(parameters);\n\n case \"Popup\":\n return new PopupAnnotation(parameters);\n\n case \"FreeText\":\n return new FreeTextAnnotation(parameters);\n\n case \"Line\":\n return new LineAnnotation(parameters);\n\n case \"Square\":\n return new SquareAnnotation(parameters);\n\n case \"Circle\":\n return new CircleAnnotation(parameters);\n\n case \"PolyLine\":\n return new PolylineAnnotation(parameters);\n\n case \"Polygon\":\n return new PolygonAnnotation(parameters);\n\n case \"Caret\":\n return new CaretAnnotation(parameters);\n\n case \"Ink\":\n return new InkAnnotation(parameters);\n\n case \"Highlight\":\n return new HighlightAnnotation(parameters);\n\n case \"Underline\":\n return new UnderlineAnnotation(parameters);\n\n case \"Squiggly\":\n return new SquigglyAnnotation(parameters);\n\n case \"StrikeOut\":\n return new StrikeOutAnnotation(parameters);\n\n case \"Stamp\":\n return new StampAnnotation(parameters);\n\n case \"FileAttachment\":\n return new FileAttachmentAnnotation(parameters);\n\n default:\n if (!subtype) {\n (0, _util.warn)(\"Annotation is missing the required /Subtype.\");\n } else {\n (0, _util.warn)('Unimplemented annotation type \"' + subtype + '\", ' + \"falling back to base annotation.\");\n }\n\n return new Annotation(parameters);\n }\n }\n }]);\n\n return AnnotationFactory;\n}();\n\nexports.AnnotationFactory = AnnotationFactory;\n\nfunction getQuadPoints(dict, rect) {\n if (!dict.has(\"QuadPoints\")) {\n return null;\n }\n\n var quadPoints = dict.getArray(\"QuadPoints\");\n\n if (!Array.isArray(quadPoints) || quadPoints.length % 8 > 0) {\n return null;\n }\n\n var quadPointsLists = [];\n\n for (var i = 0, ii = quadPoints.length / 8; i < ii; i++) {\n quadPointsLists.push([]);\n\n for (var j = i * 8, jj = i * 8 + 8; j < jj; j += 2) {\n var x = quadPoints[j];\n var y = quadPoints[j + 1];\n\n if (x < rect[0] || x > rect[2] || y < rect[1] || y > rect[3]) {\n return null;\n }\n\n quadPointsLists[i].push({\n x: x,\n y: y\n });\n }\n }\n\n return quadPointsLists;\n}\n\nfunction getTransformMatrix(rect, bbox, matrix) {\n var _Util$getAxialAligned = _util.Util.getAxialAlignedBoundingBox(bbox, matrix),\n _Util$getAxialAligned2 = _slicedToArray(_Util$getAxialAligned, 4),\n minX = _Util$getAxialAligned2[0],\n minY = _Util$getAxialAligned2[1],\n maxX = _Util$getAxialAligned2[2],\n maxY = _Util$getAxialAligned2[3];\n\n if (minX === maxX || minY === maxY) {\n return [1, 0, 0, 1, rect[0], rect[1]];\n }\n\n var xRatio = (rect[2] - rect[0]) / (maxX - minX);\n var yRatio = (rect[3] - rect[1]) / (maxY - minY);\n return [xRatio, 0, 0, yRatio, rect[0] - minX * xRatio, rect[1] - minY * yRatio];\n}\n\nvar Annotation = /*#__PURE__*/function () {\n function Annotation(params) {\n _classCallCheck(this, Annotation);\n\n var dict = params.dict;\n this.setContents(dict.get(\"Contents\"));\n this.setModificationDate(dict.get(\"M\"));\n this.setFlags(dict.get(\"F\"));\n this.setRectangle(dict.getArray(\"Rect\"));\n this.setColor(dict.getArray(\"C\"));\n this.setBorderStyle(dict);\n this.setAppearance(dict);\n this.data = {\n annotationFlags: this.flags,\n borderStyle: this.borderStyle,\n color: this.color,\n contents: this.contents,\n hasAppearance: !!this.appearance,\n id: params.id,\n modificationDate: this.modificationDate,\n rect: this.rectangle,\n subtype: params.subtype\n };\n }\n\n _createClass(Annotation, [{\n key: \"_hasFlag\",\n value: function _hasFlag(flags, flag) {\n return !!(flags & flag);\n }\n }, {\n key: \"_isViewable\",\n value: function _isViewable(flags) {\n return !this._hasFlag(flags, _util.AnnotationFlag.INVISIBLE) && !this._hasFlag(flags, _util.AnnotationFlag.HIDDEN) && !this._hasFlag(flags, _util.AnnotationFlag.NOVIEW);\n }\n }, {\n key: \"_isPrintable\",\n value: function _isPrintable(flags) {\n return this._hasFlag(flags, _util.AnnotationFlag.PRINT) && !this._hasFlag(flags, _util.AnnotationFlag.INVISIBLE) && !this._hasFlag(flags, _util.AnnotationFlag.HIDDEN);\n }\n }, {\n key: \"setContents\",\n value: function setContents(contents) {\n this.contents = (0, _util.stringToPDFString)(contents || \"\");\n }\n }, {\n key: \"setModificationDate\",\n value: function setModificationDate(modificationDate) {\n this.modificationDate = (0, _util.isString)(modificationDate) ? modificationDate : null;\n }\n }, {\n key: \"setFlags\",\n value: function setFlags(flags) {\n this.flags = Number.isInteger(flags) && flags > 0 ? flags : 0;\n }\n }, {\n key: \"hasFlag\",\n value: function hasFlag(flag) {\n return this._hasFlag(this.flags, flag);\n }\n }, {\n key: \"setRectangle\",\n value: function setRectangle(rectangle) {\n if (Array.isArray(rectangle) && rectangle.length === 4) {\n this.rectangle = _util.Util.normalizeRect(rectangle);\n } else {\n this.rectangle = [0, 0, 0, 0];\n }\n }\n }, {\n key: \"setColor\",\n value: function setColor(color) {\n var rgbColor = new Uint8ClampedArray(3);\n\n if (!Array.isArray(color)) {\n this.color = rgbColor;\n return;\n }\n\n switch (color.length) {\n case 0:\n this.color = null;\n break;\n\n case 1:\n _colorspace.ColorSpace.singletons.gray.getRgbItem(color, 0, rgbColor, 0);\n\n this.color = rgbColor;\n break;\n\n case 3:\n _colorspace.ColorSpace.singletons.rgb.getRgbItem(color, 0, rgbColor, 0);\n\n this.color = rgbColor;\n break;\n\n case 4:\n _colorspace.ColorSpace.singletons.cmyk.getRgbItem(color, 0, rgbColor, 0);\n\n this.color = rgbColor;\n break;\n\n default:\n this.color = rgbColor;\n break;\n }\n }\n }, {\n key: \"setBorderStyle\",\n value: function setBorderStyle(borderStyle) {\n this.borderStyle = new AnnotationBorderStyle();\n\n if (!(0, _primitives.isDict)(borderStyle)) {\n return;\n }\n\n if (borderStyle.has(\"BS\")) {\n var dict = borderStyle.get(\"BS\");\n var dictType = dict.get(\"Type\");\n\n if (!dictType || (0, _primitives.isName)(dictType, \"Border\")) {\n this.borderStyle.setWidth(dict.get(\"W\"), this.rectangle);\n this.borderStyle.setStyle(dict.get(\"S\"));\n this.borderStyle.setDashArray(dict.getArray(\"D\"));\n }\n } else if (borderStyle.has(\"Border\")) {\n var array = borderStyle.getArray(\"Border\");\n\n if (Array.isArray(array) && array.length >= 3) {\n this.borderStyle.setHorizontalCornerRadius(array[0]);\n this.borderStyle.setVerticalCornerRadius(array[1]);\n this.borderStyle.setWidth(array[2], this.rectangle);\n\n if (array.length === 4) {\n this.borderStyle.setDashArray(array[3]);\n }\n }\n } else {\n this.borderStyle.setWidth(0);\n }\n }\n }, {\n key: \"setAppearance\",\n value: function setAppearance(dict) {\n this.appearance = null;\n var appearanceStates = dict.get(\"AP\");\n\n if (!(0, _primitives.isDict)(appearanceStates)) {\n return;\n }\n\n var normalAppearanceState = appearanceStates.get(\"N\");\n\n if ((0, _primitives.isStream)(normalAppearanceState)) {\n this.appearance = normalAppearanceState;\n return;\n }\n\n if (!(0, _primitives.isDict)(normalAppearanceState)) {\n return;\n }\n\n var as = dict.get(\"AS\");\n\n if (!(0, _primitives.isName)(as) || !normalAppearanceState.has(as.name)) {\n return;\n }\n\n this.appearance = normalAppearanceState.get(as.name);\n }\n }, {\n key: \"loadResources\",\n value: function loadResources(keys) {\n return this.appearance.dict.getAsync(\"Resources\").then(function (resources) {\n if (!resources) {\n return undefined;\n }\n\n var objectLoader = new _obj.ObjectLoader(resources, keys, resources.xref);\n return objectLoader.load().then(function () {\n return resources;\n });\n });\n }\n }, {\n key: \"getOperatorList\",\n value: function getOperatorList(evaluator, task, renderForms, annotationStorage) {\n if (!this.appearance) {\n return Promise.resolve(new _operator_list.OperatorList());\n }\n\n var appearance = this.appearance;\n var data = this.data;\n var appearanceDict = appearance.dict;\n var resourcesPromise = this.loadResources([\"ExtGState\", \"ColorSpace\", \"Pattern\", \"Shading\", \"XObject\", \"Font\"]);\n var bbox = appearanceDict.getArray(\"BBox\") || [0, 0, 1, 1];\n var matrix = appearanceDict.getArray(\"Matrix\") || [1, 0, 0, 1, 0, 0];\n var transform = getTransformMatrix(data.rect, bbox, matrix);\n return resourcesPromise.then(function (resources) {\n var opList = new _operator_list.OperatorList();\n opList.addOp(_util.OPS.beginAnnotation, [data.rect, transform, matrix]);\n return evaluator.getOperatorList({\n stream: appearance,\n task: task,\n resources: resources,\n operatorList: opList\n }).then(function () {\n opList.addOp(_util.OPS.endAnnotation, []);\n appearance.reset();\n return opList;\n });\n });\n }\n }, {\n key: \"save\",\n value: function () {\n var _save = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(evaluator, task, annotationStorage) {\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n return _context.abrupt(\"return\", null);\n\n case 1:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n function save(_x, _x2, _x3) {\n return _save.apply(this, arguments);\n }\n\n return save;\n }()\n }, {\n key: \"viewable\",\n get: function get() {\n if (this.flags === 0) {\n return true;\n }\n\n return this._isViewable(this.flags);\n }\n }, {\n key: \"printable\",\n get: function get() {\n if (this.flags === 0) {\n return false;\n }\n\n return this._isPrintable(this.flags);\n }\n }]);\n\n return Annotation;\n}();\n\nexports.Annotation = Annotation;\n\nvar AnnotationBorderStyle = /*#__PURE__*/function () {\n function AnnotationBorderStyle() {\n _classCallCheck(this, AnnotationBorderStyle);\n\n this.width = 1;\n this.style = _util.AnnotationBorderStyleType.SOLID;\n this.dashArray = [3];\n this.horizontalCornerRadius = 0;\n this.verticalCornerRadius = 0;\n }\n\n _createClass(AnnotationBorderStyle, [{\n key: \"setWidth\",\n value: function setWidth(width) {\n var rect = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [0, 0, 0, 0];\n\n if ((0, _primitives.isName)(width)) {\n this.width = 0;\n return;\n }\n\n if (Number.isInteger(width)) {\n if (width > 0) {\n var maxWidth = (rect[2] - rect[0]) / 2;\n var maxHeight = (rect[3] - rect[1]) / 2;\n\n if (maxWidth > 0 && maxHeight > 0 && (width > maxWidth || width > maxHeight)) {\n (0, _util.warn)(\"AnnotationBorderStyle.setWidth - ignoring width: \".concat(width));\n width = 1;\n }\n }\n\n this.width = width;\n }\n }\n }, {\n key: \"setStyle\",\n value: function setStyle(style) {\n if (!(0, _primitives.isName)(style)) {\n return;\n }\n\n switch (style.name) {\n case \"S\":\n this.style = _util.AnnotationBorderStyleType.SOLID;\n break;\n\n case \"D\":\n this.style = _util.AnnotationBorderStyleType.DASHED;\n break;\n\n case \"B\":\n this.style = _util.AnnotationBorderStyleType.BEVELED;\n break;\n\n case \"I\":\n this.style = _util.AnnotationBorderStyleType.INSET;\n break;\n\n case \"U\":\n this.style = _util.AnnotationBorderStyleType.UNDERLINE;\n break;\n\n default:\n break;\n }\n }\n }, {\n key: \"setDashArray\",\n value: function setDashArray(dashArray) {\n if (Array.isArray(dashArray) && dashArray.length > 0) {\n var isValid = true;\n var allZeros = true;\n\n var _iterator = _createForOfIteratorHelper(dashArray),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var element = _step.value;\n var validNumber = +element >= 0;\n\n if (!validNumber) {\n isValid = false;\n break;\n } else if (element > 0) {\n allZeros = false;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n if (isValid && !allZeros) {\n this.dashArray = dashArray;\n } else {\n this.width = 0;\n }\n } else if (dashArray) {\n this.width = 0;\n }\n }\n }, {\n key: \"setHorizontalCornerRadius\",\n value: function setHorizontalCornerRadius(radius) {\n if (Number.isInteger(radius)) {\n this.horizontalCornerRadius = radius;\n }\n }\n }, {\n key: \"setVerticalCornerRadius\",\n value: function setVerticalCornerRadius(radius) {\n if (Number.isInteger(radius)) {\n this.verticalCornerRadius = radius;\n }\n }\n }]);\n\n return AnnotationBorderStyle;\n}();\n\nexports.AnnotationBorderStyle = AnnotationBorderStyle;\n\nvar MarkupAnnotation = /*#__PURE__*/function (_Annotation) {\n _inherits(MarkupAnnotation, _Annotation);\n\n var _super = _createSuper(MarkupAnnotation);\n\n function MarkupAnnotation(parameters) {\n var _this2;\n\n _classCallCheck(this, MarkupAnnotation);\n\n _this2 = _super.call(this, parameters);\n var dict = parameters.dict;\n\n if (dict.has(\"IRT\")) {\n var rawIRT = dict.getRaw(\"IRT\");\n _this2.data.inReplyTo = (0, _primitives.isRef)(rawIRT) ? rawIRT.toString() : null;\n var rt = dict.get(\"RT\");\n _this2.data.replyType = (0, _primitives.isName)(rt) ? rt.name : _util.AnnotationReplyType.REPLY;\n }\n\n if (_this2.data.replyType === _util.AnnotationReplyType.GROUP) {\n var parent = dict.get(\"IRT\");\n _this2.data.title = (0, _util.stringToPDFString)(parent.get(\"T\") || \"\");\n\n _this2.setContents(parent.get(\"Contents\"));\n\n _this2.data.contents = _this2.contents;\n\n if (!parent.has(\"CreationDate\")) {\n _this2.data.creationDate = null;\n } else {\n _this2.setCreationDate(parent.get(\"CreationDate\"));\n\n _this2.data.creationDate = _this2.creationDate;\n }\n\n if (!parent.has(\"M\")) {\n _this2.data.modificationDate = null;\n } else {\n _this2.setModificationDate(parent.get(\"M\"));\n\n _this2.data.modificationDate = _this2.modificationDate;\n }\n\n _this2.data.hasPopup = parent.has(\"Popup\");\n\n if (!parent.has(\"C\")) {\n _this2.data.color = null;\n } else {\n _this2.setColor(parent.getArray(\"C\"));\n\n _this2.data.color = _this2.color;\n }\n } else {\n _this2.data.title = (0, _util.stringToPDFString)(dict.get(\"T\") || \"\");\n\n _this2.setCreationDate(dict.get(\"CreationDate\"));\n\n _this2.data.creationDate = _this2.creationDate;\n _this2.data.hasPopup = dict.has(\"Popup\");\n\n if (!dict.has(\"C\")) {\n _this2.data.color = null;\n }\n }\n\n return _this2;\n }\n\n _createClass(MarkupAnnotation, [{\n key: \"setCreationDate\",\n value: function setCreationDate(creationDate) {\n this.creationDate = (0, _util.isString)(creationDate) ? creationDate : null;\n }\n }]);\n\n return MarkupAnnotation;\n}(Annotation);\n\nexports.MarkupAnnotation = MarkupAnnotation;\n\nvar WidgetAnnotation = /*#__PURE__*/function (_Annotation2) {\n _inherits(WidgetAnnotation, _Annotation2);\n\n var _super2 = _createSuper(WidgetAnnotation);\n\n function WidgetAnnotation(params) {\n var _this3;\n\n _classCallCheck(this, WidgetAnnotation);\n\n _this3 = _super2.call(this, params);\n var dict = params.dict;\n var data = _this3.data;\n _this3.ref = params.ref;\n data.annotationType = _util.AnnotationType.WIDGET;\n data.fieldName = _this3._constructFieldName(dict);\n var fieldValue = (0, _core_utils.getInheritableProperty)({\n dict: dict,\n key: \"V\",\n getArray: true\n });\n data.fieldValue = _this3._decodeFormValue(fieldValue);\n data.alternativeText = (0, _util.stringToPDFString)(dict.get(\"TU\") || \"\");\n data.defaultAppearance = (0, _core_utils.getInheritableProperty)({\n dict: dict,\n key: \"DA\"\n }) || params.acroForm.get(\"DA\") || \"\";\n var fieldType = (0, _core_utils.getInheritableProperty)({\n dict: dict,\n key: \"FT\"\n });\n data.fieldType = (0, _primitives.isName)(fieldType) ? fieldType.name : null;\n _this3.fieldResources = (0, _core_utils.getInheritableProperty)({\n dict: dict,\n key: \"DR\"\n }) || params.acroForm.get(\"DR\") || _primitives.Dict.empty;\n data.fieldFlags = (0, _core_utils.getInheritableProperty)({\n dict: dict,\n key: \"Ff\"\n });\n\n if (!Number.isInteger(data.fieldFlags) || data.fieldFlags < 0) {\n data.fieldFlags = 0;\n }\n\n data.readOnly = _this3.hasFieldFlag(_util.AnnotationFieldFlag.READONLY);\n\n if (data.fieldType === \"Sig\") {\n data.fieldValue = null;\n\n _this3.setFlags(_util.AnnotationFlag.HIDDEN);\n }\n\n return _this3;\n }\n\n _createClass(WidgetAnnotation, [{\n key: \"_constructFieldName\",\n value: function _constructFieldName(dict) {\n if (!dict.has(\"T\") && !dict.has(\"Parent\")) {\n (0, _util.warn)(\"Unknown field name, falling back to empty field name.\");\n return \"\";\n }\n\n if (!dict.has(\"Parent\")) {\n return (0, _util.stringToPDFString)(dict.get(\"T\"));\n }\n\n var fieldName = [];\n\n if (dict.has(\"T\")) {\n fieldName.unshift((0, _util.stringToPDFString)(dict.get(\"T\")));\n }\n\n var loopDict = dict;\n\n while (loopDict.has(\"Parent\")) {\n loopDict = loopDict.get(\"Parent\");\n\n if (!(0, _primitives.isDict)(loopDict)) {\n break;\n }\n\n if (loopDict.has(\"T\")) {\n fieldName.unshift((0, _util.stringToPDFString)(loopDict.get(\"T\")));\n }\n }\n\n return fieldName.join(\".\");\n }\n }, {\n key: \"_decodeFormValue\",\n value: function _decodeFormValue(formValue) {\n if (Array.isArray(formValue)) {\n return formValue.filter(function (item) {\n return (0, _util.isString)(item);\n }).map(function (item) {\n return (0, _util.stringToPDFString)(item);\n });\n } else if ((0, _primitives.isName)(formValue)) {\n return (0, _util.stringToPDFString)(formValue.name);\n } else if ((0, _util.isString)(formValue)) {\n return (0, _util.stringToPDFString)(formValue);\n }\n\n return null;\n }\n }, {\n key: \"hasFieldFlag\",\n value: function hasFieldFlag(flag) {\n return !!(this.data.fieldFlags & flag);\n }\n }, {\n key: \"getOperatorList\",\n value: function getOperatorList(evaluator, task, renderForms, annotationStorage) {\n var _this4 = this;\n\n if (renderForms) {\n return Promise.resolve(new _operator_list.OperatorList());\n }\n\n if (!this._hasText) {\n return _get(_getPrototypeOf(WidgetAnnotation.prototype), \"getOperatorList\", this).call(this, evaluator, task, renderForms, annotationStorage);\n }\n\n return this._getAppearance(evaluator, task, annotationStorage).then(function (content) {\n if (_this4.appearance && content === null) {\n return _get(_getPrototypeOf(WidgetAnnotation.prototype), \"getOperatorList\", _this4).call(_this4, evaluator, task, renderForms, annotationStorage);\n }\n\n var operatorList = new _operator_list.OperatorList();\n\n if (!_this4.data.defaultAppearance || content === null) {\n return operatorList;\n }\n\n var matrix = [1, 0, 0, 1, 0, 0];\n var bbox = [0, 0, _this4.data.rect[2] - _this4.data.rect[0], _this4.data.rect[3] - _this4.data.rect[1]];\n var transform = getTransformMatrix(_this4.data.rect, bbox, matrix);\n operatorList.addOp(_util.OPS.beginAnnotation, [_this4.data.rect, transform, matrix]);\n var stream = new _stream.StringStream(content);\n return evaluator.getOperatorList({\n stream: stream,\n task: task,\n resources: _this4.fieldResources,\n operatorList: operatorList\n }).then(function () {\n operatorList.addOp(_util.OPS.endAnnotation, []);\n return operatorList;\n });\n });\n }\n }, {\n key: \"save\",\n value: function () {\n var _save2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2(evaluator, task, annotationStorage) {\n var appearance, dict, bbox, newRef, AP, value, encrypt, originalTransform, newTransform, appearanceDict, bufferOriginal, bufferNew;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!(this.data.fieldValue === annotationStorage[this.data.id])) {\n _context2.next = 2;\n break;\n }\n\n return _context2.abrupt(\"return\", null);\n\n case 2:\n _context2.next = 4;\n return this._getAppearance(evaluator, task, annotationStorage);\n\n case 4:\n appearance = _context2.sent;\n\n if (!(appearance === null)) {\n _context2.next = 7;\n break;\n }\n\n return _context2.abrupt(\"return\", null);\n\n case 7:\n dict = evaluator.xref.fetchIfRef(this.ref);\n\n if ((0, _primitives.isDict)(dict)) {\n _context2.next = 10;\n break;\n }\n\n return _context2.abrupt(\"return\", null);\n\n case 10:\n bbox = [0, 0, this.data.rect[2] - this.data.rect[0], this.data.rect[3] - this.data.rect[1]];\n newRef = evaluator.xref.getNewRef();\n AP = new _primitives.Dict(evaluator.xref);\n AP.set(\"N\", newRef);\n value = annotationStorage[this.data.id];\n encrypt = evaluator.xref.encrypt;\n originalTransform = null;\n newTransform = null;\n\n if (encrypt) {\n originalTransform = encrypt.createCipherTransform(this.ref.num, this.ref.gen);\n newTransform = encrypt.createCipherTransform(newRef.num, newRef.gen);\n appearance = newTransform.encryptString(appearance);\n }\n\n dict.set(\"V\", value);\n dict.set(\"AP\", AP);\n dict.set(\"M\", \"D:\".concat((0, _util.getModificationDate)()));\n appearanceDict = new _primitives.Dict(evaluator.xref);\n appearanceDict.set(\"Length\", appearance.length);\n appearanceDict.set(\"Subtype\", _primitives.Name.get(\"Form\"));\n appearanceDict.set(\"Resources\", this.fieldResources);\n appearanceDict.set(\"BBox\", bbox);\n bufferOriginal = [\"\".concat(this.ref.num, \" \").concat(this.ref.gen, \" obj\\n\")];\n (0, _writer.writeDict)(dict, bufferOriginal, originalTransform);\n bufferOriginal.push(\"\\nendobj\\n\");\n bufferNew = [\"\".concat(newRef.num, \" \").concat(newRef.gen, \" obj\\n\")];\n (0, _writer.writeDict)(appearanceDict, bufferNew, newTransform);\n bufferNew.push(\" stream\\n\");\n bufferNew.push(appearance);\n bufferNew.push(\"\\nendstream\\nendobj\\n\");\n return _context2.abrupt(\"return\", [{\n ref: this.ref,\n data: bufferOriginal.join(\"\")\n }, {\n ref: newRef,\n data: bufferNew.join(\"\")\n }]);\n\n case 36:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function save(_x4, _x5, _x6) {\n return _save2.apply(this, arguments);\n }\n\n return save;\n }()\n }, {\n key: \"_getAppearance\",\n value: function () {\n var _getAppearance2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee3(evaluator, task, annotationStorage) {\n var isPassword, value, defaultPadding, hPadding, totalHeight, totalWidth, fontInfo, _fontInfo, font, fontName, fontSize, descent, vPadding, defaultAppearance, alignment, renderedText;\n\n return _regenerator[\"default\"].wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n isPassword = this.hasFieldFlag(_util.AnnotationFieldFlag.PASSWORD);\n\n if (!(!annotationStorage || isPassword)) {\n _context3.next = 3;\n break;\n }\n\n return _context3.abrupt(\"return\", null);\n\n case 3:\n value = annotationStorage[this.data.id];\n\n if (!(value === \"\")) {\n _context3.next = 6;\n break;\n }\n\n return _context3.abrupt(\"return\", \"\");\n\n case 6:\n defaultPadding = 2;\n hPadding = defaultPadding;\n totalHeight = this.data.rect[3] - this.data.rect[1];\n totalWidth = this.data.rect[2] - this.data.rect[0];\n _context3.next = 12;\n return this._getFontData(evaluator, task);\n\n case 12:\n fontInfo = _context3.sent;\n _fontInfo = _slicedToArray(fontInfo, 2), font = _fontInfo[0], fontName = _fontInfo[1];\n fontSize = fontInfo[2];\n fontSize = this._computeFontSize(font, fontName, fontSize, totalHeight);\n descent = font.descent;\n\n if (isNaN(descent)) {\n descent = 0;\n }\n\n vPadding = defaultPadding + Math.abs(descent) * fontSize;\n defaultAppearance = this.data.defaultAppearance;\n alignment = this.data.textAlignment;\n\n if (!this.data.comb) {\n _context3.next = 23;\n break;\n }\n\n return _context3.abrupt(\"return\", this._getCombAppearance(defaultAppearance, value, totalWidth, hPadding, vPadding));\n\n case 23:\n if (!this.data.multiLine) {\n _context3.next = 25;\n break;\n }\n\n return _context3.abrupt(\"return\", this._getMultilineAppearance(defaultAppearance, value, font, fontSize, totalWidth, totalHeight, alignment, hPadding, vPadding));\n\n case 25:\n if (!(alignment === 0 || alignment > 2)) {\n _context3.next = 27;\n break;\n }\n\n return _context3.abrupt(\"return\", \"/Tx BMC q BT \" + defaultAppearance + \" 1 0 0 1 \".concat(hPadding, \" \").concat(vPadding, \" Tm (\").concat((0, _util.escapeString)(value), \") Tj\") + \" ET Q EMC\");\n\n case 27:\n renderedText = this._renderText(value, font, fontSize, totalWidth, alignment, hPadding, vPadding);\n return _context3.abrupt(\"return\", \"/Tx BMC q BT \" + defaultAppearance + \" 1 0 0 1 0 0 Tm \".concat(renderedText) + \" ET Q EMC\");\n\n case 29:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, this);\n }));\n\n function _getAppearance(_x7, _x8, _x9) {\n return _getAppearance2.apply(this, arguments);\n }\n\n return _getAppearance;\n }()\n }, {\n key: \"_getFontData\",\n value: function () {\n var _getFontData2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee4(evaluator, task) {\n var operatorList, initialState;\n return _regenerator[\"default\"].wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n operatorList = new _operator_list.OperatorList();\n initialState = {\n fontSize: 0,\n font: null,\n fontName: null,\n clone: function clone() {\n return this;\n }\n };\n _context4.next = 4;\n return evaluator.getOperatorList({\n stream: new _stream.StringStream(this.data.defaultAppearance),\n task: task,\n resources: this.fieldResources,\n operatorList: operatorList,\n initialState: initialState\n });\n\n case 4:\n return _context4.abrupt(\"return\", [initialState.font, initialState.fontName, initialState.fontSize]);\n\n case 5:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4, this);\n }));\n\n function _getFontData(_x10, _x11) {\n return _getFontData2.apply(this, arguments);\n }\n\n return _getFontData;\n }()\n }, {\n key: \"_computeFontSize\",\n value: function _computeFontSize(font, fontName, fontSize, height) {\n if (fontSize === null || fontSize === 0) {\n var em = font.charsToGlyphs(\"M\", true)[0].width / 1000;\n var capHeight = 0.7 * em;\n fontSize = Math.max(1, Math.floor(height / (1.5 * capHeight)));\n var fontRegex = new RegExp(\"/\".concat(fontName, \"\\\\s+[0-9.]+\\\\s+Tf\"));\n\n if (this.data.defaultAppearance.search(fontRegex) === -1) {\n fontRegex = new RegExp(\"/\".concat(fontName, \"\\\\s+Tf\"));\n }\n\n this.data.defaultAppearance = this.data.defaultAppearance.replace(fontRegex, \"/\".concat(fontName, \" \").concat(fontSize, \" Tf\"));\n }\n\n return fontSize;\n }\n }, {\n key: \"_renderText\",\n value: function _renderText(text, font, fontSize, totalWidth, alignment, hPadding, vPadding) {\n var glyphs = font.charsToGlyphs(text);\n var scale = fontSize / 1000;\n var width = 0;\n\n var _iterator2 = _createForOfIteratorHelper(glyphs),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var glyph = _step2.value;\n width += glyph.width * scale;\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n var shift;\n\n if (alignment === 1) {\n shift = (totalWidth - width) / 2;\n } else if (alignment === 2) {\n shift = totalWidth - width - hPadding;\n } else {\n shift = hPadding;\n }\n\n shift = shift.toFixed(2);\n vPadding = vPadding.toFixed(2);\n return \"\".concat(shift, \" \").concat(vPadding, \" Td (\").concat((0, _util.escapeString)(text), \") Tj\");\n }\n }]);\n\n return WidgetAnnotation;\n}(Annotation);\n\nvar TextWidgetAnnotation = /*#__PURE__*/function (_WidgetAnnotation) {\n _inherits(TextWidgetAnnotation, _WidgetAnnotation);\n\n var _super3 = _createSuper(TextWidgetAnnotation);\n\n function TextWidgetAnnotation(params) {\n var _this5;\n\n _classCallCheck(this, TextWidgetAnnotation);\n\n _this5 = _super3.call(this, params);\n _this5._hasText = true;\n var dict = params.dict;\n\n if (!(0, _util.isString)(_this5.data.fieldValue)) {\n _this5.data.fieldValue = \"\";\n }\n\n var alignment = (0, _core_utils.getInheritableProperty)({\n dict: dict,\n key: \"Q\"\n });\n\n if (!Number.isInteger(alignment) || alignment < 0 || alignment > 2) {\n alignment = null;\n }\n\n _this5.data.textAlignment = alignment;\n var maximumLength = (0, _core_utils.getInheritableProperty)({\n dict: dict,\n key: \"MaxLen\"\n });\n\n if (!Number.isInteger(maximumLength) || maximumLength < 0) {\n maximumLength = null;\n }\n\n _this5.data.maxLen = maximumLength;\n _this5.data.multiLine = _this5.hasFieldFlag(_util.AnnotationFieldFlag.MULTILINE);\n _this5.data.comb = _this5.hasFieldFlag(_util.AnnotationFieldFlag.COMB) && !_this5.hasFieldFlag(_util.AnnotationFieldFlag.MULTILINE) && !_this5.hasFieldFlag(_util.AnnotationFieldFlag.PASSWORD) && !_this5.hasFieldFlag(_util.AnnotationFieldFlag.FILESELECT) && _this5.data.maxLen !== null;\n return _this5;\n }\n\n _createClass(TextWidgetAnnotation, [{\n key: \"_getCombAppearance\",\n value: function _getCombAppearance(defaultAppearance, text, width, hPadding, vPadding) {\n var combWidth = (width / this.data.maxLen).toFixed(2);\n var buf = [];\n\n var _iterator3 = _createForOfIteratorHelper(text),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var character = _step3.value;\n buf.push(\"(\".concat((0, _util.escapeString)(character), \") Tj\"));\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n\n var renderedComb = buf.join(\" \".concat(combWidth, \" 0 Td \"));\n return \"/Tx BMC q BT \" + defaultAppearance + \" 1 0 0 1 \".concat(hPadding, \" \").concat(vPadding, \" Tm \").concat(renderedComb) + \" ET Q EMC\";\n }\n }, {\n key: \"_getMultilineAppearance\",\n value: function _getMultilineAppearance(defaultAppearance, text, font, fontSize, width, height, alignment, hPadding, vPadding) {\n var lines = text.split(/\\r\\n|\\r|\\n/);\n var buf = [];\n var totalWidth = width - 2 * hPadding;\n\n var _iterator4 = _createForOfIteratorHelper(lines),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var line = _step4.value;\n\n var chunks = this._splitLine(line, font, fontSize, totalWidth);\n\n var _iterator5 = _createForOfIteratorHelper(chunks),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var chunk = _step5.value;\n var padding = buf.length === 0 ? hPadding : 0;\n buf.push(this._renderText(chunk, font, fontSize, width, alignment, padding, -fontSize));\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n\n var renderedText = buf.join(\"\\n\");\n return \"/Tx BMC q BT \" + defaultAppearance + \" 1 0 0 1 0 \".concat(height, \" Tm \").concat(renderedText) + \" ET Q EMC\";\n }\n }, {\n key: \"_splitLine\",\n value: function _splitLine(line, font, fontSize, width) {\n if (line.length <= 1) {\n return [line];\n }\n\n var scale = fontSize / 1000;\n var whitespace = font.charsToGlyphs(\" \", true)[0].width * scale;\n var chunks = [];\n var lastSpacePos = -1,\n startChunk = 0,\n currentWidth = 0;\n\n for (var i = 0, ii = line.length; i < ii; i++) {\n var character = line.charAt(i);\n\n if (character === \" \") {\n if (currentWidth + whitespace > width) {\n chunks.push(line.substring(startChunk, i));\n startChunk = i;\n currentWidth = whitespace;\n lastSpacePos = -1;\n } else {\n currentWidth += whitespace;\n lastSpacePos = i;\n }\n } else {\n var charWidth = font.charsToGlyphs(character, false)[0].width * scale;\n\n if (currentWidth + charWidth > width) {\n if (lastSpacePos !== -1) {\n chunks.push(line.substring(startChunk, lastSpacePos + 1));\n startChunk = i = lastSpacePos + 1;\n lastSpacePos = -1;\n currentWidth = 0;\n } else {\n chunks.push(line.substring(startChunk, i));\n startChunk = i;\n currentWidth = charWidth;\n }\n } else {\n currentWidth += charWidth;\n }\n }\n }\n\n if (startChunk < line.length) {\n chunks.push(line.substring(startChunk, line.length));\n }\n\n return chunks;\n }\n }]);\n\n return TextWidgetAnnotation;\n}(WidgetAnnotation);\n\nvar ButtonWidgetAnnotation = /*#__PURE__*/function (_WidgetAnnotation2) {\n _inherits(ButtonWidgetAnnotation, _WidgetAnnotation2);\n\n var _super4 = _createSuper(ButtonWidgetAnnotation);\n\n function ButtonWidgetAnnotation(params) {\n var _this6;\n\n _classCallCheck(this, ButtonWidgetAnnotation);\n\n _this6 = _super4.call(this, params);\n _this6.checkedAppearance = null;\n _this6.uncheckedAppearance = null;\n _this6.data.checkBox = !_this6.hasFieldFlag(_util.AnnotationFieldFlag.RADIO) && !_this6.hasFieldFlag(_util.AnnotationFieldFlag.PUSHBUTTON);\n _this6.data.radioButton = _this6.hasFieldFlag(_util.AnnotationFieldFlag.RADIO) && !_this6.hasFieldFlag(_util.AnnotationFieldFlag.PUSHBUTTON);\n _this6.data.pushButton = _this6.hasFieldFlag(_util.AnnotationFieldFlag.PUSHBUTTON);\n\n if (_this6.data.checkBox) {\n _this6._processCheckBox(params);\n } else if (_this6.data.radioButton) {\n _this6._processRadioButton(params);\n } else if (_this6.data.pushButton) {\n _this6._processPushButton(params);\n } else {\n (0, _util.warn)(\"Invalid field flags for button widget annotation\");\n }\n\n return _this6;\n }\n\n _createClass(ButtonWidgetAnnotation, [{\n key: \"getOperatorList\",\n value: function getOperatorList(evaluator, task, renderForms, annotationStorage) {\n if (this.data.pushButton) {\n return _get(_getPrototypeOf(ButtonWidgetAnnotation.prototype), \"getOperatorList\", this).call(this, evaluator, task, false, annotationStorage);\n }\n\n if (annotationStorage) {\n var value = annotationStorage[this.data.id] || false;\n var appearance;\n\n if (value) {\n appearance = this.checkedAppearance;\n } else {\n appearance = this.uncheckedAppearance;\n }\n\n if (appearance) {\n var savedAppearance = this.appearance;\n this.appearance = appearance;\n\n var operatorList = _get(_getPrototypeOf(ButtonWidgetAnnotation.prototype), \"getOperatorList\", this).call(this, evaluator, task, renderForms, annotationStorage);\n\n this.appearance = savedAppearance;\n return operatorList;\n }\n\n return Promise.resolve(new _operator_list.OperatorList());\n }\n\n return _get(_getPrototypeOf(ButtonWidgetAnnotation.prototype), \"getOperatorList\", this).call(this, evaluator, task, renderForms, annotationStorage);\n }\n }, {\n key: \"save\",\n value: function () {\n var _save3 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee5(evaluator, task, annotationStorage) {\n return _regenerator[\"default\"].wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n if (!this.data.checkBox) {\n _context5.next = 2;\n break;\n }\n\n return _context5.abrupt(\"return\", this._saveCheckbox(evaluator, task, annotationStorage));\n\n case 2:\n if (!this.data.radioButton) {\n _context5.next = 4;\n break;\n }\n\n return _context5.abrupt(\"return\", this._saveRadioButton(evaluator, task, annotationStorage));\n\n case 4:\n return _context5.abrupt(\"return\", _get(_getPrototypeOf(ButtonWidgetAnnotation.prototype), \"save\", this).call(this, evaluator, task, annotationStorage));\n\n case 5:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5, this);\n }));\n\n function save(_x12, _x13, _x14) {\n return _save3.apply(this, arguments);\n }\n\n return save;\n }()\n }, {\n key: \"_saveCheckbox\",\n value: function () {\n var _saveCheckbox2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee6(evaluator, task, annotationStorage) {\n var defaultValue, value, dict, name, encrypt, originalTransform, buffer;\n return _regenerator[\"default\"].wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n defaultValue = this.data.fieldValue && this.data.fieldValue !== \"Off\";\n value = annotationStorage[this.data.id];\n\n if (!(defaultValue === value)) {\n _context6.next = 4;\n break;\n }\n\n return _context6.abrupt(\"return\", null);\n\n case 4:\n dict = evaluator.xref.fetchIfRef(this.ref);\n\n if ((0, _primitives.isDict)(dict)) {\n _context6.next = 7;\n break;\n }\n\n return _context6.abrupt(\"return\", null);\n\n case 7:\n name = _primitives.Name.get(value ? this.data.exportValue : \"Off\");\n dict.set(\"V\", name);\n dict.set(\"AS\", name);\n dict.set(\"M\", \"D:\".concat((0, _util.getModificationDate)()));\n encrypt = evaluator.xref.encrypt;\n originalTransform = null;\n\n if (encrypt) {\n originalTransform = encrypt.createCipherTransform(this.ref.num, this.ref.gen);\n }\n\n buffer = [\"\".concat(this.ref.num, \" \").concat(this.ref.gen, \" obj\\n\")];\n (0, _writer.writeDict)(dict, buffer, originalTransform);\n buffer.push(\"\\nendobj\\n\");\n return _context6.abrupt(\"return\", [{\n ref: this.ref,\n data: buffer.join(\"\")\n }]);\n\n case 18:\n case \"end\":\n return _context6.stop();\n }\n }\n }, _callee6, this);\n }));\n\n function _saveCheckbox(_x15, _x16, _x17) {\n return _saveCheckbox2.apply(this, arguments);\n }\n\n return _saveCheckbox;\n }()\n }, {\n key: \"_saveRadioButton\",\n value: function () {\n var _saveRadioButton2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee7(evaluator, task, annotationStorage) {\n var defaultValue, value, dict, name, parentBuffer, encrypt, parent, parentTransform, originalTransform, buffer, newRefs;\n return _regenerator[\"default\"].wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n defaultValue = this.data.fieldValue === this.data.buttonValue;\n value = annotationStorage[this.data.id];\n\n if (!(defaultValue === value)) {\n _context7.next = 4;\n break;\n }\n\n return _context7.abrupt(\"return\", null);\n\n case 4:\n dict = evaluator.xref.fetchIfRef(this.ref);\n\n if ((0, _primitives.isDict)(dict)) {\n _context7.next = 7;\n break;\n }\n\n return _context7.abrupt(\"return\", null);\n\n case 7:\n name = _primitives.Name.get(value ? this.data.buttonValue : \"Off\");\n parentBuffer = null;\n encrypt = evaluator.xref.encrypt;\n\n if (value) {\n if ((0, _primitives.isRef)(this.parent)) {\n parent = evaluator.xref.fetch(this.parent);\n parentTransform = null;\n\n if (encrypt) {\n parentTransform = encrypt.createCipherTransform(this.parent.num, this.parent.gen);\n }\n\n parent.set(\"V\", name);\n parentBuffer = [\"\".concat(this.parent.num, \" \").concat(this.parent.gen, \" obj\\n\")];\n (0, _writer.writeDict)(parent, parentBuffer, parentTransform);\n parentBuffer.push(\"\\nendobj\\n\");\n } else if ((0, _primitives.isDict)(this.parent)) {\n this.parent.set(\"V\", name);\n }\n }\n\n dict.set(\"AS\", name);\n dict.set(\"M\", \"D:\".concat((0, _util.getModificationDate)()));\n originalTransform = null;\n\n if (encrypt) {\n originalTransform = encrypt.createCipherTransform(this.ref.num, this.ref.gen);\n }\n\n buffer = [\"\".concat(this.ref.num, \" \").concat(this.ref.gen, \" obj\\n\")];\n (0, _writer.writeDict)(dict, buffer, originalTransform);\n buffer.push(\"\\nendobj\\n\");\n newRefs = [{\n ref: this.ref,\n data: buffer.join(\"\")\n }];\n\n if (parentBuffer !== null) {\n newRefs.push({\n ref: this.parent,\n data: parentBuffer.join(\"\")\n });\n }\n\n return _context7.abrupt(\"return\", newRefs);\n\n case 21:\n case \"end\":\n return _context7.stop();\n }\n }\n }, _callee7, this);\n }));\n\n function _saveRadioButton(_x18, _x19, _x20) {\n return _saveRadioButton2.apply(this, arguments);\n }\n\n return _saveRadioButton;\n }()\n }, {\n key: \"_processCheckBox\",\n value: function _processCheckBox(params) {\n var customAppearance = params.dict.get(\"AP\");\n\n if (!(0, _primitives.isDict)(customAppearance)) {\n return;\n }\n\n var normalAppearance = customAppearance.get(\"N\");\n\n if (!(0, _primitives.isDict)(normalAppearance)) {\n return;\n }\n\n var exportValues = normalAppearance.getKeys();\n\n if (!exportValues.includes(\"Off\")) {\n exportValues.push(\"Off\");\n }\n\n if (exportValues.length !== 2) {\n return;\n }\n\n this.data.exportValue = exportValues[0] === \"Off\" ? exportValues[1] : exportValues[0];\n this.checkedAppearance = normalAppearance.get(this.data.exportValue);\n this.uncheckedAppearance = normalAppearance.get(\"Off\") || null;\n }\n }, {\n key: \"_processRadioButton\",\n value: function _processRadioButton(params) {\n this.data.fieldValue = this.data.buttonValue = null;\n var fieldParent = params.dict.get(\"Parent\");\n\n if ((0, _primitives.isDict)(fieldParent) && fieldParent.has(\"V\")) {\n var fieldParentValue = fieldParent.get(\"V\");\n\n if ((0, _primitives.isName)(fieldParentValue)) {\n this.parent = params.dict.getRaw(\"Parent\");\n this.data.fieldValue = this._decodeFormValue(fieldParentValue);\n }\n }\n\n var appearanceStates = params.dict.get(\"AP\");\n\n if (!(0, _primitives.isDict)(appearanceStates)) {\n return;\n }\n\n var normalAppearance = appearanceStates.get(\"N\");\n\n if (!(0, _primitives.isDict)(normalAppearance)) {\n return;\n }\n\n var _iterator6 = _createForOfIteratorHelper(normalAppearance.getKeys()),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var key = _step6.value;\n\n if (key !== \"Off\") {\n this.data.buttonValue = key;\n break;\n }\n }\n } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n\n this.checkedAppearance = normalAppearance.get(this.data.buttonValue);\n this.uncheckedAppearance = normalAppearance.get(\"Off\") || null;\n }\n }, {\n key: \"_processPushButton\",\n value: function _processPushButton(params) {\n if (!params.dict.has(\"A\")) {\n (0, _util.warn)(\"Push buttons without action dictionaries are not supported\");\n return;\n }\n\n _obj.Catalog.parseDestDictionary({\n destDict: params.dict,\n resultObj: this.data,\n docBaseUrl: params.pdfManager.docBaseUrl\n });\n }\n }]);\n\n return ButtonWidgetAnnotation;\n}(WidgetAnnotation);\n\nvar ChoiceWidgetAnnotation = /*#__PURE__*/function (_WidgetAnnotation3) {\n _inherits(ChoiceWidgetAnnotation, _WidgetAnnotation3);\n\n var _super5 = _createSuper(ChoiceWidgetAnnotation);\n\n function ChoiceWidgetAnnotation(params) {\n var _this7;\n\n _classCallCheck(this, ChoiceWidgetAnnotation);\n\n _this7 = _super5.call(this, params);\n _this7.data.options = [];\n var options = (0, _core_utils.getInheritableProperty)({\n dict: params.dict,\n key: \"Opt\"\n });\n\n if (Array.isArray(options)) {\n var xref = params.xref;\n\n for (var i = 0, ii = options.length; i < ii; i++) {\n var option = xref.fetchIfRef(options[i]);\n var isOptionArray = Array.isArray(option);\n _this7.data.options[i] = {\n exportValue: _this7._decodeFormValue(isOptionArray ? xref.fetchIfRef(option[0]) : option),\n displayValue: _this7._decodeFormValue(isOptionArray ? xref.fetchIfRef(option[1]) : option)\n };\n }\n }\n\n if ((0, _util.isString)(_this7.data.fieldValue)) {\n _this7.data.fieldValue = [_this7.data.fieldValue];\n } else if (!_this7.data.fieldValue) {\n _this7.data.fieldValue = [];\n }\n\n _this7.data.combo = _this7.hasFieldFlag(_util.AnnotationFieldFlag.COMBO);\n _this7.data.multiSelect = _this7.hasFieldFlag(_util.AnnotationFieldFlag.MULTISELECT);\n _this7._hasText = true;\n return _this7;\n }\n\n return ChoiceWidgetAnnotation;\n}(WidgetAnnotation);\n\nvar TextAnnotation = /*#__PURE__*/function (_MarkupAnnotation) {\n _inherits(TextAnnotation, _MarkupAnnotation);\n\n var _super6 = _createSuper(TextAnnotation);\n\n function TextAnnotation(parameters) {\n var _this8;\n\n _classCallCheck(this, TextAnnotation);\n\n var DEFAULT_ICON_SIZE = 22;\n _this8 = _super6.call(this, parameters);\n var dict = parameters.dict;\n _this8.data.annotationType = _util.AnnotationType.TEXT;\n\n if (_this8.data.hasAppearance) {\n _this8.data.name = \"NoIcon\";\n } else {\n _this8.data.rect[1] = _this8.data.rect[3] - DEFAULT_ICON_SIZE;\n _this8.data.rect[2] = _this8.data.rect[0] + DEFAULT_ICON_SIZE;\n _this8.data.name = dict.has(\"Name\") ? dict.get(\"Name\").name : \"Note\";\n }\n\n if (dict.has(\"State\")) {\n _this8.data.state = dict.get(\"State\") || null;\n _this8.data.stateModel = dict.get(\"StateModel\") || null;\n } else {\n _this8.data.state = null;\n _this8.data.stateModel = null;\n }\n\n return _this8;\n }\n\n return TextAnnotation;\n}(MarkupAnnotation);\n\nvar LinkAnnotation = /*#__PURE__*/function (_Annotation3) {\n _inherits(LinkAnnotation, _Annotation3);\n\n var _super7 = _createSuper(LinkAnnotation);\n\n function LinkAnnotation(params) {\n var _this9;\n\n _classCallCheck(this, LinkAnnotation);\n\n _this9 = _super7.call(this, params);\n _this9.data.annotationType = _util.AnnotationType.LINK;\n var quadPoints = getQuadPoints(params.dict, _this9.rectangle);\n\n if (quadPoints) {\n _this9.data.quadPoints = quadPoints;\n }\n\n _obj.Catalog.parseDestDictionary({\n destDict: params.dict,\n resultObj: _this9.data,\n docBaseUrl: params.pdfManager.docBaseUrl\n });\n\n return _this9;\n }\n\n return LinkAnnotation;\n}(Annotation);\n\nvar PopupAnnotation = /*#__PURE__*/function (_Annotation4) {\n _inherits(PopupAnnotation, _Annotation4);\n\n var _super8 = _createSuper(PopupAnnotation);\n\n function PopupAnnotation(parameters) {\n var _this10;\n\n _classCallCheck(this, PopupAnnotation);\n\n _this10 = _super8.call(this, parameters);\n _this10.data.annotationType = _util.AnnotationType.POPUP;\n var parentItem = parameters.dict.get(\"Parent\");\n\n if (!parentItem) {\n (0, _util.warn)(\"Popup annotation has a missing or invalid parent annotation.\");\n return _possibleConstructorReturn(_this10);\n }\n\n var parentSubtype = parentItem.get(\"Subtype\");\n _this10.data.parentType = (0, _primitives.isName)(parentSubtype) ? parentSubtype.name : null;\n var rawParent = parameters.dict.getRaw(\"Parent\");\n _this10.data.parentId = (0, _primitives.isRef)(rawParent) ? rawParent.toString() : null;\n var rt = parentItem.get(\"RT\");\n\n if ((0, _primitives.isName)(rt, _util.AnnotationReplyType.GROUP)) {\n parentItem = parentItem.get(\"IRT\");\n }\n\n if (!parentItem.has(\"M\")) {\n _this10.data.modificationDate = null;\n } else {\n _this10.setModificationDate(parentItem.get(\"M\"));\n\n _this10.data.modificationDate = _this10.modificationDate;\n }\n\n if (!parentItem.has(\"C\")) {\n _this10.data.color = null;\n } else {\n _this10.setColor(parentItem.getArray(\"C\"));\n\n _this10.data.color = _this10.color;\n }\n\n if (!_this10.viewable) {\n var parentFlags = parentItem.get(\"F\");\n\n if (_this10._isViewable(parentFlags)) {\n _this10.setFlags(parentFlags);\n }\n }\n\n _this10.data.title = (0, _util.stringToPDFString)(parentItem.get(\"T\") || \"\");\n _this10.data.contents = (0, _util.stringToPDFString)(parentItem.get(\"Contents\") || \"\");\n return _this10;\n }\n\n return PopupAnnotation;\n}(Annotation);\n\nvar FreeTextAnnotation = /*#__PURE__*/function (_MarkupAnnotation2) {\n _inherits(FreeTextAnnotation, _MarkupAnnotation2);\n\n var _super9 = _createSuper(FreeTextAnnotation);\n\n function FreeTextAnnotation(parameters) {\n var _this11;\n\n _classCallCheck(this, FreeTextAnnotation);\n\n _this11 = _super9.call(this, parameters);\n _this11.data.annotationType = _util.AnnotationType.FREETEXT;\n return _this11;\n }\n\n return FreeTextAnnotation;\n}(MarkupAnnotation);\n\nvar LineAnnotation = /*#__PURE__*/function (_MarkupAnnotation3) {\n _inherits(LineAnnotation, _MarkupAnnotation3);\n\n var _super10 = _createSuper(LineAnnotation);\n\n function LineAnnotation(parameters) {\n var _this12;\n\n _classCallCheck(this, LineAnnotation);\n\n _this12 = _super10.call(this, parameters);\n _this12.data.annotationType = _util.AnnotationType.LINE;\n _this12.data.lineCoordinates = _util.Util.normalizeRect(parameters.dict.getArray(\"L\"));\n return _this12;\n }\n\n return LineAnnotation;\n}(MarkupAnnotation);\n\nvar SquareAnnotation = /*#__PURE__*/function (_MarkupAnnotation4) {\n _inherits(SquareAnnotation, _MarkupAnnotation4);\n\n var _super11 = _createSuper(SquareAnnotation);\n\n function SquareAnnotation(parameters) {\n var _this13;\n\n _classCallCheck(this, SquareAnnotation);\n\n _this13 = _super11.call(this, parameters);\n _this13.data.annotationType = _util.AnnotationType.SQUARE;\n return _this13;\n }\n\n return SquareAnnotation;\n}(MarkupAnnotation);\n\nvar CircleAnnotation = /*#__PURE__*/function (_MarkupAnnotation5) {\n _inherits(CircleAnnotation, _MarkupAnnotation5);\n\n var _super12 = _createSuper(CircleAnnotation);\n\n function CircleAnnotation(parameters) {\n var _this14;\n\n _classCallCheck(this, CircleAnnotation);\n\n _this14 = _super12.call(this, parameters);\n _this14.data.annotationType = _util.AnnotationType.CIRCLE;\n return _this14;\n }\n\n return CircleAnnotation;\n}(MarkupAnnotation);\n\nvar PolylineAnnotation = /*#__PURE__*/function (_MarkupAnnotation6) {\n _inherits(PolylineAnnotation, _MarkupAnnotation6);\n\n var _super13 = _createSuper(PolylineAnnotation);\n\n function PolylineAnnotation(parameters) {\n var _this15;\n\n _classCallCheck(this, PolylineAnnotation);\n\n _this15 = _super13.call(this, parameters);\n _this15.data.annotationType = _util.AnnotationType.POLYLINE;\n var rawVertices = parameters.dict.getArray(\"Vertices\");\n _this15.data.vertices = [];\n\n for (var i = 0, ii = rawVertices.length; i < ii; i += 2) {\n _this15.data.vertices.push({\n x: rawVertices[i],\n y: rawVertices[i + 1]\n });\n }\n\n return _this15;\n }\n\n return PolylineAnnotation;\n}(MarkupAnnotation);\n\nvar PolygonAnnotation = /*#__PURE__*/function (_PolylineAnnotation) {\n _inherits(PolygonAnnotation, _PolylineAnnotation);\n\n var _super14 = _createSuper(PolygonAnnotation);\n\n function PolygonAnnotation(parameters) {\n var _this16;\n\n _classCallCheck(this, PolygonAnnotation);\n\n _this16 = _super14.call(this, parameters);\n _this16.data.annotationType = _util.AnnotationType.POLYGON;\n return _this16;\n }\n\n return PolygonAnnotation;\n}(PolylineAnnotation);\n\nvar CaretAnnotation = /*#__PURE__*/function (_MarkupAnnotation7) {\n _inherits(CaretAnnotation, _MarkupAnnotation7);\n\n var _super15 = _createSuper(CaretAnnotation);\n\n function CaretAnnotation(parameters) {\n var _this17;\n\n _classCallCheck(this, CaretAnnotation);\n\n _this17 = _super15.call(this, parameters);\n _this17.data.annotationType = _util.AnnotationType.CARET;\n return _this17;\n }\n\n return CaretAnnotation;\n}(MarkupAnnotation);\n\nvar InkAnnotation = /*#__PURE__*/function (_MarkupAnnotation8) {\n _inherits(InkAnnotation, _MarkupAnnotation8);\n\n var _super16 = _createSuper(InkAnnotation);\n\n function InkAnnotation(parameters) {\n var _this18;\n\n _classCallCheck(this, InkAnnotation);\n\n _this18 = _super16.call(this, parameters);\n _this18.data.annotationType = _util.AnnotationType.INK;\n var xref = parameters.xref;\n var originalInkLists = parameters.dict.getArray(\"InkList\");\n _this18.data.inkLists = [];\n\n for (var i = 0, ii = originalInkLists.length; i < ii; ++i) {\n _this18.data.inkLists.push([]);\n\n for (var j = 0, jj = originalInkLists[i].length; j < jj; j += 2) {\n _this18.data.inkLists[i].push({\n x: xref.fetchIfRef(originalInkLists[i][j]),\n y: xref.fetchIfRef(originalInkLists[i][j + 1])\n });\n }\n }\n\n return _this18;\n }\n\n return InkAnnotation;\n}(MarkupAnnotation);\n\nvar HighlightAnnotation = /*#__PURE__*/function (_MarkupAnnotation9) {\n _inherits(HighlightAnnotation, _MarkupAnnotation9);\n\n var _super17 = _createSuper(HighlightAnnotation);\n\n function HighlightAnnotation(parameters) {\n var _this19;\n\n _classCallCheck(this, HighlightAnnotation);\n\n _this19 = _super17.call(this, parameters);\n _this19.data.annotationType = _util.AnnotationType.HIGHLIGHT;\n var quadPoints = getQuadPoints(parameters.dict, _this19.rectangle);\n\n if (quadPoints) {\n _this19.data.quadPoints = quadPoints;\n }\n\n return _this19;\n }\n\n return HighlightAnnotation;\n}(MarkupAnnotation);\n\nvar UnderlineAnnotation = /*#__PURE__*/function (_MarkupAnnotation10) {\n _inherits(UnderlineAnnotation, _MarkupAnnotation10);\n\n var _super18 = _createSuper(UnderlineAnnotation);\n\n function UnderlineAnnotation(parameters) {\n var _this20;\n\n _classCallCheck(this, UnderlineAnnotation);\n\n _this20 = _super18.call(this, parameters);\n _this20.data.annotationType = _util.AnnotationType.UNDERLINE;\n var quadPoints = getQuadPoints(parameters.dict, _this20.rectangle);\n\n if (quadPoints) {\n _this20.data.quadPoints = quadPoints;\n }\n\n return _this20;\n }\n\n return UnderlineAnnotation;\n}(MarkupAnnotation);\n\nvar SquigglyAnnotation = /*#__PURE__*/function (_MarkupAnnotation11) {\n _inherits(SquigglyAnnotation, _MarkupAnnotation11);\n\n var _super19 = _createSuper(SquigglyAnnotation);\n\n function SquigglyAnnotation(parameters) {\n var _this21;\n\n _classCallCheck(this, SquigglyAnnotation);\n\n _this21 = _super19.call(this, parameters);\n _this21.data.annotationType = _util.AnnotationType.SQUIGGLY;\n var quadPoints = getQuadPoints(parameters.dict, _this21.rectangle);\n\n if (quadPoints) {\n _this21.data.quadPoints = quadPoints;\n }\n\n return _this21;\n }\n\n return SquigglyAnnotation;\n}(MarkupAnnotation);\n\nvar StrikeOutAnnotation = /*#__PURE__*/function (_MarkupAnnotation12) {\n _inherits(StrikeOutAnnotation, _MarkupAnnotation12);\n\n var _super20 = _createSuper(StrikeOutAnnotation);\n\n function StrikeOutAnnotation(parameters) {\n var _this22;\n\n _classCallCheck(this, StrikeOutAnnotation);\n\n _this22 = _super20.call(this, parameters);\n _this22.data.annotationType = _util.AnnotationType.STRIKEOUT;\n var quadPoints = getQuadPoints(parameters.dict, _this22.rectangle);\n\n if (quadPoints) {\n _this22.data.quadPoints = quadPoints;\n }\n\n return _this22;\n }\n\n return StrikeOutAnnotation;\n}(MarkupAnnotation);\n\nvar StampAnnotation = /*#__PURE__*/function (_MarkupAnnotation13) {\n _inherits(StampAnnotation, _MarkupAnnotation13);\n\n var _super21 = _createSuper(StampAnnotation);\n\n function StampAnnotation(parameters) {\n var _this23;\n\n _classCallCheck(this, StampAnnotation);\n\n _this23 = _super21.call(this, parameters);\n _this23.data.annotationType = _util.AnnotationType.STAMP;\n return _this23;\n }\n\n return StampAnnotation;\n}(MarkupAnnotation);\n\nvar FileAttachmentAnnotation = /*#__PURE__*/function (_MarkupAnnotation14) {\n _inherits(FileAttachmentAnnotation, _MarkupAnnotation14);\n\n var _super22 = _createSuper(FileAttachmentAnnotation);\n\n function FileAttachmentAnnotation(parameters) {\n var _this24;\n\n _classCallCheck(this, FileAttachmentAnnotation);\n\n _this24 = _super22.call(this, parameters);\n var file = new _obj.FileSpec(parameters.dict.get(\"FS\"), parameters.xref);\n _this24.data.annotationType = _util.AnnotationType.FILEATTACHMENT;\n _this24.data.file = file.serializable;\n return _this24;\n }\n\n return FileAttachmentAnnotation;\n}(MarkupAnnotation);\n\n/***/ }),\n/* 223 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.OperatorList = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nvar QueueOptimizer = function QueueOptimizerClosure() {\n function addState(parentState, pattern, checkFn, iterateFn, processFn) {\n var state = parentState;\n\n for (var i = 0, ii = pattern.length - 1; i < ii; i++) {\n var item = pattern[i];\n state = state[item] || (state[item] = []);\n }\n\n state[pattern[pattern.length - 1]] = {\n checkFn: checkFn,\n iterateFn: iterateFn,\n processFn: processFn\n };\n }\n\n function handlePaintSolidColorImageMask(iFirstSave, count, fnArray, argsArray) {\n var iFirstPIMXO = iFirstSave + 2;\n\n for (var i = 0; i < count; i++) {\n var arg = argsArray[iFirstPIMXO + 4 * i];\n var imageMask = arg.length === 1 && arg[0];\n\n if (imageMask && imageMask.width === 1 && imageMask.height === 1 && (!imageMask.data.length || imageMask.data.length === 1 && imageMask.data[0] === 0)) {\n fnArray[iFirstPIMXO + 4 * i] = _util.OPS.paintSolidColorImageMask;\n continue;\n }\n\n break;\n }\n\n return count - i;\n }\n\n var InitialState = [];\n addState(InitialState, [_util.OPS.save, _util.OPS.transform, _util.OPS.paintInlineImageXObject, _util.OPS.restore], null, function iterateInlineImageGroup(context, i) {\n var fnArray = context.fnArray;\n var iFirstSave = context.iCurr - 3;\n var pos = (i - iFirstSave) % 4;\n\n switch (pos) {\n case 0:\n return fnArray[i] === _util.OPS.save;\n\n case 1:\n return fnArray[i] === _util.OPS.transform;\n\n case 2:\n return fnArray[i] === _util.OPS.paintInlineImageXObject;\n\n case 3:\n return fnArray[i] === _util.OPS.restore;\n }\n\n throw new Error(\"iterateInlineImageGroup - invalid pos: \".concat(pos));\n }, function foundInlineImageGroup(context, i) {\n var MIN_IMAGES_IN_INLINE_IMAGES_BLOCK = 10;\n var MAX_IMAGES_IN_INLINE_IMAGES_BLOCK = 200;\n var MAX_WIDTH = 1000;\n var IMAGE_PADDING = 1;\n var fnArray = context.fnArray,\n argsArray = context.argsArray;\n var curr = context.iCurr;\n var iFirstSave = curr - 3;\n var iFirstTransform = curr - 2;\n var iFirstPIIXO = curr - 1;\n var count = Math.min(Math.floor((i - iFirstSave) / 4), MAX_IMAGES_IN_INLINE_IMAGES_BLOCK);\n\n if (count < MIN_IMAGES_IN_INLINE_IMAGES_BLOCK) {\n return i - (i - iFirstSave) % 4;\n }\n\n var maxX = 0;\n var map = [],\n maxLineHeight = 0;\n var currentX = IMAGE_PADDING,\n currentY = IMAGE_PADDING;\n var q;\n\n for (q = 0; q < count; q++) {\n var transform = argsArray[iFirstTransform + (q << 2)];\n var img = argsArray[iFirstPIIXO + (q << 2)][0];\n\n if (currentX + img.width > MAX_WIDTH) {\n maxX = Math.max(maxX, currentX);\n currentY += maxLineHeight + 2 * IMAGE_PADDING;\n currentX = 0;\n maxLineHeight = 0;\n }\n\n map.push({\n transform: transform,\n x: currentX,\n y: currentY,\n w: img.width,\n h: img.height\n });\n currentX += img.width + 2 * IMAGE_PADDING;\n maxLineHeight = Math.max(maxLineHeight, img.height);\n }\n\n var imgWidth = Math.max(maxX, currentX) + IMAGE_PADDING;\n var imgHeight = currentY + maxLineHeight + IMAGE_PADDING;\n var imgData = new Uint8ClampedArray(imgWidth * imgHeight * 4);\n var imgRowSize = imgWidth << 2;\n\n for (q = 0; q < count; q++) {\n var data = argsArray[iFirstPIIXO + (q << 2)][0].data;\n var rowSize = map[q].w << 2;\n var dataOffset = 0;\n var offset = map[q].x + map[q].y * imgWidth << 2;\n imgData.set(data.subarray(0, rowSize), offset - imgRowSize);\n\n for (var k = 0, kk = map[q].h; k < kk; k++) {\n imgData.set(data.subarray(dataOffset, dataOffset + rowSize), offset);\n dataOffset += rowSize;\n offset += imgRowSize;\n }\n\n imgData.set(data.subarray(dataOffset - rowSize, dataOffset), offset);\n\n while (offset >= 0) {\n data[offset - 4] = data[offset];\n data[offset - 3] = data[offset + 1];\n data[offset - 2] = data[offset + 2];\n data[offset - 1] = data[offset + 3];\n data[offset + rowSize] = data[offset + rowSize - 4];\n data[offset + rowSize + 1] = data[offset + rowSize - 3];\n data[offset + rowSize + 2] = data[offset + rowSize - 2];\n data[offset + rowSize + 3] = data[offset + rowSize - 1];\n offset -= imgRowSize;\n }\n }\n\n fnArray.splice(iFirstSave, count * 4, _util.OPS.paintInlineImageXObjectGroup);\n argsArray.splice(iFirstSave, count * 4, [{\n width: imgWidth,\n height: imgHeight,\n kind: _util.ImageKind.RGBA_32BPP,\n data: imgData\n }, map]);\n return iFirstSave + 1;\n });\n addState(InitialState, [_util.OPS.save, _util.OPS.transform, _util.OPS.paintImageMaskXObject, _util.OPS.restore], null, function iterateImageMaskGroup(context, i) {\n var fnArray = context.fnArray;\n var iFirstSave = context.iCurr - 3;\n var pos = (i - iFirstSave) % 4;\n\n switch (pos) {\n case 0:\n return fnArray[i] === _util.OPS.save;\n\n case 1:\n return fnArray[i] === _util.OPS.transform;\n\n case 2:\n return fnArray[i] === _util.OPS.paintImageMaskXObject;\n\n case 3:\n return fnArray[i] === _util.OPS.restore;\n }\n\n throw new Error(\"iterateImageMaskGroup - invalid pos: \".concat(pos));\n }, function foundImageMaskGroup(context, i) {\n var MIN_IMAGES_IN_MASKS_BLOCK = 10;\n var MAX_IMAGES_IN_MASKS_BLOCK = 100;\n var MAX_SAME_IMAGES_IN_MASKS_BLOCK = 1000;\n var fnArray = context.fnArray,\n argsArray = context.argsArray;\n var curr = context.iCurr;\n var iFirstSave = curr - 3;\n var iFirstTransform = curr - 2;\n var iFirstPIMXO = curr - 1;\n var count = Math.floor((i - iFirstSave) / 4);\n count = handlePaintSolidColorImageMask(iFirstSave, count, fnArray, argsArray);\n\n if (count < MIN_IMAGES_IN_MASKS_BLOCK) {\n return i - (i - iFirstSave) % 4;\n }\n\n var q;\n var isSameImage = false;\n var iTransform, transformArgs;\n var firstPIMXOArg0 = argsArray[iFirstPIMXO][0];\n var firstTransformArg0 = argsArray[iFirstTransform][0],\n firstTransformArg1 = argsArray[iFirstTransform][1],\n firstTransformArg2 = argsArray[iFirstTransform][2],\n firstTransformArg3 = argsArray[iFirstTransform][3];\n\n if (firstTransformArg1 === firstTransformArg2) {\n isSameImage = true;\n iTransform = iFirstTransform + 4;\n var iPIMXO = iFirstPIMXO + 4;\n\n for (q = 1; q < count; q++, iTransform += 4, iPIMXO += 4) {\n transformArgs = argsArray[iTransform];\n\n if (argsArray[iPIMXO][0] !== firstPIMXOArg0 || transformArgs[0] !== firstTransformArg0 || transformArgs[1] !== firstTransformArg1 || transformArgs[2] !== firstTransformArg2 || transformArgs[3] !== firstTransformArg3) {\n if (q < MIN_IMAGES_IN_MASKS_BLOCK) {\n isSameImage = false;\n } else {\n count = q;\n }\n\n break;\n }\n }\n }\n\n if (isSameImage) {\n count = Math.min(count, MAX_SAME_IMAGES_IN_MASKS_BLOCK);\n var positions = new Float32Array(count * 2);\n iTransform = iFirstTransform;\n\n for (q = 0; q < count; q++, iTransform += 4) {\n transformArgs = argsArray[iTransform];\n positions[q << 1] = transformArgs[4];\n positions[(q << 1) + 1] = transformArgs[5];\n }\n\n fnArray.splice(iFirstSave, count * 4, _util.OPS.paintImageMaskXObjectRepeat);\n argsArray.splice(iFirstSave, count * 4, [firstPIMXOArg0, firstTransformArg0, firstTransformArg1, firstTransformArg2, firstTransformArg3, positions]);\n } else {\n count = Math.min(count, MAX_IMAGES_IN_MASKS_BLOCK);\n var images = [];\n\n for (q = 0; q < count; q++) {\n transformArgs = argsArray[iFirstTransform + (q << 2)];\n var maskParams = argsArray[iFirstPIMXO + (q << 2)][0];\n images.push({\n data: maskParams.data,\n width: maskParams.width,\n height: maskParams.height,\n transform: transformArgs\n });\n }\n\n fnArray.splice(iFirstSave, count * 4, _util.OPS.paintImageMaskXObjectGroup);\n argsArray.splice(iFirstSave, count * 4, [images]);\n }\n\n return iFirstSave + 1;\n });\n addState(InitialState, [_util.OPS.save, _util.OPS.transform, _util.OPS.paintImageXObject, _util.OPS.restore], function (context) {\n var argsArray = context.argsArray;\n var iFirstTransform = context.iCurr - 2;\n return argsArray[iFirstTransform][1] === 0 && argsArray[iFirstTransform][2] === 0;\n }, function iterateImageGroup(context, i) {\n var fnArray = context.fnArray,\n argsArray = context.argsArray;\n var iFirstSave = context.iCurr - 3;\n var pos = (i - iFirstSave) % 4;\n\n switch (pos) {\n case 0:\n return fnArray[i] === _util.OPS.save;\n\n case 1:\n if (fnArray[i] !== _util.OPS.transform) {\n return false;\n }\n\n var iFirstTransform = context.iCurr - 2;\n var firstTransformArg0 = argsArray[iFirstTransform][0];\n var firstTransformArg3 = argsArray[iFirstTransform][3];\n\n if (argsArray[i][0] !== firstTransformArg0 || argsArray[i][1] !== 0 || argsArray[i][2] !== 0 || argsArray[i][3] !== firstTransformArg3) {\n return false;\n }\n\n return true;\n\n case 2:\n if (fnArray[i] !== _util.OPS.paintImageXObject) {\n return false;\n }\n\n var iFirstPIXO = context.iCurr - 1;\n var firstPIXOArg0 = argsArray[iFirstPIXO][0];\n\n if (argsArray[i][0] !== firstPIXOArg0) {\n return false;\n }\n\n return true;\n\n case 3:\n return fnArray[i] === _util.OPS.restore;\n }\n\n throw new Error(\"iterateImageGroup - invalid pos: \".concat(pos));\n }, function (context, i) {\n var MIN_IMAGES_IN_BLOCK = 3;\n var MAX_IMAGES_IN_BLOCK = 1000;\n var fnArray = context.fnArray,\n argsArray = context.argsArray;\n var curr = context.iCurr;\n var iFirstSave = curr - 3;\n var iFirstTransform = curr - 2;\n var iFirstPIXO = curr - 1;\n var firstPIXOArg0 = argsArray[iFirstPIXO][0];\n var firstTransformArg0 = argsArray[iFirstTransform][0];\n var firstTransformArg3 = argsArray[iFirstTransform][3];\n var count = Math.min(Math.floor((i - iFirstSave) / 4), MAX_IMAGES_IN_BLOCK);\n\n if (count < MIN_IMAGES_IN_BLOCK) {\n return i - (i - iFirstSave) % 4;\n }\n\n var positions = new Float32Array(count * 2);\n var iTransform = iFirstTransform;\n\n for (var q = 0; q < count; q++, iTransform += 4) {\n var transformArgs = argsArray[iTransform];\n positions[q << 1] = transformArgs[4];\n positions[(q << 1) + 1] = transformArgs[5];\n }\n\n var args = [firstPIXOArg0, firstTransformArg0, firstTransformArg3, positions];\n fnArray.splice(iFirstSave, count * 4, _util.OPS.paintImageXObjectRepeat);\n argsArray.splice(iFirstSave, count * 4, args);\n return iFirstSave + 1;\n });\n addState(InitialState, [_util.OPS.beginText, _util.OPS.setFont, _util.OPS.setTextMatrix, _util.OPS.showText, _util.OPS.endText], null, function iterateShowTextGroup(context, i) {\n var fnArray = context.fnArray,\n argsArray = context.argsArray;\n var iFirstSave = context.iCurr - 4;\n var pos = (i - iFirstSave) % 5;\n\n switch (pos) {\n case 0:\n return fnArray[i] === _util.OPS.beginText;\n\n case 1:\n return fnArray[i] === _util.OPS.setFont;\n\n case 2:\n return fnArray[i] === _util.OPS.setTextMatrix;\n\n case 3:\n if (fnArray[i] !== _util.OPS.showText) {\n return false;\n }\n\n var iFirstSetFont = context.iCurr - 3;\n var firstSetFontArg0 = argsArray[iFirstSetFont][0];\n var firstSetFontArg1 = argsArray[iFirstSetFont][1];\n\n if (argsArray[i][0] !== firstSetFontArg0 || argsArray[i][1] !== firstSetFontArg1) {\n return false;\n }\n\n return true;\n\n case 4:\n return fnArray[i] === _util.OPS.endText;\n }\n\n throw new Error(\"iterateShowTextGroup - invalid pos: \".concat(pos));\n }, function (context, i) {\n var MIN_CHARS_IN_BLOCK = 3;\n var MAX_CHARS_IN_BLOCK = 1000;\n var fnArray = context.fnArray,\n argsArray = context.argsArray;\n var curr = context.iCurr;\n var iFirstBeginText = curr - 4;\n var iFirstSetFont = curr - 3;\n var iFirstSetTextMatrix = curr - 2;\n var iFirstShowText = curr - 1;\n var iFirstEndText = curr;\n var firstSetFontArg0 = argsArray[iFirstSetFont][0];\n var firstSetFontArg1 = argsArray[iFirstSetFont][1];\n var count = Math.min(Math.floor((i - iFirstBeginText) / 5), MAX_CHARS_IN_BLOCK);\n\n if (count < MIN_CHARS_IN_BLOCK) {\n return i - (i - iFirstBeginText) % 5;\n }\n\n var iFirst = iFirstBeginText;\n\n if (iFirstBeginText >= 4 && fnArray[iFirstBeginText - 4] === fnArray[iFirstSetFont] && fnArray[iFirstBeginText - 3] === fnArray[iFirstSetTextMatrix] && fnArray[iFirstBeginText - 2] === fnArray[iFirstShowText] && fnArray[iFirstBeginText - 1] === fnArray[iFirstEndText] && argsArray[iFirstBeginText - 4][0] === firstSetFontArg0 && argsArray[iFirstBeginText - 4][1] === firstSetFontArg1) {\n count++;\n iFirst -= 5;\n }\n\n var iEndText = iFirst + 4;\n\n for (var q = 1; q < count; q++) {\n fnArray.splice(iEndText, 3);\n argsArray.splice(iEndText, 3);\n iEndText += 2;\n }\n\n return iEndText + 1;\n });\n\n function QueueOptimizer(queue) {\n this.queue = queue;\n this.state = null;\n this.context = {\n iCurr: 0,\n fnArray: queue.fnArray,\n argsArray: queue.argsArray\n };\n this.match = null;\n this.lastProcessed = 0;\n }\n\n QueueOptimizer.prototype = {\n _optimize: function _optimize() {\n var fnArray = this.queue.fnArray;\n var i = this.lastProcessed,\n ii = fnArray.length;\n var state = this.state;\n var match = this.match;\n\n if (!state && !match && i + 1 === ii && !InitialState[fnArray[i]]) {\n this.lastProcessed = ii;\n return;\n }\n\n var context = this.context;\n\n while (i < ii) {\n if (match) {\n var iterate = (0, match.iterateFn)(context, i);\n\n if (iterate) {\n i++;\n continue;\n }\n\n i = (0, match.processFn)(context, i + 1);\n ii = fnArray.length;\n match = null;\n state = null;\n\n if (i >= ii) {\n break;\n }\n }\n\n state = (state || InitialState)[fnArray[i]];\n\n if (!state || Array.isArray(state)) {\n i++;\n continue;\n }\n\n context.iCurr = i;\n i++;\n\n if (state.checkFn && !(0, state.checkFn)(context)) {\n state = null;\n continue;\n }\n\n match = state;\n state = null;\n }\n\n this.state = state;\n this.match = match;\n this.lastProcessed = i;\n },\n push: function push(fn, args) {\n this.queue.fnArray.push(fn);\n this.queue.argsArray.push(args);\n\n this._optimize();\n },\n flush: function flush() {\n while (this.match) {\n var length = this.queue.fnArray.length;\n this.lastProcessed = (0, this.match.processFn)(this.context, length);\n this.match = null;\n this.state = null;\n\n this._optimize();\n }\n },\n reset: function reset() {\n this.state = null;\n this.match = null;\n this.lastProcessed = 0;\n }\n };\n return QueueOptimizer;\n}();\n\nvar NullOptimizer = function NullOptimizerClosure() {\n function NullOptimizer(queue) {\n this.queue = queue;\n }\n\n NullOptimizer.prototype = {\n push: function push(fn, args) {\n this.queue.fnArray.push(fn);\n this.queue.argsArray.push(args);\n },\n flush: function flush() {},\n reset: function reset() {}\n };\n return NullOptimizer;\n}();\n\nvar OperatorList = function OperatorListClosure() {\n var CHUNK_SIZE = 1000;\n var CHUNK_SIZE_ABOUT = CHUNK_SIZE - 5;\n\n function OperatorList(intent, streamSink) {\n this._streamSink = streamSink;\n this.fnArray = [];\n this.argsArray = [];\n\n if (streamSink && intent !== \"oplist\") {\n this.optimizer = new QueueOptimizer(this);\n } else {\n this.optimizer = new NullOptimizer(this);\n }\n\n this.dependencies = new Set();\n this._totalLength = 0;\n this.weight = 0;\n this._resolved = streamSink ? null : Promise.resolve();\n }\n\n OperatorList.prototype = {\n get length() {\n return this.argsArray.length;\n },\n\n get ready() {\n return this._resolved || this._streamSink.ready;\n },\n\n get totalLength() {\n return this._totalLength + this.length;\n },\n\n addOp: function addOp(fn, args) {\n this.optimizer.push(fn, args);\n this.weight++;\n\n if (this._streamSink) {\n if (this.weight >= CHUNK_SIZE) {\n this.flush();\n } else if (this.weight >= CHUNK_SIZE_ABOUT && (fn === _util.OPS.restore || fn === _util.OPS.endText)) {\n this.flush();\n }\n }\n },\n addDependency: function addDependency(dependency) {\n if (this.dependencies.has(dependency)) {\n return;\n }\n\n this.dependencies.add(dependency);\n this.addOp(_util.OPS.dependency, [dependency]);\n },\n addDependencies: function addDependencies(dependencies) {\n var _iterator = _createForOfIteratorHelper(dependencies),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var dependency = _step.value;\n this.addDependency(dependency);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n },\n addOpList: function addOpList(opList) {\n if (!(opList instanceof OperatorList)) {\n (0, _util.warn)('addOpList - ignoring invalid \"opList\" parameter.');\n return;\n }\n\n var _iterator2 = _createForOfIteratorHelper(opList.dependencies),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var dependency = _step2.value;\n this.dependencies.add(dependency);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n for (var i = 0, ii = opList.length; i < ii; i++) {\n this.addOp(opList.fnArray[i], opList.argsArray[i]);\n }\n },\n getIR: function getIR() {\n return {\n fnArray: this.fnArray,\n argsArray: this.argsArray,\n length: this.length\n };\n },\n\n get _transfers() {\n var transfers = [];\n var fnArray = this.fnArray,\n argsArray = this.argsArray,\n length = this.length;\n\n for (var i = 0; i < length; i++) {\n switch (fnArray[i]) {\n case _util.OPS.paintInlineImageXObject:\n case _util.OPS.paintInlineImageXObjectGroup:\n case _util.OPS.paintImageMaskXObject:\n var arg = argsArray[i][0];\n ;\n\n if (!arg.cached) {\n transfers.push(arg.data.buffer);\n }\n\n break;\n }\n }\n\n return transfers;\n },\n\n flush: function flush() {\n var lastChunk = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n this.optimizer.flush();\n var length = this.length;\n this._totalLength += length;\n\n this._streamSink.enqueue({\n fnArray: this.fnArray,\n argsArray: this.argsArray,\n lastChunk: lastChunk,\n length: length\n }, 1, this._transfers);\n\n this.dependencies.clear();\n this.fnArray.length = 0;\n this.argsArray.length = 0;\n this.weight = 0;\n this.optimizer.reset();\n }\n };\n return OperatorList;\n}();\n\nexports.OperatorList = OperatorList;\n\n/***/ }),\n/* 224 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.writeDict = writeDict;\nexports.incrementalUpdate = incrementalUpdate;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(202);\n\nvar _crypto = __w_pdfjs_require__(219);\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction writeDict(dict, buffer, transform) {\n buffer.push(\"<<\");\n\n var _iterator = _createForOfIteratorHelper(dict.getKeys()),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var key = _step.value;\n buffer.push(\" /\".concat(key, \" \"));\n writeValue(dict.getRaw(key), buffer, transform);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n buffer.push(\">>\");\n}\n\nfunction writeStream(stream, buffer, transform) {\n writeDict(stream.dict, buffer, transform);\n buffer.push(\" stream\\n\");\n var string = (0, _util.bytesToString)(stream.getBytes());\n\n if (transform !== null) {\n string = transform.encryptString(string);\n }\n\n buffer.push(string);\n buffer.push(\"\\nendstream\\n\");\n}\n\nfunction writeArray(array, buffer, transform) {\n buffer.push(\"[\");\n var first = true;\n\n var _iterator2 = _createForOfIteratorHelper(array),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var val = _step2.value;\n\n if (!first) {\n buffer.push(\" \");\n } else {\n first = false;\n }\n\n writeValue(val, buffer, transform);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n buffer.push(\"]\");\n}\n\nfunction numberToString(value) {\n if (Number.isInteger(value)) {\n return value.toString();\n }\n\n var roundedValue = Math.round(value * 100);\n\n if (roundedValue % 100 === 0) {\n return (roundedValue / 100).toString();\n }\n\n if (roundedValue % 10 === 0) {\n return value.toFixed(1);\n }\n\n return value.toFixed(2);\n}\n\nfunction writeValue(value, buffer, transform) {\n if ((0, _primitives.isName)(value)) {\n buffer.push(\"/\".concat(value.name));\n } else if ((0, _primitives.isRef)(value)) {\n buffer.push(\"\".concat(value.num, \" \").concat(value.gen, \" R\"));\n } else if (Array.isArray(value)) {\n writeArray(value, buffer, transform);\n } else if (typeof value === \"string\") {\n if (transform !== null) {\n value = transform.encryptString(value);\n }\n\n buffer.push(\"(\".concat((0, _util.escapeString)(value), \")\"));\n } else if (typeof value === \"number\") {\n buffer.push(numberToString(value));\n } else if ((0, _primitives.isDict)(value)) {\n writeDict(value, buffer, transform);\n } else if ((0, _primitives.isStream)(value)) {\n writeStream(value, buffer, transform);\n }\n}\n\nfunction writeInt(number, size, offset, buffer) {\n for (var i = size + offset - 1; i > offset - 1; i--) {\n buffer[i] = number & 0xff;\n number >>= 8;\n }\n\n return offset + size;\n}\n\nfunction writeString(string, offset, buffer) {\n for (var i = 0, len = string.length; i < len; i++) {\n buffer[offset + i] = string.charCodeAt(i) & 0xff;\n }\n}\n\nfunction computeMD5(filesize, xrefInfo) {\n var time = Math.floor(Date.now() / 1000);\n var filename = xrefInfo.filename || \"\";\n var md5Buffer = [time.toString(), filename, filesize.toString()];\n var md5BufferLen = md5Buffer.reduce(function (a, str) {\n return a + str.length;\n }, 0);\n\n for (var _i = 0, _Object$values = Object.values(xrefInfo.info); _i < _Object$values.length; _i++) {\n var value = _Object$values[_i];\n md5Buffer.push(value);\n md5BufferLen += value.length;\n }\n\n var array = new Uint8Array(md5BufferLen);\n var offset = 0;\n\n for (var _i2 = 0, _md5Buffer = md5Buffer; _i2 < _md5Buffer.length; _i2++) {\n var str = _md5Buffer[_i2];\n writeString(str, offset, array);\n offset += str.length;\n }\n\n return (0, _util.bytesToString)((0, _crypto.calculateMD5)(array));\n}\n\nfunction incrementalUpdate(originalData, xrefInfo, newRefs) {\n var newXref = new _primitives.Dict(null);\n var refForXrefTable = xrefInfo.newRef;\n var buffer, baseOffset;\n var lastByte = originalData[originalData.length - 1];\n\n if (lastByte === 0x0a || lastByte === 0x0d) {\n buffer = [];\n baseOffset = originalData.length;\n } else {\n buffer = [\"\\n\"];\n baseOffset = originalData.length + 1;\n }\n\n newXref.set(\"Size\", refForXrefTable.num + 1);\n newXref.set(\"Prev\", xrefInfo.startXRef);\n newXref.set(\"Type\", _primitives.Name.get(\"XRef\"));\n\n if (xrefInfo.rootRef !== null) {\n newXref.set(\"Root\", xrefInfo.rootRef);\n }\n\n if (xrefInfo.infoRef !== null) {\n newXref.set(\"Info\", xrefInfo.infoRef);\n }\n\n if (xrefInfo.encrypt !== null) {\n newXref.set(\"Encrypt\", xrefInfo.encrypt);\n }\n\n newRefs.push({\n ref: refForXrefTable,\n data: \"\"\n });\n newRefs = newRefs.sort(function (a, b) {\n return a.ref.num - b.ref.num;\n });\n var xrefTableData = [[0, 1, 0xffff]];\n var indexes = [0, 1];\n var maxOffset = 0;\n\n var _iterator3 = _createForOfIteratorHelper(newRefs),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var _step3$value = _step3.value,\n ref = _step3$value.ref,\n data = _step3$value.data;\n maxOffset = Math.max(maxOffset, baseOffset);\n xrefTableData.push([1, baseOffset, Math.min(ref.gen, 0xffff)]);\n baseOffset += data.length;\n indexes.push(ref.num);\n indexes.push(1);\n buffer.push(data);\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n\n newXref.set(\"Index\", indexes);\n\n if (xrefInfo.fileIds.length !== 0) {\n var md5 = computeMD5(baseOffset, xrefInfo);\n newXref.set(\"ID\", [xrefInfo.fileIds[0], md5]);\n }\n\n var offsetSize = Math.ceil(Math.log2(maxOffset) / 8);\n var sizes = [1, offsetSize, 2];\n var structSize = sizes[0] + sizes[1] + sizes[2];\n var tableLength = structSize * xrefTableData.length;\n newXref.set(\"W\", sizes);\n newXref.set(\"Length\", tableLength);\n buffer.push(\"\".concat(refForXrefTable.num, \" \").concat(refForXrefTable.gen, \" obj\\n\"));\n writeDict(newXref, buffer, null);\n buffer.push(\" stream\\n\");\n var bufferLen = buffer.reduce(function (a, str) {\n return a + str.length;\n }, 0);\n var footer = \"\\nendstream\\nendobj\\nstartxref\\n\".concat(baseOffset, \"\\n%%EOF\\n\");\n var array = new Uint8Array(originalData.length + bufferLen + tableLength + footer.length);\n array.set(originalData);\n var offset = originalData.length;\n\n var _iterator4 = _createForOfIteratorHelper(buffer),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var str = _step4.value;\n writeString(str, offset, array);\n offset += str.length;\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n\n for (var _i3 = 0, _xrefTableData = xrefTableData; _i3 < _xrefTableData.length; _i3++) {\n var _xrefTableData$_i = _slicedToArray(_xrefTableData[_i3], 3),\n type = _xrefTableData$_i[0],\n objOffset = _xrefTableData$_i[1],\n gen = _xrefTableData$_i[2];\n\n offset = writeInt(type, sizes[0], offset, array);\n offset = writeInt(objOffset, sizes[1], offset, array);\n offset = writeInt(gen, sizes[2], offset, array);\n }\n\n writeString(footer, offset, array);\n return array;\n}\n\n/***/ }),\n/* 225 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PartialEvaluator = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _cmap = __w_pdfjs_require__(226);\n\nvar _primitives = __w_pdfjs_require__(202);\n\nvar _fonts = __w_pdfjs_require__(227);\n\nvar _encodings = __w_pdfjs_require__(230);\n\nvar _core_utils = __w_pdfjs_require__(205);\n\nvar _unicode = __w_pdfjs_require__(233);\n\nvar _standard_fonts = __w_pdfjs_require__(232);\n\nvar _pattern = __w_pdfjs_require__(236);\n\nvar _function = __w_pdfjs_require__(237);\n\nvar _parser = __w_pdfjs_require__(208);\n\nvar _image_utils = __w_pdfjs_require__(221);\n\nvar _bidi = __w_pdfjs_require__(239);\n\nvar _colorspace = __w_pdfjs_require__(220);\n\nvar _stream = __w_pdfjs_require__(209);\n\nvar _glyphlist = __w_pdfjs_require__(231);\n\nvar _metrics = __w_pdfjs_require__(240);\n\nvar _murmurhash = __w_pdfjs_require__(241);\n\nvar _operator_list = __w_pdfjs_require__(223);\n\nvar _image = __w_pdfjs_require__(242);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar DefaultPartialEvaluatorOptions = Object.freeze({\n maxImageSize: -1,\n disableFontFace: false,\n ignoreErrors: false,\n isEvalSupported: true,\n fontExtraProperties: false\n});\nvar PatternType = {\n TILING: 1,\n SHADING: 2\n};\nvar deferred = Promise.resolve();\n\nfunction normalizeBlendMode(value) {\n var parsingArray = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (Array.isArray(value)) {\n for (var i = 0, ii = value.length; i < ii; i++) {\n var maybeBM = normalizeBlendMode(value[i], true);\n\n if (maybeBM) {\n return maybeBM;\n }\n }\n\n (0, _util.warn)(\"Unsupported blend mode Array: \".concat(value));\n return \"source-over\";\n }\n\n if (!(0, _primitives.isName)(value)) {\n if (parsingArray) {\n return null;\n }\n\n return \"source-over\";\n }\n\n switch (value.name) {\n case \"Normal\":\n case \"Compatible\":\n return \"source-over\";\n\n case \"Multiply\":\n return \"multiply\";\n\n case \"Screen\":\n return \"screen\";\n\n case \"Overlay\":\n return \"overlay\";\n\n case \"Darken\":\n return \"darken\";\n\n case \"Lighten\":\n return \"lighten\";\n\n case \"ColorDodge\":\n return \"color-dodge\";\n\n case \"ColorBurn\":\n return \"color-burn\";\n\n case \"HardLight\":\n return \"hard-light\";\n\n case \"SoftLight\":\n return \"soft-light\";\n\n case \"Difference\":\n return \"difference\";\n\n case \"Exclusion\":\n return \"exclusion\";\n\n case \"Hue\":\n return \"hue\";\n\n case \"Saturation\":\n return \"saturation\";\n\n case \"Color\":\n return \"color\";\n\n case \"Luminosity\":\n return \"luminosity\";\n }\n\n if (parsingArray) {\n return null;\n }\n\n (0, _util.warn)(\"Unsupported blend mode: \".concat(value.name));\n return \"source-over\";\n}\n\nvar TimeSlotManager = /*#__PURE__*/function () {\n _createClass(TimeSlotManager, null, [{\n key: \"TIME_SLOT_DURATION_MS\",\n get: function get() {\n return (0, _util.shadow)(this, \"TIME_SLOT_DURATION_MS\", 20);\n }\n }, {\n key: \"CHECK_TIME_EVERY\",\n get: function get() {\n return (0, _util.shadow)(this, \"CHECK_TIME_EVERY\", 100);\n }\n }]);\n\n function TimeSlotManager() {\n _classCallCheck(this, TimeSlotManager);\n\n this.reset();\n }\n\n _createClass(TimeSlotManager, [{\n key: \"check\",\n value: function check() {\n if (++this.checked < TimeSlotManager.CHECK_TIME_EVERY) {\n return false;\n }\n\n this.checked = 0;\n return this.endTime <= Date.now();\n }\n }, {\n key: \"reset\",\n value: function reset() {\n this.endTime = Date.now() + TimeSlotManager.TIME_SLOT_DURATION_MS;\n this.checked = 0;\n }\n }]);\n\n return TimeSlotManager;\n}();\n\nvar PartialEvaluator = /*#__PURE__*/function () {\n function PartialEvaluator(_ref) {\n var xref = _ref.xref,\n handler = _ref.handler,\n pageIndex = _ref.pageIndex,\n idFactory = _ref.idFactory,\n fontCache = _ref.fontCache,\n builtInCMapCache = _ref.builtInCMapCache,\n globalImageCache = _ref.globalImageCache,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? null : _ref$options;\n\n _classCallCheck(this, PartialEvaluator);\n\n this.xref = xref;\n this.handler = handler;\n this.pageIndex = pageIndex;\n this.idFactory = idFactory;\n this.fontCache = fontCache;\n this.builtInCMapCache = builtInCMapCache;\n this.globalImageCache = globalImageCache;\n this.options = options || DefaultPartialEvaluatorOptions;\n this.parsingType3Font = false;\n this._fetchBuiltInCMapBound = this.fetchBuiltInCMap.bind(this);\n }\n\n _createClass(PartialEvaluator, [{\n key: \"clone\",\n value: function clone() {\n var newOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DefaultPartialEvaluatorOptions;\n var newEvaluator = Object.create(this);\n newEvaluator.options = newOptions;\n return newEvaluator;\n }\n }, {\n key: \"hasBlendModes\",\n value: function hasBlendModes(resources) {\n if (!(resources instanceof _primitives.Dict)) {\n return false;\n }\n\n var processed = new _primitives.RefSet();\n\n if (resources.objId) {\n processed.put(resources.objId);\n }\n\n var nodes = [resources],\n xref = this.xref;\n\n while (nodes.length) {\n var node = nodes.shift();\n var graphicStates = node.get(\"ExtGState\");\n\n if (graphicStates instanceof _primitives.Dict) {\n var _iterator = _createForOfIteratorHelper(graphicStates.getRawValues()),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var graphicState = _step.value;\n\n if (graphicState instanceof _primitives.Ref) {\n if (processed.has(graphicState)) {\n continue;\n }\n\n try {\n graphicState = xref.fetch(graphicState);\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n processed.put(graphicState);\n (0, _util.info)(\"hasBlendModes - ignoring ExtGState: \\\"\".concat(ex, \"\\\".\"));\n continue;\n }\n }\n\n if (!(graphicState instanceof _primitives.Dict)) {\n continue;\n }\n\n if (graphicState.objId) {\n processed.put(graphicState.objId);\n }\n\n var bm = graphicState.get(\"BM\");\n\n if (bm instanceof _primitives.Name) {\n if (bm.name !== \"Normal\") {\n return true;\n }\n\n continue;\n }\n\n if (bm !== undefined && Array.isArray(bm)) {\n var _iterator2 = _createForOfIteratorHelper(bm),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var element = _step2.value;\n\n if (element instanceof _primitives.Name && element.name !== \"Normal\") {\n return true;\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n\n var xObjects = node.get(\"XObject\");\n\n if (!(xObjects instanceof _primitives.Dict)) {\n continue;\n }\n\n var _iterator3 = _createForOfIteratorHelper(xObjects.getRawValues()),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var xObject = _step3.value;\n\n if (xObject instanceof _primitives.Ref) {\n if (processed.has(xObject)) {\n continue;\n }\n\n try {\n xObject = xref.fetch(xObject);\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n processed.put(xObject);\n (0, _util.info)(\"hasBlendModes - ignoring XObject: \\\"\".concat(ex, \"\\\".\"));\n continue;\n }\n }\n\n if (!(0, _primitives.isStream)(xObject)) {\n continue;\n }\n\n if (xObject.dict.objId) {\n processed.put(xObject.dict.objId);\n }\n\n var xResources = xObject.dict.get(\"Resources\");\n\n if (!(xResources instanceof _primitives.Dict)) {\n continue;\n }\n\n if (xResources.objId && processed.has(xResources.objId)) {\n continue;\n }\n\n nodes.push(xResources);\n\n if (xResources.objId) {\n processed.put(xResources.objId);\n }\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n }\n\n return false;\n }\n }, {\n key: \"fetchBuiltInCMap\",\n value: function () {\n var _fetchBuiltInCMap = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(name) {\n var cachedData, readableStream, reader, data;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n cachedData = this.builtInCMapCache.get(name);\n\n if (!cachedData) {\n _context.next = 3;\n break;\n }\n\n return _context.abrupt(\"return\", cachedData);\n\n case 3:\n readableStream = this.handler.sendWithStream(\"FetchBuiltInCMap\", {\n name: name\n });\n reader = readableStream.getReader();\n _context.next = 7;\n return new Promise(function (resolve, reject) {\n function pump() {\n reader.read().then(function (_ref2) {\n var value = _ref2.value,\n done = _ref2.done;\n\n if (done) {\n return;\n }\n\n resolve(value);\n pump();\n }, reject);\n }\n\n pump();\n });\n\n case 7:\n data = _context.sent;\n\n if (data.compressionType !== _util.CMapCompressionType.NONE) {\n this.builtInCMapCache.set(name, data);\n }\n\n return _context.abrupt(\"return\", data);\n\n case 10:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function fetchBuiltInCMap(_x) {\n return _fetchBuiltInCMap.apply(this, arguments);\n }\n\n return fetchBuiltInCMap;\n }()\n }, {\n key: \"buildFormXObject\",\n value: function () {\n var _buildFormXObject = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2(resources, xobj, smask, operatorList, task, initialState, localColorSpaceCache) {\n var dict, matrix, bbox, optionalContent, group, groupOptions, groupSubtype, colorSpace, cs, cachedColorSpace;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n dict = xobj.dict;\n matrix = dict.getArray(\"Matrix\");\n bbox = dict.getArray(\"BBox\");\n\n if (Array.isArray(bbox) && bbox.length === 4) {\n bbox = _util.Util.normalizeRect(bbox);\n } else {\n bbox = null;\n }\n\n optionalContent = null;\n\n if (!dict.has(\"OC\")) {\n _context2.next = 10;\n break;\n }\n\n _context2.next = 8;\n return this.parseMarkedContentProps(dict.get(\"OC\"), resources);\n\n case 8:\n optionalContent = _context2.sent;\n operatorList.addOp(_util.OPS.beginMarkedContentProps, [\"OC\", optionalContent]);\n\n case 10:\n group = dict.get(\"Group\");\n\n if (!group) {\n _context2.next = 30;\n break;\n }\n\n groupOptions = {\n matrix: matrix,\n bbox: bbox,\n smask: smask,\n isolated: false,\n knockout: false\n };\n groupSubtype = group.get(\"S\");\n colorSpace = null;\n\n if (!(0, _primitives.isName)(groupSubtype, \"Transparency\")) {\n _context2.next = 28;\n break;\n }\n\n groupOptions.isolated = group.get(\"I\") || false;\n groupOptions.knockout = group.get(\"K\") || false;\n\n if (!group.has(\"CS\")) {\n _context2.next = 28;\n break;\n }\n\n cs = group.getRaw(\"CS\");\n cachedColorSpace = _colorspace.ColorSpace.getCached(cs, this.xref, localColorSpaceCache);\n\n if (!cachedColorSpace) {\n _context2.next = 25;\n break;\n }\n\n colorSpace = cachedColorSpace;\n _context2.next = 28;\n break;\n\n case 25:\n _context2.next = 27;\n return this.parseColorSpace({\n cs: cs,\n resources: resources,\n localColorSpaceCache: localColorSpaceCache\n });\n\n case 27:\n colorSpace = _context2.sent;\n\n case 28:\n if (smask && smask.backdrop) {\n colorSpace = colorSpace || _colorspace.ColorSpace.singletons.rgb;\n smask.backdrop = colorSpace.getRgb(smask.backdrop, 0);\n }\n\n operatorList.addOp(_util.OPS.beginGroup, [groupOptions]);\n\n case 30:\n operatorList.addOp(_util.OPS.paintFormXObjectBegin, [matrix, bbox]);\n return _context2.abrupt(\"return\", this.getOperatorList({\n stream: xobj,\n task: task,\n resources: dict.get(\"Resources\") || resources,\n operatorList: operatorList,\n initialState: initialState\n }).then(function () {\n operatorList.addOp(_util.OPS.paintFormXObjectEnd, []);\n\n if (group) {\n operatorList.addOp(_util.OPS.endGroup, [groupOptions]);\n }\n\n if (optionalContent) {\n operatorList.addOp(_util.OPS.endMarkedContent, []);\n }\n }));\n\n case 32:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function buildFormXObject(_x2, _x3, _x4, _x5, _x6, _x7, _x8) {\n return _buildFormXObject.apply(this, arguments);\n }\n\n return buildFormXObject;\n }()\n }, {\n key: \"_sendImgData\",\n value: function _sendImgData(objId, imgData) {\n var cacheGlobally = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var transfers = imgData ? [imgData.data.buffer] : null;\n\n if (this.parsingType3Font || cacheGlobally) {\n return this.handler.send(\"commonobj\", [objId, \"Image\", imgData], transfers);\n }\n\n return this.handler.send(\"obj\", [objId, this.pageIndex, \"Image\", imgData], transfers);\n }\n }, {\n key: \"buildPaintImageXObject\",\n value: function () {\n var _buildPaintImageXObject = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee3(_ref3) {\n var _this = this;\n\n var resources, image, _ref3$isInline, isInline, operatorList, cacheKey, localImageCache, localColorSpaceCache, dict, imageRef, w, h, maxImageSize, imageMask, imgData, args, width, height, bitStrideLength, imgArray, decode, softMask, mask, SMALL_IMAGE_DIMENSIONS, imageObj, objId, cacheGlobally;\n\n return _regenerator[\"default\"].wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n resources = _ref3.resources, image = _ref3.image, _ref3$isInline = _ref3.isInline, isInline = _ref3$isInline === void 0 ? false : _ref3$isInline, operatorList = _ref3.operatorList, cacheKey = _ref3.cacheKey, localImageCache = _ref3.localImageCache, localColorSpaceCache = _ref3.localColorSpaceCache;\n dict = image.dict;\n imageRef = dict.objId;\n w = dict.get(\"Width\", \"W\");\n h = dict.get(\"Height\", \"H\");\n\n if (!(!(w && (0, _util.isNum)(w)) || !(h && (0, _util.isNum)(h)))) {\n _context3.next = 8;\n break;\n }\n\n (0, _util.warn)(\"Image dimensions are missing, or not numbers.\");\n return _context3.abrupt(\"return\", undefined);\n\n case 8:\n maxImageSize = this.options.maxImageSize;\n\n if (!(maxImageSize !== -1 && w * h > maxImageSize)) {\n _context3.next = 12;\n break;\n }\n\n (0, _util.warn)(\"Image exceeded maximum allowed size and was removed.\");\n return _context3.abrupt(\"return\", undefined);\n\n case 12:\n imageMask = dict.get(\"ImageMask\", \"IM\") || false;\n\n if (!imageMask) {\n _context3.next = 25;\n break;\n }\n\n width = dict.get(\"Width\", \"W\");\n height = dict.get(\"Height\", \"H\");\n bitStrideLength = width + 7 >> 3;\n imgArray = image.getBytes(bitStrideLength * height, true);\n decode = dict.getArray(\"Decode\", \"D\");\n imgData = _image.PDFImage.createMask({\n imgArray: imgArray,\n width: width,\n height: height,\n imageIsFromDecodeStream: image instanceof _stream.DecodeStream,\n inverseDecode: !!decode && decode[0] > 0\n });\n imgData.cached = !!cacheKey;\n args = [imgData];\n operatorList.addOp(_util.OPS.paintImageMaskXObject, args);\n\n if (cacheKey) {\n localImageCache.set(cacheKey, imageRef, {\n fn: _util.OPS.paintImageMaskXObject,\n args: args\n });\n }\n\n return _context3.abrupt(\"return\", undefined);\n\n case 25:\n softMask = dict.get(\"SMask\", \"SM\") || false;\n mask = dict.get(\"Mask\") || false;\n SMALL_IMAGE_DIMENSIONS = 200;\n\n if (!(isInline && !softMask && !mask && w + h < SMALL_IMAGE_DIMENSIONS)) {\n _context3.next = 33;\n break;\n }\n\n imageObj = new _image.PDFImage({\n xref: this.xref,\n res: resources,\n image: image,\n isInline: isInline,\n pdfFunctionFactory: this._pdfFunctionFactory,\n localColorSpaceCache: localColorSpaceCache\n });\n imgData = imageObj.createImageData(true);\n operatorList.addOp(_util.OPS.paintInlineImageXObject, [imgData]);\n return _context3.abrupt(\"return\", undefined);\n\n case 33:\n objId = \"img_\".concat(this.idFactory.createObjId()), cacheGlobally = false;\n\n if (this.parsingType3Font) {\n objId = \"\".concat(this.idFactory.getDocId(), \"_type3_\").concat(objId);\n } else if (imageRef) {\n cacheGlobally = this.globalImageCache.shouldCache(imageRef, this.pageIndex);\n\n if (cacheGlobally) {\n objId = \"\".concat(this.idFactory.getDocId(), \"_\").concat(objId);\n }\n }\n\n operatorList.addDependency(objId);\n args = [objId, w, h];\n\n _image.PDFImage.buildImage({\n xref: this.xref,\n res: resources,\n image: image,\n isInline: isInline,\n pdfFunctionFactory: this._pdfFunctionFactory,\n localColorSpaceCache: localColorSpaceCache\n }).then(function (imageObj) {\n imgData = imageObj.createImageData(false);\n return _this._sendImgData(objId, imgData, cacheGlobally);\n })[\"catch\"](function (reason) {\n (0, _util.warn)(\"Unable to decode image \\\"\".concat(objId, \"\\\": \\\"\").concat(reason, \"\\\".\"));\n return _this._sendImgData(objId, null, cacheGlobally);\n });\n\n operatorList.addOp(_util.OPS.paintImageXObject, args);\n\n if (cacheKey) {\n localImageCache.set(cacheKey, imageRef, {\n fn: _util.OPS.paintImageXObject,\n args: args\n });\n\n if (imageRef) {\n (0, _util.assert)(!isInline, \"Cannot cache an inline image globally.\");\n this.globalImageCache.addPageIndex(imageRef, this.pageIndex);\n\n if (cacheGlobally) {\n this.globalImageCache.setData(imageRef, {\n objId: objId,\n fn: _util.OPS.paintImageXObject,\n args: args\n });\n }\n }\n }\n\n return _context3.abrupt(\"return\", undefined);\n\n case 41:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, this);\n }));\n\n function buildPaintImageXObject(_x9) {\n return _buildPaintImageXObject.apply(this, arguments);\n }\n\n return buildPaintImageXObject;\n }()\n }, {\n key: \"handleSMask\",\n value: function handleSMask(smask, resources, operatorList, task, stateManager, localColorSpaceCache) {\n var smaskContent = smask.get(\"G\");\n var smaskOptions = {\n subtype: smask.get(\"S\").name,\n backdrop: smask.get(\"BC\")\n };\n var transferObj = smask.get(\"TR\");\n\n if ((0, _function.isPDFFunction)(transferObj)) {\n var transferFn = this._pdfFunctionFactory.create(transferObj);\n\n var transferMap = new Uint8Array(256);\n var tmp = new Float32Array(1);\n\n for (var i = 0; i < 256; i++) {\n tmp[0] = i / 255;\n transferFn(tmp, 0, tmp, 0);\n transferMap[i] = tmp[0] * 255 | 0;\n }\n\n smaskOptions.transferMap = transferMap;\n }\n\n return this.buildFormXObject(resources, smaskContent, smaskOptions, operatorList, task, stateManager.state.clone(), localColorSpaceCache);\n }\n }, {\n key: \"handleTransferFunction\",\n value: function handleTransferFunction(tr) {\n var transferArray;\n\n if (Array.isArray(tr)) {\n transferArray = tr;\n } else if ((0, _function.isPDFFunction)(tr)) {\n transferArray = [tr];\n } else {\n return null;\n }\n\n var transferMaps = [];\n var numFns = 0,\n numEffectfulFns = 0;\n\n var _iterator4 = _createForOfIteratorHelper(transferArray),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var entry = _step4.value;\n var transferObj = this.xref.fetchIfRef(entry);\n numFns++;\n\n if ((0, _primitives.isName)(transferObj, \"Identity\")) {\n transferMaps.push(null);\n continue;\n } else if (!(0, _function.isPDFFunction)(transferObj)) {\n return null;\n }\n\n var transferFn = this._pdfFunctionFactory.create(transferObj);\n\n var transferMap = new Uint8Array(256),\n tmp = new Float32Array(1);\n\n for (var j = 0; j < 256; j++) {\n tmp[0] = j / 255;\n transferFn(tmp, 0, tmp, 0);\n transferMap[j] = tmp[0] * 255 | 0;\n }\n\n transferMaps.push(transferMap);\n numEffectfulFns++;\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n\n if (!(numFns === 1 || numFns === 4)) {\n return null;\n }\n\n if (numEffectfulFns === 0) {\n return null;\n }\n\n return transferMaps;\n }\n }, {\n key: \"handleTilingType\",\n value: function handleTilingType(fn, args, resources, pattern, patternDict, operatorList, task) {\n var _this2 = this;\n\n var tilingOpList = new _operator_list.OperatorList();\n\n var patternResources = _primitives.Dict.merge({\n xref: this.xref,\n dictArray: [patternDict.get(\"Resources\"), resources]\n });\n\n return this.getOperatorList({\n stream: pattern,\n task: task,\n resources: patternResources,\n operatorList: tilingOpList\n }).then(function () {\n return (0, _pattern.getTilingPatternIR)({\n fnArray: tilingOpList.fnArray,\n argsArray: tilingOpList.argsArray\n }, patternDict, args);\n }).then(function (tilingPatternIR) {\n operatorList.addDependencies(tilingOpList.dependencies);\n operatorList.addOp(fn, tilingPatternIR);\n }, function (reason) {\n if (reason instanceof _util.AbortException) {\n return;\n }\n\n if (_this2.options.ignoreErrors) {\n _this2.handler.send(\"UnsupportedFeature\", {\n featureId: _util.UNSUPPORTED_FEATURES.errorTilingPattern\n });\n\n (0, _util.warn)(\"handleTilingType - ignoring pattern: \\\"\".concat(reason, \"\\\".\"));\n return;\n }\n\n throw reason;\n });\n }\n }, {\n key: \"handleSetFont\",\n value: function handleSetFont(resources, fontArgs, fontRef, operatorList, task, state) {\n var _this3 = this;\n\n var fontName,\n fontSize = 0;\n\n if (fontArgs) {\n fontArgs = fontArgs.slice();\n fontName = fontArgs[0].name;\n fontSize = fontArgs[1];\n }\n\n return this.loadFont(fontName, fontRef, resources).then(function (translated) {\n if (!translated.font.isType3Font) {\n return translated;\n }\n\n return translated.loadType3Data(_this3, resources, task).then(function () {\n operatorList.addDependencies(translated.type3Dependencies);\n return translated;\n })[\"catch\"](function (reason) {\n _this3.handler.send(\"UnsupportedFeature\", {\n featureId: _util.UNSUPPORTED_FEATURES.errorFontLoadType3\n });\n\n return new TranslatedFont({\n loadedName: \"g_font_error\",\n font: new _fonts.ErrorFont(\"Type3 font load error: \".concat(reason)),\n dict: translated.font,\n extraProperties: _this3.options.fontExtraProperties\n });\n });\n }).then(function (translated) {\n state.font = translated.font;\n state.fontSize = fontSize;\n state.fontName = fontName;\n translated.send(_this3.handler);\n return translated.loadedName;\n });\n }\n }, {\n key: \"handleText\",\n value: function handleText(chars, state) {\n var font = state.font;\n var glyphs = font.charsToGlyphs(chars);\n\n if (font.data) {\n var isAddToPathSet = !!(state.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG);\n\n if (isAddToPathSet || state.fillColorSpace.name === \"Pattern\" || font.disableFontFace || this.options.disableFontFace) {\n PartialEvaluator.buildFontPaths(font, glyphs, this.handler);\n }\n }\n\n return glyphs;\n }\n }, {\n key: \"ensureStateFont\",\n value: function ensureStateFont(state) {\n if (state.font) {\n return;\n }\n\n var reason = new _util.FormatError(\"Missing setFont (Tf) operator before text rendering operator.\");\n\n if (this.options.ignoreErrors) {\n this.handler.send(\"UnsupportedFeature\", {\n featureId: _util.UNSUPPORTED_FEATURES.errorFontState\n });\n (0, _util.warn)(\"ensureStateFont: \\\"\".concat(reason, \"\\\".\"));\n return;\n }\n\n throw reason;\n }\n }, {\n key: \"setGState\",\n value: function () {\n var _setGState = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee4(_ref4) {\n var _this4 = this;\n\n var resources, gState, operatorList, cacheKey, task, stateManager, localGStateCache, localColorSpaceCache, gStateRef, isSimpleGState, gStateObj, gStateKeys, promise, _loop, i, ii;\n\n return _regenerator[\"default\"].wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n resources = _ref4.resources, gState = _ref4.gState, operatorList = _ref4.operatorList, cacheKey = _ref4.cacheKey, task = _ref4.task, stateManager = _ref4.stateManager, localGStateCache = _ref4.localGStateCache, localColorSpaceCache = _ref4.localColorSpaceCache;\n gStateRef = gState.objId;\n isSimpleGState = true;\n gStateObj = [];\n gStateKeys = gState.getKeys();\n promise = Promise.resolve();\n\n _loop = function _loop() {\n var key = gStateKeys[i];\n var value = gState.get(key);\n\n switch (key) {\n case \"Type\":\n break;\n\n case \"LW\":\n case \"LC\":\n case \"LJ\":\n case \"ML\":\n case \"D\":\n case \"RI\":\n case \"FL\":\n case \"CA\":\n case \"ca\":\n gStateObj.push([key, value]);\n break;\n\n case \"Font\":\n isSimpleGState = false;\n promise = promise.then(function () {\n return _this4.handleSetFont(resources, null, value[0], operatorList, task, stateManager.state).then(function (loadedName) {\n operatorList.addDependency(loadedName);\n gStateObj.push([key, [loadedName, value[1]]]);\n });\n });\n break;\n\n case \"BM\":\n gStateObj.push([key, normalizeBlendMode(value)]);\n break;\n\n case \"SMask\":\n if ((0, _primitives.isName)(value, \"None\")) {\n gStateObj.push([key, false]);\n break;\n }\n\n if ((0, _primitives.isDict)(value)) {\n isSimpleGState = false;\n promise = promise.then(function () {\n return _this4.handleSMask(value, resources, operatorList, task, stateManager, localColorSpaceCache);\n });\n gStateObj.push([key, true]);\n } else {\n (0, _util.warn)(\"Unsupported SMask type\");\n }\n\n break;\n\n case \"TR\":\n var transferMaps = _this4.handleTransferFunction(value);\n\n gStateObj.push([key, transferMaps]);\n break;\n\n case \"OP\":\n case \"op\":\n case \"OPM\":\n case \"BG\":\n case \"BG2\":\n case \"UCR\":\n case \"UCR2\":\n case \"TR2\":\n case \"HT\":\n case \"SM\":\n case \"SA\":\n case \"AIS\":\n case \"TK\":\n (0, _util.info)(\"graphic state operator \" + key);\n break;\n\n default:\n (0, _util.info)(\"Unknown graphic state operator \" + key);\n break;\n }\n };\n\n for (i = 0, ii = gStateKeys.length; i < ii; i++) {\n _loop();\n }\n\n return _context4.abrupt(\"return\", promise.then(function () {\n if (gStateObj.length > 0) {\n operatorList.addOp(_util.OPS.setGState, [gStateObj]);\n }\n\n if (isSimpleGState) {\n localGStateCache.set(cacheKey, gStateRef, gStateObj);\n }\n }));\n\n case 9:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }));\n\n function setGState(_x10) {\n return _setGState.apply(this, arguments);\n }\n\n return setGState;\n }()\n }, {\n key: \"loadFont\",\n value: function loadFont(fontName, font, resources) {\n var _this5 = this;\n\n var errorFont = function errorFont() {\n return Promise.resolve(new TranslatedFont({\n loadedName: \"g_font_error\",\n font: new _fonts.ErrorFont(\"Font \\\"\".concat(fontName, \"\\\" is not available.\")),\n dict: font,\n extraProperties: _this5.options.fontExtraProperties\n }));\n };\n\n var fontRef,\n xref = this.xref;\n\n if (font) {\n if (!(0, _primitives.isRef)(font)) {\n throw new _util.FormatError('The \"font\" object should be a reference.');\n }\n\n fontRef = font;\n } else {\n var fontRes = resources.get(\"Font\");\n\n if (fontRes) {\n fontRef = fontRes.getRaw(fontName);\n }\n }\n\n if (!fontRef) {\n var partialMsg = \"Font \\\"\".concat(fontName || font && font.toString(), \"\\\" is not available\");\n\n if (!this.options.ignoreErrors && !this.parsingType3Font) {\n (0, _util.warn)(\"\".concat(partialMsg, \".\"));\n return errorFont();\n }\n\n this.handler.send(\"UnsupportedFeature\", {\n featureId: _util.UNSUPPORTED_FEATURES.errorFontMissing\n });\n (0, _util.warn)(\"\".concat(partialMsg, \" -- attempting to fallback to a default font.\"));\n fontRef = PartialEvaluator.fallbackFontDict;\n }\n\n if (this.fontCache.has(fontRef)) {\n return this.fontCache.get(fontRef);\n }\n\n font = xref.fetchIfRef(fontRef);\n\n if (!(0, _primitives.isDict)(font)) {\n return errorFont();\n }\n\n if (font.translated) {\n return font.translated;\n }\n\n var fontCapability = (0, _util.createPromiseCapability)();\n var preEvaluatedFont = this.preEvaluateFont(font);\n var descriptor = preEvaluatedFont.descriptor,\n hash = preEvaluatedFont.hash;\n var fontRefIsRef = (0, _primitives.isRef)(fontRef),\n fontID;\n\n if (fontRefIsRef) {\n fontID = \"f\".concat(fontRef.toString());\n }\n\n if (hash && (0, _primitives.isDict)(descriptor)) {\n if (!descriptor.fontAliases) {\n descriptor.fontAliases = Object.create(null);\n }\n\n var fontAliases = descriptor.fontAliases;\n\n if (fontAliases[hash]) {\n var aliasFontRef = fontAliases[hash].aliasRef;\n\n if (fontRefIsRef && aliasFontRef && this.fontCache.has(aliasFontRef)) {\n this.fontCache.putAlias(fontRef, aliasFontRef);\n return this.fontCache.get(fontRef);\n }\n } else {\n fontAliases[hash] = {\n fontID: this.idFactory.createFontId()\n };\n }\n\n if (fontRefIsRef) {\n fontAliases[hash].aliasRef = fontRef;\n }\n\n fontID = fontAliases[hash].fontID;\n }\n\n if (fontRefIsRef) {\n this.fontCache.put(fontRef, fontCapability.promise);\n } else {\n if (!fontID) {\n fontID = this.idFactory.createFontId();\n }\n\n this.fontCache.put(\"id_\".concat(fontID), fontCapability.promise);\n }\n\n (0, _util.assert)(fontID && fontID.startsWith(\"f\"), 'The \"fontID\" must be (correctly) defined.');\n font.loadedName = \"\".concat(this.idFactory.getDocId(), \"_\").concat(fontID);\n font.translated = fontCapability.promise;\n var translatedPromise;\n\n try {\n translatedPromise = this.translateFont(preEvaluatedFont);\n } catch (e) {\n translatedPromise = Promise.reject(e);\n }\n\n translatedPromise.then(function (translatedFont) {\n if (translatedFont.fontType !== undefined) {\n var xrefFontStats = xref.stats.fontTypes;\n xrefFontStats[translatedFont.fontType] = true;\n }\n\n fontCapability.resolve(new TranslatedFont({\n loadedName: font.loadedName,\n font: translatedFont,\n dict: font,\n extraProperties: _this5.options.fontExtraProperties\n }));\n })[\"catch\"](function (reason) {\n _this5.handler.send(\"UnsupportedFeature\", {\n featureId: _util.UNSUPPORTED_FEATURES.errorFontTranslate\n });\n\n try {\n var fontFile3 = descriptor && descriptor.get(\"FontFile3\");\n var subtype = fontFile3 && fontFile3.get(\"Subtype\");\n var fontType = (0, _fonts.getFontType)(preEvaluatedFont.type, subtype && subtype.name);\n var xrefFontStats = xref.stats.fontTypes;\n xrefFontStats[fontType] = true;\n } catch (ex) {}\n\n fontCapability.resolve(new TranslatedFont({\n loadedName: font.loadedName,\n font: new _fonts.ErrorFont(reason instanceof Error ? reason.message : reason),\n dict: font,\n extraProperties: _this5.options.fontExtraProperties\n }));\n });\n return fontCapability.promise;\n }\n }, {\n key: \"buildPath\",\n value: function buildPath(operatorList, fn, args) {\n var parsingText = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n var lastIndex = operatorList.length - 1;\n\n if (!args) {\n args = [];\n }\n\n if (lastIndex < 0 || operatorList.fnArray[lastIndex] !== _util.OPS.constructPath) {\n if (parsingText) {\n (0, _util.warn)(\"Encountered path operator \\\"\".concat(fn, \"\\\" inside of a text object.\"));\n operatorList.addOp(_util.OPS.save, null);\n }\n\n operatorList.addOp(_util.OPS.constructPath, [[fn], args]);\n\n if (parsingText) {\n operatorList.addOp(_util.OPS.restore, null);\n }\n } else {\n var opArgs = operatorList.argsArray[lastIndex];\n opArgs[0].push(fn);\n Array.prototype.push.apply(opArgs[1], args);\n }\n }\n }, {\n key: \"parseColorSpace\",\n value: function parseColorSpace(_ref5) {\n var _this6 = this;\n\n var cs = _ref5.cs,\n resources = _ref5.resources,\n localColorSpaceCache = _ref5.localColorSpaceCache;\n return _colorspace.ColorSpace.parseAsync({\n cs: cs,\n xref: this.xref,\n resources: resources,\n pdfFunctionFactory: this._pdfFunctionFactory,\n localColorSpaceCache: localColorSpaceCache\n })[\"catch\"](function (reason) {\n if (reason instanceof _util.AbortException) {\n return null;\n }\n\n if (_this6.options.ignoreErrors) {\n _this6.handler.send(\"UnsupportedFeature\", {\n featureId: _util.UNSUPPORTED_FEATURES.errorColorSpace\n });\n\n (0, _util.warn)(\"parseColorSpace - ignoring ColorSpace: \\\"\".concat(reason, \"\\\".\"));\n return null;\n }\n\n throw reason;\n });\n }\n }, {\n key: \"handleColorN\",\n value: function () {\n var _handleColorN = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee5(operatorList, fn, args, cs, patterns, resources, task, localColorSpaceCache) {\n var patternName, pattern, dict, typeNum, color, shading, matrix;\n return _regenerator[\"default\"].wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n patternName = args[args.length - 1];\n\n if (!((0, _primitives.isName)(patternName) && (pattern = patterns.get(patternName.name)))) {\n _context5.next = 16;\n break;\n }\n\n dict = (0, _primitives.isStream)(pattern) ? pattern.dict : pattern;\n typeNum = dict.get(\"PatternType\");\n\n if (!(typeNum === PatternType.TILING)) {\n _context5.next = 9;\n break;\n }\n\n color = cs.base ? cs.base.getRgb(args, 0) : null;\n return _context5.abrupt(\"return\", this.handleTilingType(fn, color, resources, pattern, dict, operatorList, task));\n\n case 9:\n if (!(typeNum === PatternType.SHADING)) {\n _context5.next = 15;\n break;\n }\n\n shading = dict.get(\"Shading\");\n matrix = dict.getArray(\"Matrix\");\n pattern = _pattern.Pattern.parseShading(shading, matrix, this.xref, resources, this.handler, this._pdfFunctionFactory, localColorSpaceCache);\n operatorList.addOp(fn, pattern.getIR());\n return _context5.abrupt(\"return\", undefined);\n\n case 15:\n throw new _util.FormatError(\"Unknown PatternType: \".concat(typeNum));\n\n case 16:\n throw new _util.FormatError(\"Unknown PatternName: \".concat(patternName));\n\n case 17:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5, this);\n }));\n\n function handleColorN(_x11, _x12, _x13, _x14, _x15, _x16, _x17, _x18) {\n return _handleColorN.apply(this, arguments);\n }\n\n return handleColorN;\n }()\n }, {\n key: \"parseMarkedContentProps\",\n value: function () {\n var _parseMarkedContentProps = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee6(contentProperties, resources) {\n var optionalContent, properties, optionalContentType, optionalContentGroups, groupIds, expression;\n return _regenerator[\"default\"].wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n if (!(0, _primitives.isName)(contentProperties)) {\n _context6.next = 5;\n break;\n }\n\n properties = resources.get(\"Properties\");\n optionalContent = properties.get(contentProperties.name);\n _context6.next = 10;\n break;\n\n case 5:\n if (!(0, _primitives.isDict)(contentProperties)) {\n _context6.next = 9;\n break;\n }\n\n optionalContent = contentProperties;\n _context6.next = 10;\n break;\n\n case 9:\n throw new _util.FormatError(\"Optional content properties malformed.\");\n\n case 10:\n optionalContentType = optionalContent.get(\"Type\").name;\n\n if (!(optionalContentType === \"OCG\")) {\n _context6.next = 15;\n break;\n }\n\n return _context6.abrupt(\"return\", {\n type: optionalContentType,\n id: optionalContent.objId\n });\n\n case 15:\n if (!(optionalContentType === \"OCMD\")) {\n _context6.next = 27;\n break;\n }\n\n optionalContentGroups = optionalContent.get(\"OCGs\");\n\n if (!(Array.isArray(optionalContentGroups) || (0, _primitives.isDict)(optionalContentGroups))) {\n _context6.next = 25;\n break;\n }\n\n groupIds = [];\n\n if (Array.isArray(optionalContentGroups)) {\n optionalContent.get(\"OCGs\").forEach(function (ocg) {\n groupIds.push(ocg.toString());\n });\n } else {\n groupIds.push(optionalContentGroups.objId);\n }\n\n expression = null;\n\n if (optionalContent.get(\"VE\")) {\n expression = true;\n }\n\n return _context6.abrupt(\"return\", {\n type: optionalContentType,\n ids: groupIds,\n policy: (0, _primitives.isName)(optionalContent.get(\"P\")) ? optionalContent.get(\"P\").name : null,\n expression: expression\n });\n\n case 25:\n if (!(0, _primitives.isRef)(optionalContentGroups)) {\n _context6.next = 27;\n break;\n }\n\n return _context6.abrupt(\"return\", {\n type: optionalContentType,\n id: optionalContentGroups.toString()\n });\n\n case 27:\n return _context6.abrupt(\"return\", null);\n\n case 28:\n case \"end\":\n return _context6.stop();\n }\n }\n }, _callee6);\n }));\n\n function parseMarkedContentProps(_x19, _x20) {\n return _parseMarkedContentProps.apply(this, arguments);\n }\n\n return parseMarkedContentProps;\n }()\n }, {\n key: \"getOperatorList\",\n value: function getOperatorList(_ref6) {\n var _this7 = this;\n\n var stream = _ref6.stream,\n task = _ref6.task,\n resources = _ref6.resources,\n operatorList = _ref6.operatorList,\n _ref6$initialState = _ref6.initialState,\n initialState = _ref6$initialState === void 0 ? null : _ref6$initialState;\n resources = resources || _primitives.Dict.empty;\n initialState = initialState || new EvalState();\n\n if (!operatorList) {\n throw new Error('getOperatorList: missing \"operatorList\" parameter');\n }\n\n var self = this;\n var xref = this.xref;\n var parsingText = false;\n var localImageCache = new _image_utils.LocalImageCache();\n var localColorSpaceCache = new _image_utils.LocalColorSpaceCache();\n var localGStateCache = new _image_utils.LocalGStateCache();\n\n var xobjs = resources.get(\"XObject\") || _primitives.Dict.empty;\n\n var patterns = resources.get(\"Pattern\") || _primitives.Dict.empty;\n\n var stateManager = new StateManager(initialState);\n var preprocessor = new EvaluatorPreprocessor(stream, xref, stateManager);\n var timeSlotManager = new TimeSlotManager();\n\n function closePendingRestoreOPS(argument) {\n for (var i = 0, ii = preprocessor.savedStatesDepth; i < ii; i++) {\n operatorList.addOp(_util.OPS.restore, []);\n }\n }\n\n return new Promise(function promiseBody(resolve, reject) {\n var next = function next(promise) {\n Promise.all([promise, operatorList.ready]).then(function () {\n try {\n promiseBody(resolve, reject);\n } catch (ex) {\n reject(ex);\n }\n }, reject);\n };\n\n task.ensureNotTerminated();\n timeSlotManager.reset();\n var stop,\n operation = {},\n i,\n ii,\n cs,\n name;\n\n while (!(stop = timeSlotManager.check())) {\n operation.args = null;\n\n if (!preprocessor.read(operation)) {\n break;\n }\n\n var args = operation.args;\n var fn = operation.fn;\n\n switch (fn | 0) {\n case _util.OPS.paintXObject:\n name = args[0].name;\n\n if (name) {\n var localImage = localImageCache.getByName(name);\n\n if (localImage) {\n operatorList.addOp(localImage.fn, localImage.args);\n args = null;\n continue;\n }\n }\n\n next(new Promise(function (resolveXObject, rejectXObject) {\n if (!name) {\n throw new _util.FormatError(\"XObject must be referred to by name.\");\n }\n\n var xobj = xobjs.getRaw(name);\n\n if (xobj instanceof _primitives.Ref) {\n var _localImage = localImageCache.getByRef(xobj);\n\n if (_localImage) {\n operatorList.addOp(_localImage.fn, _localImage.args);\n resolveXObject();\n return;\n }\n\n var globalImage = self.globalImageCache.getData(xobj, self.pageIndex);\n\n if (globalImage) {\n operatorList.addDependency(globalImage.objId);\n operatorList.addOp(globalImage.fn, globalImage.args);\n resolveXObject();\n return;\n }\n\n xobj = xref.fetch(xobj);\n }\n\n if (!(0, _primitives.isStream)(xobj)) {\n throw new _util.FormatError(\"XObject should be a stream\");\n }\n\n var type = xobj.dict.get(\"Subtype\");\n\n if (!(0, _primitives.isName)(type)) {\n throw new _util.FormatError(\"XObject should have a Name subtype\");\n }\n\n if (type.name === \"Form\") {\n stateManager.save();\n self.buildFormXObject(resources, xobj, null, operatorList, task, stateManager.state.clone(), localColorSpaceCache).then(function () {\n stateManager.restore();\n resolveXObject();\n }, rejectXObject);\n return;\n } else if (type.name === \"Image\") {\n self.buildPaintImageXObject({\n resources: resources,\n image: xobj,\n operatorList: operatorList,\n cacheKey: name,\n localImageCache: localImageCache,\n localColorSpaceCache: localColorSpaceCache\n }).then(resolveXObject, rejectXObject);\n return;\n } else if (type.name === \"PS\") {\n (0, _util.info)(\"Ignored XObject subtype PS\");\n } else {\n throw new _util.FormatError(\"Unhandled XObject subtype \".concat(type.name));\n }\n\n resolveXObject();\n })[\"catch\"](function (reason) {\n if (reason instanceof _util.AbortException) {\n return;\n }\n\n if (self.options.ignoreErrors) {\n self.handler.send(\"UnsupportedFeature\", {\n featureId: _util.UNSUPPORTED_FEATURES.errorXObject\n });\n (0, _util.warn)(\"getOperatorList - ignoring XObject: \\\"\".concat(reason, \"\\\".\"));\n return;\n }\n\n throw reason;\n }));\n return;\n\n case _util.OPS.setFont:\n var fontSize = args[1];\n next(self.handleSetFont(resources, args, null, operatorList, task, stateManager.state).then(function (loadedName) {\n operatorList.addDependency(loadedName);\n operatorList.addOp(_util.OPS.setFont, [loadedName, fontSize]);\n }));\n return;\n\n case _util.OPS.beginText:\n parsingText = true;\n break;\n\n case _util.OPS.endText:\n parsingText = false;\n break;\n\n case _util.OPS.endInlineImage:\n var cacheKey = args[0].cacheKey;\n\n if (cacheKey) {\n var _localImage2 = localImageCache.getByName(cacheKey);\n\n if (_localImage2) {\n operatorList.addOp(_localImage2.fn, _localImage2.args);\n args = null;\n continue;\n }\n }\n\n next(self.buildPaintImageXObject({\n resources: resources,\n image: args[0],\n isInline: true,\n operatorList: operatorList,\n cacheKey: cacheKey,\n localImageCache: localImageCache,\n localColorSpaceCache: localColorSpaceCache\n }));\n return;\n\n case _util.OPS.showText:\n if (!stateManager.state.font) {\n self.ensureStateFont(stateManager.state);\n continue;\n }\n\n args[0] = self.handleText(args[0], stateManager.state);\n break;\n\n case _util.OPS.showSpacedText:\n if (!stateManager.state.font) {\n self.ensureStateFont(stateManager.state);\n continue;\n }\n\n var arr = args[0];\n var combinedGlyphs = [];\n var arrLength = arr.length;\n var state = stateManager.state;\n\n for (i = 0; i < arrLength; ++i) {\n var arrItem = arr[i];\n\n if ((0, _util.isString)(arrItem)) {\n Array.prototype.push.apply(combinedGlyphs, self.handleText(arrItem, state));\n } else if ((0, _util.isNum)(arrItem)) {\n combinedGlyphs.push(arrItem);\n }\n }\n\n args[0] = combinedGlyphs;\n fn = _util.OPS.showText;\n break;\n\n case _util.OPS.nextLineShowText:\n if (!stateManager.state.font) {\n self.ensureStateFont(stateManager.state);\n continue;\n }\n\n operatorList.addOp(_util.OPS.nextLine);\n args[0] = self.handleText(args[0], stateManager.state);\n fn = _util.OPS.showText;\n break;\n\n case _util.OPS.nextLineSetSpacingShowText:\n if (!stateManager.state.font) {\n self.ensureStateFont(stateManager.state);\n continue;\n }\n\n operatorList.addOp(_util.OPS.nextLine);\n operatorList.addOp(_util.OPS.setWordSpacing, [args.shift()]);\n operatorList.addOp(_util.OPS.setCharSpacing, [args.shift()]);\n args[0] = self.handleText(args[0], stateManager.state);\n fn = _util.OPS.showText;\n break;\n\n case _util.OPS.setTextRenderingMode:\n stateManager.state.textRenderingMode = args[0];\n break;\n\n case _util.OPS.setFillColorSpace:\n {\n var cachedColorSpace = _colorspace.ColorSpace.getCached(args[0], xref, localColorSpaceCache);\n\n if (cachedColorSpace) {\n stateManager.state.fillColorSpace = cachedColorSpace;\n continue;\n }\n\n next(self.parseColorSpace({\n cs: args[0],\n resources: resources,\n localColorSpaceCache: localColorSpaceCache\n }).then(function (colorSpace) {\n if (colorSpace) {\n stateManager.state.fillColorSpace = colorSpace;\n }\n }));\n return;\n }\n\n case _util.OPS.setStrokeColorSpace:\n {\n var _cachedColorSpace = _colorspace.ColorSpace.getCached(args[0], xref, localColorSpaceCache);\n\n if (_cachedColorSpace) {\n stateManager.state.strokeColorSpace = _cachedColorSpace;\n continue;\n }\n\n next(self.parseColorSpace({\n cs: args[0],\n resources: resources,\n localColorSpaceCache: localColorSpaceCache\n }).then(function (colorSpace) {\n if (colorSpace) {\n stateManager.state.strokeColorSpace = colorSpace;\n }\n }));\n return;\n }\n\n case _util.OPS.setFillColor:\n cs = stateManager.state.fillColorSpace;\n args = cs.getRgb(args, 0);\n fn = _util.OPS.setFillRGBColor;\n break;\n\n case _util.OPS.setStrokeColor:\n cs = stateManager.state.strokeColorSpace;\n args = cs.getRgb(args, 0);\n fn = _util.OPS.setStrokeRGBColor;\n break;\n\n case _util.OPS.setFillGray:\n stateManager.state.fillColorSpace = _colorspace.ColorSpace.singletons.gray;\n args = _colorspace.ColorSpace.singletons.gray.getRgb(args, 0);\n fn = _util.OPS.setFillRGBColor;\n break;\n\n case _util.OPS.setStrokeGray:\n stateManager.state.strokeColorSpace = _colorspace.ColorSpace.singletons.gray;\n args = _colorspace.ColorSpace.singletons.gray.getRgb(args, 0);\n fn = _util.OPS.setStrokeRGBColor;\n break;\n\n case _util.OPS.setFillCMYKColor:\n stateManager.state.fillColorSpace = _colorspace.ColorSpace.singletons.cmyk;\n args = _colorspace.ColorSpace.singletons.cmyk.getRgb(args, 0);\n fn = _util.OPS.setFillRGBColor;\n break;\n\n case _util.OPS.setStrokeCMYKColor:\n stateManager.state.strokeColorSpace = _colorspace.ColorSpace.singletons.cmyk;\n args = _colorspace.ColorSpace.singletons.cmyk.getRgb(args, 0);\n fn = _util.OPS.setStrokeRGBColor;\n break;\n\n case _util.OPS.setFillRGBColor:\n stateManager.state.fillColorSpace = _colorspace.ColorSpace.singletons.rgb;\n args = _colorspace.ColorSpace.singletons.rgb.getRgb(args, 0);\n break;\n\n case _util.OPS.setStrokeRGBColor:\n stateManager.state.strokeColorSpace = _colorspace.ColorSpace.singletons.rgb;\n args = _colorspace.ColorSpace.singletons.rgb.getRgb(args, 0);\n break;\n\n case _util.OPS.setFillColorN:\n cs = stateManager.state.fillColorSpace;\n\n if (cs.name === \"Pattern\") {\n next(self.handleColorN(operatorList, _util.OPS.setFillColorN, args, cs, patterns, resources, task, localColorSpaceCache));\n return;\n }\n\n args = cs.getRgb(args, 0);\n fn = _util.OPS.setFillRGBColor;\n break;\n\n case _util.OPS.setStrokeColorN:\n cs = stateManager.state.strokeColorSpace;\n\n if (cs.name === \"Pattern\") {\n next(self.handleColorN(operatorList, _util.OPS.setStrokeColorN, args, cs, patterns, resources, task, localColorSpaceCache));\n return;\n }\n\n args = cs.getRgb(args, 0);\n fn = _util.OPS.setStrokeRGBColor;\n break;\n\n case _util.OPS.shadingFill:\n var shadingRes = resources.get(\"Shading\");\n\n if (!shadingRes) {\n throw new _util.FormatError(\"No shading resource found\");\n }\n\n var shading = shadingRes.get(args[0].name);\n\n if (!shading) {\n throw new _util.FormatError(\"No shading object found\");\n }\n\n var shadingFill = _pattern.Pattern.parseShading(shading, null, xref, resources, self.handler, self._pdfFunctionFactory, localColorSpaceCache);\n\n var patternIR = shadingFill.getIR();\n args = [patternIR];\n fn = _util.OPS.shadingFill;\n break;\n\n case _util.OPS.setGState:\n name = args[0].name;\n\n if (name) {\n var localGStateObj = localGStateCache.getByName(name);\n\n if (localGStateObj) {\n if (localGStateObj.length > 0) {\n operatorList.addOp(_util.OPS.setGState, [localGStateObj]);\n }\n\n args = null;\n continue;\n }\n }\n\n next(new Promise(function (resolveGState, rejectGState) {\n if (!name) {\n throw new _util.FormatError(\"GState must be referred to by name.\");\n }\n\n var extGState = resources.get(\"ExtGState\");\n\n if (!(extGState instanceof _primitives.Dict)) {\n throw new _util.FormatError(\"ExtGState should be a dictionary.\");\n }\n\n var gState = extGState.get(name);\n\n if (!(gState instanceof _primitives.Dict)) {\n throw new _util.FormatError(\"GState should be a dictionary.\");\n }\n\n self.setGState({\n resources: resources,\n gState: gState,\n operatorList: operatorList,\n cacheKey: name,\n task: task,\n stateManager: stateManager,\n localGStateCache: localGStateCache,\n localColorSpaceCache: localColorSpaceCache\n }).then(resolveGState, rejectGState);\n })[\"catch\"](function (reason) {\n if (reason instanceof _util.AbortException) {\n return;\n }\n\n if (self.options.ignoreErrors) {\n self.handler.send(\"UnsupportedFeature\", {\n featureId: _util.UNSUPPORTED_FEATURES.errorExtGState\n });\n (0, _util.warn)(\"getOperatorList - ignoring ExtGState: \\\"\".concat(reason, \"\\\".\"));\n return;\n }\n\n throw reason;\n }));\n return;\n\n case _util.OPS.moveTo:\n case _util.OPS.lineTo:\n case _util.OPS.curveTo:\n case _util.OPS.curveTo2:\n case _util.OPS.curveTo3:\n case _util.OPS.closePath:\n case _util.OPS.rectangle:\n self.buildPath(operatorList, fn, args, parsingText);\n continue;\n\n case _util.OPS.markPoint:\n case _util.OPS.markPointProps:\n case _util.OPS.beginCompat:\n case _util.OPS.endCompat:\n continue;\n\n case _util.OPS.beginMarkedContentProps:\n if (!(0, _primitives.isName)(args[0])) {\n (0, _util.warn)(\"Expected name for beginMarkedContentProps arg0=\".concat(args[0]));\n continue;\n }\n\n if (args[0].name === \"OC\") {\n next(self.parseMarkedContentProps(args[1], resources).then(function (data) {\n operatorList.addOp(_util.OPS.beginMarkedContentProps, [\"OC\", data]);\n })[\"catch\"](function (reason) {\n if (reason instanceof _util.AbortException) {\n return;\n }\n\n if (self.options.ignoreErrors) {\n self.handler.send(\"UnsupportedFeature\", {\n featureId: _util.UNSUPPORTED_FEATURES.errorMarkedContent\n });\n (0, _util.warn)(\"getOperatorList - ignoring beginMarkedContentProps: \\\"\".concat(reason, \"\\\".\"));\n return;\n }\n\n throw reason;\n }));\n return;\n }\n\n args = [args[0].name];\n break;\n\n case _util.OPS.beginMarkedContent:\n case _util.OPS.endMarkedContent:\n default:\n if (args !== null) {\n for (i = 0, ii = args.length; i < ii; i++) {\n if (args[i] instanceof _primitives.Dict) {\n break;\n }\n }\n\n if (i < ii) {\n (0, _util.warn)(\"getOperatorList - ignoring operator: \" + fn);\n continue;\n }\n }\n\n }\n\n operatorList.addOp(fn, args);\n }\n\n if (stop) {\n next(deferred);\n return;\n }\n\n closePendingRestoreOPS();\n resolve();\n })[\"catch\"](function (reason) {\n if (reason instanceof _util.AbortException) {\n return;\n }\n\n if (_this7.options.ignoreErrors) {\n _this7.handler.send(\"UnsupportedFeature\", {\n featureId: _util.UNSUPPORTED_FEATURES.errorOperatorList\n });\n\n (0, _util.warn)(\"getOperatorList - ignoring errors during \\\"\".concat(task.name, \"\\\" \") + \"task: \\\"\".concat(reason, \"\\\".\"));\n closePendingRestoreOPS();\n return;\n }\n\n throw reason;\n });\n }\n }, {\n key: \"getTextContent\",\n value: function getTextContent(_ref7) {\n var _this8 = this;\n\n var stream = _ref7.stream,\n task = _ref7.task,\n resources = _ref7.resources,\n _ref7$stateManager = _ref7.stateManager,\n stateManager = _ref7$stateManager === void 0 ? null : _ref7$stateManager,\n _ref7$normalizeWhites = _ref7.normalizeWhitespace,\n normalizeWhitespace = _ref7$normalizeWhites === void 0 ? false : _ref7$normalizeWhites,\n _ref7$combineTextItem = _ref7.combineTextItems,\n combineTextItems = _ref7$combineTextItem === void 0 ? false : _ref7$combineTextItem,\n sink = _ref7.sink,\n _ref7$seenStyles = _ref7.seenStyles,\n seenStyles = _ref7$seenStyles === void 0 ? Object.create(null) : _ref7$seenStyles;\n resources = resources || _primitives.Dict.empty;\n stateManager = stateManager || new StateManager(new TextState());\n var WhitespaceRegexp = /\\s/g;\n var textContent = {\n items: [],\n styles: Object.create(null)\n };\n var textContentItem = {\n initialized: false,\n str: [],\n width: 0,\n height: 0,\n vertical: false,\n lastAdvanceWidth: 0,\n lastAdvanceHeight: 0,\n textAdvanceScale: 0,\n spaceWidth: 0,\n fakeSpaceMin: Infinity,\n fakeMultiSpaceMin: Infinity,\n fakeMultiSpaceMax: -0,\n textRunBreakAllowed: false,\n transform: null,\n fontName: null\n };\n var SPACE_FACTOR = 0.3;\n var MULTI_SPACE_FACTOR = 1.5;\n var MULTI_SPACE_FACTOR_MAX = 4;\n var self = this;\n var xref = this.xref;\n var xobjs = null;\n var emptyXObjectCache = new _image_utils.LocalImageCache();\n var emptyGStateCache = new _image_utils.LocalGStateCache();\n var preprocessor = new EvaluatorPreprocessor(stream, xref, stateManager);\n var textState;\n\n function ensureTextContentItem() {\n if (textContentItem.initialized) {\n return textContentItem;\n }\n\n var font = textState.font;\n\n if (!(font.loadedName in seenStyles)) {\n seenStyles[font.loadedName] = true;\n textContent.styles[font.loadedName] = {\n fontFamily: font.fallbackName,\n ascent: font.ascent,\n descent: font.descent,\n vertical: font.vertical\n };\n }\n\n textContentItem.fontName = font.loadedName;\n var tsm = [textState.fontSize * textState.textHScale, 0, 0, textState.fontSize, 0, textState.textRise];\n\n if (font.isType3Font && textState.fontSize <= 1 && !(0, _util.isArrayEqual)(textState.fontMatrix, _util.FONT_IDENTITY_MATRIX)) {\n var glyphHeight = font.bbox[3] - font.bbox[1];\n\n if (glyphHeight > 0) {\n tsm[3] *= glyphHeight * textState.fontMatrix[3];\n }\n }\n\n var trm = _util.Util.transform(textState.ctm, _util.Util.transform(textState.textMatrix, tsm));\n\n textContentItem.transform = trm;\n\n if (!font.vertical) {\n textContentItem.width = 0;\n textContentItem.height = Math.sqrt(trm[2] * trm[2] + trm[3] * trm[3]);\n textContentItem.vertical = false;\n } else {\n textContentItem.width = Math.sqrt(trm[0] * trm[0] + trm[1] * trm[1]);\n textContentItem.height = 0;\n textContentItem.vertical = true;\n }\n\n var a = textState.textLineMatrix[0];\n var b = textState.textLineMatrix[1];\n var scaleLineX = Math.sqrt(a * a + b * b);\n a = textState.ctm[0];\n b = textState.ctm[1];\n var scaleCtmX = Math.sqrt(a * a + b * b);\n textContentItem.textAdvanceScale = scaleCtmX * scaleLineX;\n textContentItem.lastAdvanceWidth = 0;\n textContentItem.lastAdvanceHeight = 0;\n var spaceWidth = font.spaceWidth / 1000 * textState.fontSize;\n\n if (spaceWidth) {\n textContentItem.spaceWidth = spaceWidth;\n textContentItem.fakeSpaceMin = spaceWidth * SPACE_FACTOR;\n textContentItem.fakeMultiSpaceMin = spaceWidth * MULTI_SPACE_FACTOR;\n textContentItem.fakeMultiSpaceMax = spaceWidth * MULTI_SPACE_FACTOR_MAX;\n textContentItem.textRunBreakAllowed = !font.isMonospace;\n } else {\n textContentItem.spaceWidth = 0;\n textContentItem.fakeSpaceMin = Infinity;\n textContentItem.fakeMultiSpaceMin = Infinity;\n textContentItem.fakeMultiSpaceMax = 0;\n textContentItem.textRunBreakAllowed = false;\n }\n\n textContentItem.initialized = true;\n return textContentItem;\n }\n\n function replaceWhitespace(str) {\n var i = 0,\n ii = str.length,\n code;\n\n while (i < ii && (code = str.charCodeAt(i)) >= 0x20 && code <= 0x7f) {\n i++;\n }\n\n return i < ii ? str.replace(WhitespaceRegexp, \" \") : str;\n }\n\n function runBidiTransform(textChunk) {\n var str = textChunk.str.join(\"\");\n var bidiResult = (0, _bidi.bidi)(str, -1, textChunk.vertical);\n return {\n str: normalizeWhitespace ? replaceWhitespace(bidiResult.str) : bidiResult.str,\n dir: bidiResult.dir,\n width: textChunk.width,\n height: textChunk.height,\n transform: textChunk.transform,\n fontName: textChunk.fontName\n };\n }\n\n function handleSetFont(fontName, fontRef) {\n return self.loadFont(fontName, fontRef, resources).then(function (translated) {\n textState.font = translated.font;\n textState.fontMatrix = translated.font.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n });\n }\n\n function buildTextContentItem(chars) {\n var font = textState.font;\n var textChunk = ensureTextContentItem();\n var width = 0;\n var height = 0;\n var glyphs = font.charsToGlyphs(chars);\n\n for (var i = 0; i < glyphs.length; i++) {\n var glyph = glyphs[i];\n var glyphWidth = null;\n\n if (font.vertical && glyph.vmetric) {\n glyphWidth = glyph.vmetric[0];\n } else {\n glyphWidth = glyph.width;\n }\n\n var glyphUnicode = glyph.unicode;\n var NormalizedUnicodes = (0, _unicode.getNormalizedUnicodes)();\n\n if (NormalizedUnicodes[glyphUnicode] !== undefined) {\n glyphUnicode = NormalizedUnicodes[glyphUnicode];\n }\n\n glyphUnicode = (0, _unicode.reverseIfRtl)(glyphUnicode);\n var charSpacing = textState.charSpacing;\n\n if (glyph.isSpace) {\n var wordSpacing = textState.wordSpacing;\n charSpacing += wordSpacing;\n\n if (wordSpacing > 0) {\n addFakeSpaces(wordSpacing, textChunk.str);\n }\n }\n\n var tx = 0;\n var ty = 0;\n\n if (!font.vertical) {\n var w0 = glyphWidth * textState.fontMatrix[0];\n tx = (w0 * textState.fontSize + charSpacing) * textState.textHScale;\n width += tx;\n } else {\n var w1 = glyphWidth * textState.fontMatrix[0];\n ty = w1 * textState.fontSize + charSpacing;\n height += ty;\n }\n\n textState.translateTextMatrix(tx, ty);\n textChunk.str.push(glyphUnicode);\n }\n\n if (!font.vertical) {\n textChunk.lastAdvanceWidth = width;\n textChunk.width += width;\n } else {\n textChunk.lastAdvanceHeight = height;\n textChunk.height += Math.abs(height);\n }\n\n return textChunk;\n }\n\n function addFakeSpaces(width, strBuf) {\n if (width < textContentItem.fakeSpaceMin) {\n return;\n }\n\n if (width < textContentItem.fakeMultiSpaceMin) {\n strBuf.push(\" \");\n return;\n }\n\n var fakeSpaces = Math.round(width / textContentItem.spaceWidth);\n\n while (fakeSpaces-- > 0) {\n strBuf.push(\" \");\n }\n }\n\n function flushTextContentItem() {\n if (!textContentItem.initialized) {\n return;\n }\n\n if (!textContentItem.vertical) {\n textContentItem.width *= textContentItem.textAdvanceScale;\n } else {\n textContentItem.height *= textContentItem.textAdvanceScale;\n }\n\n textContent.items.push(runBidiTransform(textContentItem));\n textContentItem.initialized = false;\n textContentItem.str.length = 0;\n }\n\n function enqueueChunk() {\n var length = textContent.items.length;\n\n if (length > 0) {\n sink.enqueue(textContent, length);\n textContent.items = [];\n textContent.styles = Object.create(null);\n }\n }\n\n var timeSlotManager = new TimeSlotManager();\n return new Promise(function promiseBody(resolve, reject) {\n var next = function next(promise) {\n enqueueChunk();\n Promise.all([promise, sink.ready]).then(function () {\n try {\n promiseBody(resolve, reject);\n } catch (ex) {\n reject(ex);\n }\n }, reject);\n };\n\n task.ensureNotTerminated();\n timeSlotManager.reset();\n var stop,\n operation = {},\n args = [];\n\n while (!(stop = timeSlotManager.check())) {\n args.length = 0;\n operation.args = args;\n\n if (!preprocessor.read(operation)) {\n break;\n }\n\n textState = stateManager.state;\n var fn = operation.fn;\n args = operation.args;\n var advance, diff;\n\n switch (fn | 0) {\n case _util.OPS.setFont:\n var fontNameArg = args[0].name,\n fontSizeArg = args[1];\n\n if (textState.font && fontNameArg === textState.fontName && fontSizeArg === textState.fontSize) {\n break;\n }\n\n flushTextContentItem();\n textState.fontName = fontNameArg;\n textState.fontSize = fontSizeArg;\n next(handleSetFont(fontNameArg, null));\n return;\n\n case _util.OPS.setTextRise:\n flushTextContentItem();\n textState.textRise = args[0];\n break;\n\n case _util.OPS.setHScale:\n flushTextContentItem();\n textState.textHScale = args[0] / 100;\n break;\n\n case _util.OPS.setLeading:\n flushTextContentItem();\n textState.leading = args[0];\n break;\n\n case _util.OPS.moveText:\n var isSameTextLine = !textState.font ? false : (textState.font.vertical ? args[0] : args[1]) === 0;\n advance = args[0] - args[1];\n\n if (combineTextItems && isSameTextLine && textContentItem.initialized && advance > 0 && advance <= textContentItem.fakeMultiSpaceMax) {\n textState.translateTextLineMatrix(args[0], args[1]);\n textContentItem.width += args[0] - textContentItem.lastAdvanceWidth;\n textContentItem.height += args[1] - textContentItem.lastAdvanceHeight;\n diff = args[0] - textContentItem.lastAdvanceWidth - (args[1] - textContentItem.lastAdvanceHeight);\n addFakeSpaces(diff, textContentItem.str);\n break;\n }\n\n flushTextContentItem();\n textState.translateTextLineMatrix(args[0], args[1]);\n textState.textMatrix = textState.textLineMatrix.slice();\n break;\n\n case _util.OPS.setLeadingMoveText:\n flushTextContentItem();\n textState.leading = -args[1];\n textState.translateTextLineMatrix(args[0], args[1]);\n textState.textMatrix = textState.textLineMatrix.slice();\n break;\n\n case _util.OPS.nextLine:\n flushTextContentItem();\n textState.carriageReturn();\n break;\n\n case _util.OPS.setTextMatrix:\n advance = textState.calcTextLineMatrixAdvance(args[0], args[1], args[2], args[3], args[4], args[5]);\n\n if (combineTextItems && advance !== null && textContentItem.initialized && advance.value > 0 && advance.value <= textContentItem.fakeMultiSpaceMax) {\n textState.translateTextLineMatrix(advance.width, advance.height);\n textContentItem.width += advance.width - textContentItem.lastAdvanceWidth;\n textContentItem.height += advance.height - textContentItem.lastAdvanceHeight;\n diff = advance.width - textContentItem.lastAdvanceWidth - (advance.height - textContentItem.lastAdvanceHeight);\n addFakeSpaces(diff, textContentItem.str);\n break;\n }\n\n flushTextContentItem();\n textState.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);\n textState.setTextLineMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n\n case _util.OPS.setCharSpacing:\n textState.charSpacing = args[0];\n break;\n\n case _util.OPS.setWordSpacing:\n textState.wordSpacing = args[0];\n break;\n\n case _util.OPS.beginText:\n flushTextContentItem();\n textState.textMatrix = _util.IDENTITY_MATRIX.slice();\n textState.textLineMatrix = _util.IDENTITY_MATRIX.slice();\n break;\n\n case _util.OPS.showSpacedText:\n if (!stateManager.state.font) {\n self.ensureStateFont(stateManager.state);\n continue;\n }\n\n var items = args[0];\n var offset;\n\n for (var j = 0, jj = items.length; j < jj; j++) {\n if (typeof items[j] === \"string\") {\n buildTextContentItem(items[j]);\n } else if ((0, _util.isNum)(items[j])) {\n ensureTextContentItem();\n advance = items[j] * textState.fontSize / 1000;\n var breakTextRun = false;\n\n if (textState.font.vertical) {\n offset = advance;\n textState.translateTextMatrix(0, offset);\n breakTextRun = textContentItem.textRunBreakAllowed && advance > textContentItem.fakeMultiSpaceMax;\n\n if (!breakTextRun) {\n textContentItem.height += offset;\n }\n } else {\n advance = -advance;\n offset = advance * textState.textHScale;\n textState.translateTextMatrix(offset, 0);\n breakTextRun = textContentItem.textRunBreakAllowed && advance > textContentItem.fakeMultiSpaceMax;\n\n if (!breakTextRun) {\n textContentItem.width += offset;\n }\n }\n\n if (breakTextRun) {\n flushTextContentItem();\n } else if (advance > 0) {\n addFakeSpaces(advance, textContentItem.str);\n }\n }\n }\n\n break;\n\n case _util.OPS.showText:\n if (!stateManager.state.font) {\n self.ensureStateFont(stateManager.state);\n continue;\n }\n\n buildTextContentItem(args[0]);\n break;\n\n case _util.OPS.nextLineShowText:\n if (!stateManager.state.font) {\n self.ensureStateFont(stateManager.state);\n continue;\n }\n\n flushTextContentItem();\n textState.carriageReturn();\n buildTextContentItem(args[0]);\n break;\n\n case _util.OPS.nextLineSetSpacingShowText:\n if (!stateManager.state.font) {\n self.ensureStateFont(stateManager.state);\n continue;\n }\n\n flushTextContentItem();\n textState.wordSpacing = args[0];\n textState.charSpacing = args[1];\n textState.carriageReturn();\n buildTextContentItem(args[2]);\n break;\n\n case _util.OPS.paintXObject:\n flushTextContentItem();\n\n if (!xobjs) {\n xobjs = resources.get(\"XObject\") || _primitives.Dict.empty;\n }\n\n var name = args[0].name;\n\n if (name && emptyXObjectCache.getByName(name)) {\n break;\n }\n\n next(new Promise(function (resolveXObject, rejectXObject) {\n if (!name) {\n throw new _util.FormatError(\"XObject must be referred to by name.\");\n }\n\n var xobj = xobjs.getRaw(name);\n\n if (xobj instanceof _primitives.Ref) {\n if (emptyXObjectCache.getByRef(xobj)) {\n resolveXObject();\n return;\n }\n\n xobj = xref.fetch(xobj);\n }\n\n if (!(0, _primitives.isStream)(xobj)) {\n throw new _util.FormatError(\"XObject should be a stream\");\n }\n\n var type = xobj.dict.get(\"Subtype\");\n\n if (!(0, _primitives.isName)(type)) {\n throw new _util.FormatError(\"XObject should have a Name subtype\");\n }\n\n if (type.name !== \"Form\") {\n emptyXObjectCache.set(name, xobj.dict.objId, true);\n resolveXObject();\n return;\n }\n\n var currentState = stateManager.state.clone();\n var xObjStateManager = new StateManager(currentState);\n var matrix = xobj.dict.getArray(\"Matrix\");\n\n if (Array.isArray(matrix) && matrix.length === 6) {\n xObjStateManager.transform(matrix);\n }\n\n enqueueChunk();\n var sinkWrapper = {\n enqueueInvoked: false,\n enqueue: function enqueue(chunk, size) {\n this.enqueueInvoked = true;\n sink.enqueue(chunk, size);\n },\n\n get desiredSize() {\n return sink.desiredSize;\n },\n\n get ready() {\n return sink.ready;\n }\n\n };\n self.getTextContent({\n stream: xobj,\n task: task,\n resources: xobj.dict.get(\"Resources\") || resources,\n stateManager: xObjStateManager,\n normalizeWhitespace: normalizeWhitespace,\n combineTextItems: combineTextItems,\n sink: sinkWrapper,\n seenStyles: seenStyles\n }).then(function () {\n if (!sinkWrapper.enqueueInvoked) {\n emptyXObjectCache.set(name, xobj.dict.objId, true);\n }\n\n resolveXObject();\n }, rejectXObject);\n })[\"catch\"](function (reason) {\n if (reason instanceof _util.AbortException) {\n return;\n }\n\n if (self.options.ignoreErrors) {\n (0, _util.warn)(\"getTextContent - ignoring XObject: \\\"\".concat(reason, \"\\\".\"));\n return;\n }\n\n throw reason;\n }));\n return;\n\n case _util.OPS.setGState:\n name = args[0].name;\n\n if (name && emptyGStateCache.getByName(name)) {\n break;\n }\n\n next(new Promise(function (resolveGState, rejectGState) {\n if (!name) {\n throw new _util.FormatError(\"GState must be referred to by name.\");\n }\n\n var extGState = resources.get(\"ExtGState\");\n\n if (!(extGState instanceof _primitives.Dict)) {\n throw new _util.FormatError(\"ExtGState should be a dictionary.\");\n }\n\n var gState = extGState.get(name);\n\n if (!(gState instanceof _primitives.Dict)) {\n throw new _util.FormatError(\"GState should be a dictionary.\");\n }\n\n var gStateFont = gState.get(\"Font\");\n\n if (!gStateFont) {\n emptyGStateCache.set(name, gState.objId, true);\n resolveGState();\n return;\n }\n\n flushTextContentItem();\n textState.fontName = null;\n textState.fontSize = gStateFont[1];\n handleSetFont(null, gStateFont[0]).then(resolveGState, rejectGState);\n })[\"catch\"](function (reason) {\n if (reason instanceof _util.AbortException) {\n return;\n }\n\n if (self.options.ignoreErrors) {\n (0, _util.warn)(\"getTextContent - ignoring ExtGState: \\\"\".concat(reason, \"\\\".\"));\n return;\n }\n\n throw reason;\n }));\n return;\n }\n\n if (textContent.items.length >= sink.desiredSize) {\n stop = true;\n break;\n }\n }\n\n if (stop) {\n next(deferred);\n return;\n }\n\n flushTextContentItem();\n enqueueChunk();\n resolve();\n })[\"catch\"](function (reason) {\n if (reason instanceof _util.AbortException) {\n return;\n }\n\n if (_this8.options.ignoreErrors) {\n (0, _util.warn)(\"getTextContent - ignoring errors during \\\"\".concat(task.name, \"\\\" \") + \"task: \\\"\".concat(reason, \"\\\".\"));\n flushTextContentItem();\n enqueueChunk();\n return;\n }\n\n throw reason;\n });\n }\n }, {\n key: \"extractDataStructures\",\n value: function extractDataStructures(dict, baseDict, properties) {\n var _this9 = this;\n\n var xref = this.xref;\n var cidToGidBytes;\n var toUnicode = dict.get(\"ToUnicode\") || baseDict.get(\"ToUnicode\");\n var toUnicodePromise = toUnicode ? this.readToUnicode(toUnicode) : Promise.resolve(undefined);\n\n if (properties.composite) {\n var cidSystemInfo = dict.get(\"CIDSystemInfo\");\n\n if ((0, _primitives.isDict)(cidSystemInfo)) {\n properties.cidSystemInfo = {\n registry: (0, _util.stringToPDFString)(cidSystemInfo.get(\"Registry\")),\n ordering: (0, _util.stringToPDFString)(cidSystemInfo.get(\"Ordering\")),\n supplement: cidSystemInfo.get(\"Supplement\")\n };\n }\n\n var cidToGidMap = dict.get(\"CIDToGIDMap\");\n\n if ((0, _primitives.isStream)(cidToGidMap)) {\n cidToGidBytes = cidToGidMap.getBytes();\n }\n }\n\n var differences = [];\n var baseEncodingName = null;\n var encoding;\n\n if (dict.has(\"Encoding\")) {\n encoding = dict.get(\"Encoding\");\n\n if ((0, _primitives.isDict)(encoding)) {\n baseEncodingName = encoding.get(\"BaseEncoding\");\n baseEncodingName = (0, _primitives.isName)(baseEncodingName) ? baseEncodingName.name : null;\n\n if (encoding.has(\"Differences\")) {\n var diffEncoding = encoding.get(\"Differences\");\n var index = 0;\n\n for (var j = 0, jj = diffEncoding.length; j < jj; j++) {\n var data = xref.fetchIfRef(diffEncoding[j]);\n\n if ((0, _util.isNum)(data)) {\n index = data;\n } else if ((0, _primitives.isName)(data)) {\n differences[index++] = data.name;\n } else {\n throw new _util.FormatError(\"Invalid entry in 'Differences' array: \".concat(data));\n }\n }\n }\n } else if ((0, _primitives.isName)(encoding)) {\n baseEncodingName = encoding.name;\n } else {\n throw new _util.FormatError(\"Encoding is not a Name nor a Dict\");\n }\n\n if (baseEncodingName !== \"MacRomanEncoding\" && baseEncodingName !== \"MacExpertEncoding\" && baseEncodingName !== \"WinAnsiEncoding\") {\n baseEncodingName = null;\n }\n }\n\n if (baseEncodingName) {\n properties.defaultEncoding = (0, _encodings.getEncoding)(baseEncodingName).slice();\n } else {\n var isSymbolicFont = !!(properties.flags & _fonts.FontFlags.Symbolic);\n var isNonsymbolicFont = !!(properties.flags & _fonts.FontFlags.Nonsymbolic);\n encoding = _encodings.StandardEncoding;\n\n if (properties.type === \"TrueType\" && !isNonsymbolicFont) {\n encoding = _encodings.WinAnsiEncoding;\n }\n\n if (isSymbolicFont) {\n encoding = _encodings.MacRomanEncoding;\n\n if (!properties.file) {\n if (/Symbol/i.test(properties.name)) {\n encoding = _encodings.SymbolSetEncoding;\n } else if (/Dingbats|Wingdings/i.test(properties.name)) {\n encoding = _encodings.ZapfDingbatsEncoding;\n }\n }\n }\n\n properties.defaultEncoding = encoding;\n }\n\n properties.differences = differences;\n properties.baseEncodingName = baseEncodingName;\n properties.hasEncoding = !!baseEncodingName || differences.length > 0;\n properties.dict = dict;\n return toUnicodePromise.then(function (readToUnicode) {\n properties.toUnicode = readToUnicode;\n return _this9.buildToUnicode(properties);\n }).then(function (builtToUnicode) {\n properties.toUnicode = builtToUnicode;\n\n if (cidToGidBytes) {\n properties.cidToGidMap = _this9.readCidToGidMap(cidToGidBytes, builtToUnicode);\n }\n\n return properties;\n });\n }\n }, {\n key: \"_buildSimpleFontToUnicode\",\n value: function _buildSimpleFontToUnicode(properties) {\n var forceGlyphs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n (0, _util.assert)(!properties.composite, \"Must be a simple font.\");\n var toUnicode = [];\n var encoding = properties.defaultEncoding.slice();\n var baseEncodingName = properties.baseEncodingName;\n var differences = properties.differences;\n\n for (var charcode in differences) {\n var glyphName = differences[charcode];\n\n if (glyphName === \".notdef\") {\n continue;\n }\n\n encoding[charcode] = glyphName;\n }\n\n var glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n\n for (var _charcode in encoding) {\n var _glyphName = encoding[_charcode];\n\n if (_glyphName === \"\") {\n continue;\n } else if (glyphsUnicodeMap[_glyphName] === undefined) {\n var code = 0;\n\n switch (_glyphName[0]) {\n case \"G\":\n if (_glyphName.length === 3) {\n code = parseInt(_glyphName.substring(1), 16);\n }\n\n break;\n\n case \"g\":\n if (_glyphName.length === 5) {\n code = parseInt(_glyphName.substring(1), 16);\n }\n\n break;\n\n case \"C\":\n case \"c\":\n if (_glyphName.length >= 3 && _glyphName.length <= 4) {\n var codeStr = _glyphName.substring(1);\n\n if (forceGlyphs) {\n code = parseInt(codeStr, 16);\n break;\n }\n\n code = +codeStr;\n\n if (Number.isNaN(code) && Number.isInteger(parseInt(codeStr, 16))) {\n return this._buildSimpleFontToUnicode(properties, true);\n }\n }\n\n break;\n\n default:\n var unicode = (0, _unicode.getUnicodeForGlyph)(_glyphName, glyphsUnicodeMap);\n\n if (unicode !== -1) {\n code = unicode;\n }\n\n }\n\n if (code > 0 && code <= 0x10ffff && Number.isInteger(code)) {\n if (baseEncodingName && code === +_charcode) {\n var baseEncoding = (0, _encodings.getEncoding)(baseEncodingName);\n\n if (baseEncoding && (_glyphName = baseEncoding[_charcode])) {\n toUnicode[_charcode] = String.fromCharCode(glyphsUnicodeMap[_glyphName]);\n continue;\n }\n }\n\n toUnicode[_charcode] = String.fromCodePoint(code);\n }\n\n continue;\n }\n\n toUnicode[_charcode] = String.fromCharCode(glyphsUnicodeMap[_glyphName]);\n }\n\n return new _fonts.ToUnicodeMap(toUnicode);\n }\n }, {\n key: \"buildToUnicode\",\n value: function buildToUnicode(properties) {\n properties.hasIncludedToUnicodeMap = !!properties.toUnicode && properties.toUnicode.length > 0;\n\n if (properties.hasIncludedToUnicodeMap) {\n if (!properties.composite && properties.hasEncoding) {\n properties.fallbackToUnicode = this._buildSimpleFontToUnicode(properties);\n }\n\n return Promise.resolve(properties.toUnicode);\n }\n\n if (!properties.composite) {\n return Promise.resolve(this._buildSimpleFontToUnicode(properties));\n }\n\n if (properties.composite && (properties.cMap.builtInCMap && !(properties.cMap instanceof _cmap.IdentityCMap) || properties.cidSystemInfo.registry === \"Adobe\" && (properties.cidSystemInfo.ordering === \"GB1\" || properties.cidSystemInfo.ordering === \"CNS1\" || properties.cidSystemInfo.ordering === \"Japan1\" || properties.cidSystemInfo.ordering === \"Korea1\"))) {\n var registry = properties.cidSystemInfo.registry;\n var ordering = properties.cidSystemInfo.ordering;\n\n var ucs2CMapName = _primitives.Name.get(registry + \"-\" + ordering + \"-UCS2\");\n\n return _cmap.CMapFactory.create({\n encoding: ucs2CMapName,\n fetchBuiltInCMap: this._fetchBuiltInCMapBound,\n useCMap: null\n }).then(function (ucs2CMap) {\n var cMap = properties.cMap;\n var toUnicode = [];\n cMap.forEach(function (charcode, cid) {\n if (cid > 0xffff) {\n throw new _util.FormatError(\"Max size of CID is 65,535\");\n }\n\n var ucs2 = ucs2CMap.lookup(cid);\n\n if (ucs2) {\n toUnicode[charcode] = String.fromCharCode((ucs2.charCodeAt(0) << 8) + ucs2.charCodeAt(1));\n }\n });\n return new _fonts.ToUnicodeMap(toUnicode);\n });\n }\n\n return Promise.resolve(new _fonts.IdentityToUnicodeMap(properties.firstChar, properties.lastChar));\n }\n }, {\n key: \"readToUnicode\",\n value: function readToUnicode(toUnicode) {\n var _this10 = this;\n\n var cmapObj = toUnicode;\n\n if ((0, _primitives.isName)(cmapObj)) {\n return _cmap.CMapFactory.create({\n encoding: cmapObj,\n fetchBuiltInCMap: this._fetchBuiltInCMapBound,\n useCMap: null\n }).then(function (cmap) {\n if (cmap instanceof _cmap.IdentityCMap) {\n return new _fonts.IdentityToUnicodeMap(0, 0xffff);\n }\n\n return new _fonts.ToUnicodeMap(cmap.getMap());\n });\n } else if ((0, _primitives.isStream)(cmapObj)) {\n return _cmap.CMapFactory.create({\n encoding: cmapObj,\n fetchBuiltInCMap: this._fetchBuiltInCMapBound,\n useCMap: null\n }).then(function (cmap) {\n if (cmap instanceof _cmap.IdentityCMap) {\n return new _fonts.IdentityToUnicodeMap(0, 0xffff);\n }\n\n var map = new Array(cmap.length);\n cmap.forEach(function (charCode, token) {\n var str = [];\n\n for (var k = 0; k < token.length; k += 2) {\n var w1 = token.charCodeAt(k) << 8 | token.charCodeAt(k + 1);\n\n if ((w1 & 0xf800) !== 0xd800) {\n str.push(w1);\n continue;\n }\n\n k += 2;\n var w2 = token.charCodeAt(k) << 8 | token.charCodeAt(k + 1);\n str.push(((w1 & 0x3ff) << 10) + (w2 & 0x3ff) + 0x10000);\n }\n\n map[charCode] = String.fromCodePoint.apply(String, str);\n });\n return new _fonts.ToUnicodeMap(map);\n }, function (reason) {\n if (reason instanceof _util.AbortException) {\n return null;\n }\n\n if (_this10.options.ignoreErrors) {\n _this10.handler.send(\"UnsupportedFeature\", {\n featureId: _util.UNSUPPORTED_FEATURES.errorFontToUnicode\n });\n\n (0, _util.warn)(\"readToUnicode - ignoring ToUnicode data: \\\"\".concat(reason, \"\\\".\"));\n return null;\n }\n\n throw reason;\n });\n }\n\n return Promise.resolve(null);\n }\n }, {\n key: \"readCidToGidMap\",\n value: function readCidToGidMap(glyphsData, toUnicode) {\n var result = [];\n\n for (var j = 0, jj = glyphsData.length; j < jj; j++) {\n var glyphID = glyphsData[j++] << 8 | glyphsData[j];\n var code = j >> 1;\n\n if (glyphID === 0 && !toUnicode.has(code)) {\n continue;\n }\n\n result[code] = glyphID;\n }\n\n return result;\n }\n }, {\n key: \"extractWidths\",\n value: function extractWidths(dict, descriptor, properties) {\n var xref = this.xref;\n var glyphsWidths = [];\n var defaultWidth = 0;\n var glyphsVMetrics = [];\n var defaultVMetrics;\n var i, ii, j, jj, start, code, widths;\n\n if (properties.composite) {\n defaultWidth = dict.has(\"DW\") ? dict.get(\"DW\") : 1000;\n widths = dict.get(\"W\");\n\n if (widths) {\n for (i = 0, ii = widths.length; i < ii; i++) {\n start = xref.fetchIfRef(widths[i++]);\n code = xref.fetchIfRef(widths[i]);\n\n if (Array.isArray(code)) {\n for (j = 0, jj = code.length; j < jj; j++) {\n glyphsWidths[start++] = xref.fetchIfRef(code[j]);\n }\n } else {\n var width = xref.fetchIfRef(widths[++i]);\n\n for (j = start; j <= code; j++) {\n glyphsWidths[j] = width;\n }\n }\n }\n }\n\n if (properties.vertical) {\n var vmetrics = dict.getArray(\"DW2\") || [880, -1000];\n defaultVMetrics = [vmetrics[1], defaultWidth * 0.5, vmetrics[0]];\n vmetrics = dict.get(\"W2\");\n\n if (vmetrics) {\n for (i = 0, ii = vmetrics.length; i < ii; i++) {\n start = xref.fetchIfRef(vmetrics[i++]);\n code = xref.fetchIfRef(vmetrics[i]);\n\n if (Array.isArray(code)) {\n for (j = 0, jj = code.length; j < jj; j++) {\n glyphsVMetrics[start++] = [xref.fetchIfRef(code[j++]), xref.fetchIfRef(code[j++]), xref.fetchIfRef(code[j])];\n }\n } else {\n var vmetric = [xref.fetchIfRef(vmetrics[++i]), xref.fetchIfRef(vmetrics[++i]), xref.fetchIfRef(vmetrics[++i])];\n\n for (j = start; j <= code; j++) {\n glyphsVMetrics[j] = vmetric;\n }\n }\n }\n }\n }\n } else {\n var firstChar = properties.firstChar;\n widths = dict.get(\"Widths\");\n\n if (widths) {\n j = firstChar;\n\n for (i = 0, ii = widths.length; i < ii; i++) {\n glyphsWidths[j++] = xref.fetchIfRef(widths[i]);\n }\n\n defaultWidth = parseFloat(descriptor.get(\"MissingWidth\")) || 0;\n } else {\n var baseFontName = dict.get(\"BaseFont\");\n\n if ((0, _primitives.isName)(baseFontName)) {\n var metrics = this.getBaseFontMetrics(baseFontName.name);\n glyphsWidths = this.buildCharCodeToWidth(metrics.widths, properties);\n defaultWidth = metrics.defaultWidth;\n }\n }\n }\n\n var isMonospace = true;\n var firstWidth = defaultWidth;\n\n for (var glyph in glyphsWidths) {\n var glyphWidth = glyphsWidths[glyph];\n\n if (!glyphWidth) {\n continue;\n }\n\n if (!firstWidth) {\n firstWidth = glyphWidth;\n continue;\n }\n\n if (firstWidth !== glyphWidth) {\n isMonospace = false;\n break;\n }\n }\n\n if (isMonospace) {\n properties.flags |= _fonts.FontFlags.FixedPitch;\n }\n\n properties.defaultWidth = defaultWidth;\n properties.widths = glyphsWidths;\n properties.defaultVMetrics = defaultVMetrics;\n properties.vmetrics = glyphsVMetrics;\n }\n }, {\n key: \"isSerifFont\",\n value: function isSerifFont(baseFontName) {\n var fontNameWoStyle = baseFontName.split(\"-\")[0];\n return fontNameWoStyle in (0, _standard_fonts.getSerifFonts)() || fontNameWoStyle.search(/serif/gi) !== -1;\n }\n }, {\n key: \"getBaseFontMetrics\",\n value: function getBaseFontMetrics(name) {\n var defaultWidth = 0;\n var widths = [];\n var monospace = false;\n var stdFontMap = (0, _standard_fonts.getStdFontMap)();\n var lookupName = stdFontMap[name] || name;\n var Metrics = (0, _metrics.getMetrics)();\n\n if (!(lookupName in Metrics)) {\n if (this.isSerifFont(name)) {\n lookupName = \"Times-Roman\";\n } else {\n lookupName = \"Helvetica\";\n }\n }\n\n var glyphWidths = Metrics[lookupName];\n\n if ((0, _util.isNum)(glyphWidths)) {\n defaultWidth = glyphWidths;\n monospace = true;\n } else {\n widths = glyphWidths();\n }\n\n return {\n defaultWidth: defaultWidth,\n monospace: monospace,\n widths: widths\n };\n }\n }, {\n key: \"buildCharCodeToWidth\",\n value: function buildCharCodeToWidth(widthsByGlyphName, properties) {\n var widths = Object.create(null);\n var differences = properties.differences;\n var encoding = properties.defaultEncoding;\n\n for (var charCode = 0; charCode < 256; charCode++) {\n if (charCode in differences && widthsByGlyphName[differences[charCode]]) {\n widths[charCode] = widthsByGlyphName[differences[charCode]];\n continue;\n }\n\n if (charCode in encoding && widthsByGlyphName[encoding[charCode]]) {\n widths[charCode] = widthsByGlyphName[encoding[charCode]];\n continue;\n }\n }\n\n return widths;\n }\n }, {\n key: \"preEvaluateFont\",\n value: function preEvaluateFont(dict) {\n var baseDict = dict;\n var type = dict.get(\"Subtype\");\n\n if (!(0, _primitives.isName)(type)) {\n throw new _util.FormatError(\"invalid font Subtype\");\n }\n\n var composite = false;\n var uint8array;\n\n if (type.name === \"Type0\") {\n var df = dict.get(\"DescendantFonts\");\n\n if (!df) {\n throw new _util.FormatError(\"Descendant fonts are not specified\");\n }\n\n dict = Array.isArray(df) ? this.xref.fetchIfRef(df[0]) : df;\n type = dict.get(\"Subtype\");\n\n if (!(0, _primitives.isName)(type)) {\n throw new _util.FormatError(\"invalid font Subtype\");\n }\n\n composite = true;\n }\n\n var descriptor = dict.get(\"FontDescriptor\");\n\n if (descriptor) {\n var hash = new _murmurhash.MurmurHash3_64();\n var encoding = baseDict.getRaw(\"Encoding\");\n\n if ((0, _primitives.isName)(encoding)) {\n hash.update(encoding.name);\n } else if ((0, _primitives.isRef)(encoding)) {\n hash.update(encoding.toString());\n } else if ((0, _primitives.isDict)(encoding)) {\n var _iterator5 = _createForOfIteratorHelper(encoding.getRawValues()),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var entry = _step5.value;\n\n if ((0, _primitives.isName)(entry)) {\n hash.update(entry.name);\n } else if ((0, _primitives.isRef)(entry)) {\n hash.update(entry.toString());\n } else if (Array.isArray(entry)) {\n var diffLength = entry.length,\n diffBuf = new Array(diffLength);\n\n for (var j = 0; j < diffLength; j++) {\n var diffEntry = entry[j];\n\n if ((0, _primitives.isName)(diffEntry)) {\n diffBuf[j] = diffEntry.name;\n } else if ((0, _util.isNum)(diffEntry) || (0, _primitives.isRef)(diffEntry)) {\n diffBuf[j] = diffEntry.toString();\n }\n }\n\n hash.update(diffBuf.join());\n }\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n }\n\n var firstChar = dict.get(\"FirstChar\") || 0;\n var lastChar = dict.get(\"LastChar\") || (composite ? 0xffff : 0xff);\n hash.update(\"\".concat(firstChar, \"-\").concat(lastChar));\n var toUnicode = dict.get(\"ToUnicode\") || baseDict.get(\"ToUnicode\");\n\n if ((0, _primitives.isStream)(toUnicode)) {\n var stream = toUnicode.str || toUnicode;\n uint8array = stream.buffer ? new Uint8Array(stream.buffer.buffer, 0, stream.bufferLength) : new Uint8Array(stream.bytes.buffer, stream.start, stream.end - stream.start);\n hash.update(uint8array);\n } else if ((0, _primitives.isName)(toUnicode)) {\n hash.update(toUnicode.name);\n }\n\n var widths = dict.get(\"Widths\") || baseDict.get(\"Widths\");\n\n if (widths) {\n uint8array = new Uint8Array(new Uint32Array(widths).buffer);\n hash.update(uint8array);\n }\n }\n\n return {\n descriptor: descriptor,\n dict: dict,\n baseDict: baseDict,\n composite: composite,\n type: type.name,\n hash: hash ? hash.hexdigest() : \"\"\n };\n }\n }, {\n key: \"translateFont\",\n value: function translateFont(preEvaluatedFont) {\n var _this11 = this;\n\n var baseDict = preEvaluatedFont.baseDict;\n var dict = preEvaluatedFont.dict;\n var composite = preEvaluatedFont.composite;\n var descriptor = preEvaluatedFont.descriptor;\n var type = preEvaluatedFont.type;\n var maxCharIndex = composite ? 0xffff : 0xff;\n var properties;\n var firstChar = dict.get(\"FirstChar\") || 0;\n var lastChar = dict.get(\"LastChar\") || maxCharIndex;\n\n if (!descriptor) {\n if (type === \"Type3\") {\n descriptor = new _primitives.Dict(null);\n descriptor.set(\"FontName\", _primitives.Name.get(type));\n descriptor.set(\"FontBBox\", dict.getArray(\"FontBBox\") || [0, 0, 0, 0]);\n } else {\n var baseFontName = dict.get(\"BaseFont\");\n\n if (!(0, _primitives.isName)(baseFontName)) {\n throw new _util.FormatError(\"Base font is not specified\");\n }\n\n baseFontName = baseFontName.name.replace(/[,_]/g, \"-\");\n var metrics = this.getBaseFontMetrics(baseFontName);\n var fontNameWoStyle = baseFontName.split(\"-\")[0];\n var flags = (this.isSerifFont(fontNameWoStyle) ? _fonts.FontFlags.Serif : 0) | (metrics.monospace ? _fonts.FontFlags.FixedPitch : 0) | ((0, _standard_fonts.getSymbolsFonts)()[fontNameWoStyle] ? _fonts.FontFlags.Symbolic : _fonts.FontFlags.Nonsymbolic);\n properties = {\n type: type,\n name: baseFontName,\n widths: metrics.widths,\n defaultWidth: metrics.defaultWidth,\n flags: flags,\n firstChar: firstChar,\n lastChar: lastChar\n };\n var widths = dict.get(\"Widths\");\n return this.extractDataStructures(dict, dict, properties).then(function (newProperties) {\n if (widths) {\n var glyphWidths = [];\n var j = firstChar;\n\n for (var _i = 0, ii = widths.length; _i < ii; _i++) {\n glyphWidths[j++] = _this11.xref.fetchIfRef(widths[_i]);\n }\n\n newProperties.widths = glyphWidths;\n } else {\n newProperties.widths = _this11.buildCharCodeToWidth(metrics.widths, newProperties);\n }\n\n return new _fonts.Font(baseFontName, null, newProperties);\n });\n }\n }\n\n var fontName = descriptor.get(\"FontName\");\n var baseFont = dict.get(\"BaseFont\");\n\n if ((0, _util.isString)(fontName)) {\n fontName = _primitives.Name.get(fontName);\n }\n\n if ((0, _util.isString)(baseFont)) {\n baseFont = _primitives.Name.get(baseFont);\n }\n\n if (type !== \"Type3\") {\n var fontNameStr = fontName && fontName.name;\n var baseFontStr = baseFont && baseFont.name;\n\n if (fontNameStr !== baseFontStr) {\n (0, _util.info)(\"The FontDescriptor's FontName is \\\"\".concat(fontNameStr, \"\\\" but \") + \"should be the same as the Font's BaseFont \\\"\".concat(baseFontStr, \"\\\".\"));\n\n if (fontNameStr && baseFontStr && baseFontStr.startsWith(fontNameStr)) {\n fontName = baseFont;\n }\n }\n }\n\n fontName = fontName || baseFont;\n\n if (!(0, _primitives.isName)(fontName)) {\n throw new _util.FormatError(\"invalid font name\");\n }\n\n var fontFile = descriptor.get(\"FontFile\", \"FontFile2\", \"FontFile3\");\n\n if (fontFile) {\n if (fontFile.dict) {\n var subtype = fontFile.dict.get(\"Subtype\");\n\n if (subtype) {\n subtype = subtype.name;\n }\n\n var length1 = fontFile.dict.get(\"Length1\");\n var length2 = fontFile.dict.get(\"Length2\");\n var length3 = fontFile.dict.get(\"Length3\");\n }\n }\n\n properties = {\n type: type,\n name: fontName.name,\n subtype: subtype,\n file: fontFile,\n length1: length1,\n length2: length2,\n length3: length3,\n loadedName: baseDict.loadedName,\n composite: composite,\n fixedPitch: false,\n fontMatrix: dict.getArray(\"FontMatrix\") || _util.FONT_IDENTITY_MATRIX,\n firstChar: firstChar || 0,\n lastChar: lastChar || maxCharIndex,\n bbox: descriptor.getArray(\"FontBBox\"),\n ascent: descriptor.get(\"Ascent\"),\n descent: descriptor.get(\"Descent\"),\n xHeight: descriptor.get(\"XHeight\"),\n capHeight: descriptor.get(\"CapHeight\"),\n flags: descriptor.get(\"Flags\"),\n italicAngle: descriptor.get(\"ItalicAngle\"),\n isType3Font: false\n };\n var cMapPromise;\n\n if (composite) {\n var cidEncoding = baseDict.get(\"Encoding\");\n\n if ((0, _primitives.isName)(cidEncoding)) {\n properties.cidEncoding = cidEncoding.name;\n }\n\n cMapPromise = _cmap.CMapFactory.create({\n encoding: cidEncoding,\n fetchBuiltInCMap: this._fetchBuiltInCMapBound,\n useCMap: null\n }).then(function (cMap) {\n properties.cMap = cMap;\n properties.vertical = properties.cMap.vertical;\n });\n } else {\n cMapPromise = Promise.resolve(undefined);\n }\n\n return cMapPromise.then(function () {\n return _this11.extractDataStructures(dict, baseDict, properties);\n }).then(function (newProperties) {\n _this11.extractWidths(dict, descriptor, newProperties);\n\n if (type === \"Type3\") {\n newProperties.isType3Font = true;\n }\n\n return new _fonts.Font(fontName.name, fontFile, newProperties);\n });\n }\n }, {\n key: \"_pdfFunctionFactory\",\n get: function get() {\n var pdfFunctionFactory = new _function.PDFFunctionFactory({\n xref: this.xref,\n isEvalSupported: this.options.isEvalSupported\n });\n return (0, _util.shadow)(this, \"_pdfFunctionFactory\", pdfFunctionFactory);\n }\n }], [{\n key: \"buildFontPaths\",\n value: function buildFontPaths(font, glyphs, handler) {\n function buildPath(fontChar) {\n if (font.renderer.hasBuiltPath(fontChar)) {\n return;\n }\n\n handler.send(\"commonobj\", [\"\".concat(font.loadedName, \"_path_\").concat(fontChar), \"FontPath\", font.renderer.getPathJs(fontChar)]);\n }\n\n var _iterator6 = _createForOfIteratorHelper(glyphs),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var glyph = _step6.value;\n buildPath(glyph.fontChar);\n var accent = glyph.accent;\n\n if (accent && accent.fontChar) {\n buildPath(accent.fontChar);\n }\n }\n } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n }\n }, {\n key: \"fallbackFontDict\",\n get: function get() {\n var dict = new _primitives.Dict();\n dict.set(\"BaseFont\", _primitives.Name.get(\"PDFJS-FallbackFont\"));\n dict.set(\"Type\", _primitives.Name.get(\"FallbackType\"));\n dict.set(\"Subtype\", _primitives.Name.get(\"FallbackType\"));\n dict.set(\"Encoding\", _primitives.Name.get(\"WinAnsiEncoding\"));\n return (0, _util.shadow)(this, \"fallbackFontDict\", dict);\n }\n }]);\n\n return PartialEvaluator;\n}();\n\nexports.PartialEvaluator = PartialEvaluator;\n\nvar TranslatedFont = /*#__PURE__*/function () {\n function TranslatedFont(_ref8) {\n var loadedName = _ref8.loadedName,\n font = _ref8.font,\n dict = _ref8.dict,\n _ref8$extraProperties = _ref8.extraProperties,\n extraProperties = _ref8$extraProperties === void 0 ? false : _ref8$extraProperties;\n\n _classCallCheck(this, TranslatedFont);\n\n this.loadedName = loadedName;\n this.font = font;\n this.dict = dict;\n this._extraProperties = extraProperties;\n this.type3Loaded = null;\n this.type3Dependencies = font.isType3Font ? new Set() : null;\n this.sent = false;\n }\n\n _createClass(TranslatedFont, [{\n key: \"send\",\n value: function send(handler) {\n if (this.sent) {\n return;\n }\n\n this.sent = true;\n handler.send(\"commonobj\", [this.loadedName, \"Font\", this.font.exportData(this._extraProperties)]);\n }\n }, {\n key: \"fallback\",\n value: function fallback(handler) {\n if (!this.font.data) {\n return;\n }\n\n this.font.disableFontFace = true;\n var glyphs = this.font.glyphCacheValues;\n PartialEvaluator.buildFontPaths(this.font, glyphs, handler);\n }\n }, {\n key: \"loadType3Data\",\n value: function loadType3Data(evaluator, resources, task) {\n if (this.type3Loaded) {\n return this.type3Loaded;\n }\n\n if (!this.font.isType3Font) {\n throw new Error(\"Must be a Type3 font.\");\n }\n\n var type3Options = Object.create(evaluator.options);\n type3Options.ignoreErrors = false;\n var type3Evaluator = evaluator.clone(type3Options);\n type3Evaluator.parsingType3Font = true;\n var translatedFont = this.font,\n type3Dependencies = this.type3Dependencies;\n var loadCharProcsPromise = Promise.resolve();\n var charProcs = this.dict.get(\"CharProcs\");\n var fontResources = this.dict.get(\"Resources\") || resources;\n var charProcOperatorList = Object.create(null);\n\n var _iterator7 = _createForOfIteratorHelper(charProcs.getKeys()),\n _step7;\n\n try {\n var _loop2 = function _loop2() {\n var key = _step7.value;\n loadCharProcsPromise = loadCharProcsPromise.then(function () {\n var glyphStream = charProcs.get(key);\n var operatorList = new _operator_list.OperatorList();\n return type3Evaluator.getOperatorList({\n stream: glyphStream,\n task: task,\n resources: fontResources,\n operatorList: operatorList\n }).then(function () {\n charProcOperatorList[key] = operatorList.getIR();\n\n var _iterator8 = _createForOfIteratorHelper(operatorList.dependencies),\n _step8;\n\n try {\n for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {\n var dependency = _step8.value;\n type3Dependencies.add(dependency);\n }\n } catch (err) {\n _iterator8.e(err);\n } finally {\n _iterator8.f();\n }\n })[\"catch\"](function (reason) {\n (0, _util.warn)(\"Type3 font resource \\\"\".concat(key, \"\\\" is not available.\"));\n var dummyOperatorList = new _operator_list.OperatorList();\n charProcOperatorList[key] = dummyOperatorList.getIR();\n });\n });\n };\n\n for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {\n _loop2();\n }\n } catch (err) {\n _iterator7.e(err);\n } finally {\n _iterator7.f();\n }\n\n this.type3Loaded = loadCharProcsPromise.then(function () {\n translatedFont.charProcOperatorList = charProcOperatorList;\n });\n return this.type3Loaded;\n }\n }]);\n\n return TranslatedFont;\n}();\n\nvar StateManager = /*#__PURE__*/function () {\n function StateManager(initialState) {\n _classCallCheck(this, StateManager);\n\n this.state = initialState;\n this.stateStack = [];\n }\n\n _createClass(StateManager, [{\n key: \"save\",\n value: function save() {\n var old = this.state;\n this.stateStack.push(this.state);\n this.state = old.clone();\n }\n }, {\n key: \"restore\",\n value: function restore() {\n var prev = this.stateStack.pop();\n\n if (prev) {\n this.state = prev;\n }\n }\n }, {\n key: \"transform\",\n value: function transform(args) {\n this.state.ctm = _util.Util.transform(this.state.ctm, args);\n }\n }]);\n\n return StateManager;\n}();\n\nvar TextState = /*#__PURE__*/function () {\n function TextState() {\n _classCallCheck(this, TextState);\n\n this.ctm = new Float32Array(_util.IDENTITY_MATRIX);\n this.fontName = null;\n this.fontSize = 0;\n this.font = null;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.textMatrix = _util.IDENTITY_MATRIX.slice();\n this.textLineMatrix = _util.IDENTITY_MATRIX.slice();\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.leading = 0;\n this.textHScale = 1;\n this.textRise = 0;\n }\n\n _createClass(TextState, [{\n key: \"setTextMatrix\",\n value: function setTextMatrix(a, b, c, d, e, f) {\n var m = this.textMatrix;\n m[0] = a;\n m[1] = b;\n m[2] = c;\n m[3] = d;\n m[4] = e;\n m[5] = f;\n }\n }, {\n key: \"setTextLineMatrix\",\n value: function setTextLineMatrix(a, b, c, d, e, f) {\n var m = this.textLineMatrix;\n m[0] = a;\n m[1] = b;\n m[2] = c;\n m[3] = d;\n m[4] = e;\n m[5] = f;\n }\n }, {\n key: \"translateTextMatrix\",\n value: function translateTextMatrix(x, y) {\n var m = this.textMatrix;\n m[4] = m[0] * x + m[2] * y + m[4];\n m[5] = m[1] * x + m[3] * y + m[5];\n }\n }, {\n key: \"translateTextLineMatrix\",\n value: function translateTextLineMatrix(x, y) {\n var m = this.textLineMatrix;\n m[4] = m[0] * x + m[2] * y + m[4];\n m[5] = m[1] * x + m[3] * y + m[5];\n }\n }, {\n key: \"calcTextLineMatrixAdvance\",\n value: function calcTextLineMatrixAdvance(a, b, c, d, e, f) {\n var font = this.font;\n\n if (!font) {\n return null;\n }\n\n var m = this.textLineMatrix;\n\n if (!(a === m[0] && b === m[1] && c === m[2] && d === m[3])) {\n return null;\n }\n\n var txDiff = e - m[4],\n tyDiff = f - m[5];\n\n if (font.vertical && txDiff !== 0 || !font.vertical && tyDiff !== 0) {\n return null;\n }\n\n var tx,\n ty,\n denominator = a * d - b * c;\n\n if (font.vertical) {\n tx = -tyDiff * c / denominator;\n ty = tyDiff * a / denominator;\n } else {\n tx = txDiff * d / denominator;\n ty = -txDiff * b / denominator;\n }\n\n return {\n width: tx,\n height: ty,\n value: font.vertical ? ty : tx\n };\n }\n }, {\n key: \"calcRenderMatrix\",\n value: function calcRenderMatrix(ctm) {\n var tsm = [this.fontSize * this.textHScale, 0, 0, this.fontSize, 0, this.textRise];\n return _util.Util.transform(ctm, _util.Util.transform(this.textMatrix, tsm));\n }\n }, {\n key: \"carriageReturn\",\n value: function carriageReturn() {\n this.translateTextLineMatrix(0, -this.leading);\n this.textMatrix = this.textLineMatrix.slice();\n }\n }, {\n key: \"clone\",\n value: function clone() {\n var clone = Object.create(this);\n clone.textMatrix = this.textMatrix.slice();\n clone.textLineMatrix = this.textLineMatrix.slice();\n clone.fontMatrix = this.fontMatrix.slice();\n return clone;\n }\n }]);\n\n return TextState;\n}();\n\nvar EvalState = /*#__PURE__*/function () {\n function EvalState() {\n _classCallCheck(this, EvalState);\n\n this.ctm = new Float32Array(_util.IDENTITY_MATRIX);\n this.font = null;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.fillColorSpace = _colorspace.ColorSpace.singletons.gray;\n this.strokeColorSpace = _colorspace.ColorSpace.singletons.gray;\n }\n\n _createClass(EvalState, [{\n key: \"clone\",\n value: function clone() {\n return Object.create(this);\n }\n }]);\n\n return EvalState;\n}();\n\nvar EvaluatorPreprocessor = /*#__PURE__*/function () {\n _createClass(EvaluatorPreprocessor, null, [{\n key: \"opMap\",\n get: function get() {\n var getOPMap = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.w = {\n id: _util.OPS.setLineWidth,\n numArgs: 1,\n variableArgs: false\n };\n t.J = {\n id: _util.OPS.setLineCap,\n numArgs: 1,\n variableArgs: false\n };\n t.j = {\n id: _util.OPS.setLineJoin,\n numArgs: 1,\n variableArgs: false\n };\n t.M = {\n id: _util.OPS.setMiterLimit,\n numArgs: 1,\n variableArgs: false\n };\n t.d = {\n id: _util.OPS.setDash,\n numArgs: 2,\n variableArgs: false\n };\n t.ri = {\n id: _util.OPS.setRenderingIntent,\n numArgs: 1,\n variableArgs: false\n };\n t.i = {\n id: _util.OPS.setFlatness,\n numArgs: 1,\n variableArgs: false\n };\n t.gs = {\n id: _util.OPS.setGState,\n numArgs: 1,\n variableArgs: false\n };\n t.q = {\n id: _util.OPS.save,\n numArgs: 0,\n variableArgs: false\n };\n t.Q = {\n id: _util.OPS.restore,\n numArgs: 0,\n variableArgs: false\n };\n t.cm = {\n id: _util.OPS.transform,\n numArgs: 6,\n variableArgs: false\n };\n t.m = {\n id: _util.OPS.moveTo,\n numArgs: 2,\n variableArgs: false\n };\n t.l = {\n id: _util.OPS.lineTo,\n numArgs: 2,\n variableArgs: false\n };\n t.c = {\n id: _util.OPS.curveTo,\n numArgs: 6,\n variableArgs: false\n };\n t.v = {\n id: _util.OPS.curveTo2,\n numArgs: 4,\n variableArgs: false\n };\n t.y = {\n id: _util.OPS.curveTo3,\n numArgs: 4,\n variableArgs: false\n };\n t.h = {\n id: _util.OPS.closePath,\n numArgs: 0,\n variableArgs: false\n };\n t.re = {\n id: _util.OPS.rectangle,\n numArgs: 4,\n variableArgs: false\n };\n t.S = {\n id: _util.OPS.stroke,\n numArgs: 0,\n variableArgs: false\n };\n t.s = {\n id: _util.OPS.closeStroke,\n numArgs: 0,\n variableArgs: false\n };\n t.f = {\n id: _util.OPS.fill,\n numArgs: 0,\n variableArgs: false\n };\n t.F = {\n id: _util.OPS.fill,\n numArgs: 0,\n variableArgs: false\n };\n t[\"f*\"] = {\n id: _util.OPS.eoFill,\n numArgs: 0,\n variableArgs: false\n };\n t.B = {\n id: _util.OPS.fillStroke,\n numArgs: 0,\n variableArgs: false\n };\n t[\"B*\"] = {\n id: _util.OPS.eoFillStroke,\n numArgs: 0,\n variableArgs: false\n };\n t.b = {\n id: _util.OPS.closeFillStroke,\n numArgs: 0,\n variableArgs: false\n };\n t[\"b*\"] = {\n id: _util.OPS.closeEOFillStroke,\n numArgs: 0,\n variableArgs: false\n };\n t.n = {\n id: _util.OPS.endPath,\n numArgs: 0,\n variableArgs: false\n };\n t.W = {\n id: _util.OPS.clip,\n numArgs: 0,\n variableArgs: false\n };\n t[\"W*\"] = {\n id: _util.OPS.eoClip,\n numArgs: 0,\n variableArgs: false\n };\n t.BT = {\n id: _util.OPS.beginText,\n numArgs: 0,\n variableArgs: false\n };\n t.ET = {\n id: _util.OPS.endText,\n numArgs: 0,\n variableArgs: false\n };\n t.Tc = {\n id: _util.OPS.setCharSpacing,\n numArgs: 1,\n variableArgs: false\n };\n t.Tw = {\n id: _util.OPS.setWordSpacing,\n numArgs: 1,\n variableArgs: false\n };\n t.Tz = {\n id: _util.OPS.setHScale,\n numArgs: 1,\n variableArgs: false\n };\n t.TL = {\n id: _util.OPS.setLeading,\n numArgs: 1,\n variableArgs: false\n };\n t.Tf = {\n id: _util.OPS.setFont,\n numArgs: 2,\n variableArgs: false\n };\n t.Tr = {\n id: _util.OPS.setTextRenderingMode,\n numArgs: 1,\n variableArgs: false\n };\n t.Ts = {\n id: _util.OPS.setTextRise,\n numArgs: 1,\n variableArgs: false\n };\n t.Td = {\n id: _util.OPS.moveText,\n numArgs: 2,\n variableArgs: false\n };\n t.TD = {\n id: _util.OPS.setLeadingMoveText,\n numArgs: 2,\n variableArgs: false\n };\n t.Tm = {\n id: _util.OPS.setTextMatrix,\n numArgs: 6,\n variableArgs: false\n };\n t[\"T*\"] = {\n id: _util.OPS.nextLine,\n numArgs: 0,\n variableArgs: false\n };\n t.Tj = {\n id: _util.OPS.showText,\n numArgs: 1,\n variableArgs: false\n };\n t.TJ = {\n id: _util.OPS.showSpacedText,\n numArgs: 1,\n variableArgs: false\n };\n t[\"'\"] = {\n id: _util.OPS.nextLineShowText,\n numArgs: 1,\n variableArgs: false\n };\n t['\"'] = {\n id: _util.OPS.nextLineSetSpacingShowText,\n numArgs: 3,\n variableArgs: false\n };\n t.d0 = {\n id: _util.OPS.setCharWidth,\n numArgs: 2,\n variableArgs: false\n };\n t.d1 = {\n id: _util.OPS.setCharWidthAndBounds,\n numArgs: 6,\n variableArgs: false\n };\n t.CS = {\n id: _util.OPS.setStrokeColorSpace,\n numArgs: 1,\n variableArgs: false\n };\n t.cs = {\n id: _util.OPS.setFillColorSpace,\n numArgs: 1,\n variableArgs: false\n };\n t.SC = {\n id: _util.OPS.setStrokeColor,\n numArgs: 4,\n variableArgs: true\n };\n t.SCN = {\n id: _util.OPS.setStrokeColorN,\n numArgs: 33,\n variableArgs: true\n };\n t.sc = {\n id: _util.OPS.setFillColor,\n numArgs: 4,\n variableArgs: true\n };\n t.scn = {\n id: _util.OPS.setFillColorN,\n numArgs: 33,\n variableArgs: true\n };\n t.G = {\n id: _util.OPS.setStrokeGray,\n numArgs: 1,\n variableArgs: false\n };\n t.g = {\n id: _util.OPS.setFillGray,\n numArgs: 1,\n variableArgs: false\n };\n t.RG = {\n id: _util.OPS.setStrokeRGBColor,\n numArgs: 3,\n variableArgs: false\n };\n t.rg = {\n id: _util.OPS.setFillRGBColor,\n numArgs: 3,\n variableArgs: false\n };\n t.K = {\n id: _util.OPS.setStrokeCMYKColor,\n numArgs: 4,\n variableArgs: false\n };\n t.k = {\n id: _util.OPS.setFillCMYKColor,\n numArgs: 4,\n variableArgs: false\n };\n t.sh = {\n id: _util.OPS.shadingFill,\n numArgs: 1,\n variableArgs: false\n };\n t.BI = {\n id: _util.OPS.beginInlineImage,\n numArgs: 0,\n variableArgs: false\n };\n t.ID = {\n id: _util.OPS.beginImageData,\n numArgs: 0,\n variableArgs: false\n };\n t.EI = {\n id: _util.OPS.endInlineImage,\n numArgs: 1,\n variableArgs: false\n };\n t.Do = {\n id: _util.OPS.paintXObject,\n numArgs: 1,\n variableArgs: false\n };\n t.MP = {\n id: _util.OPS.markPoint,\n numArgs: 1,\n variableArgs: false\n };\n t.DP = {\n id: _util.OPS.markPointProps,\n numArgs: 2,\n variableArgs: false\n };\n t.BMC = {\n id: _util.OPS.beginMarkedContent,\n numArgs: 1,\n variableArgs: false\n };\n t.BDC = {\n id: _util.OPS.beginMarkedContentProps,\n numArgs: 2,\n variableArgs: false\n };\n t.EMC = {\n id: _util.OPS.endMarkedContent,\n numArgs: 0,\n variableArgs: false\n };\n t.BX = {\n id: _util.OPS.beginCompat,\n numArgs: 0,\n variableArgs: false\n };\n t.EX = {\n id: _util.OPS.endCompat,\n numArgs: 0,\n variableArgs: false\n };\n t.BM = null;\n t.BD = null;\n t[\"true\"] = null;\n t.fa = null;\n t.fal = null;\n t.fals = null;\n t[\"false\"] = null;\n t.nu = null;\n t.nul = null;\n t[\"null\"] = null;\n });\n return (0, _util.shadow)(this, \"opMap\", getOPMap());\n }\n }, {\n key: \"MAX_INVALID_PATH_OPS\",\n get: function get() {\n return (0, _util.shadow)(this, \"MAX_INVALID_PATH_OPS\", 20);\n }\n }]);\n\n function EvaluatorPreprocessor(stream, xref, stateManager) {\n _classCallCheck(this, EvaluatorPreprocessor);\n\n this.parser = new _parser.Parser({\n lexer: new _parser.Lexer(stream, EvaluatorPreprocessor.opMap),\n xref: xref\n });\n this.stateManager = stateManager;\n this.nonProcessedArgs = [];\n this._numInvalidPathOPS = 0;\n }\n\n _createClass(EvaluatorPreprocessor, [{\n key: \"read\",\n value: function read(operation) {\n var args = operation.args;\n\n while (true) {\n var obj = this.parser.getObj();\n\n if (obj instanceof _primitives.Cmd) {\n var cmd = obj.cmd;\n var opSpec = EvaluatorPreprocessor.opMap[cmd];\n\n if (!opSpec) {\n (0, _util.warn)(\"Unknown command \\\"\".concat(cmd, \"\\\".\"));\n continue;\n }\n\n var fn = opSpec.id;\n var numArgs = opSpec.numArgs;\n var argsLength = args !== null ? args.length : 0;\n\n if (!opSpec.variableArgs) {\n if (argsLength !== numArgs) {\n var nonProcessedArgs = this.nonProcessedArgs;\n\n while (argsLength > numArgs) {\n nonProcessedArgs.push(args.shift());\n argsLength--;\n }\n\n while (argsLength < numArgs && nonProcessedArgs.length !== 0) {\n if (args === null) {\n args = [];\n }\n\n args.unshift(nonProcessedArgs.pop());\n argsLength++;\n }\n }\n\n if (argsLength < numArgs) {\n var partialMsg = \"command \".concat(cmd, \": expected \").concat(numArgs, \" args, \") + \"but received \".concat(argsLength, \" args.\");\n\n if (fn >= _util.OPS.moveTo && fn <= _util.OPS.endPath && ++this._numInvalidPathOPS > EvaluatorPreprocessor.MAX_INVALID_PATH_OPS) {\n throw new _util.FormatError(\"Invalid \".concat(partialMsg));\n }\n\n (0, _util.warn)(\"Skipping \".concat(partialMsg));\n\n if (args !== null) {\n args.length = 0;\n }\n\n continue;\n }\n } else if (argsLength > numArgs) {\n (0, _util.info)(\"Command \".concat(cmd, \": expected [0, \").concat(numArgs, \"] args, \") + \"but received \".concat(argsLength, \" args.\"));\n }\n\n this.preprocessCommand(fn, args);\n operation.fn = fn;\n operation.args = args;\n return true;\n }\n\n if (obj === _primitives.EOF) {\n return false;\n }\n\n if (obj !== null) {\n if (args === null) {\n args = [];\n }\n\n args.push(obj);\n\n if (args.length > 33) {\n throw new _util.FormatError(\"Too many arguments\");\n }\n }\n }\n }\n }, {\n key: \"preprocessCommand\",\n value: function preprocessCommand(fn, args) {\n switch (fn | 0) {\n case _util.OPS.save:\n this.stateManager.save();\n break;\n\n case _util.OPS.restore:\n this.stateManager.restore();\n break;\n\n case _util.OPS.transform:\n this.stateManager.transform(args);\n break;\n }\n }\n }, {\n key: \"savedStatesDepth\",\n get: function get() {\n return this.stateManager.stateStack.length;\n }\n }]);\n\n return EvaluatorPreprocessor;\n}();\n\n/***/ }),\n/* 226 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CMapFactory = exports.IdentityCMap = exports.CMap = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(202);\n\nvar _parser = __w_pdfjs_require__(208);\n\nvar _core_utils = __w_pdfjs_require__(205);\n\nvar _stream = __w_pdfjs_require__(209);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar BUILT_IN_CMAPS = [\"Adobe-GB1-UCS2\", \"Adobe-CNS1-UCS2\", \"Adobe-Japan1-UCS2\", \"Adobe-Korea1-UCS2\", \"78-EUC-H\", \"78-EUC-V\", \"78-H\", \"78-RKSJ-H\", \"78-RKSJ-V\", \"78-V\", \"78ms-RKSJ-H\", \"78ms-RKSJ-V\", \"83pv-RKSJ-H\", \"90ms-RKSJ-H\", \"90ms-RKSJ-V\", \"90msp-RKSJ-H\", \"90msp-RKSJ-V\", \"90pv-RKSJ-H\", \"90pv-RKSJ-V\", \"Add-H\", \"Add-RKSJ-H\", \"Add-RKSJ-V\", \"Add-V\", \"Adobe-CNS1-0\", \"Adobe-CNS1-1\", \"Adobe-CNS1-2\", \"Adobe-CNS1-3\", \"Adobe-CNS1-4\", \"Adobe-CNS1-5\", \"Adobe-CNS1-6\", \"Adobe-GB1-0\", \"Adobe-GB1-1\", \"Adobe-GB1-2\", \"Adobe-GB1-3\", \"Adobe-GB1-4\", \"Adobe-GB1-5\", \"Adobe-Japan1-0\", \"Adobe-Japan1-1\", \"Adobe-Japan1-2\", \"Adobe-Japan1-3\", \"Adobe-Japan1-4\", \"Adobe-Japan1-5\", \"Adobe-Japan1-6\", \"Adobe-Korea1-0\", \"Adobe-Korea1-1\", \"Adobe-Korea1-2\", \"B5-H\", \"B5-V\", \"B5pc-H\", \"B5pc-V\", \"CNS-EUC-H\", \"CNS-EUC-V\", \"CNS1-H\", \"CNS1-V\", \"CNS2-H\", \"CNS2-V\", \"ETHK-B5-H\", \"ETHK-B5-V\", \"ETen-B5-H\", \"ETen-B5-V\", \"ETenms-B5-H\", \"ETenms-B5-V\", \"EUC-H\", \"EUC-V\", \"Ext-H\", \"Ext-RKSJ-H\", \"Ext-RKSJ-V\", \"Ext-V\", \"GB-EUC-H\", \"GB-EUC-V\", \"GB-H\", \"GB-V\", \"GBK-EUC-H\", \"GBK-EUC-V\", \"GBK2K-H\", \"GBK2K-V\", \"GBKp-EUC-H\", \"GBKp-EUC-V\", \"GBT-EUC-H\", \"GBT-EUC-V\", \"GBT-H\", \"GBT-V\", \"GBTpc-EUC-H\", \"GBTpc-EUC-V\", \"GBpc-EUC-H\", \"GBpc-EUC-V\", \"H\", \"HKdla-B5-H\", \"HKdla-B5-V\", \"HKdlb-B5-H\", \"HKdlb-B5-V\", \"HKgccs-B5-H\", \"HKgccs-B5-V\", \"HKm314-B5-H\", \"HKm314-B5-V\", \"HKm471-B5-H\", \"HKm471-B5-V\", \"HKscs-B5-H\", \"HKscs-B5-V\", \"Hankaku\", \"Hiragana\", \"KSC-EUC-H\", \"KSC-EUC-V\", \"KSC-H\", \"KSC-Johab-H\", \"KSC-Johab-V\", \"KSC-V\", \"KSCms-UHC-H\", \"KSCms-UHC-HW-H\", \"KSCms-UHC-HW-V\", \"KSCms-UHC-V\", \"KSCpc-EUC-H\", \"KSCpc-EUC-V\", \"Katakana\", \"NWP-H\", \"NWP-V\", \"RKSJ-H\", \"RKSJ-V\", \"Roman\", \"UniCNS-UCS2-H\", \"UniCNS-UCS2-V\", \"UniCNS-UTF16-H\", \"UniCNS-UTF16-V\", \"UniCNS-UTF32-H\", \"UniCNS-UTF32-V\", \"UniCNS-UTF8-H\", \"UniCNS-UTF8-V\", \"UniGB-UCS2-H\", \"UniGB-UCS2-V\", \"UniGB-UTF16-H\", \"UniGB-UTF16-V\", \"UniGB-UTF32-H\", \"UniGB-UTF32-V\", \"UniGB-UTF8-H\", \"UniGB-UTF8-V\", \"UniJIS-UCS2-H\", \"UniJIS-UCS2-HW-H\", \"UniJIS-UCS2-HW-V\", \"UniJIS-UCS2-V\", \"UniJIS-UTF16-H\", \"UniJIS-UTF16-V\", \"UniJIS-UTF32-H\", \"UniJIS-UTF32-V\", \"UniJIS-UTF8-H\", \"UniJIS-UTF8-V\", \"UniJIS2004-UTF16-H\", \"UniJIS2004-UTF16-V\", \"UniJIS2004-UTF32-H\", \"UniJIS2004-UTF32-V\", \"UniJIS2004-UTF8-H\", \"UniJIS2004-UTF8-V\", \"UniJISPro-UCS2-HW-V\", \"UniJISPro-UCS2-V\", \"UniJISPro-UTF8-V\", \"UniJISX0213-UTF32-H\", \"UniJISX0213-UTF32-V\", \"UniJISX02132004-UTF32-H\", \"UniJISX02132004-UTF32-V\", \"UniKS-UCS2-H\", \"UniKS-UCS2-V\", \"UniKS-UTF16-H\", \"UniKS-UTF16-V\", \"UniKS-UTF32-H\", \"UniKS-UTF32-V\", \"UniKS-UTF8-H\", \"UniKS-UTF8-V\", \"V\", \"WP-Symbol\"];\nvar MAX_MAP_RANGE = Math.pow(2, 24) - 1;\n\nvar CMap = /*#__PURE__*/function () {\n function CMap() {\n var builtInCMap = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n _classCallCheck(this, CMap);\n\n this.codespaceRanges = [[], [], [], []];\n this.numCodespaceRanges = 0;\n this._map = [];\n this.name = \"\";\n this.vertical = false;\n this.useCMap = null;\n this.builtInCMap = builtInCMap;\n }\n\n _createClass(CMap, [{\n key: \"addCodespaceRange\",\n value: function addCodespaceRange(n, low, high) {\n this.codespaceRanges[n - 1].push(low, high);\n this.numCodespaceRanges++;\n }\n }, {\n key: \"mapCidRange\",\n value: function mapCidRange(low, high, dstLow) {\n if (high - low > MAX_MAP_RANGE) {\n throw new Error(\"mapCidRange - ignoring data above MAX_MAP_RANGE.\");\n }\n\n while (low <= high) {\n this._map[low++] = dstLow++;\n }\n }\n }, {\n key: \"mapBfRange\",\n value: function mapBfRange(low, high, dstLow) {\n if (high - low > MAX_MAP_RANGE) {\n throw new Error(\"mapBfRange - ignoring data above MAX_MAP_RANGE.\");\n }\n\n var lastByte = dstLow.length - 1;\n\n while (low <= high) {\n this._map[low++] = dstLow;\n dstLow = dstLow.substring(0, lastByte) + String.fromCharCode(dstLow.charCodeAt(lastByte) + 1);\n }\n }\n }, {\n key: \"mapBfRangeToArray\",\n value: function mapBfRangeToArray(low, high, array) {\n if (high - low > MAX_MAP_RANGE) {\n throw new Error(\"mapBfRangeToArray - ignoring data above MAX_MAP_RANGE.\");\n }\n\n var ii = array.length;\n var i = 0;\n\n while (low <= high && i < ii) {\n this._map[low] = array[i++];\n ++low;\n }\n }\n }, {\n key: \"mapOne\",\n value: function mapOne(src, dst) {\n this._map[src] = dst;\n }\n }, {\n key: \"lookup\",\n value: function lookup(code) {\n return this._map[code];\n }\n }, {\n key: \"contains\",\n value: function contains(code) {\n return this._map[code] !== undefined;\n }\n }, {\n key: \"forEach\",\n value: function forEach(callback) {\n var map = this._map;\n var length = map.length;\n\n if (length <= 0x10000) {\n for (var i = 0; i < length; i++) {\n if (map[i] !== undefined) {\n callback(i, map[i]);\n }\n }\n } else {\n for (var _i in map) {\n callback(_i, map[_i]);\n }\n }\n }\n }, {\n key: \"charCodeOf\",\n value: function charCodeOf(value) {\n var map = this._map;\n\n if (map.length <= 0x10000) {\n return map.indexOf(value);\n }\n\n for (var charCode in map) {\n if (map[charCode] === value) {\n return charCode | 0;\n }\n }\n\n return -1;\n }\n }, {\n key: \"getMap\",\n value: function getMap() {\n return this._map;\n }\n }, {\n key: \"readCharCode\",\n value: function readCharCode(str, offset, out) {\n var c = 0;\n var codespaceRanges = this.codespaceRanges;\n\n for (var n = 0, nn = codespaceRanges.length; n < nn; n++) {\n c = (c << 8 | str.charCodeAt(offset + n)) >>> 0;\n var codespaceRange = codespaceRanges[n];\n\n for (var k = 0, kk = codespaceRange.length; k < kk;) {\n var low = codespaceRange[k++];\n var high = codespaceRange[k++];\n\n if (c >= low && c <= high) {\n out.charcode = c;\n out.length = n + 1;\n return;\n }\n }\n }\n\n out.charcode = 0;\n out.length = 1;\n }\n }, {\n key: \"length\",\n get: function get() {\n return this._map.length;\n }\n }, {\n key: \"isIdentityCMap\",\n get: function get() {\n if (!(this.name === \"Identity-H\" || this.name === \"Identity-V\")) {\n return false;\n }\n\n if (this._map.length !== 0x10000) {\n return false;\n }\n\n for (var i = 0; i < 0x10000; i++) {\n if (this._map[i] !== i) {\n return false;\n }\n }\n\n return true;\n }\n }]);\n\n return CMap;\n}();\n\nexports.CMap = CMap;\n\nvar IdentityCMap = /*#__PURE__*/function (_CMap) {\n _inherits(IdentityCMap, _CMap);\n\n var _super = _createSuper(IdentityCMap);\n\n function IdentityCMap(vertical, n) {\n var _this;\n\n _classCallCheck(this, IdentityCMap);\n\n _this = _super.call(this);\n _this.vertical = vertical;\n\n _this.addCodespaceRange(n, 0, 0xffff);\n\n return _this;\n }\n\n _createClass(IdentityCMap, [{\n key: \"mapCidRange\",\n value: function mapCidRange(low, high, dstLow) {\n (0, _util.unreachable)(\"should not call mapCidRange\");\n }\n }, {\n key: \"mapBfRange\",\n value: function mapBfRange(low, high, dstLow) {\n (0, _util.unreachable)(\"should not call mapBfRange\");\n }\n }, {\n key: \"mapBfRangeToArray\",\n value: function mapBfRangeToArray(low, high, array) {\n (0, _util.unreachable)(\"should not call mapBfRangeToArray\");\n }\n }, {\n key: \"mapOne\",\n value: function mapOne(src, dst) {\n (0, _util.unreachable)(\"should not call mapCidOne\");\n }\n }, {\n key: \"lookup\",\n value: function lookup(code) {\n return Number.isInteger(code) && code <= 0xffff ? code : undefined;\n }\n }, {\n key: \"contains\",\n value: function contains(code) {\n return Number.isInteger(code) && code <= 0xffff;\n }\n }, {\n key: \"forEach\",\n value: function forEach(callback) {\n for (var i = 0; i <= 0xffff; i++) {\n callback(i, i);\n }\n }\n }, {\n key: \"charCodeOf\",\n value: function charCodeOf(value) {\n return Number.isInteger(value) && value <= 0xffff ? value : -1;\n }\n }, {\n key: \"getMap\",\n value: function getMap() {\n var map = new Array(0x10000);\n\n for (var i = 0; i <= 0xffff; i++) {\n map[i] = i;\n }\n\n return map;\n }\n }, {\n key: \"length\",\n get: function get() {\n return 0x10000;\n }\n }, {\n key: \"isIdentityCMap\",\n get: function get() {\n (0, _util.unreachable)(\"should not access .isIdentityCMap\");\n }\n }]);\n\n return IdentityCMap;\n}(CMap);\n\nexports.IdentityCMap = IdentityCMap;\n\nvar BinaryCMapReader = function BinaryCMapReaderClosure() {\n function hexToInt(a, size) {\n var n = 0;\n\n for (var i = 0; i <= size; i++) {\n n = n << 8 | a[i];\n }\n\n return n >>> 0;\n }\n\n function hexToStr(a, size) {\n if (size === 1) {\n return String.fromCharCode(a[0], a[1]);\n }\n\n if (size === 3) {\n return String.fromCharCode(a[0], a[1], a[2], a[3]);\n }\n\n return String.fromCharCode.apply(null, a.subarray(0, size + 1));\n }\n\n function addHex(a, b, size) {\n var c = 0;\n\n for (var i = size; i >= 0; i--) {\n c += a[i] + b[i];\n a[i] = c & 255;\n c >>= 8;\n }\n }\n\n function incHex(a, size) {\n var c = 1;\n\n for (var i = size; i >= 0 && c > 0; i--) {\n c += a[i];\n a[i] = c & 255;\n c >>= 8;\n }\n }\n\n var MAX_NUM_SIZE = 16;\n var MAX_ENCODED_NUM_SIZE = 19;\n\n function BinaryCMapStream(data) {\n this.buffer = data;\n this.pos = 0;\n this.end = data.length;\n this.tmpBuf = new Uint8Array(MAX_ENCODED_NUM_SIZE);\n }\n\n BinaryCMapStream.prototype = {\n readByte: function readByte() {\n if (this.pos >= this.end) {\n return -1;\n }\n\n return this.buffer[this.pos++];\n },\n readNumber: function readNumber() {\n var n = 0;\n var last;\n\n do {\n var b = this.readByte();\n\n if (b < 0) {\n throw new _util.FormatError(\"unexpected EOF in bcmap\");\n }\n\n last = !(b & 0x80);\n n = n << 7 | b & 0x7f;\n } while (!last);\n\n return n;\n },\n readSigned: function readSigned() {\n var n = this.readNumber();\n return n & 1 ? ~(n >>> 1) : n >>> 1;\n },\n readHex: function readHex(num, size) {\n num.set(this.buffer.subarray(this.pos, this.pos + size + 1));\n this.pos += size + 1;\n },\n readHexNumber: function readHexNumber(num, size) {\n var last;\n var stack = this.tmpBuf,\n sp = 0;\n\n do {\n var b = this.readByte();\n\n if (b < 0) {\n throw new _util.FormatError(\"unexpected EOF in bcmap\");\n }\n\n last = !(b & 0x80);\n stack[sp++] = b & 0x7f;\n } while (!last);\n\n var i = size,\n buffer = 0,\n bufferSize = 0;\n\n while (i >= 0) {\n while (bufferSize < 8 && stack.length > 0) {\n buffer = stack[--sp] << bufferSize | buffer;\n bufferSize += 7;\n }\n\n num[i] = buffer & 255;\n i--;\n buffer >>= 8;\n bufferSize -= 8;\n }\n },\n readHexSigned: function readHexSigned(num, size) {\n this.readHexNumber(num, size);\n var sign = num[size] & 1 ? 255 : 0;\n var c = 0;\n\n for (var i = 0; i <= size; i++) {\n c = (c & 1) << 8 | num[i];\n num[i] = c >> 1 ^ sign;\n }\n },\n readString: function readString() {\n var len = this.readNumber();\n var s = \"\";\n\n for (var i = 0; i < len; i++) {\n s += String.fromCharCode(this.readNumber());\n }\n\n return s;\n }\n };\n\n function processBinaryCMap(data, cMap, extend) {\n return new Promise(function (resolve, reject) {\n var stream = new BinaryCMapStream(data);\n var header = stream.readByte();\n cMap.vertical = !!(header & 1);\n var useCMap = null;\n var start = new Uint8Array(MAX_NUM_SIZE);\n var end = new Uint8Array(MAX_NUM_SIZE);\n\n var _char = new Uint8Array(MAX_NUM_SIZE);\n\n var charCode = new Uint8Array(MAX_NUM_SIZE);\n var tmp = new Uint8Array(MAX_NUM_SIZE);\n var code;\n var b;\n\n while ((b = stream.readByte()) >= 0) {\n var type = b >> 5;\n\n if (type === 7) {\n switch (b & 0x1f) {\n case 0:\n stream.readString();\n break;\n\n case 1:\n useCMap = stream.readString();\n break;\n }\n\n continue;\n }\n\n var sequence = !!(b & 0x10);\n var dataSize = b & 15;\n\n if (dataSize + 1 > MAX_NUM_SIZE) {\n throw new Error(\"processBinaryCMap: Invalid dataSize.\");\n }\n\n var ucs2DataSize = 1;\n var subitemsCount = stream.readNumber();\n var i;\n\n switch (type) {\n case 0:\n stream.readHex(start, dataSize);\n stream.readHexNumber(end, dataSize);\n addHex(end, start, dataSize);\n cMap.addCodespaceRange(dataSize + 1, hexToInt(start, dataSize), hexToInt(end, dataSize));\n\n for (i = 1; i < subitemsCount; i++) {\n incHex(end, dataSize);\n stream.readHexNumber(start, dataSize);\n addHex(start, end, dataSize);\n stream.readHexNumber(end, dataSize);\n addHex(end, start, dataSize);\n cMap.addCodespaceRange(dataSize + 1, hexToInt(start, dataSize), hexToInt(end, dataSize));\n }\n\n break;\n\n case 1:\n stream.readHex(start, dataSize);\n stream.readHexNumber(end, dataSize);\n addHex(end, start, dataSize);\n stream.readNumber();\n\n for (i = 1; i < subitemsCount; i++) {\n incHex(end, dataSize);\n stream.readHexNumber(start, dataSize);\n addHex(start, end, dataSize);\n stream.readHexNumber(end, dataSize);\n addHex(end, start, dataSize);\n stream.readNumber();\n }\n\n break;\n\n case 2:\n stream.readHex(_char, dataSize);\n code = stream.readNumber();\n cMap.mapOne(hexToInt(_char, dataSize), code);\n\n for (i = 1; i < subitemsCount; i++) {\n incHex(_char, dataSize);\n\n if (!sequence) {\n stream.readHexNumber(tmp, dataSize);\n addHex(_char, tmp, dataSize);\n }\n\n code = stream.readSigned() + (code + 1);\n cMap.mapOne(hexToInt(_char, dataSize), code);\n }\n\n break;\n\n case 3:\n stream.readHex(start, dataSize);\n stream.readHexNumber(end, dataSize);\n addHex(end, start, dataSize);\n code = stream.readNumber();\n cMap.mapCidRange(hexToInt(start, dataSize), hexToInt(end, dataSize), code);\n\n for (i = 1; i < subitemsCount; i++) {\n incHex(end, dataSize);\n\n if (!sequence) {\n stream.readHexNumber(start, dataSize);\n addHex(start, end, dataSize);\n } else {\n start.set(end);\n }\n\n stream.readHexNumber(end, dataSize);\n addHex(end, start, dataSize);\n code = stream.readNumber();\n cMap.mapCidRange(hexToInt(start, dataSize), hexToInt(end, dataSize), code);\n }\n\n break;\n\n case 4:\n stream.readHex(_char, ucs2DataSize);\n stream.readHex(charCode, dataSize);\n cMap.mapOne(hexToInt(_char, ucs2DataSize), hexToStr(charCode, dataSize));\n\n for (i = 1; i < subitemsCount; i++) {\n incHex(_char, ucs2DataSize);\n\n if (!sequence) {\n stream.readHexNumber(tmp, ucs2DataSize);\n addHex(_char, tmp, ucs2DataSize);\n }\n\n incHex(charCode, dataSize);\n stream.readHexSigned(tmp, dataSize);\n addHex(charCode, tmp, dataSize);\n cMap.mapOne(hexToInt(_char, ucs2DataSize), hexToStr(charCode, dataSize));\n }\n\n break;\n\n case 5:\n stream.readHex(start, ucs2DataSize);\n stream.readHexNumber(end, ucs2DataSize);\n addHex(end, start, ucs2DataSize);\n stream.readHex(charCode, dataSize);\n cMap.mapBfRange(hexToInt(start, ucs2DataSize), hexToInt(end, ucs2DataSize), hexToStr(charCode, dataSize));\n\n for (i = 1; i < subitemsCount; i++) {\n incHex(end, ucs2DataSize);\n\n if (!sequence) {\n stream.readHexNumber(start, ucs2DataSize);\n addHex(start, end, ucs2DataSize);\n } else {\n start.set(end);\n }\n\n stream.readHexNumber(end, ucs2DataSize);\n addHex(end, start, ucs2DataSize);\n stream.readHex(charCode, dataSize);\n cMap.mapBfRange(hexToInt(start, ucs2DataSize), hexToInt(end, ucs2DataSize), hexToStr(charCode, dataSize));\n }\n\n break;\n\n default:\n reject(new Error(\"processBinaryCMap: Unknown type: \" + type));\n return;\n }\n }\n\n if (useCMap) {\n resolve(extend(useCMap));\n return;\n }\n\n resolve(cMap);\n });\n }\n\n function BinaryCMapReader() {}\n\n BinaryCMapReader.prototype = {\n process: processBinaryCMap\n };\n return BinaryCMapReader;\n}();\n\nvar CMapFactory = function CMapFactoryClosure() {\n function strToInt(str) {\n var a = 0;\n\n for (var i = 0; i < str.length; i++) {\n a = a << 8 | str.charCodeAt(i);\n }\n\n return a >>> 0;\n }\n\n function expectString(obj) {\n if (!(0, _util.isString)(obj)) {\n throw new _util.FormatError(\"Malformed CMap: expected string.\");\n }\n }\n\n function expectInt(obj) {\n if (!Number.isInteger(obj)) {\n throw new _util.FormatError(\"Malformed CMap: expected int.\");\n }\n }\n\n function parseBfChar(cMap, lexer) {\n while (true) {\n var obj = lexer.getObj();\n\n if ((0, _primitives.isEOF)(obj)) {\n break;\n }\n\n if ((0, _primitives.isCmd)(obj, \"endbfchar\")) {\n return;\n }\n\n expectString(obj);\n var src = strToInt(obj);\n obj = lexer.getObj();\n expectString(obj);\n var dst = obj;\n cMap.mapOne(src, dst);\n }\n }\n\n function parseBfRange(cMap, lexer) {\n while (true) {\n var obj = lexer.getObj();\n\n if ((0, _primitives.isEOF)(obj)) {\n break;\n }\n\n if ((0, _primitives.isCmd)(obj, \"endbfrange\")) {\n return;\n }\n\n expectString(obj);\n var low = strToInt(obj);\n obj = lexer.getObj();\n expectString(obj);\n var high = strToInt(obj);\n obj = lexer.getObj();\n\n if (Number.isInteger(obj) || (0, _util.isString)(obj)) {\n var dstLow = Number.isInteger(obj) ? String.fromCharCode(obj) : obj;\n cMap.mapBfRange(low, high, dstLow);\n } else if ((0, _primitives.isCmd)(obj, \"[\")) {\n obj = lexer.getObj();\n var array = [];\n\n while (!(0, _primitives.isCmd)(obj, \"]\") && !(0, _primitives.isEOF)(obj)) {\n array.push(obj);\n obj = lexer.getObj();\n }\n\n cMap.mapBfRangeToArray(low, high, array);\n } else {\n break;\n }\n }\n\n throw new _util.FormatError(\"Invalid bf range.\");\n }\n\n function parseCidChar(cMap, lexer) {\n while (true) {\n var obj = lexer.getObj();\n\n if ((0, _primitives.isEOF)(obj)) {\n break;\n }\n\n if ((0, _primitives.isCmd)(obj, \"endcidchar\")) {\n return;\n }\n\n expectString(obj);\n var src = strToInt(obj);\n obj = lexer.getObj();\n expectInt(obj);\n var dst = obj;\n cMap.mapOne(src, dst);\n }\n }\n\n function parseCidRange(cMap, lexer) {\n while (true) {\n var obj = lexer.getObj();\n\n if ((0, _primitives.isEOF)(obj)) {\n break;\n }\n\n if ((0, _primitives.isCmd)(obj, \"endcidrange\")) {\n return;\n }\n\n expectString(obj);\n var low = strToInt(obj);\n obj = lexer.getObj();\n expectString(obj);\n var high = strToInt(obj);\n obj = lexer.getObj();\n expectInt(obj);\n var dstLow = obj;\n cMap.mapCidRange(low, high, dstLow);\n }\n }\n\n function parseCodespaceRange(cMap, lexer) {\n while (true) {\n var obj = lexer.getObj();\n\n if ((0, _primitives.isEOF)(obj)) {\n break;\n }\n\n if ((0, _primitives.isCmd)(obj, \"endcodespacerange\")) {\n return;\n }\n\n if (!(0, _util.isString)(obj)) {\n break;\n }\n\n var low = strToInt(obj);\n obj = lexer.getObj();\n\n if (!(0, _util.isString)(obj)) {\n break;\n }\n\n var high = strToInt(obj);\n cMap.addCodespaceRange(obj.length, low, high);\n }\n\n throw new _util.FormatError(\"Invalid codespace range.\");\n }\n\n function parseWMode(cMap, lexer) {\n var obj = lexer.getObj();\n\n if (Number.isInteger(obj)) {\n cMap.vertical = !!obj;\n }\n }\n\n function parseCMapName(cMap, lexer) {\n var obj = lexer.getObj();\n\n if ((0, _primitives.isName)(obj) && (0, _util.isString)(obj.name)) {\n cMap.name = obj.name;\n }\n }\n\n function parseCMap(cMap, lexer, fetchBuiltInCMap, useCMap) {\n var previous;\n var embeddedUseCMap;\n\n objLoop: while (true) {\n try {\n var obj = lexer.getObj();\n\n if ((0, _primitives.isEOF)(obj)) {\n break;\n } else if ((0, _primitives.isName)(obj)) {\n if (obj.name === \"WMode\") {\n parseWMode(cMap, lexer);\n } else if (obj.name === \"CMapName\") {\n parseCMapName(cMap, lexer);\n }\n\n previous = obj;\n } else if ((0, _primitives.isCmd)(obj)) {\n switch (obj.cmd) {\n case \"endcmap\":\n break objLoop;\n\n case \"usecmap\":\n if ((0, _primitives.isName)(previous)) {\n embeddedUseCMap = previous.name;\n }\n\n break;\n\n case \"begincodespacerange\":\n parseCodespaceRange(cMap, lexer);\n break;\n\n case \"beginbfchar\":\n parseBfChar(cMap, lexer);\n break;\n\n case \"begincidchar\":\n parseCidChar(cMap, lexer);\n break;\n\n case \"beginbfrange\":\n parseBfRange(cMap, lexer);\n break;\n\n case \"begincidrange\":\n parseCidRange(cMap, lexer);\n break;\n }\n }\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.warn)(\"Invalid cMap data: \" + ex);\n continue;\n }\n }\n\n if (!useCMap && embeddedUseCMap) {\n useCMap = embeddedUseCMap;\n }\n\n if (useCMap) {\n return extendCMap(cMap, fetchBuiltInCMap, useCMap);\n }\n\n return Promise.resolve(cMap);\n }\n\n function extendCMap(cMap, fetchBuiltInCMap, useCMap) {\n return createBuiltInCMap(useCMap, fetchBuiltInCMap).then(function (newCMap) {\n cMap.useCMap = newCMap;\n\n if (cMap.numCodespaceRanges === 0) {\n var useCodespaceRanges = cMap.useCMap.codespaceRanges;\n\n for (var i = 0; i < useCodespaceRanges.length; i++) {\n cMap.codespaceRanges[i] = useCodespaceRanges[i].slice();\n }\n\n cMap.numCodespaceRanges = cMap.useCMap.numCodespaceRanges;\n }\n\n cMap.useCMap.forEach(function (key, value) {\n if (!cMap.contains(key)) {\n cMap.mapOne(key, cMap.useCMap.lookup(key));\n }\n });\n return cMap;\n });\n }\n\n function createBuiltInCMap(name, fetchBuiltInCMap) {\n if (name === \"Identity-H\") {\n return Promise.resolve(new IdentityCMap(false, 2));\n } else if (name === \"Identity-V\") {\n return Promise.resolve(new IdentityCMap(true, 2));\n }\n\n if (!BUILT_IN_CMAPS.includes(name)) {\n return Promise.reject(new Error(\"Unknown CMap name: \" + name));\n }\n\n if (!fetchBuiltInCMap) {\n return Promise.reject(new Error(\"Built-in CMap parameters are not provided.\"));\n }\n\n return fetchBuiltInCMap(name).then(function (data) {\n var cMapData = data.cMapData,\n compressionType = data.compressionType;\n var cMap = new CMap(true);\n\n if (compressionType === _util.CMapCompressionType.BINARY) {\n return new BinaryCMapReader().process(cMapData, cMap, function (useCMap) {\n return extendCMap(cMap, fetchBuiltInCMap, useCMap);\n });\n }\n\n if (compressionType === _util.CMapCompressionType.NONE) {\n var lexer = new _parser.Lexer(new _stream.Stream(cMapData));\n return parseCMap(cMap, lexer, fetchBuiltInCMap, null);\n }\n\n return Promise.reject(new Error(\"TODO: Only BINARY/NONE CMap compression is currently supported.\"));\n });\n }\n\n return {\n create: function create(params) {\n return _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n var encoding, fetchBuiltInCMap, useCMap, cMap, lexer;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n encoding = params.encoding;\n fetchBuiltInCMap = params.fetchBuiltInCMap;\n useCMap = params.useCMap;\n\n if (!(0, _primitives.isName)(encoding)) {\n _context.next = 7;\n break;\n }\n\n return _context.abrupt(\"return\", createBuiltInCMap(encoding.name, fetchBuiltInCMap));\n\n case 7:\n if (!(0, _primitives.isStream)(encoding)) {\n _context.next = 11;\n break;\n }\n\n cMap = new CMap();\n lexer = new _parser.Lexer(encoding);\n return _context.abrupt(\"return\", parseCMap(cMap, lexer, fetchBuiltInCMap, useCMap).then(function (parsedCMap) {\n if (parsedCMap.isIdentityCMap) {\n return createBuiltInCMap(parsedCMap.name, fetchBuiltInCMap);\n }\n\n return parsedCMap;\n }));\n\n case 11:\n throw new Error(\"Encoding required.\");\n\n case 12:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }))();\n }\n };\n}();\n\nexports.CMapFactory = CMapFactory;\n\n/***/ }),\n/* 227 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getFontType = getFontType;\nexports.IdentityToUnicodeMap = exports.ToUnicodeMap = exports.FontFlags = exports.Font = exports.ErrorFont = exports.SEAC_ANALYSIS_ENABLED = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _cff_parser = __w_pdfjs_require__(228);\n\nvar _glyphlist = __w_pdfjs_require__(231);\n\nvar _encodings = __w_pdfjs_require__(230);\n\nvar _standard_fonts = __w_pdfjs_require__(232);\n\nvar _unicode = __w_pdfjs_require__(233);\n\nvar _core_utils = __w_pdfjs_require__(205);\n\nvar _font_renderer = __w_pdfjs_require__(234);\n\nvar _cmap = __w_pdfjs_require__(226);\n\nvar _stream = __w_pdfjs_require__(209);\n\nvar _type1_parser = __w_pdfjs_require__(235);\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nvar PRIVATE_USE_AREAS = [[0xe000, 0xf8ff], [0x100000, 0x10fffd]];\nvar PDF_GLYPH_SPACE_UNITS = 1000;\nvar SEAC_ANALYSIS_ENABLED = true;\nexports.SEAC_ANALYSIS_ENABLED = SEAC_ANALYSIS_ENABLED;\nvar EXPORT_DATA_PROPERTIES = [\"ascent\", \"bbox\", \"black\", \"bold\", \"charProcOperatorList\", \"composite\", \"data\", \"defaultVMetrics\", \"defaultWidth\", \"descent\", \"fallbackName\", \"fontMatrix\", \"fontType\", \"isMonospace\", \"isSerifFont\", \"isType3Font\", \"italic\", \"loadedName\", \"mimetype\", \"missingFile\", \"name\", \"remeasure\", \"subtype\", \"type\", \"vertical\"];\nvar EXPORT_DATA_EXTRA_PROPERTIES = [\"cMap\", \"defaultEncoding\", \"differences\", \"isSymbolicFont\", \"seacMap\", \"toFontChar\", \"toUnicode\", \"vmetrics\", \"widths\"];\nvar FontFlags = {\n FixedPitch: 1,\n Serif: 2,\n Symbolic: 4,\n Script: 8,\n Nonsymbolic: 32,\n Italic: 64,\n AllCap: 65536,\n SmallCap: 131072,\n ForceBold: 262144\n};\nexports.FontFlags = FontFlags;\nvar MacStandardGlyphOrdering = [\".notdef\", \".null\", \"nonmarkingreturn\", \"space\", \"exclam\", \"quotedbl\", \"numbersign\", \"dollar\", \"percent\", \"ampersand\", \"quotesingle\", \"parenleft\", \"parenright\", \"asterisk\", \"plus\", \"comma\", \"hyphen\", \"period\", \"slash\", \"zero\", \"one\", \"two\", \"three\", \"four\", \"five\", \"six\", \"seven\", \"eight\", \"nine\", \"colon\", \"semicolon\", \"less\", \"equal\", \"greater\", \"question\", \"at\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\", \"bracketleft\", \"backslash\", \"bracketright\", \"asciicircum\", \"underscore\", \"grave\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"g\", \"h\", \"i\", \"j\", \"k\", \"l\", \"m\", \"n\", \"o\", \"p\", \"q\", \"r\", \"s\", \"t\", \"u\", \"v\", \"w\", \"x\", \"y\", \"z\", \"braceleft\", \"bar\", \"braceright\", \"asciitilde\", \"Adieresis\", \"Aring\", \"Ccedilla\", \"Eacute\", \"Ntilde\", \"Odieresis\", \"Udieresis\", \"aacute\", \"agrave\", \"acircumflex\", \"adieresis\", \"atilde\", \"aring\", \"ccedilla\", \"eacute\", \"egrave\", \"ecircumflex\", \"edieresis\", \"iacute\", \"igrave\", \"icircumflex\", \"idieresis\", \"ntilde\", \"oacute\", \"ograve\", \"ocircumflex\", \"odieresis\", \"otilde\", \"uacute\", \"ugrave\", \"ucircumflex\", \"udieresis\", \"dagger\", \"degree\", \"cent\", \"sterling\", \"section\", \"bullet\", \"paragraph\", \"germandbls\", \"registered\", \"copyright\", \"trademark\", \"acute\", \"dieresis\", \"notequal\", \"AE\", \"Oslash\", \"infinity\", \"plusminus\", \"lessequal\", \"greaterequal\", \"yen\", \"mu\", \"partialdiff\", \"summation\", \"product\", \"pi\", \"integral\", \"ordfeminine\", \"ordmasculine\", \"Omega\", \"ae\", \"oslash\", \"questiondown\", \"exclamdown\", \"logicalnot\", \"radical\", \"florin\", \"approxequal\", \"Delta\", \"guillemotleft\", \"guillemotright\", \"ellipsis\", \"nonbreakingspace\", \"Agrave\", \"Atilde\", \"Otilde\", \"OE\", \"oe\", \"endash\", \"emdash\", \"quotedblleft\", \"quotedblright\", \"quoteleft\", \"quoteright\", \"divide\", \"lozenge\", \"ydieresis\", \"Ydieresis\", \"fraction\", \"currency\", \"guilsinglleft\", \"guilsinglright\", \"fi\", \"fl\", \"daggerdbl\", \"periodcentered\", \"quotesinglbase\", \"quotedblbase\", \"perthousand\", \"Acircumflex\", \"Ecircumflex\", \"Aacute\", \"Edieresis\", \"Egrave\", \"Iacute\", \"Icircumflex\", \"Idieresis\", \"Igrave\", \"Oacute\", \"Ocircumflex\", \"apple\", \"Ograve\", \"Uacute\", \"Ucircumflex\", \"Ugrave\", \"dotlessi\", \"circumflex\", \"tilde\", \"macron\", \"breve\", \"dotaccent\", \"ring\", \"cedilla\", \"hungarumlaut\", \"ogonek\", \"caron\", \"Lslash\", \"lslash\", \"Scaron\", \"scaron\", \"Zcaron\", \"zcaron\", \"brokenbar\", \"Eth\", \"eth\", \"Yacute\", \"yacute\", \"Thorn\", \"thorn\", \"minus\", \"multiply\", \"onesuperior\", \"twosuperior\", \"threesuperior\", \"onehalf\", \"onequarter\", \"threequarters\", \"franc\", \"Gbreve\", \"gbreve\", \"Idotaccent\", \"Scedilla\", \"scedilla\", \"Cacute\", \"cacute\", \"Ccaron\", \"ccaron\", \"dcroat\"];\n\nfunction adjustWidths(properties) {\n if (!properties.fontMatrix) {\n return;\n }\n\n if (properties.fontMatrix[0] === _util.FONT_IDENTITY_MATRIX[0]) {\n return;\n }\n\n var scale = 0.001 / properties.fontMatrix[0];\n var glyphsWidths = properties.widths;\n\n for (var glyph in glyphsWidths) {\n glyphsWidths[glyph] *= scale;\n }\n\n properties.defaultWidth *= scale;\n}\n\nfunction adjustToUnicode(properties, builtInEncoding) {\n if (properties.hasIncludedToUnicodeMap) {\n return;\n }\n\n if (properties.hasEncoding) {\n return;\n }\n\n if (builtInEncoding === properties.defaultEncoding) {\n return;\n }\n\n if (properties.toUnicode instanceof IdentityToUnicodeMap) {\n return;\n }\n\n var toUnicode = [],\n glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n\n for (var charCode in builtInEncoding) {\n var glyphName = builtInEncoding[charCode];\n var unicode = (0, _unicode.getUnicodeForGlyph)(glyphName, glyphsUnicodeMap);\n\n if (unicode !== -1) {\n toUnicode[charCode] = String.fromCharCode(unicode);\n }\n }\n\n properties.toUnicode.amend(toUnicode);\n}\n\nfunction getFontType(type, subtype) {\n switch (type) {\n case \"Type1\":\n return subtype === \"Type1C\" ? _util.FontType.TYPE1C : _util.FontType.TYPE1;\n\n case \"CIDFontType0\":\n return subtype === \"CIDFontType0C\" ? _util.FontType.CIDFONTTYPE0C : _util.FontType.CIDFONTTYPE0;\n\n case \"OpenType\":\n return _util.FontType.OPENTYPE;\n\n case \"TrueType\":\n return _util.FontType.TRUETYPE;\n\n case \"CIDFontType2\":\n return _util.FontType.CIDFONTTYPE2;\n\n case \"MMType1\":\n return _util.FontType.MMTYPE1;\n\n case \"Type0\":\n return _util.FontType.TYPE0;\n\n default:\n return _util.FontType.UNKNOWN;\n }\n}\n\nfunction recoverGlyphName(name, glyphsUnicodeMap) {\n if (glyphsUnicodeMap[name] !== undefined) {\n return name;\n }\n\n var unicode = (0, _unicode.getUnicodeForGlyph)(name, glyphsUnicodeMap);\n\n if (unicode !== -1) {\n for (var key in glyphsUnicodeMap) {\n if (glyphsUnicodeMap[key] === unicode) {\n return key;\n }\n }\n }\n\n (0, _util.info)(\"Unable to recover a standard glyph name for: \" + name);\n return name;\n}\n\nvar Glyph = function GlyphClosure() {\n function Glyph(fontChar, unicode, accent, width, vmetric, operatorListId, isSpace, isInFont) {\n this.fontChar = fontChar;\n this.unicode = unicode;\n this.accent = accent;\n this.width = width;\n this.vmetric = vmetric;\n this.operatorListId = operatorListId;\n this.isSpace = isSpace;\n this.isInFont = isInFont;\n }\n\n Glyph.prototype.matchesForCache = function (fontChar, unicode, accent, width, vmetric, operatorListId, isSpace, isInFont) {\n return this.fontChar === fontChar && this.unicode === unicode && this.accent === accent && this.width === width && this.vmetric === vmetric && this.operatorListId === operatorListId && this.isSpace === isSpace && this.isInFont === isInFont;\n };\n\n return Glyph;\n}();\n\nvar ToUnicodeMap = function ToUnicodeMapClosure() {\n function ToUnicodeMap() {\n var cmap = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n this._map = cmap;\n }\n\n ToUnicodeMap.prototype = {\n get length() {\n return this._map.length;\n },\n\n forEach: function forEach(callback) {\n for (var charCode in this._map) {\n callback(charCode, this._map[charCode].charCodeAt(0));\n }\n },\n has: function has(i) {\n return this._map[i] !== undefined;\n },\n get: function get(i) {\n return this._map[i];\n },\n charCodeOf: function charCodeOf(value) {\n var map = this._map;\n\n if (map.length <= 0x10000) {\n return map.indexOf(value);\n }\n\n for (var charCode in map) {\n if (map[charCode] === value) {\n return charCode | 0;\n }\n }\n\n return -1;\n },\n amend: function amend(map) {\n for (var charCode in map) {\n this._map[charCode] = map[charCode];\n }\n }\n };\n return ToUnicodeMap;\n}();\n\nexports.ToUnicodeMap = ToUnicodeMap;\n\nvar IdentityToUnicodeMap = function IdentityToUnicodeMapClosure() {\n function IdentityToUnicodeMap(firstChar, lastChar) {\n this.firstChar = firstChar;\n this.lastChar = lastChar;\n }\n\n IdentityToUnicodeMap.prototype = {\n get length() {\n return this.lastChar + 1 - this.firstChar;\n },\n\n forEach: function forEach(callback) {\n for (var i = this.firstChar, ii = this.lastChar; i <= ii; i++) {\n callback(i, i);\n }\n },\n has: function has(i) {\n return this.firstChar <= i && i <= this.lastChar;\n },\n get: function get(i) {\n if (this.firstChar <= i && i <= this.lastChar) {\n return String.fromCharCode(i);\n }\n\n return undefined;\n },\n charCodeOf: function charCodeOf(v) {\n return Number.isInteger(v) && v >= this.firstChar && v <= this.lastChar ? v : -1;\n },\n amend: function amend(map) {\n (0, _util.unreachable)(\"Should not call amend()\");\n }\n };\n return IdentityToUnicodeMap;\n}();\n\nexports.IdentityToUnicodeMap = IdentityToUnicodeMap;\n\nvar OpenTypeFileBuilder = function OpenTypeFileBuilderClosure() {\n function writeInt16(dest, offset, num) {\n dest[offset] = num >> 8 & 0xff;\n dest[offset + 1] = num & 0xff;\n }\n\n function writeInt32(dest, offset, num) {\n dest[offset] = num >> 24 & 0xff;\n dest[offset + 1] = num >> 16 & 0xff;\n dest[offset + 2] = num >> 8 & 0xff;\n dest[offset + 3] = num & 0xff;\n }\n\n function writeData(dest, offset, data) {\n var i, ii;\n\n if (data instanceof Uint8Array) {\n dest.set(data, offset);\n } else if (typeof data === \"string\") {\n for (i = 0, ii = data.length; i < ii; i++) {\n dest[offset++] = data.charCodeAt(i) & 0xff;\n }\n } else {\n for (i = 0, ii = data.length; i < ii; i++) {\n dest[offset++] = data[i] & 0xff;\n }\n }\n }\n\n function OpenTypeFileBuilder(sfnt) {\n this.sfnt = sfnt;\n this.tables = Object.create(null);\n }\n\n OpenTypeFileBuilder.getSearchParams = function OpenTypeFileBuilder_getSearchParams(entriesCount, entrySize) {\n var maxPower2 = 1,\n log2 = 0;\n\n while ((maxPower2 ^ entriesCount) > maxPower2) {\n maxPower2 <<= 1;\n log2++;\n }\n\n var searchRange = maxPower2 * entrySize;\n return {\n range: searchRange,\n entry: log2,\n rangeShift: entrySize * entriesCount - searchRange\n };\n };\n\n var OTF_HEADER_SIZE = 12;\n var OTF_TABLE_ENTRY_SIZE = 16;\n OpenTypeFileBuilder.prototype = {\n toArray: function OpenTypeFileBuilder_toArray() {\n var sfnt = this.sfnt;\n var tables = this.tables;\n var tablesNames = Object.keys(tables);\n tablesNames.sort();\n var numTables = tablesNames.length;\n var i, j, jj, table, tableName;\n var offset = OTF_HEADER_SIZE + numTables * OTF_TABLE_ENTRY_SIZE;\n var tableOffsets = [offset];\n\n for (i = 0; i < numTables; i++) {\n table = tables[tablesNames[i]];\n var paddedLength = (table.length + 3 & ~3) >>> 0;\n offset += paddedLength;\n tableOffsets.push(offset);\n }\n\n var file = new Uint8Array(offset);\n\n for (i = 0; i < numTables; i++) {\n table = tables[tablesNames[i]];\n writeData(file, tableOffsets[i], table);\n }\n\n if (sfnt === \"true\") {\n sfnt = (0, _util.string32)(0x00010000);\n }\n\n file[0] = sfnt.charCodeAt(0) & 0xff;\n file[1] = sfnt.charCodeAt(1) & 0xff;\n file[2] = sfnt.charCodeAt(2) & 0xff;\n file[3] = sfnt.charCodeAt(3) & 0xff;\n writeInt16(file, 4, numTables);\n var searchParams = OpenTypeFileBuilder.getSearchParams(numTables, 16);\n writeInt16(file, 6, searchParams.range);\n writeInt16(file, 8, searchParams.entry);\n writeInt16(file, 10, searchParams.rangeShift);\n offset = OTF_HEADER_SIZE;\n\n for (i = 0; i < numTables; i++) {\n tableName = tablesNames[i];\n file[offset] = tableName.charCodeAt(0) & 0xff;\n file[offset + 1] = tableName.charCodeAt(1) & 0xff;\n file[offset + 2] = tableName.charCodeAt(2) & 0xff;\n file[offset + 3] = tableName.charCodeAt(3) & 0xff;\n var checksum = 0;\n\n for (j = tableOffsets[i], jj = tableOffsets[i + 1]; j < jj; j += 4) {\n var quad = (0, _core_utils.readUint32)(file, j);\n checksum = checksum + quad >>> 0;\n }\n\n writeInt32(file, offset + 4, checksum);\n writeInt32(file, offset + 8, tableOffsets[i]);\n writeInt32(file, offset + 12, tables[tableName].length);\n offset += OTF_TABLE_ENTRY_SIZE;\n }\n\n return file;\n },\n addTable: function OpenTypeFileBuilder_addTable(tag, data) {\n if (tag in this.tables) {\n throw new Error(\"Table \" + tag + \" already exists\");\n }\n\n this.tables[tag] = data;\n }\n };\n return OpenTypeFileBuilder;\n}();\n\nvar Font = function FontClosure() {\n function Font(name, file, properties) {\n var charCode;\n this.name = name;\n this.loadedName = properties.loadedName;\n this.isType3Font = properties.isType3Font;\n this.missingFile = false;\n this.glyphCache = Object.create(null);\n this.isSerifFont = !!(properties.flags & FontFlags.Serif);\n this.isSymbolicFont = !!(properties.flags & FontFlags.Symbolic);\n this.isMonospace = !!(properties.flags & FontFlags.FixedPitch);\n var type = properties.type;\n var subtype = properties.subtype;\n this.type = type;\n this.subtype = subtype;\n var fallbackName = \"sans-serif\";\n\n if (this.isMonospace) {\n fallbackName = \"monospace\";\n } else if (this.isSerifFont) {\n fallbackName = \"serif\";\n }\n\n this.fallbackName = fallbackName;\n this.differences = properties.differences;\n this.widths = properties.widths;\n this.defaultWidth = properties.defaultWidth;\n this.composite = properties.composite;\n this.cMap = properties.cMap;\n this.ascent = properties.ascent / PDF_GLYPH_SPACE_UNITS;\n this.descent = properties.descent / PDF_GLYPH_SPACE_UNITS;\n this.fontMatrix = properties.fontMatrix;\n this.bbox = properties.bbox;\n this.defaultEncoding = properties.defaultEncoding;\n this.toUnicode = properties.toUnicode;\n this.fallbackToUnicode = properties.fallbackToUnicode || new ToUnicodeMap();\n this.toFontChar = [];\n\n if (properties.type === \"Type3\") {\n for (charCode = 0; charCode < 256; charCode++) {\n this.toFontChar[charCode] = this.differences[charCode] || properties.defaultEncoding[charCode];\n }\n\n this.fontType = _util.FontType.TYPE3;\n return;\n }\n\n this.cidEncoding = properties.cidEncoding;\n this.vertical = !!properties.vertical;\n\n if (this.vertical) {\n this.vmetrics = properties.vmetrics;\n this.defaultVMetrics = properties.defaultVMetrics;\n }\n\n if (!file || file.isEmpty) {\n if (file) {\n (0, _util.warn)('Font file is empty in \"' + name + '\" (' + this.loadedName + \")\");\n }\n\n this.fallbackToSystemFont();\n return;\n }\n\n var _getFontFileType = getFontFileType(file, properties);\n\n var _getFontFileType2 = _slicedToArray(_getFontFileType, 2);\n\n type = _getFontFileType2[0];\n subtype = _getFontFileType2[1];\n\n if (type !== this.type || subtype !== this.subtype) {\n (0, _util.info)(\"Inconsistent font file Type/SubType, expected: \" + \"\".concat(this.type, \"/\").concat(this.subtype, \" but found: \").concat(type, \"/\").concat(subtype, \".\"));\n }\n\n try {\n var data;\n\n switch (type) {\n case \"MMType1\":\n (0, _util.info)(\"MMType1 font (\" + name + \"), falling back to Type1.\");\n\n case \"Type1\":\n case \"CIDFontType0\":\n this.mimetype = \"font/opentype\";\n var cff = subtype === \"Type1C\" || subtype === \"CIDFontType0C\" ? new CFFFont(file, properties) : new Type1Font(name, file, properties);\n adjustWidths(properties);\n data = this.convert(name, cff, properties);\n break;\n\n case \"OpenType\":\n case \"TrueType\":\n case \"CIDFontType2\":\n this.mimetype = \"font/opentype\";\n data = this.checkAndRepair(name, file, properties);\n\n if (this.isOpenType) {\n adjustWidths(properties);\n type = \"OpenType\";\n }\n\n break;\n\n default:\n throw new _util.FormatError(\"Font \".concat(type, \" is not supported\"));\n }\n } catch (e) {\n (0, _util.warn)(e);\n this.fallbackToSystemFont();\n return;\n }\n\n this.data = data;\n this.fontType = getFontType(type, subtype);\n this.fontMatrix = properties.fontMatrix;\n this.widths = properties.widths;\n this.defaultWidth = properties.defaultWidth;\n this.toUnicode = properties.toUnicode;\n this.seacMap = properties.seacMap;\n }\n\n function int16(b0, b1) {\n return (b0 << 8) + b1;\n }\n\n function writeSignedInt16(bytes, index, value) {\n bytes[index + 1] = value;\n bytes[index] = value >>> 8;\n }\n\n function signedInt16(b0, b1) {\n var value = (b0 << 8) + b1;\n return value & 1 << 15 ? value - 0x10000 : value;\n }\n\n function int32(b0, b1, b2, b3) {\n return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;\n }\n\n function string16(value) {\n return String.fromCharCode(value >> 8 & 0xff, value & 0xff);\n }\n\n function safeString16(value) {\n if (value > 0x7fff) {\n value = 0x7fff;\n } else if (value < -0x8000) {\n value = -0x8000;\n }\n\n return String.fromCharCode(value >> 8 & 0xff, value & 0xff);\n }\n\n function isTrueTypeFile(file) {\n var header = file.peekBytes(4);\n return (0, _core_utils.readUint32)(header, 0) === 0x00010000 || (0, _util.bytesToString)(header) === \"true\";\n }\n\n function isTrueTypeCollectionFile(file) {\n var header = file.peekBytes(4);\n return (0, _util.bytesToString)(header) === \"ttcf\";\n }\n\n function isOpenTypeFile(file) {\n var header = file.peekBytes(4);\n return (0, _util.bytesToString)(header) === \"OTTO\";\n }\n\n function isType1File(file) {\n var header = file.peekBytes(2);\n\n if (header[0] === 0x25 && header[1] === 0x21) {\n return true;\n }\n\n if (header[0] === 0x80 && header[1] === 0x01) {\n return true;\n }\n\n return false;\n }\n\n function isCFFFile(file) {\n var header = file.peekBytes(4);\n\n if (header[0] >= 1 && header[3] >= 1 && header[3] <= 4) {\n return true;\n }\n\n return false;\n }\n\n function getFontFileType(file, _ref) {\n var type = _ref.type,\n subtype = _ref.subtype,\n composite = _ref.composite;\n var fileType, fileSubtype;\n\n if (isTrueTypeFile(file) || isTrueTypeCollectionFile(file)) {\n if (composite) {\n fileType = \"CIDFontType2\";\n } else {\n fileType = \"TrueType\";\n }\n } else if (isOpenTypeFile(file)) {\n if (composite) {\n fileType = \"CIDFontType2\";\n } else {\n fileType = \"OpenType\";\n }\n } else if (isType1File(file)) {\n if (composite) {\n fileType = \"CIDFontType0\";\n } else {\n fileType = type === \"MMType1\" ? \"MMType1\" : \"Type1\";\n }\n } else if (isCFFFile(file)) {\n if (composite) {\n fileType = \"CIDFontType0\";\n fileSubtype = \"CIDFontType0C\";\n } else {\n fileType = type === \"MMType1\" ? \"MMType1\" : \"Type1\";\n fileSubtype = \"Type1C\";\n }\n } else {\n (0, _util.warn)(\"getFontFileType: Unable to detect correct font file Type/Subtype.\");\n fileType = type;\n fileSubtype = subtype;\n }\n\n return [fileType, fileSubtype];\n }\n\n function buildToFontChar(encoding, glyphsUnicodeMap, differences) {\n var toFontChar = [],\n unicode;\n\n for (var i = 0, ii = encoding.length; i < ii; i++) {\n unicode = (0, _unicode.getUnicodeForGlyph)(encoding[i], glyphsUnicodeMap);\n\n if (unicode !== -1) {\n toFontChar[i] = unicode;\n }\n }\n\n for (var charCode in differences) {\n unicode = (0, _unicode.getUnicodeForGlyph)(differences[charCode], glyphsUnicodeMap);\n\n if (unicode !== -1) {\n toFontChar[+charCode] = unicode;\n }\n }\n\n return toFontChar;\n }\n\n function adjustMapping(charCodeToGlyphId, hasGlyph, newGlyphZeroId) {\n var newMap = Object.create(null);\n var toFontChar = [];\n var privateUseAreaIndex = 0;\n var nextAvailableFontCharCode = PRIVATE_USE_AREAS[privateUseAreaIndex][0];\n var privateUseOffetEnd = PRIVATE_USE_AREAS[privateUseAreaIndex][1];\n\n for (var originalCharCode in charCodeToGlyphId) {\n originalCharCode |= 0;\n var glyphId = charCodeToGlyphId[originalCharCode];\n\n if (!hasGlyph(glyphId)) {\n continue;\n }\n\n if (nextAvailableFontCharCode > privateUseOffetEnd) {\n privateUseAreaIndex++;\n\n if (privateUseAreaIndex >= PRIVATE_USE_AREAS.length) {\n (0, _util.warn)(\"Ran out of space in font private use area.\");\n break;\n }\n\n nextAvailableFontCharCode = PRIVATE_USE_AREAS[privateUseAreaIndex][0];\n privateUseOffetEnd = PRIVATE_USE_AREAS[privateUseAreaIndex][1];\n }\n\n var fontCharCode = nextAvailableFontCharCode++;\n\n if (glyphId === 0) {\n glyphId = newGlyphZeroId;\n }\n\n newMap[fontCharCode] = glyphId;\n toFontChar[originalCharCode] = fontCharCode;\n }\n\n return {\n toFontChar: toFontChar,\n charCodeToGlyphId: newMap,\n nextAvailableFontCharCode: nextAvailableFontCharCode\n };\n }\n\n function getRanges(glyphs, numGlyphs) {\n var codes = [];\n\n for (var charCode in glyphs) {\n if (glyphs[charCode] >= numGlyphs) {\n continue;\n }\n\n codes.push({\n fontCharCode: charCode | 0,\n glyphId: glyphs[charCode]\n });\n }\n\n if (codes.length === 0) {\n codes.push({\n fontCharCode: 0,\n glyphId: 0\n });\n }\n\n codes.sort(function fontGetRangesSort(a, b) {\n return a.fontCharCode - b.fontCharCode;\n });\n var ranges = [];\n var length = codes.length;\n\n for (var n = 0; n < length;) {\n var start = codes[n].fontCharCode;\n var codeIndices = [codes[n].glyphId];\n ++n;\n var end = start;\n\n while (n < length && end + 1 === codes[n].fontCharCode) {\n codeIndices.push(codes[n].glyphId);\n ++end;\n ++n;\n\n if (end === 0xffff) {\n break;\n }\n }\n\n ranges.push([start, end, codeIndices]);\n }\n\n return ranges;\n }\n\n function createCmapTable(glyphs, numGlyphs) {\n var ranges = getRanges(glyphs, numGlyphs);\n var numTables = ranges[ranges.length - 1][1] > 0xffff ? 2 : 1;\n var cmap = \"\\x00\\x00\" + string16(numTables) + \"\\x00\\x03\" + \"\\x00\\x01\" + (0, _util.string32)(4 + numTables * 8);\n var i, ii, j, jj;\n\n for (i = ranges.length - 1; i >= 0; --i) {\n if (ranges[i][0] <= 0xffff) {\n break;\n }\n }\n\n var bmpLength = i + 1;\n\n if (ranges[i][0] < 0xffff && ranges[i][1] === 0xffff) {\n ranges[i][1] = 0xfffe;\n }\n\n var trailingRangesCount = ranges[i][1] < 0xffff ? 1 : 0;\n var segCount = bmpLength + trailingRangesCount;\n var searchParams = OpenTypeFileBuilder.getSearchParams(segCount, 2);\n var startCount = \"\";\n var endCount = \"\";\n var idDeltas = \"\";\n var idRangeOffsets = \"\";\n var glyphsIds = \"\";\n var bias = 0;\n var range, start, end, codes;\n\n for (i = 0, ii = bmpLength; i < ii; i++) {\n range = ranges[i];\n start = range[0];\n end = range[1];\n startCount += string16(start);\n endCount += string16(end);\n codes = range[2];\n var contiguous = true;\n\n for (j = 1, jj = codes.length; j < jj; ++j) {\n if (codes[j] !== codes[j - 1] + 1) {\n contiguous = false;\n break;\n }\n }\n\n if (!contiguous) {\n var offset = (segCount - i) * 2 + bias * 2;\n bias += end - start + 1;\n idDeltas += string16(0);\n idRangeOffsets += string16(offset);\n\n for (j = 0, jj = codes.length; j < jj; ++j) {\n glyphsIds += string16(codes[j]);\n }\n } else {\n var startCode = codes[0];\n idDeltas += string16(startCode - start & 0xffff);\n idRangeOffsets += string16(0);\n }\n }\n\n if (trailingRangesCount > 0) {\n endCount += \"\\xFF\\xFF\";\n startCount += \"\\xFF\\xFF\";\n idDeltas += \"\\x00\\x01\";\n idRangeOffsets += \"\\x00\\x00\";\n }\n\n var format314 = \"\\x00\\x00\" + string16(2 * segCount) + string16(searchParams.range) + string16(searchParams.entry) + string16(searchParams.rangeShift) + endCount + \"\\x00\\x00\" + startCount + idDeltas + idRangeOffsets + glyphsIds;\n var format31012 = \"\";\n var header31012 = \"\";\n\n if (numTables > 1) {\n cmap += \"\\x00\\x03\" + \"\\x00\\x0A\" + (0, _util.string32)(4 + numTables * 8 + 4 + format314.length);\n format31012 = \"\";\n\n for (i = 0, ii = ranges.length; i < ii; i++) {\n range = ranges[i];\n start = range[0];\n codes = range[2];\n var code = codes[0];\n\n for (j = 1, jj = codes.length; j < jj; ++j) {\n if (codes[j] !== codes[j - 1] + 1) {\n end = range[0] + j - 1;\n format31012 += (0, _util.string32)(start) + (0, _util.string32)(end) + (0, _util.string32)(code);\n start = end + 1;\n code = codes[j];\n }\n }\n\n format31012 += (0, _util.string32)(start) + (0, _util.string32)(range[1]) + (0, _util.string32)(code);\n }\n\n header31012 = \"\\x00\\x0C\" + \"\\x00\\x00\" + (0, _util.string32)(format31012.length + 16) + \"\\x00\\x00\\x00\\x00\" + (0, _util.string32)(format31012.length / 12);\n }\n\n return cmap + \"\\x00\\x04\" + string16(format314.length + 4) + format314 + header31012 + format31012;\n }\n\n function validateOS2Table(os2, file) {\n file.pos = (file.start || 0) + os2.offset;\n var version = file.getUint16();\n file.skip(60);\n var selection = file.getUint16();\n\n if (version < 4 && selection & 0x0300) {\n return false;\n }\n\n var firstChar = file.getUint16();\n var lastChar = file.getUint16();\n\n if (firstChar > lastChar) {\n return false;\n }\n\n file.skip(6);\n var usWinAscent = file.getUint16();\n\n if (usWinAscent === 0) {\n return false;\n }\n\n os2.data[8] = os2.data[9] = 0;\n return true;\n }\n\n function createOS2Table(properties, charstrings, override) {\n override = override || {\n unitsPerEm: 0,\n yMax: 0,\n yMin: 0,\n ascent: 0,\n descent: 0\n };\n var ulUnicodeRange1 = 0;\n var ulUnicodeRange2 = 0;\n var ulUnicodeRange3 = 0;\n var ulUnicodeRange4 = 0;\n var firstCharIndex = null;\n var lastCharIndex = 0;\n\n if (charstrings) {\n for (var code in charstrings) {\n code |= 0;\n\n if (firstCharIndex > code || !firstCharIndex) {\n firstCharIndex = code;\n }\n\n if (lastCharIndex < code) {\n lastCharIndex = code;\n }\n\n var position = (0, _unicode.getUnicodeRangeFor)(code);\n\n if (position < 32) {\n ulUnicodeRange1 |= 1 << position;\n } else if (position < 64) {\n ulUnicodeRange2 |= 1 << position - 32;\n } else if (position < 96) {\n ulUnicodeRange3 |= 1 << position - 64;\n } else if (position < 123) {\n ulUnicodeRange4 |= 1 << position - 96;\n } else {\n throw new _util.FormatError(\"Unicode ranges Bits > 123 are reserved for internal usage\");\n }\n }\n\n if (lastCharIndex > 0xffff) {\n lastCharIndex = 0xffff;\n }\n } else {\n firstCharIndex = 0;\n lastCharIndex = 255;\n }\n\n var bbox = properties.bbox || [0, 0, 0, 0];\n var unitsPerEm = override.unitsPerEm || 1 / (properties.fontMatrix || _util.FONT_IDENTITY_MATRIX)[0];\n var scale = properties.ascentScaled ? 1.0 : unitsPerEm / PDF_GLYPH_SPACE_UNITS;\n var typoAscent = override.ascent || Math.round(scale * (properties.ascent || bbox[3]));\n var typoDescent = override.descent || Math.round(scale * (properties.descent || bbox[1]));\n\n if (typoDescent > 0 && properties.descent > 0 && bbox[1] < 0) {\n typoDescent = -typoDescent;\n }\n\n var winAscent = override.yMax || typoAscent;\n var winDescent = -override.yMin || -typoDescent;\n return \"\\x00\\x03\" + \"\\x02\\x24\" + \"\\x01\\xF4\" + \"\\x00\\x05\" + \"\\x00\\x00\" + \"\\x02\\x8A\" + \"\\x02\\xBB\" + \"\\x00\\x00\" + \"\\x00\\x8C\" + \"\\x02\\x8A\" + \"\\x02\\xBB\" + \"\\x00\\x00\" + \"\\x01\\xDF\" + \"\\x00\\x31\" + \"\\x01\\x02\" + \"\\x00\\x00\" + \"\\x00\\x00\\x06\" + String.fromCharCode(properties.fixedPitch ? 0x09 : 0x00) + \"\\x00\\x00\\x00\\x00\\x00\\x00\" + (0, _util.string32)(ulUnicodeRange1) + (0, _util.string32)(ulUnicodeRange2) + (0, _util.string32)(ulUnicodeRange3) + (0, _util.string32)(ulUnicodeRange4) + \"\\x2A\\x32\\x31\\x2A\" + string16(properties.italicAngle ? 1 : 0) + string16(firstCharIndex || properties.firstChar) + string16(lastCharIndex || properties.lastChar) + string16(typoAscent) + string16(typoDescent) + \"\\x00\\x64\" + string16(winAscent) + string16(winDescent) + \"\\x00\\x00\\x00\\x00\" + \"\\x00\\x00\\x00\\x00\" + string16(properties.xHeight) + string16(properties.capHeight) + string16(0) + string16(firstCharIndex || properties.firstChar) + \"\\x00\\x03\";\n }\n\n function createPostTable(properties) {\n var angle = Math.floor(properties.italicAngle * Math.pow(2, 16));\n return \"\\x00\\x03\\x00\\x00\" + (0, _util.string32)(angle) + \"\\x00\\x00\" + \"\\x00\\x00\" + (0, _util.string32)(properties.fixedPitch) + \"\\x00\\x00\\x00\\x00\" + \"\\x00\\x00\\x00\\x00\" + \"\\x00\\x00\\x00\\x00\" + \"\\x00\\x00\\x00\\x00\";\n }\n\n function createNameTable(name, proto) {\n if (!proto) {\n proto = [[], []];\n }\n\n var strings = [proto[0][0] || \"Original licence\", proto[0][1] || name, proto[0][2] || \"Unknown\", proto[0][3] || \"uniqueID\", proto[0][4] || name, proto[0][5] || \"Version 0.11\", proto[0][6] || \"\", proto[0][7] || \"Unknown\", proto[0][8] || \"Unknown\", proto[0][9] || \"Unknown\"];\n var stringsUnicode = [];\n var i, ii, j, jj, str;\n\n for (i = 0, ii = strings.length; i < ii; i++) {\n str = proto[1][i] || strings[i];\n var strBufUnicode = [];\n\n for (j = 0, jj = str.length; j < jj; j++) {\n strBufUnicode.push(string16(str.charCodeAt(j)));\n }\n\n stringsUnicode.push(strBufUnicode.join(\"\"));\n }\n\n var names = [strings, stringsUnicode];\n var platforms = [\"\\x00\\x01\", \"\\x00\\x03\"];\n var encodings = [\"\\x00\\x00\", \"\\x00\\x01\"];\n var languages = [\"\\x00\\x00\", \"\\x04\\x09\"];\n var namesRecordCount = strings.length * platforms.length;\n var nameTable = \"\\x00\\x00\" + string16(namesRecordCount) + string16(namesRecordCount * 12 + 6);\n var strOffset = 0;\n\n for (i = 0, ii = platforms.length; i < ii; i++) {\n var strs = names[i];\n\n for (j = 0, jj = strs.length; j < jj; j++) {\n str = strs[j];\n var nameRecord = platforms[i] + encodings[i] + languages[i] + string16(j) + string16(str.length) + string16(strOffset);\n nameTable += nameRecord;\n strOffset += str.length;\n }\n }\n\n nameTable += strings.join(\"\") + stringsUnicode.join(\"\");\n return nameTable;\n }\n\n Font.prototype = {\n name: null,\n font: null,\n mimetype: null,\n disableFontFace: false,\n\n get renderer() {\n var renderer = _font_renderer.FontRendererFactory.create(this, SEAC_ANALYSIS_ENABLED);\n\n return (0, _util.shadow)(this, \"renderer\", renderer);\n },\n\n exportData: function exportData() {\n var extraProperties = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var exportDataProperties = extraProperties ? [].concat(EXPORT_DATA_PROPERTIES, EXPORT_DATA_EXTRA_PROPERTIES) : EXPORT_DATA_PROPERTIES;\n var data = Object.create(null);\n var property, value;\n\n var _iterator = _createForOfIteratorHelper(exportDataProperties),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n property = _step.value;\n value = this[property];\n\n if (value !== undefined) {\n data[property] = value;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return data;\n },\n fallbackToSystemFont: function Font_fallbackToSystemFont() {\n var _this = this;\n\n this.missingFile = true;\n var name = this.name;\n var type = this.type;\n var subtype = this.subtype;\n var fontName = name.replace(/[,_]/g, \"-\").replace(/\\s/g, \"\");\n var stdFontMap = (0, _standard_fonts.getStdFontMap)(),\n nonStdFontMap = (0, _standard_fonts.getNonStdFontMap)();\n var isStandardFont = !!stdFontMap[fontName] || !!(nonStdFontMap[fontName] && stdFontMap[nonStdFontMap[fontName]]);\n fontName = stdFontMap[fontName] || nonStdFontMap[fontName] || fontName;\n this.bold = fontName.search(/bold/gi) !== -1;\n this.italic = fontName.search(/oblique/gi) !== -1 || fontName.search(/italic/gi) !== -1;\n this.black = name.search(/Black/g) !== -1;\n this.remeasure = Object.keys(this.widths).length > 0;\n\n if (isStandardFont && type === \"CIDFontType2\" && this.cidEncoding.startsWith(\"Identity-\")) {\n var GlyphMapForStandardFonts = (0, _standard_fonts.getGlyphMapForStandardFonts)();\n var map = [];\n\n for (var charCode in GlyphMapForStandardFonts) {\n map[+charCode] = GlyphMapForStandardFonts[charCode];\n }\n\n if (/Arial-?Black/i.test(name)) {\n var SupplementalGlyphMapForArialBlack = (0, _standard_fonts.getSupplementalGlyphMapForArialBlack)();\n\n for (var _charCode in SupplementalGlyphMapForArialBlack) {\n map[+_charCode] = SupplementalGlyphMapForArialBlack[_charCode];\n }\n } else if (/Calibri/i.test(name)) {\n var SupplementalGlyphMapForCalibri = (0, _standard_fonts.getSupplementalGlyphMapForCalibri)();\n\n for (var _charCode2 in SupplementalGlyphMapForCalibri) {\n map[+_charCode2] = SupplementalGlyphMapForCalibri[_charCode2];\n }\n }\n\n var isIdentityUnicode = this.toUnicode instanceof IdentityToUnicodeMap;\n\n if (!isIdentityUnicode) {\n this.toUnicode.forEach(function (charCode, unicodeCharCode) {\n map[+charCode] = unicodeCharCode;\n });\n }\n\n this.toFontChar = map;\n this.toUnicode = new ToUnicodeMap(map);\n } else if (/Symbol/i.test(fontName)) {\n this.toFontChar = buildToFontChar(_encodings.SymbolSetEncoding, (0, _glyphlist.getGlyphsUnicode)(), this.differences);\n } else if (/Dingbats/i.test(fontName)) {\n if (/Wingdings/i.test(name)) {\n (0, _util.warn)(\"Non-embedded Wingdings font, falling back to ZapfDingbats.\");\n }\n\n this.toFontChar = buildToFontChar(_encodings.ZapfDingbatsEncoding, (0, _glyphlist.getDingbatsGlyphsUnicode)(), this.differences);\n } else if (isStandardFont) {\n this.toFontChar = buildToFontChar(this.defaultEncoding, (0, _glyphlist.getGlyphsUnicode)(), this.differences);\n } else {\n var glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n var _map = [];\n this.toUnicode.forEach(function (charCode, unicodeCharCode) {\n if (!_this.composite) {\n var glyphName = _this.differences[charCode] || _this.defaultEncoding[charCode];\n var unicode = (0, _unicode.getUnicodeForGlyph)(glyphName, glyphsUnicodeMap);\n\n if (unicode !== -1) {\n unicodeCharCode = unicode;\n }\n }\n\n _map[+charCode] = unicodeCharCode;\n });\n\n if (this.composite && this.toUnicode instanceof IdentityToUnicodeMap) {\n if (/Verdana/i.test(name)) {\n var _GlyphMapForStandardFonts = (0, _standard_fonts.getGlyphMapForStandardFonts)();\n\n for (var _charCode3 in _GlyphMapForStandardFonts) {\n _map[+_charCode3] = _GlyphMapForStandardFonts[_charCode3];\n }\n }\n }\n\n this.toFontChar = _map;\n }\n\n this.loadedName = fontName.split(\"-\")[0];\n this.fontType = getFontType(type, subtype);\n },\n checkAndRepair: function Font_checkAndRepair(name, font, properties) {\n var VALID_TABLES = [\"OS/2\", \"cmap\", \"head\", \"hhea\", \"hmtx\", \"maxp\", \"name\", \"post\", \"loca\", \"glyf\", \"fpgm\", \"prep\", \"cvt \", \"CFF \"];\n\n function readTables(file, numTables) {\n var tables = Object.create(null);\n tables[\"OS/2\"] = null;\n tables.cmap = null;\n tables.head = null;\n tables.hhea = null;\n tables.hmtx = null;\n tables.maxp = null;\n tables.name = null;\n tables.post = null;\n\n for (var i = 0; i < numTables; i++) {\n var table = readTableEntry(file);\n\n if (!VALID_TABLES.includes(table.tag)) {\n continue;\n }\n\n if (table.length === 0) {\n continue;\n }\n\n tables[table.tag] = table;\n }\n\n return tables;\n }\n\n function readTableEntry(file) {\n var tag = (0, _util.bytesToString)(file.getBytes(4));\n var checksum = file.getInt32() >>> 0;\n var offset = file.getInt32() >>> 0;\n var length = file.getInt32() >>> 0;\n var previousPosition = file.pos;\n file.pos = file.start ? file.start : 0;\n file.skip(offset);\n var data = file.getBytes(length);\n file.pos = previousPosition;\n\n if (tag === \"head\") {\n data[8] = data[9] = data[10] = data[11] = 0;\n data[17] |= 0x20;\n }\n\n return {\n tag: tag,\n checksum: checksum,\n length: length,\n offset: offset,\n data: data\n };\n }\n\n function readOpenTypeHeader(ttf) {\n return {\n version: (0, _util.bytesToString)(ttf.getBytes(4)),\n numTables: ttf.getUint16(),\n searchRange: ttf.getUint16(),\n entrySelector: ttf.getUint16(),\n rangeShift: ttf.getUint16()\n };\n }\n\n function readTrueTypeCollectionHeader(ttc) {\n var ttcTag = (0, _util.bytesToString)(ttc.getBytes(4));\n (0, _util.assert)(ttcTag === \"ttcf\", \"Must be a TrueType Collection font.\");\n var majorVersion = ttc.getUint16();\n var minorVersion = ttc.getUint16();\n var numFonts = ttc.getInt32() >>> 0;\n var offsetTable = [];\n\n for (var i = 0; i < numFonts; i++) {\n offsetTable.push(ttc.getInt32() >>> 0);\n }\n\n var header = {\n ttcTag: ttcTag,\n majorVersion: majorVersion,\n minorVersion: minorVersion,\n numFonts: numFonts,\n offsetTable: offsetTable\n };\n\n switch (majorVersion) {\n case 1:\n return header;\n\n case 2:\n header.dsigTag = ttc.getInt32() >>> 0;\n header.dsigLength = ttc.getInt32() >>> 0;\n header.dsigOffset = ttc.getInt32() >>> 0;\n return header;\n }\n\n throw new _util.FormatError(\"Invalid TrueType Collection majorVersion: \".concat(majorVersion, \".\"));\n }\n\n function readTrueTypeCollectionData(ttc, fontName) {\n var _readTrueTypeCollecti = readTrueTypeCollectionHeader(ttc),\n numFonts = _readTrueTypeCollecti.numFonts,\n offsetTable = _readTrueTypeCollecti.offsetTable;\n\n for (var i = 0; i < numFonts; i++) {\n ttc.pos = (ttc.start || 0) + offsetTable[i];\n var potentialHeader = readOpenTypeHeader(ttc);\n var potentialTables = readTables(ttc, potentialHeader.numTables);\n\n if (!potentialTables.name) {\n throw new _util.FormatError('TrueType Collection font must contain a \"name\" table.');\n }\n\n var nameTable = readNameTable(potentialTables.name);\n\n for (var j = 0, jj = nameTable.length; j < jj; j++) {\n for (var k = 0, kk = nameTable[j].length; k < kk; k++) {\n var nameEntry = nameTable[j][k];\n\n if (nameEntry && nameEntry.replace(/\\s/g, \"\") === fontName) {\n return {\n header: potentialHeader,\n tables: potentialTables\n };\n }\n }\n }\n }\n\n throw new _util.FormatError(\"TrueType Collection does not contain \\\"\".concat(fontName, \"\\\" font.\"));\n }\n\n function readCmapTable(cmap, file, isSymbolicFont, hasEncoding) {\n if (!cmap) {\n (0, _util.warn)(\"No cmap table available.\");\n return {\n platformId: -1,\n encodingId: -1,\n mappings: [],\n hasShortCmap: false\n };\n }\n\n var segment;\n var start = (file.start ? file.start : 0) + cmap.offset;\n file.pos = start;\n file.skip(2);\n var numTables = file.getUint16();\n var potentialTable;\n var canBreak = false;\n\n for (var i = 0; i < numTables; i++) {\n var platformId = file.getUint16();\n var encodingId = file.getUint16();\n var offset = file.getInt32() >>> 0;\n var useTable = false;\n\n if (potentialTable && potentialTable.platformId === platformId && potentialTable.encodingId === encodingId) {\n continue;\n }\n\n if (platformId === 0 && (encodingId === 0 || encodingId === 1 || encodingId === 3)) {\n useTable = true;\n } else if (platformId === 1 && encodingId === 0) {\n useTable = true;\n } else if (platformId === 3 && encodingId === 1 && (hasEncoding || !potentialTable)) {\n useTable = true;\n\n if (!isSymbolicFont) {\n canBreak = true;\n }\n } else if (isSymbolicFont && platformId === 3 && encodingId === 0) {\n useTable = true;\n canBreak = true;\n }\n\n if (useTable) {\n potentialTable = {\n platformId: platformId,\n encodingId: encodingId,\n offset: offset\n };\n }\n\n if (canBreak) {\n break;\n }\n }\n\n if (potentialTable) {\n file.pos = start + potentialTable.offset;\n }\n\n if (!potentialTable || file.peekByte() === -1) {\n (0, _util.warn)(\"Could not find a preferred cmap table.\");\n return {\n platformId: -1,\n encodingId: -1,\n mappings: [],\n hasShortCmap: false\n };\n }\n\n var format = file.getUint16();\n file.skip(2 + 2);\n var hasShortCmap = false;\n var mappings = [];\n var j, glyphId;\n\n if (format === 0) {\n for (j = 0; j < 256; j++) {\n var index = file.getByte();\n\n if (!index) {\n continue;\n }\n\n mappings.push({\n charCode: j,\n glyphId: index\n });\n }\n\n hasShortCmap = true;\n } else if (format === 4) {\n var segCount = file.getUint16() >> 1;\n file.skip(6);\n var segIndex,\n segments = [];\n\n for (segIndex = 0; segIndex < segCount; segIndex++) {\n segments.push({\n end: file.getUint16()\n });\n }\n\n file.skip(2);\n\n for (segIndex = 0; segIndex < segCount; segIndex++) {\n segments[segIndex].start = file.getUint16();\n }\n\n for (segIndex = 0; segIndex < segCount; segIndex++) {\n segments[segIndex].delta = file.getUint16();\n }\n\n var offsetsCount = 0;\n\n for (segIndex = 0; segIndex < segCount; segIndex++) {\n segment = segments[segIndex];\n var rangeOffset = file.getUint16();\n\n if (!rangeOffset) {\n segment.offsetIndex = -1;\n continue;\n }\n\n var offsetIndex = (rangeOffset >> 1) - (segCount - segIndex);\n segment.offsetIndex = offsetIndex;\n offsetsCount = Math.max(offsetsCount, offsetIndex + segment.end - segment.start + 1);\n }\n\n var offsets = [];\n\n for (j = 0; j < offsetsCount; j++) {\n offsets.push(file.getUint16());\n }\n\n for (segIndex = 0; segIndex < segCount; segIndex++) {\n segment = segments[segIndex];\n start = segment.start;\n var end = segment.end;\n var delta = segment.delta;\n offsetIndex = segment.offsetIndex;\n\n for (j = start; j <= end; j++) {\n if (j === 0xffff) {\n continue;\n }\n\n glyphId = offsetIndex < 0 ? j : offsets[offsetIndex + j - start];\n glyphId = glyphId + delta & 0xffff;\n mappings.push({\n charCode: j,\n glyphId: glyphId\n });\n }\n }\n } else if (format === 6) {\n var firstCode = file.getUint16();\n var entryCount = file.getUint16();\n\n for (j = 0; j < entryCount; j++) {\n glyphId = file.getUint16();\n var charCode = firstCode + j;\n mappings.push({\n charCode: charCode,\n glyphId: glyphId\n });\n }\n } else {\n (0, _util.warn)(\"cmap table has unsupported format: \" + format);\n return {\n platformId: -1,\n encodingId: -1,\n mappings: [],\n hasShortCmap: false\n };\n }\n\n mappings.sort(function (a, b) {\n return a.charCode - b.charCode;\n });\n\n for (i = 1; i < mappings.length; i++) {\n if (mappings[i - 1].charCode === mappings[i].charCode) {\n mappings.splice(i, 1);\n i--;\n }\n }\n\n return {\n platformId: potentialTable.platformId,\n encodingId: potentialTable.encodingId,\n mappings: mappings,\n hasShortCmap: hasShortCmap\n };\n }\n\n function sanitizeMetrics(file, header, metrics, numGlyphs, dupFirstEntry) {\n if (!header) {\n if (metrics) {\n metrics.data = null;\n }\n\n return;\n }\n\n file.pos = (file.start ? file.start : 0) + header.offset;\n file.pos += 4;\n file.pos += 2;\n file.pos += 2;\n file.pos += 2;\n file.pos += 2;\n file.pos += 2;\n file.pos += 2;\n file.pos += 2;\n file.pos += 2;\n file.pos += 2;\n file.pos += 2;\n file.pos += 8;\n file.pos += 2;\n var numOfMetrics = file.getUint16();\n\n if (numOfMetrics > numGlyphs) {\n (0, _util.info)(\"The numOfMetrics (\" + numOfMetrics + \") should not be \" + \"greater than the numGlyphs (\" + numGlyphs + \")\");\n numOfMetrics = numGlyphs;\n header.data[34] = (numOfMetrics & 0xff00) >> 8;\n header.data[35] = numOfMetrics & 0x00ff;\n }\n\n var numOfSidebearings = numGlyphs - numOfMetrics;\n var numMissing = numOfSidebearings - (metrics.length - numOfMetrics * 4 >> 1);\n\n if (numMissing > 0) {\n var entries = new Uint8Array(metrics.length + numMissing * 2);\n entries.set(metrics.data);\n\n if (dupFirstEntry) {\n entries[metrics.length] = metrics.data[2];\n entries[metrics.length + 1] = metrics.data[3];\n }\n\n metrics.data = entries;\n }\n }\n\n function sanitizeGlyph(source, sourceStart, sourceEnd, dest, destStart, hintsValid) {\n var glyphProfile = {\n length: 0,\n sizeOfInstructions: 0\n };\n\n if (sourceEnd - sourceStart <= 12) {\n return glyphProfile;\n }\n\n var glyf = source.subarray(sourceStart, sourceEnd);\n var contoursCount = signedInt16(glyf[0], glyf[1]);\n\n if (contoursCount < 0) {\n contoursCount = -1;\n writeSignedInt16(glyf, 0, contoursCount);\n dest.set(glyf, destStart);\n glyphProfile.length = glyf.length;\n return glyphProfile;\n }\n\n var i,\n j = 10,\n flagsCount = 0;\n\n for (i = 0; i < contoursCount; i++) {\n var endPoint = glyf[j] << 8 | glyf[j + 1];\n flagsCount = endPoint + 1;\n j += 2;\n }\n\n var instructionsStart = j;\n var instructionsLength = glyf[j] << 8 | glyf[j + 1];\n glyphProfile.sizeOfInstructions = instructionsLength;\n j += 2 + instructionsLength;\n var instructionsEnd = j;\n var coordinatesLength = 0;\n\n for (i = 0; i < flagsCount; i++) {\n var flag = glyf[j++];\n\n if (flag & 0xc0) {\n glyf[j - 1] = flag & 0x3f;\n }\n\n var xLength = 2;\n\n if (flag & 2) {\n xLength = 1;\n } else if (flag & 16) {\n xLength = 0;\n }\n\n var yLength = 2;\n\n if (flag & 4) {\n yLength = 1;\n } else if (flag & 32) {\n yLength = 0;\n }\n\n var xyLength = xLength + yLength;\n coordinatesLength += xyLength;\n\n if (flag & 8) {\n var repeat = glyf[j++];\n i += repeat;\n coordinatesLength += repeat * xyLength;\n }\n }\n\n if (coordinatesLength === 0) {\n return glyphProfile;\n }\n\n var glyphDataLength = j + coordinatesLength;\n\n if (glyphDataLength > glyf.length) {\n return glyphProfile;\n }\n\n if (!hintsValid && instructionsLength > 0) {\n dest.set(glyf.subarray(0, instructionsStart), destStart);\n dest.set([0, 0], destStart + instructionsStart);\n dest.set(glyf.subarray(instructionsEnd, glyphDataLength), destStart + instructionsStart + 2);\n glyphDataLength -= instructionsLength;\n\n if (glyf.length - glyphDataLength > 3) {\n glyphDataLength = glyphDataLength + 3 & ~3;\n }\n\n glyphProfile.length = glyphDataLength;\n return glyphProfile;\n }\n\n if (glyf.length - glyphDataLength > 3) {\n glyphDataLength = glyphDataLength + 3 & ~3;\n dest.set(glyf.subarray(0, glyphDataLength), destStart);\n glyphProfile.length = glyphDataLength;\n return glyphProfile;\n }\n\n dest.set(glyf, destStart);\n glyphProfile.length = glyf.length;\n return glyphProfile;\n }\n\n function sanitizeHead(head, numGlyphs, locaLength) {\n var data = head.data;\n var version = int32(data[0], data[1], data[2], data[3]);\n\n if (version >> 16 !== 1) {\n (0, _util.info)(\"Attempting to fix invalid version in head table: \" + version);\n data[0] = 0;\n data[1] = 1;\n data[2] = 0;\n data[3] = 0;\n }\n\n var indexToLocFormat = int16(data[50], data[51]);\n\n if (indexToLocFormat < 0 || indexToLocFormat > 1) {\n (0, _util.info)(\"Attempting to fix invalid indexToLocFormat in head table: \" + indexToLocFormat);\n var numGlyphsPlusOne = numGlyphs + 1;\n\n if (locaLength === numGlyphsPlusOne << 1) {\n data[50] = 0;\n data[51] = 0;\n } else if (locaLength === numGlyphsPlusOne << 2) {\n data[50] = 0;\n data[51] = 1;\n } else {\n throw new _util.FormatError(\"Could not fix indexToLocFormat: \" + indexToLocFormat);\n }\n }\n }\n\n function sanitizeGlyphLocations(loca, glyf, numGlyphs, isGlyphLocationsLong, hintsValid, dupFirstEntry, maxSizeOfInstructions) {\n var itemSize, itemDecode, itemEncode;\n\n if (isGlyphLocationsLong) {\n itemSize = 4;\n\n itemDecode = function fontItemDecodeLong(data, offset) {\n return data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3];\n };\n\n itemEncode = function fontItemEncodeLong(data, offset, value) {\n data[offset] = value >>> 24 & 0xff;\n data[offset + 1] = value >> 16 & 0xff;\n data[offset + 2] = value >> 8 & 0xff;\n data[offset + 3] = value & 0xff;\n };\n } else {\n itemSize = 2;\n\n itemDecode = function fontItemDecode(data, offset) {\n return data[offset] << 9 | data[offset + 1] << 1;\n };\n\n itemEncode = function fontItemEncode(data, offset, value) {\n data[offset] = value >> 9 & 0xff;\n data[offset + 1] = value >> 1 & 0xff;\n };\n }\n\n var numGlyphsOut = dupFirstEntry ? numGlyphs + 1 : numGlyphs;\n var locaDataSize = itemSize * (1 + numGlyphsOut);\n var locaData = new Uint8Array(locaDataSize);\n locaData.set(loca.data.subarray(0, locaDataSize));\n loca.data = locaData;\n var oldGlyfData = glyf.data;\n var oldGlyfDataLength = oldGlyfData.length;\n var newGlyfData = new Uint8Array(oldGlyfDataLength);\n var i, j;\n var locaEntries = [];\n\n for (i = 0, j = 0; i < numGlyphs + 1; i++, j += itemSize) {\n var offset = itemDecode(locaData, j);\n\n if (offset > oldGlyfDataLength) {\n offset = oldGlyfDataLength;\n }\n\n locaEntries.push({\n index: i,\n offset: offset,\n endOffset: 0\n });\n }\n\n locaEntries.sort(function (a, b) {\n return a.offset - b.offset;\n });\n\n for (i = 0; i < numGlyphs; i++) {\n locaEntries[i].endOffset = locaEntries[i + 1].offset;\n }\n\n locaEntries.sort(function (a, b) {\n return a.index - b.index;\n });\n var missingGlyphs = Object.create(null);\n var writeOffset = 0;\n itemEncode(locaData, 0, writeOffset);\n\n for (i = 0, j = itemSize; i < numGlyphs; i++, j += itemSize) {\n var glyphProfile = sanitizeGlyph(oldGlyfData, locaEntries[i].offset, locaEntries[i].endOffset, newGlyfData, writeOffset, hintsValid);\n var newLength = glyphProfile.length;\n\n if (newLength === 0) {\n missingGlyphs[i] = true;\n }\n\n if (glyphProfile.sizeOfInstructions > maxSizeOfInstructions) {\n maxSizeOfInstructions = glyphProfile.sizeOfInstructions;\n }\n\n writeOffset += newLength;\n itemEncode(locaData, j, writeOffset);\n }\n\n if (writeOffset === 0) {\n var simpleGlyph = new Uint8Array([0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 0]);\n\n for (i = 0, j = itemSize; i < numGlyphsOut; i++, j += itemSize) {\n itemEncode(locaData, j, simpleGlyph.length);\n }\n\n glyf.data = simpleGlyph;\n } else if (dupFirstEntry) {\n var firstEntryLength = itemDecode(locaData, itemSize);\n\n if (newGlyfData.length > firstEntryLength + writeOffset) {\n glyf.data = newGlyfData.subarray(0, firstEntryLength + writeOffset);\n } else {\n glyf.data = new Uint8Array(firstEntryLength + writeOffset);\n glyf.data.set(newGlyfData.subarray(0, writeOffset));\n }\n\n glyf.data.set(newGlyfData.subarray(0, firstEntryLength), writeOffset);\n itemEncode(loca.data, locaData.length - itemSize, writeOffset + firstEntryLength);\n } else {\n glyf.data = newGlyfData.subarray(0, writeOffset);\n }\n\n return {\n missingGlyphs: missingGlyphs,\n maxSizeOfInstructions: maxSizeOfInstructions\n };\n }\n\n function readPostScriptTable(post, propertiesObj, maxpNumGlyphs) {\n var start = (font.start ? font.start : 0) + post.offset;\n font.pos = start;\n var length = post.length,\n end = start + length;\n var version = font.getInt32();\n font.skip(28);\n var glyphNames;\n var valid = true;\n var i;\n\n switch (version) {\n case 0x00010000:\n glyphNames = MacStandardGlyphOrdering;\n break;\n\n case 0x00020000:\n var numGlyphs = font.getUint16();\n\n if (numGlyphs !== maxpNumGlyphs) {\n valid = false;\n break;\n }\n\n var glyphNameIndexes = [];\n\n for (i = 0; i < numGlyphs; ++i) {\n var index = font.getUint16();\n\n if (index >= 32768) {\n valid = false;\n break;\n }\n\n glyphNameIndexes.push(index);\n }\n\n if (!valid) {\n break;\n }\n\n var customNames = [];\n var strBuf = [];\n\n while (font.pos < end) {\n var stringLength = font.getByte();\n strBuf.length = stringLength;\n\n for (i = 0; i < stringLength; ++i) {\n strBuf[i] = String.fromCharCode(font.getByte());\n }\n\n customNames.push(strBuf.join(\"\"));\n }\n\n glyphNames = [];\n\n for (i = 0; i < numGlyphs; ++i) {\n var j = glyphNameIndexes[i];\n\n if (j < 258) {\n glyphNames.push(MacStandardGlyphOrdering[j]);\n continue;\n }\n\n glyphNames.push(customNames[j - 258]);\n }\n\n break;\n\n case 0x00030000:\n break;\n\n default:\n (0, _util.warn)(\"Unknown/unsupported post table version \" + version);\n valid = false;\n\n if (propertiesObj.defaultEncoding) {\n glyphNames = propertiesObj.defaultEncoding;\n }\n\n break;\n }\n\n propertiesObj.glyphNames = glyphNames;\n return valid;\n }\n\n function readNameTable(nameTable) {\n var start = (font.start ? font.start : 0) + nameTable.offset;\n font.pos = start;\n var names = [[], []];\n var length = nameTable.length,\n end = start + length;\n var format = font.getUint16();\n var FORMAT_0_HEADER_LENGTH = 6;\n\n if (format !== 0 || length < FORMAT_0_HEADER_LENGTH) {\n return names;\n }\n\n var numRecords = font.getUint16();\n var stringsStart = font.getUint16();\n var records = [];\n var NAME_RECORD_LENGTH = 12;\n var i, ii;\n\n for (i = 0; i < numRecords && font.pos + NAME_RECORD_LENGTH <= end; i++) {\n var r = {\n platform: font.getUint16(),\n encoding: font.getUint16(),\n language: font.getUint16(),\n name: font.getUint16(),\n length: font.getUint16(),\n offset: font.getUint16()\n };\n\n if (r.platform === 1 && r.encoding === 0 && r.language === 0 || r.platform === 3 && r.encoding === 1 && r.language === 0x409) {\n records.push(r);\n }\n }\n\n for (i = 0, ii = records.length; i < ii; i++) {\n var record = records[i];\n\n if (record.length <= 0) {\n continue;\n }\n\n var pos = start + stringsStart + record.offset;\n\n if (pos + record.length > end) {\n continue;\n }\n\n font.pos = pos;\n var nameIndex = record.name;\n\n if (record.encoding) {\n var str = \"\";\n\n for (var j = 0, jj = record.length; j < jj; j += 2) {\n str += String.fromCharCode(font.getUint16());\n }\n\n names[1][nameIndex] = str;\n } else {\n names[0][nameIndex] = (0, _util.bytesToString)(font.getBytes(record.length));\n }\n }\n\n return names;\n }\n\n var TTOpsStackDeltas = [0, 0, 0, 0, 0, 0, 0, 0, -2, -2, -2, -2, 0, 0, -2, -5, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, -1, -1, -1, -1, 1, -1, -999, 0, 1, 0, -1, -2, 0, -1, -2, -1, -1, 0, -1, -1, 0, 0, -999, -999, -1, -1, -1, -1, -2, -999, -2, -2, -999, 0, -2, -2, 0, 0, -2, 0, -2, 0, 0, 0, -2, -1, -1, 1, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, -1, -1, 0, -999, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, -999, -999, -999, -999, -999, -1, -1, -2, -2, 0, 0, 0, 0, -1, -1, -999, -2, -2, 0, 0, -1, -2, -2, 0, 0, 0, -1, -1, -1, -2];\n\n function sanitizeTTProgram(table, ttContext) {\n var data = table.data;\n var i = 0,\n j,\n n,\n b,\n funcId,\n pc,\n lastEndf = 0,\n lastDeff = 0;\n var stack = [];\n var callstack = [];\n var functionsCalled = [];\n var tooComplexToFollowFunctions = ttContext.tooComplexToFollowFunctions;\n var inFDEF = false,\n ifLevel = 0,\n inELSE = 0;\n\n for (var ii = data.length; i < ii;) {\n var op = data[i++];\n\n if (op === 0x40) {\n n = data[i++];\n\n if (inFDEF || inELSE) {\n i += n;\n } else {\n for (j = 0; j < n; j++) {\n stack.push(data[i++]);\n }\n }\n } else if (op === 0x41) {\n n = data[i++];\n\n if (inFDEF || inELSE) {\n i += n * 2;\n } else {\n for (j = 0; j < n; j++) {\n b = data[i++];\n stack.push(b << 8 | data[i++]);\n }\n }\n } else if ((op & 0xf8) === 0xb0) {\n n = op - 0xb0 + 1;\n\n if (inFDEF || inELSE) {\n i += n;\n } else {\n for (j = 0; j < n; j++) {\n stack.push(data[i++]);\n }\n }\n } else if ((op & 0xf8) === 0xb8) {\n n = op - 0xb8 + 1;\n\n if (inFDEF || inELSE) {\n i += n * 2;\n } else {\n for (j = 0; j < n; j++) {\n b = data[i++];\n stack.push(b << 8 | data[i++]);\n }\n }\n } else if (op === 0x2b && !tooComplexToFollowFunctions) {\n if (!inFDEF && !inELSE) {\n funcId = stack[stack.length - 1];\n\n if (isNaN(funcId)) {\n (0, _util.info)(\"TT: CALL empty stack (or invalid entry).\");\n } else {\n ttContext.functionsUsed[funcId] = true;\n\n if (funcId in ttContext.functionsStackDeltas) {\n var newStackLength = stack.length + ttContext.functionsStackDeltas[funcId];\n\n if (newStackLength < 0) {\n (0, _util.warn)(\"TT: CALL invalid functions stack delta.\");\n ttContext.hintsValid = false;\n return;\n }\n\n stack.length = newStackLength;\n } else if (funcId in ttContext.functionsDefined && !functionsCalled.includes(funcId)) {\n callstack.push({\n data: data,\n i: i,\n stackTop: stack.length - 1\n });\n functionsCalled.push(funcId);\n pc = ttContext.functionsDefined[funcId];\n\n if (!pc) {\n (0, _util.warn)(\"TT: CALL non-existent function\");\n ttContext.hintsValid = false;\n return;\n }\n\n data = pc.data;\n i = pc.i;\n }\n }\n }\n } else if (op === 0x2c && !tooComplexToFollowFunctions) {\n if (inFDEF || inELSE) {\n (0, _util.warn)(\"TT: nested FDEFs not allowed\");\n tooComplexToFollowFunctions = true;\n }\n\n inFDEF = true;\n lastDeff = i;\n funcId = stack.pop();\n ttContext.functionsDefined[funcId] = {\n data: data,\n i: i\n };\n } else if (op === 0x2d) {\n if (inFDEF) {\n inFDEF = false;\n lastEndf = i;\n } else {\n pc = callstack.pop();\n\n if (!pc) {\n (0, _util.warn)(\"TT: ENDF bad stack\");\n ttContext.hintsValid = false;\n return;\n }\n\n funcId = functionsCalled.pop();\n data = pc.data;\n i = pc.i;\n ttContext.functionsStackDeltas[funcId] = stack.length - pc.stackTop;\n }\n } else if (op === 0x89) {\n if (inFDEF || inELSE) {\n (0, _util.warn)(\"TT: nested IDEFs not allowed\");\n tooComplexToFollowFunctions = true;\n }\n\n inFDEF = true;\n lastDeff = i;\n } else if (op === 0x58) {\n ++ifLevel;\n } else if (op === 0x1b) {\n inELSE = ifLevel;\n } else if (op === 0x59) {\n if (inELSE === ifLevel) {\n inELSE = 0;\n }\n\n --ifLevel;\n } else if (op === 0x1c) {\n if (!inFDEF && !inELSE) {\n var offset = stack[stack.length - 1];\n\n if (offset > 0) {\n i += offset - 1;\n }\n }\n }\n\n if (!inFDEF && !inELSE) {\n var stackDelta = 0;\n\n if (op <= 0x8e) {\n stackDelta = TTOpsStackDeltas[op];\n } else if (op >= 0xc0 && op <= 0xdf) {\n stackDelta = -1;\n } else if (op >= 0xe0) {\n stackDelta = -2;\n }\n\n if (op >= 0x71 && op <= 0x75) {\n n = stack.pop();\n\n if (!isNaN(n)) {\n stackDelta = -n * 2;\n }\n }\n\n while (stackDelta < 0 && stack.length > 0) {\n stack.pop();\n stackDelta++;\n }\n\n while (stackDelta > 0) {\n stack.push(NaN);\n stackDelta--;\n }\n }\n }\n\n ttContext.tooComplexToFollowFunctions = tooComplexToFollowFunctions;\n var content = [data];\n\n if (i > data.length) {\n content.push(new Uint8Array(i - data.length));\n }\n\n if (lastDeff > lastEndf) {\n (0, _util.warn)(\"TT: complementing a missing function tail\");\n content.push(new Uint8Array([0x22, 0x2d]));\n }\n\n foldTTTable(table, content);\n }\n\n function checkInvalidFunctions(ttContext, maxFunctionDefs) {\n if (ttContext.tooComplexToFollowFunctions) {\n return;\n }\n\n if (ttContext.functionsDefined.length > maxFunctionDefs) {\n (0, _util.warn)(\"TT: more functions defined than expected\");\n ttContext.hintsValid = false;\n return;\n }\n\n for (var j = 0, jj = ttContext.functionsUsed.length; j < jj; j++) {\n if (j > maxFunctionDefs) {\n (0, _util.warn)(\"TT: invalid function id: \" + j);\n ttContext.hintsValid = false;\n return;\n }\n\n if (ttContext.functionsUsed[j] && !ttContext.functionsDefined[j]) {\n (0, _util.warn)(\"TT: undefined function: \" + j);\n ttContext.hintsValid = false;\n return;\n }\n }\n }\n\n function foldTTTable(table, content) {\n if (content.length > 1) {\n var newLength = 0;\n var j, jj;\n\n for (j = 0, jj = content.length; j < jj; j++) {\n newLength += content[j].length;\n }\n\n newLength = newLength + 3 & ~3;\n var result = new Uint8Array(newLength);\n var pos = 0;\n\n for (j = 0, jj = content.length; j < jj; j++) {\n result.set(content[j], pos);\n pos += content[j].length;\n }\n\n table.data = result;\n table.length = newLength;\n }\n }\n\n function sanitizeTTPrograms(fpgm, prep, cvt, maxFunctionDefs) {\n var ttContext = {\n functionsDefined: [],\n functionsUsed: [],\n functionsStackDeltas: [],\n tooComplexToFollowFunctions: false,\n hintsValid: true\n };\n\n if (fpgm) {\n sanitizeTTProgram(fpgm, ttContext);\n }\n\n if (prep) {\n sanitizeTTProgram(prep, ttContext);\n }\n\n if (fpgm) {\n checkInvalidFunctions(ttContext, maxFunctionDefs);\n }\n\n if (cvt && cvt.length & 1) {\n var cvtData = new Uint8Array(cvt.length + 1);\n cvtData.set(cvt.data);\n cvt.data = cvtData;\n }\n\n return ttContext.hintsValid;\n }\n\n font = new _stream.Stream(new Uint8Array(font.getBytes()));\n var header, tables;\n\n if (isTrueTypeCollectionFile(font)) {\n var ttcData = readTrueTypeCollectionData(font, this.name);\n header = ttcData.header;\n tables = ttcData.tables;\n } else {\n header = readOpenTypeHeader(font);\n tables = readTables(font, header.numTables);\n }\n\n var cff, cffFile;\n var isTrueType = !tables[\"CFF \"];\n\n if (!isTrueType) {\n var isComposite = properties.composite && ((properties.cidToGidMap || []).length > 0 || !(properties.cMap instanceof _cmap.IdentityCMap));\n\n if (header.version === \"OTTO\" && !isComposite || !tables.head || !tables.hhea || !tables.maxp || !tables.post) {\n cffFile = new _stream.Stream(tables[\"CFF \"].data);\n cff = new CFFFont(cffFile, properties);\n adjustWidths(properties);\n return this.convert(name, cff, properties);\n }\n\n delete tables.glyf;\n delete tables.loca;\n delete tables.fpgm;\n delete tables.prep;\n delete tables[\"cvt \"];\n this.isOpenType = true;\n } else {\n if (!tables.loca) {\n throw new _util.FormatError('Required \"loca\" table is not found');\n }\n\n if (!tables.glyf) {\n (0, _util.warn)('Required \"glyf\" table is not found -- trying to recover.');\n tables.glyf = {\n tag: \"glyf\",\n data: new Uint8Array(0)\n };\n }\n\n this.isOpenType = false;\n }\n\n if (!tables.maxp) {\n throw new _util.FormatError('Required \"maxp\" table is not found');\n }\n\n font.pos = (font.start || 0) + tables.maxp.offset;\n var version = font.getInt32();\n var numGlyphs = font.getUint16();\n var numGlyphsOut = numGlyphs + 1;\n var dupFirstEntry = true;\n\n if (numGlyphsOut > 0xffff) {\n dupFirstEntry = false;\n numGlyphsOut = numGlyphs;\n (0, _util.warn)(\"Not enough space in glyfs to duplicate first glyph.\");\n }\n\n var maxFunctionDefs = 0;\n var maxSizeOfInstructions = 0;\n\n if (version >= 0x00010000 && tables.maxp.length >= 22) {\n font.pos += 8;\n var maxZones = font.getUint16();\n\n if (maxZones > 2) {\n tables.maxp.data[14] = 0;\n tables.maxp.data[15] = 2;\n }\n\n font.pos += 4;\n maxFunctionDefs = font.getUint16();\n font.pos += 4;\n maxSizeOfInstructions = font.getUint16();\n }\n\n tables.maxp.data[4] = numGlyphsOut >> 8;\n tables.maxp.data[5] = numGlyphsOut & 255;\n var hintsValid = sanitizeTTPrograms(tables.fpgm, tables.prep, tables[\"cvt \"], maxFunctionDefs);\n\n if (!hintsValid) {\n delete tables.fpgm;\n delete tables.prep;\n delete tables[\"cvt \"];\n }\n\n sanitizeMetrics(font, tables.hhea, tables.hmtx, numGlyphsOut, dupFirstEntry);\n\n if (!tables.head) {\n throw new _util.FormatError('Required \"head\" table is not found');\n }\n\n sanitizeHead(tables.head, numGlyphs, isTrueType ? tables.loca.length : 0);\n var missingGlyphs = Object.create(null);\n\n if (isTrueType) {\n var isGlyphLocationsLong = int16(tables.head.data[50], tables.head.data[51]);\n var glyphsInfo = sanitizeGlyphLocations(tables.loca, tables.glyf, numGlyphs, isGlyphLocationsLong, hintsValid, dupFirstEntry, maxSizeOfInstructions);\n missingGlyphs = glyphsInfo.missingGlyphs;\n\n if (version >= 0x00010000 && tables.maxp.length >= 22) {\n tables.maxp.data[26] = glyphsInfo.maxSizeOfInstructions >> 8;\n tables.maxp.data[27] = glyphsInfo.maxSizeOfInstructions & 255;\n }\n }\n\n if (!tables.hhea) {\n throw new _util.FormatError('Required \"hhea\" table is not found');\n }\n\n if (tables.hhea.data[10] === 0 && tables.hhea.data[11] === 0) {\n tables.hhea.data[10] = 0xff;\n tables.hhea.data[11] = 0xff;\n }\n\n var metricsOverride = {\n unitsPerEm: int16(tables.head.data[18], tables.head.data[19]),\n yMax: int16(tables.head.data[42], tables.head.data[43]),\n yMin: signedInt16(tables.head.data[38], tables.head.data[39]),\n ascent: int16(tables.hhea.data[4], tables.hhea.data[5]),\n descent: signedInt16(tables.hhea.data[6], tables.hhea.data[7])\n };\n this.ascent = metricsOverride.ascent / metricsOverride.unitsPerEm;\n this.descent = metricsOverride.descent / metricsOverride.unitsPerEm;\n\n if (tables.post) {\n readPostScriptTable(tables.post, properties, numGlyphs);\n }\n\n tables.post = {\n tag: \"post\",\n data: createPostTable(properties)\n };\n var charCodeToGlyphId = [];\n\n function hasGlyph(glyphId) {\n return !missingGlyphs[glyphId];\n }\n\n if (properties.composite) {\n var cidToGidMap = properties.cidToGidMap || [];\n var isCidToGidMapEmpty = cidToGidMap.length === 0;\n properties.cMap.forEach(function (charCode, cid) {\n if (cid > 0xffff) {\n throw new _util.FormatError(\"Max size of CID is 65,535\");\n }\n\n var glyphId = -1;\n\n if (isCidToGidMapEmpty) {\n glyphId = cid;\n } else if (cidToGidMap[cid] !== undefined) {\n glyphId = cidToGidMap[cid];\n }\n\n if (glyphId >= 0 && glyphId < numGlyphs && hasGlyph(glyphId)) {\n charCodeToGlyphId[charCode] = glyphId;\n }\n });\n } else {\n var cmapTable = readCmapTable(tables.cmap, font, this.isSymbolicFont, properties.hasEncoding);\n var cmapPlatformId = cmapTable.platformId;\n var cmapEncodingId = cmapTable.encodingId;\n var cmapMappings = cmapTable.mappings;\n var cmapMappingsLength = cmapMappings.length;\n var baseEncoding = [];\n\n if (properties.hasEncoding && (properties.baseEncodingName === \"MacRomanEncoding\" || properties.baseEncodingName === \"WinAnsiEncoding\")) {\n baseEncoding = (0, _encodings.getEncoding)(properties.baseEncodingName);\n }\n\n if (properties.hasEncoding && !this.isSymbolicFont && (cmapPlatformId === 3 && cmapEncodingId === 1 || cmapPlatformId === 1 && cmapEncodingId === 0)) {\n var glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n\n for (var charCode = 0; charCode < 256; charCode++) {\n var glyphName, standardGlyphName;\n\n if (this.differences && charCode in this.differences) {\n glyphName = this.differences[charCode];\n } else if (charCode in baseEncoding && baseEncoding[charCode] !== \"\") {\n glyphName = baseEncoding[charCode];\n } else {\n glyphName = _encodings.StandardEncoding[charCode];\n }\n\n if (!glyphName) {\n continue;\n }\n\n standardGlyphName = recoverGlyphName(glyphName, glyphsUnicodeMap);\n var unicodeOrCharCode;\n\n if (cmapPlatformId === 3 && cmapEncodingId === 1) {\n unicodeOrCharCode = glyphsUnicodeMap[standardGlyphName];\n } else if (cmapPlatformId === 1 && cmapEncodingId === 0) {\n unicodeOrCharCode = _encodings.MacRomanEncoding.indexOf(standardGlyphName);\n }\n\n for (var i = 0; i < cmapMappingsLength; ++i) {\n if (cmapMappings[i].charCode !== unicodeOrCharCode) {\n continue;\n }\n\n charCodeToGlyphId[charCode] = cmapMappings[i].glyphId;\n break;\n }\n }\n } else if (cmapPlatformId === 0) {\n for (var _i2 = 0; _i2 < cmapMappingsLength; ++_i2) {\n charCodeToGlyphId[cmapMappings[_i2].charCode] = cmapMappings[_i2].glyphId;\n }\n } else {\n for (var _i3 = 0; _i3 < cmapMappingsLength; ++_i3) {\n var _charCode4 = cmapMappings[_i3].charCode;\n\n if (cmapPlatformId === 3 && _charCode4 >= 0xf000 && _charCode4 <= 0xf0ff) {\n _charCode4 &= 0xff;\n }\n\n charCodeToGlyphId[_charCode4] = cmapMappings[_i3].glyphId;\n }\n }\n\n if (properties.glyphNames && baseEncoding.length) {\n for (var _i4 = 0; _i4 < 256; ++_i4) {\n if (charCodeToGlyphId[_i4] === undefined && baseEncoding[_i4]) {\n glyphName = baseEncoding[_i4];\n var glyphId = properties.glyphNames.indexOf(glyphName);\n\n if (glyphId > 0 && hasGlyph(glyphId)) {\n charCodeToGlyphId[_i4] = glyphId;\n }\n }\n }\n }\n }\n\n if (charCodeToGlyphId.length === 0) {\n charCodeToGlyphId[0] = 0;\n }\n\n var glyphZeroId = numGlyphsOut - 1;\n\n if (!dupFirstEntry) {\n glyphZeroId = 0;\n }\n\n var newMapping = adjustMapping(charCodeToGlyphId, hasGlyph, glyphZeroId);\n this.toFontChar = newMapping.toFontChar;\n tables.cmap = {\n tag: \"cmap\",\n data: createCmapTable(newMapping.charCodeToGlyphId, numGlyphsOut)\n };\n\n if (!tables[\"OS/2\"] || !validateOS2Table(tables[\"OS/2\"], font)) {\n tables[\"OS/2\"] = {\n tag: \"OS/2\",\n data: createOS2Table(properties, newMapping.charCodeToGlyphId, metricsOverride)\n };\n }\n\n if (!isTrueType) {\n try {\n cffFile = new _stream.Stream(tables[\"CFF \"].data);\n var parser = new _cff_parser.CFFParser(cffFile, properties, SEAC_ANALYSIS_ENABLED);\n cff = parser.parse();\n cff.duplicateFirstGlyph();\n var compiler = new _cff_parser.CFFCompiler(cff);\n tables[\"CFF \"].data = compiler.compile();\n } catch (e) {\n (0, _util.warn)(\"Failed to compile font \" + properties.loadedName);\n }\n }\n\n if (!tables.name) {\n tables.name = {\n tag: \"name\",\n data: createNameTable(this.name)\n };\n } else {\n var namePrototype = readNameTable(tables.name);\n tables.name.data = createNameTable(name, namePrototype);\n }\n\n var builder = new OpenTypeFileBuilder(header.version);\n\n for (var tableTag in tables) {\n builder.addTable(tableTag, tables[tableTag].data);\n }\n\n return builder.toArray();\n },\n convert: function Font_convert(fontName, font, properties) {\n properties.fixedPitch = false;\n\n if (properties.builtInEncoding) {\n adjustToUnicode(properties, properties.builtInEncoding);\n }\n\n var glyphZeroId = 1;\n\n if (font instanceof CFFFont) {\n glyphZeroId = font.numGlyphs - 1;\n }\n\n var mapping = font.getGlyphMapping(properties);\n var newMapping = adjustMapping(mapping, font.hasGlyphId.bind(font), glyphZeroId);\n this.toFontChar = newMapping.toFontChar;\n var numGlyphs = font.numGlyphs;\n\n function getCharCodes(charCodeToGlyphId, glyphId) {\n var charCodes = null;\n\n for (var charCode in charCodeToGlyphId) {\n if (glyphId === charCodeToGlyphId[charCode]) {\n if (!charCodes) {\n charCodes = [];\n }\n\n charCodes.push(charCode | 0);\n }\n }\n\n return charCodes;\n }\n\n function createCharCode(charCodeToGlyphId, glyphId) {\n for (var charCode in charCodeToGlyphId) {\n if (glyphId === charCodeToGlyphId[charCode]) {\n return charCode | 0;\n }\n }\n\n newMapping.charCodeToGlyphId[newMapping.nextAvailableFontCharCode] = glyphId;\n return newMapping.nextAvailableFontCharCode++;\n }\n\n var seacs = font.seacs;\n\n if (SEAC_ANALYSIS_ENABLED && seacs && seacs.length) {\n var matrix = properties.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n var charset = font.getCharset();\n var seacMap = Object.create(null);\n\n for (var glyphId in seacs) {\n glyphId |= 0;\n var seac = seacs[glyphId];\n var baseGlyphName = _encodings.StandardEncoding[seac[2]];\n var accentGlyphName = _encodings.StandardEncoding[seac[3]];\n var baseGlyphId = charset.indexOf(baseGlyphName);\n var accentGlyphId = charset.indexOf(accentGlyphName);\n\n if (baseGlyphId < 0 || accentGlyphId < 0) {\n continue;\n }\n\n var accentOffset = {\n x: seac[0] * matrix[0] + seac[1] * matrix[2] + matrix[4],\n y: seac[0] * matrix[1] + seac[1] * matrix[3] + matrix[5]\n };\n var charCodes = getCharCodes(mapping, glyphId);\n\n if (!charCodes) {\n continue;\n }\n\n for (var i = 0, ii = charCodes.length; i < ii; i++) {\n var charCode = charCodes[i];\n var charCodeToGlyphId = newMapping.charCodeToGlyphId;\n var baseFontCharCode = createCharCode(charCodeToGlyphId, baseGlyphId);\n var accentFontCharCode = createCharCode(charCodeToGlyphId, accentGlyphId);\n seacMap[charCode] = {\n baseFontCharCode: baseFontCharCode,\n accentFontCharCode: accentFontCharCode,\n accentOffset: accentOffset\n };\n }\n }\n\n properties.seacMap = seacMap;\n }\n\n var unitsPerEm = 1 / (properties.fontMatrix || _util.FONT_IDENTITY_MATRIX)[0];\n var builder = new OpenTypeFileBuilder(\"\\x4F\\x54\\x54\\x4F\");\n builder.addTable(\"CFF \", font.data);\n builder.addTable(\"OS/2\", createOS2Table(properties, newMapping.charCodeToGlyphId));\n builder.addTable(\"cmap\", createCmapTable(newMapping.charCodeToGlyphId, numGlyphs));\n builder.addTable(\"head\", \"\\x00\\x01\\x00\\x00\" + \"\\x00\\x00\\x10\\x00\" + \"\\x00\\x00\\x00\\x00\" + \"\\x5F\\x0F\\x3C\\xF5\" + \"\\x00\\x00\" + safeString16(unitsPerEm) + \"\\x00\\x00\\x00\\x00\\x9e\\x0b\\x7e\\x27\" + \"\\x00\\x00\\x00\\x00\\x9e\\x0b\\x7e\\x27\" + \"\\x00\\x00\" + safeString16(properties.descent) + \"\\x0F\\xFF\" + safeString16(properties.ascent) + string16(properties.italicAngle ? 2 : 0) + \"\\x00\\x11\" + \"\\x00\\x00\" + \"\\x00\\x00\" + \"\\x00\\x00\");\n builder.addTable(\"hhea\", \"\\x00\\x01\\x00\\x00\" + safeString16(properties.ascent) + safeString16(properties.descent) + \"\\x00\\x00\" + \"\\xFF\\xFF\" + \"\\x00\\x00\" + \"\\x00\\x00\" + \"\\x00\\x00\" + safeString16(properties.capHeight) + safeString16(Math.tan(properties.italicAngle) * properties.xHeight) + \"\\x00\\x00\" + \"\\x00\\x00\" + \"\\x00\\x00\" + \"\\x00\\x00\" + \"\\x00\\x00\" + \"\\x00\\x00\" + string16(numGlyphs));\n builder.addTable(\"hmtx\", function fontFieldsHmtx() {\n var charstrings = font.charstrings;\n var cffWidths = font.cff ? font.cff.widths : null;\n var hmtx = \"\\x00\\x00\\x00\\x00\";\n\n for (var _i5 = 1, _ii = numGlyphs; _i5 < _ii; _i5++) {\n var width = 0;\n\n if (charstrings) {\n var charstring = charstrings[_i5 - 1];\n width = \"width\" in charstring ? charstring.width : 0;\n } else if (cffWidths) {\n width = Math.ceil(cffWidths[_i5] || 0);\n }\n\n hmtx += string16(width) + string16(0);\n }\n\n return hmtx;\n }());\n builder.addTable(\"maxp\", \"\\x00\\x00\\x50\\x00\" + string16(numGlyphs));\n builder.addTable(\"name\", createNameTable(fontName));\n builder.addTable(\"post\", createPostTable(properties));\n return builder.toArray();\n },\n\n get spaceWidth() {\n var possibleSpaceReplacements = [\"space\", \"minus\", \"one\", \"i\", \"I\"];\n var width;\n\n for (var i = 0, ii = possibleSpaceReplacements.length; i < ii; i++) {\n var glyphName = possibleSpaceReplacements[i];\n\n if (glyphName in this.widths) {\n width = this.widths[glyphName];\n break;\n }\n\n var glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n var glyphUnicode = glyphsUnicodeMap[glyphName];\n var charcode = 0;\n\n if (this.composite && this.cMap.contains(glyphUnicode)) {\n charcode = this.cMap.lookup(glyphUnicode);\n }\n\n if (!charcode && this.toUnicode) {\n charcode = this.toUnicode.charCodeOf(glyphUnicode);\n }\n\n if (charcode <= 0) {\n charcode = glyphUnicode;\n }\n\n width = this.widths[charcode];\n\n if (width) {\n break;\n }\n }\n\n width = width || this.defaultWidth;\n return (0, _util.shadow)(this, \"spaceWidth\", width);\n },\n\n charToGlyph: function Font_charToGlyph(charcode, isSpace) {\n var fontCharCode, width, operatorListId;\n var widthCode = charcode;\n\n if (this.cMap && this.cMap.contains(charcode)) {\n widthCode = this.cMap.lookup(charcode);\n }\n\n width = this.widths[widthCode];\n width = (0, _util.isNum)(width) ? width : this.defaultWidth;\n var vmetric = this.vmetrics && this.vmetrics[widthCode];\n var unicode = this.toUnicode.get(charcode) || this.fallbackToUnicode.get(charcode) || charcode;\n\n if (typeof unicode === \"number\") {\n unicode = String.fromCharCode(unicode);\n }\n\n var isInFont = (charcode in this.toFontChar);\n fontCharCode = this.toFontChar[charcode] || charcode;\n\n if (this.missingFile) {\n var glyphName = this.differences[charcode] || this.defaultEncoding[charcode];\n\n if ((glyphName === \".notdef\" || glyphName === \"\") && this.type === \"Type1\") {\n fontCharCode = 0x20;\n }\n\n fontCharCode = (0, _unicode.mapSpecialUnicodeValues)(fontCharCode);\n }\n\n if (this.isType3Font) {\n operatorListId = fontCharCode;\n }\n\n var accent = null;\n\n if (this.seacMap && this.seacMap[charcode]) {\n isInFont = true;\n var seac = this.seacMap[charcode];\n fontCharCode = seac.baseFontCharCode;\n accent = {\n fontChar: String.fromCodePoint(seac.accentFontCharCode),\n offset: seac.accentOffset\n };\n }\n\n var fontChar = \"\";\n\n if (typeof fontCharCode === \"number\") {\n if (fontCharCode <= 0x10ffff) {\n fontChar = String.fromCodePoint(fontCharCode);\n } else {\n (0, _util.warn)(\"charToGlyph - invalid fontCharCode: \".concat(fontCharCode));\n }\n }\n\n var glyph = this.glyphCache[charcode];\n\n if (!glyph || !glyph.matchesForCache(fontChar, unicode, accent, width, vmetric, operatorListId, isSpace, isInFont)) {\n glyph = new Glyph(fontChar, unicode, accent, width, vmetric, operatorListId, isSpace, isInFont);\n this.glyphCache[charcode] = glyph;\n }\n\n return glyph;\n },\n charsToGlyphs: function Font_charsToGlyphs(chars) {\n var charsCache = this.charsCache;\n var glyphs, glyph, charcode;\n\n if (charsCache) {\n glyphs = charsCache[chars];\n\n if (glyphs) {\n return glyphs;\n }\n }\n\n if (!charsCache) {\n charsCache = this.charsCache = Object.create(null);\n }\n\n glyphs = [];\n var charsCacheKey = chars;\n var i = 0,\n ii;\n\n if (this.cMap) {\n var c = Object.create(null);\n\n while (i < chars.length) {\n this.cMap.readCharCode(chars, i, c);\n charcode = c.charcode;\n var length = c.length;\n i += length;\n var isSpace = length === 1 && chars.charCodeAt(i - 1) === 0x20;\n glyph = this.charToGlyph(charcode, isSpace);\n glyphs.push(glyph);\n }\n } else {\n for (i = 0, ii = chars.length; i < ii; ++i) {\n charcode = chars.charCodeAt(i);\n glyph = this.charToGlyph(charcode, charcode === 0x20);\n glyphs.push(glyph);\n }\n }\n\n return charsCache[charsCacheKey] = glyphs;\n },\n\n get glyphCacheValues() {\n return Object.values(this.glyphCache);\n }\n\n };\n return Font;\n}();\n\nexports.Font = Font;\n\nvar ErrorFont = function ErrorFontClosure() {\n function ErrorFont(error) {\n this.error = error;\n this.loadedName = \"g_font_error\";\n this.missingFile = true;\n }\n\n ErrorFont.prototype = {\n charsToGlyphs: function ErrorFont_charsToGlyphs() {\n return [];\n },\n exportData: function exportData() {\n var extraProperties = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n return {\n error: this.error\n };\n }\n };\n return ErrorFont;\n}();\n\nexports.ErrorFont = ErrorFont;\n\nfunction type1FontGlyphMapping(properties, builtInEncoding, glyphNames) {\n var charCodeToGlyphId = Object.create(null);\n var glyphId, charCode, baseEncoding;\n var isSymbolicFont = !!(properties.flags & FontFlags.Symbolic);\n\n if (properties.baseEncodingName) {\n baseEncoding = (0, _encodings.getEncoding)(properties.baseEncodingName);\n\n for (charCode = 0; charCode < baseEncoding.length; charCode++) {\n glyphId = glyphNames.indexOf(baseEncoding[charCode]);\n\n if (glyphId >= 0) {\n charCodeToGlyphId[charCode] = glyphId;\n } else {\n charCodeToGlyphId[charCode] = 0;\n }\n }\n } else if (isSymbolicFont) {\n for (charCode in builtInEncoding) {\n charCodeToGlyphId[charCode] = builtInEncoding[charCode];\n }\n } else {\n baseEncoding = _encodings.StandardEncoding;\n\n for (charCode = 0; charCode < baseEncoding.length; charCode++) {\n glyphId = glyphNames.indexOf(baseEncoding[charCode]);\n\n if (glyphId >= 0) {\n charCodeToGlyphId[charCode] = glyphId;\n } else {\n charCodeToGlyphId[charCode] = 0;\n }\n }\n }\n\n var differences = properties.differences,\n glyphsUnicodeMap;\n\n if (differences) {\n for (charCode in differences) {\n var glyphName = differences[charCode];\n glyphId = glyphNames.indexOf(glyphName);\n\n if (glyphId === -1) {\n if (!glyphsUnicodeMap) {\n glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n }\n\n var standardGlyphName = recoverGlyphName(glyphName, glyphsUnicodeMap);\n\n if (standardGlyphName !== glyphName) {\n glyphId = glyphNames.indexOf(standardGlyphName);\n }\n }\n\n if (glyphId >= 0) {\n charCodeToGlyphId[charCode] = glyphId;\n } else {\n charCodeToGlyphId[charCode] = 0;\n }\n }\n }\n\n return charCodeToGlyphId;\n}\n\nvar Type1Font = function Type1FontClosure() {\n function findBlock(streamBytes, signature, startIndex) {\n var streamBytesLength = streamBytes.length;\n var signatureLength = signature.length;\n var scanLength = streamBytesLength - signatureLength;\n var i = startIndex,\n j,\n found = false;\n\n while (i < scanLength) {\n j = 0;\n\n while (j < signatureLength && streamBytes[i + j] === signature[j]) {\n j++;\n }\n\n if (j >= signatureLength) {\n i += j;\n\n while (i < streamBytesLength && (0, _core_utils.isWhiteSpace)(streamBytes[i])) {\n i++;\n }\n\n found = true;\n break;\n }\n\n i++;\n }\n\n return {\n found: found,\n length: i\n };\n }\n\n function getHeaderBlock(stream, suggestedLength) {\n var EEXEC_SIGNATURE = [0x65, 0x65, 0x78, 0x65, 0x63];\n var streamStartPos = stream.pos;\n var headerBytes, headerBytesLength, block;\n\n try {\n headerBytes = stream.getBytes(suggestedLength);\n headerBytesLength = headerBytes.length;\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n }\n\n if (headerBytesLength === suggestedLength) {\n block = findBlock(headerBytes, EEXEC_SIGNATURE, suggestedLength - 2 * EEXEC_SIGNATURE.length);\n\n if (block.found && block.length === suggestedLength) {\n return {\n stream: new _stream.Stream(headerBytes),\n length: suggestedLength\n };\n }\n }\n\n (0, _util.warn)('Invalid \"Length1\" property in Type1 font -- trying to recover.');\n stream.pos = streamStartPos;\n var SCAN_BLOCK_LENGTH = 2048;\n var actualLength;\n\n while (true) {\n var scanBytes = stream.peekBytes(SCAN_BLOCK_LENGTH);\n block = findBlock(scanBytes, EEXEC_SIGNATURE, 0);\n\n if (block.length === 0) {\n break;\n }\n\n stream.pos += block.length;\n\n if (block.found) {\n actualLength = stream.pos - streamStartPos;\n break;\n }\n }\n\n stream.pos = streamStartPos;\n\n if (actualLength) {\n return {\n stream: new _stream.Stream(stream.getBytes(actualLength)),\n length: actualLength\n };\n }\n\n (0, _util.warn)('Unable to recover \"Length1\" property in Type1 font -- using as is.');\n return {\n stream: new _stream.Stream(stream.getBytes(suggestedLength)),\n length: suggestedLength\n };\n }\n\n function getEexecBlock(stream, suggestedLength) {\n var eexecBytes = stream.getBytes();\n return {\n stream: new _stream.Stream(eexecBytes),\n length: eexecBytes.length\n };\n }\n\n function Type1Font(name, file, properties) {\n var PFB_HEADER_SIZE = 6;\n var headerBlockLength = properties.length1;\n var eexecBlockLength = properties.length2;\n var pfbHeader = file.peekBytes(PFB_HEADER_SIZE);\n var pfbHeaderPresent = pfbHeader[0] === 0x80 && pfbHeader[1] === 0x01;\n\n if (pfbHeaderPresent) {\n file.skip(PFB_HEADER_SIZE);\n headerBlockLength = pfbHeader[5] << 24 | pfbHeader[4] << 16 | pfbHeader[3] << 8 | pfbHeader[2];\n }\n\n var headerBlock = getHeaderBlock(file, headerBlockLength);\n var headerBlockParser = new _type1_parser.Type1Parser(headerBlock.stream, false, SEAC_ANALYSIS_ENABLED);\n headerBlockParser.extractFontHeader(properties);\n\n if (pfbHeaderPresent) {\n pfbHeader = file.getBytes(PFB_HEADER_SIZE);\n eexecBlockLength = pfbHeader[5] << 24 | pfbHeader[4] << 16 | pfbHeader[3] << 8 | pfbHeader[2];\n }\n\n var eexecBlock = getEexecBlock(file, eexecBlockLength);\n var eexecBlockParser = new _type1_parser.Type1Parser(eexecBlock.stream, true, SEAC_ANALYSIS_ENABLED);\n var data = eexecBlockParser.extractFontProgram(properties);\n\n for (var key in data.properties) {\n properties[key] = data.properties[key];\n }\n\n var charstrings = data.charstrings;\n var type2Charstrings = this.getType2Charstrings(charstrings);\n var subrs = this.getType2Subrs(data.subrs);\n this.charstrings = charstrings;\n this.data = this.wrap(name, type2Charstrings, this.charstrings, subrs, properties);\n this.seacs = this.getSeacs(data.charstrings);\n }\n\n Type1Font.prototype = {\n get numGlyphs() {\n return this.charstrings.length + 1;\n },\n\n getCharset: function Type1Font_getCharset() {\n var charset = [\".notdef\"];\n var charstrings = this.charstrings;\n\n for (var glyphId = 0; glyphId < charstrings.length; glyphId++) {\n charset.push(charstrings[glyphId].glyphName);\n }\n\n return charset;\n },\n getGlyphMapping: function Type1Font_getGlyphMapping(properties) {\n var charstrings = this.charstrings;\n\n if (properties.composite) {\n var charCodeToGlyphId = Object.create(null);\n\n for (var _glyphId = 0, charstringsLen = charstrings.length; _glyphId < charstringsLen; _glyphId++) {\n var _charCode5 = properties.cMap.charCodeOf(_glyphId);\n\n charCodeToGlyphId[_charCode5] = _glyphId + 1;\n }\n\n return charCodeToGlyphId;\n }\n\n var glyphNames = [\".notdef\"],\n glyphId;\n\n for (glyphId = 0; glyphId < charstrings.length; glyphId++) {\n glyphNames.push(charstrings[glyphId].glyphName);\n }\n\n var encoding = properties.builtInEncoding;\n\n if (encoding) {\n var builtInEncoding = Object.create(null);\n\n for (var charCode in encoding) {\n glyphId = glyphNames.indexOf(encoding[charCode]);\n\n if (glyphId >= 0) {\n builtInEncoding[charCode] = glyphId;\n }\n }\n }\n\n return type1FontGlyphMapping(properties, builtInEncoding, glyphNames);\n },\n hasGlyphId: function Type1Font_hasGlyphID(id) {\n if (id < 0 || id >= this.numGlyphs) {\n return false;\n }\n\n if (id === 0) {\n return true;\n }\n\n var glyph = this.charstrings[id - 1];\n return glyph.charstring.length > 0;\n },\n getSeacs: function Type1Font_getSeacs(charstrings) {\n var i, ii;\n var seacMap = [];\n\n for (i = 0, ii = charstrings.length; i < ii; i++) {\n var charstring = charstrings[i];\n\n if (charstring.seac) {\n seacMap[i + 1] = charstring.seac;\n }\n }\n\n return seacMap;\n },\n getType2Charstrings: function Type1Font_getType2Charstrings(type1Charstrings) {\n var type2Charstrings = [];\n\n for (var i = 0, ii = type1Charstrings.length; i < ii; i++) {\n type2Charstrings.push(type1Charstrings[i].charstring);\n }\n\n return type2Charstrings;\n },\n getType2Subrs: function Type1Font_getType2Subrs(type1Subrs) {\n var bias = 0;\n var count = type1Subrs.length;\n\n if (count < 1133) {\n bias = 107;\n } else if (count < 33769) {\n bias = 1131;\n } else {\n bias = 32768;\n }\n\n var type2Subrs = [];\n var i;\n\n for (i = 0; i < bias; i++) {\n type2Subrs.push([0x0b]);\n }\n\n for (i = 0; i < count; i++) {\n type2Subrs.push(type1Subrs[i]);\n }\n\n return type2Subrs;\n },\n wrap: function Type1Font_wrap(name, glyphs, charstrings, subrs, properties) {\n var cff = new _cff_parser.CFF();\n cff.header = new _cff_parser.CFFHeader(1, 0, 4, 4);\n cff.names = [name];\n var topDict = new _cff_parser.CFFTopDict();\n topDict.setByName(\"version\", 391);\n topDict.setByName(\"Notice\", 392);\n topDict.setByName(\"FullName\", 393);\n topDict.setByName(\"FamilyName\", 394);\n topDict.setByName(\"Weight\", 395);\n topDict.setByName(\"Encoding\", null);\n topDict.setByName(\"FontMatrix\", properties.fontMatrix);\n topDict.setByName(\"FontBBox\", properties.bbox);\n topDict.setByName(\"charset\", null);\n topDict.setByName(\"CharStrings\", null);\n topDict.setByName(\"Private\", null);\n cff.topDict = topDict;\n var strings = new _cff_parser.CFFStrings();\n strings.add(\"Version 0.11\");\n strings.add(\"See original notice\");\n strings.add(name);\n strings.add(name);\n strings.add(\"Medium\");\n cff.strings = strings;\n cff.globalSubrIndex = new _cff_parser.CFFIndex();\n var count = glyphs.length;\n var charsetArray = [\".notdef\"];\n var i, ii;\n\n for (i = 0; i < count; i++) {\n var glyphName = charstrings[i].glyphName;\n\n var index = _cff_parser.CFFStandardStrings.indexOf(glyphName);\n\n if (index === -1) {\n strings.add(glyphName);\n }\n\n charsetArray.push(glyphName);\n }\n\n cff.charset = new _cff_parser.CFFCharset(false, 0, charsetArray);\n var charStringsIndex = new _cff_parser.CFFIndex();\n charStringsIndex.add([0x8b, 0x0e]);\n\n for (i = 0; i < count; i++) {\n charStringsIndex.add(glyphs[i]);\n }\n\n cff.charStrings = charStringsIndex;\n var privateDict = new _cff_parser.CFFPrivateDict();\n privateDict.setByName(\"Subrs\", null);\n var fields = [\"BlueValues\", \"OtherBlues\", \"FamilyBlues\", \"FamilyOtherBlues\", \"StemSnapH\", \"StemSnapV\", \"BlueShift\", \"BlueFuzz\", \"BlueScale\", \"LanguageGroup\", \"ExpansionFactor\", \"ForceBold\", \"StdHW\", \"StdVW\"];\n\n for (i = 0, ii = fields.length; i < ii; i++) {\n var field = fields[i];\n\n if (!(field in properties.privateData)) {\n continue;\n }\n\n var value = properties.privateData[field];\n\n if (Array.isArray(value)) {\n for (var j = value.length - 1; j > 0; j--) {\n value[j] -= value[j - 1];\n }\n }\n\n privateDict.setByName(field, value);\n }\n\n cff.topDict.privateDict = privateDict;\n var subrIndex = new _cff_parser.CFFIndex();\n\n for (i = 0, ii = subrs.length; i < ii; i++) {\n subrIndex.add(subrs[i]);\n }\n\n privateDict.subrsIndex = subrIndex;\n var compiler = new _cff_parser.CFFCompiler(cff);\n return compiler.compile();\n }\n };\n return Type1Font;\n}();\n\nvar CFFFont = function CFFFontClosure() {\n function CFFFont(file, properties) {\n this.properties = properties;\n var parser = new _cff_parser.CFFParser(file, properties, SEAC_ANALYSIS_ENABLED);\n this.cff = parser.parse();\n this.cff.duplicateFirstGlyph();\n var compiler = new _cff_parser.CFFCompiler(this.cff);\n this.seacs = this.cff.seacs;\n\n try {\n this.data = compiler.compile();\n } catch (e) {\n (0, _util.warn)(\"Failed to compile font \" + properties.loadedName);\n this.data = file;\n }\n }\n\n CFFFont.prototype = {\n get numGlyphs() {\n return this.cff.charStrings.count;\n },\n\n getCharset: function CFFFont_getCharset() {\n return this.cff.charset.charset;\n },\n getGlyphMapping: function CFFFont_getGlyphMapping() {\n var cff = this.cff;\n var properties = this.properties;\n var charsets = cff.charset.charset;\n var charCodeToGlyphId;\n var glyphId;\n\n if (properties.composite) {\n charCodeToGlyphId = Object.create(null);\n var charCode;\n\n if (cff.isCIDFont) {\n for (glyphId = 0; glyphId < charsets.length; glyphId++) {\n var cid = charsets[glyphId];\n charCode = properties.cMap.charCodeOf(cid);\n charCodeToGlyphId[charCode] = glyphId;\n }\n } else {\n for (glyphId = 0; glyphId < cff.charStrings.count; glyphId++) {\n charCode = properties.cMap.charCodeOf(glyphId);\n charCodeToGlyphId[charCode] = glyphId;\n }\n }\n\n return charCodeToGlyphId;\n }\n\n var encoding = cff.encoding ? cff.encoding.encoding : null;\n charCodeToGlyphId = type1FontGlyphMapping(properties, encoding, charsets);\n return charCodeToGlyphId;\n },\n hasGlyphId: function CFFFont_hasGlyphID(id) {\n return this.cff.hasGlyphId(id);\n }\n };\n return CFFFont;\n}();\n\n/***/ }),\n/* 228 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CFFFDSelect = exports.CFFCompiler = exports.CFFPrivateDict = exports.CFFTopDict = exports.CFFCharset = exports.CFFIndex = exports.CFFStrings = exports.CFFHeader = exports.CFF = exports.CFFParser = exports.CFFStandardStrings = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _charsets = __w_pdfjs_require__(229);\n\nvar _encodings = __w_pdfjs_require__(230);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar MAX_SUBR_NESTING = 10;\nvar CFFStandardStrings = [\".notdef\", \"space\", \"exclam\", \"quotedbl\", \"numbersign\", \"dollar\", \"percent\", \"ampersand\", \"quoteright\", \"parenleft\", \"parenright\", \"asterisk\", \"plus\", \"comma\", \"hyphen\", \"period\", \"slash\", \"zero\", \"one\", \"two\", \"three\", \"four\", \"five\", \"six\", \"seven\", \"eight\", \"nine\", \"colon\", \"semicolon\", \"less\", \"equal\", \"greater\", \"question\", \"at\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\", \"bracketleft\", \"backslash\", \"bracketright\", \"asciicircum\", \"underscore\", \"quoteleft\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"g\", \"h\", \"i\", \"j\", \"k\", \"l\", \"m\", \"n\", \"o\", \"p\", \"q\", \"r\", \"s\", \"t\", \"u\", \"v\", \"w\", \"x\", \"y\", \"z\", \"braceleft\", \"bar\", \"braceright\", \"asciitilde\", \"exclamdown\", \"cent\", \"sterling\", \"fraction\", \"yen\", \"florin\", \"section\", \"currency\", \"quotesingle\", \"quotedblleft\", \"guillemotleft\", \"guilsinglleft\", \"guilsinglright\", \"fi\", \"fl\", \"endash\", \"dagger\", \"daggerdbl\", \"periodcentered\", \"paragraph\", \"bullet\", \"quotesinglbase\", \"quotedblbase\", \"quotedblright\", \"guillemotright\", \"ellipsis\", \"perthousand\", \"questiondown\", \"grave\", \"acute\", \"circumflex\", \"tilde\", \"macron\", \"breve\", \"dotaccent\", \"dieresis\", \"ring\", \"cedilla\", \"hungarumlaut\", \"ogonek\", \"caron\", \"emdash\", \"AE\", \"ordfeminine\", \"Lslash\", \"Oslash\", \"OE\", \"ordmasculine\", \"ae\", \"dotlessi\", \"lslash\", \"oslash\", \"oe\", \"germandbls\", \"onesuperior\", \"logicalnot\", \"mu\", \"trademark\", \"Eth\", \"onehalf\", \"plusminus\", \"Thorn\", \"onequarter\", \"divide\", \"brokenbar\", \"degree\", \"thorn\", \"threequarters\", \"twosuperior\", \"registered\", \"minus\", \"eth\", \"multiply\", \"threesuperior\", \"copyright\", \"Aacute\", \"Acircumflex\", \"Adieresis\", \"Agrave\", \"Aring\", \"Atilde\", \"Ccedilla\", \"Eacute\", \"Ecircumflex\", \"Edieresis\", \"Egrave\", \"Iacute\", \"Icircumflex\", \"Idieresis\", \"Igrave\", \"Ntilde\", \"Oacute\", \"Ocircumflex\", \"Odieresis\", \"Ograve\", \"Otilde\", \"Scaron\", \"Uacute\", \"Ucircumflex\", \"Udieresis\", \"Ugrave\", \"Yacute\", \"Ydieresis\", \"Zcaron\", \"aacute\", \"acircumflex\", \"adieresis\", \"agrave\", \"aring\", \"atilde\", \"ccedilla\", \"eacute\", \"ecircumflex\", \"edieresis\", \"egrave\", \"iacute\", \"icircumflex\", \"idieresis\", \"igrave\", \"ntilde\", \"oacute\", \"ocircumflex\", \"odieresis\", \"ograve\", \"otilde\", \"scaron\", \"uacute\", \"ucircumflex\", \"udieresis\", \"ugrave\", \"yacute\", \"ydieresis\", \"zcaron\", \"exclamsmall\", \"Hungarumlautsmall\", \"dollaroldstyle\", \"dollarsuperior\", \"ampersandsmall\", \"Acutesmall\", \"parenleftsuperior\", \"parenrightsuperior\", \"twodotenleader\", \"onedotenleader\", \"zerooldstyle\", \"oneoldstyle\", \"twooldstyle\", \"threeoldstyle\", \"fouroldstyle\", \"fiveoldstyle\", \"sixoldstyle\", \"sevenoldstyle\", \"eightoldstyle\", \"nineoldstyle\", \"commasuperior\", \"threequartersemdash\", \"periodsuperior\", \"questionsmall\", \"asuperior\", \"bsuperior\", \"centsuperior\", \"dsuperior\", \"esuperior\", \"isuperior\", \"lsuperior\", \"msuperior\", \"nsuperior\", \"osuperior\", \"rsuperior\", \"ssuperior\", \"tsuperior\", \"ff\", \"ffi\", \"ffl\", \"parenleftinferior\", \"parenrightinferior\", \"Circumflexsmall\", \"hyphensuperior\", \"Gravesmall\", \"Asmall\", \"Bsmall\", \"Csmall\", \"Dsmall\", \"Esmall\", \"Fsmall\", \"Gsmall\", \"Hsmall\", \"Ismall\", \"Jsmall\", \"Ksmall\", \"Lsmall\", \"Msmall\", \"Nsmall\", \"Osmall\", \"Psmall\", \"Qsmall\", \"Rsmall\", \"Ssmall\", \"Tsmall\", \"Usmall\", \"Vsmall\", \"Wsmall\", \"Xsmall\", \"Ysmall\", \"Zsmall\", \"colonmonetary\", \"onefitted\", \"rupiah\", \"Tildesmall\", \"exclamdownsmall\", \"centoldstyle\", \"Lslashsmall\", \"Scaronsmall\", \"Zcaronsmall\", \"Dieresissmall\", \"Brevesmall\", \"Caronsmall\", \"Dotaccentsmall\", \"Macronsmall\", \"figuredash\", \"hypheninferior\", \"Ogoneksmall\", \"Ringsmall\", \"Cedillasmall\", \"questiondownsmall\", \"oneeighth\", \"threeeighths\", \"fiveeighths\", \"seveneighths\", \"onethird\", \"twothirds\", \"zerosuperior\", \"foursuperior\", \"fivesuperior\", \"sixsuperior\", \"sevensuperior\", \"eightsuperior\", \"ninesuperior\", \"zeroinferior\", \"oneinferior\", \"twoinferior\", \"threeinferior\", \"fourinferior\", \"fiveinferior\", \"sixinferior\", \"seveninferior\", \"eightinferior\", \"nineinferior\", \"centinferior\", \"dollarinferior\", \"periodinferior\", \"commainferior\", \"Agravesmall\", \"Aacutesmall\", \"Acircumflexsmall\", \"Atildesmall\", \"Adieresissmall\", \"Aringsmall\", \"AEsmall\", \"Ccedillasmall\", \"Egravesmall\", \"Eacutesmall\", \"Ecircumflexsmall\", \"Edieresissmall\", \"Igravesmall\", \"Iacutesmall\", \"Icircumflexsmall\", \"Idieresissmall\", \"Ethsmall\", \"Ntildesmall\", \"Ogravesmall\", \"Oacutesmall\", \"Ocircumflexsmall\", \"Otildesmall\", \"Odieresissmall\", \"OEsmall\", \"Oslashsmall\", \"Ugravesmall\", \"Uacutesmall\", \"Ucircumflexsmall\", \"Udieresissmall\", \"Yacutesmall\", \"Thornsmall\", \"Ydieresissmall\", \"001.000\", \"001.001\", \"001.002\", \"001.003\", \"Black\", \"Bold\", \"Book\", \"Light\", \"Medium\", \"Regular\", \"Roman\", \"Semibold\"];\nexports.CFFStandardStrings = CFFStandardStrings;\nvar NUM_STANDARD_CFF_STRINGS = 391;\n\nvar CFFParser = function CFFParserClosure() {\n var CharstringValidationData = [null, {\n id: \"hstem\",\n min: 2,\n stackClearing: true,\n stem: true\n }, null, {\n id: \"vstem\",\n min: 2,\n stackClearing: true,\n stem: true\n }, {\n id: \"vmoveto\",\n min: 1,\n stackClearing: true\n }, {\n id: \"rlineto\",\n min: 2,\n resetStack: true\n }, {\n id: \"hlineto\",\n min: 1,\n resetStack: true\n }, {\n id: \"vlineto\",\n min: 1,\n resetStack: true\n }, {\n id: \"rrcurveto\",\n min: 6,\n resetStack: true\n }, null, {\n id: \"callsubr\",\n min: 1,\n undefStack: true\n }, {\n id: \"return\",\n min: 0,\n undefStack: true\n }, null, null, {\n id: \"endchar\",\n min: 0,\n stackClearing: true\n }, null, null, null, {\n id: \"hstemhm\",\n min: 2,\n stackClearing: true,\n stem: true\n }, {\n id: \"hintmask\",\n min: 0,\n stackClearing: true\n }, {\n id: \"cntrmask\",\n min: 0,\n stackClearing: true\n }, {\n id: \"rmoveto\",\n min: 2,\n stackClearing: true\n }, {\n id: \"hmoveto\",\n min: 1,\n stackClearing: true\n }, {\n id: \"vstemhm\",\n min: 2,\n stackClearing: true,\n stem: true\n }, {\n id: \"rcurveline\",\n min: 8,\n resetStack: true\n }, {\n id: \"rlinecurve\",\n min: 8,\n resetStack: true\n }, {\n id: \"vvcurveto\",\n min: 4,\n resetStack: true\n }, {\n id: \"hhcurveto\",\n min: 4,\n resetStack: true\n }, null, {\n id: \"callgsubr\",\n min: 1,\n undefStack: true\n }, {\n id: \"vhcurveto\",\n min: 4,\n resetStack: true\n }, {\n id: \"hvcurveto\",\n min: 4,\n resetStack: true\n }];\n var CharstringValidationData12 = [null, null, null, {\n id: \"and\",\n min: 2,\n stackDelta: -1\n }, {\n id: \"or\",\n min: 2,\n stackDelta: -1\n }, {\n id: \"not\",\n min: 1,\n stackDelta: 0\n }, null, null, null, {\n id: \"abs\",\n min: 1,\n stackDelta: 0\n }, {\n id: \"add\",\n min: 2,\n stackDelta: -1,\n stackFn: function stack_div(stack, index) {\n stack[index - 2] = stack[index - 2] + stack[index - 1];\n }\n }, {\n id: \"sub\",\n min: 2,\n stackDelta: -1,\n stackFn: function stack_div(stack, index) {\n stack[index - 2] = stack[index - 2] - stack[index - 1];\n }\n }, {\n id: \"div\",\n min: 2,\n stackDelta: -1,\n stackFn: function stack_div(stack, index) {\n stack[index - 2] = stack[index - 2] / stack[index - 1];\n }\n }, null, {\n id: \"neg\",\n min: 1,\n stackDelta: 0,\n stackFn: function stack_div(stack, index) {\n stack[index - 1] = -stack[index - 1];\n }\n }, {\n id: \"eq\",\n min: 2,\n stackDelta: -1\n }, null, null, {\n id: \"drop\",\n min: 1,\n stackDelta: -1\n }, null, {\n id: \"put\",\n min: 2,\n stackDelta: -2\n }, {\n id: \"get\",\n min: 1,\n stackDelta: 0\n }, {\n id: \"ifelse\",\n min: 4,\n stackDelta: -3\n }, {\n id: \"random\",\n min: 0,\n stackDelta: 1\n }, {\n id: \"mul\",\n min: 2,\n stackDelta: -1,\n stackFn: function stack_div(stack, index) {\n stack[index - 2] = stack[index - 2] * stack[index - 1];\n }\n }, null, {\n id: \"sqrt\",\n min: 1,\n stackDelta: 0\n }, {\n id: \"dup\",\n min: 1,\n stackDelta: 1\n }, {\n id: \"exch\",\n min: 2,\n stackDelta: 0\n }, {\n id: \"index\",\n min: 2,\n stackDelta: 0\n }, {\n id: \"roll\",\n min: 3,\n stackDelta: -2\n }, null, null, null, {\n id: \"hflex\",\n min: 7,\n resetStack: true\n }, {\n id: \"flex\",\n min: 13,\n resetStack: true\n }, {\n id: \"hflex1\",\n min: 9,\n resetStack: true\n }, {\n id: \"flex1\",\n min: 11,\n resetStack: true\n }];\n\n var CFFParser = /*#__PURE__*/function () {\n function CFFParser(file, properties, seacAnalysisEnabled) {\n _classCallCheck(this, CFFParser);\n\n this.bytes = file.getBytes();\n this.properties = properties;\n this.seacAnalysisEnabled = !!seacAnalysisEnabled;\n }\n\n _createClass(CFFParser, [{\n key: \"parse\",\n value: function parse() {\n var properties = this.properties;\n var cff = new CFF();\n this.cff = cff;\n var header = this.parseHeader();\n var nameIndex = this.parseIndex(header.endPos);\n var topDictIndex = this.parseIndex(nameIndex.endPos);\n var stringIndex = this.parseIndex(topDictIndex.endPos);\n var globalSubrIndex = this.parseIndex(stringIndex.endPos);\n var topDictParsed = this.parseDict(topDictIndex.obj.get(0));\n var topDict = this.createDict(CFFTopDict, topDictParsed, cff.strings);\n cff.header = header.obj;\n cff.names = this.parseNameIndex(nameIndex.obj);\n cff.strings = this.parseStringIndex(stringIndex.obj);\n cff.topDict = topDict;\n cff.globalSubrIndex = globalSubrIndex.obj;\n this.parsePrivateDict(cff.topDict);\n cff.isCIDFont = topDict.hasName(\"ROS\");\n var charStringOffset = topDict.getByName(\"CharStrings\");\n var charStringIndex = this.parseIndex(charStringOffset).obj;\n var fontMatrix = topDict.getByName(\"FontMatrix\");\n\n if (fontMatrix) {\n properties.fontMatrix = fontMatrix;\n }\n\n var fontBBox = topDict.getByName(\"FontBBox\");\n\n if (fontBBox) {\n properties.ascent = Math.max(fontBBox[3], fontBBox[1]);\n properties.descent = Math.min(fontBBox[1], fontBBox[3]);\n properties.ascentScaled = true;\n }\n\n var charset, encoding;\n\n if (cff.isCIDFont) {\n var fdArrayIndex = this.parseIndex(topDict.getByName(\"FDArray\")).obj;\n\n for (var i = 0, ii = fdArrayIndex.count; i < ii; ++i) {\n var dictRaw = fdArrayIndex.get(i);\n var fontDict = this.createDict(CFFTopDict, this.parseDict(dictRaw), cff.strings);\n this.parsePrivateDict(fontDict);\n cff.fdArray.push(fontDict);\n }\n\n encoding = null;\n charset = this.parseCharsets(topDict.getByName(\"charset\"), charStringIndex.count, cff.strings, true);\n cff.fdSelect = this.parseFDSelect(topDict.getByName(\"FDSelect\"), charStringIndex.count);\n } else {\n charset = this.parseCharsets(topDict.getByName(\"charset\"), charStringIndex.count, cff.strings, false);\n encoding = this.parseEncoding(topDict.getByName(\"Encoding\"), properties, cff.strings, charset.charset);\n }\n\n cff.charset = charset;\n cff.encoding = encoding;\n var charStringsAndSeacs = this.parseCharStrings({\n charStrings: charStringIndex,\n localSubrIndex: topDict.privateDict.subrsIndex,\n globalSubrIndex: globalSubrIndex.obj,\n fdSelect: cff.fdSelect,\n fdArray: cff.fdArray,\n privateDict: topDict.privateDict\n });\n cff.charStrings = charStringsAndSeacs.charStrings;\n cff.seacs = charStringsAndSeacs.seacs;\n cff.widths = charStringsAndSeacs.widths;\n return cff;\n }\n }, {\n key: \"parseHeader\",\n value: function parseHeader() {\n var bytes = this.bytes;\n var bytesLength = bytes.length;\n var offset = 0;\n\n while (offset < bytesLength && bytes[offset] !== 1) {\n ++offset;\n }\n\n if (offset >= bytesLength) {\n throw new _util.FormatError(\"Invalid CFF header\");\n }\n\n if (offset !== 0) {\n (0, _util.info)(\"cff data is shifted\");\n bytes = bytes.subarray(offset);\n this.bytes = bytes;\n }\n\n var major = bytes[0];\n var minor = bytes[1];\n var hdrSize = bytes[2];\n var offSize = bytes[3];\n var header = new CFFHeader(major, minor, hdrSize, offSize);\n return {\n obj: header,\n endPos: hdrSize\n };\n }\n }, {\n key: \"parseDict\",\n value: function parseDict(dict) {\n var pos = 0;\n\n function parseOperand() {\n var value = dict[pos++];\n\n if (value === 30) {\n return parseFloatOperand();\n } else if (value === 28) {\n value = dict[pos++];\n value = (value << 24 | dict[pos++] << 16) >> 16;\n return value;\n } else if (value === 29) {\n value = dict[pos++];\n value = value << 8 | dict[pos++];\n value = value << 8 | dict[pos++];\n value = value << 8 | dict[pos++];\n return value;\n } else if (value >= 32 && value <= 246) {\n return value - 139;\n } else if (value >= 247 && value <= 250) {\n return (value - 247) * 256 + dict[pos++] + 108;\n } else if (value >= 251 && value <= 254) {\n return -((value - 251) * 256) - dict[pos++] - 108;\n }\n\n (0, _util.warn)('CFFParser_parseDict: \"' + value + '\" is a reserved command.');\n return NaN;\n }\n\n function parseFloatOperand() {\n var str = \"\";\n var eof = 15;\n var lookup = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \".\", \"E\", \"E-\", null, \"-\"];\n var length = dict.length;\n\n while (pos < length) {\n var b = dict[pos++];\n var b1 = b >> 4;\n var b2 = b & 15;\n\n if (b1 === eof) {\n break;\n }\n\n str += lookup[b1];\n\n if (b2 === eof) {\n break;\n }\n\n str += lookup[b2];\n }\n\n return parseFloat(str);\n }\n\n var operands = [];\n var entries = [];\n pos = 0;\n var end = dict.length;\n\n while (pos < end) {\n var b = dict[pos];\n\n if (b <= 21) {\n if (b === 12) {\n b = b << 8 | dict[++pos];\n }\n\n entries.push([b, operands]);\n operands = [];\n ++pos;\n } else {\n operands.push(parseOperand());\n }\n }\n\n return entries;\n }\n }, {\n key: \"parseIndex\",\n value: function parseIndex(pos) {\n var cffIndex = new CFFIndex();\n var bytes = this.bytes;\n var count = bytes[pos++] << 8 | bytes[pos++];\n var offsets = [];\n var end = pos;\n var i, ii;\n\n if (count !== 0) {\n var offsetSize = bytes[pos++];\n var startPos = pos + (count + 1) * offsetSize - 1;\n\n for (i = 0, ii = count + 1; i < ii; ++i) {\n var offset = 0;\n\n for (var j = 0; j < offsetSize; ++j) {\n offset <<= 8;\n offset += bytes[pos++];\n }\n\n offsets.push(startPos + offset);\n }\n\n end = offsets[count];\n }\n\n for (i = 0, ii = offsets.length - 1; i < ii; ++i) {\n var offsetStart = offsets[i];\n var offsetEnd = offsets[i + 1];\n cffIndex.add(bytes.subarray(offsetStart, offsetEnd));\n }\n\n return {\n obj: cffIndex,\n endPos: end\n };\n }\n }, {\n key: \"parseNameIndex\",\n value: function parseNameIndex(index) {\n var names = [];\n\n for (var i = 0, ii = index.count; i < ii; ++i) {\n var name = index.get(i);\n names.push((0, _util.bytesToString)(name));\n }\n\n return names;\n }\n }, {\n key: \"parseStringIndex\",\n value: function parseStringIndex(index) {\n var strings = new CFFStrings();\n\n for (var i = 0, ii = index.count; i < ii; ++i) {\n var data = index.get(i);\n strings.add((0, _util.bytesToString)(data));\n }\n\n return strings;\n }\n }, {\n key: \"createDict\",\n value: function createDict(Type, dict, strings) {\n var cffDict = new Type(strings);\n\n for (var i = 0, ii = dict.length; i < ii; ++i) {\n var pair = dict[i];\n var key = pair[0];\n var value = pair[1];\n cffDict.setByKey(key, value);\n }\n\n return cffDict;\n }\n }, {\n key: \"parseCharString\",\n value: function parseCharString(state, data, localSubrIndex, globalSubrIndex) {\n if (!data || state.callDepth > MAX_SUBR_NESTING) {\n return false;\n }\n\n var stackSize = state.stackSize;\n var stack = state.stack;\n var length = data.length;\n\n for (var j = 0; j < length;) {\n var value = data[j++];\n var validationCommand = null;\n\n if (value === 12) {\n var q = data[j++];\n\n if (q === 0) {\n data[j - 2] = 139;\n data[j - 1] = 22;\n stackSize = 0;\n } else {\n validationCommand = CharstringValidationData12[q];\n }\n } else if (value === 28) {\n stack[stackSize] = (data[j] << 24 | data[j + 1] << 16) >> 16;\n j += 2;\n stackSize++;\n } else if (value === 14) {\n if (stackSize >= 4) {\n stackSize -= 4;\n\n if (this.seacAnalysisEnabled) {\n state.seac = stack.slice(stackSize, stackSize + 4);\n return false;\n }\n }\n\n validationCommand = CharstringValidationData[value];\n } else if (value >= 32 && value <= 246) {\n stack[stackSize] = value - 139;\n stackSize++;\n } else if (value >= 247 && value <= 254) {\n stack[stackSize] = value < 251 ? (value - 247 << 8) + data[j] + 108 : -(value - 251 << 8) - data[j] - 108;\n j++;\n stackSize++;\n } else if (value === 255) {\n stack[stackSize] = (data[j] << 24 | data[j + 1] << 16 | data[j + 2] << 8 | data[j + 3]) / 65536;\n j += 4;\n stackSize++;\n } else if (value === 19 || value === 20) {\n state.hints += stackSize >> 1;\n j += state.hints + 7 >> 3;\n stackSize %= 2;\n validationCommand = CharstringValidationData[value];\n } else if (value === 10 || value === 29) {\n var subrsIndex;\n\n if (value === 10) {\n subrsIndex = localSubrIndex;\n } else {\n subrsIndex = globalSubrIndex;\n }\n\n if (!subrsIndex) {\n validationCommand = CharstringValidationData[value];\n (0, _util.warn)(\"Missing subrsIndex for \" + validationCommand.id);\n return false;\n }\n\n var bias = 32768;\n\n if (subrsIndex.count < 1240) {\n bias = 107;\n } else if (subrsIndex.count < 33900) {\n bias = 1131;\n }\n\n var subrNumber = stack[--stackSize] + bias;\n\n if (subrNumber < 0 || subrNumber >= subrsIndex.count || isNaN(subrNumber)) {\n validationCommand = CharstringValidationData[value];\n (0, _util.warn)(\"Out of bounds subrIndex for \" + validationCommand.id);\n return false;\n }\n\n state.stackSize = stackSize;\n state.callDepth++;\n var valid = this.parseCharString(state, subrsIndex.get(subrNumber), localSubrIndex, globalSubrIndex);\n\n if (!valid) {\n return false;\n }\n\n state.callDepth--;\n stackSize = state.stackSize;\n continue;\n } else if (value === 11) {\n state.stackSize = stackSize;\n return true;\n } else {\n validationCommand = CharstringValidationData[value];\n }\n\n if (validationCommand) {\n if (validationCommand.stem) {\n state.hints += stackSize >> 1;\n\n if (value === 3 || value === 23) {\n state.hasVStems = true;\n } else if (state.hasVStems && (value === 1 || value === 18)) {\n (0, _util.warn)(\"CFF stem hints are in wrong order\");\n data[j - 1] = value === 1 ? 3 : 23;\n }\n }\n\n if (\"min\" in validationCommand) {\n if (!state.undefStack && stackSize < validationCommand.min) {\n (0, _util.warn)(\"Not enough parameters for \" + validationCommand.id + \"; actual: \" + stackSize + \", expected: \" + validationCommand.min);\n return false;\n }\n }\n\n if (state.firstStackClearing && validationCommand.stackClearing) {\n state.firstStackClearing = false;\n stackSize -= validationCommand.min;\n\n if (stackSize >= 2 && validationCommand.stem) {\n stackSize %= 2;\n } else if (stackSize > 1) {\n (0, _util.warn)(\"Found too many parameters for stack-clearing command\");\n }\n\n if (stackSize > 0 && stack[stackSize - 1] >= 0) {\n state.width = stack[stackSize - 1];\n }\n }\n\n if (\"stackDelta\" in validationCommand) {\n if (\"stackFn\" in validationCommand) {\n validationCommand.stackFn(stack, stackSize);\n }\n\n stackSize += validationCommand.stackDelta;\n } else if (validationCommand.stackClearing) {\n stackSize = 0;\n } else if (validationCommand.resetStack) {\n stackSize = 0;\n state.undefStack = false;\n } else if (validationCommand.undefStack) {\n stackSize = 0;\n state.undefStack = true;\n state.firstStackClearing = false;\n }\n }\n }\n\n state.stackSize = stackSize;\n return true;\n }\n }, {\n key: \"parseCharStrings\",\n value: function parseCharStrings(_ref) {\n var charStrings = _ref.charStrings,\n localSubrIndex = _ref.localSubrIndex,\n globalSubrIndex = _ref.globalSubrIndex,\n fdSelect = _ref.fdSelect,\n fdArray = _ref.fdArray,\n privateDict = _ref.privateDict;\n var seacs = [];\n var widths = [];\n var count = charStrings.count;\n\n for (var i = 0; i < count; i++) {\n var charstring = charStrings.get(i);\n var state = {\n callDepth: 0,\n stackSize: 0,\n stack: [],\n undefStack: true,\n hints: 0,\n firstStackClearing: true,\n seac: null,\n width: null,\n hasVStems: false\n };\n var valid = true;\n var localSubrToUse = null;\n var privateDictToUse = privateDict;\n\n if (fdSelect && fdArray.length) {\n var fdIndex = fdSelect.getFDIndex(i);\n\n if (fdIndex === -1) {\n (0, _util.warn)(\"Glyph index is not in fd select.\");\n valid = false;\n }\n\n if (fdIndex >= fdArray.length) {\n (0, _util.warn)(\"Invalid fd index for glyph index.\");\n valid = false;\n }\n\n if (valid) {\n privateDictToUse = fdArray[fdIndex].privateDict;\n localSubrToUse = privateDictToUse.subrsIndex;\n }\n } else if (localSubrIndex) {\n localSubrToUse = localSubrIndex;\n }\n\n if (valid) {\n valid = this.parseCharString(state, charstring, localSubrToUse, globalSubrIndex);\n }\n\n if (state.width !== null) {\n var nominalWidth = privateDictToUse.getByName(\"nominalWidthX\");\n widths[i] = nominalWidth + state.width;\n } else {\n var defaultWidth = privateDictToUse.getByName(\"defaultWidthX\");\n widths[i] = defaultWidth;\n }\n\n if (state.seac !== null) {\n seacs[i] = state.seac;\n }\n\n if (!valid) {\n charStrings.set(i, new Uint8Array([14]));\n }\n }\n\n return {\n charStrings: charStrings,\n seacs: seacs,\n widths: widths\n };\n }\n }, {\n key: \"emptyPrivateDictionary\",\n value: function emptyPrivateDictionary(parentDict) {\n var privateDict = this.createDict(CFFPrivateDict, [], parentDict.strings);\n parentDict.setByKey(18, [0, 0]);\n parentDict.privateDict = privateDict;\n }\n }, {\n key: \"parsePrivateDict\",\n value: function parsePrivateDict(parentDict) {\n if (!parentDict.hasName(\"Private\")) {\n this.emptyPrivateDictionary(parentDict);\n return;\n }\n\n var privateOffset = parentDict.getByName(\"Private\");\n\n if (!Array.isArray(privateOffset) || privateOffset.length !== 2) {\n parentDict.removeByName(\"Private\");\n return;\n }\n\n var size = privateOffset[0];\n var offset = privateOffset[1];\n\n if (size === 0 || offset >= this.bytes.length) {\n this.emptyPrivateDictionary(parentDict);\n return;\n }\n\n var privateDictEnd = offset + size;\n var dictData = this.bytes.subarray(offset, privateDictEnd);\n var dict = this.parseDict(dictData);\n var privateDict = this.createDict(CFFPrivateDict, dict, parentDict.strings);\n parentDict.privateDict = privateDict;\n\n if (!privateDict.getByName(\"Subrs\")) {\n return;\n }\n\n var subrsOffset = privateDict.getByName(\"Subrs\");\n var relativeOffset = offset + subrsOffset;\n\n if (subrsOffset === 0 || relativeOffset >= this.bytes.length) {\n this.emptyPrivateDictionary(parentDict);\n return;\n }\n\n var subrsIndex = this.parseIndex(relativeOffset);\n privateDict.subrsIndex = subrsIndex.obj;\n }\n }, {\n key: \"parseCharsets\",\n value: function parseCharsets(pos, length, strings, cid) {\n if (pos === 0) {\n return new CFFCharset(true, CFFCharsetPredefinedTypes.ISO_ADOBE, _charsets.ISOAdobeCharset);\n } else if (pos === 1) {\n return new CFFCharset(true, CFFCharsetPredefinedTypes.EXPERT, _charsets.ExpertCharset);\n } else if (pos === 2) {\n return new CFFCharset(true, CFFCharsetPredefinedTypes.EXPERT_SUBSET, _charsets.ExpertSubsetCharset);\n }\n\n var bytes = this.bytes;\n var start = pos;\n var format = bytes[pos++];\n var charset = [cid ? 0 : \".notdef\"];\n var id, count, i;\n length -= 1;\n\n switch (format) {\n case 0:\n for (i = 0; i < length; i++) {\n id = bytes[pos++] << 8 | bytes[pos++];\n charset.push(cid ? id : strings.get(id));\n }\n\n break;\n\n case 1:\n while (charset.length <= length) {\n id = bytes[pos++] << 8 | bytes[pos++];\n count = bytes[pos++];\n\n for (i = 0; i <= count; i++) {\n charset.push(cid ? id++ : strings.get(id++));\n }\n }\n\n break;\n\n case 2:\n while (charset.length <= length) {\n id = bytes[pos++] << 8 | bytes[pos++];\n count = bytes[pos++] << 8 | bytes[pos++];\n\n for (i = 0; i <= count; i++) {\n charset.push(cid ? id++ : strings.get(id++));\n }\n }\n\n break;\n\n default:\n throw new _util.FormatError(\"Unknown charset format\");\n }\n\n var end = pos;\n var raw = bytes.subarray(start, end);\n return new CFFCharset(false, format, charset, raw);\n }\n }, {\n key: \"parseEncoding\",\n value: function parseEncoding(pos, properties, strings, charset) {\n var encoding = Object.create(null);\n var bytes = this.bytes;\n var predefined = false;\n var format, i, ii;\n var raw = null;\n\n function readSupplement() {\n var supplementsCount = bytes[pos++];\n\n for (i = 0; i < supplementsCount; i++) {\n var code = bytes[pos++];\n var sid = (bytes[pos++] << 8) + (bytes[pos++] & 0xff);\n encoding[code] = charset.indexOf(strings.get(sid));\n }\n }\n\n if (pos === 0 || pos === 1) {\n predefined = true;\n format = pos;\n var baseEncoding = pos ? _encodings.ExpertEncoding : _encodings.StandardEncoding;\n\n for (i = 0, ii = charset.length; i < ii; i++) {\n var index = baseEncoding.indexOf(charset[i]);\n\n if (index !== -1) {\n encoding[index] = i;\n }\n }\n } else {\n var dataStart = pos;\n format = bytes[pos++];\n\n switch (format & 0x7f) {\n case 0:\n var glyphsCount = bytes[pos++];\n\n for (i = 1; i <= glyphsCount; i++) {\n encoding[bytes[pos++]] = i;\n }\n\n break;\n\n case 1:\n var rangesCount = bytes[pos++];\n var gid = 1;\n\n for (i = 0; i < rangesCount; i++) {\n var start = bytes[pos++];\n var left = bytes[pos++];\n\n for (var j = start; j <= start + left; j++) {\n encoding[j] = gid++;\n }\n }\n\n break;\n\n default:\n throw new _util.FormatError(\"Unknown encoding format: \".concat(format, \" in CFF\"));\n }\n\n var dataEnd = pos;\n\n if (format & 0x80) {\n bytes[dataStart] &= 0x7f;\n readSupplement();\n }\n\n raw = bytes.subarray(dataStart, dataEnd);\n }\n\n format = format & 0x7f;\n return new CFFEncoding(predefined, format, encoding, raw);\n }\n }, {\n key: \"parseFDSelect\",\n value: function parseFDSelect(pos, length) {\n var bytes = this.bytes;\n var format = bytes[pos++];\n var fdSelect = [];\n var i;\n\n switch (format) {\n case 0:\n for (i = 0; i < length; ++i) {\n var id = bytes[pos++];\n fdSelect.push(id);\n }\n\n break;\n\n case 3:\n var rangesCount = bytes[pos++] << 8 | bytes[pos++];\n\n for (i = 0; i < rangesCount; ++i) {\n var first = bytes[pos++] << 8 | bytes[pos++];\n\n if (i === 0 && first !== 0) {\n (0, _util.warn)(\"parseFDSelect: The first range must have a first GID of 0\" + \" -- trying to recover.\");\n first = 0;\n }\n\n var fdIndex = bytes[pos++];\n var next = bytes[pos] << 8 | bytes[pos + 1];\n\n for (var j = first; j < next; ++j) {\n fdSelect.push(fdIndex);\n }\n }\n\n pos += 2;\n break;\n\n default:\n throw new _util.FormatError(\"parseFDSelect: Unknown format \\\"\".concat(format, \"\\\".\"));\n }\n\n if (fdSelect.length !== length) {\n throw new _util.FormatError(\"parseFDSelect: Invalid font data.\");\n }\n\n return new CFFFDSelect(format, fdSelect);\n }\n }]);\n\n return CFFParser;\n }();\n\n return CFFParser;\n}();\n\nexports.CFFParser = CFFParser;\n\nvar CFF = /*#__PURE__*/function () {\n function CFF() {\n _classCallCheck(this, CFF);\n\n this.header = null;\n this.names = [];\n this.topDict = null;\n this.strings = new CFFStrings();\n this.globalSubrIndex = null;\n this.encoding = null;\n this.charset = null;\n this.charStrings = null;\n this.fdArray = [];\n this.fdSelect = null;\n this.isCIDFont = false;\n }\n\n _createClass(CFF, [{\n key: \"duplicateFirstGlyph\",\n value: function duplicateFirstGlyph() {\n if (this.charStrings.count >= 65535) {\n (0, _util.warn)(\"Not enough space in charstrings to duplicate first glyph.\");\n return;\n }\n\n var glyphZero = this.charStrings.get(0);\n this.charStrings.add(glyphZero);\n\n if (this.isCIDFont) {\n this.fdSelect.fdSelect.push(this.fdSelect.fdSelect[0]);\n }\n }\n }, {\n key: \"hasGlyphId\",\n value: function hasGlyphId(id) {\n if (id < 0 || id >= this.charStrings.count) {\n return false;\n }\n\n var glyph = this.charStrings.get(id);\n return glyph.length > 0;\n }\n }]);\n\n return CFF;\n}();\n\nexports.CFF = CFF;\n\nvar CFFHeader = function CFFHeader(major, minor, hdrSize, offSize) {\n _classCallCheck(this, CFFHeader);\n\n this.major = major;\n this.minor = minor;\n this.hdrSize = hdrSize;\n this.offSize = offSize;\n};\n\nexports.CFFHeader = CFFHeader;\n\nvar CFFStrings = /*#__PURE__*/function () {\n function CFFStrings() {\n _classCallCheck(this, CFFStrings);\n\n this.strings = [];\n }\n\n _createClass(CFFStrings, [{\n key: \"get\",\n value: function get(index) {\n if (index >= 0 && index <= NUM_STANDARD_CFF_STRINGS - 1) {\n return CFFStandardStrings[index];\n }\n\n if (index - NUM_STANDARD_CFF_STRINGS <= this.strings.length) {\n return this.strings[index - NUM_STANDARD_CFF_STRINGS];\n }\n\n return CFFStandardStrings[0];\n }\n }, {\n key: \"getSID\",\n value: function getSID(str) {\n var index = CFFStandardStrings.indexOf(str);\n\n if (index !== -1) {\n return index;\n }\n\n index = this.strings.indexOf(str);\n\n if (index !== -1) {\n return index + NUM_STANDARD_CFF_STRINGS;\n }\n\n return -1;\n }\n }, {\n key: \"add\",\n value: function add(value) {\n this.strings.push(value);\n }\n }, {\n key: \"count\",\n get: function get() {\n return this.strings.length;\n }\n }]);\n\n return CFFStrings;\n}();\n\nexports.CFFStrings = CFFStrings;\n\nvar CFFIndex = /*#__PURE__*/function () {\n function CFFIndex() {\n _classCallCheck(this, CFFIndex);\n\n this.objects = [];\n this.length = 0;\n }\n\n _createClass(CFFIndex, [{\n key: \"add\",\n value: function add(data) {\n this.length += data.length;\n this.objects.push(data);\n }\n }, {\n key: \"set\",\n value: function set(index, data) {\n this.length += data.length - this.objects[index].length;\n this.objects[index] = data;\n }\n }, {\n key: \"get\",\n value: function get(index) {\n return this.objects[index];\n }\n }, {\n key: \"count\",\n get: function get() {\n return this.objects.length;\n }\n }]);\n\n return CFFIndex;\n}();\n\nexports.CFFIndex = CFFIndex;\n\nvar CFFDict = /*#__PURE__*/function () {\n function CFFDict(tables, strings) {\n _classCallCheck(this, CFFDict);\n\n this.keyToNameMap = tables.keyToNameMap;\n this.nameToKeyMap = tables.nameToKeyMap;\n this.defaults = tables.defaults;\n this.types = tables.types;\n this.opcodes = tables.opcodes;\n this.order = tables.order;\n this.strings = strings;\n this.values = Object.create(null);\n }\n\n _createClass(CFFDict, [{\n key: \"setByKey\",\n value: function setByKey(key, value) {\n if (!(key in this.keyToNameMap)) {\n return false;\n }\n\n var valueLength = value.length;\n\n if (valueLength === 0) {\n return true;\n }\n\n for (var i = 0; i < valueLength; i++) {\n if (isNaN(value[i])) {\n (0, _util.warn)('Invalid CFFDict value: \"' + value + '\" for key \"' + key + '\".');\n return true;\n }\n }\n\n var type = this.types[key];\n\n if (type === \"num\" || type === \"sid\" || type === \"offset\") {\n value = value[0];\n }\n\n this.values[key] = value;\n return true;\n }\n }, {\n key: \"setByName\",\n value: function setByName(name, value) {\n if (!(name in this.nameToKeyMap)) {\n throw new _util.FormatError(\"Invalid dictionary name \\\"\".concat(name, \"\\\"\"));\n }\n\n this.values[this.nameToKeyMap[name]] = value;\n }\n }, {\n key: \"hasName\",\n value: function hasName(name) {\n return this.nameToKeyMap[name] in this.values;\n }\n }, {\n key: \"getByName\",\n value: function getByName(name) {\n if (!(name in this.nameToKeyMap)) {\n throw new _util.FormatError(\"Invalid dictionary name \".concat(name, \"\\\"\"));\n }\n\n var key = this.nameToKeyMap[name];\n\n if (!(key in this.values)) {\n return this.defaults[key];\n }\n\n return this.values[key];\n }\n }, {\n key: \"removeByName\",\n value: function removeByName(name) {\n delete this.values[this.nameToKeyMap[name]];\n }\n }], [{\n key: \"createTables\",\n value: function createTables(layout) {\n var tables = {\n keyToNameMap: {},\n nameToKeyMap: {},\n defaults: {},\n types: {},\n opcodes: {},\n order: []\n };\n\n for (var i = 0, ii = layout.length; i < ii; ++i) {\n var entry = layout[i];\n var key = Array.isArray(entry[0]) ? (entry[0][0] << 8) + entry[0][1] : entry[0];\n tables.keyToNameMap[key] = entry[1];\n tables.nameToKeyMap[entry[1]] = key;\n tables.types[key] = entry[2];\n tables.defaults[key] = entry[3];\n tables.opcodes[key] = Array.isArray(entry[0]) ? entry[0] : [entry[0]];\n tables.order.push(key);\n }\n\n return tables;\n }\n }]);\n\n return CFFDict;\n}();\n\nvar CFFTopDict = function CFFTopDictClosure() {\n var layout = [[[12, 30], \"ROS\", [\"sid\", \"sid\", \"num\"], null], [[12, 20], \"SyntheticBase\", \"num\", null], [0, \"version\", \"sid\", null], [1, \"Notice\", \"sid\", null], [[12, 0], \"Copyright\", \"sid\", null], [2, \"FullName\", \"sid\", null], [3, \"FamilyName\", \"sid\", null], [4, \"Weight\", \"sid\", null], [[12, 1], \"isFixedPitch\", \"num\", 0], [[12, 2], \"ItalicAngle\", \"num\", 0], [[12, 3], \"UnderlinePosition\", \"num\", -100], [[12, 4], \"UnderlineThickness\", \"num\", 50], [[12, 5], \"PaintType\", \"num\", 0], [[12, 6], \"CharstringType\", \"num\", 2], [[12, 7], \"FontMatrix\", [\"num\", \"num\", \"num\", \"num\", \"num\", \"num\"], [0.001, 0, 0, 0.001, 0, 0]], [13, \"UniqueID\", \"num\", null], [5, \"FontBBox\", [\"num\", \"num\", \"num\", \"num\"], [0, 0, 0, 0]], [[12, 8], \"StrokeWidth\", \"num\", 0], [14, \"XUID\", \"array\", null], [15, \"charset\", \"offset\", 0], [16, \"Encoding\", \"offset\", 0], [17, \"CharStrings\", \"offset\", 0], [18, \"Private\", [\"offset\", \"offset\"], null], [[12, 21], \"PostScript\", \"sid\", null], [[12, 22], \"BaseFontName\", \"sid\", null], [[12, 23], \"BaseFontBlend\", \"delta\", null], [[12, 31], \"CIDFontVersion\", \"num\", 0], [[12, 32], \"CIDFontRevision\", \"num\", 0], [[12, 33], \"CIDFontType\", \"num\", 0], [[12, 34], \"CIDCount\", \"num\", 8720], [[12, 35], \"UIDBase\", \"num\", null], [[12, 37], \"FDSelect\", \"offset\", null], [[12, 36], \"FDArray\", \"offset\", null], [[12, 38], \"FontName\", \"sid\", null]];\n var tables = null;\n\n var CFFTopDict = /*#__PURE__*/function (_CFFDict) {\n _inherits(CFFTopDict, _CFFDict);\n\n var _super = _createSuper(CFFTopDict);\n\n function CFFTopDict(strings) {\n var _this;\n\n _classCallCheck(this, CFFTopDict);\n\n if (tables === null) {\n tables = CFFDict.createTables(layout);\n }\n\n _this = _super.call(this, tables, strings);\n _this.privateDict = null;\n return _this;\n }\n\n return CFFTopDict;\n }(CFFDict);\n\n return CFFTopDict;\n}();\n\nexports.CFFTopDict = CFFTopDict;\n\nvar CFFPrivateDict = function CFFPrivateDictClosure() {\n var layout = [[6, \"BlueValues\", \"delta\", null], [7, \"OtherBlues\", \"delta\", null], [8, \"FamilyBlues\", \"delta\", null], [9, \"FamilyOtherBlues\", \"delta\", null], [[12, 9], \"BlueScale\", \"num\", 0.039625], [[12, 10], \"BlueShift\", \"num\", 7], [[12, 11], \"BlueFuzz\", \"num\", 1], [10, \"StdHW\", \"num\", null], [11, \"StdVW\", \"num\", null], [[12, 12], \"StemSnapH\", \"delta\", null], [[12, 13], \"StemSnapV\", \"delta\", null], [[12, 14], \"ForceBold\", \"num\", 0], [[12, 17], \"LanguageGroup\", \"num\", 0], [[12, 18], \"ExpansionFactor\", \"num\", 0.06], [[12, 19], \"initialRandomSeed\", \"num\", 0], [20, \"defaultWidthX\", \"num\", 0], [21, \"nominalWidthX\", \"num\", 0], [19, \"Subrs\", \"offset\", null]];\n var tables = null;\n\n var CFFPrivateDict = /*#__PURE__*/function (_CFFDict2) {\n _inherits(CFFPrivateDict, _CFFDict2);\n\n var _super2 = _createSuper(CFFPrivateDict);\n\n function CFFPrivateDict(strings) {\n var _this2;\n\n _classCallCheck(this, CFFPrivateDict);\n\n if (tables === null) {\n tables = CFFDict.createTables(layout);\n }\n\n _this2 = _super2.call(this, tables, strings);\n _this2.subrsIndex = null;\n return _this2;\n }\n\n return CFFPrivateDict;\n }(CFFDict);\n\n return CFFPrivateDict;\n}();\n\nexports.CFFPrivateDict = CFFPrivateDict;\nvar CFFCharsetPredefinedTypes = {\n ISO_ADOBE: 0,\n EXPERT: 1,\n EXPERT_SUBSET: 2\n};\n\nvar CFFCharset = function CFFCharset(predefined, format, charset, raw) {\n _classCallCheck(this, CFFCharset);\n\n this.predefined = predefined;\n this.format = format;\n this.charset = charset;\n this.raw = raw;\n};\n\nexports.CFFCharset = CFFCharset;\n\nvar CFFEncoding = function CFFEncoding(predefined, format, encoding, raw) {\n _classCallCheck(this, CFFEncoding);\n\n this.predefined = predefined;\n this.format = format;\n this.encoding = encoding;\n this.raw = raw;\n};\n\nvar CFFFDSelect = /*#__PURE__*/function () {\n function CFFFDSelect(format, fdSelect) {\n _classCallCheck(this, CFFFDSelect);\n\n this.format = format;\n this.fdSelect = fdSelect;\n }\n\n _createClass(CFFFDSelect, [{\n key: \"getFDIndex\",\n value: function getFDIndex(glyphIndex) {\n if (glyphIndex < 0 || glyphIndex >= this.fdSelect.length) {\n return -1;\n }\n\n return this.fdSelect[glyphIndex];\n }\n }]);\n\n return CFFFDSelect;\n}();\n\nexports.CFFFDSelect = CFFFDSelect;\n\nvar CFFOffsetTracker = /*#__PURE__*/function () {\n function CFFOffsetTracker() {\n _classCallCheck(this, CFFOffsetTracker);\n\n this.offsets = Object.create(null);\n }\n\n _createClass(CFFOffsetTracker, [{\n key: \"isTracking\",\n value: function isTracking(key) {\n return key in this.offsets;\n }\n }, {\n key: \"track\",\n value: function track(key, location) {\n if (key in this.offsets) {\n throw new _util.FormatError(\"Already tracking location of \".concat(key));\n }\n\n this.offsets[key] = location;\n }\n }, {\n key: \"offset\",\n value: function offset(value) {\n for (var key in this.offsets) {\n this.offsets[key] += value;\n }\n }\n }, {\n key: \"setEntryLocation\",\n value: function setEntryLocation(key, values, output) {\n if (!(key in this.offsets)) {\n throw new _util.FormatError(\"Not tracking location of \".concat(key));\n }\n\n var data = output.data;\n var dataOffset = this.offsets[key];\n var size = 5;\n\n for (var i = 0, ii = values.length; i < ii; ++i) {\n var offset0 = i * size + dataOffset;\n var offset1 = offset0 + 1;\n var offset2 = offset0 + 2;\n var offset3 = offset0 + 3;\n var offset4 = offset0 + 4;\n\n if (data[offset0] !== 0x1d || data[offset1] !== 0 || data[offset2] !== 0 || data[offset3] !== 0 || data[offset4] !== 0) {\n throw new _util.FormatError(\"writing to an offset that is not empty\");\n }\n\n var value = values[i];\n data[offset0] = 0x1d;\n data[offset1] = value >> 24 & 0xff;\n data[offset2] = value >> 16 & 0xff;\n data[offset3] = value >> 8 & 0xff;\n data[offset4] = value & 0xff;\n }\n }\n }]);\n\n return CFFOffsetTracker;\n}();\n\nvar CFFCompiler = /*#__PURE__*/function () {\n function CFFCompiler(cff) {\n _classCallCheck(this, CFFCompiler);\n\n this.cff = cff;\n }\n\n _createClass(CFFCompiler, [{\n key: \"compile\",\n value: function compile() {\n var cff = this.cff;\n var output = {\n data: [],\n length: 0,\n add: function CFFCompiler_add(data) {\n this.data = this.data.concat(data);\n this.length = this.data.length;\n }\n };\n var header = this.compileHeader(cff.header);\n output.add(header);\n var nameIndex = this.compileNameIndex(cff.names);\n output.add(nameIndex);\n\n if (cff.isCIDFont) {\n if (cff.topDict.hasName(\"FontMatrix\")) {\n var base = cff.topDict.getByName(\"FontMatrix\");\n cff.topDict.removeByName(\"FontMatrix\");\n\n for (var i = 0, ii = cff.fdArray.length; i < ii; i++) {\n var subDict = cff.fdArray[i];\n var matrix = base.slice(0);\n\n if (subDict.hasName(\"FontMatrix\")) {\n matrix = _util.Util.transform(matrix, subDict.getByName(\"FontMatrix\"));\n }\n\n subDict.setByName(\"FontMatrix\", matrix);\n }\n }\n }\n\n cff.topDict.setByName(\"charset\", 0);\n var compiled = this.compileTopDicts([cff.topDict], output.length, cff.isCIDFont);\n output.add(compiled.output);\n var topDictTracker = compiled.trackers[0];\n var stringIndex = this.compileStringIndex(cff.strings.strings);\n output.add(stringIndex);\n var globalSubrIndex = this.compileIndex(cff.globalSubrIndex);\n output.add(globalSubrIndex);\n\n if (cff.encoding && cff.topDict.hasName(\"Encoding\")) {\n if (cff.encoding.predefined) {\n topDictTracker.setEntryLocation(\"Encoding\", [cff.encoding.format], output);\n } else {\n var encoding = this.compileEncoding(cff.encoding);\n topDictTracker.setEntryLocation(\"Encoding\", [output.length], output);\n output.add(encoding);\n }\n }\n\n var charset = this.compileCharset(cff.charset, cff.charStrings.count, cff.strings, cff.isCIDFont);\n topDictTracker.setEntryLocation(\"charset\", [output.length], output);\n output.add(charset);\n var charStrings = this.compileCharStrings(cff.charStrings);\n topDictTracker.setEntryLocation(\"CharStrings\", [output.length], output);\n output.add(charStrings);\n\n if (cff.isCIDFont) {\n topDictTracker.setEntryLocation(\"FDSelect\", [output.length], output);\n var fdSelect = this.compileFDSelect(cff.fdSelect);\n output.add(fdSelect);\n compiled = this.compileTopDicts(cff.fdArray, output.length, true);\n topDictTracker.setEntryLocation(\"FDArray\", [output.length], output);\n output.add(compiled.output);\n var fontDictTrackers = compiled.trackers;\n this.compilePrivateDicts(cff.fdArray, fontDictTrackers, output);\n }\n\n this.compilePrivateDicts([cff.topDict], [topDictTracker], output);\n output.add([0]);\n return output.data;\n }\n }, {\n key: \"encodeNumber\",\n value: function encodeNumber(value) {\n if (Number.isInteger(value)) {\n return this.encodeInteger(value);\n }\n\n return this.encodeFloat(value);\n }\n }, {\n key: \"encodeFloat\",\n value: function encodeFloat(num) {\n var value = num.toString();\n var m = CFFCompiler.EncodeFloatRegExp.exec(value);\n\n if (m) {\n var epsilon = parseFloat(\"1e\" + ((m[2] ? +m[2] : 0) + m[1].length));\n value = (Math.round(num * epsilon) / epsilon).toString();\n }\n\n var nibbles = \"\";\n var i, ii;\n\n for (i = 0, ii = value.length; i < ii; ++i) {\n var a = value[i];\n\n if (a === \"e\") {\n nibbles += value[++i] === \"-\" ? \"c\" : \"b\";\n } else if (a === \".\") {\n nibbles += \"a\";\n } else if (a === \"-\") {\n nibbles += \"e\";\n } else {\n nibbles += a;\n }\n }\n\n nibbles += nibbles.length & 1 ? \"f\" : \"ff\";\n var out = [30];\n\n for (i = 0, ii = nibbles.length; i < ii; i += 2) {\n out.push(parseInt(nibbles.substring(i, i + 2), 16));\n }\n\n return out;\n }\n }, {\n key: \"encodeInteger\",\n value: function encodeInteger(value) {\n var code;\n\n if (value >= -107 && value <= 107) {\n code = [value + 139];\n } else if (value >= 108 && value <= 1131) {\n value = value - 108;\n code = [(value >> 8) + 247, value & 0xff];\n } else if (value >= -1131 && value <= -108) {\n value = -value - 108;\n code = [(value >> 8) + 251, value & 0xff];\n } else if (value >= -32768 && value <= 32767) {\n code = [0x1c, value >> 8 & 0xff, value & 0xff];\n } else {\n code = [0x1d, value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff];\n }\n\n return code;\n }\n }, {\n key: \"compileHeader\",\n value: function compileHeader(header) {\n return [header.major, header.minor, header.hdrSize, header.offSize];\n }\n }, {\n key: \"compileNameIndex\",\n value: function compileNameIndex(names) {\n var nameIndex = new CFFIndex();\n\n for (var i = 0, ii = names.length; i < ii; ++i) {\n var name = names[i];\n var length = Math.min(name.length, 127);\n var sanitizedName = new Array(length);\n\n for (var j = 0; j < length; j++) {\n var _char = name[j];\n\n if (_char < \"!\" || _char > \"~\" || _char === \"[\" || _char === \"]\" || _char === \"(\" || _char === \")\" || _char === \"{\" || _char === \"}\" || _char === \"<\" || _char === \">\" || _char === \"/\" || _char === \"%\") {\n _char = \"_\";\n }\n\n sanitizedName[j] = _char;\n }\n\n sanitizedName = sanitizedName.join(\"\");\n\n if (sanitizedName === \"\") {\n sanitizedName = \"Bad_Font_Name\";\n }\n\n nameIndex.add((0, _util.stringToBytes)(sanitizedName));\n }\n\n return this.compileIndex(nameIndex);\n }\n }, {\n key: \"compileTopDicts\",\n value: function compileTopDicts(dicts, length, removeCidKeys) {\n var fontDictTrackers = [];\n var fdArrayIndex = new CFFIndex();\n\n for (var i = 0, ii = dicts.length; i < ii; ++i) {\n var fontDict = dicts[i];\n\n if (removeCidKeys) {\n fontDict.removeByName(\"CIDFontVersion\");\n fontDict.removeByName(\"CIDFontRevision\");\n fontDict.removeByName(\"CIDFontType\");\n fontDict.removeByName(\"CIDCount\");\n fontDict.removeByName(\"UIDBase\");\n }\n\n var fontDictTracker = new CFFOffsetTracker();\n var fontDictData = this.compileDict(fontDict, fontDictTracker);\n fontDictTrackers.push(fontDictTracker);\n fdArrayIndex.add(fontDictData);\n fontDictTracker.offset(length);\n }\n\n fdArrayIndex = this.compileIndex(fdArrayIndex, fontDictTrackers);\n return {\n trackers: fontDictTrackers,\n output: fdArrayIndex\n };\n }\n }, {\n key: \"compilePrivateDicts\",\n value: function compilePrivateDicts(dicts, trackers, output) {\n for (var i = 0, ii = dicts.length; i < ii; ++i) {\n var fontDict = dicts[i];\n var privateDict = fontDict.privateDict;\n\n if (!privateDict || !fontDict.hasName(\"Private\")) {\n throw new _util.FormatError(\"There must be a private dictionary.\");\n }\n\n var privateDictTracker = new CFFOffsetTracker();\n var privateDictData = this.compileDict(privateDict, privateDictTracker);\n var outputLength = output.length;\n privateDictTracker.offset(outputLength);\n\n if (!privateDictData.length) {\n outputLength = 0;\n }\n\n trackers[i].setEntryLocation(\"Private\", [privateDictData.length, outputLength], output);\n output.add(privateDictData);\n\n if (privateDict.subrsIndex && privateDict.hasName(\"Subrs\")) {\n var subrs = this.compileIndex(privateDict.subrsIndex);\n privateDictTracker.setEntryLocation(\"Subrs\", [privateDictData.length], output);\n output.add(subrs);\n }\n }\n }\n }, {\n key: \"compileDict\",\n value: function compileDict(dict, offsetTracker) {\n var out = [];\n var order = dict.order;\n\n for (var i = 0; i < order.length; ++i) {\n var key = order[i];\n\n if (!(key in dict.values)) {\n continue;\n }\n\n var values = dict.values[key];\n var types = dict.types[key];\n\n if (!Array.isArray(types)) {\n types = [types];\n }\n\n if (!Array.isArray(values)) {\n values = [values];\n }\n\n if (values.length === 0) {\n continue;\n }\n\n for (var j = 0, jj = types.length; j < jj; ++j) {\n var type = types[j];\n var value = values[j];\n\n switch (type) {\n case \"num\":\n case \"sid\":\n out = out.concat(this.encodeNumber(value));\n break;\n\n case \"offset\":\n var name = dict.keyToNameMap[key];\n\n if (!offsetTracker.isTracking(name)) {\n offsetTracker.track(name, out.length);\n }\n\n out = out.concat([0x1d, 0, 0, 0, 0]);\n break;\n\n case \"array\":\n case \"delta\":\n out = out.concat(this.encodeNumber(value));\n\n for (var k = 1, kk = values.length; k < kk; ++k) {\n out = out.concat(this.encodeNumber(values[k]));\n }\n\n break;\n\n default:\n throw new _util.FormatError(\"Unknown data type of \".concat(type));\n }\n }\n\n out = out.concat(dict.opcodes[key]);\n }\n\n return out;\n }\n }, {\n key: \"compileStringIndex\",\n value: function compileStringIndex(strings) {\n var stringIndex = new CFFIndex();\n\n for (var i = 0, ii = strings.length; i < ii; ++i) {\n stringIndex.add((0, _util.stringToBytes)(strings[i]));\n }\n\n return this.compileIndex(stringIndex);\n }\n }, {\n key: \"compileGlobalSubrIndex\",\n value: function compileGlobalSubrIndex() {\n var globalSubrIndex = this.cff.globalSubrIndex;\n this.out.writeByteArray(this.compileIndex(globalSubrIndex));\n }\n }, {\n key: \"compileCharStrings\",\n value: function compileCharStrings(charStrings) {\n var charStringsIndex = new CFFIndex();\n\n for (var i = 0; i < charStrings.count; i++) {\n var glyph = charStrings.get(i);\n\n if (glyph.length === 0) {\n charStringsIndex.add(new Uint8Array([0x8b, 0x0e]));\n continue;\n }\n\n charStringsIndex.add(glyph);\n }\n\n return this.compileIndex(charStringsIndex);\n }\n }, {\n key: \"compileCharset\",\n value: function compileCharset(charset, numGlyphs, strings, isCIDFont) {\n var out;\n var numGlyphsLessNotDef = numGlyphs - 1;\n\n if (isCIDFont) {\n out = new Uint8Array([2, 0, 0, numGlyphsLessNotDef >> 8 & 0xff, numGlyphsLessNotDef & 0xff]);\n } else {\n var length = 1 + numGlyphsLessNotDef * 2;\n out = new Uint8Array(length);\n out[0] = 0;\n var charsetIndex = 0;\n var numCharsets = charset.charset.length;\n var warned = false;\n\n for (var i = 1; i < out.length; i += 2) {\n var sid = 0;\n\n if (charsetIndex < numCharsets) {\n var name = charset.charset[charsetIndex++];\n sid = strings.getSID(name);\n\n if (sid === -1) {\n sid = 0;\n\n if (!warned) {\n warned = true;\n (0, _util.warn)(\"Couldn't find \".concat(name, \" in CFF strings\"));\n }\n }\n }\n\n out[i] = sid >> 8 & 0xff;\n out[i + 1] = sid & 0xff;\n }\n }\n\n return this.compileTypedArray(out);\n }\n }, {\n key: \"compileEncoding\",\n value: function compileEncoding(encoding) {\n return this.compileTypedArray(encoding.raw);\n }\n }, {\n key: \"compileFDSelect\",\n value: function compileFDSelect(fdSelect) {\n var format = fdSelect.format;\n var out, i;\n\n switch (format) {\n case 0:\n out = new Uint8Array(1 + fdSelect.fdSelect.length);\n out[0] = format;\n\n for (i = 0; i < fdSelect.fdSelect.length; i++) {\n out[i + 1] = fdSelect.fdSelect[i];\n }\n\n break;\n\n case 3:\n var start = 0;\n var lastFD = fdSelect.fdSelect[0];\n var ranges = [format, 0, 0, start >> 8 & 0xff, start & 0xff, lastFD];\n\n for (i = 1; i < fdSelect.fdSelect.length; i++) {\n var currentFD = fdSelect.fdSelect[i];\n\n if (currentFD !== lastFD) {\n ranges.push(i >> 8 & 0xff, i & 0xff, currentFD);\n lastFD = currentFD;\n }\n }\n\n var numRanges = (ranges.length - 3) / 3;\n ranges[1] = numRanges >> 8 & 0xff;\n ranges[2] = numRanges & 0xff;\n ranges.push(i >> 8 & 0xff, i & 0xff);\n out = new Uint8Array(ranges);\n break;\n }\n\n return this.compileTypedArray(out);\n }\n }, {\n key: \"compileTypedArray\",\n value: function compileTypedArray(data) {\n var out = [];\n\n for (var i = 0, ii = data.length; i < ii; ++i) {\n out[i] = data[i];\n }\n\n return out;\n }\n }, {\n key: \"compileIndex\",\n value: function compileIndex(index) {\n var trackers = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var objects = index.objects;\n var count = objects.length;\n\n if (count === 0) {\n return [0, 0, 0];\n }\n\n var data = [count >> 8 & 0xff, count & 0xff];\n var lastOffset = 1,\n i;\n\n for (i = 0; i < count; ++i) {\n lastOffset += objects[i].length;\n }\n\n var offsetSize;\n\n if (lastOffset < 0x100) {\n offsetSize = 1;\n } else if (lastOffset < 0x10000) {\n offsetSize = 2;\n } else if (lastOffset < 0x1000000) {\n offsetSize = 3;\n } else {\n offsetSize = 4;\n }\n\n data.push(offsetSize);\n var relativeOffset = 1;\n\n for (i = 0; i < count + 1; i++) {\n if (offsetSize === 1) {\n data.push(relativeOffset & 0xff);\n } else if (offsetSize === 2) {\n data.push(relativeOffset >> 8 & 0xff, relativeOffset & 0xff);\n } else if (offsetSize === 3) {\n data.push(relativeOffset >> 16 & 0xff, relativeOffset >> 8 & 0xff, relativeOffset & 0xff);\n } else {\n data.push(relativeOffset >>> 24 & 0xff, relativeOffset >> 16 & 0xff, relativeOffset >> 8 & 0xff, relativeOffset & 0xff);\n }\n\n if (objects[i]) {\n relativeOffset += objects[i].length;\n }\n }\n\n for (i = 0; i < count; i++) {\n if (trackers[i]) {\n trackers[i].offset(data.length);\n }\n\n for (var j = 0, jj = objects[i].length; j < jj; j++) {\n data.push(objects[i][j]);\n }\n }\n\n return data;\n }\n }], [{\n key: \"EncodeFloatRegExp\",\n get: function get() {\n return (0, _util.shadow)(this, \"EncodeFloatRegExp\", /\\.(\\d*?)(?:9{5,20}|0{5,20})\\d{0,2}(?:e(.+)|$)/);\n }\n }]);\n\n return CFFCompiler;\n}();\n\nexports.CFFCompiler = CFFCompiler;\n\n/***/ }),\n/* 229 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ExpertSubsetCharset = exports.ExpertCharset = exports.ISOAdobeCharset = void 0;\nvar ISOAdobeCharset = [\".notdef\", \"space\", \"exclam\", \"quotedbl\", \"numbersign\", \"dollar\", \"percent\", \"ampersand\", \"quoteright\", \"parenleft\", \"parenright\", \"asterisk\", \"plus\", \"comma\", \"hyphen\", \"period\", \"slash\", \"zero\", \"one\", \"two\", \"three\", \"four\", \"five\", \"six\", \"seven\", \"eight\", \"nine\", \"colon\", \"semicolon\", \"less\", \"equal\", \"greater\", \"question\", \"at\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\", \"bracketleft\", \"backslash\", \"bracketright\", \"asciicircum\", \"underscore\", \"quoteleft\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"g\", \"h\", \"i\", \"j\", \"k\", \"l\", \"m\", \"n\", \"o\", \"p\", \"q\", \"r\", \"s\", \"t\", \"u\", \"v\", \"w\", \"x\", \"y\", \"z\", \"braceleft\", \"bar\", \"braceright\", \"asciitilde\", \"exclamdown\", \"cent\", \"sterling\", \"fraction\", \"yen\", \"florin\", \"section\", \"currency\", \"quotesingle\", \"quotedblleft\", \"guillemotleft\", \"guilsinglleft\", \"guilsinglright\", \"fi\", \"fl\", \"endash\", \"dagger\", \"daggerdbl\", \"periodcentered\", \"paragraph\", \"bullet\", \"quotesinglbase\", \"quotedblbase\", \"quotedblright\", \"guillemotright\", \"ellipsis\", \"perthousand\", \"questiondown\", \"grave\", \"acute\", \"circumflex\", \"tilde\", \"macron\", \"breve\", \"dotaccent\", \"dieresis\", \"ring\", \"cedilla\", \"hungarumlaut\", \"ogonek\", \"caron\", \"emdash\", \"AE\", \"ordfeminine\", \"Lslash\", \"Oslash\", \"OE\", \"ordmasculine\", \"ae\", \"dotlessi\", \"lslash\", \"oslash\", \"oe\", \"germandbls\", \"onesuperior\", \"logicalnot\", \"mu\", \"trademark\", \"Eth\", \"onehalf\", \"plusminus\", \"Thorn\", \"onequarter\", \"divide\", \"brokenbar\", \"degree\", \"thorn\", \"threequarters\", \"twosuperior\", \"registered\", \"minus\", \"eth\", \"multiply\", \"threesuperior\", \"copyright\", \"Aacute\", \"Acircumflex\", \"Adieresis\", \"Agrave\", \"Aring\", \"Atilde\", \"Ccedilla\", \"Eacute\", \"Ecircumflex\", \"Edieresis\", \"Egrave\", \"Iacute\", \"Icircumflex\", \"Idieresis\", \"Igrave\", \"Ntilde\", \"Oacute\", \"Ocircumflex\", \"Odieresis\", \"Ograve\", \"Otilde\", \"Scaron\", \"Uacute\", \"Ucircumflex\", \"Udieresis\", \"Ugrave\", \"Yacute\", \"Ydieresis\", \"Zcaron\", \"aacute\", \"acircumflex\", \"adieresis\", \"agrave\", \"aring\", \"atilde\", \"ccedilla\", \"eacute\", \"ecircumflex\", \"edieresis\", \"egrave\", \"iacute\", \"icircumflex\", \"idieresis\", \"igrave\", \"ntilde\", \"oacute\", \"ocircumflex\", \"odieresis\", \"ograve\", \"otilde\", \"scaron\", \"uacute\", \"ucircumflex\", \"udieresis\", \"ugrave\", \"yacute\", \"ydieresis\", \"zcaron\"];\nexports.ISOAdobeCharset = ISOAdobeCharset;\nvar ExpertCharset = [\".notdef\", \"space\", \"exclamsmall\", \"Hungarumlautsmall\", \"dollaroldstyle\", \"dollarsuperior\", \"ampersandsmall\", \"Acutesmall\", \"parenleftsuperior\", \"parenrightsuperior\", \"twodotenleader\", \"onedotenleader\", \"comma\", \"hyphen\", \"period\", \"fraction\", \"zerooldstyle\", \"oneoldstyle\", \"twooldstyle\", \"threeoldstyle\", \"fouroldstyle\", \"fiveoldstyle\", \"sixoldstyle\", \"sevenoldstyle\", \"eightoldstyle\", \"nineoldstyle\", \"colon\", \"semicolon\", \"commasuperior\", \"threequartersemdash\", \"periodsuperior\", \"questionsmall\", \"asuperior\", \"bsuperior\", \"centsuperior\", \"dsuperior\", \"esuperior\", \"isuperior\", \"lsuperior\", \"msuperior\", \"nsuperior\", \"osuperior\", \"rsuperior\", \"ssuperior\", \"tsuperior\", \"ff\", \"fi\", \"fl\", \"ffi\", \"ffl\", \"parenleftinferior\", \"parenrightinferior\", \"Circumflexsmall\", \"hyphensuperior\", \"Gravesmall\", \"Asmall\", \"Bsmall\", \"Csmall\", \"Dsmall\", \"Esmall\", \"Fsmall\", \"Gsmall\", \"Hsmall\", \"Ismall\", \"Jsmall\", \"Ksmall\", \"Lsmall\", \"Msmall\", \"Nsmall\", \"Osmall\", \"Psmall\", \"Qsmall\", \"Rsmall\", \"Ssmall\", \"Tsmall\", \"Usmall\", \"Vsmall\", \"Wsmall\", \"Xsmall\", \"Ysmall\", \"Zsmall\", \"colonmonetary\", \"onefitted\", \"rupiah\", \"Tildesmall\", \"exclamdownsmall\", \"centoldstyle\", \"Lslashsmall\", \"Scaronsmall\", \"Zcaronsmall\", \"Dieresissmall\", \"Brevesmall\", \"Caronsmall\", \"Dotaccentsmall\", \"Macronsmall\", \"figuredash\", \"hypheninferior\", \"Ogoneksmall\", \"Ringsmall\", \"Cedillasmall\", \"onequarter\", \"onehalf\", \"threequarters\", \"questiondownsmall\", \"oneeighth\", \"threeeighths\", \"fiveeighths\", \"seveneighths\", \"onethird\", \"twothirds\", \"zerosuperior\", \"onesuperior\", \"twosuperior\", \"threesuperior\", \"foursuperior\", \"fivesuperior\", \"sixsuperior\", \"sevensuperior\", \"eightsuperior\", \"ninesuperior\", \"zeroinferior\", \"oneinferior\", \"twoinferior\", \"threeinferior\", \"fourinferior\", \"fiveinferior\", \"sixinferior\", \"seveninferior\", \"eightinferior\", \"nineinferior\", \"centinferior\", \"dollarinferior\", \"periodinferior\", \"commainferior\", \"Agravesmall\", \"Aacutesmall\", \"Acircumflexsmall\", \"Atildesmall\", \"Adieresissmall\", \"Aringsmall\", \"AEsmall\", \"Ccedillasmall\", \"Egravesmall\", \"Eacutesmall\", \"Ecircumflexsmall\", \"Edieresissmall\", \"Igravesmall\", \"Iacutesmall\", \"Icircumflexsmall\", \"Idieresissmall\", \"Ethsmall\", \"Ntildesmall\", \"Ogravesmall\", \"Oacutesmall\", \"Ocircumflexsmall\", \"Otildesmall\", \"Odieresissmall\", \"OEsmall\", \"Oslashsmall\", \"Ugravesmall\", \"Uacutesmall\", \"Ucircumflexsmall\", \"Udieresissmall\", \"Yacutesmall\", \"Thornsmall\", \"Ydieresissmall\"];\nexports.ExpertCharset = ExpertCharset;\nvar ExpertSubsetCharset = [\".notdef\", \"space\", \"dollaroldstyle\", \"dollarsuperior\", \"parenleftsuperior\", \"parenrightsuperior\", \"twodotenleader\", \"onedotenleader\", \"comma\", \"hyphen\", \"period\", \"fraction\", \"zerooldstyle\", \"oneoldstyle\", \"twooldstyle\", \"threeoldstyle\", \"fouroldstyle\", \"fiveoldstyle\", \"sixoldstyle\", \"sevenoldstyle\", \"eightoldstyle\", \"nineoldstyle\", \"colon\", \"semicolon\", \"commasuperior\", \"threequartersemdash\", \"periodsuperior\", \"asuperior\", \"bsuperior\", \"centsuperior\", \"dsuperior\", \"esuperior\", \"isuperior\", \"lsuperior\", \"msuperior\", \"nsuperior\", \"osuperior\", \"rsuperior\", \"ssuperior\", \"tsuperior\", \"ff\", \"fi\", \"fl\", \"ffi\", \"ffl\", \"parenleftinferior\", \"parenrightinferior\", \"hyphensuperior\", \"colonmonetary\", \"onefitted\", \"rupiah\", \"centoldstyle\", \"figuredash\", \"hypheninferior\", \"onequarter\", \"onehalf\", \"threequarters\", \"oneeighth\", \"threeeighths\", \"fiveeighths\", \"seveneighths\", \"onethird\", \"twothirds\", \"zerosuperior\", \"onesuperior\", \"twosuperior\", \"threesuperior\", \"foursuperior\", \"fivesuperior\", \"sixsuperior\", \"sevensuperior\", \"eightsuperior\", \"ninesuperior\", \"zeroinferior\", \"oneinferior\", \"twoinferior\", \"threeinferior\", \"fourinferior\", \"fiveinferior\", \"sixinferior\", \"seveninferior\", \"eightinferior\", \"nineinferior\", \"centinferior\", \"dollarinferior\", \"periodinferior\", \"commainferior\"];\nexports.ExpertSubsetCharset = ExpertSubsetCharset;\n\n/***/ }),\n/* 230 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getEncoding = getEncoding;\nexports.ExpertEncoding = exports.ZapfDingbatsEncoding = exports.SymbolSetEncoding = exports.MacRomanEncoding = exports.StandardEncoding = exports.WinAnsiEncoding = void 0;\nvar ExpertEncoding = [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"space\", \"exclamsmall\", \"Hungarumlautsmall\", \"\", \"dollaroldstyle\", \"dollarsuperior\", \"ampersandsmall\", \"Acutesmall\", \"parenleftsuperior\", \"parenrightsuperior\", \"twodotenleader\", \"onedotenleader\", \"comma\", \"hyphen\", \"period\", \"fraction\", \"zerooldstyle\", \"oneoldstyle\", \"twooldstyle\", \"threeoldstyle\", \"fouroldstyle\", \"fiveoldstyle\", \"sixoldstyle\", \"sevenoldstyle\", \"eightoldstyle\", \"nineoldstyle\", \"colon\", \"semicolon\", \"commasuperior\", \"threequartersemdash\", \"periodsuperior\", \"questionsmall\", \"\", \"asuperior\", \"bsuperior\", \"centsuperior\", \"dsuperior\", \"esuperior\", \"\", \"\", \"\", \"isuperior\", \"\", \"\", \"lsuperior\", \"msuperior\", \"nsuperior\", \"osuperior\", \"\", \"\", \"rsuperior\", \"ssuperior\", \"tsuperior\", \"\", \"ff\", \"fi\", \"fl\", \"ffi\", \"ffl\", \"parenleftinferior\", \"\", \"parenrightinferior\", \"Circumflexsmall\", \"hyphensuperior\", \"Gravesmall\", \"Asmall\", \"Bsmall\", \"Csmall\", \"Dsmall\", \"Esmall\", \"Fsmall\", \"Gsmall\", \"Hsmall\", \"Ismall\", \"Jsmall\", \"Ksmall\", \"Lsmall\", \"Msmall\", \"Nsmall\", \"Osmall\", \"Psmall\", \"Qsmall\", \"Rsmall\", \"Ssmall\", \"Tsmall\", \"Usmall\", \"Vsmall\", \"Wsmall\", \"Xsmall\", \"Ysmall\", \"Zsmall\", \"colonmonetary\", \"onefitted\", \"rupiah\", \"Tildesmall\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"exclamdownsmall\", \"centoldstyle\", \"Lslashsmall\", \"\", \"\", \"Scaronsmall\", \"Zcaronsmall\", \"Dieresissmall\", \"Brevesmall\", \"Caronsmall\", \"\", \"Dotaccentsmall\", \"\", \"\", \"Macronsmall\", \"\", \"\", \"figuredash\", \"hypheninferior\", \"\", \"\", \"Ogoneksmall\", \"Ringsmall\", \"Cedillasmall\", \"\", \"\", \"\", \"onequarter\", \"onehalf\", \"threequarters\", \"questiondownsmall\", \"oneeighth\", \"threeeighths\", \"fiveeighths\", \"seveneighths\", \"onethird\", \"twothirds\", \"\", \"\", \"zerosuperior\", \"onesuperior\", \"twosuperior\", \"threesuperior\", \"foursuperior\", \"fivesuperior\", \"sixsuperior\", \"sevensuperior\", \"eightsuperior\", \"ninesuperior\", \"zeroinferior\", \"oneinferior\", \"twoinferior\", \"threeinferior\", \"fourinferior\", \"fiveinferior\", \"sixinferior\", \"seveninferior\", \"eightinferior\", \"nineinferior\", \"centinferior\", \"dollarinferior\", \"periodinferior\", \"commainferior\", \"Agravesmall\", \"Aacutesmall\", \"Acircumflexsmall\", \"Atildesmall\", \"Adieresissmall\", \"Aringsmall\", \"AEsmall\", \"Ccedillasmall\", \"Egravesmall\", \"Eacutesmall\", \"Ecircumflexsmall\", \"Edieresissmall\", \"Igravesmall\", \"Iacutesmall\", \"Icircumflexsmall\", \"Idieresissmall\", \"Ethsmall\", \"Ntildesmall\", \"Ogravesmall\", \"Oacutesmall\", \"Ocircumflexsmall\", \"Otildesmall\", \"Odieresissmall\", \"OEsmall\", \"Oslashsmall\", \"Ugravesmall\", \"Uacutesmall\", \"Ucircumflexsmall\", \"Udieresissmall\", \"Yacutesmall\", \"Thornsmall\", \"Ydieresissmall\"];\nexports.ExpertEncoding = ExpertEncoding;\nvar MacExpertEncoding = [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"space\", \"exclamsmall\", \"Hungarumlautsmall\", \"centoldstyle\", \"dollaroldstyle\", \"dollarsuperior\", \"ampersandsmall\", \"Acutesmall\", \"parenleftsuperior\", \"parenrightsuperior\", \"twodotenleader\", \"onedotenleader\", \"comma\", \"hyphen\", \"period\", \"fraction\", \"zerooldstyle\", \"oneoldstyle\", \"twooldstyle\", \"threeoldstyle\", \"fouroldstyle\", \"fiveoldstyle\", \"sixoldstyle\", \"sevenoldstyle\", \"eightoldstyle\", \"nineoldstyle\", \"colon\", \"semicolon\", \"\", \"threequartersemdash\", \"\", \"questionsmall\", \"\", \"\", \"\", \"\", \"Ethsmall\", \"\", \"\", \"onequarter\", \"onehalf\", \"threequarters\", \"oneeighth\", \"threeeighths\", \"fiveeighths\", \"seveneighths\", \"onethird\", \"twothirds\", \"\", \"\", \"\", \"\", \"\", \"\", \"ff\", \"fi\", \"fl\", \"ffi\", \"ffl\", \"parenleftinferior\", \"\", \"parenrightinferior\", \"Circumflexsmall\", \"hypheninferior\", \"Gravesmall\", \"Asmall\", \"Bsmall\", \"Csmall\", \"Dsmall\", \"Esmall\", \"Fsmall\", \"Gsmall\", \"Hsmall\", \"Ismall\", \"Jsmall\", \"Ksmall\", \"Lsmall\", \"Msmall\", \"Nsmall\", \"Osmall\", \"Psmall\", \"Qsmall\", \"Rsmall\", \"Ssmall\", \"Tsmall\", \"Usmall\", \"Vsmall\", \"Wsmall\", \"Xsmall\", \"Ysmall\", \"Zsmall\", \"colonmonetary\", \"onefitted\", \"rupiah\", \"Tildesmall\", \"\", \"\", \"asuperior\", \"centsuperior\", \"\", \"\", \"\", \"\", \"Aacutesmall\", \"Agravesmall\", \"Acircumflexsmall\", \"Adieresissmall\", \"Atildesmall\", \"Aringsmall\", \"Ccedillasmall\", \"Eacutesmall\", \"Egravesmall\", \"Ecircumflexsmall\", \"Edieresissmall\", \"Iacutesmall\", \"Igravesmall\", \"Icircumflexsmall\", \"Idieresissmall\", \"Ntildesmall\", \"Oacutesmall\", \"Ogravesmall\", \"Ocircumflexsmall\", \"Odieresissmall\", \"Otildesmall\", \"Uacutesmall\", \"Ugravesmall\", \"Ucircumflexsmall\", \"Udieresissmall\", \"\", \"eightsuperior\", \"fourinferior\", \"threeinferior\", \"sixinferior\", \"eightinferior\", \"seveninferior\", \"Scaronsmall\", \"\", \"centinferior\", \"twoinferior\", \"\", \"Dieresissmall\", \"\", \"Caronsmall\", \"osuperior\", \"fiveinferior\", \"\", \"commainferior\", \"periodinferior\", \"Yacutesmall\", \"\", \"dollarinferior\", \"\", \"\", \"Thornsmall\", \"\", \"nineinferior\", \"zeroinferior\", \"Zcaronsmall\", \"AEsmall\", \"Oslashsmall\", \"questiondownsmall\", \"oneinferior\", \"Lslashsmall\", \"\", \"\", \"\", \"\", \"\", \"\", \"Cedillasmall\", \"\", \"\", \"\", \"\", \"\", \"OEsmall\", \"figuredash\", \"hyphensuperior\", \"\", \"\", \"\", \"\", \"exclamdownsmall\", \"\", \"Ydieresissmall\", \"\", \"onesuperior\", \"twosuperior\", \"threesuperior\", \"foursuperior\", \"fivesuperior\", \"sixsuperior\", \"sevensuperior\", \"ninesuperior\", \"zerosuperior\", \"\", \"esuperior\", \"rsuperior\", \"tsuperior\", \"\", \"\", \"isuperior\", \"ssuperior\", \"dsuperior\", \"\", \"\", \"\", \"\", \"\", \"lsuperior\", \"Ogoneksmall\", \"Brevesmall\", \"Macronsmall\", \"bsuperior\", \"nsuperior\", \"msuperior\", \"commasuperior\", \"periodsuperior\", \"Dotaccentsmall\", \"Ringsmall\", \"\", \"\", \"\", \"\"];\nvar MacRomanEncoding = [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"space\", \"exclam\", \"quotedbl\", \"numbersign\", \"dollar\", \"percent\", \"ampersand\", \"quotesingle\", \"parenleft\", \"parenright\", \"asterisk\", \"plus\", \"comma\", \"hyphen\", \"period\", \"slash\", \"zero\", \"one\", \"two\", \"three\", \"four\", \"five\", \"six\", \"seven\", \"eight\", \"nine\", \"colon\", \"semicolon\", \"less\", \"equal\", \"greater\", \"question\", \"at\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\", \"bracketleft\", \"backslash\", \"bracketright\", \"asciicircum\", \"underscore\", \"grave\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"g\", \"h\", \"i\", \"j\", \"k\", \"l\", \"m\", \"n\", \"o\", \"p\", \"q\", \"r\", \"s\", \"t\", \"u\", \"v\", \"w\", \"x\", \"y\", \"z\", \"braceleft\", \"bar\", \"braceright\", \"asciitilde\", \"\", \"Adieresis\", \"Aring\", \"Ccedilla\", \"Eacute\", \"Ntilde\", \"Odieresis\", \"Udieresis\", \"aacute\", \"agrave\", \"acircumflex\", \"adieresis\", \"atilde\", \"aring\", \"ccedilla\", \"eacute\", \"egrave\", \"ecircumflex\", \"edieresis\", \"iacute\", \"igrave\", \"icircumflex\", \"idieresis\", \"ntilde\", \"oacute\", \"ograve\", \"ocircumflex\", \"odieresis\", \"otilde\", \"uacute\", \"ugrave\", \"ucircumflex\", \"udieresis\", \"dagger\", \"degree\", \"cent\", \"sterling\", \"section\", \"bullet\", \"paragraph\", \"germandbls\", \"registered\", \"copyright\", \"trademark\", \"acute\", \"dieresis\", \"notequal\", \"AE\", \"Oslash\", \"infinity\", \"plusminus\", \"lessequal\", \"greaterequal\", \"yen\", \"mu\", \"partialdiff\", \"summation\", \"product\", \"pi\", \"integral\", \"ordfeminine\", \"ordmasculine\", \"Omega\", \"ae\", \"oslash\", \"questiondown\", \"exclamdown\", \"logicalnot\", \"radical\", \"florin\", \"approxequal\", \"Delta\", \"guillemotleft\", \"guillemotright\", \"ellipsis\", \"space\", \"Agrave\", \"Atilde\", \"Otilde\", \"OE\", \"oe\", \"endash\", \"emdash\", \"quotedblleft\", \"quotedblright\", \"quoteleft\", \"quoteright\", \"divide\", \"lozenge\", \"ydieresis\", \"Ydieresis\", \"fraction\", \"currency\", \"guilsinglleft\", \"guilsinglright\", \"fi\", \"fl\", \"daggerdbl\", \"periodcentered\", \"quotesinglbase\", \"quotedblbase\", \"perthousand\", \"Acircumflex\", \"Ecircumflex\", \"Aacute\", \"Edieresis\", \"Egrave\", \"Iacute\", \"Icircumflex\", \"Idieresis\", \"Igrave\", \"Oacute\", \"Ocircumflex\", \"apple\", \"Ograve\", \"Uacute\", \"Ucircumflex\", \"Ugrave\", \"dotlessi\", \"circumflex\", \"tilde\", \"macron\", \"breve\", \"dotaccent\", \"ring\", \"cedilla\", \"hungarumlaut\", \"ogonek\", \"caron\"];\nexports.MacRomanEncoding = MacRomanEncoding;\nvar StandardEncoding = [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"space\", \"exclam\", \"quotedbl\", \"numbersign\", \"dollar\", \"percent\", \"ampersand\", \"quoteright\", \"parenleft\", \"parenright\", \"asterisk\", \"plus\", \"comma\", \"hyphen\", \"period\", \"slash\", \"zero\", \"one\", \"two\", \"three\", \"four\", \"five\", \"six\", \"seven\", \"eight\", \"nine\", \"colon\", \"semicolon\", \"less\", \"equal\", \"greater\", \"question\", \"at\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\", \"bracketleft\", \"backslash\", \"bracketright\", \"asciicircum\", \"underscore\", \"quoteleft\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"g\", \"h\", \"i\", \"j\", \"k\", \"l\", \"m\", \"n\", \"o\", \"p\", \"q\", \"r\", \"s\", \"t\", \"u\", \"v\", \"w\", \"x\", \"y\", \"z\", \"braceleft\", \"bar\", \"braceright\", \"asciitilde\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"exclamdown\", \"cent\", \"sterling\", \"fraction\", \"yen\", \"florin\", \"section\", \"currency\", \"quotesingle\", \"quotedblleft\", \"guillemotleft\", \"guilsinglleft\", \"guilsinglright\", \"fi\", \"fl\", \"\", \"endash\", \"dagger\", \"daggerdbl\", \"periodcentered\", \"\", \"paragraph\", \"bullet\", \"quotesinglbase\", \"quotedblbase\", \"quotedblright\", \"guillemotright\", \"ellipsis\", \"perthousand\", \"\", \"questiondown\", \"\", \"grave\", \"acute\", \"circumflex\", \"tilde\", \"macron\", \"breve\", \"dotaccent\", \"dieresis\", \"\", \"ring\", \"cedilla\", \"\", \"hungarumlaut\", \"ogonek\", \"caron\", \"emdash\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"AE\", \"\", \"ordfeminine\", \"\", \"\", \"\", \"\", \"Lslash\", \"Oslash\", \"OE\", \"ordmasculine\", \"\", \"\", \"\", \"\", \"\", \"ae\", \"\", \"\", \"\", \"dotlessi\", \"\", \"\", \"lslash\", \"oslash\", \"oe\", \"germandbls\", \"\", \"\", \"\", \"\"];\nexports.StandardEncoding = StandardEncoding;\nvar WinAnsiEncoding = [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"space\", \"exclam\", \"quotedbl\", \"numbersign\", \"dollar\", \"percent\", \"ampersand\", \"quotesingle\", \"parenleft\", \"parenright\", \"asterisk\", \"plus\", \"comma\", \"hyphen\", \"period\", \"slash\", \"zero\", \"one\", \"two\", \"three\", \"four\", \"five\", \"six\", \"seven\", \"eight\", \"nine\", \"colon\", \"semicolon\", \"less\", \"equal\", \"greater\", \"question\", \"at\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\", \"bracketleft\", \"backslash\", \"bracketright\", \"asciicircum\", \"underscore\", \"grave\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"g\", \"h\", \"i\", \"j\", \"k\", \"l\", \"m\", \"n\", \"o\", \"p\", \"q\", \"r\", \"s\", \"t\", \"u\", \"v\", \"w\", \"x\", \"y\", \"z\", \"braceleft\", \"bar\", \"braceright\", \"asciitilde\", \"bullet\", \"Euro\", \"bullet\", \"quotesinglbase\", \"florin\", \"quotedblbase\", \"ellipsis\", \"dagger\", \"daggerdbl\", \"circumflex\", \"perthousand\", \"Scaron\", \"guilsinglleft\", \"OE\", \"bullet\", \"Zcaron\", \"bullet\", \"bullet\", \"quoteleft\", \"quoteright\", \"quotedblleft\", \"quotedblright\", \"bullet\", \"endash\", \"emdash\", \"tilde\", \"trademark\", \"scaron\", \"guilsinglright\", \"oe\", \"bullet\", \"zcaron\", \"Ydieresis\", \"space\", \"exclamdown\", \"cent\", \"sterling\", \"currency\", \"yen\", \"brokenbar\", \"section\", \"dieresis\", \"copyright\", \"ordfeminine\", \"guillemotleft\", \"logicalnot\", \"hyphen\", \"registered\", \"macron\", \"degree\", \"plusminus\", \"twosuperior\", \"threesuperior\", \"acute\", \"mu\", \"paragraph\", \"periodcentered\", \"cedilla\", \"onesuperior\", \"ordmasculine\", \"guillemotright\", \"onequarter\", \"onehalf\", \"threequarters\", \"questiondown\", \"Agrave\", \"Aacute\", \"Acircumflex\", \"Atilde\", \"Adieresis\", \"Aring\", \"AE\", \"Ccedilla\", \"Egrave\", \"Eacute\", \"Ecircumflex\", \"Edieresis\", \"Igrave\", \"Iacute\", \"Icircumflex\", \"Idieresis\", \"Eth\", \"Ntilde\", \"Ograve\", \"Oacute\", \"Ocircumflex\", \"Otilde\", \"Odieresis\", \"multiply\", \"Oslash\", \"Ugrave\", \"Uacute\", \"Ucircumflex\", \"Udieresis\", \"Yacute\", \"Thorn\", \"germandbls\", \"agrave\", \"aacute\", \"acircumflex\", \"atilde\", \"adieresis\", \"aring\", \"ae\", \"ccedilla\", \"egrave\", \"eacute\", \"ecircumflex\", \"edieresis\", \"igrave\", \"iacute\", \"icircumflex\", \"idieresis\", \"eth\", \"ntilde\", \"ograve\", \"oacute\", \"ocircumflex\", \"otilde\", \"odieresis\", \"divide\", \"oslash\", \"ugrave\", \"uacute\", \"ucircumflex\", \"udieresis\", \"yacute\", \"thorn\", \"ydieresis\"];\nexports.WinAnsiEncoding = WinAnsiEncoding;\nvar SymbolSetEncoding = [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"space\", \"exclam\", \"universal\", \"numbersign\", \"existential\", \"percent\", \"ampersand\", \"suchthat\", \"parenleft\", \"parenright\", \"asteriskmath\", \"plus\", \"comma\", \"minus\", \"period\", \"slash\", \"zero\", \"one\", \"two\", \"three\", \"four\", \"five\", \"six\", \"seven\", \"eight\", \"nine\", \"colon\", \"semicolon\", \"less\", \"equal\", \"greater\", \"question\", \"congruent\", \"Alpha\", \"Beta\", \"Chi\", \"Delta\", \"Epsilon\", \"Phi\", \"Gamma\", \"Eta\", \"Iota\", \"theta1\", \"Kappa\", \"Lambda\", \"Mu\", \"Nu\", \"Omicron\", \"Pi\", \"Theta\", \"Rho\", \"Sigma\", \"Tau\", \"Upsilon\", \"sigma1\", \"Omega\", \"Xi\", \"Psi\", \"Zeta\", \"bracketleft\", \"therefore\", \"bracketright\", \"perpendicular\", \"underscore\", \"radicalex\", \"alpha\", \"beta\", \"chi\", \"delta\", \"epsilon\", \"phi\", \"gamma\", \"eta\", \"iota\", \"phi1\", \"kappa\", \"lambda\", \"mu\", \"nu\", \"omicron\", \"pi\", \"theta\", \"rho\", \"sigma\", \"tau\", \"upsilon\", \"omega1\", \"omega\", \"xi\", \"psi\", \"zeta\", \"braceleft\", \"bar\", \"braceright\", \"similar\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"Euro\", \"Upsilon1\", \"minute\", \"lessequal\", \"fraction\", \"infinity\", \"florin\", \"club\", \"diamond\", \"heart\", \"spade\", \"arrowboth\", \"arrowleft\", \"arrowup\", \"arrowright\", \"arrowdown\", \"degree\", \"plusminus\", \"second\", \"greaterequal\", \"multiply\", \"proportional\", \"partialdiff\", \"bullet\", \"divide\", \"notequal\", \"equivalence\", \"approxequal\", \"ellipsis\", \"arrowvertex\", \"arrowhorizex\", \"carriagereturn\", \"aleph\", \"Ifraktur\", \"Rfraktur\", \"weierstrass\", \"circlemultiply\", \"circleplus\", \"emptyset\", \"intersection\", \"union\", \"propersuperset\", \"reflexsuperset\", \"notsubset\", \"propersubset\", \"reflexsubset\", \"element\", \"notelement\", \"angle\", \"gradient\", \"registerserif\", \"copyrightserif\", \"trademarkserif\", \"product\", \"radical\", \"dotmath\", \"logicalnot\", \"logicaland\", \"logicalor\", \"arrowdblboth\", \"arrowdblleft\", \"arrowdblup\", \"arrowdblright\", \"arrowdbldown\", \"lozenge\", \"angleleft\", \"registersans\", \"copyrightsans\", \"trademarksans\", \"summation\", \"parenlefttp\", \"parenleftex\", \"parenleftbt\", \"bracketlefttp\", \"bracketleftex\", \"bracketleftbt\", \"bracelefttp\", \"braceleftmid\", \"braceleftbt\", \"braceex\", \"\", \"angleright\", \"integral\", \"integraltp\", \"integralex\", \"integralbt\", \"parenrighttp\", \"parenrightex\", \"parenrightbt\", \"bracketrighttp\", \"bracketrightex\", \"bracketrightbt\", \"bracerighttp\", \"bracerightmid\", \"bracerightbt\", \"\"];\nexports.SymbolSetEncoding = SymbolSetEncoding;\nvar ZapfDingbatsEncoding = [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"space\", \"a1\", \"a2\", \"a202\", \"a3\", \"a4\", \"a5\", \"a119\", \"a118\", \"a117\", \"a11\", \"a12\", \"a13\", \"a14\", \"a15\", \"a16\", \"a105\", \"a17\", \"a18\", \"a19\", \"a20\", \"a21\", \"a22\", \"a23\", \"a24\", \"a25\", \"a26\", \"a27\", \"a28\", \"a6\", \"a7\", \"a8\", \"a9\", \"a10\", \"a29\", \"a30\", \"a31\", \"a32\", \"a33\", \"a34\", \"a35\", \"a36\", \"a37\", \"a38\", \"a39\", \"a40\", \"a41\", \"a42\", \"a43\", \"a44\", \"a45\", \"a46\", \"a47\", \"a48\", \"a49\", \"a50\", \"a51\", \"a52\", \"a53\", \"a54\", \"a55\", \"a56\", \"a57\", \"a58\", \"a59\", \"a60\", \"a61\", \"a62\", \"a63\", \"a64\", \"a65\", \"a66\", \"a67\", \"a68\", \"a69\", \"a70\", \"a71\", \"a72\", \"a73\", \"a74\", \"a203\", \"a75\", \"a204\", \"a76\", \"a77\", \"a78\", \"a79\", \"a81\", \"a82\", \"a83\", \"a84\", \"a97\", \"a98\", \"a99\", \"a100\", \"\", \"a89\", \"a90\", \"a93\", \"a94\", \"a91\", \"a92\", \"a205\", \"a85\", \"a206\", \"a86\", \"a87\", \"a88\", \"a95\", \"a96\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"a101\", \"a102\", \"a103\", \"a104\", \"a106\", \"a107\", \"a108\", \"a112\", \"a111\", \"a110\", \"a109\", \"a120\", \"a121\", \"a122\", \"a123\", \"a124\", \"a125\", \"a126\", \"a127\", \"a128\", \"a129\", \"a130\", \"a131\", \"a132\", \"a133\", \"a134\", \"a135\", \"a136\", \"a137\", \"a138\", \"a139\", \"a140\", \"a141\", \"a142\", \"a143\", \"a144\", \"a145\", \"a146\", \"a147\", \"a148\", \"a149\", \"a150\", \"a151\", \"a152\", \"a153\", \"a154\", \"a155\", \"a156\", \"a157\", \"a158\", \"a159\", \"a160\", \"a161\", \"a163\", \"a164\", \"a196\", \"a165\", \"a192\", \"a166\", \"a167\", \"a168\", \"a169\", \"a170\", \"a171\", \"a172\", \"a173\", \"a162\", \"a174\", \"a175\", \"a176\", \"a177\", \"a178\", \"a179\", \"a193\", \"a180\", \"a199\", \"a181\", \"a200\", \"a182\", \"\", \"a201\", \"a183\", \"a184\", \"a197\", \"a185\", \"a194\", \"a198\", \"a186\", \"a195\", \"a187\", \"a188\", \"a189\", \"a190\", \"a191\", \"\"];\nexports.ZapfDingbatsEncoding = ZapfDingbatsEncoding;\n\nfunction getEncoding(encodingName) {\n switch (encodingName) {\n case \"WinAnsiEncoding\":\n return WinAnsiEncoding;\n\n case \"StandardEncoding\":\n return StandardEncoding;\n\n case \"MacRomanEncoding\":\n return MacRomanEncoding;\n\n case \"SymbolSetEncoding\":\n return SymbolSetEncoding;\n\n case \"ZapfDingbatsEncoding\":\n return ZapfDingbatsEncoding;\n\n case \"ExpertEncoding\":\n return ExpertEncoding;\n\n case \"MacExpertEncoding\":\n return MacExpertEncoding;\n\n default:\n return null;\n }\n}\n\n/***/ }),\n/* 231 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getLookupTableFactory = __w_pdfjs_require__(205).getLookupTableFactory;\nvar getGlyphsUnicode = getLookupTableFactory(function (t) {\n t.A = 0x0041;\n t.AE = 0x00c6;\n t.AEacute = 0x01fc;\n t.AEmacron = 0x01e2;\n t.AEsmall = 0xf7e6;\n t.Aacute = 0x00c1;\n t.Aacutesmall = 0xf7e1;\n t.Abreve = 0x0102;\n t.Abreveacute = 0x1eae;\n t.Abrevecyrillic = 0x04d0;\n t.Abrevedotbelow = 0x1eb6;\n t.Abrevegrave = 0x1eb0;\n t.Abrevehookabove = 0x1eb2;\n t.Abrevetilde = 0x1eb4;\n t.Acaron = 0x01cd;\n t.Acircle = 0x24b6;\n t.Acircumflex = 0x00c2;\n t.Acircumflexacute = 0x1ea4;\n t.Acircumflexdotbelow = 0x1eac;\n t.Acircumflexgrave = 0x1ea6;\n t.Acircumflexhookabove = 0x1ea8;\n t.Acircumflexsmall = 0xf7e2;\n t.Acircumflextilde = 0x1eaa;\n t.Acute = 0xf6c9;\n t.Acutesmall = 0xf7b4;\n t.Acyrillic = 0x0410;\n t.Adblgrave = 0x0200;\n t.Adieresis = 0x00c4;\n t.Adieresiscyrillic = 0x04d2;\n t.Adieresismacron = 0x01de;\n t.Adieresissmall = 0xf7e4;\n t.Adotbelow = 0x1ea0;\n t.Adotmacron = 0x01e0;\n t.Agrave = 0x00c0;\n t.Agravesmall = 0xf7e0;\n t.Ahookabove = 0x1ea2;\n t.Aiecyrillic = 0x04d4;\n t.Ainvertedbreve = 0x0202;\n t.Alpha = 0x0391;\n t.Alphatonos = 0x0386;\n t.Amacron = 0x0100;\n t.Amonospace = 0xff21;\n t.Aogonek = 0x0104;\n t.Aring = 0x00c5;\n t.Aringacute = 0x01fa;\n t.Aringbelow = 0x1e00;\n t.Aringsmall = 0xf7e5;\n t.Asmall = 0xf761;\n t.Atilde = 0x00c3;\n t.Atildesmall = 0xf7e3;\n t.Aybarmenian = 0x0531;\n t.B = 0x0042;\n t.Bcircle = 0x24b7;\n t.Bdotaccent = 0x1e02;\n t.Bdotbelow = 0x1e04;\n t.Becyrillic = 0x0411;\n t.Benarmenian = 0x0532;\n t.Beta = 0x0392;\n t.Bhook = 0x0181;\n t.Blinebelow = 0x1e06;\n t.Bmonospace = 0xff22;\n t.Brevesmall = 0xf6f4;\n t.Bsmall = 0xf762;\n t.Btopbar = 0x0182;\n t.C = 0x0043;\n t.Caarmenian = 0x053e;\n t.Cacute = 0x0106;\n t.Caron = 0xf6ca;\n t.Caronsmall = 0xf6f5;\n t.Ccaron = 0x010c;\n t.Ccedilla = 0x00c7;\n t.Ccedillaacute = 0x1e08;\n t.Ccedillasmall = 0xf7e7;\n t.Ccircle = 0x24b8;\n t.Ccircumflex = 0x0108;\n t.Cdot = 0x010a;\n t.Cdotaccent = 0x010a;\n t.Cedillasmall = 0xf7b8;\n t.Chaarmenian = 0x0549;\n t.Cheabkhasiancyrillic = 0x04bc;\n t.Checyrillic = 0x0427;\n t.Chedescenderabkhasiancyrillic = 0x04be;\n t.Chedescendercyrillic = 0x04b6;\n t.Chedieresiscyrillic = 0x04f4;\n t.Cheharmenian = 0x0543;\n t.Chekhakassiancyrillic = 0x04cb;\n t.Cheverticalstrokecyrillic = 0x04b8;\n t.Chi = 0x03a7;\n t.Chook = 0x0187;\n t.Circumflexsmall = 0xf6f6;\n t.Cmonospace = 0xff23;\n t.Coarmenian = 0x0551;\n t.Csmall = 0xf763;\n t.D = 0x0044;\n t.DZ = 0x01f1;\n t.DZcaron = 0x01c4;\n t.Daarmenian = 0x0534;\n t.Dafrican = 0x0189;\n t.Dcaron = 0x010e;\n t.Dcedilla = 0x1e10;\n t.Dcircle = 0x24b9;\n t.Dcircumflexbelow = 0x1e12;\n t.Dcroat = 0x0110;\n t.Ddotaccent = 0x1e0a;\n t.Ddotbelow = 0x1e0c;\n t.Decyrillic = 0x0414;\n t.Deicoptic = 0x03ee;\n t.Delta = 0x2206;\n t.Deltagreek = 0x0394;\n t.Dhook = 0x018a;\n t.Dieresis = 0xf6cb;\n t.DieresisAcute = 0xf6cc;\n t.DieresisGrave = 0xf6cd;\n t.Dieresissmall = 0xf7a8;\n t.Digammagreek = 0x03dc;\n t.Djecyrillic = 0x0402;\n t.Dlinebelow = 0x1e0e;\n t.Dmonospace = 0xff24;\n t.Dotaccentsmall = 0xf6f7;\n t.Dslash = 0x0110;\n t.Dsmall = 0xf764;\n t.Dtopbar = 0x018b;\n t.Dz = 0x01f2;\n t.Dzcaron = 0x01c5;\n t.Dzeabkhasiancyrillic = 0x04e0;\n t.Dzecyrillic = 0x0405;\n t.Dzhecyrillic = 0x040f;\n t.E = 0x0045;\n t.Eacute = 0x00c9;\n t.Eacutesmall = 0xf7e9;\n t.Ebreve = 0x0114;\n t.Ecaron = 0x011a;\n t.Ecedillabreve = 0x1e1c;\n t.Echarmenian = 0x0535;\n t.Ecircle = 0x24ba;\n t.Ecircumflex = 0x00ca;\n t.Ecircumflexacute = 0x1ebe;\n t.Ecircumflexbelow = 0x1e18;\n t.Ecircumflexdotbelow = 0x1ec6;\n t.Ecircumflexgrave = 0x1ec0;\n t.Ecircumflexhookabove = 0x1ec2;\n t.Ecircumflexsmall = 0xf7ea;\n t.Ecircumflextilde = 0x1ec4;\n t.Ecyrillic = 0x0404;\n t.Edblgrave = 0x0204;\n t.Edieresis = 0x00cb;\n t.Edieresissmall = 0xf7eb;\n t.Edot = 0x0116;\n t.Edotaccent = 0x0116;\n t.Edotbelow = 0x1eb8;\n t.Efcyrillic = 0x0424;\n t.Egrave = 0x00c8;\n t.Egravesmall = 0xf7e8;\n t.Eharmenian = 0x0537;\n t.Ehookabove = 0x1eba;\n t.Eightroman = 0x2167;\n t.Einvertedbreve = 0x0206;\n t.Eiotifiedcyrillic = 0x0464;\n t.Elcyrillic = 0x041b;\n t.Elevenroman = 0x216a;\n t.Emacron = 0x0112;\n t.Emacronacute = 0x1e16;\n t.Emacrongrave = 0x1e14;\n t.Emcyrillic = 0x041c;\n t.Emonospace = 0xff25;\n t.Encyrillic = 0x041d;\n t.Endescendercyrillic = 0x04a2;\n t.Eng = 0x014a;\n t.Enghecyrillic = 0x04a4;\n t.Enhookcyrillic = 0x04c7;\n t.Eogonek = 0x0118;\n t.Eopen = 0x0190;\n t.Epsilon = 0x0395;\n t.Epsilontonos = 0x0388;\n t.Ercyrillic = 0x0420;\n t.Ereversed = 0x018e;\n t.Ereversedcyrillic = 0x042d;\n t.Escyrillic = 0x0421;\n t.Esdescendercyrillic = 0x04aa;\n t.Esh = 0x01a9;\n t.Esmall = 0xf765;\n t.Eta = 0x0397;\n t.Etarmenian = 0x0538;\n t.Etatonos = 0x0389;\n t.Eth = 0x00d0;\n t.Ethsmall = 0xf7f0;\n t.Etilde = 0x1ebc;\n t.Etildebelow = 0x1e1a;\n t.Euro = 0x20ac;\n t.Ezh = 0x01b7;\n t.Ezhcaron = 0x01ee;\n t.Ezhreversed = 0x01b8;\n t.F = 0x0046;\n t.Fcircle = 0x24bb;\n t.Fdotaccent = 0x1e1e;\n t.Feharmenian = 0x0556;\n t.Feicoptic = 0x03e4;\n t.Fhook = 0x0191;\n t.Fitacyrillic = 0x0472;\n t.Fiveroman = 0x2164;\n t.Fmonospace = 0xff26;\n t.Fourroman = 0x2163;\n t.Fsmall = 0xf766;\n t.G = 0x0047;\n t.GBsquare = 0x3387;\n t.Gacute = 0x01f4;\n t.Gamma = 0x0393;\n t.Gammaafrican = 0x0194;\n t.Gangiacoptic = 0x03ea;\n t.Gbreve = 0x011e;\n t.Gcaron = 0x01e6;\n t.Gcedilla = 0x0122;\n t.Gcircle = 0x24bc;\n t.Gcircumflex = 0x011c;\n t.Gcommaaccent = 0x0122;\n t.Gdot = 0x0120;\n t.Gdotaccent = 0x0120;\n t.Gecyrillic = 0x0413;\n t.Ghadarmenian = 0x0542;\n t.Ghemiddlehookcyrillic = 0x0494;\n t.Ghestrokecyrillic = 0x0492;\n t.Gheupturncyrillic = 0x0490;\n t.Ghook = 0x0193;\n t.Gimarmenian = 0x0533;\n t.Gjecyrillic = 0x0403;\n t.Gmacron = 0x1e20;\n t.Gmonospace = 0xff27;\n t.Grave = 0xf6ce;\n t.Gravesmall = 0xf760;\n t.Gsmall = 0xf767;\n t.Gsmallhook = 0x029b;\n t.Gstroke = 0x01e4;\n t.H = 0x0048;\n t.H18533 = 0x25cf;\n t.H18543 = 0x25aa;\n t.H18551 = 0x25ab;\n t.H22073 = 0x25a1;\n t.HPsquare = 0x33cb;\n t.Haabkhasiancyrillic = 0x04a8;\n t.Hadescendercyrillic = 0x04b2;\n t.Hardsigncyrillic = 0x042a;\n t.Hbar = 0x0126;\n t.Hbrevebelow = 0x1e2a;\n t.Hcedilla = 0x1e28;\n t.Hcircle = 0x24bd;\n t.Hcircumflex = 0x0124;\n t.Hdieresis = 0x1e26;\n t.Hdotaccent = 0x1e22;\n t.Hdotbelow = 0x1e24;\n t.Hmonospace = 0xff28;\n t.Hoarmenian = 0x0540;\n t.Horicoptic = 0x03e8;\n t.Hsmall = 0xf768;\n t.Hungarumlaut = 0xf6cf;\n t.Hungarumlautsmall = 0xf6f8;\n t.Hzsquare = 0x3390;\n t.I = 0x0049;\n t.IAcyrillic = 0x042f;\n t.IJ = 0x0132;\n t.IUcyrillic = 0x042e;\n t.Iacute = 0x00cd;\n t.Iacutesmall = 0xf7ed;\n t.Ibreve = 0x012c;\n t.Icaron = 0x01cf;\n t.Icircle = 0x24be;\n t.Icircumflex = 0x00ce;\n t.Icircumflexsmall = 0xf7ee;\n t.Icyrillic = 0x0406;\n t.Idblgrave = 0x0208;\n t.Idieresis = 0x00cf;\n t.Idieresisacute = 0x1e2e;\n t.Idieresiscyrillic = 0x04e4;\n t.Idieresissmall = 0xf7ef;\n t.Idot = 0x0130;\n t.Idotaccent = 0x0130;\n t.Idotbelow = 0x1eca;\n t.Iebrevecyrillic = 0x04d6;\n t.Iecyrillic = 0x0415;\n t.Ifraktur = 0x2111;\n t.Igrave = 0x00cc;\n t.Igravesmall = 0xf7ec;\n t.Ihookabove = 0x1ec8;\n t.Iicyrillic = 0x0418;\n t.Iinvertedbreve = 0x020a;\n t.Iishortcyrillic = 0x0419;\n t.Imacron = 0x012a;\n t.Imacroncyrillic = 0x04e2;\n t.Imonospace = 0xff29;\n t.Iniarmenian = 0x053b;\n t.Iocyrillic = 0x0401;\n t.Iogonek = 0x012e;\n t.Iota = 0x0399;\n t.Iotaafrican = 0x0196;\n t.Iotadieresis = 0x03aa;\n t.Iotatonos = 0x038a;\n t.Ismall = 0xf769;\n t.Istroke = 0x0197;\n t.Itilde = 0x0128;\n t.Itildebelow = 0x1e2c;\n t.Izhitsacyrillic = 0x0474;\n t.Izhitsadblgravecyrillic = 0x0476;\n t.J = 0x004a;\n t.Jaarmenian = 0x0541;\n t.Jcircle = 0x24bf;\n t.Jcircumflex = 0x0134;\n t.Jecyrillic = 0x0408;\n t.Jheharmenian = 0x054b;\n t.Jmonospace = 0xff2a;\n t.Jsmall = 0xf76a;\n t.K = 0x004b;\n t.KBsquare = 0x3385;\n t.KKsquare = 0x33cd;\n t.Kabashkircyrillic = 0x04a0;\n t.Kacute = 0x1e30;\n t.Kacyrillic = 0x041a;\n t.Kadescendercyrillic = 0x049a;\n t.Kahookcyrillic = 0x04c3;\n t.Kappa = 0x039a;\n t.Kastrokecyrillic = 0x049e;\n t.Kaverticalstrokecyrillic = 0x049c;\n t.Kcaron = 0x01e8;\n t.Kcedilla = 0x0136;\n t.Kcircle = 0x24c0;\n t.Kcommaaccent = 0x0136;\n t.Kdotbelow = 0x1e32;\n t.Keharmenian = 0x0554;\n t.Kenarmenian = 0x053f;\n t.Khacyrillic = 0x0425;\n t.Kheicoptic = 0x03e6;\n t.Khook = 0x0198;\n t.Kjecyrillic = 0x040c;\n t.Klinebelow = 0x1e34;\n t.Kmonospace = 0xff2b;\n t.Koppacyrillic = 0x0480;\n t.Koppagreek = 0x03de;\n t.Ksicyrillic = 0x046e;\n t.Ksmall = 0xf76b;\n t.L = 0x004c;\n t.LJ = 0x01c7;\n t.LL = 0xf6bf;\n t.Lacute = 0x0139;\n t.Lambda = 0x039b;\n t.Lcaron = 0x013d;\n t.Lcedilla = 0x013b;\n t.Lcircle = 0x24c1;\n t.Lcircumflexbelow = 0x1e3c;\n t.Lcommaaccent = 0x013b;\n t.Ldot = 0x013f;\n t.Ldotaccent = 0x013f;\n t.Ldotbelow = 0x1e36;\n t.Ldotbelowmacron = 0x1e38;\n t.Liwnarmenian = 0x053c;\n t.Lj = 0x01c8;\n t.Ljecyrillic = 0x0409;\n t.Llinebelow = 0x1e3a;\n t.Lmonospace = 0xff2c;\n t.Lslash = 0x0141;\n t.Lslashsmall = 0xf6f9;\n t.Lsmall = 0xf76c;\n t.M = 0x004d;\n t.MBsquare = 0x3386;\n t.Macron = 0xf6d0;\n t.Macronsmall = 0xf7af;\n t.Macute = 0x1e3e;\n t.Mcircle = 0x24c2;\n t.Mdotaccent = 0x1e40;\n t.Mdotbelow = 0x1e42;\n t.Menarmenian = 0x0544;\n t.Mmonospace = 0xff2d;\n t.Msmall = 0xf76d;\n t.Mturned = 0x019c;\n t.Mu = 0x039c;\n t.N = 0x004e;\n t.NJ = 0x01ca;\n t.Nacute = 0x0143;\n t.Ncaron = 0x0147;\n t.Ncedilla = 0x0145;\n t.Ncircle = 0x24c3;\n t.Ncircumflexbelow = 0x1e4a;\n t.Ncommaaccent = 0x0145;\n t.Ndotaccent = 0x1e44;\n t.Ndotbelow = 0x1e46;\n t.Nhookleft = 0x019d;\n t.Nineroman = 0x2168;\n t.Nj = 0x01cb;\n t.Njecyrillic = 0x040a;\n t.Nlinebelow = 0x1e48;\n t.Nmonospace = 0xff2e;\n t.Nowarmenian = 0x0546;\n t.Nsmall = 0xf76e;\n t.Ntilde = 0x00d1;\n t.Ntildesmall = 0xf7f1;\n t.Nu = 0x039d;\n t.O = 0x004f;\n t.OE = 0x0152;\n t.OEsmall = 0xf6fa;\n t.Oacute = 0x00d3;\n t.Oacutesmall = 0xf7f3;\n t.Obarredcyrillic = 0x04e8;\n t.Obarreddieresiscyrillic = 0x04ea;\n t.Obreve = 0x014e;\n t.Ocaron = 0x01d1;\n t.Ocenteredtilde = 0x019f;\n t.Ocircle = 0x24c4;\n t.Ocircumflex = 0x00d4;\n t.Ocircumflexacute = 0x1ed0;\n t.Ocircumflexdotbelow = 0x1ed8;\n t.Ocircumflexgrave = 0x1ed2;\n t.Ocircumflexhookabove = 0x1ed4;\n t.Ocircumflexsmall = 0xf7f4;\n t.Ocircumflextilde = 0x1ed6;\n t.Ocyrillic = 0x041e;\n t.Odblacute = 0x0150;\n t.Odblgrave = 0x020c;\n t.Odieresis = 0x00d6;\n t.Odieresiscyrillic = 0x04e6;\n t.Odieresissmall = 0xf7f6;\n t.Odotbelow = 0x1ecc;\n t.Ogoneksmall = 0xf6fb;\n t.Ograve = 0x00d2;\n t.Ogravesmall = 0xf7f2;\n t.Oharmenian = 0x0555;\n t.Ohm = 0x2126;\n t.Ohookabove = 0x1ece;\n t.Ohorn = 0x01a0;\n t.Ohornacute = 0x1eda;\n t.Ohorndotbelow = 0x1ee2;\n t.Ohorngrave = 0x1edc;\n t.Ohornhookabove = 0x1ede;\n t.Ohorntilde = 0x1ee0;\n t.Ohungarumlaut = 0x0150;\n t.Oi = 0x01a2;\n t.Oinvertedbreve = 0x020e;\n t.Omacron = 0x014c;\n t.Omacronacute = 0x1e52;\n t.Omacrongrave = 0x1e50;\n t.Omega = 0x2126;\n t.Omegacyrillic = 0x0460;\n t.Omegagreek = 0x03a9;\n t.Omegaroundcyrillic = 0x047a;\n t.Omegatitlocyrillic = 0x047c;\n t.Omegatonos = 0x038f;\n t.Omicron = 0x039f;\n t.Omicrontonos = 0x038c;\n t.Omonospace = 0xff2f;\n t.Oneroman = 0x2160;\n t.Oogonek = 0x01ea;\n t.Oogonekmacron = 0x01ec;\n t.Oopen = 0x0186;\n t.Oslash = 0x00d8;\n t.Oslashacute = 0x01fe;\n t.Oslashsmall = 0xf7f8;\n t.Osmall = 0xf76f;\n t.Ostrokeacute = 0x01fe;\n t.Otcyrillic = 0x047e;\n t.Otilde = 0x00d5;\n t.Otildeacute = 0x1e4c;\n t.Otildedieresis = 0x1e4e;\n t.Otildesmall = 0xf7f5;\n t.P = 0x0050;\n t.Pacute = 0x1e54;\n t.Pcircle = 0x24c5;\n t.Pdotaccent = 0x1e56;\n t.Pecyrillic = 0x041f;\n t.Peharmenian = 0x054a;\n t.Pemiddlehookcyrillic = 0x04a6;\n t.Phi = 0x03a6;\n t.Phook = 0x01a4;\n t.Pi = 0x03a0;\n t.Piwrarmenian = 0x0553;\n t.Pmonospace = 0xff30;\n t.Psi = 0x03a8;\n t.Psicyrillic = 0x0470;\n t.Psmall = 0xf770;\n t.Q = 0x0051;\n t.Qcircle = 0x24c6;\n t.Qmonospace = 0xff31;\n t.Qsmall = 0xf771;\n t.R = 0x0052;\n t.Raarmenian = 0x054c;\n t.Racute = 0x0154;\n t.Rcaron = 0x0158;\n t.Rcedilla = 0x0156;\n t.Rcircle = 0x24c7;\n t.Rcommaaccent = 0x0156;\n t.Rdblgrave = 0x0210;\n t.Rdotaccent = 0x1e58;\n t.Rdotbelow = 0x1e5a;\n t.Rdotbelowmacron = 0x1e5c;\n t.Reharmenian = 0x0550;\n t.Rfraktur = 0x211c;\n t.Rho = 0x03a1;\n t.Ringsmall = 0xf6fc;\n t.Rinvertedbreve = 0x0212;\n t.Rlinebelow = 0x1e5e;\n t.Rmonospace = 0xff32;\n t.Rsmall = 0xf772;\n t.Rsmallinverted = 0x0281;\n t.Rsmallinvertedsuperior = 0x02b6;\n t.S = 0x0053;\n t.SF010000 = 0x250c;\n t.SF020000 = 0x2514;\n t.SF030000 = 0x2510;\n t.SF040000 = 0x2518;\n t.SF050000 = 0x253c;\n t.SF060000 = 0x252c;\n t.SF070000 = 0x2534;\n t.SF080000 = 0x251c;\n t.SF090000 = 0x2524;\n t.SF100000 = 0x2500;\n t.SF110000 = 0x2502;\n t.SF190000 = 0x2561;\n t.SF200000 = 0x2562;\n t.SF210000 = 0x2556;\n t.SF220000 = 0x2555;\n t.SF230000 = 0x2563;\n t.SF240000 = 0x2551;\n t.SF250000 = 0x2557;\n t.SF260000 = 0x255d;\n t.SF270000 = 0x255c;\n t.SF280000 = 0x255b;\n t.SF360000 = 0x255e;\n t.SF370000 = 0x255f;\n t.SF380000 = 0x255a;\n t.SF390000 = 0x2554;\n t.SF400000 = 0x2569;\n t.SF410000 = 0x2566;\n t.SF420000 = 0x2560;\n t.SF430000 = 0x2550;\n t.SF440000 = 0x256c;\n t.SF450000 = 0x2567;\n t.SF460000 = 0x2568;\n t.SF470000 = 0x2564;\n t.SF480000 = 0x2565;\n t.SF490000 = 0x2559;\n t.SF500000 = 0x2558;\n t.SF510000 = 0x2552;\n t.SF520000 = 0x2553;\n t.SF530000 = 0x256b;\n t.SF540000 = 0x256a;\n t.Sacute = 0x015a;\n t.Sacutedotaccent = 0x1e64;\n t.Sampigreek = 0x03e0;\n t.Scaron = 0x0160;\n t.Scarondotaccent = 0x1e66;\n t.Scaronsmall = 0xf6fd;\n t.Scedilla = 0x015e;\n t.Schwa = 0x018f;\n t.Schwacyrillic = 0x04d8;\n t.Schwadieresiscyrillic = 0x04da;\n t.Scircle = 0x24c8;\n t.Scircumflex = 0x015c;\n t.Scommaaccent = 0x0218;\n t.Sdotaccent = 0x1e60;\n t.Sdotbelow = 0x1e62;\n t.Sdotbelowdotaccent = 0x1e68;\n t.Seharmenian = 0x054d;\n t.Sevenroman = 0x2166;\n t.Shaarmenian = 0x0547;\n t.Shacyrillic = 0x0428;\n t.Shchacyrillic = 0x0429;\n t.Sheicoptic = 0x03e2;\n t.Shhacyrillic = 0x04ba;\n t.Shimacoptic = 0x03ec;\n t.Sigma = 0x03a3;\n t.Sixroman = 0x2165;\n t.Smonospace = 0xff33;\n t.Softsigncyrillic = 0x042c;\n t.Ssmall = 0xf773;\n t.Stigmagreek = 0x03da;\n t.T = 0x0054;\n t.Tau = 0x03a4;\n t.Tbar = 0x0166;\n t.Tcaron = 0x0164;\n t.Tcedilla = 0x0162;\n t.Tcircle = 0x24c9;\n t.Tcircumflexbelow = 0x1e70;\n t.Tcommaaccent = 0x0162;\n t.Tdotaccent = 0x1e6a;\n t.Tdotbelow = 0x1e6c;\n t.Tecyrillic = 0x0422;\n t.Tedescendercyrillic = 0x04ac;\n t.Tenroman = 0x2169;\n t.Tetsecyrillic = 0x04b4;\n t.Theta = 0x0398;\n t.Thook = 0x01ac;\n t.Thorn = 0x00de;\n t.Thornsmall = 0xf7fe;\n t.Threeroman = 0x2162;\n t.Tildesmall = 0xf6fe;\n t.Tiwnarmenian = 0x054f;\n t.Tlinebelow = 0x1e6e;\n t.Tmonospace = 0xff34;\n t.Toarmenian = 0x0539;\n t.Tonefive = 0x01bc;\n t.Tonesix = 0x0184;\n t.Tonetwo = 0x01a7;\n t.Tretroflexhook = 0x01ae;\n t.Tsecyrillic = 0x0426;\n t.Tshecyrillic = 0x040b;\n t.Tsmall = 0xf774;\n t.Twelveroman = 0x216b;\n t.Tworoman = 0x2161;\n t.U = 0x0055;\n t.Uacute = 0x00da;\n t.Uacutesmall = 0xf7fa;\n t.Ubreve = 0x016c;\n t.Ucaron = 0x01d3;\n t.Ucircle = 0x24ca;\n t.Ucircumflex = 0x00db;\n t.Ucircumflexbelow = 0x1e76;\n t.Ucircumflexsmall = 0xf7fb;\n t.Ucyrillic = 0x0423;\n t.Udblacute = 0x0170;\n t.Udblgrave = 0x0214;\n t.Udieresis = 0x00dc;\n t.Udieresisacute = 0x01d7;\n t.Udieresisbelow = 0x1e72;\n t.Udieresiscaron = 0x01d9;\n t.Udieresiscyrillic = 0x04f0;\n t.Udieresisgrave = 0x01db;\n t.Udieresismacron = 0x01d5;\n t.Udieresissmall = 0xf7fc;\n t.Udotbelow = 0x1ee4;\n t.Ugrave = 0x00d9;\n t.Ugravesmall = 0xf7f9;\n t.Uhookabove = 0x1ee6;\n t.Uhorn = 0x01af;\n t.Uhornacute = 0x1ee8;\n t.Uhorndotbelow = 0x1ef0;\n t.Uhorngrave = 0x1eea;\n t.Uhornhookabove = 0x1eec;\n t.Uhorntilde = 0x1eee;\n t.Uhungarumlaut = 0x0170;\n t.Uhungarumlautcyrillic = 0x04f2;\n t.Uinvertedbreve = 0x0216;\n t.Ukcyrillic = 0x0478;\n t.Umacron = 0x016a;\n t.Umacroncyrillic = 0x04ee;\n t.Umacrondieresis = 0x1e7a;\n t.Umonospace = 0xff35;\n t.Uogonek = 0x0172;\n t.Upsilon = 0x03a5;\n t.Upsilon1 = 0x03d2;\n t.Upsilonacutehooksymbolgreek = 0x03d3;\n t.Upsilonafrican = 0x01b1;\n t.Upsilondieresis = 0x03ab;\n t.Upsilondieresishooksymbolgreek = 0x03d4;\n t.Upsilonhooksymbol = 0x03d2;\n t.Upsilontonos = 0x038e;\n t.Uring = 0x016e;\n t.Ushortcyrillic = 0x040e;\n t.Usmall = 0xf775;\n t.Ustraightcyrillic = 0x04ae;\n t.Ustraightstrokecyrillic = 0x04b0;\n t.Utilde = 0x0168;\n t.Utildeacute = 0x1e78;\n t.Utildebelow = 0x1e74;\n t.V = 0x0056;\n t.Vcircle = 0x24cb;\n t.Vdotbelow = 0x1e7e;\n t.Vecyrillic = 0x0412;\n t.Vewarmenian = 0x054e;\n t.Vhook = 0x01b2;\n t.Vmonospace = 0xff36;\n t.Voarmenian = 0x0548;\n t.Vsmall = 0xf776;\n t.Vtilde = 0x1e7c;\n t.W = 0x0057;\n t.Wacute = 0x1e82;\n t.Wcircle = 0x24cc;\n t.Wcircumflex = 0x0174;\n t.Wdieresis = 0x1e84;\n t.Wdotaccent = 0x1e86;\n t.Wdotbelow = 0x1e88;\n t.Wgrave = 0x1e80;\n t.Wmonospace = 0xff37;\n t.Wsmall = 0xf777;\n t.X = 0x0058;\n t.Xcircle = 0x24cd;\n t.Xdieresis = 0x1e8c;\n t.Xdotaccent = 0x1e8a;\n t.Xeharmenian = 0x053d;\n t.Xi = 0x039e;\n t.Xmonospace = 0xff38;\n t.Xsmall = 0xf778;\n t.Y = 0x0059;\n t.Yacute = 0x00dd;\n t.Yacutesmall = 0xf7fd;\n t.Yatcyrillic = 0x0462;\n t.Ycircle = 0x24ce;\n t.Ycircumflex = 0x0176;\n t.Ydieresis = 0x0178;\n t.Ydieresissmall = 0xf7ff;\n t.Ydotaccent = 0x1e8e;\n t.Ydotbelow = 0x1ef4;\n t.Yericyrillic = 0x042b;\n t.Yerudieresiscyrillic = 0x04f8;\n t.Ygrave = 0x1ef2;\n t.Yhook = 0x01b3;\n t.Yhookabove = 0x1ef6;\n t.Yiarmenian = 0x0545;\n t.Yicyrillic = 0x0407;\n t.Yiwnarmenian = 0x0552;\n t.Ymonospace = 0xff39;\n t.Ysmall = 0xf779;\n t.Ytilde = 0x1ef8;\n t.Yusbigcyrillic = 0x046a;\n t.Yusbigiotifiedcyrillic = 0x046c;\n t.Yuslittlecyrillic = 0x0466;\n t.Yuslittleiotifiedcyrillic = 0x0468;\n t.Z = 0x005a;\n t.Zaarmenian = 0x0536;\n t.Zacute = 0x0179;\n t.Zcaron = 0x017d;\n t.Zcaronsmall = 0xf6ff;\n t.Zcircle = 0x24cf;\n t.Zcircumflex = 0x1e90;\n t.Zdot = 0x017b;\n t.Zdotaccent = 0x017b;\n t.Zdotbelow = 0x1e92;\n t.Zecyrillic = 0x0417;\n t.Zedescendercyrillic = 0x0498;\n t.Zedieresiscyrillic = 0x04de;\n t.Zeta = 0x0396;\n t.Zhearmenian = 0x053a;\n t.Zhebrevecyrillic = 0x04c1;\n t.Zhecyrillic = 0x0416;\n t.Zhedescendercyrillic = 0x0496;\n t.Zhedieresiscyrillic = 0x04dc;\n t.Zlinebelow = 0x1e94;\n t.Zmonospace = 0xff3a;\n t.Zsmall = 0xf77a;\n t.Zstroke = 0x01b5;\n t.a = 0x0061;\n t.aabengali = 0x0986;\n t.aacute = 0x00e1;\n t.aadeva = 0x0906;\n t.aagujarati = 0x0a86;\n t.aagurmukhi = 0x0a06;\n t.aamatragurmukhi = 0x0a3e;\n t.aarusquare = 0x3303;\n t.aavowelsignbengali = 0x09be;\n t.aavowelsigndeva = 0x093e;\n t.aavowelsigngujarati = 0x0abe;\n t.abbreviationmarkarmenian = 0x055f;\n t.abbreviationsigndeva = 0x0970;\n t.abengali = 0x0985;\n t.abopomofo = 0x311a;\n t.abreve = 0x0103;\n t.abreveacute = 0x1eaf;\n t.abrevecyrillic = 0x04d1;\n t.abrevedotbelow = 0x1eb7;\n t.abrevegrave = 0x1eb1;\n t.abrevehookabove = 0x1eb3;\n t.abrevetilde = 0x1eb5;\n t.acaron = 0x01ce;\n t.acircle = 0x24d0;\n t.acircumflex = 0x00e2;\n t.acircumflexacute = 0x1ea5;\n t.acircumflexdotbelow = 0x1ead;\n t.acircumflexgrave = 0x1ea7;\n t.acircumflexhookabove = 0x1ea9;\n t.acircumflextilde = 0x1eab;\n t.acute = 0x00b4;\n t.acutebelowcmb = 0x0317;\n t.acutecmb = 0x0301;\n t.acutecomb = 0x0301;\n t.acutedeva = 0x0954;\n t.acutelowmod = 0x02cf;\n t.acutetonecmb = 0x0341;\n t.acyrillic = 0x0430;\n t.adblgrave = 0x0201;\n t.addakgurmukhi = 0x0a71;\n t.adeva = 0x0905;\n t.adieresis = 0x00e4;\n t.adieresiscyrillic = 0x04d3;\n t.adieresismacron = 0x01df;\n t.adotbelow = 0x1ea1;\n t.adotmacron = 0x01e1;\n t.ae = 0x00e6;\n t.aeacute = 0x01fd;\n t.aekorean = 0x3150;\n t.aemacron = 0x01e3;\n t.afii00208 = 0x2015;\n t.afii08941 = 0x20a4;\n t.afii10017 = 0x0410;\n t.afii10018 = 0x0411;\n t.afii10019 = 0x0412;\n t.afii10020 = 0x0413;\n t.afii10021 = 0x0414;\n t.afii10022 = 0x0415;\n t.afii10023 = 0x0401;\n t.afii10024 = 0x0416;\n t.afii10025 = 0x0417;\n t.afii10026 = 0x0418;\n t.afii10027 = 0x0419;\n t.afii10028 = 0x041a;\n t.afii10029 = 0x041b;\n t.afii10030 = 0x041c;\n t.afii10031 = 0x041d;\n t.afii10032 = 0x041e;\n t.afii10033 = 0x041f;\n t.afii10034 = 0x0420;\n t.afii10035 = 0x0421;\n t.afii10036 = 0x0422;\n t.afii10037 = 0x0423;\n t.afii10038 = 0x0424;\n t.afii10039 = 0x0425;\n t.afii10040 = 0x0426;\n t.afii10041 = 0x0427;\n t.afii10042 = 0x0428;\n t.afii10043 = 0x0429;\n t.afii10044 = 0x042a;\n t.afii10045 = 0x042b;\n t.afii10046 = 0x042c;\n t.afii10047 = 0x042d;\n t.afii10048 = 0x042e;\n t.afii10049 = 0x042f;\n t.afii10050 = 0x0490;\n t.afii10051 = 0x0402;\n t.afii10052 = 0x0403;\n t.afii10053 = 0x0404;\n t.afii10054 = 0x0405;\n t.afii10055 = 0x0406;\n t.afii10056 = 0x0407;\n t.afii10057 = 0x0408;\n t.afii10058 = 0x0409;\n t.afii10059 = 0x040a;\n t.afii10060 = 0x040b;\n t.afii10061 = 0x040c;\n t.afii10062 = 0x040e;\n t.afii10063 = 0xf6c4;\n t.afii10064 = 0xf6c5;\n t.afii10065 = 0x0430;\n t.afii10066 = 0x0431;\n t.afii10067 = 0x0432;\n t.afii10068 = 0x0433;\n t.afii10069 = 0x0434;\n t.afii10070 = 0x0435;\n t.afii10071 = 0x0451;\n t.afii10072 = 0x0436;\n t.afii10073 = 0x0437;\n t.afii10074 = 0x0438;\n t.afii10075 = 0x0439;\n t.afii10076 = 0x043a;\n t.afii10077 = 0x043b;\n t.afii10078 = 0x043c;\n t.afii10079 = 0x043d;\n t.afii10080 = 0x043e;\n t.afii10081 = 0x043f;\n t.afii10082 = 0x0440;\n t.afii10083 = 0x0441;\n t.afii10084 = 0x0442;\n t.afii10085 = 0x0443;\n t.afii10086 = 0x0444;\n t.afii10087 = 0x0445;\n t.afii10088 = 0x0446;\n t.afii10089 = 0x0447;\n t.afii10090 = 0x0448;\n t.afii10091 = 0x0449;\n t.afii10092 = 0x044a;\n t.afii10093 = 0x044b;\n t.afii10094 = 0x044c;\n t.afii10095 = 0x044d;\n t.afii10096 = 0x044e;\n t.afii10097 = 0x044f;\n t.afii10098 = 0x0491;\n t.afii10099 = 0x0452;\n t.afii10100 = 0x0453;\n t.afii10101 = 0x0454;\n t.afii10102 = 0x0455;\n t.afii10103 = 0x0456;\n t.afii10104 = 0x0457;\n t.afii10105 = 0x0458;\n t.afii10106 = 0x0459;\n t.afii10107 = 0x045a;\n t.afii10108 = 0x045b;\n t.afii10109 = 0x045c;\n t.afii10110 = 0x045e;\n t.afii10145 = 0x040f;\n t.afii10146 = 0x0462;\n t.afii10147 = 0x0472;\n t.afii10148 = 0x0474;\n t.afii10192 = 0xf6c6;\n t.afii10193 = 0x045f;\n t.afii10194 = 0x0463;\n t.afii10195 = 0x0473;\n t.afii10196 = 0x0475;\n t.afii10831 = 0xf6c7;\n t.afii10832 = 0xf6c8;\n t.afii10846 = 0x04d9;\n t.afii299 = 0x200e;\n t.afii300 = 0x200f;\n t.afii301 = 0x200d;\n t.afii57381 = 0x066a;\n t.afii57388 = 0x060c;\n t.afii57392 = 0x0660;\n t.afii57393 = 0x0661;\n t.afii57394 = 0x0662;\n t.afii57395 = 0x0663;\n t.afii57396 = 0x0664;\n t.afii57397 = 0x0665;\n t.afii57398 = 0x0666;\n t.afii57399 = 0x0667;\n t.afii57400 = 0x0668;\n t.afii57401 = 0x0669;\n t.afii57403 = 0x061b;\n t.afii57407 = 0x061f;\n t.afii57409 = 0x0621;\n t.afii57410 = 0x0622;\n t.afii57411 = 0x0623;\n t.afii57412 = 0x0624;\n t.afii57413 = 0x0625;\n t.afii57414 = 0x0626;\n t.afii57415 = 0x0627;\n t.afii57416 = 0x0628;\n t.afii57417 = 0x0629;\n t.afii57418 = 0x062a;\n t.afii57419 = 0x062b;\n t.afii57420 = 0x062c;\n t.afii57421 = 0x062d;\n t.afii57422 = 0x062e;\n t.afii57423 = 0x062f;\n t.afii57424 = 0x0630;\n t.afii57425 = 0x0631;\n t.afii57426 = 0x0632;\n t.afii57427 = 0x0633;\n t.afii57428 = 0x0634;\n t.afii57429 = 0x0635;\n t.afii57430 = 0x0636;\n t.afii57431 = 0x0637;\n t.afii57432 = 0x0638;\n t.afii57433 = 0x0639;\n t.afii57434 = 0x063a;\n t.afii57440 = 0x0640;\n t.afii57441 = 0x0641;\n t.afii57442 = 0x0642;\n t.afii57443 = 0x0643;\n t.afii57444 = 0x0644;\n t.afii57445 = 0x0645;\n t.afii57446 = 0x0646;\n t.afii57448 = 0x0648;\n t.afii57449 = 0x0649;\n t.afii57450 = 0x064a;\n t.afii57451 = 0x064b;\n t.afii57452 = 0x064c;\n t.afii57453 = 0x064d;\n t.afii57454 = 0x064e;\n t.afii57455 = 0x064f;\n t.afii57456 = 0x0650;\n t.afii57457 = 0x0651;\n t.afii57458 = 0x0652;\n t.afii57470 = 0x0647;\n t.afii57505 = 0x06a4;\n t.afii57506 = 0x067e;\n t.afii57507 = 0x0686;\n t.afii57508 = 0x0698;\n t.afii57509 = 0x06af;\n t.afii57511 = 0x0679;\n t.afii57512 = 0x0688;\n t.afii57513 = 0x0691;\n t.afii57514 = 0x06ba;\n t.afii57519 = 0x06d2;\n t.afii57534 = 0x06d5;\n t.afii57636 = 0x20aa;\n t.afii57645 = 0x05be;\n t.afii57658 = 0x05c3;\n t.afii57664 = 0x05d0;\n t.afii57665 = 0x05d1;\n t.afii57666 = 0x05d2;\n t.afii57667 = 0x05d3;\n t.afii57668 = 0x05d4;\n t.afii57669 = 0x05d5;\n t.afii57670 = 0x05d6;\n t.afii57671 = 0x05d7;\n t.afii57672 = 0x05d8;\n t.afii57673 = 0x05d9;\n t.afii57674 = 0x05da;\n t.afii57675 = 0x05db;\n t.afii57676 = 0x05dc;\n t.afii57677 = 0x05dd;\n t.afii57678 = 0x05de;\n t.afii57679 = 0x05df;\n t.afii57680 = 0x05e0;\n t.afii57681 = 0x05e1;\n t.afii57682 = 0x05e2;\n t.afii57683 = 0x05e3;\n t.afii57684 = 0x05e4;\n t.afii57685 = 0x05e5;\n t.afii57686 = 0x05e6;\n t.afii57687 = 0x05e7;\n t.afii57688 = 0x05e8;\n t.afii57689 = 0x05e9;\n t.afii57690 = 0x05ea;\n t.afii57694 = 0xfb2a;\n t.afii57695 = 0xfb2b;\n t.afii57700 = 0xfb4b;\n t.afii57705 = 0xfb1f;\n t.afii57716 = 0x05f0;\n t.afii57717 = 0x05f1;\n t.afii57718 = 0x05f2;\n t.afii57723 = 0xfb35;\n t.afii57793 = 0x05b4;\n t.afii57794 = 0x05b5;\n t.afii57795 = 0x05b6;\n t.afii57796 = 0x05bb;\n t.afii57797 = 0x05b8;\n t.afii57798 = 0x05b7;\n t.afii57799 = 0x05b0;\n t.afii57800 = 0x05b2;\n t.afii57801 = 0x05b1;\n t.afii57802 = 0x05b3;\n t.afii57803 = 0x05c2;\n t.afii57804 = 0x05c1;\n t.afii57806 = 0x05b9;\n t.afii57807 = 0x05bc;\n t.afii57839 = 0x05bd;\n t.afii57841 = 0x05bf;\n t.afii57842 = 0x05c0;\n t.afii57929 = 0x02bc;\n t.afii61248 = 0x2105;\n t.afii61289 = 0x2113;\n t.afii61352 = 0x2116;\n t.afii61573 = 0x202c;\n t.afii61574 = 0x202d;\n t.afii61575 = 0x202e;\n t.afii61664 = 0x200c;\n t.afii63167 = 0x066d;\n t.afii64937 = 0x02bd;\n t.agrave = 0x00e0;\n t.agujarati = 0x0a85;\n t.agurmukhi = 0x0a05;\n t.ahiragana = 0x3042;\n t.ahookabove = 0x1ea3;\n t.aibengali = 0x0990;\n t.aibopomofo = 0x311e;\n t.aideva = 0x0910;\n t.aiecyrillic = 0x04d5;\n t.aigujarati = 0x0a90;\n t.aigurmukhi = 0x0a10;\n t.aimatragurmukhi = 0x0a48;\n t.ainarabic = 0x0639;\n t.ainfinalarabic = 0xfeca;\n t.aininitialarabic = 0xfecb;\n t.ainmedialarabic = 0xfecc;\n t.ainvertedbreve = 0x0203;\n t.aivowelsignbengali = 0x09c8;\n t.aivowelsigndeva = 0x0948;\n t.aivowelsigngujarati = 0x0ac8;\n t.akatakana = 0x30a2;\n t.akatakanahalfwidth = 0xff71;\n t.akorean = 0x314f;\n t.alef = 0x05d0;\n t.alefarabic = 0x0627;\n t.alefdageshhebrew = 0xfb30;\n t.aleffinalarabic = 0xfe8e;\n t.alefhamzaabovearabic = 0x0623;\n t.alefhamzaabovefinalarabic = 0xfe84;\n t.alefhamzabelowarabic = 0x0625;\n t.alefhamzabelowfinalarabic = 0xfe88;\n t.alefhebrew = 0x05d0;\n t.aleflamedhebrew = 0xfb4f;\n t.alefmaddaabovearabic = 0x0622;\n t.alefmaddaabovefinalarabic = 0xfe82;\n t.alefmaksuraarabic = 0x0649;\n t.alefmaksurafinalarabic = 0xfef0;\n t.alefmaksurainitialarabic = 0xfef3;\n t.alefmaksuramedialarabic = 0xfef4;\n t.alefpatahhebrew = 0xfb2e;\n t.alefqamatshebrew = 0xfb2f;\n t.aleph = 0x2135;\n t.allequal = 0x224c;\n t.alpha = 0x03b1;\n t.alphatonos = 0x03ac;\n t.amacron = 0x0101;\n t.amonospace = 0xff41;\n t.ampersand = 0x0026;\n t.ampersandmonospace = 0xff06;\n t.ampersandsmall = 0xf726;\n t.amsquare = 0x33c2;\n t.anbopomofo = 0x3122;\n t.angbopomofo = 0x3124;\n t.angbracketleft = 0x3008;\n t.angbracketright = 0x3009;\n t.angkhankhuthai = 0x0e5a;\n t.angle = 0x2220;\n t.anglebracketleft = 0x3008;\n t.anglebracketleftvertical = 0xfe3f;\n t.anglebracketright = 0x3009;\n t.anglebracketrightvertical = 0xfe40;\n t.angleleft = 0x2329;\n t.angleright = 0x232a;\n t.angstrom = 0x212b;\n t.anoteleia = 0x0387;\n t.anudattadeva = 0x0952;\n t.anusvarabengali = 0x0982;\n t.anusvaradeva = 0x0902;\n t.anusvaragujarati = 0x0a82;\n t.aogonek = 0x0105;\n t.apaatosquare = 0x3300;\n t.aparen = 0x249c;\n t.apostrophearmenian = 0x055a;\n t.apostrophemod = 0x02bc;\n t.apple = 0xf8ff;\n t.approaches = 0x2250;\n t.approxequal = 0x2248;\n t.approxequalorimage = 0x2252;\n t.approximatelyequal = 0x2245;\n t.araeaekorean = 0x318e;\n t.araeakorean = 0x318d;\n t.arc = 0x2312;\n t.arighthalfring = 0x1e9a;\n t.aring = 0x00e5;\n t.aringacute = 0x01fb;\n t.aringbelow = 0x1e01;\n t.arrowboth = 0x2194;\n t.arrowdashdown = 0x21e3;\n t.arrowdashleft = 0x21e0;\n t.arrowdashright = 0x21e2;\n t.arrowdashup = 0x21e1;\n t.arrowdblboth = 0x21d4;\n t.arrowdbldown = 0x21d3;\n t.arrowdblleft = 0x21d0;\n t.arrowdblright = 0x21d2;\n t.arrowdblup = 0x21d1;\n t.arrowdown = 0x2193;\n t.arrowdownleft = 0x2199;\n t.arrowdownright = 0x2198;\n t.arrowdownwhite = 0x21e9;\n t.arrowheaddownmod = 0x02c5;\n t.arrowheadleftmod = 0x02c2;\n t.arrowheadrightmod = 0x02c3;\n t.arrowheadupmod = 0x02c4;\n t.arrowhorizex = 0xf8e7;\n t.arrowleft = 0x2190;\n t.arrowleftdbl = 0x21d0;\n t.arrowleftdblstroke = 0x21cd;\n t.arrowleftoverright = 0x21c6;\n t.arrowleftwhite = 0x21e6;\n t.arrowright = 0x2192;\n t.arrowrightdblstroke = 0x21cf;\n t.arrowrightheavy = 0x279e;\n t.arrowrightoverleft = 0x21c4;\n t.arrowrightwhite = 0x21e8;\n t.arrowtableft = 0x21e4;\n t.arrowtabright = 0x21e5;\n t.arrowup = 0x2191;\n t.arrowupdn = 0x2195;\n t.arrowupdnbse = 0x21a8;\n t.arrowupdownbase = 0x21a8;\n t.arrowupleft = 0x2196;\n t.arrowupleftofdown = 0x21c5;\n t.arrowupright = 0x2197;\n t.arrowupwhite = 0x21e7;\n t.arrowvertex = 0xf8e6;\n t.asciicircum = 0x005e;\n t.asciicircummonospace = 0xff3e;\n t.asciitilde = 0x007e;\n t.asciitildemonospace = 0xff5e;\n t.ascript = 0x0251;\n t.ascriptturned = 0x0252;\n t.asmallhiragana = 0x3041;\n t.asmallkatakana = 0x30a1;\n t.asmallkatakanahalfwidth = 0xff67;\n t.asterisk = 0x002a;\n t.asteriskaltonearabic = 0x066d;\n t.asteriskarabic = 0x066d;\n t.asteriskmath = 0x2217;\n t.asteriskmonospace = 0xff0a;\n t.asterisksmall = 0xfe61;\n t.asterism = 0x2042;\n t.asuperior = 0xf6e9;\n t.asymptoticallyequal = 0x2243;\n t.at = 0x0040;\n t.atilde = 0x00e3;\n t.atmonospace = 0xff20;\n t.atsmall = 0xfe6b;\n t.aturned = 0x0250;\n t.aubengali = 0x0994;\n t.aubopomofo = 0x3120;\n t.audeva = 0x0914;\n t.augujarati = 0x0a94;\n t.augurmukhi = 0x0a14;\n t.aulengthmarkbengali = 0x09d7;\n t.aumatragurmukhi = 0x0a4c;\n t.auvowelsignbengali = 0x09cc;\n t.auvowelsigndeva = 0x094c;\n t.auvowelsigngujarati = 0x0acc;\n t.avagrahadeva = 0x093d;\n t.aybarmenian = 0x0561;\n t.ayin = 0x05e2;\n t.ayinaltonehebrew = 0xfb20;\n t.ayinhebrew = 0x05e2;\n t.b = 0x0062;\n t.babengali = 0x09ac;\n t.backslash = 0x005c;\n t.backslashmonospace = 0xff3c;\n t.badeva = 0x092c;\n t.bagujarati = 0x0aac;\n t.bagurmukhi = 0x0a2c;\n t.bahiragana = 0x3070;\n t.bahtthai = 0x0e3f;\n t.bakatakana = 0x30d0;\n t.bar = 0x007c;\n t.barmonospace = 0xff5c;\n t.bbopomofo = 0x3105;\n t.bcircle = 0x24d1;\n t.bdotaccent = 0x1e03;\n t.bdotbelow = 0x1e05;\n t.beamedsixteenthnotes = 0x266c;\n t.because = 0x2235;\n t.becyrillic = 0x0431;\n t.beharabic = 0x0628;\n t.behfinalarabic = 0xfe90;\n t.behinitialarabic = 0xfe91;\n t.behiragana = 0x3079;\n t.behmedialarabic = 0xfe92;\n t.behmeeminitialarabic = 0xfc9f;\n t.behmeemisolatedarabic = 0xfc08;\n t.behnoonfinalarabic = 0xfc6d;\n t.bekatakana = 0x30d9;\n t.benarmenian = 0x0562;\n t.bet = 0x05d1;\n t.beta = 0x03b2;\n t.betasymbolgreek = 0x03d0;\n t.betdagesh = 0xfb31;\n t.betdageshhebrew = 0xfb31;\n t.bethebrew = 0x05d1;\n t.betrafehebrew = 0xfb4c;\n t.bhabengali = 0x09ad;\n t.bhadeva = 0x092d;\n t.bhagujarati = 0x0aad;\n t.bhagurmukhi = 0x0a2d;\n t.bhook = 0x0253;\n t.bihiragana = 0x3073;\n t.bikatakana = 0x30d3;\n t.bilabialclick = 0x0298;\n t.bindigurmukhi = 0x0a02;\n t.birusquare = 0x3331;\n t.blackcircle = 0x25cf;\n t.blackdiamond = 0x25c6;\n t.blackdownpointingtriangle = 0x25bc;\n t.blackleftpointingpointer = 0x25c4;\n t.blackleftpointingtriangle = 0x25c0;\n t.blacklenticularbracketleft = 0x3010;\n t.blacklenticularbracketleftvertical = 0xfe3b;\n t.blacklenticularbracketright = 0x3011;\n t.blacklenticularbracketrightvertical = 0xfe3c;\n t.blacklowerlefttriangle = 0x25e3;\n t.blacklowerrighttriangle = 0x25e2;\n t.blackrectangle = 0x25ac;\n t.blackrightpointingpointer = 0x25ba;\n t.blackrightpointingtriangle = 0x25b6;\n t.blacksmallsquare = 0x25aa;\n t.blacksmilingface = 0x263b;\n t.blacksquare = 0x25a0;\n t.blackstar = 0x2605;\n t.blackupperlefttriangle = 0x25e4;\n t.blackupperrighttriangle = 0x25e5;\n t.blackuppointingsmalltriangle = 0x25b4;\n t.blackuppointingtriangle = 0x25b2;\n t.blank = 0x2423;\n t.blinebelow = 0x1e07;\n t.block = 0x2588;\n t.bmonospace = 0xff42;\n t.bobaimaithai = 0x0e1a;\n t.bohiragana = 0x307c;\n t.bokatakana = 0x30dc;\n t.bparen = 0x249d;\n t.bqsquare = 0x33c3;\n t.braceex = 0xf8f4;\n t.braceleft = 0x007b;\n t.braceleftbt = 0xf8f3;\n t.braceleftmid = 0xf8f2;\n t.braceleftmonospace = 0xff5b;\n t.braceleftsmall = 0xfe5b;\n t.bracelefttp = 0xf8f1;\n t.braceleftvertical = 0xfe37;\n t.braceright = 0x007d;\n t.bracerightbt = 0xf8fe;\n t.bracerightmid = 0xf8fd;\n t.bracerightmonospace = 0xff5d;\n t.bracerightsmall = 0xfe5c;\n t.bracerighttp = 0xf8fc;\n t.bracerightvertical = 0xfe38;\n t.bracketleft = 0x005b;\n t.bracketleftbt = 0xf8f0;\n t.bracketleftex = 0xf8ef;\n t.bracketleftmonospace = 0xff3b;\n t.bracketlefttp = 0xf8ee;\n t.bracketright = 0x005d;\n t.bracketrightbt = 0xf8fb;\n t.bracketrightex = 0xf8fa;\n t.bracketrightmonospace = 0xff3d;\n t.bracketrighttp = 0xf8f9;\n t.breve = 0x02d8;\n t.brevebelowcmb = 0x032e;\n t.brevecmb = 0x0306;\n t.breveinvertedbelowcmb = 0x032f;\n t.breveinvertedcmb = 0x0311;\n t.breveinverteddoublecmb = 0x0361;\n t.bridgebelowcmb = 0x032a;\n t.bridgeinvertedbelowcmb = 0x033a;\n t.brokenbar = 0x00a6;\n t.bstroke = 0x0180;\n t.bsuperior = 0xf6ea;\n t.btopbar = 0x0183;\n t.buhiragana = 0x3076;\n t.bukatakana = 0x30d6;\n t.bullet = 0x2022;\n t.bulletinverse = 0x25d8;\n t.bulletoperator = 0x2219;\n t.bullseye = 0x25ce;\n t.c = 0x0063;\n t.caarmenian = 0x056e;\n t.cabengali = 0x099a;\n t.cacute = 0x0107;\n t.cadeva = 0x091a;\n t.cagujarati = 0x0a9a;\n t.cagurmukhi = 0x0a1a;\n t.calsquare = 0x3388;\n t.candrabindubengali = 0x0981;\n t.candrabinducmb = 0x0310;\n t.candrabindudeva = 0x0901;\n t.candrabindugujarati = 0x0a81;\n t.capslock = 0x21ea;\n t.careof = 0x2105;\n t.caron = 0x02c7;\n t.caronbelowcmb = 0x032c;\n t.caroncmb = 0x030c;\n t.carriagereturn = 0x21b5;\n t.cbopomofo = 0x3118;\n t.ccaron = 0x010d;\n t.ccedilla = 0x00e7;\n t.ccedillaacute = 0x1e09;\n t.ccircle = 0x24d2;\n t.ccircumflex = 0x0109;\n t.ccurl = 0x0255;\n t.cdot = 0x010b;\n t.cdotaccent = 0x010b;\n t.cdsquare = 0x33c5;\n t.cedilla = 0x00b8;\n t.cedillacmb = 0x0327;\n t.cent = 0x00a2;\n t.centigrade = 0x2103;\n t.centinferior = 0xf6df;\n t.centmonospace = 0xffe0;\n t.centoldstyle = 0xf7a2;\n t.centsuperior = 0xf6e0;\n t.chaarmenian = 0x0579;\n t.chabengali = 0x099b;\n t.chadeva = 0x091b;\n t.chagujarati = 0x0a9b;\n t.chagurmukhi = 0x0a1b;\n t.chbopomofo = 0x3114;\n t.cheabkhasiancyrillic = 0x04bd;\n t.checkmark = 0x2713;\n t.checyrillic = 0x0447;\n t.chedescenderabkhasiancyrillic = 0x04bf;\n t.chedescendercyrillic = 0x04b7;\n t.chedieresiscyrillic = 0x04f5;\n t.cheharmenian = 0x0573;\n t.chekhakassiancyrillic = 0x04cc;\n t.cheverticalstrokecyrillic = 0x04b9;\n t.chi = 0x03c7;\n t.chieuchacirclekorean = 0x3277;\n t.chieuchaparenkorean = 0x3217;\n t.chieuchcirclekorean = 0x3269;\n t.chieuchkorean = 0x314a;\n t.chieuchparenkorean = 0x3209;\n t.chochangthai = 0x0e0a;\n t.chochanthai = 0x0e08;\n t.chochingthai = 0x0e09;\n t.chochoethai = 0x0e0c;\n t.chook = 0x0188;\n t.cieucacirclekorean = 0x3276;\n t.cieucaparenkorean = 0x3216;\n t.cieuccirclekorean = 0x3268;\n t.cieuckorean = 0x3148;\n t.cieucparenkorean = 0x3208;\n t.cieucuparenkorean = 0x321c;\n t.circle = 0x25cb;\n t.circlecopyrt = 0x00a9;\n t.circlemultiply = 0x2297;\n t.circleot = 0x2299;\n t.circleplus = 0x2295;\n t.circlepostalmark = 0x3036;\n t.circlewithlefthalfblack = 0x25d0;\n t.circlewithrighthalfblack = 0x25d1;\n t.circumflex = 0x02c6;\n t.circumflexbelowcmb = 0x032d;\n t.circumflexcmb = 0x0302;\n t.clear = 0x2327;\n t.clickalveolar = 0x01c2;\n t.clickdental = 0x01c0;\n t.clicklateral = 0x01c1;\n t.clickretroflex = 0x01c3;\n t.club = 0x2663;\n t.clubsuitblack = 0x2663;\n t.clubsuitwhite = 0x2667;\n t.cmcubedsquare = 0x33a4;\n t.cmonospace = 0xff43;\n t.cmsquaredsquare = 0x33a0;\n t.coarmenian = 0x0581;\n t.colon = 0x003a;\n t.colonmonetary = 0x20a1;\n t.colonmonospace = 0xff1a;\n t.colonsign = 0x20a1;\n t.colonsmall = 0xfe55;\n t.colontriangularhalfmod = 0x02d1;\n t.colontriangularmod = 0x02d0;\n t.comma = 0x002c;\n t.commaabovecmb = 0x0313;\n t.commaaboverightcmb = 0x0315;\n t.commaaccent = 0xf6c3;\n t.commaarabic = 0x060c;\n t.commaarmenian = 0x055d;\n t.commainferior = 0xf6e1;\n t.commamonospace = 0xff0c;\n t.commareversedabovecmb = 0x0314;\n t.commareversedmod = 0x02bd;\n t.commasmall = 0xfe50;\n t.commasuperior = 0xf6e2;\n t.commaturnedabovecmb = 0x0312;\n t.commaturnedmod = 0x02bb;\n t.compass = 0x263c;\n t.congruent = 0x2245;\n t.contourintegral = 0x222e;\n t.control = 0x2303;\n t.controlACK = 0x0006;\n t.controlBEL = 0x0007;\n t.controlBS = 0x0008;\n t.controlCAN = 0x0018;\n t.controlCR = 0x000d;\n t.controlDC1 = 0x0011;\n t.controlDC2 = 0x0012;\n t.controlDC3 = 0x0013;\n t.controlDC4 = 0x0014;\n t.controlDEL = 0x007f;\n t.controlDLE = 0x0010;\n t.controlEM = 0x0019;\n t.controlENQ = 0x0005;\n t.controlEOT = 0x0004;\n t.controlESC = 0x001b;\n t.controlETB = 0x0017;\n t.controlETX = 0x0003;\n t.controlFF = 0x000c;\n t.controlFS = 0x001c;\n t.controlGS = 0x001d;\n t.controlHT = 0x0009;\n t.controlLF = 0x000a;\n t.controlNAK = 0x0015;\n t.controlNULL = 0x0000;\n t.controlRS = 0x001e;\n t.controlSI = 0x000f;\n t.controlSO = 0x000e;\n t.controlSOT = 0x0002;\n t.controlSTX = 0x0001;\n t.controlSUB = 0x001a;\n t.controlSYN = 0x0016;\n t.controlUS = 0x001f;\n t.controlVT = 0x000b;\n t.copyright = 0x00a9;\n t.copyrightsans = 0xf8e9;\n t.copyrightserif = 0xf6d9;\n t.cornerbracketleft = 0x300c;\n t.cornerbracketlefthalfwidth = 0xff62;\n t.cornerbracketleftvertical = 0xfe41;\n t.cornerbracketright = 0x300d;\n t.cornerbracketrighthalfwidth = 0xff63;\n t.cornerbracketrightvertical = 0xfe42;\n t.corporationsquare = 0x337f;\n t.cosquare = 0x33c7;\n t.coverkgsquare = 0x33c6;\n t.cparen = 0x249e;\n t.cruzeiro = 0x20a2;\n t.cstretched = 0x0297;\n t.curlyand = 0x22cf;\n t.curlyor = 0x22ce;\n t.currency = 0x00a4;\n t.cyrBreve = 0xf6d1;\n t.cyrFlex = 0xf6d2;\n t.cyrbreve = 0xf6d4;\n t.cyrflex = 0xf6d5;\n t.d = 0x0064;\n t.daarmenian = 0x0564;\n t.dabengali = 0x09a6;\n t.dadarabic = 0x0636;\n t.dadeva = 0x0926;\n t.dadfinalarabic = 0xfebe;\n t.dadinitialarabic = 0xfebf;\n t.dadmedialarabic = 0xfec0;\n t.dagesh = 0x05bc;\n t.dageshhebrew = 0x05bc;\n t.dagger = 0x2020;\n t.daggerdbl = 0x2021;\n t.dagujarati = 0x0aa6;\n t.dagurmukhi = 0x0a26;\n t.dahiragana = 0x3060;\n t.dakatakana = 0x30c0;\n t.dalarabic = 0x062f;\n t.dalet = 0x05d3;\n t.daletdagesh = 0xfb33;\n t.daletdageshhebrew = 0xfb33;\n t.dalethebrew = 0x05d3;\n t.dalfinalarabic = 0xfeaa;\n t.dammaarabic = 0x064f;\n t.dammalowarabic = 0x064f;\n t.dammatanaltonearabic = 0x064c;\n t.dammatanarabic = 0x064c;\n t.danda = 0x0964;\n t.dargahebrew = 0x05a7;\n t.dargalefthebrew = 0x05a7;\n t.dasiapneumatacyrilliccmb = 0x0485;\n t.dblGrave = 0xf6d3;\n t.dblanglebracketleft = 0x300a;\n t.dblanglebracketleftvertical = 0xfe3d;\n t.dblanglebracketright = 0x300b;\n t.dblanglebracketrightvertical = 0xfe3e;\n t.dblarchinvertedbelowcmb = 0x032b;\n t.dblarrowleft = 0x21d4;\n t.dblarrowright = 0x21d2;\n t.dbldanda = 0x0965;\n t.dblgrave = 0xf6d6;\n t.dblgravecmb = 0x030f;\n t.dblintegral = 0x222c;\n t.dbllowline = 0x2017;\n t.dbllowlinecmb = 0x0333;\n t.dbloverlinecmb = 0x033f;\n t.dblprimemod = 0x02ba;\n t.dblverticalbar = 0x2016;\n t.dblverticallineabovecmb = 0x030e;\n t.dbopomofo = 0x3109;\n t.dbsquare = 0x33c8;\n t.dcaron = 0x010f;\n t.dcedilla = 0x1e11;\n t.dcircle = 0x24d3;\n t.dcircumflexbelow = 0x1e13;\n t.dcroat = 0x0111;\n t.ddabengali = 0x09a1;\n t.ddadeva = 0x0921;\n t.ddagujarati = 0x0aa1;\n t.ddagurmukhi = 0x0a21;\n t.ddalarabic = 0x0688;\n t.ddalfinalarabic = 0xfb89;\n t.dddhadeva = 0x095c;\n t.ddhabengali = 0x09a2;\n t.ddhadeva = 0x0922;\n t.ddhagujarati = 0x0aa2;\n t.ddhagurmukhi = 0x0a22;\n t.ddotaccent = 0x1e0b;\n t.ddotbelow = 0x1e0d;\n t.decimalseparatorarabic = 0x066b;\n t.decimalseparatorpersian = 0x066b;\n t.decyrillic = 0x0434;\n t.degree = 0x00b0;\n t.dehihebrew = 0x05ad;\n t.dehiragana = 0x3067;\n t.deicoptic = 0x03ef;\n t.dekatakana = 0x30c7;\n t.deleteleft = 0x232b;\n t.deleteright = 0x2326;\n t.delta = 0x03b4;\n t.deltaturned = 0x018d;\n t.denominatorminusonenumeratorbengali = 0x09f8;\n t.dezh = 0x02a4;\n t.dhabengali = 0x09a7;\n t.dhadeva = 0x0927;\n t.dhagujarati = 0x0aa7;\n t.dhagurmukhi = 0x0a27;\n t.dhook = 0x0257;\n t.dialytikatonos = 0x0385;\n t.dialytikatonoscmb = 0x0344;\n t.diamond = 0x2666;\n t.diamondsuitwhite = 0x2662;\n t.dieresis = 0x00a8;\n t.dieresisacute = 0xf6d7;\n t.dieresisbelowcmb = 0x0324;\n t.dieresiscmb = 0x0308;\n t.dieresisgrave = 0xf6d8;\n t.dieresistonos = 0x0385;\n t.dihiragana = 0x3062;\n t.dikatakana = 0x30c2;\n t.dittomark = 0x3003;\n t.divide = 0x00f7;\n t.divides = 0x2223;\n t.divisionslash = 0x2215;\n t.djecyrillic = 0x0452;\n t.dkshade = 0x2593;\n t.dlinebelow = 0x1e0f;\n t.dlsquare = 0x3397;\n t.dmacron = 0x0111;\n t.dmonospace = 0xff44;\n t.dnblock = 0x2584;\n t.dochadathai = 0x0e0e;\n t.dodekthai = 0x0e14;\n t.dohiragana = 0x3069;\n t.dokatakana = 0x30c9;\n t.dollar = 0x0024;\n t.dollarinferior = 0xf6e3;\n t.dollarmonospace = 0xff04;\n t.dollaroldstyle = 0xf724;\n t.dollarsmall = 0xfe69;\n t.dollarsuperior = 0xf6e4;\n t.dong = 0x20ab;\n t.dorusquare = 0x3326;\n t.dotaccent = 0x02d9;\n t.dotaccentcmb = 0x0307;\n t.dotbelowcmb = 0x0323;\n t.dotbelowcomb = 0x0323;\n t.dotkatakana = 0x30fb;\n t.dotlessi = 0x0131;\n t.dotlessj = 0xf6be;\n t.dotlessjstrokehook = 0x0284;\n t.dotmath = 0x22c5;\n t.dottedcircle = 0x25cc;\n t.doubleyodpatah = 0xfb1f;\n t.doubleyodpatahhebrew = 0xfb1f;\n t.downtackbelowcmb = 0x031e;\n t.downtackmod = 0x02d5;\n t.dparen = 0x249f;\n t.dsuperior = 0xf6eb;\n t.dtail = 0x0256;\n t.dtopbar = 0x018c;\n t.duhiragana = 0x3065;\n t.dukatakana = 0x30c5;\n t.dz = 0x01f3;\n t.dzaltone = 0x02a3;\n t.dzcaron = 0x01c6;\n t.dzcurl = 0x02a5;\n t.dzeabkhasiancyrillic = 0x04e1;\n t.dzecyrillic = 0x0455;\n t.dzhecyrillic = 0x045f;\n t.e = 0x0065;\n t.eacute = 0x00e9;\n t.earth = 0x2641;\n t.ebengali = 0x098f;\n t.ebopomofo = 0x311c;\n t.ebreve = 0x0115;\n t.ecandradeva = 0x090d;\n t.ecandragujarati = 0x0a8d;\n t.ecandravowelsigndeva = 0x0945;\n t.ecandravowelsigngujarati = 0x0ac5;\n t.ecaron = 0x011b;\n t.ecedillabreve = 0x1e1d;\n t.echarmenian = 0x0565;\n t.echyiwnarmenian = 0x0587;\n t.ecircle = 0x24d4;\n t.ecircumflex = 0x00ea;\n t.ecircumflexacute = 0x1ebf;\n t.ecircumflexbelow = 0x1e19;\n t.ecircumflexdotbelow = 0x1ec7;\n t.ecircumflexgrave = 0x1ec1;\n t.ecircumflexhookabove = 0x1ec3;\n t.ecircumflextilde = 0x1ec5;\n t.ecyrillic = 0x0454;\n t.edblgrave = 0x0205;\n t.edeva = 0x090f;\n t.edieresis = 0x00eb;\n t.edot = 0x0117;\n t.edotaccent = 0x0117;\n t.edotbelow = 0x1eb9;\n t.eegurmukhi = 0x0a0f;\n t.eematragurmukhi = 0x0a47;\n t.efcyrillic = 0x0444;\n t.egrave = 0x00e8;\n t.egujarati = 0x0a8f;\n t.eharmenian = 0x0567;\n t.ehbopomofo = 0x311d;\n t.ehiragana = 0x3048;\n t.ehookabove = 0x1ebb;\n t.eibopomofo = 0x311f;\n t.eight = 0x0038;\n t.eightarabic = 0x0668;\n t.eightbengali = 0x09ee;\n t.eightcircle = 0x2467;\n t.eightcircleinversesansserif = 0x2791;\n t.eightdeva = 0x096e;\n t.eighteencircle = 0x2471;\n t.eighteenparen = 0x2485;\n t.eighteenperiod = 0x2499;\n t.eightgujarati = 0x0aee;\n t.eightgurmukhi = 0x0a6e;\n t.eighthackarabic = 0x0668;\n t.eighthangzhou = 0x3028;\n t.eighthnotebeamed = 0x266b;\n t.eightideographicparen = 0x3227;\n t.eightinferior = 0x2088;\n t.eightmonospace = 0xff18;\n t.eightoldstyle = 0xf738;\n t.eightparen = 0x247b;\n t.eightperiod = 0x248f;\n t.eightpersian = 0x06f8;\n t.eightroman = 0x2177;\n t.eightsuperior = 0x2078;\n t.eightthai = 0x0e58;\n t.einvertedbreve = 0x0207;\n t.eiotifiedcyrillic = 0x0465;\n t.ekatakana = 0x30a8;\n t.ekatakanahalfwidth = 0xff74;\n t.ekonkargurmukhi = 0x0a74;\n t.ekorean = 0x3154;\n t.elcyrillic = 0x043b;\n t.element = 0x2208;\n t.elevencircle = 0x246a;\n t.elevenparen = 0x247e;\n t.elevenperiod = 0x2492;\n t.elevenroman = 0x217a;\n t.ellipsis = 0x2026;\n t.ellipsisvertical = 0x22ee;\n t.emacron = 0x0113;\n t.emacronacute = 0x1e17;\n t.emacrongrave = 0x1e15;\n t.emcyrillic = 0x043c;\n t.emdash = 0x2014;\n t.emdashvertical = 0xfe31;\n t.emonospace = 0xff45;\n t.emphasismarkarmenian = 0x055b;\n t.emptyset = 0x2205;\n t.enbopomofo = 0x3123;\n t.encyrillic = 0x043d;\n t.endash = 0x2013;\n t.endashvertical = 0xfe32;\n t.endescendercyrillic = 0x04a3;\n t.eng = 0x014b;\n t.engbopomofo = 0x3125;\n t.enghecyrillic = 0x04a5;\n t.enhookcyrillic = 0x04c8;\n t.enspace = 0x2002;\n t.eogonek = 0x0119;\n t.eokorean = 0x3153;\n t.eopen = 0x025b;\n t.eopenclosed = 0x029a;\n t.eopenreversed = 0x025c;\n t.eopenreversedclosed = 0x025e;\n t.eopenreversedhook = 0x025d;\n t.eparen = 0x24a0;\n t.epsilon = 0x03b5;\n t.epsilontonos = 0x03ad;\n t.equal = 0x003d;\n t.equalmonospace = 0xff1d;\n t.equalsmall = 0xfe66;\n t.equalsuperior = 0x207c;\n t.equivalence = 0x2261;\n t.erbopomofo = 0x3126;\n t.ercyrillic = 0x0440;\n t.ereversed = 0x0258;\n t.ereversedcyrillic = 0x044d;\n t.escyrillic = 0x0441;\n t.esdescendercyrillic = 0x04ab;\n t.esh = 0x0283;\n t.eshcurl = 0x0286;\n t.eshortdeva = 0x090e;\n t.eshortvowelsigndeva = 0x0946;\n t.eshreversedloop = 0x01aa;\n t.eshsquatreversed = 0x0285;\n t.esmallhiragana = 0x3047;\n t.esmallkatakana = 0x30a7;\n t.esmallkatakanahalfwidth = 0xff6a;\n t.estimated = 0x212e;\n t.esuperior = 0xf6ec;\n t.eta = 0x03b7;\n t.etarmenian = 0x0568;\n t.etatonos = 0x03ae;\n t.eth = 0x00f0;\n t.etilde = 0x1ebd;\n t.etildebelow = 0x1e1b;\n t.etnahtafoukhhebrew = 0x0591;\n t.etnahtafoukhlefthebrew = 0x0591;\n t.etnahtahebrew = 0x0591;\n t.etnahtalefthebrew = 0x0591;\n t.eturned = 0x01dd;\n t.eukorean = 0x3161;\n t.euro = 0x20ac;\n t.evowelsignbengali = 0x09c7;\n t.evowelsigndeva = 0x0947;\n t.evowelsigngujarati = 0x0ac7;\n t.exclam = 0x0021;\n t.exclamarmenian = 0x055c;\n t.exclamdbl = 0x203c;\n t.exclamdown = 0x00a1;\n t.exclamdownsmall = 0xf7a1;\n t.exclammonospace = 0xff01;\n t.exclamsmall = 0xf721;\n t.existential = 0x2203;\n t.ezh = 0x0292;\n t.ezhcaron = 0x01ef;\n t.ezhcurl = 0x0293;\n t.ezhreversed = 0x01b9;\n t.ezhtail = 0x01ba;\n t.f = 0x0066;\n t.fadeva = 0x095e;\n t.fagurmukhi = 0x0a5e;\n t.fahrenheit = 0x2109;\n t.fathaarabic = 0x064e;\n t.fathalowarabic = 0x064e;\n t.fathatanarabic = 0x064b;\n t.fbopomofo = 0x3108;\n t.fcircle = 0x24d5;\n t.fdotaccent = 0x1e1f;\n t.feharabic = 0x0641;\n t.feharmenian = 0x0586;\n t.fehfinalarabic = 0xfed2;\n t.fehinitialarabic = 0xfed3;\n t.fehmedialarabic = 0xfed4;\n t.feicoptic = 0x03e5;\n t.female = 0x2640;\n t.ff = 0xfb00;\n t.f_f = 0xfb00;\n t.ffi = 0xfb03;\n t.ffl = 0xfb04;\n t.fi = 0xfb01;\n t.fifteencircle = 0x246e;\n t.fifteenparen = 0x2482;\n t.fifteenperiod = 0x2496;\n t.figuredash = 0x2012;\n t.filledbox = 0x25a0;\n t.filledrect = 0x25ac;\n t.finalkaf = 0x05da;\n t.finalkafdagesh = 0xfb3a;\n t.finalkafdageshhebrew = 0xfb3a;\n t.finalkafhebrew = 0x05da;\n t.finalmem = 0x05dd;\n t.finalmemhebrew = 0x05dd;\n t.finalnun = 0x05df;\n t.finalnunhebrew = 0x05df;\n t.finalpe = 0x05e3;\n t.finalpehebrew = 0x05e3;\n t.finaltsadi = 0x05e5;\n t.finaltsadihebrew = 0x05e5;\n t.firsttonechinese = 0x02c9;\n t.fisheye = 0x25c9;\n t.fitacyrillic = 0x0473;\n t.five = 0x0035;\n t.fivearabic = 0x0665;\n t.fivebengali = 0x09eb;\n t.fivecircle = 0x2464;\n t.fivecircleinversesansserif = 0x278e;\n t.fivedeva = 0x096b;\n t.fiveeighths = 0x215d;\n t.fivegujarati = 0x0aeb;\n t.fivegurmukhi = 0x0a6b;\n t.fivehackarabic = 0x0665;\n t.fivehangzhou = 0x3025;\n t.fiveideographicparen = 0x3224;\n t.fiveinferior = 0x2085;\n t.fivemonospace = 0xff15;\n t.fiveoldstyle = 0xf735;\n t.fiveparen = 0x2478;\n t.fiveperiod = 0x248c;\n t.fivepersian = 0x06f5;\n t.fiveroman = 0x2174;\n t.fivesuperior = 0x2075;\n t.fivethai = 0x0e55;\n t.fl = 0xfb02;\n t.florin = 0x0192;\n t.fmonospace = 0xff46;\n t.fmsquare = 0x3399;\n t.fofanthai = 0x0e1f;\n t.fofathai = 0x0e1d;\n t.fongmanthai = 0x0e4f;\n t.forall = 0x2200;\n t.four = 0x0034;\n t.fourarabic = 0x0664;\n t.fourbengali = 0x09ea;\n t.fourcircle = 0x2463;\n t.fourcircleinversesansserif = 0x278d;\n t.fourdeva = 0x096a;\n t.fourgujarati = 0x0aea;\n t.fourgurmukhi = 0x0a6a;\n t.fourhackarabic = 0x0664;\n t.fourhangzhou = 0x3024;\n t.fourideographicparen = 0x3223;\n t.fourinferior = 0x2084;\n t.fourmonospace = 0xff14;\n t.fournumeratorbengali = 0x09f7;\n t.fouroldstyle = 0xf734;\n t.fourparen = 0x2477;\n t.fourperiod = 0x248b;\n t.fourpersian = 0x06f4;\n t.fourroman = 0x2173;\n t.foursuperior = 0x2074;\n t.fourteencircle = 0x246d;\n t.fourteenparen = 0x2481;\n t.fourteenperiod = 0x2495;\n t.fourthai = 0x0e54;\n t.fourthtonechinese = 0x02cb;\n t.fparen = 0x24a1;\n t.fraction = 0x2044;\n t.franc = 0x20a3;\n t.g = 0x0067;\n t.gabengali = 0x0997;\n t.gacute = 0x01f5;\n t.gadeva = 0x0917;\n t.gafarabic = 0x06af;\n t.gaffinalarabic = 0xfb93;\n t.gafinitialarabic = 0xfb94;\n t.gafmedialarabic = 0xfb95;\n t.gagujarati = 0x0a97;\n t.gagurmukhi = 0x0a17;\n t.gahiragana = 0x304c;\n t.gakatakana = 0x30ac;\n t.gamma = 0x03b3;\n t.gammalatinsmall = 0x0263;\n t.gammasuperior = 0x02e0;\n t.gangiacoptic = 0x03eb;\n t.gbopomofo = 0x310d;\n t.gbreve = 0x011f;\n t.gcaron = 0x01e7;\n t.gcedilla = 0x0123;\n t.gcircle = 0x24d6;\n t.gcircumflex = 0x011d;\n t.gcommaaccent = 0x0123;\n t.gdot = 0x0121;\n t.gdotaccent = 0x0121;\n t.gecyrillic = 0x0433;\n t.gehiragana = 0x3052;\n t.gekatakana = 0x30b2;\n t.geometricallyequal = 0x2251;\n t.gereshaccenthebrew = 0x059c;\n t.gereshhebrew = 0x05f3;\n t.gereshmuqdamhebrew = 0x059d;\n t.germandbls = 0x00df;\n t.gershayimaccenthebrew = 0x059e;\n t.gershayimhebrew = 0x05f4;\n t.getamark = 0x3013;\n t.ghabengali = 0x0998;\n t.ghadarmenian = 0x0572;\n t.ghadeva = 0x0918;\n t.ghagujarati = 0x0a98;\n t.ghagurmukhi = 0x0a18;\n t.ghainarabic = 0x063a;\n t.ghainfinalarabic = 0xfece;\n t.ghaininitialarabic = 0xfecf;\n t.ghainmedialarabic = 0xfed0;\n t.ghemiddlehookcyrillic = 0x0495;\n t.ghestrokecyrillic = 0x0493;\n t.gheupturncyrillic = 0x0491;\n t.ghhadeva = 0x095a;\n t.ghhagurmukhi = 0x0a5a;\n t.ghook = 0x0260;\n t.ghzsquare = 0x3393;\n t.gihiragana = 0x304e;\n t.gikatakana = 0x30ae;\n t.gimarmenian = 0x0563;\n t.gimel = 0x05d2;\n t.gimeldagesh = 0xfb32;\n t.gimeldageshhebrew = 0xfb32;\n t.gimelhebrew = 0x05d2;\n t.gjecyrillic = 0x0453;\n t.glottalinvertedstroke = 0x01be;\n t.glottalstop = 0x0294;\n t.glottalstopinverted = 0x0296;\n t.glottalstopmod = 0x02c0;\n t.glottalstopreversed = 0x0295;\n t.glottalstopreversedmod = 0x02c1;\n t.glottalstopreversedsuperior = 0x02e4;\n t.glottalstopstroke = 0x02a1;\n t.glottalstopstrokereversed = 0x02a2;\n t.gmacron = 0x1e21;\n t.gmonospace = 0xff47;\n t.gohiragana = 0x3054;\n t.gokatakana = 0x30b4;\n t.gparen = 0x24a2;\n t.gpasquare = 0x33ac;\n t.gradient = 0x2207;\n t.grave = 0x0060;\n t.gravebelowcmb = 0x0316;\n t.gravecmb = 0x0300;\n t.gravecomb = 0x0300;\n t.gravedeva = 0x0953;\n t.gravelowmod = 0x02ce;\n t.gravemonospace = 0xff40;\n t.gravetonecmb = 0x0340;\n t.greater = 0x003e;\n t.greaterequal = 0x2265;\n t.greaterequalorless = 0x22db;\n t.greatermonospace = 0xff1e;\n t.greaterorequivalent = 0x2273;\n t.greaterorless = 0x2277;\n t.greateroverequal = 0x2267;\n t.greatersmall = 0xfe65;\n t.gscript = 0x0261;\n t.gstroke = 0x01e5;\n t.guhiragana = 0x3050;\n t.guillemotleft = 0x00ab;\n t.guillemotright = 0x00bb;\n t.guilsinglleft = 0x2039;\n t.guilsinglright = 0x203a;\n t.gukatakana = 0x30b0;\n t.guramusquare = 0x3318;\n t.gysquare = 0x33c9;\n t.h = 0x0068;\n t.haabkhasiancyrillic = 0x04a9;\n t.haaltonearabic = 0x06c1;\n t.habengali = 0x09b9;\n t.hadescendercyrillic = 0x04b3;\n t.hadeva = 0x0939;\n t.hagujarati = 0x0ab9;\n t.hagurmukhi = 0x0a39;\n t.haharabic = 0x062d;\n t.hahfinalarabic = 0xfea2;\n t.hahinitialarabic = 0xfea3;\n t.hahiragana = 0x306f;\n t.hahmedialarabic = 0xfea4;\n t.haitusquare = 0x332a;\n t.hakatakana = 0x30cf;\n t.hakatakanahalfwidth = 0xff8a;\n t.halantgurmukhi = 0x0a4d;\n t.hamzaarabic = 0x0621;\n t.hamzalowarabic = 0x0621;\n t.hangulfiller = 0x3164;\n t.hardsigncyrillic = 0x044a;\n t.harpoonleftbarbup = 0x21bc;\n t.harpoonrightbarbup = 0x21c0;\n t.hasquare = 0x33ca;\n t.hatafpatah = 0x05b2;\n t.hatafpatah16 = 0x05b2;\n t.hatafpatah23 = 0x05b2;\n t.hatafpatah2f = 0x05b2;\n t.hatafpatahhebrew = 0x05b2;\n t.hatafpatahnarrowhebrew = 0x05b2;\n t.hatafpatahquarterhebrew = 0x05b2;\n t.hatafpatahwidehebrew = 0x05b2;\n t.hatafqamats = 0x05b3;\n t.hatafqamats1b = 0x05b3;\n t.hatafqamats28 = 0x05b3;\n t.hatafqamats34 = 0x05b3;\n t.hatafqamatshebrew = 0x05b3;\n t.hatafqamatsnarrowhebrew = 0x05b3;\n t.hatafqamatsquarterhebrew = 0x05b3;\n t.hatafqamatswidehebrew = 0x05b3;\n t.hatafsegol = 0x05b1;\n t.hatafsegol17 = 0x05b1;\n t.hatafsegol24 = 0x05b1;\n t.hatafsegol30 = 0x05b1;\n t.hatafsegolhebrew = 0x05b1;\n t.hatafsegolnarrowhebrew = 0x05b1;\n t.hatafsegolquarterhebrew = 0x05b1;\n t.hatafsegolwidehebrew = 0x05b1;\n t.hbar = 0x0127;\n t.hbopomofo = 0x310f;\n t.hbrevebelow = 0x1e2b;\n t.hcedilla = 0x1e29;\n t.hcircle = 0x24d7;\n t.hcircumflex = 0x0125;\n t.hdieresis = 0x1e27;\n t.hdotaccent = 0x1e23;\n t.hdotbelow = 0x1e25;\n t.he = 0x05d4;\n t.heart = 0x2665;\n t.heartsuitblack = 0x2665;\n t.heartsuitwhite = 0x2661;\n t.hedagesh = 0xfb34;\n t.hedageshhebrew = 0xfb34;\n t.hehaltonearabic = 0x06c1;\n t.heharabic = 0x0647;\n t.hehebrew = 0x05d4;\n t.hehfinalaltonearabic = 0xfba7;\n t.hehfinalalttwoarabic = 0xfeea;\n t.hehfinalarabic = 0xfeea;\n t.hehhamzaabovefinalarabic = 0xfba5;\n t.hehhamzaaboveisolatedarabic = 0xfba4;\n t.hehinitialaltonearabic = 0xfba8;\n t.hehinitialarabic = 0xfeeb;\n t.hehiragana = 0x3078;\n t.hehmedialaltonearabic = 0xfba9;\n t.hehmedialarabic = 0xfeec;\n t.heiseierasquare = 0x337b;\n t.hekatakana = 0x30d8;\n t.hekatakanahalfwidth = 0xff8d;\n t.hekutaarusquare = 0x3336;\n t.henghook = 0x0267;\n t.herutusquare = 0x3339;\n t.het = 0x05d7;\n t.hethebrew = 0x05d7;\n t.hhook = 0x0266;\n t.hhooksuperior = 0x02b1;\n t.hieuhacirclekorean = 0x327b;\n t.hieuhaparenkorean = 0x321b;\n t.hieuhcirclekorean = 0x326d;\n t.hieuhkorean = 0x314e;\n t.hieuhparenkorean = 0x320d;\n t.hihiragana = 0x3072;\n t.hikatakana = 0x30d2;\n t.hikatakanahalfwidth = 0xff8b;\n t.hiriq = 0x05b4;\n t.hiriq14 = 0x05b4;\n t.hiriq21 = 0x05b4;\n t.hiriq2d = 0x05b4;\n t.hiriqhebrew = 0x05b4;\n t.hiriqnarrowhebrew = 0x05b4;\n t.hiriqquarterhebrew = 0x05b4;\n t.hiriqwidehebrew = 0x05b4;\n t.hlinebelow = 0x1e96;\n t.hmonospace = 0xff48;\n t.hoarmenian = 0x0570;\n t.hohipthai = 0x0e2b;\n t.hohiragana = 0x307b;\n t.hokatakana = 0x30db;\n t.hokatakanahalfwidth = 0xff8e;\n t.holam = 0x05b9;\n t.holam19 = 0x05b9;\n t.holam26 = 0x05b9;\n t.holam32 = 0x05b9;\n t.holamhebrew = 0x05b9;\n t.holamnarrowhebrew = 0x05b9;\n t.holamquarterhebrew = 0x05b9;\n t.holamwidehebrew = 0x05b9;\n t.honokhukthai = 0x0e2e;\n t.hookabovecomb = 0x0309;\n t.hookcmb = 0x0309;\n t.hookpalatalizedbelowcmb = 0x0321;\n t.hookretroflexbelowcmb = 0x0322;\n t.hoonsquare = 0x3342;\n t.horicoptic = 0x03e9;\n t.horizontalbar = 0x2015;\n t.horncmb = 0x031b;\n t.hotsprings = 0x2668;\n t.house = 0x2302;\n t.hparen = 0x24a3;\n t.hsuperior = 0x02b0;\n t.hturned = 0x0265;\n t.huhiragana = 0x3075;\n t.huiitosquare = 0x3333;\n t.hukatakana = 0x30d5;\n t.hukatakanahalfwidth = 0xff8c;\n t.hungarumlaut = 0x02dd;\n t.hungarumlautcmb = 0x030b;\n t.hv = 0x0195;\n t.hyphen = 0x002d;\n t.hypheninferior = 0xf6e5;\n t.hyphenmonospace = 0xff0d;\n t.hyphensmall = 0xfe63;\n t.hyphensuperior = 0xf6e6;\n t.hyphentwo = 0x2010;\n t.i = 0x0069;\n t.iacute = 0x00ed;\n t.iacyrillic = 0x044f;\n t.ibengali = 0x0987;\n t.ibopomofo = 0x3127;\n t.ibreve = 0x012d;\n t.icaron = 0x01d0;\n t.icircle = 0x24d8;\n t.icircumflex = 0x00ee;\n t.icyrillic = 0x0456;\n t.idblgrave = 0x0209;\n t.ideographearthcircle = 0x328f;\n t.ideographfirecircle = 0x328b;\n t.ideographicallianceparen = 0x323f;\n t.ideographiccallparen = 0x323a;\n t.ideographiccentrecircle = 0x32a5;\n t.ideographicclose = 0x3006;\n t.ideographiccomma = 0x3001;\n t.ideographiccommaleft = 0xff64;\n t.ideographiccongratulationparen = 0x3237;\n t.ideographiccorrectcircle = 0x32a3;\n t.ideographicearthparen = 0x322f;\n t.ideographicenterpriseparen = 0x323d;\n t.ideographicexcellentcircle = 0x329d;\n t.ideographicfestivalparen = 0x3240;\n t.ideographicfinancialcircle = 0x3296;\n t.ideographicfinancialparen = 0x3236;\n t.ideographicfireparen = 0x322b;\n t.ideographichaveparen = 0x3232;\n t.ideographichighcircle = 0x32a4;\n t.ideographiciterationmark = 0x3005;\n t.ideographiclaborcircle = 0x3298;\n t.ideographiclaborparen = 0x3238;\n t.ideographicleftcircle = 0x32a7;\n t.ideographiclowcircle = 0x32a6;\n t.ideographicmedicinecircle = 0x32a9;\n t.ideographicmetalparen = 0x322e;\n t.ideographicmoonparen = 0x322a;\n t.ideographicnameparen = 0x3234;\n t.ideographicperiod = 0x3002;\n t.ideographicprintcircle = 0x329e;\n t.ideographicreachparen = 0x3243;\n t.ideographicrepresentparen = 0x3239;\n t.ideographicresourceparen = 0x323e;\n t.ideographicrightcircle = 0x32a8;\n t.ideographicsecretcircle = 0x3299;\n t.ideographicselfparen = 0x3242;\n t.ideographicsocietyparen = 0x3233;\n t.ideographicspace = 0x3000;\n t.ideographicspecialparen = 0x3235;\n t.ideographicstockparen = 0x3231;\n t.ideographicstudyparen = 0x323b;\n t.ideographicsunparen = 0x3230;\n t.ideographicsuperviseparen = 0x323c;\n t.ideographicwaterparen = 0x322c;\n t.ideographicwoodparen = 0x322d;\n t.ideographiczero = 0x3007;\n t.ideographmetalcircle = 0x328e;\n t.ideographmooncircle = 0x328a;\n t.ideographnamecircle = 0x3294;\n t.ideographsuncircle = 0x3290;\n t.ideographwatercircle = 0x328c;\n t.ideographwoodcircle = 0x328d;\n t.ideva = 0x0907;\n t.idieresis = 0x00ef;\n t.idieresisacute = 0x1e2f;\n t.idieresiscyrillic = 0x04e5;\n t.idotbelow = 0x1ecb;\n t.iebrevecyrillic = 0x04d7;\n t.iecyrillic = 0x0435;\n t.ieungacirclekorean = 0x3275;\n t.ieungaparenkorean = 0x3215;\n t.ieungcirclekorean = 0x3267;\n t.ieungkorean = 0x3147;\n t.ieungparenkorean = 0x3207;\n t.igrave = 0x00ec;\n t.igujarati = 0x0a87;\n t.igurmukhi = 0x0a07;\n t.ihiragana = 0x3044;\n t.ihookabove = 0x1ec9;\n t.iibengali = 0x0988;\n t.iicyrillic = 0x0438;\n t.iideva = 0x0908;\n t.iigujarati = 0x0a88;\n t.iigurmukhi = 0x0a08;\n t.iimatragurmukhi = 0x0a40;\n t.iinvertedbreve = 0x020b;\n t.iishortcyrillic = 0x0439;\n t.iivowelsignbengali = 0x09c0;\n t.iivowelsigndeva = 0x0940;\n t.iivowelsigngujarati = 0x0ac0;\n t.ij = 0x0133;\n t.ikatakana = 0x30a4;\n t.ikatakanahalfwidth = 0xff72;\n t.ikorean = 0x3163;\n t.ilde = 0x02dc;\n t.iluyhebrew = 0x05ac;\n t.imacron = 0x012b;\n t.imacroncyrillic = 0x04e3;\n t.imageorapproximatelyequal = 0x2253;\n t.imatragurmukhi = 0x0a3f;\n t.imonospace = 0xff49;\n t.increment = 0x2206;\n t.infinity = 0x221e;\n t.iniarmenian = 0x056b;\n t.integral = 0x222b;\n t.integralbottom = 0x2321;\n t.integralbt = 0x2321;\n t.integralex = 0xf8f5;\n t.integraltop = 0x2320;\n t.integraltp = 0x2320;\n t.intersection = 0x2229;\n t.intisquare = 0x3305;\n t.invbullet = 0x25d8;\n t.invcircle = 0x25d9;\n t.invsmileface = 0x263b;\n t.iocyrillic = 0x0451;\n t.iogonek = 0x012f;\n t.iota = 0x03b9;\n t.iotadieresis = 0x03ca;\n t.iotadieresistonos = 0x0390;\n t.iotalatin = 0x0269;\n t.iotatonos = 0x03af;\n t.iparen = 0x24a4;\n t.irigurmukhi = 0x0a72;\n t.ismallhiragana = 0x3043;\n t.ismallkatakana = 0x30a3;\n t.ismallkatakanahalfwidth = 0xff68;\n t.issharbengali = 0x09fa;\n t.istroke = 0x0268;\n t.isuperior = 0xf6ed;\n t.iterationhiragana = 0x309d;\n t.iterationkatakana = 0x30fd;\n t.itilde = 0x0129;\n t.itildebelow = 0x1e2d;\n t.iubopomofo = 0x3129;\n t.iucyrillic = 0x044e;\n t.ivowelsignbengali = 0x09bf;\n t.ivowelsigndeva = 0x093f;\n t.ivowelsigngujarati = 0x0abf;\n t.izhitsacyrillic = 0x0475;\n t.izhitsadblgravecyrillic = 0x0477;\n t.j = 0x006a;\n t.jaarmenian = 0x0571;\n t.jabengali = 0x099c;\n t.jadeva = 0x091c;\n t.jagujarati = 0x0a9c;\n t.jagurmukhi = 0x0a1c;\n t.jbopomofo = 0x3110;\n t.jcaron = 0x01f0;\n t.jcircle = 0x24d9;\n t.jcircumflex = 0x0135;\n t.jcrossedtail = 0x029d;\n t.jdotlessstroke = 0x025f;\n t.jecyrillic = 0x0458;\n t.jeemarabic = 0x062c;\n t.jeemfinalarabic = 0xfe9e;\n t.jeeminitialarabic = 0xfe9f;\n t.jeemmedialarabic = 0xfea0;\n t.jeharabic = 0x0698;\n t.jehfinalarabic = 0xfb8b;\n t.jhabengali = 0x099d;\n t.jhadeva = 0x091d;\n t.jhagujarati = 0x0a9d;\n t.jhagurmukhi = 0x0a1d;\n t.jheharmenian = 0x057b;\n t.jis = 0x3004;\n t.jmonospace = 0xff4a;\n t.jparen = 0x24a5;\n t.jsuperior = 0x02b2;\n t.k = 0x006b;\n t.kabashkircyrillic = 0x04a1;\n t.kabengali = 0x0995;\n t.kacute = 0x1e31;\n t.kacyrillic = 0x043a;\n t.kadescendercyrillic = 0x049b;\n t.kadeva = 0x0915;\n t.kaf = 0x05db;\n t.kafarabic = 0x0643;\n t.kafdagesh = 0xfb3b;\n t.kafdageshhebrew = 0xfb3b;\n t.kaffinalarabic = 0xfeda;\n t.kafhebrew = 0x05db;\n t.kafinitialarabic = 0xfedb;\n t.kafmedialarabic = 0xfedc;\n t.kafrafehebrew = 0xfb4d;\n t.kagujarati = 0x0a95;\n t.kagurmukhi = 0x0a15;\n t.kahiragana = 0x304b;\n t.kahookcyrillic = 0x04c4;\n t.kakatakana = 0x30ab;\n t.kakatakanahalfwidth = 0xff76;\n t.kappa = 0x03ba;\n t.kappasymbolgreek = 0x03f0;\n t.kapyeounmieumkorean = 0x3171;\n t.kapyeounphieuphkorean = 0x3184;\n t.kapyeounpieupkorean = 0x3178;\n t.kapyeounssangpieupkorean = 0x3179;\n t.karoriisquare = 0x330d;\n t.kashidaautoarabic = 0x0640;\n t.kashidaautonosidebearingarabic = 0x0640;\n t.kasmallkatakana = 0x30f5;\n t.kasquare = 0x3384;\n t.kasraarabic = 0x0650;\n t.kasratanarabic = 0x064d;\n t.kastrokecyrillic = 0x049f;\n t.katahiraprolongmarkhalfwidth = 0xff70;\n t.kaverticalstrokecyrillic = 0x049d;\n t.kbopomofo = 0x310e;\n t.kcalsquare = 0x3389;\n t.kcaron = 0x01e9;\n t.kcedilla = 0x0137;\n t.kcircle = 0x24da;\n t.kcommaaccent = 0x0137;\n t.kdotbelow = 0x1e33;\n t.keharmenian = 0x0584;\n t.kehiragana = 0x3051;\n t.kekatakana = 0x30b1;\n t.kekatakanahalfwidth = 0xff79;\n t.kenarmenian = 0x056f;\n t.kesmallkatakana = 0x30f6;\n t.kgreenlandic = 0x0138;\n t.khabengali = 0x0996;\n t.khacyrillic = 0x0445;\n t.khadeva = 0x0916;\n t.khagujarati = 0x0a96;\n t.khagurmukhi = 0x0a16;\n t.khaharabic = 0x062e;\n t.khahfinalarabic = 0xfea6;\n t.khahinitialarabic = 0xfea7;\n t.khahmedialarabic = 0xfea8;\n t.kheicoptic = 0x03e7;\n t.khhadeva = 0x0959;\n t.khhagurmukhi = 0x0a59;\n t.khieukhacirclekorean = 0x3278;\n t.khieukhaparenkorean = 0x3218;\n t.khieukhcirclekorean = 0x326a;\n t.khieukhkorean = 0x314b;\n t.khieukhparenkorean = 0x320a;\n t.khokhaithai = 0x0e02;\n t.khokhonthai = 0x0e05;\n t.khokhuatthai = 0x0e03;\n t.khokhwaithai = 0x0e04;\n t.khomutthai = 0x0e5b;\n t.khook = 0x0199;\n t.khorakhangthai = 0x0e06;\n t.khzsquare = 0x3391;\n t.kihiragana = 0x304d;\n t.kikatakana = 0x30ad;\n t.kikatakanahalfwidth = 0xff77;\n t.kiroguramusquare = 0x3315;\n t.kiromeetorusquare = 0x3316;\n t.kirosquare = 0x3314;\n t.kiyeokacirclekorean = 0x326e;\n t.kiyeokaparenkorean = 0x320e;\n t.kiyeokcirclekorean = 0x3260;\n t.kiyeokkorean = 0x3131;\n t.kiyeokparenkorean = 0x3200;\n t.kiyeoksioskorean = 0x3133;\n t.kjecyrillic = 0x045c;\n t.klinebelow = 0x1e35;\n t.klsquare = 0x3398;\n t.kmcubedsquare = 0x33a6;\n t.kmonospace = 0xff4b;\n t.kmsquaredsquare = 0x33a2;\n t.kohiragana = 0x3053;\n t.kohmsquare = 0x33c0;\n t.kokaithai = 0x0e01;\n t.kokatakana = 0x30b3;\n t.kokatakanahalfwidth = 0xff7a;\n t.kooposquare = 0x331e;\n t.koppacyrillic = 0x0481;\n t.koreanstandardsymbol = 0x327f;\n t.koroniscmb = 0x0343;\n t.kparen = 0x24a6;\n t.kpasquare = 0x33aa;\n t.ksicyrillic = 0x046f;\n t.ktsquare = 0x33cf;\n t.kturned = 0x029e;\n t.kuhiragana = 0x304f;\n t.kukatakana = 0x30af;\n t.kukatakanahalfwidth = 0xff78;\n t.kvsquare = 0x33b8;\n t.kwsquare = 0x33be;\n t.l = 0x006c;\n t.labengali = 0x09b2;\n t.lacute = 0x013a;\n t.ladeva = 0x0932;\n t.lagujarati = 0x0ab2;\n t.lagurmukhi = 0x0a32;\n t.lakkhangyaothai = 0x0e45;\n t.lamaleffinalarabic = 0xfefc;\n t.lamalefhamzaabovefinalarabic = 0xfef8;\n t.lamalefhamzaaboveisolatedarabic = 0xfef7;\n t.lamalefhamzabelowfinalarabic = 0xfefa;\n t.lamalefhamzabelowisolatedarabic = 0xfef9;\n t.lamalefisolatedarabic = 0xfefb;\n t.lamalefmaddaabovefinalarabic = 0xfef6;\n t.lamalefmaddaaboveisolatedarabic = 0xfef5;\n t.lamarabic = 0x0644;\n t.lambda = 0x03bb;\n t.lambdastroke = 0x019b;\n t.lamed = 0x05dc;\n t.lameddagesh = 0xfb3c;\n t.lameddageshhebrew = 0xfb3c;\n t.lamedhebrew = 0x05dc;\n t.lamfinalarabic = 0xfede;\n t.lamhahinitialarabic = 0xfcca;\n t.laminitialarabic = 0xfedf;\n t.lamjeeminitialarabic = 0xfcc9;\n t.lamkhahinitialarabic = 0xfccb;\n t.lamlamhehisolatedarabic = 0xfdf2;\n t.lammedialarabic = 0xfee0;\n t.lammeemhahinitialarabic = 0xfd88;\n t.lammeeminitialarabic = 0xfccc;\n t.largecircle = 0x25ef;\n t.lbar = 0x019a;\n t.lbelt = 0x026c;\n t.lbopomofo = 0x310c;\n t.lcaron = 0x013e;\n t.lcedilla = 0x013c;\n t.lcircle = 0x24db;\n t.lcircumflexbelow = 0x1e3d;\n t.lcommaaccent = 0x013c;\n t.ldot = 0x0140;\n t.ldotaccent = 0x0140;\n t.ldotbelow = 0x1e37;\n t.ldotbelowmacron = 0x1e39;\n t.leftangleabovecmb = 0x031a;\n t.lefttackbelowcmb = 0x0318;\n t.less = 0x003c;\n t.lessequal = 0x2264;\n t.lessequalorgreater = 0x22da;\n t.lessmonospace = 0xff1c;\n t.lessorequivalent = 0x2272;\n t.lessorgreater = 0x2276;\n t.lessoverequal = 0x2266;\n t.lesssmall = 0xfe64;\n t.lezh = 0x026e;\n t.lfblock = 0x258c;\n t.lhookretroflex = 0x026d;\n t.lira = 0x20a4;\n t.liwnarmenian = 0x056c;\n t.lj = 0x01c9;\n t.ljecyrillic = 0x0459;\n t.ll = 0xf6c0;\n t.lladeva = 0x0933;\n t.llagujarati = 0x0ab3;\n t.llinebelow = 0x1e3b;\n t.llladeva = 0x0934;\n t.llvocalicbengali = 0x09e1;\n t.llvocalicdeva = 0x0961;\n t.llvocalicvowelsignbengali = 0x09e3;\n t.llvocalicvowelsigndeva = 0x0963;\n t.lmiddletilde = 0x026b;\n t.lmonospace = 0xff4c;\n t.lmsquare = 0x33d0;\n t.lochulathai = 0x0e2c;\n t.logicaland = 0x2227;\n t.logicalnot = 0x00ac;\n t.logicalnotreversed = 0x2310;\n t.logicalor = 0x2228;\n t.lolingthai = 0x0e25;\n t.longs = 0x017f;\n t.lowlinecenterline = 0xfe4e;\n t.lowlinecmb = 0x0332;\n t.lowlinedashed = 0xfe4d;\n t.lozenge = 0x25ca;\n t.lparen = 0x24a7;\n t.lslash = 0x0142;\n t.lsquare = 0x2113;\n t.lsuperior = 0xf6ee;\n t.ltshade = 0x2591;\n t.luthai = 0x0e26;\n t.lvocalicbengali = 0x098c;\n t.lvocalicdeva = 0x090c;\n t.lvocalicvowelsignbengali = 0x09e2;\n t.lvocalicvowelsigndeva = 0x0962;\n t.lxsquare = 0x33d3;\n t.m = 0x006d;\n t.mabengali = 0x09ae;\n t.macron = 0x00af;\n t.macronbelowcmb = 0x0331;\n t.macroncmb = 0x0304;\n t.macronlowmod = 0x02cd;\n t.macronmonospace = 0xffe3;\n t.macute = 0x1e3f;\n t.madeva = 0x092e;\n t.magujarati = 0x0aae;\n t.magurmukhi = 0x0a2e;\n t.mahapakhhebrew = 0x05a4;\n t.mahapakhlefthebrew = 0x05a4;\n t.mahiragana = 0x307e;\n t.maichattawalowleftthai = 0xf895;\n t.maichattawalowrightthai = 0xf894;\n t.maichattawathai = 0x0e4b;\n t.maichattawaupperleftthai = 0xf893;\n t.maieklowleftthai = 0xf88c;\n t.maieklowrightthai = 0xf88b;\n t.maiekthai = 0x0e48;\n t.maiekupperleftthai = 0xf88a;\n t.maihanakatleftthai = 0xf884;\n t.maihanakatthai = 0x0e31;\n t.maitaikhuleftthai = 0xf889;\n t.maitaikhuthai = 0x0e47;\n t.maitholowleftthai = 0xf88f;\n t.maitholowrightthai = 0xf88e;\n t.maithothai = 0x0e49;\n t.maithoupperleftthai = 0xf88d;\n t.maitrilowleftthai = 0xf892;\n t.maitrilowrightthai = 0xf891;\n t.maitrithai = 0x0e4a;\n t.maitriupperleftthai = 0xf890;\n t.maiyamokthai = 0x0e46;\n t.makatakana = 0x30de;\n t.makatakanahalfwidth = 0xff8f;\n t.male = 0x2642;\n t.mansyonsquare = 0x3347;\n t.maqafhebrew = 0x05be;\n t.mars = 0x2642;\n t.masoracirclehebrew = 0x05af;\n t.masquare = 0x3383;\n t.mbopomofo = 0x3107;\n t.mbsquare = 0x33d4;\n t.mcircle = 0x24dc;\n t.mcubedsquare = 0x33a5;\n t.mdotaccent = 0x1e41;\n t.mdotbelow = 0x1e43;\n t.meemarabic = 0x0645;\n t.meemfinalarabic = 0xfee2;\n t.meeminitialarabic = 0xfee3;\n t.meemmedialarabic = 0xfee4;\n t.meemmeeminitialarabic = 0xfcd1;\n t.meemmeemisolatedarabic = 0xfc48;\n t.meetorusquare = 0x334d;\n t.mehiragana = 0x3081;\n t.meizierasquare = 0x337e;\n t.mekatakana = 0x30e1;\n t.mekatakanahalfwidth = 0xff92;\n t.mem = 0x05de;\n t.memdagesh = 0xfb3e;\n t.memdageshhebrew = 0xfb3e;\n t.memhebrew = 0x05de;\n t.menarmenian = 0x0574;\n t.merkhahebrew = 0x05a5;\n t.merkhakefulahebrew = 0x05a6;\n t.merkhakefulalefthebrew = 0x05a6;\n t.merkhalefthebrew = 0x05a5;\n t.mhook = 0x0271;\n t.mhzsquare = 0x3392;\n t.middledotkatakanahalfwidth = 0xff65;\n t.middot = 0x00b7;\n t.mieumacirclekorean = 0x3272;\n t.mieumaparenkorean = 0x3212;\n t.mieumcirclekorean = 0x3264;\n t.mieumkorean = 0x3141;\n t.mieumpansioskorean = 0x3170;\n t.mieumparenkorean = 0x3204;\n t.mieumpieupkorean = 0x316e;\n t.mieumsioskorean = 0x316f;\n t.mihiragana = 0x307f;\n t.mikatakana = 0x30df;\n t.mikatakanahalfwidth = 0xff90;\n t.minus = 0x2212;\n t.minusbelowcmb = 0x0320;\n t.minuscircle = 0x2296;\n t.minusmod = 0x02d7;\n t.minusplus = 0x2213;\n t.minute = 0x2032;\n t.miribaarusquare = 0x334a;\n t.mirisquare = 0x3349;\n t.mlonglegturned = 0x0270;\n t.mlsquare = 0x3396;\n t.mmcubedsquare = 0x33a3;\n t.mmonospace = 0xff4d;\n t.mmsquaredsquare = 0x339f;\n t.mohiragana = 0x3082;\n t.mohmsquare = 0x33c1;\n t.mokatakana = 0x30e2;\n t.mokatakanahalfwidth = 0xff93;\n t.molsquare = 0x33d6;\n t.momathai = 0x0e21;\n t.moverssquare = 0x33a7;\n t.moverssquaredsquare = 0x33a8;\n t.mparen = 0x24a8;\n t.mpasquare = 0x33ab;\n t.mssquare = 0x33b3;\n t.msuperior = 0xf6ef;\n t.mturned = 0x026f;\n t.mu = 0x00b5;\n t.mu1 = 0x00b5;\n t.muasquare = 0x3382;\n t.muchgreater = 0x226b;\n t.muchless = 0x226a;\n t.mufsquare = 0x338c;\n t.mugreek = 0x03bc;\n t.mugsquare = 0x338d;\n t.muhiragana = 0x3080;\n t.mukatakana = 0x30e0;\n t.mukatakanahalfwidth = 0xff91;\n t.mulsquare = 0x3395;\n t.multiply = 0x00d7;\n t.mumsquare = 0x339b;\n t.munahhebrew = 0x05a3;\n t.munahlefthebrew = 0x05a3;\n t.musicalnote = 0x266a;\n t.musicalnotedbl = 0x266b;\n t.musicflatsign = 0x266d;\n t.musicsharpsign = 0x266f;\n t.mussquare = 0x33b2;\n t.muvsquare = 0x33b6;\n t.muwsquare = 0x33bc;\n t.mvmegasquare = 0x33b9;\n t.mvsquare = 0x33b7;\n t.mwmegasquare = 0x33bf;\n t.mwsquare = 0x33bd;\n t.n = 0x006e;\n t.nabengali = 0x09a8;\n t.nabla = 0x2207;\n t.nacute = 0x0144;\n t.nadeva = 0x0928;\n t.nagujarati = 0x0aa8;\n t.nagurmukhi = 0x0a28;\n t.nahiragana = 0x306a;\n t.nakatakana = 0x30ca;\n t.nakatakanahalfwidth = 0xff85;\n t.napostrophe = 0x0149;\n t.nasquare = 0x3381;\n t.nbopomofo = 0x310b;\n t.nbspace = 0x00a0;\n t.ncaron = 0x0148;\n t.ncedilla = 0x0146;\n t.ncircle = 0x24dd;\n t.ncircumflexbelow = 0x1e4b;\n t.ncommaaccent = 0x0146;\n t.ndotaccent = 0x1e45;\n t.ndotbelow = 0x1e47;\n t.nehiragana = 0x306d;\n t.nekatakana = 0x30cd;\n t.nekatakanahalfwidth = 0xff88;\n t.newsheqelsign = 0x20aa;\n t.nfsquare = 0x338b;\n t.ngabengali = 0x0999;\n t.ngadeva = 0x0919;\n t.ngagujarati = 0x0a99;\n t.ngagurmukhi = 0x0a19;\n t.ngonguthai = 0x0e07;\n t.nhiragana = 0x3093;\n t.nhookleft = 0x0272;\n t.nhookretroflex = 0x0273;\n t.nieunacirclekorean = 0x326f;\n t.nieunaparenkorean = 0x320f;\n t.nieuncieuckorean = 0x3135;\n t.nieuncirclekorean = 0x3261;\n t.nieunhieuhkorean = 0x3136;\n t.nieunkorean = 0x3134;\n t.nieunpansioskorean = 0x3168;\n t.nieunparenkorean = 0x3201;\n t.nieunsioskorean = 0x3167;\n t.nieuntikeutkorean = 0x3166;\n t.nihiragana = 0x306b;\n t.nikatakana = 0x30cb;\n t.nikatakanahalfwidth = 0xff86;\n t.nikhahitleftthai = 0xf899;\n t.nikhahitthai = 0x0e4d;\n t.nine = 0x0039;\n t.ninearabic = 0x0669;\n t.ninebengali = 0x09ef;\n t.ninecircle = 0x2468;\n t.ninecircleinversesansserif = 0x2792;\n t.ninedeva = 0x096f;\n t.ninegujarati = 0x0aef;\n t.ninegurmukhi = 0x0a6f;\n t.ninehackarabic = 0x0669;\n t.ninehangzhou = 0x3029;\n t.nineideographicparen = 0x3228;\n t.nineinferior = 0x2089;\n t.ninemonospace = 0xff19;\n t.nineoldstyle = 0xf739;\n t.nineparen = 0x247c;\n t.nineperiod = 0x2490;\n t.ninepersian = 0x06f9;\n t.nineroman = 0x2178;\n t.ninesuperior = 0x2079;\n t.nineteencircle = 0x2472;\n t.nineteenparen = 0x2486;\n t.nineteenperiod = 0x249a;\n t.ninethai = 0x0e59;\n t.nj = 0x01cc;\n t.njecyrillic = 0x045a;\n t.nkatakana = 0x30f3;\n t.nkatakanahalfwidth = 0xff9d;\n t.nlegrightlong = 0x019e;\n t.nlinebelow = 0x1e49;\n t.nmonospace = 0xff4e;\n t.nmsquare = 0x339a;\n t.nnabengali = 0x09a3;\n t.nnadeva = 0x0923;\n t.nnagujarati = 0x0aa3;\n t.nnagurmukhi = 0x0a23;\n t.nnnadeva = 0x0929;\n t.nohiragana = 0x306e;\n t.nokatakana = 0x30ce;\n t.nokatakanahalfwidth = 0xff89;\n t.nonbreakingspace = 0x00a0;\n t.nonenthai = 0x0e13;\n t.nonuthai = 0x0e19;\n t.noonarabic = 0x0646;\n t.noonfinalarabic = 0xfee6;\n t.noonghunnaarabic = 0x06ba;\n t.noonghunnafinalarabic = 0xfb9f;\n t.nooninitialarabic = 0xfee7;\n t.noonjeeminitialarabic = 0xfcd2;\n t.noonjeemisolatedarabic = 0xfc4b;\n t.noonmedialarabic = 0xfee8;\n t.noonmeeminitialarabic = 0xfcd5;\n t.noonmeemisolatedarabic = 0xfc4e;\n t.noonnoonfinalarabic = 0xfc8d;\n t.notcontains = 0x220c;\n t.notelement = 0x2209;\n t.notelementof = 0x2209;\n t.notequal = 0x2260;\n t.notgreater = 0x226f;\n t.notgreaternorequal = 0x2271;\n t.notgreaternorless = 0x2279;\n t.notidentical = 0x2262;\n t.notless = 0x226e;\n t.notlessnorequal = 0x2270;\n t.notparallel = 0x2226;\n t.notprecedes = 0x2280;\n t.notsubset = 0x2284;\n t.notsucceeds = 0x2281;\n t.notsuperset = 0x2285;\n t.nowarmenian = 0x0576;\n t.nparen = 0x24a9;\n t.nssquare = 0x33b1;\n t.nsuperior = 0x207f;\n t.ntilde = 0x00f1;\n t.nu = 0x03bd;\n t.nuhiragana = 0x306c;\n t.nukatakana = 0x30cc;\n t.nukatakanahalfwidth = 0xff87;\n t.nuktabengali = 0x09bc;\n t.nuktadeva = 0x093c;\n t.nuktagujarati = 0x0abc;\n t.nuktagurmukhi = 0x0a3c;\n t.numbersign = 0x0023;\n t.numbersignmonospace = 0xff03;\n t.numbersignsmall = 0xfe5f;\n t.numeralsigngreek = 0x0374;\n t.numeralsignlowergreek = 0x0375;\n t.numero = 0x2116;\n t.nun = 0x05e0;\n t.nundagesh = 0xfb40;\n t.nundageshhebrew = 0xfb40;\n t.nunhebrew = 0x05e0;\n t.nvsquare = 0x33b5;\n t.nwsquare = 0x33bb;\n t.nyabengali = 0x099e;\n t.nyadeva = 0x091e;\n t.nyagujarati = 0x0a9e;\n t.nyagurmukhi = 0x0a1e;\n t.o = 0x006f;\n t.oacute = 0x00f3;\n t.oangthai = 0x0e2d;\n t.obarred = 0x0275;\n t.obarredcyrillic = 0x04e9;\n t.obarreddieresiscyrillic = 0x04eb;\n t.obengali = 0x0993;\n t.obopomofo = 0x311b;\n t.obreve = 0x014f;\n t.ocandradeva = 0x0911;\n t.ocandragujarati = 0x0a91;\n t.ocandravowelsigndeva = 0x0949;\n t.ocandravowelsigngujarati = 0x0ac9;\n t.ocaron = 0x01d2;\n t.ocircle = 0x24de;\n t.ocircumflex = 0x00f4;\n t.ocircumflexacute = 0x1ed1;\n t.ocircumflexdotbelow = 0x1ed9;\n t.ocircumflexgrave = 0x1ed3;\n t.ocircumflexhookabove = 0x1ed5;\n t.ocircumflextilde = 0x1ed7;\n t.ocyrillic = 0x043e;\n t.odblacute = 0x0151;\n t.odblgrave = 0x020d;\n t.odeva = 0x0913;\n t.odieresis = 0x00f6;\n t.odieresiscyrillic = 0x04e7;\n t.odotbelow = 0x1ecd;\n t.oe = 0x0153;\n t.oekorean = 0x315a;\n t.ogonek = 0x02db;\n t.ogonekcmb = 0x0328;\n t.ograve = 0x00f2;\n t.ogujarati = 0x0a93;\n t.oharmenian = 0x0585;\n t.ohiragana = 0x304a;\n t.ohookabove = 0x1ecf;\n t.ohorn = 0x01a1;\n t.ohornacute = 0x1edb;\n t.ohorndotbelow = 0x1ee3;\n t.ohorngrave = 0x1edd;\n t.ohornhookabove = 0x1edf;\n t.ohorntilde = 0x1ee1;\n t.ohungarumlaut = 0x0151;\n t.oi = 0x01a3;\n t.oinvertedbreve = 0x020f;\n t.okatakana = 0x30aa;\n t.okatakanahalfwidth = 0xff75;\n t.okorean = 0x3157;\n t.olehebrew = 0x05ab;\n t.omacron = 0x014d;\n t.omacronacute = 0x1e53;\n t.omacrongrave = 0x1e51;\n t.omdeva = 0x0950;\n t.omega = 0x03c9;\n t.omega1 = 0x03d6;\n t.omegacyrillic = 0x0461;\n t.omegalatinclosed = 0x0277;\n t.omegaroundcyrillic = 0x047b;\n t.omegatitlocyrillic = 0x047d;\n t.omegatonos = 0x03ce;\n t.omgujarati = 0x0ad0;\n t.omicron = 0x03bf;\n t.omicrontonos = 0x03cc;\n t.omonospace = 0xff4f;\n t.one = 0x0031;\n t.onearabic = 0x0661;\n t.onebengali = 0x09e7;\n t.onecircle = 0x2460;\n t.onecircleinversesansserif = 0x278a;\n t.onedeva = 0x0967;\n t.onedotenleader = 0x2024;\n t.oneeighth = 0x215b;\n t.onefitted = 0xf6dc;\n t.onegujarati = 0x0ae7;\n t.onegurmukhi = 0x0a67;\n t.onehackarabic = 0x0661;\n t.onehalf = 0x00bd;\n t.onehangzhou = 0x3021;\n t.oneideographicparen = 0x3220;\n t.oneinferior = 0x2081;\n t.onemonospace = 0xff11;\n t.onenumeratorbengali = 0x09f4;\n t.oneoldstyle = 0xf731;\n t.oneparen = 0x2474;\n t.oneperiod = 0x2488;\n t.onepersian = 0x06f1;\n t.onequarter = 0x00bc;\n t.oneroman = 0x2170;\n t.onesuperior = 0x00b9;\n t.onethai = 0x0e51;\n t.onethird = 0x2153;\n t.oogonek = 0x01eb;\n t.oogonekmacron = 0x01ed;\n t.oogurmukhi = 0x0a13;\n t.oomatragurmukhi = 0x0a4b;\n t.oopen = 0x0254;\n t.oparen = 0x24aa;\n t.openbullet = 0x25e6;\n t.option = 0x2325;\n t.ordfeminine = 0x00aa;\n t.ordmasculine = 0x00ba;\n t.orthogonal = 0x221f;\n t.oshortdeva = 0x0912;\n t.oshortvowelsigndeva = 0x094a;\n t.oslash = 0x00f8;\n t.oslashacute = 0x01ff;\n t.osmallhiragana = 0x3049;\n t.osmallkatakana = 0x30a9;\n t.osmallkatakanahalfwidth = 0xff6b;\n t.ostrokeacute = 0x01ff;\n t.osuperior = 0xf6f0;\n t.otcyrillic = 0x047f;\n t.otilde = 0x00f5;\n t.otildeacute = 0x1e4d;\n t.otildedieresis = 0x1e4f;\n t.oubopomofo = 0x3121;\n t.overline = 0x203e;\n t.overlinecenterline = 0xfe4a;\n t.overlinecmb = 0x0305;\n t.overlinedashed = 0xfe49;\n t.overlinedblwavy = 0xfe4c;\n t.overlinewavy = 0xfe4b;\n t.overscore = 0x00af;\n t.ovowelsignbengali = 0x09cb;\n t.ovowelsigndeva = 0x094b;\n t.ovowelsigngujarati = 0x0acb;\n t.p = 0x0070;\n t.paampssquare = 0x3380;\n t.paasentosquare = 0x332b;\n t.pabengali = 0x09aa;\n t.pacute = 0x1e55;\n t.padeva = 0x092a;\n t.pagedown = 0x21df;\n t.pageup = 0x21de;\n t.pagujarati = 0x0aaa;\n t.pagurmukhi = 0x0a2a;\n t.pahiragana = 0x3071;\n t.paiyannoithai = 0x0e2f;\n t.pakatakana = 0x30d1;\n t.palatalizationcyrilliccmb = 0x0484;\n t.palochkacyrillic = 0x04c0;\n t.pansioskorean = 0x317f;\n t.paragraph = 0x00b6;\n t.parallel = 0x2225;\n t.parenleft = 0x0028;\n t.parenleftaltonearabic = 0xfd3e;\n t.parenleftbt = 0xf8ed;\n t.parenleftex = 0xf8ec;\n t.parenleftinferior = 0x208d;\n t.parenleftmonospace = 0xff08;\n t.parenleftsmall = 0xfe59;\n t.parenleftsuperior = 0x207d;\n t.parenlefttp = 0xf8eb;\n t.parenleftvertical = 0xfe35;\n t.parenright = 0x0029;\n t.parenrightaltonearabic = 0xfd3f;\n t.parenrightbt = 0xf8f8;\n t.parenrightex = 0xf8f7;\n t.parenrightinferior = 0x208e;\n t.parenrightmonospace = 0xff09;\n t.parenrightsmall = 0xfe5a;\n t.parenrightsuperior = 0x207e;\n t.parenrighttp = 0xf8f6;\n t.parenrightvertical = 0xfe36;\n t.partialdiff = 0x2202;\n t.paseqhebrew = 0x05c0;\n t.pashtahebrew = 0x0599;\n t.pasquare = 0x33a9;\n t.patah = 0x05b7;\n t.patah11 = 0x05b7;\n t.patah1d = 0x05b7;\n t.patah2a = 0x05b7;\n t.patahhebrew = 0x05b7;\n t.patahnarrowhebrew = 0x05b7;\n t.patahquarterhebrew = 0x05b7;\n t.patahwidehebrew = 0x05b7;\n t.pazerhebrew = 0x05a1;\n t.pbopomofo = 0x3106;\n t.pcircle = 0x24df;\n t.pdotaccent = 0x1e57;\n t.pe = 0x05e4;\n t.pecyrillic = 0x043f;\n t.pedagesh = 0xfb44;\n t.pedageshhebrew = 0xfb44;\n t.peezisquare = 0x333b;\n t.pefinaldageshhebrew = 0xfb43;\n t.peharabic = 0x067e;\n t.peharmenian = 0x057a;\n t.pehebrew = 0x05e4;\n t.pehfinalarabic = 0xfb57;\n t.pehinitialarabic = 0xfb58;\n t.pehiragana = 0x307a;\n t.pehmedialarabic = 0xfb59;\n t.pekatakana = 0x30da;\n t.pemiddlehookcyrillic = 0x04a7;\n t.perafehebrew = 0xfb4e;\n t.percent = 0x0025;\n t.percentarabic = 0x066a;\n t.percentmonospace = 0xff05;\n t.percentsmall = 0xfe6a;\n t.period = 0x002e;\n t.periodarmenian = 0x0589;\n t.periodcentered = 0x00b7;\n t.periodhalfwidth = 0xff61;\n t.periodinferior = 0xf6e7;\n t.periodmonospace = 0xff0e;\n t.periodsmall = 0xfe52;\n t.periodsuperior = 0xf6e8;\n t.perispomenigreekcmb = 0x0342;\n t.perpendicular = 0x22a5;\n t.perthousand = 0x2030;\n t.peseta = 0x20a7;\n t.pfsquare = 0x338a;\n t.phabengali = 0x09ab;\n t.phadeva = 0x092b;\n t.phagujarati = 0x0aab;\n t.phagurmukhi = 0x0a2b;\n t.phi = 0x03c6;\n t.phi1 = 0x03d5;\n t.phieuphacirclekorean = 0x327a;\n t.phieuphaparenkorean = 0x321a;\n t.phieuphcirclekorean = 0x326c;\n t.phieuphkorean = 0x314d;\n t.phieuphparenkorean = 0x320c;\n t.philatin = 0x0278;\n t.phinthuthai = 0x0e3a;\n t.phisymbolgreek = 0x03d5;\n t.phook = 0x01a5;\n t.phophanthai = 0x0e1e;\n t.phophungthai = 0x0e1c;\n t.phosamphaothai = 0x0e20;\n t.pi = 0x03c0;\n t.pieupacirclekorean = 0x3273;\n t.pieupaparenkorean = 0x3213;\n t.pieupcieuckorean = 0x3176;\n t.pieupcirclekorean = 0x3265;\n t.pieupkiyeokkorean = 0x3172;\n t.pieupkorean = 0x3142;\n t.pieupparenkorean = 0x3205;\n t.pieupsioskiyeokkorean = 0x3174;\n t.pieupsioskorean = 0x3144;\n t.pieupsiostikeutkorean = 0x3175;\n t.pieupthieuthkorean = 0x3177;\n t.pieuptikeutkorean = 0x3173;\n t.pihiragana = 0x3074;\n t.pikatakana = 0x30d4;\n t.pisymbolgreek = 0x03d6;\n t.piwrarmenian = 0x0583;\n t.plus = 0x002b;\n t.plusbelowcmb = 0x031f;\n t.pluscircle = 0x2295;\n t.plusminus = 0x00b1;\n t.plusmod = 0x02d6;\n t.plusmonospace = 0xff0b;\n t.plussmall = 0xfe62;\n t.plussuperior = 0x207a;\n t.pmonospace = 0xff50;\n t.pmsquare = 0x33d8;\n t.pohiragana = 0x307d;\n t.pointingindexdownwhite = 0x261f;\n t.pointingindexleftwhite = 0x261c;\n t.pointingindexrightwhite = 0x261e;\n t.pointingindexupwhite = 0x261d;\n t.pokatakana = 0x30dd;\n t.poplathai = 0x0e1b;\n t.postalmark = 0x3012;\n t.postalmarkface = 0x3020;\n t.pparen = 0x24ab;\n t.precedes = 0x227a;\n t.prescription = 0x211e;\n t.primemod = 0x02b9;\n t.primereversed = 0x2035;\n t.product = 0x220f;\n t.projective = 0x2305;\n t.prolongedkana = 0x30fc;\n t.propellor = 0x2318;\n t.propersubset = 0x2282;\n t.propersuperset = 0x2283;\n t.proportion = 0x2237;\n t.proportional = 0x221d;\n t.psi = 0x03c8;\n t.psicyrillic = 0x0471;\n t.psilipneumatacyrilliccmb = 0x0486;\n t.pssquare = 0x33b0;\n t.puhiragana = 0x3077;\n t.pukatakana = 0x30d7;\n t.pvsquare = 0x33b4;\n t.pwsquare = 0x33ba;\n t.q = 0x0071;\n t.qadeva = 0x0958;\n t.qadmahebrew = 0x05a8;\n t.qafarabic = 0x0642;\n t.qaffinalarabic = 0xfed6;\n t.qafinitialarabic = 0xfed7;\n t.qafmedialarabic = 0xfed8;\n t.qamats = 0x05b8;\n t.qamats10 = 0x05b8;\n t.qamats1a = 0x05b8;\n t.qamats1c = 0x05b8;\n t.qamats27 = 0x05b8;\n t.qamats29 = 0x05b8;\n t.qamats33 = 0x05b8;\n t.qamatsde = 0x05b8;\n t.qamatshebrew = 0x05b8;\n t.qamatsnarrowhebrew = 0x05b8;\n t.qamatsqatanhebrew = 0x05b8;\n t.qamatsqatannarrowhebrew = 0x05b8;\n t.qamatsqatanquarterhebrew = 0x05b8;\n t.qamatsqatanwidehebrew = 0x05b8;\n t.qamatsquarterhebrew = 0x05b8;\n t.qamatswidehebrew = 0x05b8;\n t.qarneyparahebrew = 0x059f;\n t.qbopomofo = 0x3111;\n t.qcircle = 0x24e0;\n t.qhook = 0x02a0;\n t.qmonospace = 0xff51;\n t.qof = 0x05e7;\n t.qofdagesh = 0xfb47;\n t.qofdageshhebrew = 0xfb47;\n t.qofhebrew = 0x05e7;\n t.qparen = 0x24ac;\n t.quarternote = 0x2669;\n t.qubuts = 0x05bb;\n t.qubuts18 = 0x05bb;\n t.qubuts25 = 0x05bb;\n t.qubuts31 = 0x05bb;\n t.qubutshebrew = 0x05bb;\n t.qubutsnarrowhebrew = 0x05bb;\n t.qubutsquarterhebrew = 0x05bb;\n t.qubutswidehebrew = 0x05bb;\n t.question = 0x003f;\n t.questionarabic = 0x061f;\n t.questionarmenian = 0x055e;\n t.questiondown = 0x00bf;\n t.questiondownsmall = 0xf7bf;\n t.questiongreek = 0x037e;\n t.questionmonospace = 0xff1f;\n t.questionsmall = 0xf73f;\n t.quotedbl = 0x0022;\n t.quotedblbase = 0x201e;\n t.quotedblleft = 0x201c;\n t.quotedblmonospace = 0xff02;\n t.quotedblprime = 0x301e;\n t.quotedblprimereversed = 0x301d;\n t.quotedblright = 0x201d;\n t.quoteleft = 0x2018;\n t.quoteleftreversed = 0x201b;\n t.quotereversed = 0x201b;\n t.quoteright = 0x2019;\n t.quoterightn = 0x0149;\n t.quotesinglbase = 0x201a;\n t.quotesingle = 0x0027;\n t.quotesinglemonospace = 0xff07;\n t.r = 0x0072;\n t.raarmenian = 0x057c;\n t.rabengali = 0x09b0;\n t.racute = 0x0155;\n t.radeva = 0x0930;\n t.radical = 0x221a;\n t.radicalex = 0xf8e5;\n t.radoverssquare = 0x33ae;\n t.radoverssquaredsquare = 0x33af;\n t.radsquare = 0x33ad;\n t.rafe = 0x05bf;\n t.rafehebrew = 0x05bf;\n t.ragujarati = 0x0ab0;\n t.ragurmukhi = 0x0a30;\n t.rahiragana = 0x3089;\n t.rakatakana = 0x30e9;\n t.rakatakanahalfwidth = 0xff97;\n t.ralowerdiagonalbengali = 0x09f1;\n t.ramiddlediagonalbengali = 0x09f0;\n t.ramshorn = 0x0264;\n t.ratio = 0x2236;\n t.rbopomofo = 0x3116;\n t.rcaron = 0x0159;\n t.rcedilla = 0x0157;\n t.rcircle = 0x24e1;\n t.rcommaaccent = 0x0157;\n t.rdblgrave = 0x0211;\n t.rdotaccent = 0x1e59;\n t.rdotbelow = 0x1e5b;\n t.rdotbelowmacron = 0x1e5d;\n t.referencemark = 0x203b;\n t.reflexsubset = 0x2286;\n t.reflexsuperset = 0x2287;\n t.registered = 0x00ae;\n t.registersans = 0xf8e8;\n t.registerserif = 0xf6da;\n t.reharabic = 0x0631;\n t.reharmenian = 0x0580;\n t.rehfinalarabic = 0xfeae;\n t.rehiragana = 0x308c;\n t.rekatakana = 0x30ec;\n t.rekatakanahalfwidth = 0xff9a;\n t.resh = 0x05e8;\n t.reshdageshhebrew = 0xfb48;\n t.reshhebrew = 0x05e8;\n t.reversedtilde = 0x223d;\n t.reviahebrew = 0x0597;\n t.reviamugrashhebrew = 0x0597;\n t.revlogicalnot = 0x2310;\n t.rfishhook = 0x027e;\n t.rfishhookreversed = 0x027f;\n t.rhabengali = 0x09dd;\n t.rhadeva = 0x095d;\n t.rho = 0x03c1;\n t.rhook = 0x027d;\n t.rhookturned = 0x027b;\n t.rhookturnedsuperior = 0x02b5;\n t.rhosymbolgreek = 0x03f1;\n t.rhotichookmod = 0x02de;\n t.rieulacirclekorean = 0x3271;\n t.rieulaparenkorean = 0x3211;\n t.rieulcirclekorean = 0x3263;\n t.rieulhieuhkorean = 0x3140;\n t.rieulkiyeokkorean = 0x313a;\n t.rieulkiyeoksioskorean = 0x3169;\n t.rieulkorean = 0x3139;\n t.rieulmieumkorean = 0x313b;\n t.rieulpansioskorean = 0x316c;\n t.rieulparenkorean = 0x3203;\n t.rieulphieuphkorean = 0x313f;\n t.rieulpieupkorean = 0x313c;\n t.rieulpieupsioskorean = 0x316b;\n t.rieulsioskorean = 0x313d;\n t.rieulthieuthkorean = 0x313e;\n t.rieultikeutkorean = 0x316a;\n t.rieulyeorinhieuhkorean = 0x316d;\n t.rightangle = 0x221f;\n t.righttackbelowcmb = 0x0319;\n t.righttriangle = 0x22bf;\n t.rihiragana = 0x308a;\n t.rikatakana = 0x30ea;\n t.rikatakanahalfwidth = 0xff98;\n t.ring = 0x02da;\n t.ringbelowcmb = 0x0325;\n t.ringcmb = 0x030a;\n t.ringhalfleft = 0x02bf;\n t.ringhalfleftarmenian = 0x0559;\n t.ringhalfleftbelowcmb = 0x031c;\n t.ringhalfleftcentered = 0x02d3;\n t.ringhalfright = 0x02be;\n t.ringhalfrightbelowcmb = 0x0339;\n t.ringhalfrightcentered = 0x02d2;\n t.rinvertedbreve = 0x0213;\n t.rittorusquare = 0x3351;\n t.rlinebelow = 0x1e5f;\n t.rlongleg = 0x027c;\n t.rlonglegturned = 0x027a;\n t.rmonospace = 0xff52;\n t.rohiragana = 0x308d;\n t.rokatakana = 0x30ed;\n t.rokatakanahalfwidth = 0xff9b;\n t.roruathai = 0x0e23;\n t.rparen = 0x24ad;\n t.rrabengali = 0x09dc;\n t.rradeva = 0x0931;\n t.rragurmukhi = 0x0a5c;\n t.rreharabic = 0x0691;\n t.rrehfinalarabic = 0xfb8d;\n t.rrvocalicbengali = 0x09e0;\n t.rrvocalicdeva = 0x0960;\n t.rrvocalicgujarati = 0x0ae0;\n t.rrvocalicvowelsignbengali = 0x09c4;\n t.rrvocalicvowelsigndeva = 0x0944;\n t.rrvocalicvowelsigngujarati = 0x0ac4;\n t.rsuperior = 0xf6f1;\n t.rtblock = 0x2590;\n t.rturned = 0x0279;\n t.rturnedsuperior = 0x02b4;\n t.ruhiragana = 0x308b;\n t.rukatakana = 0x30eb;\n t.rukatakanahalfwidth = 0xff99;\n t.rupeemarkbengali = 0x09f2;\n t.rupeesignbengali = 0x09f3;\n t.rupiah = 0xf6dd;\n t.ruthai = 0x0e24;\n t.rvocalicbengali = 0x098b;\n t.rvocalicdeva = 0x090b;\n t.rvocalicgujarati = 0x0a8b;\n t.rvocalicvowelsignbengali = 0x09c3;\n t.rvocalicvowelsigndeva = 0x0943;\n t.rvocalicvowelsigngujarati = 0x0ac3;\n t.s = 0x0073;\n t.sabengali = 0x09b8;\n t.sacute = 0x015b;\n t.sacutedotaccent = 0x1e65;\n t.sadarabic = 0x0635;\n t.sadeva = 0x0938;\n t.sadfinalarabic = 0xfeba;\n t.sadinitialarabic = 0xfebb;\n t.sadmedialarabic = 0xfebc;\n t.sagujarati = 0x0ab8;\n t.sagurmukhi = 0x0a38;\n t.sahiragana = 0x3055;\n t.sakatakana = 0x30b5;\n t.sakatakanahalfwidth = 0xff7b;\n t.sallallahoualayhewasallamarabic = 0xfdfa;\n t.samekh = 0x05e1;\n t.samekhdagesh = 0xfb41;\n t.samekhdageshhebrew = 0xfb41;\n t.samekhhebrew = 0x05e1;\n t.saraaathai = 0x0e32;\n t.saraaethai = 0x0e41;\n t.saraaimaimalaithai = 0x0e44;\n t.saraaimaimuanthai = 0x0e43;\n t.saraamthai = 0x0e33;\n t.saraathai = 0x0e30;\n t.saraethai = 0x0e40;\n t.saraiileftthai = 0xf886;\n t.saraiithai = 0x0e35;\n t.saraileftthai = 0xf885;\n t.saraithai = 0x0e34;\n t.saraothai = 0x0e42;\n t.saraueeleftthai = 0xf888;\n t.saraueethai = 0x0e37;\n t.saraueleftthai = 0xf887;\n t.sarauethai = 0x0e36;\n t.sarauthai = 0x0e38;\n t.sarauuthai = 0x0e39;\n t.sbopomofo = 0x3119;\n t.scaron = 0x0161;\n t.scarondotaccent = 0x1e67;\n t.scedilla = 0x015f;\n t.schwa = 0x0259;\n t.schwacyrillic = 0x04d9;\n t.schwadieresiscyrillic = 0x04db;\n t.schwahook = 0x025a;\n t.scircle = 0x24e2;\n t.scircumflex = 0x015d;\n t.scommaaccent = 0x0219;\n t.sdotaccent = 0x1e61;\n t.sdotbelow = 0x1e63;\n t.sdotbelowdotaccent = 0x1e69;\n t.seagullbelowcmb = 0x033c;\n t.second = 0x2033;\n t.secondtonechinese = 0x02ca;\n t.section = 0x00a7;\n t.seenarabic = 0x0633;\n t.seenfinalarabic = 0xfeb2;\n t.seeninitialarabic = 0xfeb3;\n t.seenmedialarabic = 0xfeb4;\n t.segol = 0x05b6;\n t.segol13 = 0x05b6;\n t.segol1f = 0x05b6;\n t.segol2c = 0x05b6;\n t.segolhebrew = 0x05b6;\n t.segolnarrowhebrew = 0x05b6;\n t.segolquarterhebrew = 0x05b6;\n t.segoltahebrew = 0x0592;\n t.segolwidehebrew = 0x05b6;\n t.seharmenian = 0x057d;\n t.sehiragana = 0x305b;\n t.sekatakana = 0x30bb;\n t.sekatakanahalfwidth = 0xff7e;\n t.semicolon = 0x003b;\n t.semicolonarabic = 0x061b;\n t.semicolonmonospace = 0xff1b;\n t.semicolonsmall = 0xfe54;\n t.semivoicedmarkkana = 0x309c;\n t.semivoicedmarkkanahalfwidth = 0xff9f;\n t.sentisquare = 0x3322;\n t.sentosquare = 0x3323;\n t.seven = 0x0037;\n t.sevenarabic = 0x0667;\n t.sevenbengali = 0x09ed;\n t.sevencircle = 0x2466;\n t.sevencircleinversesansserif = 0x2790;\n t.sevendeva = 0x096d;\n t.seveneighths = 0x215e;\n t.sevengujarati = 0x0aed;\n t.sevengurmukhi = 0x0a6d;\n t.sevenhackarabic = 0x0667;\n t.sevenhangzhou = 0x3027;\n t.sevenideographicparen = 0x3226;\n t.seveninferior = 0x2087;\n t.sevenmonospace = 0xff17;\n t.sevenoldstyle = 0xf737;\n t.sevenparen = 0x247a;\n t.sevenperiod = 0x248e;\n t.sevenpersian = 0x06f7;\n t.sevenroman = 0x2176;\n t.sevensuperior = 0x2077;\n t.seventeencircle = 0x2470;\n t.seventeenparen = 0x2484;\n t.seventeenperiod = 0x2498;\n t.seventhai = 0x0e57;\n t.sfthyphen = 0x00ad;\n t.shaarmenian = 0x0577;\n t.shabengali = 0x09b6;\n t.shacyrillic = 0x0448;\n t.shaddaarabic = 0x0651;\n t.shaddadammaarabic = 0xfc61;\n t.shaddadammatanarabic = 0xfc5e;\n t.shaddafathaarabic = 0xfc60;\n t.shaddakasraarabic = 0xfc62;\n t.shaddakasratanarabic = 0xfc5f;\n t.shade = 0x2592;\n t.shadedark = 0x2593;\n t.shadelight = 0x2591;\n t.shademedium = 0x2592;\n t.shadeva = 0x0936;\n t.shagujarati = 0x0ab6;\n t.shagurmukhi = 0x0a36;\n t.shalshelethebrew = 0x0593;\n t.shbopomofo = 0x3115;\n t.shchacyrillic = 0x0449;\n t.sheenarabic = 0x0634;\n t.sheenfinalarabic = 0xfeb6;\n t.sheeninitialarabic = 0xfeb7;\n t.sheenmedialarabic = 0xfeb8;\n t.sheicoptic = 0x03e3;\n t.sheqel = 0x20aa;\n t.sheqelhebrew = 0x20aa;\n t.sheva = 0x05b0;\n t.sheva115 = 0x05b0;\n t.sheva15 = 0x05b0;\n t.sheva22 = 0x05b0;\n t.sheva2e = 0x05b0;\n t.shevahebrew = 0x05b0;\n t.shevanarrowhebrew = 0x05b0;\n t.shevaquarterhebrew = 0x05b0;\n t.shevawidehebrew = 0x05b0;\n t.shhacyrillic = 0x04bb;\n t.shimacoptic = 0x03ed;\n t.shin = 0x05e9;\n t.shindagesh = 0xfb49;\n t.shindageshhebrew = 0xfb49;\n t.shindageshshindot = 0xfb2c;\n t.shindageshshindothebrew = 0xfb2c;\n t.shindageshsindot = 0xfb2d;\n t.shindageshsindothebrew = 0xfb2d;\n t.shindothebrew = 0x05c1;\n t.shinhebrew = 0x05e9;\n t.shinshindot = 0xfb2a;\n t.shinshindothebrew = 0xfb2a;\n t.shinsindot = 0xfb2b;\n t.shinsindothebrew = 0xfb2b;\n t.shook = 0x0282;\n t.sigma = 0x03c3;\n t.sigma1 = 0x03c2;\n t.sigmafinal = 0x03c2;\n t.sigmalunatesymbolgreek = 0x03f2;\n t.sihiragana = 0x3057;\n t.sikatakana = 0x30b7;\n t.sikatakanahalfwidth = 0xff7c;\n t.siluqhebrew = 0x05bd;\n t.siluqlefthebrew = 0x05bd;\n t.similar = 0x223c;\n t.sindothebrew = 0x05c2;\n t.siosacirclekorean = 0x3274;\n t.siosaparenkorean = 0x3214;\n t.sioscieuckorean = 0x317e;\n t.sioscirclekorean = 0x3266;\n t.sioskiyeokkorean = 0x317a;\n t.sioskorean = 0x3145;\n t.siosnieunkorean = 0x317b;\n t.siosparenkorean = 0x3206;\n t.siospieupkorean = 0x317d;\n t.siostikeutkorean = 0x317c;\n t.six = 0x0036;\n t.sixarabic = 0x0666;\n t.sixbengali = 0x09ec;\n t.sixcircle = 0x2465;\n t.sixcircleinversesansserif = 0x278f;\n t.sixdeva = 0x096c;\n t.sixgujarati = 0x0aec;\n t.sixgurmukhi = 0x0a6c;\n t.sixhackarabic = 0x0666;\n t.sixhangzhou = 0x3026;\n t.sixideographicparen = 0x3225;\n t.sixinferior = 0x2086;\n t.sixmonospace = 0xff16;\n t.sixoldstyle = 0xf736;\n t.sixparen = 0x2479;\n t.sixperiod = 0x248d;\n t.sixpersian = 0x06f6;\n t.sixroman = 0x2175;\n t.sixsuperior = 0x2076;\n t.sixteencircle = 0x246f;\n t.sixteencurrencydenominatorbengali = 0x09f9;\n t.sixteenparen = 0x2483;\n t.sixteenperiod = 0x2497;\n t.sixthai = 0x0e56;\n t.slash = 0x002f;\n t.slashmonospace = 0xff0f;\n t.slong = 0x017f;\n t.slongdotaccent = 0x1e9b;\n t.smileface = 0x263a;\n t.smonospace = 0xff53;\n t.sofpasuqhebrew = 0x05c3;\n t.softhyphen = 0x00ad;\n t.softsigncyrillic = 0x044c;\n t.sohiragana = 0x305d;\n t.sokatakana = 0x30bd;\n t.sokatakanahalfwidth = 0xff7f;\n t.soliduslongoverlaycmb = 0x0338;\n t.solidusshortoverlaycmb = 0x0337;\n t.sorusithai = 0x0e29;\n t.sosalathai = 0x0e28;\n t.sosothai = 0x0e0b;\n t.sosuathai = 0x0e2a;\n t.space = 0x0020;\n t.spacehackarabic = 0x0020;\n t.spade = 0x2660;\n t.spadesuitblack = 0x2660;\n t.spadesuitwhite = 0x2664;\n t.sparen = 0x24ae;\n t.squarebelowcmb = 0x033b;\n t.squarecc = 0x33c4;\n t.squarecm = 0x339d;\n t.squarediagonalcrosshatchfill = 0x25a9;\n t.squarehorizontalfill = 0x25a4;\n t.squarekg = 0x338f;\n t.squarekm = 0x339e;\n t.squarekmcapital = 0x33ce;\n t.squareln = 0x33d1;\n t.squarelog = 0x33d2;\n t.squaremg = 0x338e;\n t.squaremil = 0x33d5;\n t.squaremm = 0x339c;\n t.squaremsquared = 0x33a1;\n t.squareorthogonalcrosshatchfill = 0x25a6;\n t.squareupperlefttolowerrightfill = 0x25a7;\n t.squareupperrighttolowerleftfill = 0x25a8;\n t.squareverticalfill = 0x25a5;\n t.squarewhitewithsmallblack = 0x25a3;\n t.srsquare = 0x33db;\n t.ssabengali = 0x09b7;\n t.ssadeva = 0x0937;\n t.ssagujarati = 0x0ab7;\n t.ssangcieuckorean = 0x3149;\n t.ssanghieuhkorean = 0x3185;\n t.ssangieungkorean = 0x3180;\n t.ssangkiyeokkorean = 0x3132;\n t.ssangnieunkorean = 0x3165;\n t.ssangpieupkorean = 0x3143;\n t.ssangsioskorean = 0x3146;\n t.ssangtikeutkorean = 0x3138;\n t.ssuperior = 0xf6f2;\n t.sterling = 0x00a3;\n t.sterlingmonospace = 0xffe1;\n t.strokelongoverlaycmb = 0x0336;\n t.strokeshortoverlaycmb = 0x0335;\n t.subset = 0x2282;\n t.subsetnotequal = 0x228a;\n t.subsetorequal = 0x2286;\n t.succeeds = 0x227b;\n t.suchthat = 0x220b;\n t.suhiragana = 0x3059;\n t.sukatakana = 0x30b9;\n t.sukatakanahalfwidth = 0xff7d;\n t.sukunarabic = 0x0652;\n t.summation = 0x2211;\n t.sun = 0x263c;\n t.superset = 0x2283;\n t.supersetnotequal = 0x228b;\n t.supersetorequal = 0x2287;\n t.svsquare = 0x33dc;\n t.syouwaerasquare = 0x337c;\n t.t = 0x0074;\n t.tabengali = 0x09a4;\n t.tackdown = 0x22a4;\n t.tackleft = 0x22a3;\n t.tadeva = 0x0924;\n t.tagujarati = 0x0aa4;\n t.tagurmukhi = 0x0a24;\n t.taharabic = 0x0637;\n t.tahfinalarabic = 0xfec2;\n t.tahinitialarabic = 0xfec3;\n t.tahiragana = 0x305f;\n t.tahmedialarabic = 0xfec4;\n t.taisyouerasquare = 0x337d;\n t.takatakana = 0x30bf;\n t.takatakanahalfwidth = 0xff80;\n t.tatweelarabic = 0x0640;\n t.tau = 0x03c4;\n t.tav = 0x05ea;\n t.tavdages = 0xfb4a;\n t.tavdagesh = 0xfb4a;\n t.tavdageshhebrew = 0xfb4a;\n t.tavhebrew = 0x05ea;\n t.tbar = 0x0167;\n t.tbopomofo = 0x310a;\n t.tcaron = 0x0165;\n t.tccurl = 0x02a8;\n t.tcedilla = 0x0163;\n t.tcheharabic = 0x0686;\n t.tchehfinalarabic = 0xfb7b;\n t.tchehinitialarabic = 0xfb7c;\n t.tchehmedialarabic = 0xfb7d;\n t.tcircle = 0x24e3;\n t.tcircumflexbelow = 0x1e71;\n t.tcommaaccent = 0x0163;\n t.tdieresis = 0x1e97;\n t.tdotaccent = 0x1e6b;\n t.tdotbelow = 0x1e6d;\n t.tecyrillic = 0x0442;\n t.tedescendercyrillic = 0x04ad;\n t.teharabic = 0x062a;\n t.tehfinalarabic = 0xfe96;\n t.tehhahinitialarabic = 0xfca2;\n t.tehhahisolatedarabic = 0xfc0c;\n t.tehinitialarabic = 0xfe97;\n t.tehiragana = 0x3066;\n t.tehjeeminitialarabic = 0xfca1;\n t.tehjeemisolatedarabic = 0xfc0b;\n t.tehmarbutaarabic = 0x0629;\n t.tehmarbutafinalarabic = 0xfe94;\n t.tehmedialarabic = 0xfe98;\n t.tehmeeminitialarabic = 0xfca4;\n t.tehmeemisolatedarabic = 0xfc0e;\n t.tehnoonfinalarabic = 0xfc73;\n t.tekatakana = 0x30c6;\n t.tekatakanahalfwidth = 0xff83;\n t.telephone = 0x2121;\n t.telephoneblack = 0x260e;\n t.telishagedolahebrew = 0x05a0;\n t.telishaqetanahebrew = 0x05a9;\n t.tencircle = 0x2469;\n t.tenideographicparen = 0x3229;\n t.tenparen = 0x247d;\n t.tenperiod = 0x2491;\n t.tenroman = 0x2179;\n t.tesh = 0x02a7;\n t.tet = 0x05d8;\n t.tetdagesh = 0xfb38;\n t.tetdageshhebrew = 0xfb38;\n t.tethebrew = 0x05d8;\n t.tetsecyrillic = 0x04b5;\n t.tevirhebrew = 0x059b;\n t.tevirlefthebrew = 0x059b;\n t.thabengali = 0x09a5;\n t.thadeva = 0x0925;\n t.thagujarati = 0x0aa5;\n t.thagurmukhi = 0x0a25;\n t.thalarabic = 0x0630;\n t.thalfinalarabic = 0xfeac;\n t.thanthakhatlowleftthai = 0xf898;\n t.thanthakhatlowrightthai = 0xf897;\n t.thanthakhatthai = 0x0e4c;\n t.thanthakhatupperleftthai = 0xf896;\n t.theharabic = 0x062b;\n t.thehfinalarabic = 0xfe9a;\n t.thehinitialarabic = 0xfe9b;\n t.thehmedialarabic = 0xfe9c;\n t.thereexists = 0x2203;\n t.therefore = 0x2234;\n t.theta = 0x03b8;\n t.theta1 = 0x03d1;\n t.thetasymbolgreek = 0x03d1;\n t.thieuthacirclekorean = 0x3279;\n t.thieuthaparenkorean = 0x3219;\n t.thieuthcirclekorean = 0x326b;\n t.thieuthkorean = 0x314c;\n t.thieuthparenkorean = 0x320b;\n t.thirteencircle = 0x246c;\n t.thirteenparen = 0x2480;\n t.thirteenperiod = 0x2494;\n t.thonangmonthothai = 0x0e11;\n t.thook = 0x01ad;\n t.thophuthaothai = 0x0e12;\n t.thorn = 0x00fe;\n t.thothahanthai = 0x0e17;\n t.thothanthai = 0x0e10;\n t.thothongthai = 0x0e18;\n t.thothungthai = 0x0e16;\n t.thousandcyrillic = 0x0482;\n t.thousandsseparatorarabic = 0x066c;\n t.thousandsseparatorpersian = 0x066c;\n t.three = 0x0033;\n t.threearabic = 0x0663;\n t.threebengali = 0x09e9;\n t.threecircle = 0x2462;\n t.threecircleinversesansserif = 0x278c;\n t.threedeva = 0x0969;\n t.threeeighths = 0x215c;\n t.threegujarati = 0x0ae9;\n t.threegurmukhi = 0x0a69;\n t.threehackarabic = 0x0663;\n t.threehangzhou = 0x3023;\n t.threeideographicparen = 0x3222;\n t.threeinferior = 0x2083;\n t.threemonospace = 0xff13;\n t.threenumeratorbengali = 0x09f6;\n t.threeoldstyle = 0xf733;\n t.threeparen = 0x2476;\n t.threeperiod = 0x248a;\n t.threepersian = 0x06f3;\n t.threequarters = 0x00be;\n t.threequartersemdash = 0xf6de;\n t.threeroman = 0x2172;\n t.threesuperior = 0x00b3;\n t.threethai = 0x0e53;\n t.thzsquare = 0x3394;\n t.tihiragana = 0x3061;\n t.tikatakana = 0x30c1;\n t.tikatakanahalfwidth = 0xff81;\n t.tikeutacirclekorean = 0x3270;\n t.tikeutaparenkorean = 0x3210;\n t.tikeutcirclekorean = 0x3262;\n t.tikeutkorean = 0x3137;\n t.tikeutparenkorean = 0x3202;\n t.tilde = 0x02dc;\n t.tildebelowcmb = 0x0330;\n t.tildecmb = 0x0303;\n t.tildecomb = 0x0303;\n t.tildedoublecmb = 0x0360;\n t.tildeoperator = 0x223c;\n t.tildeoverlaycmb = 0x0334;\n t.tildeverticalcmb = 0x033e;\n t.timescircle = 0x2297;\n t.tipehahebrew = 0x0596;\n t.tipehalefthebrew = 0x0596;\n t.tippigurmukhi = 0x0a70;\n t.titlocyrilliccmb = 0x0483;\n t.tiwnarmenian = 0x057f;\n t.tlinebelow = 0x1e6f;\n t.tmonospace = 0xff54;\n t.toarmenian = 0x0569;\n t.tohiragana = 0x3068;\n t.tokatakana = 0x30c8;\n t.tokatakanahalfwidth = 0xff84;\n t.tonebarextrahighmod = 0x02e5;\n t.tonebarextralowmod = 0x02e9;\n t.tonebarhighmod = 0x02e6;\n t.tonebarlowmod = 0x02e8;\n t.tonebarmidmod = 0x02e7;\n t.tonefive = 0x01bd;\n t.tonesix = 0x0185;\n t.tonetwo = 0x01a8;\n t.tonos = 0x0384;\n t.tonsquare = 0x3327;\n t.topatakthai = 0x0e0f;\n t.tortoiseshellbracketleft = 0x3014;\n t.tortoiseshellbracketleftsmall = 0xfe5d;\n t.tortoiseshellbracketleftvertical = 0xfe39;\n t.tortoiseshellbracketright = 0x3015;\n t.tortoiseshellbracketrightsmall = 0xfe5e;\n t.tortoiseshellbracketrightvertical = 0xfe3a;\n t.totaothai = 0x0e15;\n t.tpalatalhook = 0x01ab;\n t.tparen = 0x24af;\n t.trademark = 0x2122;\n t.trademarksans = 0xf8ea;\n t.trademarkserif = 0xf6db;\n t.tretroflexhook = 0x0288;\n t.triagdn = 0x25bc;\n t.triaglf = 0x25c4;\n t.triagrt = 0x25ba;\n t.triagup = 0x25b2;\n t.ts = 0x02a6;\n t.tsadi = 0x05e6;\n t.tsadidagesh = 0xfb46;\n t.tsadidageshhebrew = 0xfb46;\n t.tsadihebrew = 0x05e6;\n t.tsecyrillic = 0x0446;\n t.tsere = 0x05b5;\n t.tsere12 = 0x05b5;\n t.tsere1e = 0x05b5;\n t.tsere2b = 0x05b5;\n t.tserehebrew = 0x05b5;\n t.tserenarrowhebrew = 0x05b5;\n t.tserequarterhebrew = 0x05b5;\n t.tserewidehebrew = 0x05b5;\n t.tshecyrillic = 0x045b;\n t.tsuperior = 0xf6f3;\n t.ttabengali = 0x099f;\n t.ttadeva = 0x091f;\n t.ttagujarati = 0x0a9f;\n t.ttagurmukhi = 0x0a1f;\n t.tteharabic = 0x0679;\n t.ttehfinalarabic = 0xfb67;\n t.ttehinitialarabic = 0xfb68;\n t.ttehmedialarabic = 0xfb69;\n t.tthabengali = 0x09a0;\n t.tthadeva = 0x0920;\n t.tthagujarati = 0x0aa0;\n t.tthagurmukhi = 0x0a20;\n t.tturned = 0x0287;\n t.tuhiragana = 0x3064;\n t.tukatakana = 0x30c4;\n t.tukatakanahalfwidth = 0xff82;\n t.tusmallhiragana = 0x3063;\n t.tusmallkatakana = 0x30c3;\n t.tusmallkatakanahalfwidth = 0xff6f;\n t.twelvecircle = 0x246b;\n t.twelveparen = 0x247f;\n t.twelveperiod = 0x2493;\n t.twelveroman = 0x217b;\n t.twentycircle = 0x2473;\n t.twentyhangzhou = 0x5344;\n t.twentyparen = 0x2487;\n t.twentyperiod = 0x249b;\n t.two = 0x0032;\n t.twoarabic = 0x0662;\n t.twobengali = 0x09e8;\n t.twocircle = 0x2461;\n t.twocircleinversesansserif = 0x278b;\n t.twodeva = 0x0968;\n t.twodotenleader = 0x2025;\n t.twodotleader = 0x2025;\n t.twodotleadervertical = 0xfe30;\n t.twogujarati = 0x0ae8;\n t.twogurmukhi = 0x0a68;\n t.twohackarabic = 0x0662;\n t.twohangzhou = 0x3022;\n t.twoideographicparen = 0x3221;\n t.twoinferior = 0x2082;\n t.twomonospace = 0xff12;\n t.twonumeratorbengali = 0x09f5;\n t.twooldstyle = 0xf732;\n t.twoparen = 0x2475;\n t.twoperiod = 0x2489;\n t.twopersian = 0x06f2;\n t.tworoman = 0x2171;\n t.twostroke = 0x01bb;\n t.twosuperior = 0x00b2;\n t.twothai = 0x0e52;\n t.twothirds = 0x2154;\n t.u = 0x0075;\n t.uacute = 0x00fa;\n t.ubar = 0x0289;\n t.ubengali = 0x0989;\n t.ubopomofo = 0x3128;\n t.ubreve = 0x016d;\n t.ucaron = 0x01d4;\n t.ucircle = 0x24e4;\n t.ucircumflex = 0x00fb;\n t.ucircumflexbelow = 0x1e77;\n t.ucyrillic = 0x0443;\n t.udattadeva = 0x0951;\n t.udblacute = 0x0171;\n t.udblgrave = 0x0215;\n t.udeva = 0x0909;\n t.udieresis = 0x00fc;\n t.udieresisacute = 0x01d8;\n t.udieresisbelow = 0x1e73;\n t.udieresiscaron = 0x01da;\n t.udieresiscyrillic = 0x04f1;\n t.udieresisgrave = 0x01dc;\n t.udieresismacron = 0x01d6;\n t.udotbelow = 0x1ee5;\n t.ugrave = 0x00f9;\n t.ugujarati = 0x0a89;\n t.ugurmukhi = 0x0a09;\n t.uhiragana = 0x3046;\n t.uhookabove = 0x1ee7;\n t.uhorn = 0x01b0;\n t.uhornacute = 0x1ee9;\n t.uhorndotbelow = 0x1ef1;\n t.uhorngrave = 0x1eeb;\n t.uhornhookabove = 0x1eed;\n t.uhorntilde = 0x1eef;\n t.uhungarumlaut = 0x0171;\n t.uhungarumlautcyrillic = 0x04f3;\n t.uinvertedbreve = 0x0217;\n t.ukatakana = 0x30a6;\n t.ukatakanahalfwidth = 0xff73;\n t.ukcyrillic = 0x0479;\n t.ukorean = 0x315c;\n t.umacron = 0x016b;\n t.umacroncyrillic = 0x04ef;\n t.umacrondieresis = 0x1e7b;\n t.umatragurmukhi = 0x0a41;\n t.umonospace = 0xff55;\n t.underscore = 0x005f;\n t.underscoredbl = 0x2017;\n t.underscoremonospace = 0xff3f;\n t.underscorevertical = 0xfe33;\n t.underscorewavy = 0xfe4f;\n t.union = 0x222a;\n t.universal = 0x2200;\n t.uogonek = 0x0173;\n t.uparen = 0x24b0;\n t.upblock = 0x2580;\n t.upperdothebrew = 0x05c4;\n t.upsilon = 0x03c5;\n t.upsilondieresis = 0x03cb;\n t.upsilondieresistonos = 0x03b0;\n t.upsilonlatin = 0x028a;\n t.upsilontonos = 0x03cd;\n t.uptackbelowcmb = 0x031d;\n t.uptackmod = 0x02d4;\n t.uragurmukhi = 0x0a73;\n t.uring = 0x016f;\n t.ushortcyrillic = 0x045e;\n t.usmallhiragana = 0x3045;\n t.usmallkatakana = 0x30a5;\n t.usmallkatakanahalfwidth = 0xff69;\n t.ustraightcyrillic = 0x04af;\n t.ustraightstrokecyrillic = 0x04b1;\n t.utilde = 0x0169;\n t.utildeacute = 0x1e79;\n t.utildebelow = 0x1e75;\n t.uubengali = 0x098a;\n t.uudeva = 0x090a;\n t.uugujarati = 0x0a8a;\n t.uugurmukhi = 0x0a0a;\n t.uumatragurmukhi = 0x0a42;\n t.uuvowelsignbengali = 0x09c2;\n t.uuvowelsigndeva = 0x0942;\n t.uuvowelsigngujarati = 0x0ac2;\n t.uvowelsignbengali = 0x09c1;\n t.uvowelsigndeva = 0x0941;\n t.uvowelsigngujarati = 0x0ac1;\n t.v = 0x0076;\n t.vadeva = 0x0935;\n t.vagujarati = 0x0ab5;\n t.vagurmukhi = 0x0a35;\n t.vakatakana = 0x30f7;\n t.vav = 0x05d5;\n t.vavdagesh = 0xfb35;\n t.vavdagesh65 = 0xfb35;\n t.vavdageshhebrew = 0xfb35;\n t.vavhebrew = 0x05d5;\n t.vavholam = 0xfb4b;\n t.vavholamhebrew = 0xfb4b;\n t.vavvavhebrew = 0x05f0;\n t.vavyodhebrew = 0x05f1;\n t.vcircle = 0x24e5;\n t.vdotbelow = 0x1e7f;\n t.vecyrillic = 0x0432;\n t.veharabic = 0x06a4;\n t.vehfinalarabic = 0xfb6b;\n t.vehinitialarabic = 0xfb6c;\n t.vehmedialarabic = 0xfb6d;\n t.vekatakana = 0x30f9;\n t.venus = 0x2640;\n t.verticalbar = 0x007c;\n t.verticallineabovecmb = 0x030d;\n t.verticallinebelowcmb = 0x0329;\n t.verticallinelowmod = 0x02cc;\n t.verticallinemod = 0x02c8;\n t.vewarmenian = 0x057e;\n t.vhook = 0x028b;\n t.vikatakana = 0x30f8;\n t.viramabengali = 0x09cd;\n t.viramadeva = 0x094d;\n t.viramagujarati = 0x0acd;\n t.visargabengali = 0x0983;\n t.visargadeva = 0x0903;\n t.visargagujarati = 0x0a83;\n t.vmonospace = 0xff56;\n t.voarmenian = 0x0578;\n t.voicediterationhiragana = 0x309e;\n t.voicediterationkatakana = 0x30fe;\n t.voicedmarkkana = 0x309b;\n t.voicedmarkkanahalfwidth = 0xff9e;\n t.vokatakana = 0x30fa;\n t.vparen = 0x24b1;\n t.vtilde = 0x1e7d;\n t.vturned = 0x028c;\n t.vuhiragana = 0x3094;\n t.vukatakana = 0x30f4;\n t.w = 0x0077;\n t.wacute = 0x1e83;\n t.waekorean = 0x3159;\n t.wahiragana = 0x308f;\n t.wakatakana = 0x30ef;\n t.wakatakanahalfwidth = 0xff9c;\n t.wakorean = 0x3158;\n t.wasmallhiragana = 0x308e;\n t.wasmallkatakana = 0x30ee;\n t.wattosquare = 0x3357;\n t.wavedash = 0x301c;\n t.wavyunderscorevertical = 0xfe34;\n t.wawarabic = 0x0648;\n t.wawfinalarabic = 0xfeee;\n t.wawhamzaabovearabic = 0x0624;\n t.wawhamzaabovefinalarabic = 0xfe86;\n t.wbsquare = 0x33dd;\n t.wcircle = 0x24e6;\n t.wcircumflex = 0x0175;\n t.wdieresis = 0x1e85;\n t.wdotaccent = 0x1e87;\n t.wdotbelow = 0x1e89;\n t.wehiragana = 0x3091;\n t.weierstrass = 0x2118;\n t.wekatakana = 0x30f1;\n t.wekorean = 0x315e;\n t.weokorean = 0x315d;\n t.wgrave = 0x1e81;\n t.whitebullet = 0x25e6;\n t.whitecircle = 0x25cb;\n t.whitecircleinverse = 0x25d9;\n t.whitecornerbracketleft = 0x300e;\n t.whitecornerbracketleftvertical = 0xfe43;\n t.whitecornerbracketright = 0x300f;\n t.whitecornerbracketrightvertical = 0xfe44;\n t.whitediamond = 0x25c7;\n t.whitediamondcontainingblacksmalldiamond = 0x25c8;\n t.whitedownpointingsmalltriangle = 0x25bf;\n t.whitedownpointingtriangle = 0x25bd;\n t.whiteleftpointingsmalltriangle = 0x25c3;\n t.whiteleftpointingtriangle = 0x25c1;\n t.whitelenticularbracketleft = 0x3016;\n t.whitelenticularbracketright = 0x3017;\n t.whiterightpointingsmalltriangle = 0x25b9;\n t.whiterightpointingtriangle = 0x25b7;\n t.whitesmallsquare = 0x25ab;\n t.whitesmilingface = 0x263a;\n t.whitesquare = 0x25a1;\n t.whitestar = 0x2606;\n t.whitetelephone = 0x260f;\n t.whitetortoiseshellbracketleft = 0x3018;\n t.whitetortoiseshellbracketright = 0x3019;\n t.whiteuppointingsmalltriangle = 0x25b5;\n t.whiteuppointingtriangle = 0x25b3;\n t.wihiragana = 0x3090;\n t.wikatakana = 0x30f0;\n t.wikorean = 0x315f;\n t.wmonospace = 0xff57;\n t.wohiragana = 0x3092;\n t.wokatakana = 0x30f2;\n t.wokatakanahalfwidth = 0xff66;\n t.won = 0x20a9;\n t.wonmonospace = 0xffe6;\n t.wowaenthai = 0x0e27;\n t.wparen = 0x24b2;\n t.wring = 0x1e98;\n t.wsuperior = 0x02b7;\n t.wturned = 0x028d;\n t.wynn = 0x01bf;\n t.x = 0x0078;\n t.xabovecmb = 0x033d;\n t.xbopomofo = 0x3112;\n t.xcircle = 0x24e7;\n t.xdieresis = 0x1e8d;\n t.xdotaccent = 0x1e8b;\n t.xeharmenian = 0x056d;\n t.xi = 0x03be;\n t.xmonospace = 0xff58;\n t.xparen = 0x24b3;\n t.xsuperior = 0x02e3;\n t.y = 0x0079;\n t.yaadosquare = 0x334e;\n t.yabengali = 0x09af;\n t.yacute = 0x00fd;\n t.yadeva = 0x092f;\n t.yaekorean = 0x3152;\n t.yagujarati = 0x0aaf;\n t.yagurmukhi = 0x0a2f;\n t.yahiragana = 0x3084;\n t.yakatakana = 0x30e4;\n t.yakatakanahalfwidth = 0xff94;\n t.yakorean = 0x3151;\n t.yamakkanthai = 0x0e4e;\n t.yasmallhiragana = 0x3083;\n t.yasmallkatakana = 0x30e3;\n t.yasmallkatakanahalfwidth = 0xff6c;\n t.yatcyrillic = 0x0463;\n t.ycircle = 0x24e8;\n t.ycircumflex = 0x0177;\n t.ydieresis = 0x00ff;\n t.ydotaccent = 0x1e8f;\n t.ydotbelow = 0x1ef5;\n t.yeharabic = 0x064a;\n t.yehbarreearabic = 0x06d2;\n t.yehbarreefinalarabic = 0xfbaf;\n t.yehfinalarabic = 0xfef2;\n t.yehhamzaabovearabic = 0x0626;\n t.yehhamzaabovefinalarabic = 0xfe8a;\n t.yehhamzaaboveinitialarabic = 0xfe8b;\n t.yehhamzaabovemedialarabic = 0xfe8c;\n t.yehinitialarabic = 0xfef3;\n t.yehmedialarabic = 0xfef4;\n t.yehmeeminitialarabic = 0xfcdd;\n t.yehmeemisolatedarabic = 0xfc58;\n t.yehnoonfinalarabic = 0xfc94;\n t.yehthreedotsbelowarabic = 0x06d1;\n t.yekorean = 0x3156;\n t.yen = 0x00a5;\n t.yenmonospace = 0xffe5;\n t.yeokorean = 0x3155;\n t.yeorinhieuhkorean = 0x3186;\n t.yerahbenyomohebrew = 0x05aa;\n t.yerahbenyomolefthebrew = 0x05aa;\n t.yericyrillic = 0x044b;\n t.yerudieresiscyrillic = 0x04f9;\n t.yesieungkorean = 0x3181;\n t.yesieungpansioskorean = 0x3183;\n t.yesieungsioskorean = 0x3182;\n t.yetivhebrew = 0x059a;\n t.ygrave = 0x1ef3;\n t.yhook = 0x01b4;\n t.yhookabove = 0x1ef7;\n t.yiarmenian = 0x0575;\n t.yicyrillic = 0x0457;\n t.yikorean = 0x3162;\n t.yinyang = 0x262f;\n t.yiwnarmenian = 0x0582;\n t.ymonospace = 0xff59;\n t.yod = 0x05d9;\n t.yoddagesh = 0xfb39;\n t.yoddageshhebrew = 0xfb39;\n t.yodhebrew = 0x05d9;\n t.yodyodhebrew = 0x05f2;\n t.yodyodpatahhebrew = 0xfb1f;\n t.yohiragana = 0x3088;\n t.yoikorean = 0x3189;\n t.yokatakana = 0x30e8;\n t.yokatakanahalfwidth = 0xff96;\n t.yokorean = 0x315b;\n t.yosmallhiragana = 0x3087;\n t.yosmallkatakana = 0x30e7;\n t.yosmallkatakanahalfwidth = 0xff6e;\n t.yotgreek = 0x03f3;\n t.yoyaekorean = 0x3188;\n t.yoyakorean = 0x3187;\n t.yoyakthai = 0x0e22;\n t.yoyingthai = 0x0e0d;\n t.yparen = 0x24b4;\n t.ypogegrammeni = 0x037a;\n t.ypogegrammenigreekcmb = 0x0345;\n t.yr = 0x01a6;\n t.yring = 0x1e99;\n t.ysuperior = 0x02b8;\n t.ytilde = 0x1ef9;\n t.yturned = 0x028e;\n t.yuhiragana = 0x3086;\n t.yuikorean = 0x318c;\n t.yukatakana = 0x30e6;\n t.yukatakanahalfwidth = 0xff95;\n t.yukorean = 0x3160;\n t.yusbigcyrillic = 0x046b;\n t.yusbigiotifiedcyrillic = 0x046d;\n t.yuslittlecyrillic = 0x0467;\n t.yuslittleiotifiedcyrillic = 0x0469;\n t.yusmallhiragana = 0x3085;\n t.yusmallkatakana = 0x30e5;\n t.yusmallkatakanahalfwidth = 0xff6d;\n t.yuyekorean = 0x318b;\n t.yuyeokorean = 0x318a;\n t.yyabengali = 0x09df;\n t.yyadeva = 0x095f;\n t.z = 0x007a;\n t.zaarmenian = 0x0566;\n t.zacute = 0x017a;\n t.zadeva = 0x095b;\n t.zagurmukhi = 0x0a5b;\n t.zaharabic = 0x0638;\n t.zahfinalarabic = 0xfec6;\n t.zahinitialarabic = 0xfec7;\n t.zahiragana = 0x3056;\n t.zahmedialarabic = 0xfec8;\n t.zainarabic = 0x0632;\n t.zainfinalarabic = 0xfeb0;\n t.zakatakana = 0x30b6;\n t.zaqefgadolhebrew = 0x0595;\n t.zaqefqatanhebrew = 0x0594;\n t.zarqahebrew = 0x0598;\n t.zayin = 0x05d6;\n t.zayindagesh = 0xfb36;\n t.zayindageshhebrew = 0xfb36;\n t.zayinhebrew = 0x05d6;\n t.zbopomofo = 0x3117;\n t.zcaron = 0x017e;\n t.zcircle = 0x24e9;\n t.zcircumflex = 0x1e91;\n t.zcurl = 0x0291;\n t.zdot = 0x017c;\n t.zdotaccent = 0x017c;\n t.zdotbelow = 0x1e93;\n t.zecyrillic = 0x0437;\n t.zedescendercyrillic = 0x0499;\n t.zedieresiscyrillic = 0x04df;\n t.zehiragana = 0x305c;\n t.zekatakana = 0x30bc;\n t.zero = 0x0030;\n t.zeroarabic = 0x0660;\n t.zerobengali = 0x09e6;\n t.zerodeva = 0x0966;\n t.zerogujarati = 0x0ae6;\n t.zerogurmukhi = 0x0a66;\n t.zerohackarabic = 0x0660;\n t.zeroinferior = 0x2080;\n t.zeromonospace = 0xff10;\n t.zerooldstyle = 0xf730;\n t.zeropersian = 0x06f0;\n t.zerosuperior = 0x2070;\n t.zerothai = 0x0e50;\n t.zerowidthjoiner = 0xfeff;\n t.zerowidthnonjoiner = 0x200c;\n t.zerowidthspace = 0x200b;\n t.zeta = 0x03b6;\n t.zhbopomofo = 0x3113;\n t.zhearmenian = 0x056a;\n t.zhebrevecyrillic = 0x04c2;\n t.zhecyrillic = 0x0436;\n t.zhedescendercyrillic = 0x0497;\n t.zhedieresiscyrillic = 0x04dd;\n t.zihiragana = 0x3058;\n t.zikatakana = 0x30b8;\n t.zinorhebrew = 0x05ae;\n t.zlinebelow = 0x1e95;\n t.zmonospace = 0xff5a;\n t.zohiragana = 0x305e;\n t.zokatakana = 0x30be;\n t.zparen = 0x24b5;\n t.zretroflexhook = 0x0290;\n t.zstroke = 0x01b6;\n t.zuhiragana = 0x305a;\n t.zukatakana = 0x30ba;\n t[\".notdef\"] = 0x0000;\n t.angbracketleftbig = 0x2329;\n t.angbracketleftBig = 0x2329;\n t.angbracketleftbigg = 0x2329;\n t.angbracketleftBigg = 0x2329;\n t.angbracketrightBig = 0x232a;\n t.angbracketrightbig = 0x232a;\n t.angbracketrightBigg = 0x232a;\n t.angbracketrightbigg = 0x232a;\n t.arrowhookleft = 0x21aa;\n t.arrowhookright = 0x21a9;\n t.arrowlefttophalf = 0x21bc;\n t.arrowleftbothalf = 0x21bd;\n t.arrownortheast = 0x2197;\n t.arrownorthwest = 0x2196;\n t.arrowrighttophalf = 0x21c0;\n t.arrowrightbothalf = 0x21c1;\n t.arrowsoutheast = 0x2198;\n t.arrowsouthwest = 0x2199;\n t.backslashbig = 0x2216;\n t.backslashBig = 0x2216;\n t.backslashBigg = 0x2216;\n t.backslashbigg = 0x2216;\n t.bardbl = 0x2016;\n t.bracehtipdownleft = 0xfe37;\n t.bracehtipdownright = 0xfe37;\n t.bracehtipupleft = 0xfe38;\n t.bracehtipupright = 0xfe38;\n t.braceleftBig = 0x007b;\n t.braceleftbig = 0x007b;\n t.braceleftbigg = 0x007b;\n t.braceleftBigg = 0x007b;\n t.bracerightBig = 0x007d;\n t.bracerightbig = 0x007d;\n t.bracerightbigg = 0x007d;\n t.bracerightBigg = 0x007d;\n t.bracketleftbig = 0x005b;\n t.bracketleftBig = 0x005b;\n t.bracketleftbigg = 0x005b;\n t.bracketleftBigg = 0x005b;\n t.bracketrightBig = 0x005d;\n t.bracketrightbig = 0x005d;\n t.bracketrightbigg = 0x005d;\n t.bracketrightBigg = 0x005d;\n t.ceilingleftbig = 0x2308;\n t.ceilingleftBig = 0x2308;\n t.ceilingleftBigg = 0x2308;\n t.ceilingleftbigg = 0x2308;\n t.ceilingrightbig = 0x2309;\n t.ceilingrightBig = 0x2309;\n t.ceilingrightbigg = 0x2309;\n t.ceilingrightBigg = 0x2309;\n t.circledotdisplay = 0x2299;\n t.circledottext = 0x2299;\n t.circlemultiplydisplay = 0x2297;\n t.circlemultiplytext = 0x2297;\n t.circleplusdisplay = 0x2295;\n t.circleplustext = 0x2295;\n t.contintegraldisplay = 0x222e;\n t.contintegraltext = 0x222e;\n t.coproductdisplay = 0x2210;\n t.coproducttext = 0x2210;\n t.floorleftBig = 0x230a;\n t.floorleftbig = 0x230a;\n t.floorleftbigg = 0x230a;\n t.floorleftBigg = 0x230a;\n t.floorrightbig = 0x230b;\n t.floorrightBig = 0x230b;\n t.floorrightBigg = 0x230b;\n t.floorrightbigg = 0x230b;\n t.hatwide = 0x0302;\n t.hatwider = 0x0302;\n t.hatwidest = 0x0302;\n t.intercal = 0x1d40;\n t.integraldisplay = 0x222b;\n t.integraltext = 0x222b;\n t.intersectiondisplay = 0x22c2;\n t.intersectiontext = 0x22c2;\n t.logicalanddisplay = 0x2227;\n t.logicalandtext = 0x2227;\n t.logicalordisplay = 0x2228;\n t.logicalortext = 0x2228;\n t.parenleftBig = 0x0028;\n t.parenleftbig = 0x0028;\n t.parenleftBigg = 0x0028;\n t.parenleftbigg = 0x0028;\n t.parenrightBig = 0x0029;\n t.parenrightbig = 0x0029;\n t.parenrightBigg = 0x0029;\n t.parenrightbigg = 0x0029;\n t.prime = 0x2032;\n t.productdisplay = 0x220f;\n t.producttext = 0x220f;\n t.radicalbig = 0x221a;\n t.radicalBig = 0x221a;\n t.radicalBigg = 0x221a;\n t.radicalbigg = 0x221a;\n t.radicalbt = 0x221a;\n t.radicaltp = 0x221a;\n t.radicalvertex = 0x221a;\n t.slashbig = 0x002f;\n t.slashBig = 0x002f;\n t.slashBigg = 0x002f;\n t.slashbigg = 0x002f;\n t.summationdisplay = 0x2211;\n t.summationtext = 0x2211;\n t.tildewide = 0x02dc;\n t.tildewider = 0x02dc;\n t.tildewidest = 0x02dc;\n t.uniondisplay = 0x22c3;\n t.unionmultidisplay = 0x228e;\n t.unionmultitext = 0x228e;\n t.unionsqdisplay = 0x2294;\n t.unionsqtext = 0x2294;\n t.uniontext = 0x22c3;\n t.vextenddouble = 0x2225;\n t.vextendsingle = 0x2223;\n});\nvar getDingbatsGlyphsUnicode = getLookupTableFactory(function (t) {\n t.space = 0x0020;\n t.a1 = 0x2701;\n t.a2 = 0x2702;\n t.a202 = 0x2703;\n t.a3 = 0x2704;\n t.a4 = 0x260e;\n t.a5 = 0x2706;\n t.a119 = 0x2707;\n t.a118 = 0x2708;\n t.a117 = 0x2709;\n t.a11 = 0x261b;\n t.a12 = 0x261e;\n t.a13 = 0x270c;\n t.a14 = 0x270d;\n t.a15 = 0x270e;\n t.a16 = 0x270f;\n t.a105 = 0x2710;\n t.a17 = 0x2711;\n t.a18 = 0x2712;\n t.a19 = 0x2713;\n t.a20 = 0x2714;\n t.a21 = 0x2715;\n t.a22 = 0x2716;\n t.a23 = 0x2717;\n t.a24 = 0x2718;\n t.a25 = 0x2719;\n t.a26 = 0x271a;\n t.a27 = 0x271b;\n t.a28 = 0x271c;\n t.a6 = 0x271d;\n t.a7 = 0x271e;\n t.a8 = 0x271f;\n t.a9 = 0x2720;\n t.a10 = 0x2721;\n t.a29 = 0x2722;\n t.a30 = 0x2723;\n t.a31 = 0x2724;\n t.a32 = 0x2725;\n t.a33 = 0x2726;\n t.a34 = 0x2727;\n t.a35 = 0x2605;\n t.a36 = 0x2729;\n t.a37 = 0x272a;\n t.a38 = 0x272b;\n t.a39 = 0x272c;\n t.a40 = 0x272d;\n t.a41 = 0x272e;\n t.a42 = 0x272f;\n t.a43 = 0x2730;\n t.a44 = 0x2731;\n t.a45 = 0x2732;\n t.a46 = 0x2733;\n t.a47 = 0x2734;\n t.a48 = 0x2735;\n t.a49 = 0x2736;\n t.a50 = 0x2737;\n t.a51 = 0x2738;\n t.a52 = 0x2739;\n t.a53 = 0x273a;\n t.a54 = 0x273b;\n t.a55 = 0x273c;\n t.a56 = 0x273d;\n t.a57 = 0x273e;\n t.a58 = 0x273f;\n t.a59 = 0x2740;\n t.a60 = 0x2741;\n t.a61 = 0x2742;\n t.a62 = 0x2743;\n t.a63 = 0x2744;\n t.a64 = 0x2745;\n t.a65 = 0x2746;\n t.a66 = 0x2747;\n t.a67 = 0x2748;\n t.a68 = 0x2749;\n t.a69 = 0x274a;\n t.a70 = 0x274b;\n t.a71 = 0x25cf;\n t.a72 = 0x274d;\n t.a73 = 0x25a0;\n t.a74 = 0x274f;\n t.a203 = 0x2750;\n t.a75 = 0x2751;\n t.a204 = 0x2752;\n t.a76 = 0x25b2;\n t.a77 = 0x25bc;\n t.a78 = 0x25c6;\n t.a79 = 0x2756;\n t.a81 = 0x25d7;\n t.a82 = 0x2758;\n t.a83 = 0x2759;\n t.a84 = 0x275a;\n t.a97 = 0x275b;\n t.a98 = 0x275c;\n t.a99 = 0x275d;\n t.a100 = 0x275e;\n t.a101 = 0x2761;\n t.a102 = 0x2762;\n t.a103 = 0x2763;\n t.a104 = 0x2764;\n t.a106 = 0x2765;\n t.a107 = 0x2766;\n t.a108 = 0x2767;\n t.a112 = 0x2663;\n t.a111 = 0x2666;\n t.a110 = 0x2665;\n t.a109 = 0x2660;\n t.a120 = 0x2460;\n t.a121 = 0x2461;\n t.a122 = 0x2462;\n t.a123 = 0x2463;\n t.a124 = 0x2464;\n t.a125 = 0x2465;\n t.a126 = 0x2466;\n t.a127 = 0x2467;\n t.a128 = 0x2468;\n t.a129 = 0x2469;\n t.a130 = 0x2776;\n t.a131 = 0x2777;\n t.a132 = 0x2778;\n t.a133 = 0x2779;\n t.a134 = 0x277a;\n t.a135 = 0x277b;\n t.a136 = 0x277c;\n t.a137 = 0x277d;\n t.a138 = 0x277e;\n t.a139 = 0x277f;\n t.a140 = 0x2780;\n t.a141 = 0x2781;\n t.a142 = 0x2782;\n t.a143 = 0x2783;\n t.a144 = 0x2784;\n t.a145 = 0x2785;\n t.a146 = 0x2786;\n t.a147 = 0x2787;\n t.a148 = 0x2788;\n t.a149 = 0x2789;\n t.a150 = 0x278a;\n t.a151 = 0x278b;\n t.a152 = 0x278c;\n t.a153 = 0x278d;\n t.a154 = 0x278e;\n t.a155 = 0x278f;\n t.a156 = 0x2790;\n t.a157 = 0x2791;\n t.a158 = 0x2792;\n t.a159 = 0x2793;\n t.a160 = 0x2794;\n t.a161 = 0x2192;\n t.a163 = 0x2194;\n t.a164 = 0x2195;\n t.a196 = 0x2798;\n t.a165 = 0x2799;\n t.a192 = 0x279a;\n t.a166 = 0x279b;\n t.a167 = 0x279c;\n t.a168 = 0x279d;\n t.a169 = 0x279e;\n t.a170 = 0x279f;\n t.a171 = 0x27a0;\n t.a172 = 0x27a1;\n t.a173 = 0x27a2;\n t.a162 = 0x27a3;\n t.a174 = 0x27a4;\n t.a175 = 0x27a5;\n t.a176 = 0x27a6;\n t.a177 = 0x27a7;\n t.a178 = 0x27a8;\n t.a179 = 0x27a9;\n t.a193 = 0x27aa;\n t.a180 = 0x27ab;\n t.a199 = 0x27ac;\n t.a181 = 0x27ad;\n t.a200 = 0x27ae;\n t.a182 = 0x27af;\n t.a201 = 0x27b1;\n t.a183 = 0x27b2;\n t.a184 = 0x27b3;\n t.a197 = 0x27b4;\n t.a185 = 0x27b5;\n t.a194 = 0x27b6;\n t.a198 = 0x27b7;\n t.a186 = 0x27b8;\n t.a195 = 0x27b9;\n t.a187 = 0x27ba;\n t.a188 = 0x27bb;\n t.a189 = 0x27bc;\n t.a190 = 0x27bd;\n t.a191 = 0x27be;\n t.a89 = 0x2768;\n t.a90 = 0x2769;\n t.a93 = 0x276a;\n t.a94 = 0x276b;\n t.a91 = 0x276c;\n t.a92 = 0x276d;\n t.a205 = 0x276e;\n t.a85 = 0x276f;\n t.a206 = 0x2770;\n t.a86 = 0x2771;\n t.a87 = 0x2772;\n t.a88 = 0x2773;\n t.a95 = 0x2774;\n t.a96 = 0x2775;\n t[\".notdef\"] = 0x0000;\n});\nexports.getGlyphsUnicode = getGlyphsUnicode;\nexports.getDingbatsGlyphsUnicode = getDingbatsGlyphsUnicode;\n\n/***/ }),\n/* 232 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getSupplementalGlyphMapForCalibri = exports.getSupplementalGlyphMapForArialBlack = exports.getGlyphMapForStandardFonts = exports.getSymbolsFonts = exports.getSerifFonts = exports.getNonStdFontMap = exports.getStdFontMap = void 0;\n\nvar _core_utils = __w_pdfjs_require__(205);\n\nvar getStdFontMap = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.ArialNarrow = \"Helvetica\";\n t[\"ArialNarrow-Bold\"] = \"Helvetica-Bold\";\n t[\"ArialNarrow-BoldItalic\"] = \"Helvetica-BoldOblique\";\n t[\"ArialNarrow-Italic\"] = \"Helvetica-Oblique\";\n t.ArialBlack = \"Helvetica\";\n t[\"ArialBlack-Bold\"] = \"Helvetica-Bold\";\n t[\"ArialBlack-BoldItalic\"] = \"Helvetica-BoldOblique\";\n t[\"ArialBlack-Italic\"] = \"Helvetica-Oblique\";\n t[\"Arial-Black\"] = \"Helvetica\";\n t[\"Arial-Black-Bold\"] = \"Helvetica-Bold\";\n t[\"Arial-Black-BoldItalic\"] = \"Helvetica-BoldOblique\";\n t[\"Arial-Black-Italic\"] = \"Helvetica-Oblique\";\n t.Arial = \"Helvetica\";\n t[\"Arial-Bold\"] = \"Helvetica-Bold\";\n t[\"Arial-BoldItalic\"] = \"Helvetica-BoldOblique\";\n t[\"Arial-Italic\"] = \"Helvetica-Oblique\";\n t[\"Arial-BoldItalicMT\"] = \"Helvetica-BoldOblique\";\n t[\"Arial-BoldMT\"] = \"Helvetica-Bold\";\n t[\"Arial-ItalicMT\"] = \"Helvetica-Oblique\";\n t.ArialMT = \"Helvetica\";\n t[\"Courier-Bold\"] = \"Courier-Bold\";\n t[\"Courier-BoldItalic\"] = \"Courier-BoldOblique\";\n t[\"Courier-Italic\"] = \"Courier-Oblique\";\n t.CourierNew = \"Courier\";\n t[\"CourierNew-Bold\"] = \"Courier-Bold\";\n t[\"CourierNew-BoldItalic\"] = \"Courier-BoldOblique\";\n t[\"CourierNew-Italic\"] = \"Courier-Oblique\";\n t[\"CourierNewPS-BoldItalicMT\"] = \"Courier-BoldOblique\";\n t[\"CourierNewPS-BoldMT\"] = \"Courier-Bold\";\n t[\"CourierNewPS-ItalicMT\"] = \"Courier-Oblique\";\n t.CourierNewPSMT = \"Courier\";\n t.Helvetica = \"Helvetica\";\n t[\"Helvetica-Bold\"] = \"Helvetica-Bold\";\n t[\"Helvetica-BoldItalic\"] = \"Helvetica-BoldOblique\";\n t[\"Helvetica-BoldOblique\"] = \"Helvetica-BoldOblique\";\n t[\"Helvetica-Italic\"] = \"Helvetica-Oblique\";\n t[\"Helvetica-Oblique\"] = \"Helvetica-Oblique\";\n t[\"Symbol-Bold\"] = \"Symbol\";\n t[\"Symbol-BoldItalic\"] = \"Symbol\";\n t[\"Symbol-Italic\"] = \"Symbol\";\n t.TimesNewRoman = \"Times-Roman\";\n t[\"TimesNewRoman-Bold\"] = \"Times-Bold\";\n t[\"TimesNewRoman-BoldItalic\"] = \"Times-BoldItalic\";\n t[\"TimesNewRoman-Italic\"] = \"Times-Italic\";\n t.TimesNewRomanPS = \"Times-Roman\";\n t[\"TimesNewRomanPS-Bold\"] = \"Times-Bold\";\n t[\"TimesNewRomanPS-BoldItalic\"] = \"Times-BoldItalic\";\n t[\"TimesNewRomanPS-BoldItalicMT\"] = \"Times-BoldItalic\";\n t[\"TimesNewRomanPS-BoldMT\"] = \"Times-Bold\";\n t[\"TimesNewRomanPS-Italic\"] = \"Times-Italic\";\n t[\"TimesNewRomanPS-ItalicMT\"] = \"Times-Italic\";\n t.TimesNewRomanPSMT = \"Times-Roman\";\n t[\"TimesNewRomanPSMT-Bold\"] = \"Times-Bold\";\n t[\"TimesNewRomanPSMT-BoldItalic\"] = \"Times-BoldItalic\";\n t[\"TimesNewRomanPSMT-Italic\"] = \"Times-Italic\";\n});\nexports.getStdFontMap = getStdFontMap;\nvar getNonStdFontMap = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.Calibri = \"Helvetica\";\n t[\"Calibri-Bold\"] = \"Helvetica-Bold\";\n t[\"Calibri-BoldItalic\"] = \"Helvetica-BoldOblique\";\n t[\"Calibri-Italic\"] = \"Helvetica-Oblique\";\n t.CenturyGothic = \"Helvetica\";\n t[\"CenturyGothic-Bold\"] = \"Helvetica-Bold\";\n t[\"CenturyGothic-BoldItalic\"] = \"Helvetica-BoldOblique\";\n t[\"CenturyGothic-Italic\"] = \"Helvetica-Oblique\";\n t.ComicSansMS = \"Comic Sans MS\";\n t[\"ComicSansMS-Bold\"] = \"Comic Sans MS-Bold\";\n t[\"ComicSansMS-BoldItalic\"] = \"Comic Sans MS-BoldItalic\";\n t[\"ComicSansMS-Italic\"] = \"Comic Sans MS-Italic\";\n t.LucidaConsole = \"Courier\";\n t[\"LucidaConsole-Bold\"] = \"Courier-Bold\";\n t[\"LucidaConsole-BoldItalic\"] = \"Courier-BoldOblique\";\n t[\"LucidaConsole-Italic\"] = \"Courier-Oblique\";\n t[\"LucidaSans-Demi\"] = \"Helvetica-Bold\";\n t[\"MS-Gothic\"] = \"MS Gothic\";\n t[\"MS-Gothic-Bold\"] = \"MS Gothic-Bold\";\n t[\"MS-Gothic-BoldItalic\"] = \"MS Gothic-BoldItalic\";\n t[\"MS-Gothic-Italic\"] = \"MS Gothic-Italic\";\n t[\"MS-Mincho\"] = \"MS Mincho\";\n t[\"MS-Mincho-Bold\"] = \"MS Mincho-Bold\";\n t[\"MS-Mincho-BoldItalic\"] = \"MS Mincho-BoldItalic\";\n t[\"MS-Mincho-Italic\"] = \"MS Mincho-Italic\";\n t[\"MS-PGothic\"] = \"MS PGothic\";\n t[\"MS-PGothic-Bold\"] = \"MS PGothic-Bold\";\n t[\"MS-PGothic-BoldItalic\"] = \"MS PGothic-BoldItalic\";\n t[\"MS-PGothic-Italic\"] = \"MS PGothic-Italic\";\n t[\"MS-PMincho\"] = \"MS PMincho\";\n t[\"MS-PMincho-Bold\"] = \"MS PMincho-Bold\";\n t[\"MS-PMincho-BoldItalic\"] = \"MS PMincho-BoldItalic\";\n t[\"MS-PMincho-Italic\"] = \"MS PMincho-Italic\";\n t.NuptialScript = \"Times-Italic\";\n t.SegoeUISymbol = \"Helvetica\";\n t.Wingdings = \"ZapfDingbats\";\n t[\"Wingdings-Regular\"] = \"ZapfDingbats\";\n});\nexports.getNonStdFontMap = getNonStdFontMap;\nvar getSerifFonts = (0, _core_utils.getLookupTableFactory)(function (t) {\n t[\"Adobe Jenson\"] = true;\n t[\"Adobe Text\"] = true;\n t.Albertus = true;\n t.Aldus = true;\n t.Alexandria = true;\n t.Algerian = true;\n t[\"American Typewriter\"] = true;\n t.Antiqua = true;\n t.Apex = true;\n t.Arno = true;\n t.Aster = true;\n t.Aurora = true;\n t.Baskerville = true;\n t.Bell = true;\n t.Bembo = true;\n t[\"Bembo Schoolbook\"] = true;\n t.Benguiat = true;\n t[\"Berkeley Old Style\"] = true;\n t[\"Bernhard Modern\"] = true;\n t[\"Berthold City\"] = true;\n t.Bodoni = true;\n t[\"Bauer Bodoni\"] = true;\n t[\"Book Antiqua\"] = true;\n t.Bookman = true;\n t[\"Bordeaux Roman\"] = true;\n t[\"Californian FB\"] = true;\n t.Calisto = true;\n t.Calvert = true;\n t.Capitals = true;\n t.Cambria = true;\n t.Cartier = true;\n t.Caslon = true;\n t.Catull = true;\n t.Centaur = true;\n t[\"Century Old Style\"] = true;\n t[\"Century Schoolbook\"] = true;\n t.Chaparral = true;\n t[\"Charis SIL\"] = true;\n t.Cheltenham = true;\n t[\"Cholla Slab\"] = true;\n t.Clarendon = true;\n t.Clearface = true;\n t.Cochin = true;\n t.Colonna = true;\n t[\"Computer Modern\"] = true;\n t[\"Concrete Roman\"] = true;\n t.Constantia = true;\n t[\"Cooper Black\"] = true;\n t.Corona = true;\n t.Ecotype = true;\n t.Egyptienne = true;\n t.Elephant = true;\n t.Excelsior = true;\n t.Fairfield = true;\n t[\"FF Scala\"] = true;\n t.Folkard = true;\n t.Footlight = true;\n t.FreeSerif = true;\n t[\"Friz Quadrata\"] = true;\n t.Garamond = true;\n t.Gentium = true;\n t.Georgia = true;\n t.Gloucester = true;\n t[\"Goudy Old Style\"] = true;\n t[\"Goudy Schoolbook\"] = true;\n t[\"Goudy Pro Font\"] = true;\n t.Granjon = true;\n t[\"Guardian Egyptian\"] = true;\n t.Heather = true;\n t.Hercules = true;\n t[\"High Tower Text\"] = true;\n t.Hiroshige = true;\n t[\"Hoefler Text\"] = true;\n t[\"Humana Serif\"] = true;\n t.Imprint = true;\n t[\"Ionic No. 5\"] = true;\n t.Janson = true;\n t.Joanna = true;\n t.Korinna = true;\n t.Lexicon = true;\n t[\"Liberation Serif\"] = true;\n t[\"Linux Libertine\"] = true;\n t.Literaturnaya = true;\n t.Lucida = true;\n t[\"Lucida Bright\"] = true;\n t.Melior = true;\n t.Memphis = true;\n t.Miller = true;\n t.Minion = true;\n t.Modern = true;\n t[\"Mona Lisa\"] = true;\n t[\"Mrs Eaves\"] = true;\n t[\"MS Serif\"] = true;\n t[\"Museo Slab\"] = true;\n t[\"New York\"] = true;\n t[\"Nimbus Roman\"] = true;\n t[\"NPS Rawlinson Roadway\"] = true;\n t.NuptialScript = true;\n t.Palatino = true;\n t.Perpetua = true;\n t.Plantin = true;\n t[\"Plantin Schoolbook\"] = true;\n t.Playbill = true;\n t[\"Poor Richard\"] = true;\n t[\"Rawlinson Roadway\"] = true;\n t.Renault = true;\n t.Requiem = true;\n t.Rockwell = true;\n t.Roman = true;\n t[\"Rotis Serif\"] = true;\n t.Sabon = true;\n t.Scala = true;\n t.Seagull = true;\n t.Sistina = true;\n t.Souvenir = true;\n t.STIX = true;\n t[\"Stone Informal\"] = true;\n t[\"Stone Serif\"] = true;\n t.Sylfaen = true;\n t.Times = true;\n t.Trajan = true;\n t[\"Trinité\"] = true;\n t[\"Trump Mediaeval\"] = true;\n t.Utopia = true;\n t[\"Vale Type\"] = true;\n t[\"Bitstream Vera\"] = true;\n t[\"Vera Serif\"] = true;\n t.Versailles = true;\n t.Wanted = true;\n t.Weiss = true;\n t[\"Wide Latin\"] = true;\n t.Windsor = true;\n t.XITS = true;\n});\nexports.getSerifFonts = getSerifFonts;\nvar getSymbolsFonts = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.Dingbats = true;\n t.Symbol = true;\n t.ZapfDingbats = true;\n});\nexports.getSymbolsFonts = getSymbolsFonts;\nvar getGlyphMapForStandardFonts = (0, _core_utils.getLookupTableFactory)(function (t) {\n t[2] = 10;\n t[3] = 32;\n t[4] = 33;\n t[5] = 34;\n t[6] = 35;\n t[7] = 36;\n t[8] = 37;\n t[9] = 38;\n t[10] = 39;\n t[11] = 40;\n t[12] = 41;\n t[13] = 42;\n t[14] = 43;\n t[15] = 44;\n t[16] = 45;\n t[17] = 46;\n t[18] = 47;\n t[19] = 48;\n t[20] = 49;\n t[21] = 50;\n t[22] = 51;\n t[23] = 52;\n t[24] = 53;\n t[25] = 54;\n t[26] = 55;\n t[27] = 56;\n t[28] = 57;\n t[29] = 58;\n t[30] = 894;\n t[31] = 60;\n t[32] = 61;\n t[33] = 62;\n t[34] = 63;\n t[35] = 64;\n t[36] = 65;\n t[37] = 66;\n t[38] = 67;\n t[39] = 68;\n t[40] = 69;\n t[41] = 70;\n t[42] = 71;\n t[43] = 72;\n t[44] = 73;\n t[45] = 74;\n t[46] = 75;\n t[47] = 76;\n t[48] = 77;\n t[49] = 78;\n t[50] = 79;\n t[51] = 80;\n t[52] = 81;\n t[53] = 82;\n t[54] = 83;\n t[55] = 84;\n t[56] = 85;\n t[57] = 86;\n t[58] = 87;\n t[59] = 88;\n t[60] = 89;\n t[61] = 90;\n t[62] = 91;\n t[63] = 92;\n t[64] = 93;\n t[65] = 94;\n t[66] = 95;\n t[67] = 96;\n t[68] = 97;\n t[69] = 98;\n t[70] = 99;\n t[71] = 100;\n t[72] = 101;\n t[73] = 102;\n t[74] = 103;\n t[75] = 104;\n t[76] = 105;\n t[77] = 106;\n t[78] = 107;\n t[79] = 108;\n t[80] = 109;\n t[81] = 110;\n t[82] = 111;\n t[83] = 112;\n t[84] = 113;\n t[85] = 114;\n t[86] = 115;\n t[87] = 116;\n t[88] = 117;\n t[89] = 118;\n t[90] = 119;\n t[91] = 120;\n t[92] = 121;\n t[93] = 122;\n t[94] = 123;\n t[95] = 124;\n t[96] = 125;\n t[97] = 126;\n t[98] = 196;\n t[99] = 197;\n t[100] = 199;\n t[101] = 201;\n t[102] = 209;\n t[103] = 214;\n t[104] = 220;\n t[105] = 225;\n t[106] = 224;\n t[107] = 226;\n t[108] = 228;\n t[109] = 227;\n t[110] = 229;\n t[111] = 231;\n t[112] = 233;\n t[113] = 232;\n t[114] = 234;\n t[115] = 235;\n t[116] = 237;\n t[117] = 236;\n t[118] = 238;\n t[119] = 239;\n t[120] = 241;\n t[121] = 243;\n t[122] = 242;\n t[123] = 244;\n t[124] = 246;\n t[125] = 245;\n t[126] = 250;\n t[127] = 249;\n t[128] = 251;\n t[129] = 252;\n t[130] = 8224;\n t[131] = 176;\n t[132] = 162;\n t[133] = 163;\n t[134] = 167;\n t[135] = 8226;\n t[136] = 182;\n t[137] = 223;\n t[138] = 174;\n t[139] = 169;\n t[140] = 8482;\n t[141] = 180;\n t[142] = 168;\n t[143] = 8800;\n t[144] = 198;\n t[145] = 216;\n t[146] = 8734;\n t[147] = 177;\n t[148] = 8804;\n t[149] = 8805;\n t[150] = 165;\n t[151] = 181;\n t[152] = 8706;\n t[153] = 8721;\n t[154] = 8719;\n t[156] = 8747;\n t[157] = 170;\n t[158] = 186;\n t[159] = 8486;\n t[160] = 230;\n t[161] = 248;\n t[162] = 191;\n t[163] = 161;\n t[164] = 172;\n t[165] = 8730;\n t[166] = 402;\n t[167] = 8776;\n t[168] = 8710;\n t[169] = 171;\n t[170] = 187;\n t[171] = 8230;\n t[210] = 218;\n t[223] = 711;\n t[224] = 321;\n t[225] = 322;\n t[227] = 353;\n t[229] = 382;\n t[234] = 253;\n t[252] = 263;\n t[253] = 268;\n t[254] = 269;\n t[258] = 258;\n t[260] = 260;\n t[261] = 261;\n t[265] = 280;\n t[266] = 281;\n t[268] = 283;\n t[269] = 313;\n t[275] = 323;\n t[276] = 324;\n t[278] = 328;\n t[284] = 345;\n t[285] = 346;\n t[286] = 347;\n t[292] = 367;\n t[295] = 377;\n t[296] = 378;\n t[298] = 380;\n t[305] = 963;\n t[306] = 964;\n t[307] = 966;\n t[308] = 8215;\n t[309] = 8252;\n t[310] = 8319;\n t[311] = 8359;\n t[312] = 8592;\n t[313] = 8593;\n t[337] = 9552;\n t[493] = 1039;\n t[494] = 1040;\n t[705] = 1524;\n t[706] = 8362;\n t[710] = 64288;\n t[711] = 64298;\n t[759] = 1617;\n t[761] = 1776;\n t[763] = 1778;\n t[775] = 1652;\n t[777] = 1764;\n t[778] = 1780;\n t[779] = 1781;\n t[780] = 1782;\n t[782] = 771;\n t[783] = 64726;\n t[786] = 8363;\n t[788] = 8532;\n t[790] = 768;\n t[791] = 769;\n t[792] = 768;\n t[795] = 803;\n t[797] = 64336;\n t[798] = 64337;\n t[799] = 64342;\n t[800] = 64343;\n t[801] = 64344;\n t[802] = 64345;\n t[803] = 64362;\n t[804] = 64363;\n t[805] = 64364;\n t[2424] = 7821;\n t[2425] = 7822;\n t[2426] = 7823;\n t[2427] = 7824;\n t[2428] = 7825;\n t[2429] = 7826;\n t[2430] = 7827;\n t[2433] = 7682;\n t[2678] = 8045;\n t[2679] = 8046;\n t[2830] = 1552;\n t[2838] = 686;\n t[2840] = 751;\n t[2842] = 753;\n t[2843] = 754;\n t[2844] = 755;\n t[2846] = 757;\n t[2856] = 767;\n t[2857] = 848;\n t[2858] = 849;\n t[2862] = 853;\n t[2863] = 854;\n t[2864] = 855;\n t[2865] = 861;\n t[2866] = 862;\n t[2906] = 7460;\n t[2908] = 7462;\n t[2909] = 7463;\n t[2910] = 7464;\n t[2912] = 7466;\n t[2913] = 7467;\n t[2914] = 7468;\n t[2916] = 7470;\n t[2917] = 7471;\n t[2918] = 7472;\n t[2920] = 7474;\n t[2921] = 7475;\n t[2922] = 7476;\n t[2924] = 7478;\n t[2925] = 7479;\n t[2926] = 7480;\n t[2928] = 7482;\n t[2929] = 7483;\n t[2930] = 7484;\n t[2932] = 7486;\n t[2933] = 7487;\n t[2934] = 7488;\n t[2936] = 7490;\n t[2937] = 7491;\n t[2938] = 7492;\n t[2940] = 7494;\n t[2941] = 7495;\n t[2942] = 7496;\n t[2944] = 7498;\n t[2946] = 7500;\n t[2948] = 7502;\n t[2950] = 7504;\n t[2951] = 7505;\n t[2952] = 7506;\n t[2954] = 7508;\n t[2955] = 7509;\n t[2956] = 7510;\n t[2958] = 7512;\n t[2959] = 7513;\n t[2960] = 7514;\n t[2962] = 7516;\n t[2963] = 7517;\n t[2964] = 7518;\n t[2966] = 7520;\n t[2967] = 7521;\n t[2968] = 7522;\n t[2970] = 7524;\n t[2971] = 7525;\n t[2972] = 7526;\n t[2974] = 7528;\n t[2975] = 7529;\n t[2976] = 7530;\n t[2978] = 1537;\n t[2979] = 1538;\n t[2980] = 1539;\n t[2982] = 1549;\n t[2983] = 1551;\n t[2984] = 1552;\n t[2986] = 1554;\n t[2987] = 1555;\n t[2988] = 1556;\n t[2990] = 1623;\n t[2991] = 1624;\n t[2995] = 1775;\n t[2999] = 1791;\n t[3002] = 64290;\n t[3003] = 64291;\n t[3004] = 64292;\n t[3006] = 64294;\n t[3007] = 64295;\n t[3008] = 64296;\n t[3011] = 1900;\n t[3014] = 8223;\n t[3015] = 8244;\n t[3017] = 7532;\n t[3018] = 7533;\n t[3019] = 7534;\n t[3075] = 7590;\n t[3076] = 7591;\n t[3079] = 7594;\n t[3080] = 7595;\n t[3083] = 7598;\n t[3084] = 7599;\n t[3087] = 7602;\n t[3088] = 7603;\n t[3091] = 7606;\n t[3092] = 7607;\n t[3095] = 7610;\n t[3096] = 7611;\n t[3099] = 7614;\n t[3100] = 7615;\n t[3103] = 7618;\n t[3104] = 7619;\n t[3107] = 8337;\n t[3108] = 8338;\n t[3116] = 1884;\n t[3119] = 1885;\n t[3120] = 1885;\n t[3123] = 1886;\n t[3124] = 1886;\n t[3127] = 1887;\n t[3128] = 1887;\n t[3131] = 1888;\n t[3132] = 1888;\n t[3135] = 1889;\n t[3136] = 1889;\n t[3139] = 1890;\n t[3140] = 1890;\n t[3143] = 1891;\n t[3144] = 1891;\n t[3147] = 1892;\n t[3148] = 1892;\n t[3153] = 580;\n t[3154] = 581;\n t[3157] = 584;\n t[3158] = 585;\n t[3161] = 588;\n t[3162] = 589;\n t[3165] = 891;\n t[3166] = 892;\n t[3169] = 1274;\n t[3170] = 1275;\n t[3173] = 1278;\n t[3174] = 1279;\n t[3181] = 7622;\n t[3182] = 7623;\n t[3282] = 11799;\n t[3316] = 578;\n t[3379] = 42785;\n t[3393] = 1159;\n t[3416] = 8377;\n});\nexports.getGlyphMapForStandardFonts = getGlyphMapForStandardFonts;\nvar getSupplementalGlyphMapForArialBlack = (0, _core_utils.getLookupTableFactory)(function (t) {\n t[227] = 322;\n t[264] = 261;\n t[291] = 346;\n});\nexports.getSupplementalGlyphMapForArialBlack = getSupplementalGlyphMapForArialBlack;\nvar getSupplementalGlyphMapForCalibri = (0, _core_utils.getLookupTableFactory)(function (t) {\n t[1] = 32;\n t[4] = 65;\n t[17] = 66;\n t[18] = 67;\n t[24] = 68;\n t[28] = 69;\n t[38] = 70;\n t[39] = 71;\n t[44] = 72;\n t[47] = 73;\n t[58] = 74;\n t[60] = 75;\n t[62] = 76;\n t[68] = 77;\n t[69] = 78;\n t[75] = 79;\n t[87] = 80;\n t[89] = 81;\n t[90] = 82;\n t[94] = 83;\n t[100] = 84;\n t[104] = 85;\n t[115] = 86;\n t[116] = 87;\n t[121] = 88;\n t[122] = 89;\n t[127] = 90;\n t[258] = 97;\n t[268] = 261;\n t[271] = 98;\n t[272] = 99;\n t[273] = 263;\n t[282] = 100;\n t[286] = 101;\n t[295] = 281;\n t[296] = 102;\n t[336] = 103;\n t[346] = 104;\n t[349] = 105;\n t[361] = 106;\n t[364] = 107;\n t[367] = 108;\n t[371] = 322;\n t[373] = 109;\n t[374] = 110;\n t[381] = 111;\n t[383] = 243;\n t[393] = 112;\n t[395] = 113;\n t[396] = 114;\n t[400] = 115;\n t[401] = 347;\n t[410] = 116;\n t[437] = 117;\n t[448] = 118;\n t[449] = 119;\n t[454] = 120;\n t[455] = 121;\n t[460] = 122;\n t[463] = 380;\n t[853] = 44;\n t[855] = 58;\n t[856] = 46;\n t[876] = 47;\n t[878] = 45;\n t[882] = 45;\n t[894] = 40;\n t[895] = 41;\n t[896] = 91;\n t[897] = 93;\n t[923] = 64;\n t[1004] = 48;\n t[1005] = 49;\n t[1006] = 50;\n t[1007] = 51;\n t[1008] = 52;\n t[1009] = 53;\n t[1010] = 54;\n t[1011] = 55;\n t[1012] = 56;\n t[1013] = 57;\n t[1081] = 37;\n t[1085] = 43;\n t[1086] = 45;\n});\nexports.getSupplementalGlyphMapForCalibri = getSupplementalGlyphMapForCalibri;\n\n/***/ }),\n/* 233 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getLookupTableFactory = __w_pdfjs_require__(205).getLookupTableFactory;\nvar getSpecialPUASymbols = getLookupTableFactory(function (t) {\n t[63721] = 0x00a9;\n t[63193] = 0x00a9;\n t[63720] = 0x00ae;\n t[63194] = 0x00ae;\n t[63722] = 0x2122;\n t[63195] = 0x2122;\n t[63729] = 0x23a7;\n t[63730] = 0x23a8;\n t[63731] = 0x23a9;\n t[63740] = 0x23ab;\n t[63741] = 0x23ac;\n t[63742] = 0x23ad;\n t[63726] = 0x23a1;\n t[63727] = 0x23a2;\n t[63728] = 0x23a3;\n t[63737] = 0x23a4;\n t[63738] = 0x23a5;\n t[63739] = 0x23a6;\n t[63723] = 0x239b;\n t[63724] = 0x239c;\n t[63725] = 0x239d;\n t[63734] = 0x239e;\n t[63735] = 0x239f;\n t[63736] = 0x23a0;\n});\nfunction mapSpecialUnicodeValues(code) {\n if (code >= 0xfff0 && code <= 0xffff) {\n return 0;\n } else if (code >= 0xf600 && code <= 0xf8ff) {\n return getSpecialPUASymbols()[code] || code;\n } else if (code === 0x00ad) {\n return 0x002d;\n }\n return code;\n}\nfunction getUnicodeForGlyph(name, glyphsUnicodeMap) {\n var unicode = glyphsUnicodeMap[name];\n if (unicode !== undefined) {\n return unicode;\n }\n if (!name) {\n return -1;\n }\n if (name[0] === \"u\") {\n var nameLen = name.length, hexStr;\n if (nameLen === 7 && name[1] === \"n\" && name[2] === \"i\") {\n hexStr = name.substring(3);\n } else if (nameLen >= 5 && nameLen <= 7) {\n hexStr = name.substring(1);\n } else {\n return -1;\n }\n if (hexStr === hexStr.toUpperCase()) {\n unicode = parseInt(hexStr, 16);\n if (unicode >= 0) {\n return unicode;\n }\n }\n }\n return -1;\n}\nvar UnicodeRanges = [\n {\n begin: 0x0000,\n end: 0x007f\n },\n {\n begin: 0x0080,\n end: 0x00ff\n },\n {\n begin: 0x0100,\n end: 0x017f\n },\n {\n begin: 0x0180,\n end: 0x024f\n },\n {\n begin: 0x0250,\n end: 0x02af\n },\n {\n begin: 0x02b0,\n end: 0x02ff\n },\n {\n begin: 0x0300,\n end: 0x036f\n },\n {\n begin: 0x0370,\n end: 0x03ff\n },\n {\n begin: 0x2c80,\n end: 0x2cff\n },\n {\n begin: 0x0400,\n end: 0x04ff\n },\n {\n begin: 0x0530,\n end: 0x058f\n },\n {\n begin: 0x0590,\n end: 0x05ff\n },\n {\n begin: 0xa500,\n end: 0xa63f\n },\n {\n begin: 0x0600,\n end: 0x06ff\n },\n {\n begin: 0x07c0,\n end: 0x07ff\n },\n {\n begin: 0x0900,\n end: 0x097f\n },\n {\n begin: 0x0980,\n end: 0x09ff\n },\n {\n begin: 0x0a00,\n end: 0x0a7f\n },\n {\n begin: 0x0a80,\n end: 0x0aff\n },\n {\n begin: 0x0b00,\n end: 0x0b7f\n },\n {\n begin: 0x0b80,\n end: 0x0bff\n },\n {\n begin: 0x0c00,\n end: 0x0c7f\n },\n {\n begin: 0x0c80,\n end: 0x0cff\n },\n {\n begin: 0x0d00,\n end: 0x0d7f\n },\n {\n begin: 0x0e00,\n end: 0x0e7f\n },\n {\n begin: 0x0e80,\n end: 0x0eff\n },\n {\n begin: 0x10a0,\n end: 0x10ff\n },\n {\n begin: 0x1b00,\n end: 0x1b7f\n },\n {\n begin: 0x1100,\n end: 0x11ff\n },\n {\n begin: 0x1e00,\n end: 0x1eff\n },\n {\n begin: 0x1f00,\n end: 0x1fff\n },\n {\n begin: 0x2000,\n end: 0x206f\n },\n {\n begin: 0x2070,\n end: 0x209f\n },\n {\n begin: 0x20a0,\n end: 0x20cf\n },\n {\n begin: 0x20d0,\n end: 0x20ff\n },\n {\n begin: 0x2100,\n end: 0x214f\n },\n {\n begin: 0x2150,\n end: 0x218f\n },\n {\n begin: 0x2190,\n end: 0x21ff\n },\n {\n begin: 0x2200,\n end: 0x22ff\n },\n {\n begin: 0x2300,\n end: 0x23ff\n },\n {\n begin: 0x2400,\n end: 0x243f\n },\n {\n begin: 0x2440,\n end: 0x245f\n },\n {\n begin: 0x2460,\n end: 0x24ff\n },\n {\n begin: 0x2500,\n end: 0x257f\n },\n {\n begin: 0x2580,\n end: 0x259f\n },\n {\n begin: 0x25a0,\n end: 0x25ff\n },\n {\n begin: 0x2600,\n end: 0x26ff\n },\n {\n begin: 0x2700,\n end: 0x27bf\n },\n {\n begin: 0x3000,\n end: 0x303f\n },\n {\n begin: 0x3040,\n end: 0x309f\n },\n {\n begin: 0x30a0,\n end: 0x30ff\n },\n {\n begin: 0x3100,\n end: 0x312f\n },\n {\n begin: 0x3130,\n end: 0x318f\n },\n {\n begin: 0xa840,\n end: 0xa87f\n },\n {\n begin: 0x3200,\n end: 0x32ff\n },\n {\n begin: 0x3300,\n end: 0x33ff\n },\n {\n begin: 0xac00,\n end: 0xd7af\n },\n {\n begin: 0xd800,\n end: 0xdfff\n },\n {\n begin: 0x10900,\n end: 0x1091f\n },\n {\n begin: 0x4e00,\n end: 0x9fff\n },\n {\n begin: 0xe000,\n end: 0xf8ff\n },\n {\n begin: 0x31c0,\n end: 0x31ef\n },\n {\n begin: 0xfb00,\n end: 0xfb4f\n },\n {\n begin: 0xfb50,\n end: 0xfdff\n },\n {\n begin: 0xfe20,\n end: 0xfe2f\n },\n {\n begin: 0xfe10,\n end: 0xfe1f\n },\n {\n begin: 0xfe50,\n end: 0xfe6f\n },\n {\n begin: 0xfe70,\n end: 0xfeff\n },\n {\n begin: 0xff00,\n end: 0xffef\n },\n {\n begin: 0xfff0,\n end: 0xffff\n },\n {\n begin: 0x0f00,\n end: 0x0fff\n },\n {\n begin: 0x0700,\n end: 0x074f\n },\n {\n begin: 0x0780,\n end: 0x07bf\n },\n {\n begin: 0x0d80,\n end: 0x0dff\n },\n {\n begin: 0x1000,\n end: 0x109f\n },\n {\n begin: 0x1200,\n end: 0x137f\n },\n {\n begin: 0x13a0,\n end: 0x13ff\n },\n {\n begin: 0x1400,\n end: 0x167f\n },\n {\n begin: 0x1680,\n end: 0x169f\n },\n {\n begin: 0x16a0,\n end: 0x16ff\n },\n {\n begin: 0x1780,\n end: 0x17ff\n },\n {\n begin: 0x1800,\n end: 0x18af\n },\n {\n begin: 0x2800,\n end: 0x28ff\n },\n {\n begin: 0xa000,\n end: 0xa48f\n },\n {\n begin: 0x1700,\n end: 0x171f\n },\n {\n begin: 0x10300,\n end: 0x1032f\n },\n {\n begin: 0x10330,\n end: 0x1034f\n },\n {\n begin: 0x10400,\n end: 0x1044f\n },\n {\n begin: 0x1d000,\n end: 0x1d0ff\n },\n {\n begin: 0x1d400,\n end: 0x1d7ff\n },\n {\n begin: 0xff000,\n end: 0xffffd\n },\n {\n begin: 0xfe00,\n end: 0xfe0f\n },\n {\n begin: 0xe0000,\n end: 0xe007f\n },\n {\n begin: 0x1900,\n end: 0x194f\n },\n {\n begin: 0x1950,\n end: 0x197f\n },\n {\n begin: 0x1980,\n end: 0x19df\n },\n {\n begin: 0x1a00,\n end: 0x1a1f\n },\n {\n begin: 0x2c00,\n end: 0x2c5f\n },\n {\n begin: 0x2d30,\n end: 0x2d7f\n },\n {\n begin: 0x4dc0,\n end: 0x4dff\n },\n {\n begin: 0xa800,\n end: 0xa82f\n },\n {\n begin: 0x10000,\n end: 0x1007f\n },\n {\n begin: 0x10140,\n end: 0x1018f\n },\n {\n begin: 0x10380,\n end: 0x1039f\n },\n {\n begin: 0x103a0,\n end: 0x103df\n },\n {\n begin: 0x10450,\n end: 0x1047f\n },\n {\n begin: 0x10480,\n end: 0x104af\n },\n {\n begin: 0x10800,\n end: 0x1083f\n },\n {\n begin: 0x10a00,\n end: 0x10a5f\n },\n {\n begin: 0x1d300,\n end: 0x1d35f\n },\n {\n begin: 0x12000,\n end: 0x123ff\n },\n {\n begin: 0x1d360,\n end: 0x1d37f\n },\n {\n begin: 0x1b80,\n end: 0x1bbf\n },\n {\n begin: 0x1c00,\n end: 0x1c4f\n },\n {\n begin: 0x1c50,\n end: 0x1c7f\n },\n {\n begin: 0xa880,\n end: 0xa8df\n },\n {\n begin: 0xa900,\n end: 0xa92f\n },\n {\n begin: 0xa930,\n end: 0xa95f\n },\n {\n begin: 0xaa00,\n end: 0xaa5f\n },\n {\n begin: 0x10190,\n end: 0x101cf\n },\n {\n begin: 0x101d0,\n end: 0x101ff\n },\n {\n begin: 0x102a0,\n end: 0x102df\n },\n {\n begin: 0x1f030,\n end: 0x1f09f\n }\n];\nfunction getUnicodeRangeFor(value) {\n for (var i = 0, ii = UnicodeRanges.length; i < ii; i++) {\n var range = UnicodeRanges[i];\n if (value >= range.begin && value < range.end) {\n return i;\n }\n }\n return -1;\n}\nfunction isRTLRangeFor(value) {\n var range = UnicodeRanges[13];\n if (value >= range.begin && value < range.end) {\n return true;\n }\n range = UnicodeRanges[11];\n if (value >= range.begin && value < range.end) {\n return true;\n }\n return false;\n}\nvar getNormalizedUnicodes = getLookupTableFactory(function (t) {\n t[\"\\u00A8\"] = \"\\u0020\\u0308\";\n t[\"\\u00AF\"] = \"\\u0020\\u0304\";\n t[\"\\u00B4\"] = \"\\u0020\\u0301\";\n t[\"\\u00B5\"] = \"\\u03BC\";\n t[\"\\u00B8\"] = \"\\u0020\\u0327\";\n t[\"\\u0132\"] = \"\\u0049\\u004A\";\n t[\"\\u0133\"] = \"\\u0069\\u006A\";\n t[\"\\u013F\"] = \"\\u004C\\u00B7\";\n t[\"\\u0140\"] = \"\\u006C\\u00B7\";\n t[\"\\u0149\"] = \"\\u02BC\\u006E\";\n t[\"\\u017F\"] = \"\\u0073\";\n t[\"\\u01C4\"] = \"\\u0044\\u017D\";\n t[\"\\u01C5\"] = \"\\u0044\\u017E\";\n t[\"\\u01C6\"] = \"\\u0064\\u017E\";\n t[\"\\u01C7\"] = \"\\u004C\\u004A\";\n t[\"\\u01C8\"] = \"\\u004C\\u006A\";\n t[\"\\u01C9\"] = \"\\u006C\\u006A\";\n t[\"\\u01CA\"] = \"\\u004E\\u004A\";\n t[\"\\u01CB\"] = \"\\u004E\\u006A\";\n t[\"\\u01CC\"] = \"\\u006E\\u006A\";\n t[\"\\u01F1\"] = \"\\u0044\\u005A\";\n t[\"\\u01F2\"] = \"\\u0044\\u007A\";\n t[\"\\u01F3\"] = \"\\u0064\\u007A\";\n t[\"\\u02D8\"] = \"\\u0020\\u0306\";\n t[\"\\u02D9\"] = \"\\u0020\\u0307\";\n t[\"\\u02DA\"] = \"\\u0020\\u030A\";\n t[\"\\u02DB\"] = \"\\u0020\\u0328\";\n t[\"\\u02DC\"] = \"\\u0020\\u0303\";\n t[\"\\u02DD\"] = \"\\u0020\\u030B\";\n t[\"\\u037A\"] = \"\\u0020\\u0345\";\n t[\"\\u0384\"] = \"\\u0020\\u0301\";\n t[\"\\u03D0\"] = \"\\u03B2\";\n t[\"\\u03D1\"] = \"\\u03B8\";\n t[\"\\u03D2\"] = \"\\u03A5\";\n t[\"\\u03D5\"] = \"\\u03C6\";\n t[\"\\u03D6\"] = \"\\u03C0\";\n t[\"\\u03F0\"] = \"\\u03BA\";\n t[\"\\u03F1\"] = \"\\u03C1\";\n t[\"\\u03F2\"] = \"\\u03C2\";\n t[\"\\u03F4\"] = \"\\u0398\";\n t[\"\\u03F5\"] = \"\\u03B5\";\n t[\"\\u03F9\"] = \"\\u03A3\";\n t[\"\\u0587\"] = \"\\u0565\\u0582\";\n t[\"\\u0675\"] = \"\\u0627\\u0674\";\n t[\"\\u0676\"] = \"\\u0648\\u0674\";\n t[\"\\u0677\"] = \"\\u06C7\\u0674\";\n t[\"\\u0678\"] = \"\\u064A\\u0674\";\n t[\"\\u0E33\"] = \"\\u0E4D\\u0E32\";\n t[\"\\u0EB3\"] = \"\\u0ECD\\u0EB2\";\n t[\"\\u0EDC\"] = \"\\u0EAB\\u0E99\";\n t[\"\\u0EDD\"] = \"\\u0EAB\\u0EA1\";\n t[\"\\u0F77\"] = \"\\u0FB2\\u0F81\";\n t[\"\\u0F79\"] = \"\\u0FB3\\u0F81\";\n t[\"\\u1E9A\"] = \"\\u0061\\u02BE\";\n t[\"\\u1FBD\"] = \"\\u0020\\u0313\";\n t[\"\\u1FBF\"] = \"\\u0020\\u0313\";\n t[\"\\u1FC0\"] = \"\\u0020\\u0342\";\n t[\"\\u1FFE\"] = \"\\u0020\\u0314\";\n t[\"\\u2002\"] = \"\\u0020\";\n t[\"\\u2003\"] = \"\\u0020\";\n t[\"\\u2004\"] = \"\\u0020\";\n t[\"\\u2005\"] = \"\\u0020\";\n t[\"\\u2006\"] = \"\\u0020\";\n t[\"\\u2008\"] = \"\\u0020\";\n t[\"\\u2009\"] = \"\\u0020\";\n t[\"\\u200A\"] = \"\\u0020\";\n t[\"\\u2017\"] = \"\\u0020\\u0333\";\n t[\"\\u2024\"] = \"\\u002E\";\n t[\"\\u2025\"] = \"\\u002E\\u002E\";\n t[\"\\u2026\"] = \"\\u002E\\u002E\\u002E\";\n t[\"\\u2033\"] = \"\\u2032\\u2032\";\n t[\"\\u2034\"] = \"\\u2032\\u2032\\u2032\";\n t[\"\\u2036\"] = \"\\u2035\\u2035\";\n t[\"\\u2037\"] = \"\\u2035\\u2035\\u2035\";\n t[\"\\u203C\"] = \"\\u0021\\u0021\";\n t[\"\\u203E\"] = \"\\u0020\\u0305\";\n t[\"\\u2047\"] = \"\\u003F\\u003F\";\n t[\"\\u2048\"] = \"\\u003F\\u0021\";\n t[\"\\u2049\"] = \"\\u0021\\u003F\";\n t[\"\\u2057\"] = \"\\u2032\\u2032\\u2032\\u2032\";\n t[\"\\u205F\"] = \"\\u0020\";\n t[\"\\u20A8\"] = \"\\u0052\\u0073\";\n t[\"\\u2100\"] = \"\\u0061\\u002F\\u0063\";\n t[\"\\u2101\"] = \"\\u0061\\u002F\\u0073\";\n t[\"\\u2103\"] = \"\\u00B0\\u0043\";\n t[\"\\u2105\"] = \"\\u0063\\u002F\\u006F\";\n t[\"\\u2106\"] = \"\\u0063\\u002F\\u0075\";\n t[\"\\u2107\"] = \"\\u0190\";\n t[\"\\u2109\"] = \"\\u00B0\\u0046\";\n t[\"\\u2116\"] = \"\\u004E\\u006F\";\n t[\"\\u2121\"] = \"\\u0054\\u0045\\u004C\";\n t[\"\\u2135\"] = \"\\u05D0\";\n t[\"\\u2136\"] = \"\\u05D1\";\n t[\"\\u2137\"] = \"\\u05D2\";\n t[\"\\u2138\"] = \"\\u05D3\";\n t[\"\\u213B\"] = \"\\u0046\\u0041\\u0058\";\n t[\"\\u2160\"] = \"\\u0049\";\n t[\"\\u2161\"] = \"\\u0049\\u0049\";\n t[\"\\u2162\"] = \"\\u0049\\u0049\\u0049\";\n t[\"\\u2163\"] = \"\\u0049\\u0056\";\n t[\"\\u2164\"] = \"\\u0056\";\n t[\"\\u2165\"] = \"\\u0056\\u0049\";\n t[\"\\u2166\"] = \"\\u0056\\u0049\\u0049\";\n t[\"\\u2167\"] = \"\\u0056\\u0049\\u0049\\u0049\";\n t[\"\\u2168\"] = \"\\u0049\\u0058\";\n t[\"\\u2169\"] = \"\\u0058\";\n t[\"\\u216A\"] = \"\\u0058\\u0049\";\n t[\"\\u216B\"] = \"\\u0058\\u0049\\u0049\";\n t[\"\\u216C\"] = \"\\u004C\";\n t[\"\\u216D\"] = \"\\u0043\";\n t[\"\\u216E\"] = \"\\u0044\";\n t[\"\\u216F\"] = \"\\u004D\";\n t[\"\\u2170\"] = \"\\u0069\";\n t[\"\\u2171\"] = \"\\u0069\\u0069\";\n t[\"\\u2172\"] = \"\\u0069\\u0069\\u0069\";\n t[\"\\u2173\"] = \"\\u0069\\u0076\";\n t[\"\\u2174\"] = \"\\u0076\";\n t[\"\\u2175\"] = \"\\u0076\\u0069\";\n t[\"\\u2176\"] = \"\\u0076\\u0069\\u0069\";\n t[\"\\u2177\"] = \"\\u0076\\u0069\\u0069\\u0069\";\n t[\"\\u2178\"] = \"\\u0069\\u0078\";\n t[\"\\u2179\"] = \"\\u0078\";\n t[\"\\u217A\"] = \"\\u0078\\u0069\";\n t[\"\\u217B\"] = \"\\u0078\\u0069\\u0069\";\n t[\"\\u217C\"] = \"\\u006C\";\n t[\"\\u217D\"] = \"\\u0063\";\n t[\"\\u217E\"] = \"\\u0064\";\n t[\"\\u217F\"] = \"\\u006D\";\n t[\"\\u222C\"] = \"\\u222B\\u222B\";\n t[\"\\u222D\"] = \"\\u222B\\u222B\\u222B\";\n t[\"\\u222F\"] = \"\\u222E\\u222E\";\n t[\"\\u2230\"] = \"\\u222E\\u222E\\u222E\";\n t[\"\\u2474\"] = \"\\u0028\\u0031\\u0029\";\n t[\"\\u2475\"] = \"\\u0028\\u0032\\u0029\";\n t[\"\\u2476\"] = \"\\u0028\\u0033\\u0029\";\n t[\"\\u2477\"] = \"\\u0028\\u0034\\u0029\";\n t[\"\\u2478\"] = \"\\u0028\\u0035\\u0029\";\n t[\"\\u2479\"] = \"\\u0028\\u0036\\u0029\";\n t[\"\\u247A\"] = \"\\u0028\\u0037\\u0029\";\n t[\"\\u247B\"] = \"\\u0028\\u0038\\u0029\";\n t[\"\\u247C\"] = \"\\u0028\\u0039\\u0029\";\n t[\"\\u247D\"] = \"\\u0028\\u0031\\u0030\\u0029\";\n t[\"\\u247E\"] = \"\\u0028\\u0031\\u0031\\u0029\";\n t[\"\\u247F\"] = \"\\u0028\\u0031\\u0032\\u0029\";\n t[\"\\u2480\"] = \"\\u0028\\u0031\\u0033\\u0029\";\n t[\"\\u2481\"] = \"\\u0028\\u0031\\u0034\\u0029\";\n t[\"\\u2482\"] = \"\\u0028\\u0031\\u0035\\u0029\";\n t[\"\\u2483\"] = \"\\u0028\\u0031\\u0036\\u0029\";\n t[\"\\u2484\"] = \"\\u0028\\u0031\\u0037\\u0029\";\n t[\"\\u2485\"] = \"\\u0028\\u0031\\u0038\\u0029\";\n t[\"\\u2486\"] = \"\\u0028\\u0031\\u0039\\u0029\";\n t[\"\\u2487\"] = \"\\u0028\\u0032\\u0030\\u0029\";\n t[\"\\u2488\"] = \"\\u0031\\u002E\";\n t[\"\\u2489\"] = \"\\u0032\\u002E\";\n t[\"\\u248A\"] = \"\\u0033\\u002E\";\n t[\"\\u248B\"] = \"\\u0034\\u002E\";\n t[\"\\u248C\"] = \"\\u0035\\u002E\";\n t[\"\\u248D\"] = \"\\u0036\\u002E\";\n t[\"\\u248E\"] = \"\\u0037\\u002E\";\n t[\"\\u248F\"] = \"\\u0038\\u002E\";\n t[\"\\u2490\"] = \"\\u0039\\u002E\";\n t[\"\\u2491\"] = \"\\u0031\\u0030\\u002E\";\n t[\"\\u2492\"] = \"\\u0031\\u0031\\u002E\";\n t[\"\\u2493\"] = \"\\u0031\\u0032\\u002E\";\n t[\"\\u2494\"] = \"\\u0031\\u0033\\u002E\";\n t[\"\\u2495\"] = \"\\u0031\\u0034\\u002E\";\n t[\"\\u2496\"] = \"\\u0031\\u0035\\u002E\";\n t[\"\\u2497\"] = \"\\u0031\\u0036\\u002E\";\n t[\"\\u2498\"] = \"\\u0031\\u0037\\u002E\";\n t[\"\\u2499\"] = \"\\u0031\\u0038\\u002E\";\n t[\"\\u249A\"] = \"\\u0031\\u0039\\u002E\";\n t[\"\\u249B\"] = \"\\u0032\\u0030\\u002E\";\n t[\"\\u249C\"] = \"\\u0028\\u0061\\u0029\";\n t[\"\\u249D\"] = \"\\u0028\\u0062\\u0029\";\n t[\"\\u249E\"] = \"\\u0028\\u0063\\u0029\";\n t[\"\\u249F\"] = \"\\u0028\\u0064\\u0029\";\n t[\"\\u24A0\"] = \"\\u0028\\u0065\\u0029\";\n t[\"\\u24A1\"] = \"\\u0028\\u0066\\u0029\";\n t[\"\\u24A2\"] = \"\\u0028\\u0067\\u0029\";\n t[\"\\u24A3\"] = \"\\u0028\\u0068\\u0029\";\n t[\"\\u24A4\"] = \"\\u0028\\u0069\\u0029\";\n t[\"\\u24A5\"] = \"\\u0028\\u006A\\u0029\";\n t[\"\\u24A6\"] = \"\\u0028\\u006B\\u0029\";\n t[\"\\u24A7\"] = \"\\u0028\\u006C\\u0029\";\n t[\"\\u24A8\"] = \"\\u0028\\u006D\\u0029\";\n t[\"\\u24A9\"] = \"\\u0028\\u006E\\u0029\";\n t[\"\\u24AA\"] = \"\\u0028\\u006F\\u0029\";\n t[\"\\u24AB\"] = \"\\u0028\\u0070\\u0029\";\n t[\"\\u24AC\"] = \"\\u0028\\u0071\\u0029\";\n t[\"\\u24AD\"] = \"\\u0028\\u0072\\u0029\";\n t[\"\\u24AE\"] = \"\\u0028\\u0073\\u0029\";\n t[\"\\u24AF\"] = \"\\u0028\\u0074\\u0029\";\n t[\"\\u24B0\"] = \"\\u0028\\u0075\\u0029\";\n t[\"\\u24B1\"] = \"\\u0028\\u0076\\u0029\";\n t[\"\\u24B2\"] = \"\\u0028\\u0077\\u0029\";\n t[\"\\u24B3\"] = \"\\u0028\\u0078\\u0029\";\n t[\"\\u24B4\"] = \"\\u0028\\u0079\\u0029\";\n t[\"\\u24B5\"] = \"\\u0028\\u007A\\u0029\";\n t[\"\\u2A0C\"] = \"\\u222B\\u222B\\u222B\\u222B\";\n t[\"\\u2A74\"] = \"\\u003A\\u003A\\u003D\";\n t[\"\\u2A75\"] = \"\\u003D\\u003D\";\n t[\"\\u2A76\"] = \"\\u003D\\u003D\\u003D\";\n t[\"\\u2E9F\"] = \"\\u6BCD\";\n t[\"\\u2EF3\"] = \"\\u9F9F\";\n t[\"\\u2F00\"] = \"\\u4E00\";\n t[\"\\u2F01\"] = \"\\u4E28\";\n t[\"\\u2F02\"] = \"\\u4E36\";\n t[\"\\u2F03\"] = \"\\u4E3F\";\n t[\"\\u2F04\"] = \"\\u4E59\";\n t[\"\\u2F05\"] = \"\\u4E85\";\n t[\"\\u2F06\"] = \"\\u4E8C\";\n t[\"\\u2F07\"] = \"\\u4EA0\";\n t[\"\\u2F08\"] = \"\\u4EBA\";\n t[\"\\u2F09\"] = \"\\u513F\";\n t[\"\\u2F0A\"] = \"\\u5165\";\n t[\"\\u2F0B\"] = \"\\u516B\";\n t[\"\\u2F0C\"] = \"\\u5182\";\n t[\"\\u2F0D\"] = \"\\u5196\";\n t[\"\\u2F0E\"] = \"\\u51AB\";\n t[\"\\u2F0F\"] = \"\\u51E0\";\n t[\"\\u2F10\"] = \"\\u51F5\";\n t[\"\\u2F11\"] = \"\\u5200\";\n t[\"\\u2F12\"] = \"\\u529B\";\n t[\"\\u2F13\"] = \"\\u52F9\";\n t[\"\\u2F14\"] = \"\\u5315\";\n t[\"\\u2F15\"] = \"\\u531A\";\n t[\"\\u2F16\"] = \"\\u5338\";\n t[\"\\u2F17\"] = \"\\u5341\";\n t[\"\\u2F18\"] = \"\\u535C\";\n t[\"\\u2F19\"] = \"\\u5369\";\n t[\"\\u2F1A\"] = \"\\u5382\";\n t[\"\\u2F1B\"] = \"\\u53B6\";\n t[\"\\u2F1C\"] = \"\\u53C8\";\n t[\"\\u2F1D\"] = \"\\u53E3\";\n t[\"\\u2F1E\"] = \"\\u56D7\";\n t[\"\\u2F1F\"] = \"\\u571F\";\n t[\"\\u2F20\"] = \"\\u58EB\";\n t[\"\\u2F21\"] = \"\\u5902\";\n t[\"\\u2F22\"] = \"\\u590A\";\n t[\"\\u2F23\"] = \"\\u5915\";\n t[\"\\u2F24\"] = \"\\u5927\";\n t[\"\\u2F25\"] = \"\\u5973\";\n t[\"\\u2F26\"] = \"\\u5B50\";\n t[\"\\u2F27\"] = \"\\u5B80\";\n t[\"\\u2F28\"] = \"\\u5BF8\";\n t[\"\\u2F29\"] = \"\\u5C0F\";\n t[\"\\u2F2A\"] = \"\\u5C22\";\n t[\"\\u2F2B\"] = \"\\u5C38\";\n t[\"\\u2F2C\"] = \"\\u5C6E\";\n t[\"\\u2F2D\"] = \"\\u5C71\";\n t[\"\\u2F2E\"] = \"\\u5DDB\";\n t[\"\\u2F2F\"] = \"\\u5DE5\";\n t[\"\\u2F30\"] = \"\\u5DF1\";\n t[\"\\u2F31\"] = \"\\u5DFE\";\n t[\"\\u2F32\"] = \"\\u5E72\";\n t[\"\\u2F33\"] = \"\\u5E7A\";\n t[\"\\u2F34\"] = \"\\u5E7F\";\n t[\"\\u2F35\"] = \"\\u5EF4\";\n t[\"\\u2F36\"] = \"\\u5EFE\";\n t[\"\\u2F37\"] = \"\\u5F0B\";\n t[\"\\u2F38\"] = \"\\u5F13\";\n t[\"\\u2F39\"] = \"\\u5F50\";\n t[\"\\u2F3A\"] = \"\\u5F61\";\n t[\"\\u2F3B\"] = \"\\u5F73\";\n t[\"\\u2F3C\"] = \"\\u5FC3\";\n t[\"\\u2F3D\"] = \"\\u6208\";\n t[\"\\u2F3E\"] = \"\\u6236\";\n t[\"\\u2F3F\"] = \"\\u624B\";\n t[\"\\u2F40\"] = \"\\u652F\";\n t[\"\\u2F41\"] = \"\\u6534\";\n t[\"\\u2F42\"] = \"\\u6587\";\n t[\"\\u2F43\"] = \"\\u6597\";\n t[\"\\u2F44\"] = \"\\u65A4\";\n t[\"\\u2F45\"] = \"\\u65B9\";\n t[\"\\u2F46\"] = \"\\u65E0\";\n t[\"\\u2F47\"] = \"\\u65E5\";\n t[\"\\u2F48\"] = \"\\u66F0\";\n t[\"\\u2F49\"] = \"\\u6708\";\n t[\"\\u2F4A\"] = \"\\u6728\";\n t[\"\\u2F4B\"] = \"\\u6B20\";\n t[\"\\u2F4C\"] = \"\\u6B62\";\n t[\"\\u2F4D\"] = \"\\u6B79\";\n t[\"\\u2F4E\"] = \"\\u6BB3\";\n t[\"\\u2F4F\"] = \"\\u6BCB\";\n t[\"\\u2F50\"] = \"\\u6BD4\";\n t[\"\\u2F51\"] = \"\\u6BDB\";\n t[\"\\u2F52\"] = \"\\u6C0F\";\n t[\"\\u2F53\"] = \"\\u6C14\";\n t[\"\\u2F54\"] = \"\\u6C34\";\n t[\"\\u2F55\"] = \"\\u706B\";\n t[\"\\u2F56\"] = \"\\u722A\";\n t[\"\\u2F57\"] = \"\\u7236\";\n t[\"\\u2F58\"] = \"\\u723B\";\n t[\"\\u2F59\"] = \"\\u723F\";\n t[\"\\u2F5A\"] = \"\\u7247\";\n t[\"\\u2F5B\"] = \"\\u7259\";\n t[\"\\u2F5C\"] = \"\\u725B\";\n t[\"\\u2F5D\"] = \"\\u72AC\";\n t[\"\\u2F5E\"] = \"\\u7384\";\n t[\"\\u2F5F\"] = \"\\u7389\";\n t[\"\\u2F60\"] = \"\\u74DC\";\n t[\"\\u2F61\"] = \"\\u74E6\";\n t[\"\\u2F62\"] = \"\\u7518\";\n t[\"\\u2F63\"] = \"\\u751F\";\n t[\"\\u2F64\"] = \"\\u7528\";\n t[\"\\u2F65\"] = \"\\u7530\";\n t[\"\\u2F66\"] = \"\\u758B\";\n t[\"\\u2F67\"] = \"\\u7592\";\n t[\"\\u2F68\"] = \"\\u7676\";\n t[\"\\u2F69\"] = \"\\u767D\";\n t[\"\\u2F6A\"] = \"\\u76AE\";\n t[\"\\u2F6B\"] = \"\\u76BF\";\n t[\"\\u2F6C\"] = \"\\u76EE\";\n t[\"\\u2F6D\"] = \"\\u77DB\";\n t[\"\\u2F6E\"] = \"\\u77E2\";\n t[\"\\u2F6F\"] = \"\\u77F3\";\n t[\"\\u2F70\"] = \"\\u793A\";\n t[\"\\u2F71\"] = \"\\u79B8\";\n t[\"\\u2F72\"] = \"\\u79BE\";\n t[\"\\u2F73\"] = \"\\u7A74\";\n t[\"\\u2F74\"] = \"\\u7ACB\";\n t[\"\\u2F75\"] = \"\\u7AF9\";\n t[\"\\u2F76\"] = \"\\u7C73\";\n t[\"\\u2F77\"] = \"\\u7CF8\";\n t[\"\\u2F78\"] = \"\\u7F36\";\n t[\"\\u2F79\"] = \"\\u7F51\";\n t[\"\\u2F7A\"] = \"\\u7F8A\";\n t[\"\\u2F7B\"] = \"\\u7FBD\";\n t[\"\\u2F7C\"] = \"\\u8001\";\n t[\"\\u2F7D\"] = \"\\u800C\";\n t[\"\\u2F7E\"] = \"\\u8012\";\n t[\"\\u2F7F\"] = \"\\u8033\";\n t[\"\\u2F80\"] = \"\\u807F\";\n t[\"\\u2F81\"] = \"\\u8089\";\n t[\"\\u2F82\"] = \"\\u81E3\";\n t[\"\\u2F83\"] = \"\\u81EA\";\n t[\"\\u2F84\"] = \"\\u81F3\";\n t[\"\\u2F85\"] = \"\\u81FC\";\n t[\"\\u2F86\"] = \"\\u820C\";\n t[\"\\u2F87\"] = \"\\u821B\";\n t[\"\\u2F88\"] = \"\\u821F\";\n t[\"\\u2F89\"] = \"\\u826E\";\n t[\"\\u2F8A\"] = \"\\u8272\";\n t[\"\\u2F8B\"] = \"\\u8278\";\n t[\"\\u2F8C\"] = \"\\u864D\";\n t[\"\\u2F8D\"] = \"\\u866B\";\n t[\"\\u2F8E\"] = \"\\u8840\";\n t[\"\\u2F8F\"] = \"\\u884C\";\n t[\"\\u2F90\"] = \"\\u8863\";\n t[\"\\u2F91\"] = \"\\u897E\";\n t[\"\\u2F92\"] = \"\\u898B\";\n t[\"\\u2F93\"] = \"\\u89D2\";\n t[\"\\u2F94\"] = \"\\u8A00\";\n t[\"\\u2F95\"] = \"\\u8C37\";\n t[\"\\u2F96\"] = \"\\u8C46\";\n t[\"\\u2F97\"] = \"\\u8C55\";\n t[\"\\u2F98\"] = \"\\u8C78\";\n t[\"\\u2F99\"] = \"\\u8C9D\";\n t[\"\\u2F9A\"] = \"\\u8D64\";\n t[\"\\u2F9B\"] = \"\\u8D70\";\n t[\"\\u2F9C\"] = \"\\u8DB3\";\n t[\"\\u2F9D\"] = \"\\u8EAB\";\n t[\"\\u2F9E\"] = \"\\u8ECA\";\n t[\"\\u2F9F\"] = \"\\u8F9B\";\n t[\"\\u2FA0\"] = \"\\u8FB0\";\n t[\"\\u2FA1\"] = \"\\u8FB5\";\n t[\"\\u2FA2\"] = \"\\u9091\";\n t[\"\\u2FA3\"] = \"\\u9149\";\n t[\"\\u2FA4\"] = \"\\u91C6\";\n t[\"\\u2FA5\"] = \"\\u91CC\";\n t[\"\\u2FA6\"] = \"\\u91D1\";\n t[\"\\u2FA7\"] = \"\\u9577\";\n t[\"\\u2FA8\"] = \"\\u9580\";\n t[\"\\u2FA9\"] = \"\\u961C\";\n t[\"\\u2FAA\"] = \"\\u96B6\";\n t[\"\\u2FAB\"] = \"\\u96B9\";\n t[\"\\u2FAC\"] = \"\\u96E8\";\n t[\"\\u2FAD\"] = \"\\u9751\";\n t[\"\\u2FAE\"] = \"\\u975E\";\n t[\"\\u2FAF\"] = \"\\u9762\";\n t[\"\\u2FB0\"] = \"\\u9769\";\n t[\"\\u2FB1\"] = \"\\u97CB\";\n t[\"\\u2FB2\"] = \"\\u97ED\";\n t[\"\\u2FB3\"] = \"\\u97F3\";\n t[\"\\u2FB4\"] = \"\\u9801\";\n t[\"\\u2FB5\"] = \"\\u98A8\";\n t[\"\\u2FB6\"] = \"\\u98DB\";\n t[\"\\u2FB7\"] = \"\\u98DF\";\n t[\"\\u2FB8\"] = \"\\u9996\";\n t[\"\\u2FB9\"] = \"\\u9999\";\n t[\"\\u2FBA\"] = \"\\u99AC\";\n t[\"\\u2FBB\"] = \"\\u9AA8\";\n t[\"\\u2FBC\"] = \"\\u9AD8\";\n t[\"\\u2FBD\"] = \"\\u9ADF\";\n t[\"\\u2FBE\"] = \"\\u9B25\";\n t[\"\\u2FBF\"] = \"\\u9B2F\";\n t[\"\\u2FC0\"] = \"\\u9B32\";\n t[\"\\u2FC1\"] = \"\\u9B3C\";\n t[\"\\u2FC2\"] = \"\\u9B5A\";\n t[\"\\u2FC3\"] = \"\\u9CE5\";\n t[\"\\u2FC4\"] = \"\\u9E75\";\n t[\"\\u2FC5\"] = \"\\u9E7F\";\n t[\"\\u2FC6\"] = \"\\u9EA5\";\n t[\"\\u2FC7\"] = \"\\u9EBB\";\n t[\"\\u2FC8\"] = \"\\u9EC3\";\n t[\"\\u2FC9\"] = \"\\u9ECD\";\n t[\"\\u2FCA\"] = \"\\u9ED1\";\n t[\"\\u2FCB\"] = \"\\u9EF9\";\n t[\"\\u2FCC\"] = \"\\u9EFD\";\n t[\"\\u2FCD\"] = \"\\u9F0E\";\n t[\"\\u2FCE\"] = \"\\u9F13\";\n t[\"\\u2FCF\"] = \"\\u9F20\";\n t[\"\\u2FD0\"] = \"\\u9F3B\";\n t[\"\\u2FD1\"] = \"\\u9F4A\";\n t[\"\\u2FD2\"] = \"\\u9F52\";\n t[\"\\u2FD3\"] = \"\\u9F8D\";\n t[\"\\u2FD4\"] = \"\\u9F9C\";\n t[\"\\u2FD5\"] = \"\\u9FA0\";\n t[\"\\u3036\"] = \"\\u3012\";\n t[\"\\u3038\"] = \"\\u5341\";\n t[\"\\u3039\"] = \"\\u5344\";\n t[\"\\u303A\"] = \"\\u5345\";\n t[\"\\u309B\"] = \"\\u0020\\u3099\";\n t[\"\\u309C\"] = \"\\u0020\\u309A\";\n t[\"\\u3131\"] = \"\\u1100\";\n t[\"\\u3132\"] = \"\\u1101\";\n t[\"\\u3133\"] = \"\\u11AA\";\n t[\"\\u3134\"] = \"\\u1102\";\n t[\"\\u3135\"] = \"\\u11AC\";\n t[\"\\u3136\"] = \"\\u11AD\";\n t[\"\\u3137\"] = \"\\u1103\";\n t[\"\\u3138\"] = \"\\u1104\";\n t[\"\\u3139\"] = \"\\u1105\";\n t[\"\\u313A\"] = \"\\u11B0\";\n t[\"\\u313B\"] = \"\\u11B1\";\n t[\"\\u313C\"] = \"\\u11B2\";\n t[\"\\u313D\"] = \"\\u11B3\";\n t[\"\\u313E\"] = \"\\u11B4\";\n t[\"\\u313F\"] = \"\\u11B5\";\n t[\"\\u3140\"] = \"\\u111A\";\n t[\"\\u3141\"] = \"\\u1106\";\n t[\"\\u3142\"] = \"\\u1107\";\n t[\"\\u3143\"] = \"\\u1108\";\n t[\"\\u3144\"] = \"\\u1121\";\n t[\"\\u3145\"] = \"\\u1109\";\n t[\"\\u3146\"] = \"\\u110A\";\n t[\"\\u3147\"] = \"\\u110B\";\n t[\"\\u3148\"] = \"\\u110C\";\n t[\"\\u3149\"] = \"\\u110D\";\n t[\"\\u314A\"] = \"\\u110E\";\n t[\"\\u314B\"] = \"\\u110F\";\n t[\"\\u314C\"] = \"\\u1110\";\n t[\"\\u314D\"] = \"\\u1111\";\n t[\"\\u314E\"] = \"\\u1112\";\n t[\"\\u314F\"] = \"\\u1161\";\n t[\"\\u3150\"] = \"\\u1162\";\n t[\"\\u3151\"] = \"\\u1163\";\n t[\"\\u3152\"] = \"\\u1164\";\n t[\"\\u3153\"] = \"\\u1165\";\n t[\"\\u3154\"] = \"\\u1166\";\n t[\"\\u3155\"] = \"\\u1167\";\n t[\"\\u3156\"] = \"\\u1168\";\n t[\"\\u3157\"] = \"\\u1169\";\n t[\"\\u3158\"] = \"\\u116A\";\n t[\"\\u3159\"] = \"\\u116B\";\n t[\"\\u315A\"] = \"\\u116C\";\n t[\"\\u315B\"] = \"\\u116D\";\n t[\"\\u315C\"] = \"\\u116E\";\n t[\"\\u315D\"] = \"\\u116F\";\n t[\"\\u315E\"] = \"\\u1170\";\n t[\"\\u315F\"] = \"\\u1171\";\n t[\"\\u3160\"] = \"\\u1172\";\n t[\"\\u3161\"] = \"\\u1173\";\n t[\"\\u3162\"] = \"\\u1174\";\n t[\"\\u3163\"] = \"\\u1175\";\n t[\"\\u3164\"] = \"\\u1160\";\n t[\"\\u3165\"] = \"\\u1114\";\n t[\"\\u3166\"] = \"\\u1115\";\n t[\"\\u3167\"] = \"\\u11C7\";\n t[\"\\u3168\"] = \"\\u11C8\";\n t[\"\\u3169\"] = \"\\u11CC\";\n t[\"\\u316A\"] = \"\\u11CE\";\n t[\"\\u316B\"] = \"\\u11D3\";\n t[\"\\u316C\"] = \"\\u11D7\";\n t[\"\\u316D\"] = \"\\u11D9\";\n t[\"\\u316E\"] = \"\\u111C\";\n t[\"\\u316F\"] = \"\\u11DD\";\n t[\"\\u3170\"] = \"\\u11DF\";\n t[\"\\u3171\"] = \"\\u111D\";\n t[\"\\u3172\"] = \"\\u111E\";\n t[\"\\u3173\"] = \"\\u1120\";\n t[\"\\u3174\"] = \"\\u1122\";\n t[\"\\u3175\"] = \"\\u1123\";\n t[\"\\u3176\"] = \"\\u1127\";\n t[\"\\u3177\"] = \"\\u1129\";\n t[\"\\u3178\"] = \"\\u112B\";\n t[\"\\u3179\"] = \"\\u112C\";\n t[\"\\u317A\"] = \"\\u112D\";\n t[\"\\u317B\"] = \"\\u112E\";\n t[\"\\u317C\"] = \"\\u112F\";\n t[\"\\u317D\"] = \"\\u1132\";\n t[\"\\u317E\"] = \"\\u1136\";\n t[\"\\u317F\"] = \"\\u1140\";\n t[\"\\u3180\"] = \"\\u1147\";\n t[\"\\u3181\"] = \"\\u114C\";\n t[\"\\u3182\"] = \"\\u11F1\";\n t[\"\\u3183\"] = \"\\u11F2\";\n t[\"\\u3184\"] = \"\\u1157\";\n t[\"\\u3185\"] = \"\\u1158\";\n t[\"\\u3186\"] = \"\\u1159\";\n t[\"\\u3187\"] = \"\\u1184\";\n t[\"\\u3188\"] = \"\\u1185\";\n t[\"\\u3189\"] = \"\\u1188\";\n t[\"\\u318A\"] = \"\\u1191\";\n t[\"\\u318B\"] = \"\\u1192\";\n t[\"\\u318C\"] = \"\\u1194\";\n t[\"\\u318D\"] = \"\\u119E\";\n t[\"\\u318E\"] = \"\\u11A1\";\n t[\"\\u3200\"] = \"\\u0028\\u1100\\u0029\";\n t[\"\\u3201\"] = \"\\u0028\\u1102\\u0029\";\n t[\"\\u3202\"] = \"\\u0028\\u1103\\u0029\";\n t[\"\\u3203\"] = \"\\u0028\\u1105\\u0029\";\n t[\"\\u3204\"] = \"\\u0028\\u1106\\u0029\";\n t[\"\\u3205\"] = \"\\u0028\\u1107\\u0029\";\n t[\"\\u3206\"] = \"\\u0028\\u1109\\u0029\";\n t[\"\\u3207\"] = \"\\u0028\\u110B\\u0029\";\n t[\"\\u3208\"] = \"\\u0028\\u110C\\u0029\";\n t[\"\\u3209\"] = \"\\u0028\\u110E\\u0029\";\n t[\"\\u320A\"] = \"\\u0028\\u110F\\u0029\";\n t[\"\\u320B\"] = \"\\u0028\\u1110\\u0029\";\n t[\"\\u320C\"] = \"\\u0028\\u1111\\u0029\";\n t[\"\\u320D\"] = \"\\u0028\\u1112\\u0029\";\n t[\"\\u320E\"] = \"\\u0028\\u1100\\u1161\\u0029\";\n t[\"\\u320F\"] = \"\\u0028\\u1102\\u1161\\u0029\";\n t[\"\\u3210\"] = \"\\u0028\\u1103\\u1161\\u0029\";\n t[\"\\u3211\"] = \"\\u0028\\u1105\\u1161\\u0029\";\n t[\"\\u3212\"] = \"\\u0028\\u1106\\u1161\\u0029\";\n t[\"\\u3213\"] = \"\\u0028\\u1107\\u1161\\u0029\";\n t[\"\\u3214\"] = \"\\u0028\\u1109\\u1161\\u0029\";\n t[\"\\u3215\"] = \"\\u0028\\u110B\\u1161\\u0029\";\n t[\"\\u3216\"] = \"\\u0028\\u110C\\u1161\\u0029\";\n t[\"\\u3217\"] = \"\\u0028\\u110E\\u1161\\u0029\";\n t[\"\\u3218\"] = \"\\u0028\\u110F\\u1161\\u0029\";\n t[\"\\u3219\"] = \"\\u0028\\u1110\\u1161\\u0029\";\n t[\"\\u321A\"] = \"\\u0028\\u1111\\u1161\\u0029\";\n t[\"\\u321B\"] = \"\\u0028\\u1112\\u1161\\u0029\";\n t[\"\\u321C\"] = \"\\u0028\\u110C\\u116E\\u0029\";\n t[\"\\u321D\"] = \"\\u0028\\u110B\\u1169\\u110C\\u1165\\u11AB\\u0029\";\n t[\"\\u321E\"] = \"\\u0028\\u110B\\u1169\\u1112\\u116E\\u0029\";\n t[\"\\u3220\"] = \"\\u0028\\u4E00\\u0029\";\n t[\"\\u3221\"] = \"\\u0028\\u4E8C\\u0029\";\n t[\"\\u3222\"] = \"\\u0028\\u4E09\\u0029\";\n t[\"\\u3223\"] = \"\\u0028\\u56DB\\u0029\";\n t[\"\\u3224\"] = \"\\u0028\\u4E94\\u0029\";\n t[\"\\u3225\"] = \"\\u0028\\u516D\\u0029\";\n t[\"\\u3226\"] = \"\\u0028\\u4E03\\u0029\";\n t[\"\\u3227\"] = \"\\u0028\\u516B\\u0029\";\n t[\"\\u3228\"] = \"\\u0028\\u4E5D\\u0029\";\n t[\"\\u3229\"] = \"\\u0028\\u5341\\u0029\";\n t[\"\\u322A\"] = \"\\u0028\\u6708\\u0029\";\n t[\"\\u322B\"] = \"\\u0028\\u706B\\u0029\";\n t[\"\\u322C\"] = \"\\u0028\\u6C34\\u0029\";\n t[\"\\u322D\"] = \"\\u0028\\u6728\\u0029\";\n t[\"\\u322E\"] = \"\\u0028\\u91D1\\u0029\";\n t[\"\\u322F\"] = \"\\u0028\\u571F\\u0029\";\n t[\"\\u3230\"] = \"\\u0028\\u65E5\\u0029\";\n t[\"\\u3231\"] = \"\\u0028\\u682A\\u0029\";\n t[\"\\u3232\"] = \"\\u0028\\u6709\\u0029\";\n t[\"\\u3233\"] = \"\\u0028\\u793E\\u0029\";\n t[\"\\u3234\"] = \"\\u0028\\u540D\\u0029\";\n t[\"\\u3235\"] = \"\\u0028\\u7279\\u0029\";\n t[\"\\u3236\"] = \"\\u0028\\u8CA1\\u0029\";\n t[\"\\u3237\"] = \"\\u0028\\u795D\\u0029\";\n t[\"\\u3238\"] = \"\\u0028\\u52B4\\u0029\";\n t[\"\\u3239\"] = \"\\u0028\\u4EE3\\u0029\";\n t[\"\\u323A\"] = \"\\u0028\\u547C\\u0029\";\n t[\"\\u323B\"] = \"\\u0028\\u5B66\\u0029\";\n t[\"\\u323C\"] = \"\\u0028\\u76E3\\u0029\";\n t[\"\\u323D\"] = \"\\u0028\\u4F01\\u0029\";\n t[\"\\u323E\"] = \"\\u0028\\u8CC7\\u0029\";\n t[\"\\u323F\"] = \"\\u0028\\u5354\\u0029\";\n t[\"\\u3240\"] = \"\\u0028\\u796D\\u0029\";\n t[\"\\u3241\"] = \"\\u0028\\u4F11\\u0029\";\n t[\"\\u3242\"] = \"\\u0028\\u81EA\\u0029\";\n t[\"\\u3243\"] = \"\\u0028\\u81F3\\u0029\";\n t[\"\\u32C0\"] = \"\\u0031\\u6708\";\n t[\"\\u32C1\"] = \"\\u0032\\u6708\";\n t[\"\\u32C2\"] = \"\\u0033\\u6708\";\n t[\"\\u32C3\"] = \"\\u0034\\u6708\";\n t[\"\\u32C4\"] = \"\\u0035\\u6708\";\n t[\"\\u32C5\"] = \"\\u0036\\u6708\";\n t[\"\\u32C6\"] = \"\\u0037\\u6708\";\n t[\"\\u32C7\"] = \"\\u0038\\u6708\";\n t[\"\\u32C8\"] = \"\\u0039\\u6708\";\n t[\"\\u32C9\"] = \"\\u0031\\u0030\\u6708\";\n t[\"\\u32CA\"] = \"\\u0031\\u0031\\u6708\";\n t[\"\\u32CB\"] = \"\\u0031\\u0032\\u6708\";\n t[\"\\u3358\"] = \"\\u0030\\u70B9\";\n t[\"\\u3359\"] = \"\\u0031\\u70B9\";\n t[\"\\u335A\"] = \"\\u0032\\u70B9\";\n t[\"\\u335B\"] = \"\\u0033\\u70B9\";\n t[\"\\u335C\"] = \"\\u0034\\u70B9\";\n t[\"\\u335D\"] = \"\\u0035\\u70B9\";\n t[\"\\u335E\"] = \"\\u0036\\u70B9\";\n t[\"\\u335F\"] = \"\\u0037\\u70B9\";\n t[\"\\u3360\"] = \"\\u0038\\u70B9\";\n t[\"\\u3361\"] = \"\\u0039\\u70B9\";\n t[\"\\u3362\"] = \"\\u0031\\u0030\\u70B9\";\n t[\"\\u3363\"] = \"\\u0031\\u0031\\u70B9\";\n t[\"\\u3364\"] = \"\\u0031\\u0032\\u70B9\";\n t[\"\\u3365\"] = \"\\u0031\\u0033\\u70B9\";\n t[\"\\u3366\"] = \"\\u0031\\u0034\\u70B9\";\n t[\"\\u3367\"] = \"\\u0031\\u0035\\u70B9\";\n t[\"\\u3368\"] = \"\\u0031\\u0036\\u70B9\";\n t[\"\\u3369\"] = \"\\u0031\\u0037\\u70B9\";\n t[\"\\u336A\"] = \"\\u0031\\u0038\\u70B9\";\n t[\"\\u336B\"] = \"\\u0031\\u0039\\u70B9\";\n t[\"\\u336C\"] = \"\\u0032\\u0030\\u70B9\";\n t[\"\\u336D\"] = \"\\u0032\\u0031\\u70B9\";\n t[\"\\u336E\"] = \"\\u0032\\u0032\\u70B9\";\n t[\"\\u336F\"] = \"\\u0032\\u0033\\u70B9\";\n t[\"\\u3370\"] = \"\\u0032\\u0034\\u70B9\";\n t[\"\\u33E0\"] = \"\\u0031\\u65E5\";\n t[\"\\u33E1\"] = \"\\u0032\\u65E5\";\n t[\"\\u33E2\"] = \"\\u0033\\u65E5\";\n t[\"\\u33E3\"] = \"\\u0034\\u65E5\";\n t[\"\\u33E4\"] = \"\\u0035\\u65E5\";\n t[\"\\u33E5\"] = \"\\u0036\\u65E5\";\n t[\"\\u33E6\"] = \"\\u0037\\u65E5\";\n t[\"\\u33E7\"] = \"\\u0038\\u65E5\";\n t[\"\\u33E8\"] = \"\\u0039\\u65E5\";\n t[\"\\u33E9\"] = \"\\u0031\\u0030\\u65E5\";\n t[\"\\u33EA\"] = \"\\u0031\\u0031\\u65E5\";\n t[\"\\u33EB\"] = \"\\u0031\\u0032\\u65E5\";\n t[\"\\u33EC\"] = \"\\u0031\\u0033\\u65E5\";\n t[\"\\u33ED\"] = \"\\u0031\\u0034\\u65E5\";\n t[\"\\u33EE\"] = \"\\u0031\\u0035\\u65E5\";\n t[\"\\u33EF\"] = \"\\u0031\\u0036\\u65E5\";\n t[\"\\u33F0\"] = \"\\u0031\\u0037\\u65E5\";\n t[\"\\u33F1\"] = \"\\u0031\\u0038\\u65E5\";\n t[\"\\u33F2\"] = \"\\u0031\\u0039\\u65E5\";\n t[\"\\u33F3\"] = \"\\u0032\\u0030\\u65E5\";\n t[\"\\u33F4\"] = \"\\u0032\\u0031\\u65E5\";\n t[\"\\u33F5\"] = \"\\u0032\\u0032\\u65E5\";\n t[\"\\u33F6\"] = \"\\u0032\\u0033\\u65E5\";\n t[\"\\u33F7\"] = \"\\u0032\\u0034\\u65E5\";\n t[\"\\u33F8\"] = \"\\u0032\\u0035\\u65E5\";\n t[\"\\u33F9\"] = \"\\u0032\\u0036\\u65E5\";\n t[\"\\u33FA\"] = \"\\u0032\\u0037\\u65E5\";\n t[\"\\u33FB\"] = \"\\u0032\\u0038\\u65E5\";\n t[\"\\u33FC\"] = \"\\u0032\\u0039\\u65E5\";\n t[\"\\u33FD\"] = \"\\u0033\\u0030\\u65E5\";\n t[\"\\u33FE\"] = \"\\u0033\\u0031\\u65E5\";\n t[\"\\uFB00\"] = \"\\u0066\\u0066\";\n t[\"\\uFB01\"] = \"\\u0066\\u0069\";\n t[\"\\uFB02\"] = \"\\u0066\\u006C\";\n t[\"\\uFB03\"] = \"\\u0066\\u0066\\u0069\";\n t[\"\\uFB04\"] = \"\\u0066\\u0066\\u006C\";\n t[\"\\uFB05\"] = \"\\u017F\\u0074\";\n t[\"\\uFB06\"] = \"\\u0073\\u0074\";\n t[\"\\uFB13\"] = \"\\u0574\\u0576\";\n t[\"\\uFB14\"] = \"\\u0574\\u0565\";\n t[\"\\uFB15\"] = \"\\u0574\\u056B\";\n t[\"\\uFB16\"] = \"\\u057E\\u0576\";\n t[\"\\uFB17\"] = \"\\u0574\\u056D\";\n t[\"\\uFB4F\"] = \"\\u05D0\\u05DC\";\n t[\"\\uFB50\"] = \"\\u0671\";\n t[\"\\uFB51\"] = \"\\u0671\";\n t[\"\\uFB52\"] = \"\\u067B\";\n t[\"\\uFB53\"] = \"\\u067B\";\n t[\"\\uFB54\"] = \"\\u067B\";\n t[\"\\uFB55\"] = \"\\u067B\";\n t[\"\\uFB56\"] = \"\\u067E\";\n t[\"\\uFB57\"] = \"\\u067E\";\n t[\"\\uFB58\"] = \"\\u067E\";\n t[\"\\uFB59\"] = \"\\u067E\";\n t[\"\\uFB5A\"] = \"\\u0680\";\n t[\"\\uFB5B\"] = \"\\u0680\";\n t[\"\\uFB5C\"] = \"\\u0680\";\n t[\"\\uFB5D\"] = \"\\u0680\";\n t[\"\\uFB5E\"] = \"\\u067A\";\n t[\"\\uFB5F\"] = \"\\u067A\";\n t[\"\\uFB60\"] = \"\\u067A\";\n t[\"\\uFB61\"] = \"\\u067A\";\n t[\"\\uFB62\"] = \"\\u067F\";\n t[\"\\uFB63\"] = \"\\u067F\";\n t[\"\\uFB64\"] = \"\\u067F\";\n t[\"\\uFB65\"] = \"\\u067F\";\n t[\"\\uFB66\"] = \"\\u0679\";\n t[\"\\uFB67\"] = \"\\u0679\";\n t[\"\\uFB68\"] = \"\\u0679\";\n t[\"\\uFB69\"] = \"\\u0679\";\n t[\"\\uFB6A\"] = \"\\u06A4\";\n t[\"\\uFB6B\"] = \"\\u06A4\";\n t[\"\\uFB6C\"] = \"\\u06A4\";\n t[\"\\uFB6D\"] = \"\\u06A4\";\n t[\"\\uFB6E\"] = \"\\u06A6\";\n t[\"\\uFB6F\"] = \"\\u06A6\";\n t[\"\\uFB70\"] = \"\\u06A6\";\n t[\"\\uFB71\"] = \"\\u06A6\";\n t[\"\\uFB72\"] = \"\\u0684\";\n t[\"\\uFB73\"] = \"\\u0684\";\n t[\"\\uFB74\"] = \"\\u0684\";\n t[\"\\uFB75\"] = \"\\u0684\";\n t[\"\\uFB76\"] = \"\\u0683\";\n t[\"\\uFB77\"] = \"\\u0683\";\n t[\"\\uFB78\"] = \"\\u0683\";\n t[\"\\uFB79\"] = \"\\u0683\";\n t[\"\\uFB7A\"] = \"\\u0686\";\n t[\"\\uFB7B\"] = \"\\u0686\";\n t[\"\\uFB7C\"] = \"\\u0686\";\n t[\"\\uFB7D\"] = \"\\u0686\";\n t[\"\\uFB7E\"] = \"\\u0687\";\n t[\"\\uFB7F\"] = \"\\u0687\";\n t[\"\\uFB80\"] = \"\\u0687\";\n t[\"\\uFB81\"] = \"\\u0687\";\n t[\"\\uFB82\"] = \"\\u068D\";\n t[\"\\uFB83\"] = \"\\u068D\";\n t[\"\\uFB84\"] = \"\\u068C\";\n t[\"\\uFB85\"] = \"\\u068C\";\n t[\"\\uFB86\"] = \"\\u068E\";\n t[\"\\uFB87\"] = \"\\u068E\";\n t[\"\\uFB88\"] = \"\\u0688\";\n t[\"\\uFB89\"] = \"\\u0688\";\n t[\"\\uFB8A\"] = \"\\u0698\";\n t[\"\\uFB8B\"] = \"\\u0698\";\n t[\"\\uFB8C\"] = \"\\u0691\";\n t[\"\\uFB8D\"] = \"\\u0691\";\n t[\"\\uFB8E\"] = \"\\u06A9\";\n t[\"\\uFB8F\"] = \"\\u06A9\";\n t[\"\\uFB90\"] = \"\\u06A9\";\n t[\"\\uFB91\"] = \"\\u06A9\";\n t[\"\\uFB92\"] = \"\\u06AF\";\n t[\"\\uFB93\"] = \"\\u06AF\";\n t[\"\\uFB94\"] = \"\\u06AF\";\n t[\"\\uFB95\"] = \"\\u06AF\";\n t[\"\\uFB96\"] = \"\\u06B3\";\n t[\"\\uFB97\"] = \"\\u06B3\";\n t[\"\\uFB98\"] = \"\\u06B3\";\n t[\"\\uFB99\"] = \"\\u06B3\";\n t[\"\\uFB9A\"] = \"\\u06B1\";\n t[\"\\uFB9B\"] = \"\\u06B1\";\n t[\"\\uFB9C\"] = \"\\u06B1\";\n t[\"\\uFB9D\"] = \"\\u06B1\";\n t[\"\\uFB9E\"] = \"\\u06BA\";\n t[\"\\uFB9F\"] = \"\\u06BA\";\n t[\"\\uFBA0\"] = \"\\u06BB\";\n t[\"\\uFBA1\"] = \"\\u06BB\";\n t[\"\\uFBA2\"] = \"\\u06BB\";\n t[\"\\uFBA3\"] = \"\\u06BB\";\n t[\"\\uFBA4\"] = \"\\u06C0\";\n t[\"\\uFBA5\"] = \"\\u06C0\";\n t[\"\\uFBA6\"] = \"\\u06C1\";\n t[\"\\uFBA7\"] = \"\\u06C1\";\n t[\"\\uFBA8\"] = \"\\u06C1\";\n t[\"\\uFBA9\"] = \"\\u06C1\";\n t[\"\\uFBAA\"] = \"\\u06BE\";\n t[\"\\uFBAB\"] = \"\\u06BE\";\n t[\"\\uFBAC\"] = \"\\u06BE\";\n t[\"\\uFBAD\"] = \"\\u06BE\";\n t[\"\\uFBAE\"] = \"\\u06D2\";\n t[\"\\uFBAF\"] = \"\\u06D2\";\n t[\"\\uFBB0\"] = \"\\u06D3\";\n t[\"\\uFBB1\"] = \"\\u06D3\";\n t[\"\\uFBD3\"] = \"\\u06AD\";\n t[\"\\uFBD4\"] = \"\\u06AD\";\n t[\"\\uFBD5\"] = \"\\u06AD\";\n t[\"\\uFBD6\"] = \"\\u06AD\";\n t[\"\\uFBD7\"] = \"\\u06C7\";\n t[\"\\uFBD8\"] = \"\\u06C7\";\n t[\"\\uFBD9\"] = \"\\u06C6\";\n t[\"\\uFBDA\"] = \"\\u06C6\";\n t[\"\\uFBDB\"] = \"\\u06C8\";\n t[\"\\uFBDC\"] = \"\\u06C8\";\n t[\"\\uFBDD\"] = \"\\u0677\";\n t[\"\\uFBDE\"] = \"\\u06CB\";\n t[\"\\uFBDF\"] = \"\\u06CB\";\n t[\"\\uFBE0\"] = \"\\u06C5\";\n t[\"\\uFBE1\"] = \"\\u06C5\";\n t[\"\\uFBE2\"] = \"\\u06C9\";\n t[\"\\uFBE3\"] = \"\\u06C9\";\n t[\"\\uFBE4\"] = \"\\u06D0\";\n t[\"\\uFBE5\"] = \"\\u06D0\";\n t[\"\\uFBE6\"] = \"\\u06D0\";\n t[\"\\uFBE7\"] = \"\\u06D0\";\n t[\"\\uFBE8\"] = \"\\u0649\";\n t[\"\\uFBE9\"] = \"\\u0649\";\n t[\"\\uFBEA\"] = \"\\u0626\\u0627\";\n t[\"\\uFBEB\"] = \"\\u0626\\u0627\";\n t[\"\\uFBEC\"] = \"\\u0626\\u06D5\";\n t[\"\\uFBED\"] = \"\\u0626\\u06D5\";\n t[\"\\uFBEE\"] = \"\\u0626\\u0648\";\n t[\"\\uFBEF\"] = \"\\u0626\\u0648\";\n t[\"\\uFBF0\"] = \"\\u0626\\u06C7\";\n t[\"\\uFBF1\"] = \"\\u0626\\u06C7\";\n t[\"\\uFBF2\"] = \"\\u0626\\u06C6\";\n t[\"\\uFBF3\"] = \"\\u0626\\u06C6\";\n t[\"\\uFBF4\"] = \"\\u0626\\u06C8\";\n t[\"\\uFBF5\"] = \"\\u0626\\u06C8\";\n t[\"\\uFBF6\"] = \"\\u0626\\u06D0\";\n t[\"\\uFBF7\"] = \"\\u0626\\u06D0\";\n t[\"\\uFBF8\"] = \"\\u0626\\u06D0\";\n t[\"\\uFBF9\"] = \"\\u0626\\u0649\";\n t[\"\\uFBFA\"] = \"\\u0626\\u0649\";\n t[\"\\uFBFB\"] = \"\\u0626\\u0649\";\n t[\"\\uFBFC\"] = \"\\u06CC\";\n t[\"\\uFBFD\"] = \"\\u06CC\";\n t[\"\\uFBFE\"] = \"\\u06CC\";\n t[\"\\uFBFF\"] = \"\\u06CC\";\n t[\"\\uFC00\"] = \"\\u0626\\u062C\";\n t[\"\\uFC01\"] = \"\\u0626\\u062D\";\n t[\"\\uFC02\"] = \"\\u0626\\u0645\";\n t[\"\\uFC03\"] = \"\\u0626\\u0649\";\n t[\"\\uFC04\"] = \"\\u0626\\u064A\";\n t[\"\\uFC05\"] = \"\\u0628\\u062C\";\n t[\"\\uFC06\"] = \"\\u0628\\u062D\";\n t[\"\\uFC07\"] = \"\\u0628\\u062E\";\n t[\"\\uFC08\"] = \"\\u0628\\u0645\";\n t[\"\\uFC09\"] = \"\\u0628\\u0649\";\n t[\"\\uFC0A\"] = \"\\u0628\\u064A\";\n t[\"\\uFC0B\"] = \"\\u062A\\u062C\";\n t[\"\\uFC0C\"] = \"\\u062A\\u062D\";\n t[\"\\uFC0D\"] = \"\\u062A\\u062E\";\n t[\"\\uFC0E\"] = \"\\u062A\\u0645\";\n t[\"\\uFC0F\"] = \"\\u062A\\u0649\";\n t[\"\\uFC10\"] = \"\\u062A\\u064A\";\n t[\"\\uFC11\"] = \"\\u062B\\u062C\";\n t[\"\\uFC12\"] = \"\\u062B\\u0645\";\n t[\"\\uFC13\"] = \"\\u062B\\u0649\";\n t[\"\\uFC14\"] = \"\\u062B\\u064A\";\n t[\"\\uFC15\"] = \"\\u062C\\u062D\";\n t[\"\\uFC16\"] = \"\\u062C\\u0645\";\n t[\"\\uFC17\"] = \"\\u062D\\u062C\";\n t[\"\\uFC18\"] = \"\\u062D\\u0645\";\n t[\"\\uFC19\"] = \"\\u062E\\u062C\";\n t[\"\\uFC1A\"] = \"\\u062E\\u062D\";\n t[\"\\uFC1B\"] = \"\\u062E\\u0645\";\n t[\"\\uFC1C\"] = \"\\u0633\\u062C\";\n t[\"\\uFC1D\"] = \"\\u0633\\u062D\";\n t[\"\\uFC1E\"] = \"\\u0633\\u062E\";\n t[\"\\uFC1F\"] = \"\\u0633\\u0645\";\n t[\"\\uFC20\"] = \"\\u0635\\u062D\";\n t[\"\\uFC21\"] = \"\\u0635\\u0645\";\n t[\"\\uFC22\"] = \"\\u0636\\u062C\";\n t[\"\\uFC23\"] = \"\\u0636\\u062D\";\n t[\"\\uFC24\"] = \"\\u0636\\u062E\";\n t[\"\\uFC25\"] = \"\\u0636\\u0645\";\n t[\"\\uFC26\"] = \"\\u0637\\u062D\";\n t[\"\\uFC27\"] = \"\\u0637\\u0645\";\n t[\"\\uFC28\"] = \"\\u0638\\u0645\";\n t[\"\\uFC29\"] = \"\\u0639\\u062C\";\n t[\"\\uFC2A\"] = \"\\u0639\\u0645\";\n t[\"\\uFC2B\"] = \"\\u063A\\u062C\";\n t[\"\\uFC2C\"] = \"\\u063A\\u0645\";\n t[\"\\uFC2D\"] = \"\\u0641\\u062C\";\n t[\"\\uFC2E\"] = \"\\u0641\\u062D\";\n t[\"\\uFC2F\"] = \"\\u0641\\u062E\";\n t[\"\\uFC30\"] = \"\\u0641\\u0645\";\n t[\"\\uFC31\"] = \"\\u0641\\u0649\";\n t[\"\\uFC32\"] = \"\\u0641\\u064A\";\n t[\"\\uFC33\"] = \"\\u0642\\u062D\";\n t[\"\\uFC34\"] = \"\\u0642\\u0645\";\n t[\"\\uFC35\"] = \"\\u0642\\u0649\";\n t[\"\\uFC36\"] = \"\\u0642\\u064A\";\n t[\"\\uFC37\"] = \"\\u0643\\u0627\";\n t[\"\\uFC38\"] = \"\\u0643\\u062C\";\n t[\"\\uFC39\"] = \"\\u0643\\u062D\";\n t[\"\\uFC3A\"] = \"\\u0643\\u062E\";\n t[\"\\uFC3B\"] = \"\\u0643\\u0644\";\n t[\"\\uFC3C\"] = \"\\u0643\\u0645\";\n t[\"\\uFC3D\"] = \"\\u0643\\u0649\";\n t[\"\\uFC3E\"] = \"\\u0643\\u064A\";\n t[\"\\uFC3F\"] = \"\\u0644\\u062C\";\n t[\"\\uFC40\"] = \"\\u0644\\u062D\";\n t[\"\\uFC41\"] = \"\\u0644\\u062E\";\n t[\"\\uFC42\"] = \"\\u0644\\u0645\";\n t[\"\\uFC43\"] = \"\\u0644\\u0649\";\n t[\"\\uFC44\"] = \"\\u0644\\u064A\";\n t[\"\\uFC45\"] = \"\\u0645\\u062C\";\n t[\"\\uFC46\"] = \"\\u0645\\u062D\";\n t[\"\\uFC47\"] = \"\\u0645\\u062E\";\n t[\"\\uFC48\"] = \"\\u0645\\u0645\";\n t[\"\\uFC49\"] = \"\\u0645\\u0649\";\n t[\"\\uFC4A\"] = \"\\u0645\\u064A\";\n t[\"\\uFC4B\"] = \"\\u0646\\u062C\";\n t[\"\\uFC4C\"] = \"\\u0646\\u062D\";\n t[\"\\uFC4D\"] = \"\\u0646\\u062E\";\n t[\"\\uFC4E\"] = \"\\u0646\\u0645\";\n t[\"\\uFC4F\"] = \"\\u0646\\u0649\";\n t[\"\\uFC50\"] = \"\\u0646\\u064A\";\n t[\"\\uFC51\"] = \"\\u0647\\u062C\";\n t[\"\\uFC52\"] = \"\\u0647\\u0645\";\n t[\"\\uFC53\"] = \"\\u0647\\u0649\";\n t[\"\\uFC54\"] = \"\\u0647\\u064A\";\n t[\"\\uFC55\"] = \"\\u064A\\u062C\";\n t[\"\\uFC56\"] = \"\\u064A\\u062D\";\n t[\"\\uFC57\"] = \"\\u064A\\u062E\";\n t[\"\\uFC58\"] = \"\\u064A\\u0645\";\n t[\"\\uFC59\"] = \"\\u064A\\u0649\";\n t[\"\\uFC5A\"] = \"\\u064A\\u064A\";\n t[\"\\uFC5B\"] = \"\\u0630\\u0670\";\n t[\"\\uFC5C\"] = \"\\u0631\\u0670\";\n t[\"\\uFC5D\"] = \"\\u0649\\u0670\";\n t[\"\\uFC5E\"] = \"\\u0020\\u064C\\u0651\";\n t[\"\\uFC5F\"] = \"\\u0020\\u064D\\u0651\";\n t[\"\\uFC60\"] = \"\\u0020\\u064E\\u0651\";\n t[\"\\uFC61\"] = \"\\u0020\\u064F\\u0651\";\n t[\"\\uFC62\"] = \"\\u0020\\u0650\\u0651\";\n t[\"\\uFC63\"] = \"\\u0020\\u0651\\u0670\";\n t[\"\\uFC64\"] = \"\\u0626\\u0631\";\n t[\"\\uFC65\"] = \"\\u0626\\u0632\";\n t[\"\\uFC66\"] = \"\\u0626\\u0645\";\n t[\"\\uFC67\"] = \"\\u0626\\u0646\";\n t[\"\\uFC68\"] = \"\\u0626\\u0649\";\n t[\"\\uFC69\"] = \"\\u0626\\u064A\";\n t[\"\\uFC6A\"] = \"\\u0628\\u0631\";\n t[\"\\uFC6B\"] = \"\\u0628\\u0632\";\n t[\"\\uFC6C\"] = \"\\u0628\\u0645\";\n t[\"\\uFC6D\"] = \"\\u0628\\u0646\";\n t[\"\\uFC6E\"] = \"\\u0628\\u0649\";\n t[\"\\uFC6F\"] = \"\\u0628\\u064A\";\n t[\"\\uFC70\"] = \"\\u062A\\u0631\";\n t[\"\\uFC71\"] = \"\\u062A\\u0632\";\n t[\"\\uFC72\"] = \"\\u062A\\u0645\";\n t[\"\\uFC73\"] = \"\\u062A\\u0646\";\n t[\"\\uFC74\"] = \"\\u062A\\u0649\";\n t[\"\\uFC75\"] = \"\\u062A\\u064A\";\n t[\"\\uFC76\"] = \"\\u062B\\u0631\";\n t[\"\\uFC77\"] = \"\\u062B\\u0632\";\n t[\"\\uFC78\"] = \"\\u062B\\u0645\";\n t[\"\\uFC79\"] = \"\\u062B\\u0646\";\n t[\"\\uFC7A\"] = \"\\u062B\\u0649\";\n t[\"\\uFC7B\"] = \"\\u062B\\u064A\";\n t[\"\\uFC7C\"] = \"\\u0641\\u0649\";\n t[\"\\uFC7D\"] = \"\\u0641\\u064A\";\n t[\"\\uFC7E\"] = \"\\u0642\\u0649\";\n t[\"\\uFC7F\"] = \"\\u0642\\u064A\";\n t[\"\\uFC80\"] = \"\\u0643\\u0627\";\n t[\"\\uFC81\"] = \"\\u0643\\u0644\";\n t[\"\\uFC82\"] = \"\\u0643\\u0645\";\n t[\"\\uFC83\"] = \"\\u0643\\u0649\";\n t[\"\\uFC84\"] = \"\\u0643\\u064A\";\n t[\"\\uFC85\"] = \"\\u0644\\u0645\";\n t[\"\\uFC86\"] = \"\\u0644\\u0649\";\n t[\"\\uFC87\"] = \"\\u0644\\u064A\";\n t[\"\\uFC88\"] = \"\\u0645\\u0627\";\n t[\"\\uFC89\"] = \"\\u0645\\u0645\";\n t[\"\\uFC8A\"] = \"\\u0646\\u0631\";\n t[\"\\uFC8B\"] = \"\\u0646\\u0632\";\n t[\"\\uFC8C\"] = \"\\u0646\\u0645\";\n t[\"\\uFC8D\"] = \"\\u0646\\u0646\";\n t[\"\\uFC8E\"] = \"\\u0646\\u0649\";\n t[\"\\uFC8F\"] = \"\\u0646\\u064A\";\n t[\"\\uFC90\"] = \"\\u0649\\u0670\";\n t[\"\\uFC91\"] = \"\\u064A\\u0631\";\n t[\"\\uFC92\"] = \"\\u064A\\u0632\";\n t[\"\\uFC93\"] = \"\\u064A\\u0645\";\n t[\"\\uFC94\"] = \"\\u064A\\u0646\";\n t[\"\\uFC95\"] = \"\\u064A\\u0649\";\n t[\"\\uFC96\"] = \"\\u064A\\u064A\";\n t[\"\\uFC97\"] = \"\\u0626\\u062C\";\n t[\"\\uFC98\"] = \"\\u0626\\u062D\";\n t[\"\\uFC99\"] = \"\\u0626\\u062E\";\n t[\"\\uFC9A\"] = \"\\u0626\\u0645\";\n t[\"\\uFC9B\"] = \"\\u0626\\u0647\";\n t[\"\\uFC9C\"] = \"\\u0628\\u062C\";\n t[\"\\uFC9D\"] = \"\\u0628\\u062D\";\n t[\"\\uFC9E\"] = \"\\u0628\\u062E\";\n t[\"\\uFC9F\"] = \"\\u0628\\u0645\";\n t[\"\\uFCA0\"] = \"\\u0628\\u0647\";\n t[\"\\uFCA1\"] = \"\\u062A\\u062C\";\n t[\"\\uFCA2\"] = \"\\u062A\\u062D\";\n t[\"\\uFCA3\"] = \"\\u062A\\u062E\";\n t[\"\\uFCA4\"] = \"\\u062A\\u0645\";\n t[\"\\uFCA5\"] = \"\\u062A\\u0647\";\n t[\"\\uFCA6\"] = \"\\u062B\\u0645\";\n t[\"\\uFCA7\"] = \"\\u062C\\u062D\";\n t[\"\\uFCA8\"] = \"\\u062C\\u0645\";\n t[\"\\uFCA9\"] = \"\\u062D\\u062C\";\n t[\"\\uFCAA\"] = \"\\u062D\\u0645\";\n t[\"\\uFCAB\"] = \"\\u062E\\u062C\";\n t[\"\\uFCAC\"] = \"\\u062E\\u0645\";\n t[\"\\uFCAD\"] = \"\\u0633\\u062C\";\n t[\"\\uFCAE\"] = \"\\u0633\\u062D\";\n t[\"\\uFCAF\"] = \"\\u0633\\u062E\";\n t[\"\\uFCB0\"] = \"\\u0633\\u0645\";\n t[\"\\uFCB1\"] = \"\\u0635\\u062D\";\n t[\"\\uFCB2\"] = \"\\u0635\\u062E\";\n t[\"\\uFCB3\"] = \"\\u0635\\u0645\";\n t[\"\\uFCB4\"] = \"\\u0636\\u062C\";\n t[\"\\uFCB5\"] = \"\\u0636\\u062D\";\n t[\"\\uFCB6\"] = \"\\u0636\\u062E\";\n t[\"\\uFCB7\"] = \"\\u0636\\u0645\";\n t[\"\\uFCB8\"] = \"\\u0637\\u062D\";\n t[\"\\uFCB9\"] = \"\\u0638\\u0645\";\n t[\"\\uFCBA\"] = \"\\u0639\\u062C\";\n t[\"\\uFCBB\"] = \"\\u0639\\u0645\";\n t[\"\\uFCBC\"] = \"\\u063A\\u062C\";\n t[\"\\uFCBD\"] = \"\\u063A\\u0645\";\n t[\"\\uFCBE\"] = \"\\u0641\\u062C\";\n t[\"\\uFCBF\"] = \"\\u0641\\u062D\";\n t[\"\\uFCC0\"] = \"\\u0641\\u062E\";\n t[\"\\uFCC1\"] = \"\\u0641\\u0645\";\n t[\"\\uFCC2\"] = \"\\u0642\\u062D\";\n t[\"\\uFCC3\"] = \"\\u0642\\u0645\";\n t[\"\\uFCC4\"] = \"\\u0643\\u062C\";\n t[\"\\uFCC5\"] = \"\\u0643\\u062D\";\n t[\"\\uFCC6\"] = \"\\u0643\\u062E\";\n t[\"\\uFCC7\"] = \"\\u0643\\u0644\";\n t[\"\\uFCC8\"] = \"\\u0643\\u0645\";\n t[\"\\uFCC9\"] = \"\\u0644\\u062C\";\n t[\"\\uFCCA\"] = \"\\u0644\\u062D\";\n t[\"\\uFCCB\"] = \"\\u0644\\u062E\";\n t[\"\\uFCCC\"] = \"\\u0644\\u0645\";\n t[\"\\uFCCD\"] = \"\\u0644\\u0647\";\n t[\"\\uFCCE\"] = \"\\u0645\\u062C\";\n t[\"\\uFCCF\"] = \"\\u0645\\u062D\";\n t[\"\\uFCD0\"] = \"\\u0645\\u062E\";\n t[\"\\uFCD1\"] = \"\\u0645\\u0645\";\n t[\"\\uFCD2\"] = \"\\u0646\\u062C\";\n t[\"\\uFCD3\"] = \"\\u0646\\u062D\";\n t[\"\\uFCD4\"] = \"\\u0646\\u062E\";\n t[\"\\uFCD5\"] = \"\\u0646\\u0645\";\n t[\"\\uFCD6\"] = \"\\u0646\\u0647\";\n t[\"\\uFCD7\"] = \"\\u0647\\u062C\";\n t[\"\\uFCD8\"] = \"\\u0647\\u0645\";\n t[\"\\uFCD9\"] = \"\\u0647\\u0670\";\n t[\"\\uFCDA\"] = \"\\u064A\\u062C\";\n t[\"\\uFCDB\"] = \"\\u064A\\u062D\";\n t[\"\\uFCDC\"] = \"\\u064A\\u062E\";\n t[\"\\uFCDD\"] = \"\\u064A\\u0645\";\n t[\"\\uFCDE\"] = \"\\u064A\\u0647\";\n t[\"\\uFCDF\"] = \"\\u0626\\u0645\";\n t[\"\\uFCE0\"] = \"\\u0626\\u0647\";\n t[\"\\uFCE1\"] = \"\\u0628\\u0645\";\n t[\"\\uFCE2\"] = \"\\u0628\\u0647\";\n t[\"\\uFCE3\"] = \"\\u062A\\u0645\";\n t[\"\\uFCE4\"] = \"\\u062A\\u0647\";\n t[\"\\uFCE5\"] = \"\\u062B\\u0645\";\n t[\"\\uFCE6\"] = \"\\u062B\\u0647\";\n t[\"\\uFCE7\"] = \"\\u0633\\u0645\";\n t[\"\\uFCE8\"] = \"\\u0633\\u0647\";\n t[\"\\uFCE9\"] = \"\\u0634\\u0645\";\n t[\"\\uFCEA\"] = \"\\u0634\\u0647\";\n t[\"\\uFCEB\"] = \"\\u0643\\u0644\";\n t[\"\\uFCEC\"] = \"\\u0643\\u0645\";\n t[\"\\uFCED\"] = \"\\u0644\\u0645\";\n t[\"\\uFCEE\"] = \"\\u0646\\u0645\";\n t[\"\\uFCEF\"] = \"\\u0646\\u0647\";\n t[\"\\uFCF0\"] = \"\\u064A\\u0645\";\n t[\"\\uFCF1\"] = \"\\u064A\\u0647\";\n t[\"\\uFCF2\"] = \"\\u0640\\u064E\\u0651\";\n t[\"\\uFCF3\"] = \"\\u0640\\u064F\\u0651\";\n t[\"\\uFCF4\"] = \"\\u0640\\u0650\\u0651\";\n t[\"\\uFCF5\"] = \"\\u0637\\u0649\";\n t[\"\\uFCF6\"] = \"\\u0637\\u064A\";\n t[\"\\uFCF7\"] = \"\\u0639\\u0649\";\n t[\"\\uFCF8\"] = \"\\u0639\\u064A\";\n t[\"\\uFCF9\"] = \"\\u063A\\u0649\";\n t[\"\\uFCFA\"] = \"\\u063A\\u064A\";\n t[\"\\uFCFB\"] = \"\\u0633\\u0649\";\n t[\"\\uFCFC\"] = \"\\u0633\\u064A\";\n t[\"\\uFCFD\"] = \"\\u0634\\u0649\";\n t[\"\\uFCFE\"] = \"\\u0634\\u064A\";\n t[\"\\uFCFF\"] = \"\\u062D\\u0649\";\n t[\"\\uFD00\"] = \"\\u062D\\u064A\";\n t[\"\\uFD01\"] = \"\\u062C\\u0649\";\n t[\"\\uFD02\"] = \"\\u062C\\u064A\";\n t[\"\\uFD03\"] = \"\\u062E\\u0649\";\n t[\"\\uFD04\"] = \"\\u062E\\u064A\";\n t[\"\\uFD05\"] = \"\\u0635\\u0649\";\n t[\"\\uFD06\"] = \"\\u0635\\u064A\";\n t[\"\\uFD07\"] = \"\\u0636\\u0649\";\n t[\"\\uFD08\"] = \"\\u0636\\u064A\";\n t[\"\\uFD09\"] = \"\\u0634\\u062C\";\n t[\"\\uFD0A\"] = \"\\u0634\\u062D\";\n t[\"\\uFD0B\"] = \"\\u0634\\u062E\";\n t[\"\\uFD0C\"] = \"\\u0634\\u0645\";\n t[\"\\uFD0D\"] = \"\\u0634\\u0631\";\n t[\"\\uFD0E\"] = \"\\u0633\\u0631\";\n t[\"\\uFD0F\"] = \"\\u0635\\u0631\";\n t[\"\\uFD10\"] = \"\\u0636\\u0631\";\n t[\"\\uFD11\"] = \"\\u0637\\u0649\";\n t[\"\\uFD12\"] = \"\\u0637\\u064A\";\n t[\"\\uFD13\"] = \"\\u0639\\u0649\";\n t[\"\\uFD14\"] = \"\\u0639\\u064A\";\n t[\"\\uFD15\"] = \"\\u063A\\u0649\";\n t[\"\\uFD16\"] = \"\\u063A\\u064A\";\n t[\"\\uFD17\"] = \"\\u0633\\u0649\";\n t[\"\\uFD18\"] = \"\\u0633\\u064A\";\n t[\"\\uFD19\"] = \"\\u0634\\u0649\";\n t[\"\\uFD1A\"] = \"\\u0634\\u064A\";\n t[\"\\uFD1B\"] = \"\\u062D\\u0649\";\n t[\"\\uFD1C\"] = \"\\u062D\\u064A\";\n t[\"\\uFD1D\"] = \"\\u062C\\u0649\";\n t[\"\\uFD1E\"] = \"\\u062C\\u064A\";\n t[\"\\uFD1F\"] = \"\\u062E\\u0649\";\n t[\"\\uFD20\"] = \"\\u062E\\u064A\";\n t[\"\\uFD21\"] = \"\\u0635\\u0649\";\n t[\"\\uFD22\"] = \"\\u0635\\u064A\";\n t[\"\\uFD23\"] = \"\\u0636\\u0649\";\n t[\"\\uFD24\"] = \"\\u0636\\u064A\";\n t[\"\\uFD25\"] = \"\\u0634\\u062C\";\n t[\"\\uFD26\"] = \"\\u0634\\u062D\";\n t[\"\\uFD27\"] = \"\\u0634\\u062E\";\n t[\"\\uFD28\"] = \"\\u0634\\u0645\";\n t[\"\\uFD29\"] = \"\\u0634\\u0631\";\n t[\"\\uFD2A\"] = \"\\u0633\\u0631\";\n t[\"\\uFD2B\"] = \"\\u0635\\u0631\";\n t[\"\\uFD2C\"] = \"\\u0636\\u0631\";\n t[\"\\uFD2D\"] = \"\\u0634\\u062C\";\n t[\"\\uFD2E\"] = \"\\u0634\\u062D\";\n t[\"\\uFD2F\"] = \"\\u0634\\u062E\";\n t[\"\\uFD30\"] = \"\\u0634\\u0645\";\n t[\"\\uFD31\"] = \"\\u0633\\u0647\";\n t[\"\\uFD32\"] = \"\\u0634\\u0647\";\n t[\"\\uFD33\"] = \"\\u0637\\u0645\";\n t[\"\\uFD34\"] = \"\\u0633\\u062C\";\n t[\"\\uFD35\"] = \"\\u0633\\u062D\";\n t[\"\\uFD36\"] = \"\\u0633\\u062E\";\n t[\"\\uFD37\"] = \"\\u0634\\u062C\";\n t[\"\\uFD38\"] = \"\\u0634\\u062D\";\n t[\"\\uFD39\"] = \"\\u0634\\u062E\";\n t[\"\\uFD3A\"] = \"\\u0637\\u0645\";\n t[\"\\uFD3B\"] = \"\\u0638\\u0645\";\n t[\"\\uFD3C\"] = \"\\u0627\\u064B\";\n t[\"\\uFD3D\"] = \"\\u0627\\u064B\";\n t[\"\\uFD50\"] = \"\\u062A\\u062C\\u0645\";\n t[\"\\uFD51\"] = \"\\u062A\\u062D\\u062C\";\n t[\"\\uFD52\"] = \"\\u062A\\u062D\\u062C\";\n t[\"\\uFD53\"] = \"\\u062A\\u062D\\u0645\";\n t[\"\\uFD54\"] = \"\\u062A\\u062E\\u0645\";\n t[\"\\uFD55\"] = \"\\u062A\\u0645\\u062C\";\n t[\"\\uFD56\"] = \"\\u062A\\u0645\\u062D\";\n t[\"\\uFD57\"] = \"\\u062A\\u0645\\u062E\";\n t[\"\\uFD58\"] = \"\\u062C\\u0645\\u062D\";\n t[\"\\uFD59\"] = \"\\u062C\\u0645\\u062D\";\n t[\"\\uFD5A\"] = \"\\u062D\\u0645\\u064A\";\n t[\"\\uFD5B\"] = \"\\u062D\\u0645\\u0649\";\n t[\"\\uFD5C\"] = \"\\u0633\\u062D\\u062C\";\n t[\"\\uFD5D\"] = \"\\u0633\\u062C\\u062D\";\n t[\"\\uFD5E\"] = \"\\u0633\\u062C\\u0649\";\n t[\"\\uFD5F\"] = \"\\u0633\\u0645\\u062D\";\n t[\"\\uFD60\"] = \"\\u0633\\u0645\\u062D\";\n t[\"\\uFD61\"] = \"\\u0633\\u0645\\u062C\";\n t[\"\\uFD62\"] = \"\\u0633\\u0645\\u0645\";\n t[\"\\uFD63\"] = \"\\u0633\\u0645\\u0645\";\n t[\"\\uFD64\"] = \"\\u0635\\u062D\\u062D\";\n t[\"\\uFD65\"] = \"\\u0635\\u062D\\u062D\";\n t[\"\\uFD66\"] = \"\\u0635\\u0645\\u0645\";\n t[\"\\uFD67\"] = \"\\u0634\\u062D\\u0645\";\n t[\"\\uFD68\"] = \"\\u0634\\u062D\\u0645\";\n t[\"\\uFD69\"] = \"\\u0634\\u062C\\u064A\";\n t[\"\\uFD6A\"] = \"\\u0634\\u0645\\u062E\";\n t[\"\\uFD6B\"] = \"\\u0634\\u0645\\u062E\";\n t[\"\\uFD6C\"] = \"\\u0634\\u0645\\u0645\";\n t[\"\\uFD6D\"] = \"\\u0634\\u0645\\u0645\";\n t[\"\\uFD6E\"] = \"\\u0636\\u062D\\u0649\";\n t[\"\\uFD6F\"] = \"\\u0636\\u062E\\u0645\";\n t[\"\\uFD70\"] = \"\\u0636\\u062E\\u0645\";\n t[\"\\uFD71\"] = \"\\u0637\\u0645\\u062D\";\n t[\"\\uFD72\"] = \"\\u0637\\u0645\\u062D\";\n t[\"\\uFD73\"] = \"\\u0637\\u0645\\u0645\";\n t[\"\\uFD74\"] = \"\\u0637\\u0645\\u064A\";\n t[\"\\uFD75\"] = \"\\u0639\\u062C\\u0645\";\n t[\"\\uFD76\"] = \"\\u0639\\u0645\\u0645\";\n t[\"\\uFD77\"] = \"\\u0639\\u0645\\u0645\";\n t[\"\\uFD78\"] = \"\\u0639\\u0645\\u0649\";\n t[\"\\uFD79\"] = \"\\u063A\\u0645\\u0645\";\n t[\"\\uFD7A\"] = \"\\u063A\\u0645\\u064A\";\n t[\"\\uFD7B\"] = \"\\u063A\\u0645\\u0649\";\n t[\"\\uFD7C\"] = \"\\u0641\\u062E\\u0645\";\n t[\"\\uFD7D\"] = \"\\u0641\\u062E\\u0645\";\n t[\"\\uFD7E\"] = \"\\u0642\\u0645\\u062D\";\n t[\"\\uFD7F\"] = \"\\u0642\\u0645\\u0645\";\n t[\"\\uFD80\"] = \"\\u0644\\u062D\\u0645\";\n t[\"\\uFD81\"] = \"\\u0644\\u062D\\u064A\";\n t[\"\\uFD82\"] = \"\\u0644\\u062D\\u0649\";\n t[\"\\uFD83\"] = \"\\u0644\\u062C\\u062C\";\n t[\"\\uFD84\"] = \"\\u0644\\u062C\\u062C\";\n t[\"\\uFD85\"] = \"\\u0644\\u062E\\u0645\";\n t[\"\\uFD86\"] = \"\\u0644\\u062E\\u0645\";\n t[\"\\uFD87\"] = \"\\u0644\\u0645\\u062D\";\n t[\"\\uFD88\"] = \"\\u0644\\u0645\\u062D\";\n t[\"\\uFD89\"] = \"\\u0645\\u062D\\u062C\";\n t[\"\\uFD8A\"] = \"\\u0645\\u062D\\u0645\";\n t[\"\\uFD8B\"] = \"\\u0645\\u062D\\u064A\";\n t[\"\\uFD8C\"] = \"\\u0645\\u062C\\u062D\";\n t[\"\\uFD8D\"] = \"\\u0645\\u062C\\u0645\";\n t[\"\\uFD8E\"] = \"\\u0645\\u062E\\u062C\";\n t[\"\\uFD8F\"] = \"\\u0645\\u062E\\u0645\";\n t[\"\\uFD92\"] = \"\\u0645\\u062C\\u062E\";\n t[\"\\uFD93\"] = \"\\u0647\\u0645\\u062C\";\n t[\"\\uFD94\"] = \"\\u0647\\u0645\\u0645\";\n t[\"\\uFD95\"] = \"\\u0646\\u062D\\u0645\";\n t[\"\\uFD96\"] = \"\\u0646\\u062D\\u0649\";\n t[\"\\uFD97\"] = \"\\u0646\\u062C\\u0645\";\n t[\"\\uFD98\"] = \"\\u0646\\u062C\\u0645\";\n t[\"\\uFD99\"] = \"\\u0646\\u062C\\u0649\";\n t[\"\\uFD9A\"] = \"\\u0646\\u0645\\u064A\";\n t[\"\\uFD9B\"] = \"\\u0646\\u0645\\u0649\";\n t[\"\\uFD9C\"] = \"\\u064A\\u0645\\u0645\";\n t[\"\\uFD9D\"] = \"\\u064A\\u0645\\u0645\";\n t[\"\\uFD9E\"] = \"\\u0628\\u062E\\u064A\";\n t[\"\\uFD9F\"] = \"\\u062A\\u062C\\u064A\";\n t[\"\\uFDA0\"] = \"\\u062A\\u062C\\u0649\";\n t[\"\\uFDA1\"] = \"\\u062A\\u062E\\u064A\";\n t[\"\\uFDA2\"] = \"\\u062A\\u062E\\u0649\";\n t[\"\\uFDA3\"] = \"\\u062A\\u0645\\u064A\";\n t[\"\\uFDA4\"] = \"\\u062A\\u0645\\u0649\";\n t[\"\\uFDA5\"] = \"\\u062C\\u0645\\u064A\";\n t[\"\\uFDA6\"] = \"\\u062C\\u062D\\u0649\";\n t[\"\\uFDA7\"] = \"\\u062C\\u0645\\u0649\";\n t[\"\\uFDA8\"] = \"\\u0633\\u062E\\u0649\";\n t[\"\\uFDA9\"] = \"\\u0635\\u062D\\u064A\";\n t[\"\\uFDAA\"] = \"\\u0634\\u062D\\u064A\";\n t[\"\\uFDAB\"] = \"\\u0636\\u062D\\u064A\";\n t[\"\\uFDAC\"] = \"\\u0644\\u062C\\u064A\";\n t[\"\\uFDAD\"] = \"\\u0644\\u0645\\u064A\";\n t[\"\\uFDAE\"] = \"\\u064A\\u062D\\u064A\";\n t[\"\\uFDAF\"] = \"\\u064A\\u062C\\u064A\";\n t[\"\\uFDB0\"] = \"\\u064A\\u0645\\u064A\";\n t[\"\\uFDB1\"] = \"\\u0645\\u0645\\u064A\";\n t[\"\\uFDB2\"] = \"\\u0642\\u0645\\u064A\";\n t[\"\\uFDB3\"] = \"\\u0646\\u062D\\u064A\";\n t[\"\\uFDB4\"] = \"\\u0642\\u0645\\u062D\";\n t[\"\\uFDB5\"] = \"\\u0644\\u062D\\u0645\";\n t[\"\\uFDB6\"] = \"\\u0639\\u0645\\u064A\";\n t[\"\\uFDB7\"] = \"\\u0643\\u0645\\u064A\";\n t[\"\\uFDB8\"] = \"\\u0646\\u062C\\u062D\";\n t[\"\\uFDB9\"] = \"\\u0645\\u062E\\u064A\";\n t[\"\\uFDBA\"] = \"\\u0644\\u062C\\u0645\";\n t[\"\\uFDBB\"] = \"\\u0643\\u0645\\u0645\";\n t[\"\\uFDBC\"] = \"\\u0644\\u062C\\u0645\";\n t[\"\\uFDBD\"] = \"\\u0646\\u062C\\u062D\";\n t[\"\\uFDBE\"] = \"\\u062C\\u062D\\u064A\";\n t[\"\\uFDBF\"] = \"\\u062D\\u062C\\u064A\";\n t[\"\\uFDC0\"] = \"\\u0645\\u062C\\u064A\";\n t[\"\\uFDC1\"] = \"\\u0641\\u0645\\u064A\";\n t[\"\\uFDC2\"] = \"\\u0628\\u062D\\u064A\";\n t[\"\\uFDC3\"] = \"\\u0643\\u0645\\u0645\";\n t[\"\\uFDC4\"] = \"\\u0639\\u062C\\u0645\";\n t[\"\\uFDC5\"] = \"\\u0635\\u0645\\u0645\";\n t[\"\\uFDC6\"] = \"\\u0633\\u062E\\u064A\";\n t[\"\\uFDC7\"] = \"\\u0646\\u062C\\u064A\";\n t[\"\\uFE49\"] = \"\\u203E\";\n t[\"\\uFE4A\"] = \"\\u203E\";\n t[\"\\uFE4B\"] = \"\\u203E\";\n t[\"\\uFE4C\"] = \"\\u203E\";\n t[\"\\uFE4D\"] = \"\\u005F\";\n t[\"\\uFE4E\"] = \"\\u005F\";\n t[\"\\uFE4F\"] = \"\\u005F\";\n t[\"\\uFE80\"] = \"\\u0621\";\n t[\"\\uFE81\"] = \"\\u0622\";\n t[\"\\uFE82\"] = \"\\u0622\";\n t[\"\\uFE83\"] = \"\\u0623\";\n t[\"\\uFE84\"] = \"\\u0623\";\n t[\"\\uFE85\"] = \"\\u0624\";\n t[\"\\uFE86\"] = \"\\u0624\";\n t[\"\\uFE87\"] = \"\\u0625\";\n t[\"\\uFE88\"] = \"\\u0625\";\n t[\"\\uFE89\"] = \"\\u0626\";\n t[\"\\uFE8A\"] = \"\\u0626\";\n t[\"\\uFE8B\"] = \"\\u0626\";\n t[\"\\uFE8C\"] = \"\\u0626\";\n t[\"\\uFE8D\"] = \"\\u0627\";\n t[\"\\uFE8E\"] = \"\\u0627\";\n t[\"\\uFE8F\"] = \"\\u0628\";\n t[\"\\uFE90\"] = \"\\u0628\";\n t[\"\\uFE91\"] = \"\\u0628\";\n t[\"\\uFE92\"] = \"\\u0628\";\n t[\"\\uFE93\"] = \"\\u0629\";\n t[\"\\uFE94\"] = \"\\u0629\";\n t[\"\\uFE95\"] = \"\\u062A\";\n t[\"\\uFE96\"] = \"\\u062A\";\n t[\"\\uFE97\"] = \"\\u062A\";\n t[\"\\uFE98\"] = \"\\u062A\";\n t[\"\\uFE99\"] = \"\\u062B\";\n t[\"\\uFE9A\"] = \"\\u062B\";\n t[\"\\uFE9B\"] = \"\\u062B\";\n t[\"\\uFE9C\"] = \"\\u062B\";\n t[\"\\uFE9D\"] = \"\\u062C\";\n t[\"\\uFE9E\"] = \"\\u062C\";\n t[\"\\uFE9F\"] = \"\\u062C\";\n t[\"\\uFEA0\"] = \"\\u062C\";\n t[\"\\uFEA1\"] = \"\\u062D\";\n t[\"\\uFEA2\"] = \"\\u062D\";\n t[\"\\uFEA3\"] = \"\\u062D\";\n t[\"\\uFEA4\"] = \"\\u062D\";\n t[\"\\uFEA5\"] = \"\\u062E\";\n t[\"\\uFEA6\"] = \"\\u062E\";\n t[\"\\uFEA7\"] = \"\\u062E\";\n t[\"\\uFEA8\"] = \"\\u062E\";\n t[\"\\uFEA9\"] = \"\\u062F\";\n t[\"\\uFEAA\"] = \"\\u062F\";\n t[\"\\uFEAB\"] = \"\\u0630\";\n t[\"\\uFEAC\"] = \"\\u0630\";\n t[\"\\uFEAD\"] = \"\\u0631\";\n t[\"\\uFEAE\"] = \"\\u0631\";\n t[\"\\uFEAF\"] = \"\\u0632\";\n t[\"\\uFEB0\"] = \"\\u0632\";\n t[\"\\uFEB1\"] = \"\\u0633\";\n t[\"\\uFEB2\"] = \"\\u0633\";\n t[\"\\uFEB3\"] = \"\\u0633\";\n t[\"\\uFEB4\"] = \"\\u0633\";\n t[\"\\uFEB5\"] = \"\\u0634\";\n t[\"\\uFEB6\"] = \"\\u0634\";\n t[\"\\uFEB7\"] = \"\\u0634\";\n t[\"\\uFEB8\"] = \"\\u0634\";\n t[\"\\uFEB9\"] = \"\\u0635\";\n t[\"\\uFEBA\"] = \"\\u0635\";\n t[\"\\uFEBB\"] = \"\\u0635\";\n t[\"\\uFEBC\"] = \"\\u0635\";\n t[\"\\uFEBD\"] = \"\\u0636\";\n t[\"\\uFEBE\"] = \"\\u0636\";\n t[\"\\uFEBF\"] = \"\\u0636\";\n t[\"\\uFEC0\"] = \"\\u0636\";\n t[\"\\uFEC1\"] = \"\\u0637\";\n t[\"\\uFEC2\"] = \"\\u0637\";\n t[\"\\uFEC3\"] = \"\\u0637\";\n t[\"\\uFEC4\"] = \"\\u0637\";\n t[\"\\uFEC5\"] = \"\\u0638\";\n t[\"\\uFEC6\"] = \"\\u0638\";\n t[\"\\uFEC7\"] = \"\\u0638\";\n t[\"\\uFEC8\"] = \"\\u0638\";\n t[\"\\uFEC9\"] = \"\\u0639\";\n t[\"\\uFECA\"] = \"\\u0639\";\n t[\"\\uFECB\"] = \"\\u0639\";\n t[\"\\uFECC\"] = \"\\u0639\";\n t[\"\\uFECD\"] = \"\\u063A\";\n t[\"\\uFECE\"] = \"\\u063A\";\n t[\"\\uFECF\"] = \"\\u063A\";\n t[\"\\uFED0\"] = \"\\u063A\";\n t[\"\\uFED1\"] = \"\\u0641\";\n t[\"\\uFED2\"] = \"\\u0641\";\n t[\"\\uFED3\"] = \"\\u0641\";\n t[\"\\uFED4\"] = \"\\u0641\";\n t[\"\\uFED5\"] = \"\\u0642\";\n t[\"\\uFED6\"] = \"\\u0642\";\n t[\"\\uFED7\"] = \"\\u0642\";\n t[\"\\uFED8\"] = \"\\u0642\";\n t[\"\\uFED9\"] = \"\\u0643\";\n t[\"\\uFEDA\"] = \"\\u0643\";\n t[\"\\uFEDB\"] = \"\\u0643\";\n t[\"\\uFEDC\"] = \"\\u0643\";\n t[\"\\uFEDD\"] = \"\\u0644\";\n t[\"\\uFEDE\"] = \"\\u0644\";\n t[\"\\uFEDF\"] = \"\\u0644\";\n t[\"\\uFEE0\"] = \"\\u0644\";\n t[\"\\uFEE1\"] = \"\\u0645\";\n t[\"\\uFEE2\"] = \"\\u0645\";\n t[\"\\uFEE3\"] = \"\\u0645\";\n t[\"\\uFEE4\"] = \"\\u0645\";\n t[\"\\uFEE5\"] = \"\\u0646\";\n t[\"\\uFEE6\"] = \"\\u0646\";\n t[\"\\uFEE7\"] = \"\\u0646\";\n t[\"\\uFEE8\"] = \"\\u0646\";\n t[\"\\uFEE9\"] = \"\\u0647\";\n t[\"\\uFEEA\"] = \"\\u0647\";\n t[\"\\uFEEB\"] = \"\\u0647\";\n t[\"\\uFEEC\"] = \"\\u0647\";\n t[\"\\uFEED\"] = \"\\u0648\";\n t[\"\\uFEEE\"] = \"\\u0648\";\n t[\"\\uFEEF\"] = \"\\u0649\";\n t[\"\\uFEF0\"] = \"\\u0649\";\n t[\"\\uFEF1\"] = \"\\u064A\";\n t[\"\\uFEF2\"] = \"\\u064A\";\n t[\"\\uFEF3\"] = \"\\u064A\";\n t[\"\\uFEF4\"] = \"\\u064A\";\n t[\"\\uFEF5\"] = \"\\u0644\\u0622\";\n t[\"\\uFEF6\"] = \"\\u0644\\u0622\";\n t[\"\\uFEF7\"] = \"\\u0644\\u0623\";\n t[\"\\uFEF8\"] = \"\\u0644\\u0623\";\n t[\"\\uFEF9\"] = \"\\u0644\\u0625\";\n t[\"\\uFEFA\"] = \"\\u0644\\u0625\";\n t[\"\\uFEFB\"] = \"\\u0644\\u0627\";\n t[\"\\uFEFC\"] = \"\\u0644\\u0627\";\n});\nfunction reverseIfRtl(chars) {\n var charsLength = chars.length;\n if (charsLength <= 1 || !isRTLRangeFor(chars.charCodeAt(0))) {\n return chars;\n }\n var s = \"\";\n for (var ii = charsLength - 1; ii >= 0; ii--) {\n s += chars[ii];\n }\n return s;\n}\nexports.mapSpecialUnicodeValues = mapSpecialUnicodeValues;\nexports.reverseIfRtl = reverseIfRtl;\nexports.getUnicodeRangeFor = getUnicodeRangeFor;\nexports.getNormalizedUnicodes = getNormalizedUnicodes;\nexports.getUnicodeForGlyph = getUnicodeForGlyph;\n\n/***/ }),\n/* 234 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FontRendererFactory = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _cff_parser = __w_pdfjs_require__(228);\n\nvar _glyphlist = __w_pdfjs_require__(231);\n\nvar _encodings = __w_pdfjs_require__(230);\n\nvar _stream = __w_pdfjs_require__(209);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar FontRendererFactory = function FontRendererFactoryClosure() {\n function getLong(data, offset) {\n return data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3];\n }\n\n function getUshort(data, offset) {\n return data[offset] << 8 | data[offset + 1];\n }\n\n function getSubroutineBias(subrs) {\n var numSubrs = subrs.length;\n var bias = 32768;\n\n if (numSubrs < 1240) {\n bias = 107;\n } else if (numSubrs < 33900) {\n bias = 1131;\n }\n\n return bias;\n }\n\n function parseCmap(data, start, end) {\n var offset = getUshort(data, start + 2) === 1 ? getLong(data, start + 8) : getLong(data, start + 16);\n var format = getUshort(data, start + offset);\n var ranges, p, i;\n\n if (format === 4) {\n getUshort(data, start + offset + 2);\n var segCount = getUshort(data, start + offset + 6) >> 1;\n p = start + offset + 14;\n ranges = [];\n\n for (i = 0; i < segCount; i++, p += 2) {\n ranges[i] = {\n end: getUshort(data, p)\n };\n }\n\n p += 2;\n\n for (i = 0; i < segCount; i++, p += 2) {\n ranges[i].start = getUshort(data, p);\n }\n\n for (i = 0; i < segCount; i++, p += 2) {\n ranges[i].idDelta = getUshort(data, p);\n }\n\n for (i = 0; i < segCount; i++, p += 2) {\n var idOffset = getUshort(data, p);\n\n if (idOffset === 0) {\n continue;\n }\n\n ranges[i].ids = [];\n\n for (var j = 0, jj = ranges[i].end - ranges[i].start + 1; j < jj; j++) {\n ranges[i].ids[j] = getUshort(data, p + idOffset);\n idOffset += 2;\n }\n }\n\n return ranges;\n } else if (format === 12) {\n getLong(data, start + offset + 4);\n var groups = getLong(data, start + offset + 12);\n p = start + offset + 16;\n ranges = [];\n\n for (i = 0; i < groups; i++) {\n ranges.push({\n start: getLong(data, p),\n end: getLong(data, p + 4),\n idDelta: getLong(data, p + 8) - getLong(data, p)\n });\n p += 12;\n }\n\n return ranges;\n }\n\n throw new _util.FormatError(\"unsupported cmap: \".concat(format));\n }\n\n function parseCff(data, start, end, seacAnalysisEnabled) {\n var properties = {};\n var parser = new _cff_parser.CFFParser(new _stream.Stream(data, start, end - start), properties, seacAnalysisEnabled);\n var cff = parser.parse();\n return {\n glyphs: cff.charStrings.objects,\n subrs: cff.topDict.privateDict && cff.topDict.privateDict.subrsIndex && cff.topDict.privateDict.subrsIndex.objects,\n gsubrs: cff.globalSubrIndex && cff.globalSubrIndex.objects,\n isCFFCIDFont: cff.isCIDFont,\n fdSelect: cff.fdSelect,\n fdArray: cff.fdArray\n };\n }\n\n function parseGlyfTable(glyf, loca, isGlyphLocationsLong) {\n var itemSize, itemDecode;\n\n if (isGlyphLocationsLong) {\n itemSize = 4;\n\n itemDecode = function fontItemDecodeLong(data, offset) {\n return data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3];\n };\n } else {\n itemSize = 2;\n\n itemDecode = function fontItemDecode(data, offset) {\n return data[offset] << 9 | data[offset + 1] << 1;\n };\n }\n\n var glyphs = [];\n var startOffset = itemDecode(loca, 0);\n\n for (var j = itemSize; j < loca.length; j += itemSize) {\n var endOffset = itemDecode(loca, j);\n glyphs.push(glyf.subarray(startOffset, endOffset));\n startOffset = endOffset;\n }\n\n return glyphs;\n }\n\n function lookupCmap(ranges, unicode) {\n var code = unicode.codePointAt(0),\n gid = 0;\n var l = 0,\n r = ranges.length - 1;\n\n while (l < r) {\n var c = l + r + 1 >> 1;\n\n if (code < ranges[c].start) {\n r = c - 1;\n } else {\n l = c;\n }\n }\n\n if (ranges[l].start <= code && code <= ranges[l].end) {\n gid = ranges[l].idDelta + (ranges[l].ids ? ranges[l].ids[code - ranges[l].start] : code) & 0xffff;\n }\n\n return {\n charCode: code,\n glyphId: gid\n };\n }\n\n function compileGlyf(code, cmds, font) {\n function moveTo(x, y) {\n cmds.push({\n cmd: \"moveTo\",\n args: [x, y]\n });\n }\n\n function lineTo(x, y) {\n cmds.push({\n cmd: \"lineTo\",\n args: [x, y]\n });\n }\n\n function quadraticCurveTo(xa, ya, x, y) {\n cmds.push({\n cmd: \"quadraticCurveTo\",\n args: [xa, ya, x, y]\n });\n }\n\n var i = 0;\n var numberOfContours = (code[i] << 24 | code[i + 1] << 16) >> 16;\n var flags;\n var x = 0,\n y = 0;\n i += 10;\n\n if (numberOfContours < 0) {\n do {\n flags = code[i] << 8 | code[i + 1];\n var glyphIndex = code[i + 2] << 8 | code[i + 3];\n i += 4;\n var arg1, arg2;\n\n if (flags & 0x01) {\n arg1 = (code[i] << 24 | code[i + 1] << 16) >> 16;\n arg2 = (code[i + 2] << 24 | code[i + 3] << 16) >> 16;\n i += 4;\n } else {\n arg1 = code[i++];\n arg2 = code[i++];\n }\n\n if (flags & 0x02) {\n x = arg1;\n y = arg2;\n } else {\n x = 0;\n y = 0;\n }\n\n var scaleX = 1,\n scaleY = 1,\n scale01 = 0,\n scale10 = 0;\n\n if (flags & 0x08) {\n scaleX = scaleY = (code[i] << 24 | code[i + 1] << 16) / 1073741824;\n i += 2;\n } else if (flags & 0x40) {\n scaleX = (code[i] << 24 | code[i + 1] << 16) / 1073741824;\n scaleY = (code[i + 2] << 24 | code[i + 3] << 16) / 1073741824;\n i += 4;\n } else if (flags & 0x80) {\n scaleX = (code[i] << 24 | code[i + 1] << 16) / 1073741824;\n scale01 = (code[i + 2] << 24 | code[i + 3] << 16) / 1073741824;\n scale10 = (code[i + 4] << 24 | code[i + 5] << 16) / 1073741824;\n scaleY = (code[i + 6] << 24 | code[i + 7] << 16) / 1073741824;\n i += 8;\n }\n\n var subglyph = font.glyphs[glyphIndex];\n\n if (subglyph) {\n cmds.push({\n cmd: \"save\"\n });\n cmds.push({\n cmd: \"transform\",\n args: [scaleX, scale01, scale10, scaleY, x, y]\n });\n compileGlyf(subglyph, cmds, font);\n cmds.push({\n cmd: \"restore\"\n });\n }\n } while (flags & 0x20);\n } else {\n var endPtsOfContours = [];\n var j, jj;\n\n for (j = 0; j < numberOfContours; j++) {\n endPtsOfContours.push(code[i] << 8 | code[i + 1]);\n i += 2;\n }\n\n var instructionLength = code[i] << 8 | code[i + 1];\n i += 2 + instructionLength;\n var numberOfPoints = endPtsOfContours[endPtsOfContours.length - 1] + 1;\n var points = [];\n\n while (points.length < numberOfPoints) {\n flags = code[i++];\n var repeat = 1;\n\n if (flags & 0x08) {\n repeat += code[i++];\n }\n\n while (repeat-- > 0) {\n points.push({\n flags: flags\n });\n }\n }\n\n for (j = 0; j < numberOfPoints; j++) {\n switch (points[j].flags & 0x12) {\n case 0x00:\n x += (code[i] << 24 | code[i + 1] << 16) >> 16;\n i += 2;\n break;\n\n case 0x02:\n x -= code[i++];\n break;\n\n case 0x12:\n x += code[i++];\n break;\n }\n\n points[j].x = x;\n }\n\n for (j = 0; j < numberOfPoints; j++) {\n switch (points[j].flags & 0x24) {\n case 0x00:\n y += (code[i] << 24 | code[i + 1] << 16) >> 16;\n i += 2;\n break;\n\n case 0x04:\n y -= code[i++];\n break;\n\n case 0x24:\n y += code[i++];\n break;\n }\n\n points[j].y = y;\n }\n\n var startPoint = 0;\n\n for (i = 0; i < numberOfContours; i++) {\n var endPoint = endPtsOfContours[i];\n var contour = points.slice(startPoint, endPoint + 1);\n\n if (contour[0].flags & 1) {\n contour.push(contour[0]);\n } else if (contour[contour.length - 1].flags & 1) {\n contour.unshift(contour[contour.length - 1]);\n } else {\n var p = {\n flags: 1,\n x: (contour[0].x + contour[contour.length - 1].x) / 2,\n y: (contour[0].y + contour[contour.length - 1].y) / 2\n };\n contour.unshift(p);\n contour.push(p);\n }\n\n moveTo(contour[0].x, contour[0].y);\n\n for (j = 1, jj = contour.length; j < jj; j++) {\n if (contour[j].flags & 1) {\n lineTo(contour[j].x, contour[j].y);\n } else if (contour[j + 1].flags & 1) {\n quadraticCurveTo(contour[j].x, contour[j].y, contour[j + 1].x, contour[j + 1].y);\n j++;\n } else {\n quadraticCurveTo(contour[j].x, contour[j].y, (contour[j].x + contour[j + 1].x) / 2, (contour[j].y + contour[j + 1].y) / 2);\n }\n }\n\n startPoint = endPoint + 1;\n }\n }\n }\n\n function compileCharString(charStringCode, cmds, font, glyphId) {\n function moveTo(x, y) {\n cmds.push({\n cmd: \"moveTo\",\n args: [x, y]\n });\n }\n\n function lineTo(x, y) {\n cmds.push({\n cmd: \"lineTo\",\n args: [x, y]\n });\n }\n\n function bezierCurveTo(x1, y1, x2, y2, x, y) {\n cmds.push({\n cmd: \"bezierCurveTo\",\n args: [x1, y1, x2, y2, x, y]\n });\n }\n\n var stack = [];\n var x = 0,\n y = 0;\n var stems = 0;\n\n function parse(code) {\n var i = 0;\n\n while (i < code.length) {\n var stackClean = false;\n var v = code[i++];\n var xa, xb, ya, yb, y1, y2, y3, n, subrCode;\n\n switch (v) {\n case 1:\n stems += stack.length >> 1;\n stackClean = true;\n break;\n\n case 3:\n stems += stack.length >> 1;\n stackClean = true;\n break;\n\n case 4:\n y += stack.pop();\n moveTo(x, y);\n stackClean = true;\n break;\n\n case 5:\n while (stack.length > 0) {\n x += stack.shift();\n y += stack.shift();\n lineTo(x, y);\n }\n\n break;\n\n case 6:\n while (stack.length > 0) {\n x += stack.shift();\n lineTo(x, y);\n\n if (stack.length === 0) {\n break;\n }\n\n y += stack.shift();\n lineTo(x, y);\n }\n\n break;\n\n case 7:\n while (stack.length > 0) {\n y += stack.shift();\n lineTo(x, y);\n\n if (stack.length === 0) {\n break;\n }\n\n x += stack.shift();\n lineTo(x, y);\n }\n\n break;\n\n case 8:\n while (stack.length > 0) {\n xa = x + stack.shift();\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb + stack.shift();\n bezierCurveTo(xa, ya, xb, yb, x, y);\n }\n\n break;\n\n case 10:\n n = stack.pop();\n subrCode = null;\n\n if (font.isCFFCIDFont) {\n var fdIndex = font.fdSelect.getFDIndex(glyphId);\n\n if (fdIndex >= 0 && fdIndex < font.fdArray.length) {\n var fontDict = font.fdArray[fdIndex];\n var subrs = void 0;\n\n if (fontDict.privateDict && fontDict.privateDict.subrsIndex) {\n subrs = fontDict.privateDict.subrsIndex.objects;\n }\n\n if (subrs) {\n n += getSubroutineBias(subrs);\n subrCode = subrs[n];\n }\n } else {\n (0, _util.warn)(\"Invalid fd index for glyph index.\");\n }\n } else {\n subrCode = font.subrs[n + font.subrsBias];\n }\n\n if (subrCode) {\n parse(subrCode);\n }\n\n break;\n\n case 11:\n return;\n\n case 12:\n v = code[i++];\n\n switch (v) {\n case 34:\n xa = x + stack.shift();\n xb = xa + stack.shift();\n y1 = y + stack.shift();\n x = xb + stack.shift();\n bezierCurveTo(xa, y, xb, y1, x, y1);\n xa = x + stack.shift();\n xb = xa + stack.shift();\n x = xb + stack.shift();\n bezierCurveTo(xa, y1, xb, y, x, y);\n break;\n\n case 35:\n xa = x + stack.shift();\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb + stack.shift();\n bezierCurveTo(xa, ya, xb, yb, x, y);\n xa = x + stack.shift();\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb + stack.shift();\n bezierCurveTo(xa, ya, xb, yb, x, y);\n stack.pop();\n break;\n\n case 36:\n xa = x + stack.shift();\n y1 = y + stack.shift();\n xb = xa + stack.shift();\n y2 = y1 + stack.shift();\n x = xb + stack.shift();\n bezierCurveTo(xa, y1, xb, y2, x, y2);\n xa = x + stack.shift();\n xb = xa + stack.shift();\n y3 = y2 + stack.shift();\n x = xb + stack.shift();\n bezierCurveTo(xa, y2, xb, y3, x, y);\n break;\n\n case 37:\n var x0 = x,\n y0 = y;\n xa = x + stack.shift();\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb + stack.shift();\n bezierCurveTo(xa, ya, xb, yb, x, y);\n xa = x + stack.shift();\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb;\n y = yb;\n\n if (Math.abs(x - x0) > Math.abs(y - y0)) {\n x += stack.shift();\n } else {\n y += stack.shift();\n }\n\n bezierCurveTo(xa, ya, xb, yb, x, y);\n break;\n\n default:\n throw new _util.FormatError(\"unknown operator: 12 \".concat(v));\n }\n\n break;\n\n case 14:\n if (stack.length >= 4) {\n var achar = stack.pop();\n var bchar = stack.pop();\n y = stack.pop();\n x = stack.pop();\n cmds.push({\n cmd: \"save\"\n });\n cmds.push({\n cmd: \"translate\",\n args: [x, y]\n });\n var cmap = lookupCmap(font.cmap, String.fromCharCode(font.glyphNameMap[_encodings.StandardEncoding[achar]]));\n compileCharString(font.glyphs[cmap.glyphId], cmds, font, cmap.glyphId);\n cmds.push({\n cmd: \"restore\"\n });\n cmap = lookupCmap(font.cmap, String.fromCharCode(font.glyphNameMap[_encodings.StandardEncoding[bchar]]));\n compileCharString(font.glyphs[cmap.glyphId], cmds, font, cmap.glyphId);\n }\n\n return;\n\n case 18:\n stems += stack.length >> 1;\n stackClean = true;\n break;\n\n case 19:\n stems += stack.length >> 1;\n i += stems + 7 >> 3;\n stackClean = true;\n break;\n\n case 20:\n stems += stack.length >> 1;\n i += stems + 7 >> 3;\n stackClean = true;\n break;\n\n case 21:\n y += stack.pop();\n x += stack.pop();\n moveTo(x, y);\n stackClean = true;\n break;\n\n case 22:\n x += stack.pop();\n moveTo(x, y);\n stackClean = true;\n break;\n\n case 23:\n stems += stack.length >> 1;\n stackClean = true;\n break;\n\n case 24:\n while (stack.length > 2) {\n xa = x + stack.shift();\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb + stack.shift();\n bezierCurveTo(xa, ya, xb, yb, x, y);\n }\n\n x += stack.shift();\n y += stack.shift();\n lineTo(x, y);\n break;\n\n case 25:\n while (stack.length > 6) {\n x += stack.shift();\n y += stack.shift();\n lineTo(x, y);\n }\n\n xa = x + stack.shift();\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb + stack.shift();\n bezierCurveTo(xa, ya, xb, yb, x, y);\n break;\n\n case 26:\n if (stack.length % 2) {\n x += stack.shift();\n }\n\n while (stack.length > 0) {\n xa = x;\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb;\n y = yb + stack.shift();\n bezierCurveTo(xa, ya, xb, yb, x, y);\n }\n\n break;\n\n case 27:\n if (stack.length % 2) {\n y += stack.shift();\n }\n\n while (stack.length > 0) {\n xa = x + stack.shift();\n ya = y;\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb;\n bezierCurveTo(xa, ya, xb, yb, x, y);\n }\n\n break;\n\n case 28:\n stack.push((code[i] << 24 | code[i + 1] << 16) >> 16);\n i += 2;\n break;\n\n case 29:\n n = stack.pop() + font.gsubrsBias;\n subrCode = font.gsubrs[n];\n\n if (subrCode) {\n parse(subrCode);\n }\n\n break;\n\n case 30:\n while (stack.length > 0) {\n xa = x;\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb + (stack.length === 1 ? stack.shift() : 0);\n bezierCurveTo(xa, ya, xb, yb, x, y);\n\n if (stack.length === 0) {\n break;\n }\n\n xa = x + stack.shift();\n ya = y;\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n y = yb + stack.shift();\n x = xb + (stack.length === 1 ? stack.shift() : 0);\n bezierCurveTo(xa, ya, xb, yb, x, y);\n }\n\n break;\n\n case 31:\n while (stack.length > 0) {\n xa = x + stack.shift();\n ya = y;\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n y = yb + stack.shift();\n x = xb + (stack.length === 1 ? stack.shift() : 0);\n bezierCurveTo(xa, ya, xb, yb, x, y);\n\n if (stack.length === 0) {\n break;\n }\n\n xa = x;\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb + (stack.length === 1 ? stack.shift() : 0);\n bezierCurveTo(xa, ya, xb, yb, x, y);\n }\n\n break;\n\n default:\n if (v < 32) {\n throw new _util.FormatError(\"unknown operator: \".concat(v));\n }\n\n if (v < 247) {\n stack.push(v - 139);\n } else if (v < 251) {\n stack.push((v - 247) * 256 + code[i++] + 108);\n } else if (v < 255) {\n stack.push(-(v - 251) * 256 - code[i++] - 108);\n } else {\n stack.push((code[i] << 24 | code[i + 1] << 16 | code[i + 2] << 8 | code[i + 3]) / 65536);\n i += 4;\n }\n\n break;\n }\n\n if (stackClean) {\n stack.length = 0;\n }\n }\n }\n\n parse(charStringCode);\n }\n\n var NOOP = [];\n\n var CompiledFont = /*#__PURE__*/function () {\n function CompiledFont(fontMatrix) {\n _classCallCheck(this, CompiledFont);\n\n if (this.constructor === CompiledFont) {\n (0, _util.unreachable)(\"Cannot initialize CompiledFont.\");\n }\n\n this.fontMatrix = fontMatrix;\n this.compiledGlyphs = Object.create(null);\n this.compiledCharCodeToGlyphId = Object.create(null);\n }\n\n _createClass(CompiledFont, [{\n key: \"getPathJs\",\n value: function getPathJs(unicode) {\n var cmap = lookupCmap(this.cmap, unicode);\n var fn = this.compiledGlyphs[cmap.glyphId];\n\n if (!fn) {\n fn = this.compileGlyph(this.glyphs[cmap.glyphId], cmap.glyphId);\n this.compiledGlyphs[cmap.glyphId] = fn;\n }\n\n if (this.compiledCharCodeToGlyphId[cmap.charCode] === undefined) {\n this.compiledCharCodeToGlyphId[cmap.charCode] = cmap.glyphId;\n }\n\n return fn;\n }\n }, {\n key: \"compileGlyph\",\n value: function compileGlyph(code, glyphId) {\n if (!code || code.length === 0 || code[0] === 14) {\n return NOOP;\n }\n\n var fontMatrix = this.fontMatrix;\n\n if (this.isCFFCIDFont) {\n var fdIndex = this.fdSelect.getFDIndex(glyphId);\n\n if (fdIndex >= 0 && fdIndex < this.fdArray.length) {\n var fontDict = this.fdArray[fdIndex];\n fontMatrix = fontDict.getByName(\"FontMatrix\") || _util.FONT_IDENTITY_MATRIX;\n } else {\n (0, _util.warn)(\"Invalid fd index for glyph index.\");\n }\n }\n\n var cmds = [];\n cmds.push({\n cmd: \"save\"\n });\n cmds.push({\n cmd: \"transform\",\n args: fontMatrix.slice()\n });\n cmds.push({\n cmd: \"scale\",\n args: [\"size\", \"-size\"]\n });\n this.compileGlyphImpl(code, cmds, glyphId);\n cmds.push({\n cmd: \"restore\"\n });\n return cmds;\n }\n }, {\n key: \"compileGlyphImpl\",\n value: function compileGlyphImpl() {\n (0, _util.unreachable)(\"Children classes should implement this.\");\n }\n }, {\n key: \"hasBuiltPath\",\n value: function hasBuiltPath(unicode) {\n var cmap = lookupCmap(this.cmap, unicode);\n return this.compiledGlyphs[cmap.glyphId] !== undefined && this.compiledCharCodeToGlyphId[cmap.charCode] !== undefined;\n }\n }]);\n\n return CompiledFont;\n }();\n\n var TrueTypeCompiled = /*#__PURE__*/function (_CompiledFont) {\n _inherits(TrueTypeCompiled, _CompiledFont);\n\n var _super = _createSuper(TrueTypeCompiled);\n\n function TrueTypeCompiled(glyphs, cmap, fontMatrix) {\n var _this;\n\n _classCallCheck(this, TrueTypeCompiled);\n\n _this = _super.call(this, fontMatrix || [0.000488, 0, 0, 0.000488, 0, 0]);\n _this.glyphs = glyphs;\n _this.cmap = cmap;\n return _this;\n }\n\n _createClass(TrueTypeCompiled, [{\n key: \"compileGlyphImpl\",\n value: function compileGlyphImpl(code, cmds) {\n compileGlyf(code, cmds, this);\n }\n }]);\n\n return TrueTypeCompiled;\n }(CompiledFont);\n\n var Type2Compiled = /*#__PURE__*/function (_CompiledFont2) {\n _inherits(Type2Compiled, _CompiledFont2);\n\n var _super2 = _createSuper(Type2Compiled);\n\n function Type2Compiled(cffInfo, cmap, fontMatrix, glyphNameMap) {\n var _this2;\n\n _classCallCheck(this, Type2Compiled);\n\n _this2 = _super2.call(this, fontMatrix || [0.001, 0, 0, 0.001, 0, 0]);\n _this2.glyphs = cffInfo.glyphs;\n _this2.gsubrs = cffInfo.gsubrs || [];\n _this2.subrs = cffInfo.subrs || [];\n _this2.cmap = cmap;\n _this2.glyphNameMap = glyphNameMap || (0, _glyphlist.getGlyphsUnicode)();\n _this2.gsubrsBias = getSubroutineBias(_this2.gsubrs);\n _this2.subrsBias = getSubroutineBias(_this2.subrs);\n _this2.isCFFCIDFont = cffInfo.isCFFCIDFont;\n _this2.fdSelect = cffInfo.fdSelect;\n _this2.fdArray = cffInfo.fdArray;\n return _this2;\n }\n\n _createClass(Type2Compiled, [{\n key: \"compileGlyphImpl\",\n value: function compileGlyphImpl(code, cmds, glyphId) {\n compileCharString(code, cmds, this, glyphId);\n }\n }]);\n\n return Type2Compiled;\n }(CompiledFont);\n\n return {\n create: function FontRendererFactory_create(font, seacAnalysisEnabled) {\n var data = new Uint8Array(font.data);\n var cmap, glyf, loca, cff, indexToLocFormat, unitsPerEm;\n var numTables = getUshort(data, 4);\n\n for (var i = 0, p = 12; i < numTables; i++, p += 16) {\n var tag = (0, _util.bytesToString)(data.subarray(p, p + 4));\n var offset = getLong(data, p + 8);\n var length = getLong(data, p + 12);\n\n switch (tag) {\n case \"cmap\":\n cmap = parseCmap(data, offset, offset + length);\n break;\n\n case \"glyf\":\n glyf = data.subarray(offset, offset + length);\n break;\n\n case \"loca\":\n loca = data.subarray(offset, offset + length);\n break;\n\n case \"head\":\n unitsPerEm = getUshort(data, offset + 18);\n indexToLocFormat = getUshort(data, offset + 50);\n break;\n\n case \"CFF \":\n cff = parseCff(data, offset, offset + length, seacAnalysisEnabled);\n break;\n }\n }\n\n if (glyf) {\n var fontMatrix = !unitsPerEm ? font.fontMatrix : [1 / unitsPerEm, 0, 0, 1 / unitsPerEm, 0, 0];\n return new TrueTypeCompiled(parseGlyfTable(glyf, loca, indexToLocFormat), cmap, fontMatrix);\n }\n\n return new Type2Compiled(cff, cmap, font.fontMatrix, font.glyphNameMap);\n }\n };\n}();\n\nexports.FontRendererFactory = FontRendererFactory;\n\n/***/ }),\n/* 235 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Type1Parser = void 0;\n\nvar _encodings = __w_pdfjs_require__(230);\n\nvar _core_utils = __w_pdfjs_require__(205);\n\nvar _stream = __w_pdfjs_require__(209);\n\nvar _util = __w_pdfjs_require__(5);\n\nvar HINTING_ENABLED = false;\n\nvar Type1CharString = function Type1CharStringClosure() {\n var COMMAND_MAP = {\n hstem: [1],\n vstem: [3],\n vmoveto: [4],\n rlineto: [5],\n hlineto: [6],\n vlineto: [7],\n rrcurveto: [8],\n callsubr: [10],\n flex: [12, 35],\n drop: [12, 18],\n endchar: [14],\n rmoveto: [21],\n hmoveto: [22],\n vhcurveto: [30],\n hvcurveto: [31]\n };\n\n function Type1CharString() {\n this.width = 0;\n this.lsb = 0;\n this.flexing = false;\n this.output = [];\n this.stack = [];\n }\n\n Type1CharString.prototype = {\n convert: function Type1CharString_convert(encoded, subrs, seacAnalysisEnabled) {\n var count = encoded.length;\n var error = false;\n var wx, sbx, subrNumber;\n\n for (var i = 0; i < count; i++) {\n var value = encoded[i];\n\n if (value < 32) {\n if (value === 12) {\n value = (value << 8) + encoded[++i];\n }\n\n switch (value) {\n case 1:\n if (!HINTING_ENABLED) {\n this.stack = [];\n break;\n }\n\n error = this.executeCommand(2, COMMAND_MAP.hstem);\n break;\n\n case 3:\n if (!HINTING_ENABLED) {\n this.stack = [];\n break;\n }\n\n error = this.executeCommand(2, COMMAND_MAP.vstem);\n break;\n\n case 4:\n if (this.flexing) {\n if (this.stack.length < 1) {\n error = true;\n break;\n }\n\n var dy = this.stack.pop();\n this.stack.push(0, dy);\n break;\n }\n\n error = this.executeCommand(1, COMMAND_MAP.vmoveto);\n break;\n\n case 5:\n error = this.executeCommand(2, COMMAND_MAP.rlineto);\n break;\n\n case 6:\n error = this.executeCommand(1, COMMAND_MAP.hlineto);\n break;\n\n case 7:\n error = this.executeCommand(1, COMMAND_MAP.vlineto);\n break;\n\n case 8:\n error = this.executeCommand(6, COMMAND_MAP.rrcurveto);\n break;\n\n case 9:\n this.stack = [];\n break;\n\n case 10:\n if (this.stack.length < 1) {\n error = true;\n break;\n }\n\n subrNumber = this.stack.pop();\n\n if (!subrs[subrNumber]) {\n error = true;\n break;\n }\n\n error = this.convert(subrs[subrNumber], subrs, seacAnalysisEnabled);\n break;\n\n case 11:\n return error;\n\n case 13:\n if (this.stack.length < 2) {\n error = true;\n break;\n }\n\n wx = this.stack.pop();\n sbx = this.stack.pop();\n this.lsb = sbx;\n this.width = wx;\n this.stack.push(wx, sbx);\n error = this.executeCommand(2, COMMAND_MAP.hmoveto);\n break;\n\n case 14:\n this.output.push(COMMAND_MAP.endchar[0]);\n break;\n\n case 21:\n if (this.flexing) {\n break;\n }\n\n error = this.executeCommand(2, COMMAND_MAP.rmoveto);\n break;\n\n case 22:\n if (this.flexing) {\n this.stack.push(0);\n break;\n }\n\n error = this.executeCommand(1, COMMAND_MAP.hmoveto);\n break;\n\n case 30:\n error = this.executeCommand(4, COMMAND_MAP.vhcurveto);\n break;\n\n case 31:\n error = this.executeCommand(4, COMMAND_MAP.hvcurveto);\n break;\n\n case (12 << 8) + 0:\n this.stack = [];\n break;\n\n case (12 << 8) + 1:\n if (!HINTING_ENABLED) {\n this.stack = [];\n break;\n }\n\n error = this.executeCommand(2, COMMAND_MAP.vstem);\n break;\n\n case (12 << 8) + 2:\n if (!HINTING_ENABLED) {\n this.stack = [];\n break;\n }\n\n error = this.executeCommand(2, COMMAND_MAP.hstem);\n break;\n\n case (12 << 8) + 6:\n if (seacAnalysisEnabled) {\n var asb = this.stack[this.stack.length - 5];\n this.seac = this.stack.splice(-4, 4);\n this.seac[0] += this.lsb - asb;\n error = this.executeCommand(0, COMMAND_MAP.endchar);\n } else {\n error = this.executeCommand(4, COMMAND_MAP.endchar);\n }\n\n break;\n\n case (12 << 8) + 7:\n if (this.stack.length < 4) {\n error = true;\n break;\n }\n\n this.stack.pop();\n wx = this.stack.pop();\n var sby = this.stack.pop();\n sbx = this.stack.pop();\n this.lsb = sbx;\n this.width = wx;\n this.stack.push(wx, sbx, sby);\n error = this.executeCommand(3, COMMAND_MAP.rmoveto);\n break;\n\n case (12 << 8) + 12:\n if (this.stack.length < 2) {\n error = true;\n break;\n }\n\n var num2 = this.stack.pop();\n var num1 = this.stack.pop();\n this.stack.push(num1 / num2);\n break;\n\n case (12 << 8) + 16:\n if (this.stack.length < 2) {\n error = true;\n break;\n }\n\n subrNumber = this.stack.pop();\n var numArgs = this.stack.pop();\n\n if (subrNumber === 0 && numArgs === 3) {\n var flexArgs = this.stack.splice(this.stack.length - 17, 17);\n this.stack.push(flexArgs[2] + flexArgs[0], flexArgs[3] + flexArgs[1], flexArgs[4], flexArgs[5], flexArgs[6], flexArgs[7], flexArgs[8], flexArgs[9], flexArgs[10], flexArgs[11], flexArgs[12], flexArgs[13], flexArgs[14]);\n error = this.executeCommand(13, COMMAND_MAP.flex, true);\n this.flexing = false;\n this.stack.push(flexArgs[15], flexArgs[16]);\n } else if (subrNumber === 1 && numArgs === 0) {\n this.flexing = true;\n }\n\n break;\n\n case (12 << 8) + 17:\n break;\n\n case (12 << 8) + 33:\n this.stack = [];\n break;\n\n default:\n (0, _util.warn)('Unknown type 1 charstring command of \"' + value + '\"');\n break;\n }\n\n if (error) {\n break;\n }\n\n continue;\n } else if (value <= 246) {\n value = value - 139;\n } else if (value <= 250) {\n value = (value - 247) * 256 + encoded[++i] + 108;\n } else if (value <= 254) {\n value = -((value - 251) * 256) - encoded[++i] - 108;\n } else {\n value = (encoded[++i] & 0xff) << 24 | (encoded[++i] & 0xff) << 16 | (encoded[++i] & 0xff) << 8 | (encoded[++i] & 0xff) << 0;\n }\n\n this.stack.push(value);\n }\n\n return error;\n },\n executeCommand: function executeCommand(howManyArgs, command, keepStack) {\n var stackLength = this.stack.length;\n\n if (howManyArgs > stackLength) {\n return true;\n }\n\n var start = stackLength - howManyArgs;\n\n for (var i = start; i < stackLength; i++) {\n var value = this.stack[i];\n\n if (Number.isInteger(value)) {\n this.output.push(28, value >> 8 & 0xff, value & 0xff);\n } else {\n value = 65536 * value | 0;\n this.output.push(255, value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);\n }\n }\n\n this.output.push.apply(this.output, command);\n\n if (keepStack) {\n this.stack.splice(start, howManyArgs);\n } else {\n this.stack.length = 0;\n }\n\n return false;\n }\n };\n return Type1CharString;\n}();\n\nvar Type1Parser = function Type1ParserClosure() {\n var EEXEC_ENCRYPT_KEY = 55665;\n var CHAR_STRS_ENCRYPT_KEY = 4330;\n\n function isHexDigit(code) {\n return code >= 48 && code <= 57 || code >= 65 && code <= 70 || code >= 97 && code <= 102;\n }\n\n function decrypt(data, key, discardNumber) {\n if (discardNumber >= data.length) {\n return new Uint8Array(0);\n }\n\n var r = key | 0,\n c1 = 52845,\n c2 = 22719,\n i,\n j;\n\n for (i = 0; i < discardNumber; i++) {\n r = (data[i] + r) * c1 + c2 & (1 << 16) - 1;\n }\n\n var count = data.length - discardNumber;\n var decrypted = new Uint8Array(count);\n\n for (i = discardNumber, j = 0; j < count; i++, j++) {\n var value = data[i];\n decrypted[j] = value ^ r >> 8;\n r = (value + r) * c1 + c2 & (1 << 16) - 1;\n }\n\n return decrypted;\n }\n\n function decryptAscii(data, key, discardNumber) {\n var r = key | 0,\n c1 = 52845,\n c2 = 22719;\n var count = data.length,\n maybeLength = count >>> 1;\n var decrypted = new Uint8Array(maybeLength);\n var i, j;\n\n for (i = 0, j = 0; i < count; i++) {\n var digit1 = data[i];\n\n if (!isHexDigit(digit1)) {\n continue;\n }\n\n i++;\n var digit2;\n\n while (i < count && !isHexDigit(digit2 = data[i])) {\n i++;\n }\n\n if (i < count) {\n var value = parseInt(String.fromCharCode(digit1, digit2), 16);\n decrypted[j++] = value ^ r >> 8;\n r = (value + r) * c1 + c2 & (1 << 16) - 1;\n }\n }\n\n return decrypted.slice(discardNumber, j);\n }\n\n function isSpecial(c) {\n return c === 0x2f || c === 0x5b || c === 0x5d || c === 0x7b || c === 0x7d || c === 0x28 || c === 0x29;\n }\n\n function Type1Parser(stream, encrypted, seacAnalysisEnabled) {\n if (encrypted) {\n var data = stream.getBytes();\n var isBinary = !((isHexDigit(data[0]) || (0, _core_utils.isWhiteSpace)(data[0])) && isHexDigit(data[1]) && isHexDigit(data[2]) && isHexDigit(data[3]) && isHexDigit(data[4]) && isHexDigit(data[5]) && isHexDigit(data[6]) && isHexDigit(data[7]));\n stream = new _stream.Stream(isBinary ? decrypt(data, EEXEC_ENCRYPT_KEY, 4) : decryptAscii(data, EEXEC_ENCRYPT_KEY, 4));\n }\n\n this.seacAnalysisEnabled = !!seacAnalysisEnabled;\n this.stream = stream;\n this.nextChar();\n }\n\n Type1Parser.prototype = {\n readNumberArray: function Type1Parser_readNumberArray() {\n this.getToken();\n var array = [];\n\n while (true) {\n var token = this.getToken();\n\n if (token === null || token === \"]\" || token === \"}\") {\n break;\n }\n\n array.push(parseFloat(token || 0));\n }\n\n return array;\n },\n readNumber: function Type1Parser_readNumber() {\n var token = this.getToken();\n return parseFloat(token || 0);\n },\n readInt: function Type1Parser_readInt() {\n var token = this.getToken();\n return parseInt(token || 0, 10) | 0;\n },\n readBoolean: function Type1Parser_readBoolean() {\n var token = this.getToken();\n return token === \"true\" ? 1 : 0;\n },\n nextChar: function Type1_nextChar() {\n return this.currentChar = this.stream.getByte();\n },\n getToken: function Type1Parser_getToken() {\n var comment = false;\n var ch = this.currentChar;\n\n while (true) {\n if (ch === -1) {\n return null;\n }\n\n if (comment) {\n if (ch === 0x0a || ch === 0x0d) {\n comment = false;\n }\n } else if (ch === 0x25) {\n comment = true;\n } else if (!(0, _core_utils.isWhiteSpace)(ch)) {\n break;\n }\n\n ch = this.nextChar();\n }\n\n if (isSpecial(ch)) {\n this.nextChar();\n return String.fromCharCode(ch);\n }\n\n var token = \"\";\n\n do {\n token += String.fromCharCode(ch);\n ch = this.nextChar();\n } while (ch >= 0 && !(0, _core_utils.isWhiteSpace)(ch) && !isSpecial(ch));\n\n return token;\n },\n readCharStrings: function Type1Parser_readCharStrings(bytes, lenIV) {\n if (lenIV === -1) {\n return bytes;\n }\n\n return decrypt(bytes, CHAR_STRS_ENCRYPT_KEY, lenIV);\n },\n extractFontProgram: function Type1Parser_extractFontProgram(properties) {\n var stream = this.stream;\n var subrs = [],\n charstrings = [];\n var privateData = Object.create(null);\n privateData.lenIV = 4;\n var program = {\n subrs: [],\n charstrings: [],\n properties: {\n privateData: privateData\n }\n };\n var token, length, data, lenIV, encoded;\n\n while ((token = this.getToken()) !== null) {\n if (token !== \"/\") {\n continue;\n }\n\n token = this.getToken();\n\n switch (token) {\n case \"CharStrings\":\n this.getToken();\n this.getToken();\n this.getToken();\n this.getToken();\n\n while (true) {\n token = this.getToken();\n\n if (token === null || token === \"end\") {\n break;\n }\n\n if (token !== \"/\") {\n continue;\n }\n\n var glyph = this.getToken();\n length = this.readInt();\n this.getToken();\n data = length > 0 ? stream.getBytes(length) : new Uint8Array(0);\n lenIV = program.properties.privateData.lenIV;\n encoded = this.readCharStrings(data, lenIV);\n this.nextChar();\n token = this.getToken();\n\n if (token === \"noaccess\") {\n this.getToken();\n }\n\n charstrings.push({\n glyph: glyph,\n encoded: encoded\n });\n }\n\n break;\n\n case \"Subrs\":\n this.readInt();\n this.getToken();\n\n while (this.getToken() === \"dup\") {\n var index = this.readInt();\n length = this.readInt();\n this.getToken();\n data = length > 0 ? stream.getBytes(length) : new Uint8Array(0);\n lenIV = program.properties.privateData.lenIV;\n encoded = this.readCharStrings(data, lenIV);\n this.nextChar();\n token = this.getToken();\n\n if (token === \"noaccess\") {\n this.getToken();\n }\n\n subrs[index] = encoded;\n }\n\n break;\n\n case \"BlueValues\":\n case \"OtherBlues\":\n case \"FamilyBlues\":\n case \"FamilyOtherBlues\":\n var blueArray = this.readNumberArray();\n\n if (blueArray.length > 0 && blueArray.length % 2 === 0 && HINTING_ENABLED) {\n program.properties.privateData[token] = blueArray;\n }\n\n break;\n\n case \"StemSnapH\":\n case \"StemSnapV\":\n program.properties.privateData[token] = this.readNumberArray();\n break;\n\n case \"StdHW\":\n case \"StdVW\":\n program.properties.privateData[token] = this.readNumberArray()[0];\n break;\n\n case \"BlueShift\":\n case \"lenIV\":\n case \"BlueFuzz\":\n case \"BlueScale\":\n case \"LanguageGroup\":\n case \"ExpansionFactor\":\n program.properties.privateData[token] = this.readNumber();\n break;\n\n case \"ForceBold\":\n program.properties.privateData[token] = this.readBoolean();\n break;\n }\n }\n\n for (var i = 0; i < charstrings.length; i++) {\n glyph = charstrings[i].glyph;\n encoded = charstrings[i].encoded;\n var charString = new Type1CharString();\n var error = charString.convert(encoded, subrs, this.seacAnalysisEnabled);\n var output = charString.output;\n\n if (error) {\n output = [14];\n }\n\n var charStringObject = {\n glyphName: glyph,\n charstring: output,\n width: charString.width,\n lsb: charString.lsb,\n seac: charString.seac\n };\n\n if (glyph === \".notdef\") {\n program.charstrings.unshift(charStringObject);\n } else {\n program.charstrings.push(charStringObject);\n }\n\n if (properties.builtInEncoding) {\n var _index = properties.builtInEncoding.indexOf(glyph);\n\n if (_index > -1 && properties.widths[_index] === undefined && _index >= properties.firstChar && _index <= properties.lastChar) {\n properties.widths[_index] = charString.width;\n }\n }\n }\n\n return program;\n },\n extractFontHeader: function Type1Parser_extractFontHeader(properties) {\n var token;\n\n while ((token = this.getToken()) !== null) {\n if (token !== \"/\") {\n continue;\n }\n\n token = this.getToken();\n\n switch (token) {\n case \"FontMatrix\":\n var matrix = this.readNumberArray();\n properties.fontMatrix = matrix;\n break;\n\n case \"Encoding\":\n var encodingArg = this.getToken();\n var encoding;\n\n if (!/^\\d+$/.test(encodingArg)) {\n encoding = (0, _encodings.getEncoding)(encodingArg);\n } else {\n encoding = [];\n var size = parseInt(encodingArg, 10) | 0;\n this.getToken();\n\n for (var j = 0; j < size; j++) {\n token = this.getToken();\n\n while (token !== \"dup\" && token !== \"def\") {\n token = this.getToken();\n\n if (token === null) {\n return;\n }\n }\n\n if (token === \"def\") {\n break;\n }\n\n var index = this.readInt();\n this.getToken();\n var glyph = this.getToken();\n encoding[index] = glyph;\n this.getToken();\n }\n }\n\n properties.builtInEncoding = encoding;\n break;\n\n case \"FontBBox\":\n var fontBBox = this.readNumberArray();\n properties.ascent = Math.max(fontBBox[3], fontBBox[1]);\n properties.descent = Math.min(fontBBox[1], fontBBox[3]);\n properties.ascentScaled = true;\n break;\n }\n }\n }\n };\n return Type1Parser;\n}();\n\nexports.Type1Parser = Type1Parser;\n\n/***/ }),\n/* 236 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getTilingPatternIR = getTilingPatternIR;\nexports.Pattern = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _colorspace = __w_pdfjs_require__(220);\n\nvar _primitives = __w_pdfjs_require__(202);\n\nvar _core_utils = __w_pdfjs_require__(205);\n\nvar ShadingType = {\n FUNCTION_BASED: 1,\n AXIAL: 2,\n RADIAL: 3,\n FREE_FORM_MESH: 4,\n LATTICE_FORM_MESH: 5,\n COONS_PATCH_MESH: 6,\n TENSOR_PATCH_MESH: 7\n};\n\nvar Pattern = function PatternClosure() {\n function Pattern() {\n (0, _util.unreachable)(\"should not call Pattern constructor\");\n }\n\n Pattern.prototype = {\n getPattern: function Pattern_getPattern(ctx) {\n (0, _util.unreachable)(\"Should not call Pattern.getStyle: \".concat(ctx));\n }\n };\n\n Pattern.parseShading = function (shading, matrix, xref, res, handler, pdfFunctionFactory, localColorSpaceCache) {\n var dict = (0, _primitives.isStream)(shading) ? shading.dict : shading;\n var type = dict.get(\"ShadingType\");\n\n try {\n switch (type) {\n case ShadingType.AXIAL:\n case ShadingType.RADIAL:\n return new Shadings.RadialAxial(dict, matrix, xref, res, pdfFunctionFactory, localColorSpaceCache);\n\n case ShadingType.FREE_FORM_MESH:\n case ShadingType.LATTICE_FORM_MESH:\n case ShadingType.COONS_PATCH_MESH:\n case ShadingType.TENSOR_PATCH_MESH:\n return new Shadings.Mesh(shading, matrix, xref, res, pdfFunctionFactory, localColorSpaceCache);\n\n default:\n throw new _util.FormatError(\"Unsupported ShadingType: \" + type);\n }\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n handler.send(\"UnsupportedFeature\", {\n featureId: _util.UNSUPPORTED_FEATURES.shadingPattern\n });\n (0, _util.warn)(ex);\n return new Shadings.Dummy();\n }\n };\n\n return Pattern;\n}();\n\nexports.Pattern = Pattern;\nvar Shadings = {};\nShadings.SMALL_NUMBER = 1e-6;\n\nShadings.RadialAxial = function RadialAxialClosure() {\n function RadialAxial(dict, matrix, xref, resources, pdfFunctionFactory, localColorSpaceCache) {\n this.matrix = matrix;\n this.coordsArr = dict.getArray(\"Coords\");\n this.shadingType = dict.get(\"ShadingType\");\n this.type = \"Pattern\";\n\n var cs = _colorspace.ColorSpace.parse({\n cs: dict.getRaw(\"ColorSpace\") || dict.getRaw(\"CS\"),\n xref: xref,\n resources: resources,\n pdfFunctionFactory: pdfFunctionFactory,\n localColorSpaceCache: localColorSpaceCache\n });\n\n this.cs = cs;\n var bbox = dict.getArray(\"BBox\");\n\n if (Array.isArray(bbox) && bbox.length === 4) {\n this.bbox = _util.Util.normalizeRect(bbox);\n } else {\n this.bbox = null;\n }\n\n var t0 = 0.0,\n t1 = 1.0;\n\n if (dict.has(\"Domain\")) {\n var domainArr = dict.getArray(\"Domain\");\n t0 = domainArr[0];\n t1 = domainArr[1];\n }\n\n var extendStart = false,\n extendEnd = false;\n\n if (dict.has(\"Extend\")) {\n var extendArr = dict.getArray(\"Extend\");\n extendStart = extendArr[0];\n extendEnd = extendArr[1];\n }\n\n if (this.shadingType === ShadingType.RADIAL && (!extendStart || !extendEnd)) {\n var x1 = this.coordsArr[0];\n var y1 = this.coordsArr[1];\n var r1 = this.coordsArr[2];\n var x2 = this.coordsArr[3];\n var y2 = this.coordsArr[4];\n var r2 = this.coordsArr[5];\n var distance = Math.sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));\n\n if (r1 <= r2 + distance && r2 <= r1 + distance) {\n (0, _util.warn)(\"Unsupported radial gradient.\");\n }\n }\n\n this.extendStart = extendStart;\n this.extendEnd = extendEnd;\n var fnObj = dict.getRaw(\"Function\");\n var fn = pdfFunctionFactory.createFromArray(fnObj);\n var NUMBER_OF_SAMPLES = 10;\n var step = (t1 - t0) / NUMBER_OF_SAMPLES;\n var colorStops = this.colorStops = [];\n\n if (t0 >= t1 || step <= 0) {\n (0, _util.info)(\"Bad shading domain.\");\n return;\n }\n\n var color = new Float32Array(cs.numComps),\n ratio = new Float32Array(1);\n var rgbColor;\n\n for (var i = 0; i <= NUMBER_OF_SAMPLES; i++) {\n ratio[0] = t0 + i * step;\n fn(ratio, 0, color, 0);\n rgbColor = cs.getRgb(color, 0);\n\n var cssColor = _util.Util.makeCssRgb(rgbColor[0], rgbColor[1], rgbColor[2]);\n\n colorStops.push([i / NUMBER_OF_SAMPLES, cssColor]);\n }\n\n var background = \"transparent\";\n\n if (dict.has(\"Background\")) {\n rgbColor = cs.getRgb(dict.get(\"Background\"), 0);\n background = _util.Util.makeCssRgb(rgbColor[0], rgbColor[1], rgbColor[2]);\n }\n\n if (!extendStart) {\n colorStops.unshift([0, background]);\n colorStops[1][0] += Shadings.SMALL_NUMBER;\n }\n\n if (!extendEnd) {\n colorStops[colorStops.length - 1][0] -= Shadings.SMALL_NUMBER;\n colorStops.push([1, background]);\n }\n\n this.colorStops = colorStops;\n }\n\n RadialAxial.prototype = {\n getIR: function RadialAxial_getIR() {\n var coordsArr = this.coordsArr;\n var shadingType = this.shadingType;\n var type, p0, p1, r0, r1;\n\n if (shadingType === ShadingType.AXIAL) {\n p0 = [coordsArr[0], coordsArr[1]];\n p1 = [coordsArr[2], coordsArr[3]];\n r0 = null;\n r1 = null;\n type = \"axial\";\n } else if (shadingType === ShadingType.RADIAL) {\n p0 = [coordsArr[0], coordsArr[1]];\n p1 = [coordsArr[3], coordsArr[4]];\n r0 = coordsArr[2];\n r1 = coordsArr[5];\n type = \"radial\";\n } else {\n (0, _util.unreachable)(\"getPattern type unknown: \".concat(shadingType));\n }\n\n var matrix = this.matrix;\n\n if (matrix) {\n p0 = _util.Util.applyTransform(p0, matrix);\n p1 = _util.Util.applyTransform(p1, matrix);\n\n if (shadingType === ShadingType.RADIAL) {\n var scale = _util.Util.singularValueDecompose2dScale(matrix);\n\n r0 *= scale[0];\n r1 *= scale[1];\n }\n }\n\n return [\"RadialAxial\", type, this.bbox, this.colorStops, p0, p1, r0, r1];\n }\n };\n return RadialAxial;\n}();\n\nShadings.Mesh = function MeshClosure() {\n function MeshStreamReader(stream, context) {\n this.stream = stream;\n this.context = context;\n this.buffer = 0;\n this.bufferLength = 0;\n var numComps = context.numComps;\n this.tmpCompsBuf = new Float32Array(numComps);\n var csNumComps = context.colorSpace.numComps;\n this.tmpCsCompsBuf = context.colorFn ? new Float32Array(csNumComps) : this.tmpCompsBuf;\n }\n\n MeshStreamReader.prototype = {\n get hasData() {\n if (this.stream.end) {\n return this.stream.pos < this.stream.end;\n }\n\n if (this.bufferLength > 0) {\n return true;\n }\n\n var nextByte = this.stream.getByte();\n\n if (nextByte < 0) {\n return false;\n }\n\n this.buffer = nextByte;\n this.bufferLength = 8;\n return true;\n },\n\n readBits: function MeshStreamReader_readBits(n) {\n var buffer = this.buffer;\n var bufferLength = this.bufferLength;\n\n if (n === 32) {\n if (bufferLength === 0) {\n return (this.stream.getByte() << 24 | this.stream.getByte() << 16 | this.stream.getByte() << 8 | this.stream.getByte()) >>> 0;\n }\n\n buffer = buffer << 24 | this.stream.getByte() << 16 | this.stream.getByte() << 8 | this.stream.getByte();\n var nextByte = this.stream.getByte();\n this.buffer = nextByte & (1 << bufferLength) - 1;\n return (buffer << 8 - bufferLength | (nextByte & 0xff) >> bufferLength) >>> 0;\n }\n\n if (n === 8 && bufferLength === 0) {\n return this.stream.getByte();\n }\n\n while (bufferLength < n) {\n buffer = buffer << 8 | this.stream.getByte();\n bufferLength += 8;\n }\n\n bufferLength -= n;\n this.bufferLength = bufferLength;\n this.buffer = buffer & (1 << bufferLength) - 1;\n return buffer >> bufferLength;\n },\n align: function MeshStreamReader_align() {\n this.buffer = 0;\n this.bufferLength = 0;\n },\n readFlag: function MeshStreamReader_readFlag() {\n return this.readBits(this.context.bitsPerFlag);\n },\n readCoordinate: function MeshStreamReader_readCoordinate() {\n var bitsPerCoordinate = this.context.bitsPerCoordinate;\n var xi = this.readBits(bitsPerCoordinate);\n var yi = this.readBits(bitsPerCoordinate);\n var decode = this.context.decode;\n var scale = bitsPerCoordinate < 32 ? 1 / ((1 << bitsPerCoordinate) - 1) : 2.3283064365386963e-10;\n return [xi * scale * (decode[1] - decode[0]) + decode[0], yi * scale * (decode[3] - decode[2]) + decode[2]];\n },\n readComponents: function MeshStreamReader_readComponents() {\n var numComps = this.context.numComps;\n var bitsPerComponent = this.context.bitsPerComponent;\n var scale = bitsPerComponent < 32 ? 1 / ((1 << bitsPerComponent) - 1) : 2.3283064365386963e-10;\n var decode = this.context.decode;\n var components = this.tmpCompsBuf;\n\n for (var i = 0, j = 4; i < numComps; i++, j += 2) {\n var ci = this.readBits(bitsPerComponent);\n components[i] = ci * scale * (decode[j + 1] - decode[j]) + decode[j];\n }\n\n var color = this.tmpCsCompsBuf;\n\n if (this.context.colorFn) {\n this.context.colorFn(components, 0, color, 0);\n }\n\n return this.context.colorSpace.getRgb(color, 0);\n }\n };\n\n function decodeType4Shading(mesh, reader) {\n var coords = mesh.coords;\n var colors = mesh.colors;\n var operators = [];\n var ps = [];\n var verticesLeft = 0;\n\n while (reader.hasData) {\n var f = reader.readFlag();\n var coord = reader.readCoordinate();\n var color = reader.readComponents();\n\n if (verticesLeft === 0) {\n if (!(0 <= f && f <= 2)) {\n throw new _util.FormatError(\"Unknown type4 flag\");\n }\n\n switch (f) {\n case 0:\n verticesLeft = 3;\n break;\n\n case 1:\n ps.push(ps[ps.length - 2], ps[ps.length - 1]);\n verticesLeft = 1;\n break;\n\n case 2:\n ps.push(ps[ps.length - 3], ps[ps.length - 1]);\n verticesLeft = 1;\n break;\n }\n\n operators.push(f);\n }\n\n ps.push(coords.length);\n coords.push(coord);\n colors.push(color);\n verticesLeft--;\n reader.align();\n }\n\n mesh.figures.push({\n type: \"triangles\",\n coords: new Int32Array(ps),\n colors: new Int32Array(ps)\n });\n }\n\n function decodeType5Shading(mesh, reader, verticesPerRow) {\n var coords = mesh.coords;\n var colors = mesh.colors;\n var ps = [];\n\n while (reader.hasData) {\n var coord = reader.readCoordinate();\n var color = reader.readComponents();\n ps.push(coords.length);\n coords.push(coord);\n colors.push(color);\n }\n\n mesh.figures.push({\n type: \"lattice\",\n coords: new Int32Array(ps),\n colors: new Int32Array(ps),\n verticesPerRow: verticesPerRow\n });\n }\n\n var MIN_SPLIT_PATCH_CHUNKS_AMOUNT = 3;\n var MAX_SPLIT_PATCH_CHUNKS_AMOUNT = 20;\n var TRIANGLE_DENSITY = 20;\n\n var getB = function getBClosure() {\n function buildB(count) {\n var lut = [];\n\n for (var i = 0; i <= count; i++) {\n var t = i / count,\n t_ = 1 - t;\n lut.push(new Float32Array([t_ * t_ * t_, 3 * t * t_ * t_, 3 * t * t * t_, t * t * t]));\n }\n\n return lut;\n }\n\n var cache = [];\n return function getB(count) {\n if (!cache[count]) {\n cache[count] = buildB(count);\n }\n\n return cache[count];\n };\n }();\n\n function buildFigureFromPatch(mesh, index) {\n var figure = mesh.figures[index];\n (0, _util.assert)(figure.type === \"patch\", \"Unexpected patch mesh figure\");\n var coords = mesh.coords,\n colors = mesh.colors;\n var pi = figure.coords;\n var ci = figure.colors;\n var figureMinX = Math.min(coords[pi[0]][0], coords[pi[3]][0], coords[pi[12]][0], coords[pi[15]][0]);\n var figureMinY = Math.min(coords[pi[0]][1], coords[pi[3]][1], coords[pi[12]][1], coords[pi[15]][1]);\n var figureMaxX = Math.max(coords[pi[0]][0], coords[pi[3]][0], coords[pi[12]][0], coords[pi[15]][0]);\n var figureMaxY = Math.max(coords[pi[0]][1], coords[pi[3]][1], coords[pi[12]][1], coords[pi[15]][1]);\n var splitXBy = Math.ceil((figureMaxX - figureMinX) * TRIANGLE_DENSITY / (mesh.bounds[2] - mesh.bounds[0]));\n splitXBy = Math.max(MIN_SPLIT_PATCH_CHUNKS_AMOUNT, Math.min(MAX_SPLIT_PATCH_CHUNKS_AMOUNT, splitXBy));\n var splitYBy = Math.ceil((figureMaxY - figureMinY) * TRIANGLE_DENSITY / (mesh.bounds[3] - mesh.bounds[1]));\n splitYBy = Math.max(MIN_SPLIT_PATCH_CHUNKS_AMOUNT, Math.min(MAX_SPLIT_PATCH_CHUNKS_AMOUNT, splitYBy));\n var verticesPerRow = splitXBy + 1;\n var figureCoords = new Int32Array((splitYBy + 1) * verticesPerRow);\n var figureColors = new Int32Array((splitYBy + 1) * verticesPerRow);\n var k = 0;\n var cl = new Uint8Array(3),\n cr = new Uint8Array(3);\n var c0 = colors[ci[0]],\n c1 = colors[ci[1]],\n c2 = colors[ci[2]],\n c3 = colors[ci[3]];\n var bRow = getB(splitYBy),\n bCol = getB(splitXBy);\n\n for (var row = 0; row <= splitYBy; row++) {\n cl[0] = (c0[0] * (splitYBy - row) + c2[0] * row) / splitYBy | 0;\n cl[1] = (c0[1] * (splitYBy - row) + c2[1] * row) / splitYBy | 0;\n cl[2] = (c0[2] * (splitYBy - row) + c2[2] * row) / splitYBy | 0;\n cr[0] = (c1[0] * (splitYBy - row) + c3[0] * row) / splitYBy | 0;\n cr[1] = (c1[1] * (splitYBy - row) + c3[1] * row) / splitYBy | 0;\n cr[2] = (c1[2] * (splitYBy - row) + c3[2] * row) / splitYBy | 0;\n\n for (var col = 0; col <= splitXBy; col++, k++) {\n if ((row === 0 || row === splitYBy) && (col === 0 || col === splitXBy)) {\n continue;\n }\n\n var x = 0,\n y = 0;\n var q = 0;\n\n for (var i = 0; i <= 3; i++) {\n for (var j = 0; j <= 3; j++, q++) {\n var m = bRow[row][i] * bCol[col][j];\n x += coords[pi[q]][0] * m;\n y += coords[pi[q]][1] * m;\n }\n }\n\n figureCoords[k] = coords.length;\n coords.push([x, y]);\n figureColors[k] = colors.length;\n var newColor = new Uint8Array(3);\n newColor[0] = (cl[0] * (splitXBy - col) + cr[0] * col) / splitXBy | 0;\n newColor[1] = (cl[1] * (splitXBy - col) + cr[1] * col) / splitXBy | 0;\n newColor[2] = (cl[2] * (splitXBy - col) + cr[2] * col) / splitXBy | 0;\n colors.push(newColor);\n }\n }\n\n figureCoords[0] = pi[0];\n figureColors[0] = ci[0];\n figureCoords[splitXBy] = pi[3];\n figureColors[splitXBy] = ci[1];\n figureCoords[verticesPerRow * splitYBy] = pi[12];\n figureColors[verticesPerRow * splitYBy] = ci[2];\n figureCoords[verticesPerRow * splitYBy + splitXBy] = pi[15];\n figureColors[verticesPerRow * splitYBy + splitXBy] = ci[3];\n mesh.figures[index] = {\n type: \"lattice\",\n coords: figureCoords,\n colors: figureColors,\n verticesPerRow: verticesPerRow\n };\n }\n\n function decodeType6Shading(mesh, reader) {\n var coords = mesh.coords;\n var colors = mesh.colors;\n var ps = new Int32Array(16);\n var cs = new Int32Array(4);\n\n while (reader.hasData) {\n var f = reader.readFlag();\n\n if (!(0 <= f && f <= 3)) {\n throw new _util.FormatError(\"Unknown type6 flag\");\n }\n\n var i, ii;\n var pi = coords.length;\n\n for (i = 0, ii = f !== 0 ? 8 : 12; i < ii; i++) {\n coords.push(reader.readCoordinate());\n }\n\n var ci = colors.length;\n\n for (i = 0, ii = f !== 0 ? 2 : 4; i < ii; i++) {\n colors.push(reader.readComponents());\n }\n\n var tmp1, tmp2, tmp3, tmp4;\n\n switch (f) {\n case 0:\n ps[12] = pi + 3;\n ps[13] = pi + 4;\n ps[14] = pi + 5;\n ps[15] = pi + 6;\n ps[8] = pi + 2;\n ps[11] = pi + 7;\n ps[4] = pi + 1;\n ps[7] = pi + 8;\n ps[0] = pi;\n ps[1] = pi + 11;\n ps[2] = pi + 10;\n ps[3] = pi + 9;\n cs[2] = ci + 1;\n cs[3] = ci + 2;\n cs[0] = ci;\n cs[1] = ci + 3;\n break;\n\n case 1:\n tmp1 = ps[12];\n tmp2 = ps[13];\n tmp3 = ps[14];\n tmp4 = ps[15];\n ps[12] = tmp4;\n ps[13] = pi + 0;\n ps[14] = pi + 1;\n ps[15] = pi + 2;\n ps[8] = tmp3;\n ps[11] = pi + 3;\n ps[4] = tmp2;\n ps[7] = pi + 4;\n ps[0] = tmp1;\n ps[1] = pi + 7;\n ps[2] = pi + 6;\n ps[3] = pi + 5;\n tmp1 = cs[2];\n tmp2 = cs[3];\n cs[2] = tmp2;\n cs[3] = ci;\n cs[0] = tmp1;\n cs[1] = ci + 1;\n break;\n\n case 2:\n tmp1 = ps[15];\n tmp2 = ps[11];\n ps[12] = ps[3];\n ps[13] = pi + 0;\n ps[14] = pi + 1;\n ps[15] = pi + 2;\n ps[8] = ps[7];\n ps[11] = pi + 3;\n ps[4] = tmp2;\n ps[7] = pi + 4;\n ps[0] = tmp1;\n ps[1] = pi + 7;\n ps[2] = pi + 6;\n ps[3] = pi + 5;\n tmp1 = cs[3];\n cs[2] = cs[1];\n cs[3] = ci;\n cs[0] = tmp1;\n cs[1] = ci + 1;\n break;\n\n case 3:\n ps[12] = ps[0];\n ps[13] = pi + 0;\n ps[14] = pi + 1;\n ps[15] = pi + 2;\n ps[8] = ps[1];\n ps[11] = pi + 3;\n ps[4] = ps[2];\n ps[7] = pi + 4;\n ps[0] = ps[3];\n ps[1] = pi + 7;\n ps[2] = pi + 6;\n ps[3] = pi + 5;\n cs[2] = cs[0];\n cs[3] = ci;\n cs[0] = cs[1];\n cs[1] = ci + 1;\n break;\n }\n\n ps[5] = coords.length;\n coords.push([(-4 * coords[ps[0]][0] - coords[ps[15]][0] + 6 * (coords[ps[4]][0] + coords[ps[1]][0]) - 2 * (coords[ps[12]][0] + coords[ps[3]][0]) + 3 * (coords[ps[13]][0] + coords[ps[7]][0])) / 9, (-4 * coords[ps[0]][1] - coords[ps[15]][1] + 6 * (coords[ps[4]][1] + coords[ps[1]][1]) - 2 * (coords[ps[12]][1] + coords[ps[3]][1]) + 3 * (coords[ps[13]][1] + coords[ps[7]][1])) / 9]);\n ps[6] = coords.length;\n coords.push([(-4 * coords[ps[3]][0] - coords[ps[12]][0] + 6 * (coords[ps[2]][0] + coords[ps[7]][0]) - 2 * (coords[ps[0]][0] + coords[ps[15]][0]) + 3 * (coords[ps[4]][0] + coords[ps[14]][0])) / 9, (-4 * coords[ps[3]][1] - coords[ps[12]][1] + 6 * (coords[ps[2]][1] + coords[ps[7]][1]) - 2 * (coords[ps[0]][1] + coords[ps[15]][1]) + 3 * (coords[ps[4]][1] + coords[ps[14]][1])) / 9]);\n ps[9] = coords.length;\n coords.push([(-4 * coords[ps[12]][0] - coords[ps[3]][0] + 6 * (coords[ps[8]][0] + coords[ps[13]][0]) - 2 * (coords[ps[0]][0] + coords[ps[15]][0]) + 3 * (coords[ps[11]][0] + coords[ps[1]][0])) / 9, (-4 * coords[ps[12]][1] - coords[ps[3]][1] + 6 * (coords[ps[8]][1] + coords[ps[13]][1]) - 2 * (coords[ps[0]][1] + coords[ps[15]][1]) + 3 * (coords[ps[11]][1] + coords[ps[1]][1])) / 9]);\n ps[10] = coords.length;\n coords.push([(-4 * coords[ps[15]][0] - coords[ps[0]][0] + 6 * (coords[ps[11]][0] + coords[ps[14]][0]) - 2 * (coords[ps[12]][0] + coords[ps[3]][0]) + 3 * (coords[ps[2]][0] + coords[ps[8]][0])) / 9, (-4 * coords[ps[15]][1] - coords[ps[0]][1] + 6 * (coords[ps[11]][1] + coords[ps[14]][1]) - 2 * (coords[ps[12]][1] + coords[ps[3]][1]) + 3 * (coords[ps[2]][1] + coords[ps[8]][1])) / 9]);\n mesh.figures.push({\n type: \"patch\",\n coords: new Int32Array(ps),\n colors: new Int32Array(cs)\n });\n }\n }\n\n function decodeType7Shading(mesh, reader) {\n var coords = mesh.coords;\n var colors = mesh.colors;\n var ps = new Int32Array(16);\n var cs = new Int32Array(4);\n\n while (reader.hasData) {\n var f = reader.readFlag();\n\n if (!(0 <= f && f <= 3)) {\n throw new _util.FormatError(\"Unknown type7 flag\");\n }\n\n var i, ii;\n var pi = coords.length;\n\n for (i = 0, ii = f !== 0 ? 12 : 16; i < ii; i++) {\n coords.push(reader.readCoordinate());\n }\n\n var ci = colors.length;\n\n for (i = 0, ii = f !== 0 ? 2 : 4; i < ii; i++) {\n colors.push(reader.readComponents());\n }\n\n var tmp1, tmp2, tmp3, tmp4;\n\n switch (f) {\n case 0:\n ps[12] = pi + 3;\n ps[13] = pi + 4;\n ps[14] = pi + 5;\n ps[15] = pi + 6;\n ps[8] = pi + 2;\n ps[9] = pi + 13;\n ps[10] = pi + 14;\n ps[11] = pi + 7;\n ps[4] = pi + 1;\n ps[5] = pi + 12;\n ps[6] = pi + 15;\n ps[7] = pi + 8;\n ps[0] = pi;\n ps[1] = pi + 11;\n ps[2] = pi + 10;\n ps[3] = pi + 9;\n cs[2] = ci + 1;\n cs[3] = ci + 2;\n cs[0] = ci;\n cs[1] = ci + 3;\n break;\n\n case 1:\n tmp1 = ps[12];\n tmp2 = ps[13];\n tmp3 = ps[14];\n tmp4 = ps[15];\n ps[12] = tmp4;\n ps[13] = pi + 0;\n ps[14] = pi + 1;\n ps[15] = pi + 2;\n ps[8] = tmp3;\n ps[9] = pi + 9;\n ps[10] = pi + 10;\n ps[11] = pi + 3;\n ps[4] = tmp2;\n ps[5] = pi + 8;\n ps[6] = pi + 11;\n ps[7] = pi + 4;\n ps[0] = tmp1;\n ps[1] = pi + 7;\n ps[2] = pi + 6;\n ps[3] = pi + 5;\n tmp1 = cs[2];\n tmp2 = cs[3];\n cs[2] = tmp2;\n cs[3] = ci;\n cs[0] = tmp1;\n cs[1] = ci + 1;\n break;\n\n case 2:\n tmp1 = ps[15];\n tmp2 = ps[11];\n ps[12] = ps[3];\n ps[13] = pi + 0;\n ps[14] = pi + 1;\n ps[15] = pi + 2;\n ps[8] = ps[7];\n ps[9] = pi + 9;\n ps[10] = pi + 10;\n ps[11] = pi + 3;\n ps[4] = tmp2;\n ps[5] = pi + 8;\n ps[6] = pi + 11;\n ps[7] = pi + 4;\n ps[0] = tmp1;\n ps[1] = pi + 7;\n ps[2] = pi + 6;\n ps[3] = pi + 5;\n tmp1 = cs[3];\n cs[2] = cs[1];\n cs[3] = ci;\n cs[0] = tmp1;\n cs[1] = ci + 1;\n break;\n\n case 3:\n ps[12] = ps[0];\n ps[13] = pi + 0;\n ps[14] = pi + 1;\n ps[15] = pi + 2;\n ps[8] = ps[1];\n ps[9] = pi + 9;\n ps[10] = pi + 10;\n ps[11] = pi + 3;\n ps[4] = ps[2];\n ps[5] = pi + 8;\n ps[6] = pi + 11;\n ps[7] = pi + 4;\n ps[0] = ps[3];\n ps[1] = pi + 7;\n ps[2] = pi + 6;\n ps[3] = pi + 5;\n cs[2] = cs[0];\n cs[3] = ci;\n cs[0] = cs[1];\n cs[1] = ci + 1;\n break;\n }\n\n mesh.figures.push({\n type: \"patch\",\n coords: new Int32Array(ps),\n colors: new Int32Array(cs)\n });\n }\n }\n\n function updateBounds(mesh) {\n var minX = mesh.coords[0][0],\n minY = mesh.coords[0][1],\n maxX = minX,\n maxY = minY;\n\n for (var i = 1, ii = mesh.coords.length; i < ii; i++) {\n var x = mesh.coords[i][0],\n y = mesh.coords[i][1];\n minX = minX > x ? x : minX;\n minY = minY > y ? y : minY;\n maxX = maxX < x ? x : maxX;\n maxY = maxY < y ? y : maxY;\n }\n\n mesh.bounds = [minX, minY, maxX, maxY];\n }\n\n function packData(mesh) {\n var i, ii, j, jj;\n var coords = mesh.coords;\n var coordsPacked = new Float32Array(coords.length * 2);\n\n for (i = 0, j = 0, ii = coords.length; i < ii; i++) {\n var xy = coords[i];\n coordsPacked[j++] = xy[0];\n coordsPacked[j++] = xy[1];\n }\n\n mesh.coords = coordsPacked;\n var colors = mesh.colors;\n var colorsPacked = new Uint8Array(colors.length * 3);\n\n for (i = 0, j = 0, ii = colors.length; i < ii; i++) {\n var c = colors[i];\n colorsPacked[j++] = c[0];\n colorsPacked[j++] = c[1];\n colorsPacked[j++] = c[2];\n }\n\n mesh.colors = colorsPacked;\n var figures = mesh.figures;\n\n for (i = 0, ii = figures.length; i < ii; i++) {\n var figure = figures[i],\n ps = figure.coords,\n cs = figure.colors;\n\n for (j = 0, jj = ps.length; j < jj; j++) {\n ps[j] *= 2;\n cs[j] *= 3;\n }\n }\n }\n\n function Mesh(stream, matrix, xref, resources, pdfFunctionFactory, localColorSpaceCache) {\n if (!(0, _primitives.isStream)(stream)) {\n throw new _util.FormatError(\"Mesh data is not a stream\");\n }\n\n var dict = stream.dict;\n this.matrix = matrix;\n this.shadingType = dict.get(\"ShadingType\");\n this.type = \"Pattern\";\n var bbox = dict.getArray(\"BBox\");\n\n if (Array.isArray(bbox) && bbox.length === 4) {\n this.bbox = _util.Util.normalizeRect(bbox);\n } else {\n this.bbox = null;\n }\n\n var cs = _colorspace.ColorSpace.parse({\n cs: dict.getRaw(\"ColorSpace\") || dict.getRaw(\"CS\"),\n xref: xref,\n resources: resources,\n pdfFunctionFactory: pdfFunctionFactory,\n localColorSpaceCache: localColorSpaceCache\n });\n\n this.cs = cs;\n this.background = dict.has(\"Background\") ? cs.getRgb(dict.get(\"Background\"), 0) : null;\n var fnObj = dict.getRaw(\"Function\");\n var fn = fnObj ? pdfFunctionFactory.createFromArray(fnObj) : null;\n this.coords = [];\n this.colors = [];\n this.figures = [];\n var decodeContext = {\n bitsPerCoordinate: dict.get(\"BitsPerCoordinate\"),\n bitsPerComponent: dict.get(\"BitsPerComponent\"),\n bitsPerFlag: dict.get(\"BitsPerFlag\"),\n decode: dict.getArray(\"Decode\"),\n colorFn: fn,\n colorSpace: cs,\n numComps: fn ? 1 : cs.numComps\n };\n var reader = new MeshStreamReader(stream, decodeContext);\n var patchMesh = false;\n\n switch (this.shadingType) {\n case ShadingType.FREE_FORM_MESH:\n decodeType4Shading(this, reader);\n break;\n\n case ShadingType.LATTICE_FORM_MESH:\n var verticesPerRow = dict.get(\"VerticesPerRow\") | 0;\n\n if (verticesPerRow < 2) {\n throw new _util.FormatError(\"Invalid VerticesPerRow\");\n }\n\n decodeType5Shading(this, reader, verticesPerRow);\n break;\n\n case ShadingType.COONS_PATCH_MESH:\n decodeType6Shading(this, reader);\n patchMesh = true;\n break;\n\n case ShadingType.TENSOR_PATCH_MESH:\n decodeType7Shading(this, reader);\n patchMesh = true;\n break;\n\n default:\n (0, _util.unreachable)(\"Unsupported mesh type.\");\n break;\n }\n\n if (patchMesh) {\n updateBounds(this);\n\n for (var i = 0, ii = this.figures.length; i < ii; i++) {\n buildFigureFromPatch(this, i);\n }\n }\n\n updateBounds(this);\n packData(this);\n }\n\n Mesh.prototype = {\n getIR: function Mesh_getIR() {\n return [\"Mesh\", this.shadingType, this.coords, this.colors, this.figures, this.bounds, this.matrix, this.bbox, this.background];\n }\n };\n return Mesh;\n}();\n\nShadings.Dummy = function DummyClosure() {\n function Dummy() {\n this.type = \"Pattern\";\n }\n\n Dummy.prototype = {\n getIR: function Dummy_getIR() {\n return [\"Dummy\"];\n }\n };\n return Dummy;\n}();\n\nfunction getTilingPatternIR(operatorList, dict, args) {\n var matrix = dict.getArray(\"Matrix\");\n\n var bbox = _util.Util.normalizeRect(dict.getArray(\"BBox\"));\n\n var xstep = dict.get(\"XStep\");\n var ystep = dict.get(\"YStep\");\n var paintType = dict.get(\"PaintType\");\n var tilingType = dict.get(\"TilingType\");\n\n if (bbox[2] - bbox[0] === 0 || bbox[3] - bbox[1] === 0) {\n throw new _util.FormatError(\"Invalid getTilingPatternIR /BBox array: [\".concat(bbox, \"].\"));\n }\n\n return [\"TilingPattern\", args, operatorList, matrix, bbox, xstep, ystep, paintType, tilingType];\n}\n\n/***/ }),\n/* 237 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isPDFFunction = isPDFFunction;\nexports.PostScriptCompiler = exports.PostScriptEvaluator = exports.PDFFunctionFactory = void 0;\n\nvar _primitives = __w_pdfjs_require__(202);\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _ps_parser = __w_pdfjs_require__(238);\n\nvar _image_utils = __w_pdfjs_require__(221);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar PDFFunctionFactory = /*#__PURE__*/function () {\n function PDFFunctionFactory(_ref) {\n var xref = _ref.xref,\n _ref$isEvalSupported = _ref.isEvalSupported,\n isEvalSupported = _ref$isEvalSupported === void 0 ? true : _ref$isEvalSupported;\n\n _classCallCheck(this, PDFFunctionFactory);\n\n this.xref = xref;\n this.isEvalSupported = isEvalSupported !== false;\n this._localFunctionCache = null;\n }\n\n _createClass(PDFFunctionFactory, [{\n key: \"create\",\n value: function create(fn) {\n var cachedFunction = this.getCached(fn);\n\n if (cachedFunction) {\n return cachedFunction;\n }\n\n var parsedFunction = PDFFunction.parse({\n xref: this.xref,\n isEvalSupported: this.isEvalSupported,\n fn: fn instanceof _primitives.Ref ? this.xref.fetch(fn) : fn\n });\n\n this._cache(fn, parsedFunction);\n\n return parsedFunction;\n }\n }, {\n key: \"createFromArray\",\n value: function createFromArray(fnObj) {\n var cachedFunction = this.getCached(fnObj);\n\n if (cachedFunction) {\n return cachedFunction;\n }\n\n var parsedFunction = PDFFunction.parseArray({\n xref: this.xref,\n isEvalSupported: this.isEvalSupported,\n fnObj: fnObj instanceof _primitives.Ref ? this.xref.fetch(fnObj) : fnObj\n });\n\n this._cache(fnObj, parsedFunction);\n\n return parsedFunction;\n }\n }, {\n key: \"getCached\",\n value: function getCached(cacheKey) {\n var fnRef;\n\n if (cacheKey instanceof _primitives.Ref) {\n fnRef = cacheKey;\n } else if (cacheKey instanceof _primitives.Dict) {\n fnRef = cacheKey.objId;\n } else if ((0, _primitives.isStream)(cacheKey)) {\n fnRef = cacheKey.dict && cacheKey.dict.objId;\n }\n\n if (fnRef) {\n if (!this._localFunctionCache) {\n this._localFunctionCache = new _image_utils.LocalFunctionCache();\n }\n\n var localFunction = this._localFunctionCache.getByRef(fnRef);\n\n if (localFunction) {\n return localFunction;\n }\n }\n\n return null;\n }\n }, {\n key: \"_cache\",\n value: function _cache(cacheKey, parsedFunction) {\n if (!parsedFunction) {\n throw new Error('PDFFunctionFactory._cache - expected \"parsedFunction\" argument.');\n }\n\n var fnRef;\n\n if (cacheKey instanceof _primitives.Ref) {\n fnRef = cacheKey;\n } else if (cacheKey instanceof _primitives.Dict) {\n fnRef = cacheKey.objId;\n } else if ((0, _primitives.isStream)(cacheKey)) {\n fnRef = cacheKey.dict && cacheKey.dict.objId;\n }\n\n if (fnRef) {\n if (!this._localFunctionCache) {\n this._localFunctionCache = new _image_utils.LocalFunctionCache();\n }\n\n this._localFunctionCache.set(null, fnRef, parsedFunction);\n }\n }\n }]);\n\n return PDFFunctionFactory;\n}();\n\nexports.PDFFunctionFactory = PDFFunctionFactory;\n\nfunction toNumberArray(arr) {\n if (!Array.isArray(arr)) {\n return null;\n }\n\n var length = arr.length;\n\n for (var i = 0; i < length; i++) {\n if (typeof arr[i] !== \"number\") {\n var result = new Array(length);\n\n for (var j = 0; j < length; j++) {\n result[j] = +arr[j];\n }\n\n return result;\n }\n }\n\n return arr;\n}\n\nvar PDFFunction = function PDFFunctionClosure() {\n var CONSTRUCT_SAMPLED = 0;\n var CONSTRUCT_INTERPOLATED = 2;\n var CONSTRUCT_STICHED = 3;\n var CONSTRUCT_POSTSCRIPT = 4;\n return {\n getSampleArray: function getSampleArray(size, outputSize, bps, stream) {\n var i, ii;\n var length = 1;\n\n for (i = 0, ii = size.length; i < ii; i++) {\n length *= size[i];\n }\n\n length *= outputSize;\n var array = new Array(length);\n var codeSize = 0;\n var codeBuf = 0;\n var sampleMul = 1.0 / (Math.pow(2.0, bps) - 1);\n var strBytes = stream.getBytes((length * bps + 7) / 8);\n var strIdx = 0;\n\n for (i = 0; i < length; i++) {\n while (codeSize < bps) {\n codeBuf <<= 8;\n codeBuf |= strBytes[strIdx++];\n codeSize += 8;\n }\n\n codeSize -= bps;\n array[i] = (codeBuf >> codeSize) * sampleMul;\n codeBuf &= (1 << codeSize) - 1;\n }\n\n return array;\n },\n getIR: function getIR(_ref2) {\n var xref = _ref2.xref,\n isEvalSupported = _ref2.isEvalSupported,\n fn = _ref2.fn;\n var dict = fn.dict;\n\n if (!dict) {\n dict = fn;\n }\n\n var types = [this.constructSampled, null, this.constructInterpolated, this.constructStiched, this.constructPostScript];\n var typeNum = dict.get(\"FunctionType\");\n var typeFn = types[typeNum];\n\n if (!typeFn) {\n throw new _util.FormatError(\"Unknown type of function\");\n }\n\n return typeFn.call(this, {\n xref: xref,\n isEvalSupported: isEvalSupported,\n fn: fn,\n dict: dict\n });\n },\n fromIR: function fromIR(_ref3) {\n var xref = _ref3.xref,\n isEvalSupported = _ref3.isEvalSupported,\n IR = _ref3.IR;\n var type = IR[0];\n\n switch (type) {\n case CONSTRUCT_SAMPLED:\n return this.constructSampledFromIR({\n xref: xref,\n isEvalSupported: isEvalSupported,\n IR: IR\n });\n\n case CONSTRUCT_INTERPOLATED:\n return this.constructInterpolatedFromIR({\n xref: xref,\n isEvalSupported: isEvalSupported,\n IR: IR\n });\n\n case CONSTRUCT_STICHED:\n return this.constructStichedFromIR({\n xref: xref,\n isEvalSupported: isEvalSupported,\n IR: IR\n });\n\n default:\n return this.constructPostScriptFromIR({\n xref: xref,\n isEvalSupported: isEvalSupported,\n IR: IR\n });\n }\n },\n parse: function parse(_ref4) {\n var xref = _ref4.xref,\n isEvalSupported = _ref4.isEvalSupported,\n fn = _ref4.fn;\n var IR = this.getIR({\n xref: xref,\n isEvalSupported: isEvalSupported,\n fn: fn\n });\n return this.fromIR({\n xref: xref,\n isEvalSupported: isEvalSupported,\n IR: IR\n });\n },\n parseArray: function parseArray(_ref5) {\n var xref = _ref5.xref,\n isEvalSupported = _ref5.isEvalSupported,\n fnObj = _ref5.fnObj;\n\n if (!Array.isArray(fnObj)) {\n return this.parse({\n xref: xref,\n isEvalSupported: isEvalSupported,\n fn: fnObj\n });\n }\n\n var fnArray = [];\n\n for (var j = 0, jj = fnObj.length; j < jj; j++) {\n fnArray.push(this.parse({\n xref: xref,\n isEvalSupported: isEvalSupported,\n fn: xref.fetchIfRef(fnObj[j])\n }));\n }\n\n return function (src, srcOffset, dest, destOffset) {\n for (var i = 0, ii = fnArray.length; i < ii; i++) {\n fnArray[i](src, srcOffset, dest, destOffset + i);\n }\n };\n },\n constructSampled: function constructSampled(_ref6) {\n var xref = _ref6.xref,\n isEvalSupported = _ref6.isEvalSupported,\n fn = _ref6.fn,\n dict = _ref6.dict;\n\n function toMultiArray(arr) {\n var inputLength = arr.length;\n var out = [];\n var index = 0;\n\n for (var i = 0; i < inputLength; i += 2) {\n out[index] = [arr[i], arr[i + 1]];\n ++index;\n }\n\n return out;\n }\n\n var domain = toNumberArray(dict.getArray(\"Domain\"));\n var range = toNumberArray(dict.getArray(\"Range\"));\n\n if (!domain || !range) {\n throw new _util.FormatError(\"No domain or range\");\n }\n\n var inputSize = domain.length / 2;\n var outputSize = range.length / 2;\n domain = toMultiArray(domain);\n range = toMultiArray(range);\n var size = toNumberArray(dict.getArray(\"Size\"));\n var bps = dict.get(\"BitsPerSample\");\n var order = dict.get(\"Order\") || 1;\n\n if (order !== 1) {\n (0, _util.info)(\"No support for cubic spline interpolation: \" + order);\n }\n\n var encode = toNumberArray(dict.getArray(\"Encode\"));\n\n if (!encode) {\n encode = [];\n\n for (var i = 0; i < inputSize; ++i) {\n encode.push([0, size[i] - 1]);\n }\n } else {\n encode = toMultiArray(encode);\n }\n\n var decode = toNumberArray(dict.getArray(\"Decode\"));\n\n if (!decode) {\n decode = range;\n } else {\n decode = toMultiArray(decode);\n }\n\n var samples = this.getSampleArray(size, outputSize, bps, fn);\n return [CONSTRUCT_SAMPLED, inputSize, domain, encode, decode, samples, size, outputSize, Math.pow(2, bps) - 1, range];\n },\n constructSampledFromIR: function constructSampledFromIR(_ref7) {\n var xref = _ref7.xref,\n isEvalSupported = _ref7.isEvalSupported,\n IR = _ref7.IR;\n\n function interpolate(x, xmin, xmax, ymin, ymax) {\n return ymin + (x - xmin) * ((ymax - ymin) / (xmax - xmin));\n }\n\n return function constructSampledFromIRResult(src, srcOffset, dest, destOffset) {\n var m = IR[1];\n var domain = IR[2];\n var encode = IR[3];\n var decode = IR[4];\n var samples = IR[5];\n var size = IR[6];\n var n = IR[7];\n var range = IR[9];\n var cubeVertices = 1 << m;\n var cubeN = new Float64Array(cubeVertices);\n var cubeVertex = new Uint32Array(cubeVertices);\n var i, j;\n\n for (j = 0; j < cubeVertices; j++) {\n cubeN[j] = 1;\n }\n\n var k = n,\n pos = 1;\n\n for (i = 0; i < m; ++i) {\n var domain_2i = domain[i][0];\n var domain_2i_1 = domain[i][1];\n var xi = Math.min(Math.max(src[srcOffset + i], domain_2i), domain_2i_1);\n var e = interpolate(xi, domain_2i, domain_2i_1, encode[i][0], encode[i][1]);\n var size_i = size[i];\n e = Math.min(Math.max(e, 0), size_i - 1);\n var e0 = e < size_i - 1 ? Math.floor(e) : e - 1;\n var n0 = e0 + 1 - e;\n var n1 = e - e0;\n var offset0 = e0 * k;\n var offset1 = offset0 + k;\n\n for (j = 0; j < cubeVertices; j++) {\n if (j & pos) {\n cubeN[j] *= n1;\n cubeVertex[j] += offset1;\n } else {\n cubeN[j] *= n0;\n cubeVertex[j] += offset0;\n }\n }\n\n k *= size_i;\n pos <<= 1;\n }\n\n for (j = 0; j < n; ++j) {\n var rj = 0;\n\n for (i = 0; i < cubeVertices; i++) {\n rj += samples[cubeVertex[i] + j] * cubeN[i];\n }\n\n rj = interpolate(rj, 0, 1, decode[j][0], decode[j][1]);\n dest[destOffset + j] = Math.min(Math.max(rj, range[j][0]), range[j][1]);\n }\n };\n },\n constructInterpolated: function constructInterpolated(_ref8) {\n var xref = _ref8.xref,\n isEvalSupported = _ref8.isEvalSupported,\n fn = _ref8.fn,\n dict = _ref8.dict;\n var c0 = toNumberArray(dict.getArray(\"C0\")) || [0];\n var c1 = toNumberArray(dict.getArray(\"C1\")) || [1];\n var n = dict.get(\"N\");\n var length = c0.length;\n var diff = [];\n\n for (var i = 0; i < length; ++i) {\n diff.push(c1[i] - c0[i]);\n }\n\n return [CONSTRUCT_INTERPOLATED, c0, diff, n];\n },\n constructInterpolatedFromIR: function constructInterpolatedFromIR(_ref9) {\n var xref = _ref9.xref,\n isEvalSupported = _ref9.isEvalSupported,\n IR = _ref9.IR;\n var c0 = IR[1];\n var diff = IR[2];\n var n = IR[3];\n var length = diff.length;\n return function constructInterpolatedFromIRResult(src, srcOffset, dest, destOffset) {\n var x = n === 1 ? src[srcOffset] : Math.pow(src[srcOffset], n);\n\n for (var j = 0; j < length; ++j) {\n dest[destOffset + j] = c0[j] + x * diff[j];\n }\n };\n },\n constructStiched: function constructStiched(_ref10) {\n var xref = _ref10.xref,\n isEvalSupported = _ref10.isEvalSupported,\n fn = _ref10.fn,\n dict = _ref10.dict;\n var domain = toNumberArray(dict.getArray(\"Domain\"));\n\n if (!domain) {\n throw new _util.FormatError(\"No domain\");\n }\n\n var inputSize = domain.length / 2;\n\n if (inputSize !== 1) {\n throw new _util.FormatError(\"Bad domain for stiched function\");\n }\n\n var fnRefs = dict.get(\"Functions\");\n var fns = [];\n\n for (var i = 0, ii = fnRefs.length; i < ii; ++i) {\n fns.push(this.parse({\n xref: xref,\n isEvalSupported: isEvalSupported,\n fn: xref.fetchIfRef(fnRefs[i])\n }));\n }\n\n var bounds = toNumberArray(dict.getArray(\"Bounds\"));\n var encode = toNumberArray(dict.getArray(\"Encode\"));\n return [CONSTRUCT_STICHED, domain, bounds, encode, fns];\n },\n constructStichedFromIR: function constructStichedFromIR(_ref11) {\n var xref = _ref11.xref,\n isEvalSupported = _ref11.isEvalSupported,\n IR = _ref11.IR;\n var domain = IR[1];\n var bounds = IR[2];\n var encode = IR[3];\n var fns = IR[4];\n var tmpBuf = new Float32Array(1);\n return function constructStichedFromIRResult(src, srcOffset, dest, destOffset) {\n var clip = function constructStichedFromIRClip(v, min, max) {\n if (v > max) {\n v = max;\n } else if (v < min) {\n v = min;\n }\n\n return v;\n };\n\n var v = clip(src[srcOffset], domain[0], domain[1]);\n\n for (var i = 0, ii = bounds.length; i < ii; ++i) {\n if (v < bounds[i]) {\n break;\n }\n }\n\n var dmin = domain[0];\n\n if (i > 0) {\n dmin = bounds[i - 1];\n }\n\n var dmax = domain[1];\n\n if (i < bounds.length) {\n dmax = bounds[i];\n }\n\n var rmin = encode[2 * i];\n var rmax = encode[2 * i + 1];\n tmpBuf[0] = dmin === dmax ? rmin : rmin + (v - dmin) * (rmax - rmin) / (dmax - dmin);\n fns[i](tmpBuf, 0, dest, destOffset);\n };\n },\n constructPostScript: function constructPostScript(_ref12) {\n var xref = _ref12.xref,\n isEvalSupported = _ref12.isEvalSupported,\n fn = _ref12.fn,\n dict = _ref12.dict;\n var domain = toNumberArray(dict.getArray(\"Domain\"));\n var range = toNumberArray(dict.getArray(\"Range\"));\n\n if (!domain) {\n throw new _util.FormatError(\"No domain.\");\n }\n\n if (!range) {\n throw new _util.FormatError(\"No range.\");\n }\n\n var lexer = new _ps_parser.PostScriptLexer(fn);\n var parser = new _ps_parser.PostScriptParser(lexer);\n var code = parser.parse();\n return [CONSTRUCT_POSTSCRIPT, domain, range, code];\n },\n constructPostScriptFromIR: function constructPostScriptFromIR(_ref13) {\n var xref = _ref13.xref,\n isEvalSupported = _ref13.isEvalSupported,\n IR = _ref13.IR;\n var domain = IR[1];\n var range = IR[2];\n var code = IR[3];\n\n if (isEvalSupported && _util.IsEvalSupportedCached.value) {\n var compiled = new PostScriptCompiler().compile(code, domain, range);\n\n if (compiled) {\n return new Function(\"src\", \"srcOffset\", \"dest\", \"destOffset\", compiled);\n }\n }\n\n (0, _util.info)(\"Unable to compile PS function\");\n var numOutputs = range.length >> 1;\n var numInputs = domain.length >> 1;\n var evaluator = new PostScriptEvaluator(code);\n var cache = Object.create(null);\n var MAX_CACHE_SIZE = 2048 * 4;\n var cache_available = MAX_CACHE_SIZE;\n var tmpBuf = new Float32Array(numInputs);\n return function constructPostScriptFromIRResult(src, srcOffset, dest, destOffset) {\n var i, value;\n var key = \"\";\n var input = tmpBuf;\n\n for (i = 0; i < numInputs; i++) {\n value = src[srcOffset + i];\n input[i] = value;\n key += value + \"_\";\n }\n\n var cachedValue = cache[key];\n\n if (cachedValue !== undefined) {\n dest.set(cachedValue, destOffset);\n return;\n }\n\n var output = new Float32Array(numOutputs);\n var stack = evaluator.execute(input);\n var stackIndex = stack.length - numOutputs;\n\n for (i = 0; i < numOutputs; i++) {\n value = stack[stackIndex + i];\n var bound = range[i * 2];\n\n if (value < bound) {\n value = bound;\n } else {\n bound = range[i * 2 + 1];\n\n if (value > bound) {\n value = bound;\n }\n }\n\n output[i] = value;\n }\n\n if (cache_available > 0) {\n cache_available--;\n cache[key] = output;\n }\n\n dest.set(output, destOffset);\n };\n }\n };\n}();\n\nfunction isPDFFunction(v) {\n var fnDict;\n\n if (_typeof(v) !== \"object\") {\n return false;\n } else if ((0, _primitives.isDict)(v)) {\n fnDict = v;\n } else if ((0, _primitives.isStream)(v)) {\n fnDict = v.dict;\n } else {\n return false;\n }\n\n return fnDict.has(\"FunctionType\");\n}\n\nvar PostScriptStack = function PostScriptStackClosure() {\n var MAX_STACK_SIZE = 100;\n\n function PostScriptStack(initialStack) {\n this.stack = !initialStack ? [] : Array.prototype.slice.call(initialStack, 0);\n }\n\n PostScriptStack.prototype = {\n push: function PostScriptStack_push(value) {\n if (this.stack.length >= MAX_STACK_SIZE) {\n throw new Error(\"PostScript function stack overflow.\");\n }\n\n this.stack.push(value);\n },\n pop: function PostScriptStack_pop() {\n if (this.stack.length <= 0) {\n throw new Error(\"PostScript function stack underflow.\");\n }\n\n return this.stack.pop();\n },\n copy: function PostScriptStack_copy(n) {\n if (this.stack.length + n >= MAX_STACK_SIZE) {\n throw new Error(\"PostScript function stack overflow.\");\n }\n\n var stack = this.stack;\n\n for (var i = stack.length - n, j = n - 1; j >= 0; j--, i++) {\n stack.push(stack[i]);\n }\n },\n index: function PostScriptStack_index(n) {\n this.push(this.stack[this.stack.length - n - 1]);\n },\n roll: function PostScriptStack_roll(n, p) {\n var stack = this.stack;\n var l = stack.length - n;\n var r = stack.length - 1,\n c = l + (p - Math.floor(p / n) * n),\n i,\n j,\n t;\n\n for (i = l, j = r; i < j; i++, j--) {\n t = stack[i];\n stack[i] = stack[j];\n stack[j] = t;\n }\n\n for (i = l, j = c - 1; i < j; i++, j--) {\n t = stack[i];\n stack[i] = stack[j];\n stack[j] = t;\n }\n\n for (i = c, j = r; i < j; i++, j--) {\n t = stack[i];\n stack[i] = stack[j];\n stack[j] = t;\n }\n }\n };\n return PostScriptStack;\n}();\n\nvar PostScriptEvaluator = function PostScriptEvaluatorClosure() {\n function PostScriptEvaluator(operators) {\n this.operators = operators;\n }\n\n PostScriptEvaluator.prototype = {\n execute: function PostScriptEvaluator_execute(initialStack) {\n var stack = new PostScriptStack(initialStack);\n var counter = 0;\n var operators = this.operators;\n var length = operators.length;\n var operator, a, b;\n\n while (counter < length) {\n operator = operators[counter++];\n\n if (typeof operator === \"number\") {\n stack.push(operator);\n continue;\n }\n\n switch (operator) {\n case \"jz\":\n b = stack.pop();\n a = stack.pop();\n\n if (!a) {\n counter = b;\n }\n\n break;\n\n case \"j\":\n a = stack.pop();\n counter = a;\n break;\n\n case \"abs\":\n a = stack.pop();\n stack.push(Math.abs(a));\n break;\n\n case \"add\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a + b);\n break;\n\n case \"and\":\n b = stack.pop();\n a = stack.pop();\n\n if ((0, _util.isBool)(a) && (0, _util.isBool)(b)) {\n stack.push(a && b);\n } else {\n stack.push(a & b);\n }\n\n break;\n\n case \"atan\":\n a = stack.pop();\n stack.push(Math.atan(a));\n break;\n\n case \"bitshift\":\n b = stack.pop();\n a = stack.pop();\n\n if (a > 0) {\n stack.push(a << b);\n } else {\n stack.push(a >> b);\n }\n\n break;\n\n case \"ceiling\":\n a = stack.pop();\n stack.push(Math.ceil(a));\n break;\n\n case \"copy\":\n a = stack.pop();\n stack.copy(a);\n break;\n\n case \"cos\":\n a = stack.pop();\n stack.push(Math.cos(a));\n break;\n\n case \"cvi\":\n a = stack.pop() | 0;\n stack.push(a);\n break;\n\n case \"cvr\":\n break;\n\n case \"div\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a / b);\n break;\n\n case \"dup\":\n stack.copy(1);\n break;\n\n case \"eq\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a === b);\n break;\n\n case \"exch\":\n stack.roll(2, 1);\n break;\n\n case \"exp\":\n b = stack.pop();\n a = stack.pop();\n stack.push(Math.pow(a, b));\n break;\n\n case \"false\":\n stack.push(false);\n break;\n\n case \"floor\":\n a = stack.pop();\n stack.push(Math.floor(a));\n break;\n\n case \"ge\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a >= b);\n break;\n\n case \"gt\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a > b);\n break;\n\n case \"idiv\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a / b | 0);\n break;\n\n case \"index\":\n a = stack.pop();\n stack.index(a);\n break;\n\n case \"le\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a <= b);\n break;\n\n case \"ln\":\n a = stack.pop();\n stack.push(Math.log(a));\n break;\n\n case \"log\":\n a = stack.pop();\n stack.push(Math.log(a) / Math.LN10);\n break;\n\n case \"lt\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a < b);\n break;\n\n case \"mod\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a % b);\n break;\n\n case \"mul\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a * b);\n break;\n\n case \"ne\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a !== b);\n break;\n\n case \"neg\":\n a = stack.pop();\n stack.push(-a);\n break;\n\n case \"not\":\n a = stack.pop();\n\n if ((0, _util.isBool)(a)) {\n stack.push(!a);\n } else {\n stack.push(~a);\n }\n\n break;\n\n case \"or\":\n b = stack.pop();\n a = stack.pop();\n\n if ((0, _util.isBool)(a) && (0, _util.isBool)(b)) {\n stack.push(a || b);\n } else {\n stack.push(a | b);\n }\n\n break;\n\n case \"pop\":\n stack.pop();\n break;\n\n case \"roll\":\n b = stack.pop();\n a = stack.pop();\n stack.roll(a, b);\n break;\n\n case \"round\":\n a = stack.pop();\n stack.push(Math.round(a));\n break;\n\n case \"sin\":\n a = stack.pop();\n stack.push(Math.sin(a));\n break;\n\n case \"sqrt\":\n a = stack.pop();\n stack.push(Math.sqrt(a));\n break;\n\n case \"sub\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a - b);\n break;\n\n case \"true\":\n stack.push(true);\n break;\n\n case \"truncate\":\n a = stack.pop();\n a = a < 0 ? Math.ceil(a) : Math.floor(a);\n stack.push(a);\n break;\n\n case \"xor\":\n b = stack.pop();\n a = stack.pop();\n\n if ((0, _util.isBool)(a) && (0, _util.isBool)(b)) {\n stack.push(a !== b);\n } else {\n stack.push(a ^ b);\n }\n\n break;\n\n default:\n throw new _util.FormatError(\"Unknown operator \".concat(operator));\n }\n }\n\n return stack.stack;\n }\n };\n return PostScriptEvaluator;\n}();\n\nexports.PostScriptEvaluator = PostScriptEvaluator;\n\nvar PostScriptCompiler = function PostScriptCompilerClosure() {\n function AstNode(type) {\n this.type = type;\n }\n\n AstNode.prototype.visit = function (visitor) {\n (0, _util.unreachable)(\"abstract method\");\n };\n\n function AstArgument(index, min, max) {\n AstNode.call(this, \"args\");\n this.index = index;\n this.min = min;\n this.max = max;\n }\n\n AstArgument.prototype = Object.create(AstNode.prototype);\n\n AstArgument.prototype.visit = function (visitor) {\n visitor.visitArgument(this);\n };\n\n function AstLiteral(number) {\n AstNode.call(this, \"literal\");\n this.number = number;\n this.min = number;\n this.max = number;\n }\n\n AstLiteral.prototype = Object.create(AstNode.prototype);\n\n AstLiteral.prototype.visit = function (visitor) {\n visitor.visitLiteral(this);\n };\n\n function AstBinaryOperation(op, arg1, arg2, min, max) {\n AstNode.call(this, \"binary\");\n this.op = op;\n this.arg1 = arg1;\n this.arg2 = arg2;\n this.min = min;\n this.max = max;\n }\n\n AstBinaryOperation.prototype = Object.create(AstNode.prototype);\n\n AstBinaryOperation.prototype.visit = function (visitor) {\n visitor.visitBinaryOperation(this);\n };\n\n function AstMin(arg, max) {\n AstNode.call(this, \"max\");\n this.arg = arg;\n this.min = arg.min;\n this.max = max;\n }\n\n AstMin.prototype = Object.create(AstNode.prototype);\n\n AstMin.prototype.visit = function (visitor) {\n visitor.visitMin(this);\n };\n\n function AstVariable(index, min, max) {\n AstNode.call(this, \"var\");\n this.index = index;\n this.min = min;\n this.max = max;\n }\n\n AstVariable.prototype = Object.create(AstNode.prototype);\n\n AstVariable.prototype.visit = function (visitor) {\n visitor.visitVariable(this);\n };\n\n function AstVariableDefinition(variable, arg) {\n AstNode.call(this, \"definition\");\n this.variable = variable;\n this.arg = arg;\n }\n\n AstVariableDefinition.prototype = Object.create(AstNode.prototype);\n\n AstVariableDefinition.prototype.visit = function (visitor) {\n visitor.visitVariableDefinition(this);\n };\n\n function ExpressionBuilderVisitor() {\n this.parts = [];\n }\n\n ExpressionBuilderVisitor.prototype = {\n visitArgument: function visitArgument(arg) {\n this.parts.push(\"Math.max(\", arg.min, \", Math.min(\", arg.max, \", src[srcOffset + \", arg.index, \"]))\");\n },\n visitVariable: function visitVariable(variable) {\n this.parts.push(\"v\", variable.index);\n },\n visitLiteral: function visitLiteral(literal) {\n this.parts.push(literal.number);\n },\n visitBinaryOperation: function visitBinaryOperation(operation) {\n this.parts.push(\"(\");\n operation.arg1.visit(this);\n this.parts.push(\" \", operation.op, \" \");\n operation.arg2.visit(this);\n this.parts.push(\")\");\n },\n visitVariableDefinition: function visitVariableDefinition(definition) {\n this.parts.push(\"var \");\n definition.variable.visit(this);\n this.parts.push(\" = \");\n definition.arg.visit(this);\n this.parts.push(\";\");\n },\n visitMin: function visitMin(max) {\n this.parts.push(\"Math.min(\");\n max.arg.visit(this);\n this.parts.push(\", \", max.max, \")\");\n },\n toString: function toString() {\n return this.parts.join(\"\");\n }\n };\n\n function buildAddOperation(num1, num2) {\n if (num2.type === \"literal\" && num2.number === 0) {\n return num1;\n }\n\n if (num1.type === \"literal\" && num1.number === 0) {\n return num2;\n }\n\n if (num2.type === \"literal\" && num1.type === \"literal\") {\n return new AstLiteral(num1.number + num2.number);\n }\n\n return new AstBinaryOperation(\"+\", num1, num2, num1.min + num2.min, num1.max + num2.max);\n }\n\n function buildMulOperation(num1, num2) {\n if (num2.type === \"literal\") {\n if (num2.number === 0) {\n return new AstLiteral(0);\n } else if (num2.number === 1) {\n return num1;\n } else if (num1.type === \"literal\") {\n return new AstLiteral(num1.number * num2.number);\n }\n }\n\n if (num1.type === \"literal\") {\n if (num1.number === 0) {\n return new AstLiteral(0);\n } else if (num1.number === 1) {\n return num2;\n }\n }\n\n var min = Math.min(num1.min * num2.min, num1.min * num2.max, num1.max * num2.min, num1.max * num2.max);\n var max = Math.max(num1.min * num2.min, num1.min * num2.max, num1.max * num2.min, num1.max * num2.max);\n return new AstBinaryOperation(\"*\", num1, num2, min, max);\n }\n\n function buildSubOperation(num1, num2) {\n if (num2.type === \"literal\") {\n if (num2.number === 0) {\n return num1;\n } else if (num1.type === \"literal\") {\n return new AstLiteral(num1.number - num2.number);\n }\n }\n\n if (num2.type === \"binary\" && num2.op === \"-\" && num1.type === \"literal\" && num1.number === 1 && num2.arg1.type === \"literal\" && num2.arg1.number === 1) {\n return num2.arg2;\n }\n\n return new AstBinaryOperation(\"-\", num1, num2, num1.min - num2.max, num1.max - num2.min);\n }\n\n function buildMinOperation(num1, max) {\n if (num1.min >= max) {\n return new AstLiteral(max);\n } else if (num1.max <= max) {\n return num1;\n }\n\n return new AstMin(num1, max);\n }\n\n function PostScriptCompiler() {}\n\n PostScriptCompiler.prototype = {\n compile: function PostScriptCompiler_compile(code, domain, range) {\n var stack = [];\n var instructions = [];\n var inputSize = domain.length >> 1,\n outputSize = range.length >> 1;\n var lastRegister = 0;\n var n, j;\n var num1, num2, ast1, ast2, tmpVar, item;\n\n for (var i = 0; i < inputSize; i++) {\n stack.push(new AstArgument(i, domain[i * 2], domain[i * 2 + 1]));\n }\n\n for (var _i = 0, ii = code.length; _i < ii; _i++) {\n item = code[_i];\n\n if (typeof item === \"number\") {\n stack.push(new AstLiteral(item));\n continue;\n }\n\n switch (item) {\n case \"add\":\n if (stack.length < 2) {\n return null;\n }\n\n num2 = stack.pop();\n num1 = stack.pop();\n stack.push(buildAddOperation(num1, num2));\n break;\n\n case \"cvr\":\n if (stack.length < 1) {\n return null;\n }\n\n break;\n\n case \"mul\":\n if (stack.length < 2) {\n return null;\n }\n\n num2 = stack.pop();\n num1 = stack.pop();\n stack.push(buildMulOperation(num1, num2));\n break;\n\n case \"sub\":\n if (stack.length < 2) {\n return null;\n }\n\n num2 = stack.pop();\n num1 = stack.pop();\n stack.push(buildSubOperation(num1, num2));\n break;\n\n case \"exch\":\n if (stack.length < 2) {\n return null;\n }\n\n ast1 = stack.pop();\n ast2 = stack.pop();\n stack.push(ast1, ast2);\n break;\n\n case \"pop\":\n if (stack.length < 1) {\n return null;\n }\n\n stack.pop();\n break;\n\n case \"index\":\n if (stack.length < 1) {\n return null;\n }\n\n num1 = stack.pop();\n\n if (num1.type !== \"literal\") {\n return null;\n }\n\n n = num1.number;\n\n if (n < 0 || !Number.isInteger(n) || stack.length < n) {\n return null;\n }\n\n ast1 = stack[stack.length - n - 1];\n\n if (ast1.type === \"literal\" || ast1.type === \"var\") {\n stack.push(ast1);\n break;\n }\n\n tmpVar = new AstVariable(lastRegister++, ast1.min, ast1.max);\n stack[stack.length - n - 1] = tmpVar;\n stack.push(tmpVar);\n instructions.push(new AstVariableDefinition(tmpVar, ast1));\n break;\n\n case \"dup\":\n if (stack.length < 1) {\n return null;\n }\n\n if (typeof code[_i + 1] === \"number\" && code[_i + 2] === \"gt\" && code[_i + 3] === _i + 7 && code[_i + 4] === \"jz\" && code[_i + 5] === \"pop\" && code[_i + 6] === code[_i + 1]) {\n num1 = stack.pop();\n stack.push(buildMinOperation(num1, code[_i + 1]));\n _i += 6;\n break;\n }\n\n ast1 = stack[stack.length - 1];\n\n if (ast1.type === \"literal\" || ast1.type === \"var\") {\n stack.push(ast1);\n break;\n }\n\n tmpVar = new AstVariable(lastRegister++, ast1.min, ast1.max);\n stack[stack.length - 1] = tmpVar;\n stack.push(tmpVar);\n instructions.push(new AstVariableDefinition(tmpVar, ast1));\n break;\n\n case \"roll\":\n if (stack.length < 2) {\n return null;\n }\n\n num2 = stack.pop();\n num1 = stack.pop();\n\n if (num2.type !== \"literal\" || num1.type !== \"literal\") {\n return null;\n }\n\n j = num2.number;\n n = num1.number;\n\n if (n <= 0 || !Number.isInteger(n) || !Number.isInteger(j) || stack.length < n) {\n return null;\n }\n\n j = (j % n + n) % n;\n\n if (j === 0) {\n break;\n }\n\n Array.prototype.push.apply(stack, stack.splice(stack.length - n, n - j));\n break;\n\n default:\n return null;\n }\n }\n\n if (stack.length !== outputSize) {\n return null;\n }\n\n var result = [];\n instructions.forEach(function (instruction) {\n var statementBuilder = new ExpressionBuilderVisitor();\n instruction.visit(statementBuilder);\n result.push(statementBuilder.toString());\n });\n stack.forEach(function (expr, i) {\n var statementBuilder = new ExpressionBuilderVisitor();\n expr.visit(statementBuilder);\n var min = range[i * 2],\n max = range[i * 2 + 1];\n var out = [statementBuilder.toString()];\n\n if (min > expr.min) {\n out.unshift(\"Math.max(\", min, \", \");\n out.push(\")\");\n }\n\n if (max < expr.max) {\n out.unshift(\"Math.min(\", max, \", \");\n out.push(\")\");\n }\n\n out.unshift(\"dest[destOffset + \", i, \"] = \");\n out.push(\";\");\n result.push(out.join(\"\"));\n });\n return result.join(\"\\n\");\n }\n };\n return PostScriptCompiler;\n}();\n\nexports.PostScriptCompiler = PostScriptCompiler;\n\n/***/ }),\n/* 238 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PostScriptParser = exports.PostScriptLexer = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(202);\n\nvar _core_utils = __w_pdfjs_require__(205);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar PostScriptParser = /*#__PURE__*/function () {\n function PostScriptParser(lexer) {\n _classCallCheck(this, PostScriptParser);\n\n this.lexer = lexer;\n this.operators = [];\n this.token = null;\n this.prev = null;\n }\n\n _createClass(PostScriptParser, [{\n key: \"nextToken\",\n value: function nextToken() {\n this.prev = this.token;\n this.token = this.lexer.getToken();\n }\n }, {\n key: \"accept\",\n value: function accept(type) {\n if (this.token.type === type) {\n this.nextToken();\n return true;\n }\n\n return false;\n }\n }, {\n key: \"expect\",\n value: function expect(type) {\n if (this.accept(type)) {\n return true;\n }\n\n throw new _util.FormatError(\"Unexpected symbol: found \".concat(this.token.type, \" expected \").concat(type, \".\"));\n }\n }, {\n key: \"parse\",\n value: function parse() {\n this.nextToken();\n this.expect(PostScriptTokenTypes.LBRACE);\n this.parseBlock();\n this.expect(PostScriptTokenTypes.RBRACE);\n return this.operators;\n }\n }, {\n key: \"parseBlock\",\n value: function parseBlock() {\n while (true) {\n if (this.accept(PostScriptTokenTypes.NUMBER)) {\n this.operators.push(this.prev.value);\n } else if (this.accept(PostScriptTokenTypes.OPERATOR)) {\n this.operators.push(this.prev.value);\n } else if (this.accept(PostScriptTokenTypes.LBRACE)) {\n this.parseCondition();\n } else {\n return;\n }\n }\n }\n }, {\n key: \"parseCondition\",\n value: function parseCondition() {\n var conditionLocation = this.operators.length;\n this.operators.push(null, null);\n this.parseBlock();\n this.expect(PostScriptTokenTypes.RBRACE);\n\n if (this.accept(PostScriptTokenTypes.IF)) {\n this.operators[conditionLocation] = this.operators.length;\n this.operators[conditionLocation + 1] = \"jz\";\n } else if (this.accept(PostScriptTokenTypes.LBRACE)) {\n var jumpLocation = this.operators.length;\n this.operators.push(null, null);\n var endOfTrue = this.operators.length;\n this.parseBlock();\n this.expect(PostScriptTokenTypes.RBRACE);\n this.expect(PostScriptTokenTypes.IFELSE);\n this.operators[jumpLocation] = this.operators.length;\n this.operators[jumpLocation + 1] = \"j\";\n this.operators[conditionLocation] = endOfTrue;\n this.operators[conditionLocation + 1] = \"jz\";\n } else {\n throw new _util.FormatError(\"PS Function: error parsing conditional.\");\n }\n }\n }]);\n\n return PostScriptParser;\n}();\n\nexports.PostScriptParser = PostScriptParser;\nvar PostScriptTokenTypes = {\n LBRACE: 0,\n RBRACE: 1,\n NUMBER: 2,\n OPERATOR: 3,\n IF: 4,\n IFELSE: 5\n};\n\nvar PostScriptToken = function PostScriptTokenClosure() {\n var opCache = Object.create(null);\n\n var PostScriptToken = /*#__PURE__*/function () {\n function PostScriptToken(type, value) {\n _classCallCheck(this, PostScriptToken);\n\n this.type = type;\n this.value = value;\n }\n\n _createClass(PostScriptToken, null, [{\n key: \"getOperator\",\n value: function getOperator(op) {\n var opValue = opCache[op];\n\n if (opValue) {\n return opValue;\n }\n\n return opCache[op] = new PostScriptToken(PostScriptTokenTypes.OPERATOR, op);\n }\n }, {\n key: \"LBRACE\",\n get: function get() {\n return (0, _util.shadow)(this, \"LBRACE\", new PostScriptToken(PostScriptTokenTypes.LBRACE, \"{\"));\n }\n }, {\n key: \"RBRACE\",\n get: function get() {\n return (0, _util.shadow)(this, \"RBRACE\", new PostScriptToken(PostScriptTokenTypes.RBRACE, \"}\"));\n }\n }, {\n key: \"IF\",\n get: function get() {\n return (0, _util.shadow)(this, \"IF\", new PostScriptToken(PostScriptTokenTypes.IF, \"IF\"));\n }\n }, {\n key: \"IFELSE\",\n get: function get() {\n return (0, _util.shadow)(this, \"IFELSE\", new PostScriptToken(PostScriptTokenTypes.IFELSE, \"IFELSE\"));\n }\n }]);\n\n return PostScriptToken;\n }();\n\n return PostScriptToken;\n}();\n\nvar PostScriptLexer = /*#__PURE__*/function () {\n function PostScriptLexer(stream) {\n _classCallCheck(this, PostScriptLexer);\n\n this.stream = stream;\n this.nextChar();\n this.strBuf = [];\n }\n\n _createClass(PostScriptLexer, [{\n key: \"nextChar\",\n value: function nextChar() {\n return this.currentChar = this.stream.getByte();\n }\n }, {\n key: \"getToken\",\n value: function getToken() {\n var comment = false;\n var ch = this.currentChar;\n\n while (true) {\n if (ch < 0) {\n return _primitives.EOF;\n }\n\n if (comment) {\n if (ch === 0x0a || ch === 0x0d) {\n comment = false;\n }\n } else if (ch === 0x25) {\n comment = true;\n } else if (!(0, _core_utils.isWhiteSpace)(ch)) {\n break;\n }\n\n ch = this.nextChar();\n }\n\n switch (ch | 0) {\n case 0x30:\n case 0x31:\n case 0x32:\n case 0x33:\n case 0x34:\n case 0x35:\n case 0x36:\n case 0x37:\n case 0x38:\n case 0x39:\n case 0x2b:\n case 0x2d:\n case 0x2e:\n return new PostScriptToken(PostScriptTokenTypes.NUMBER, this.getNumber());\n\n case 0x7b:\n this.nextChar();\n return PostScriptToken.LBRACE;\n\n case 0x7d:\n this.nextChar();\n return PostScriptToken.RBRACE;\n }\n\n var strBuf = this.strBuf;\n strBuf.length = 0;\n strBuf[0] = String.fromCharCode(ch);\n\n while ((ch = this.nextChar()) >= 0 && (ch >= 0x41 && ch <= 0x5a || ch >= 0x61 && ch <= 0x7a)) {\n strBuf.push(String.fromCharCode(ch));\n }\n\n var str = strBuf.join(\"\");\n\n switch (str.toLowerCase()) {\n case \"if\":\n return PostScriptToken.IF;\n\n case \"ifelse\":\n return PostScriptToken.IFELSE;\n\n default:\n return PostScriptToken.getOperator(str);\n }\n }\n }, {\n key: \"getNumber\",\n value: function getNumber() {\n var ch = this.currentChar;\n var strBuf = this.strBuf;\n strBuf.length = 0;\n strBuf[0] = String.fromCharCode(ch);\n\n while ((ch = this.nextChar()) >= 0) {\n if (ch >= 0x30 && ch <= 0x39 || ch === 0x2d || ch === 0x2e) {\n strBuf.push(String.fromCharCode(ch));\n } else {\n break;\n }\n }\n\n var value = parseFloat(strBuf.join(\"\"));\n\n if (isNaN(value)) {\n throw new _util.FormatError(\"Invalid floating point number: \".concat(value));\n }\n\n return value;\n }\n }]);\n\n return PostScriptLexer;\n}();\n\nexports.PostScriptLexer = PostScriptLexer;\n\n/***/ }),\n/* 239 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.bidi = bidi;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar baseTypes = [\"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"S\", \"B\", \"S\", \"WS\", \"B\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"B\", \"B\", \"B\", \"S\", \"WS\", \"ON\", \"ON\", \"ET\", \"ET\", \"ET\", \"ON\", \"ON\", \"ON\", \"ON\", \"ON\", \"ES\", \"CS\", \"ES\", \"CS\", \"CS\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"CS\", \"ON\", \"ON\", \"ON\", \"ON\", \"ON\", \"ON\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"ON\", \"ON\", \"ON\", \"ON\", \"ON\", \"ON\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"ON\", \"ON\", \"ON\", \"ON\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"B\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"CS\", \"ON\", \"ET\", \"ET\", \"ET\", \"ET\", \"ON\", \"ON\", \"ON\", \"ON\", \"L\", \"ON\", \"ON\", \"BN\", \"ON\", \"ON\", \"ET\", \"ET\", \"EN\", \"EN\", \"ON\", \"L\", \"ON\", \"ON\", \"ON\", \"EN\", \"L\", \"ON\", \"ON\", \"ON\", \"ON\", \"ON\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"ON\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"ON\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\"];\nvar arabicTypes = [\"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"ON\", \"ON\", \"AL\", \"ET\", \"ET\", \"AL\", \"CS\", \"AL\", \"ON\", \"ON\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"AL\", \"AL\", \"\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"ET\", \"AN\", \"AN\", \"AL\", \"AL\", \"AL\", \"NSM\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"AN\", \"ON\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"AL\", \"AL\", \"NSM\", \"NSM\", \"ON\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"AL\", \"AL\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\"];\n\nfunction isOdd(i) {\n return (i & 1) !== 0;\n}\n\nfunction isEven(i) {\n return (i & 1) === 0;\n}\n\nfunction findUnequal(arr, start, value) {\n for (var j = start, jj = arr.length; j < jj; ++j) {\n if (arr[j] !== value) {\n return j;\n }\n }\n\n return j;\n}\n\nfunction setValues(arr, start, end, value) {\n for (var j = start; j < end; ++j) {\n arr[j] = value;\n }\n}\n\nfunction reverseValues(arr, start, end) {\n for (var i = start, j = end - 1; i < j; ++i, --j) {\n var temp = arr[i];\n arr[i] = arr[j];\n arr[j] = temp;\n }\n}\n\nfunction createBidiText(str, isLTR) {\n var vertical = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var dir = \"ltr\";\n\n if (vertical) {\n dir = \"ttb\";\n } else if (!isLTR) {\n dir = \"rtl\";\n }\n\n return {\n str: str,\n dir: dir\n };\n}\n\nvar chars = [];\nvar types = [];\n\nfunction bidi(str, startLevel, vertical) {\n var isLTR = true;\n var strLength = str.length;\n\n if (strLength === 0 || vertical) {\n return createBidiText(str, isLTR, vertical);\n }\n\n chars.length = strLength;\n types.length = strLength;\n var numBidi = 0;\n var i, ii;\n\n for (i = 0; i < strLength; ++i) {\n chars[i] = str.charAt(i);\n var charCode = str.charCodeAt(i);\n var charType = \"L\";\n\n if (charCode <= 0x00ff) {\n charType = baseTypes[charCode];\n } else if (0x0590 <= charCode && charCode <= 0x05f4) {\n charType = \"R\";\n } else if (0x0600 <= charCode && charCode <= 0x06ff) {\n charType = arabicTypes[charCode & 0xff];\n\n if (!charType) {\n (0, _util.warn)(\"Bidi: invalid Unicode character \" + charCode.toString(16));\n }\n } else if (0x0700 <= charCode && charCode <= 0x08ac) {\n charType = \"AL\";\n }\n\n if (charType === \"R\" || charType === \"AL\" || charType === \"AN\") {\n numBidi++;\n }\n\n types[i] = charType;\n }\n\n if (numBidi === 0) {\n isLTR = true;\n return createBidiText(str, isLTR);\n }\n\n if (startLevel === -1) {\n if (numBidi / strLength < 0.3) {\n isLTR = true;\n startLevel = 0;\n } else {\n isLTR = false;\n startLevel = 1;\n }\n }\n\n var levels = [];\n\n for (i = 0; i < strLength; ++i) {\n levels[i] = startLevel;\n }\n\n var e = isOdd(startLevel) ? \"R\" : \"L\";\n var sor = e;\n var eor = sor;\n var lastType = sor;\n\n for (i = 0; i < strLength; ++i) {\n if (types[i] === \"NSM\") {\n types[i] = lastType;\n } else {\n lastType = types[i];\n }\n }\n\n lastType = sor;\n var t;\n\n for (i = 0; i < strLength; ++i) {\n t = types[i];\n\n if (t === \"EN\") {\n types[i] = lastType === \"AL\" ? \"AN\" : \"EN\";\n } else if (t === \"R\" || t === \"L\" || t === \"AL\") {\n lastType = t;\n }\n }\n\n for (i = 0; i < strLength; ++i) {\n t = types[i];\n\n if (t === \"AL\") {\n types[i] = \"R\";\n }\n }\n\n for (i = 1; i < strLength - 1; ++i) {\n if (types[i] === \"ES\" && types[i - 1] === \"EN\" && types[i + 1] === \"EN\") {\n types[i] = \"EN\";\n }\n\n if (types[i] === \"CS\" && (types[i - 1] === \"EN\" || types[i - 1] === \"AN\") && types[i + 1] === types[i - 1]) {\n types[i] = types[i - 1];\n }\n }\n\n for (i = 0; i < strLength; ++i) {\n if (types[i] === \"EN\") {\n var j;\n\n for (j = i - 1; j >= 0; --j) {\n if (types[j] !== \"ET\") {\n break;\n }\n\n types[j] = \"EN\";\n }\n\n for (j = i + 1; j < strLength; ++j) {\n if (types[j] !== \"ET\") {\n break;\n }\n\n types[j] = \"EN\";\n }\n }\n }\n\n for (i = 0; i < strLength; ++i) {\n t = types[i];\n\n if (t === \"WS\" || t === \"ES\" || t === \"ET\" || t === \"CS\") {\n types[i] = \"ON\";\n }\n }\n\n lastType = sor;\n\n for (i = 0; i < strLength; ++i) {\n t = types[i];\n\n if (t === \"EN\") {\n types[i] = lastType === \"L\" ? \"L\" : \"EN\";\n } else if (t === \"R\" || t === \"L\") {\n lastType = t;\n }\n }\n\n for (i = 0; i < strLength; ++i) {\n if (types[i] === \"ON\") {\n var end = findUnequal(types, i + 1, \"ON\");\n var before = sor;\n\n if (i > 0) {\n before = types[i - 1];\n }\n\n var after = eor;\n\n if (end + 1 < strLength) {\n after = types[end + 1];\n }\n\n if (before !== \"L\") {\n before = \"R\";\n }\n\n if (after !== \"L\") {\n after = \"R\";\n }\n\n if (before === after) {\n setValues(types, i, end, before);\n }\n\n i = end - 1;\n }\n }\n\n for (i = 0; i < strLength; ++i) {\n if (types[i] === \"ON\") {\n types[i] = e;\n }\n }\n\n for (i = 0; i < strLength; ++i) {\n t = types[i];\n\n if (isEven(levels[i])) {\n if (t === \"R\") {\n levels[i] += 1;\n } else if (t === \"AN\" || t === \"EN\") {\n levels[i] += 2;\n }\n } else {\n if (t === \"L\" || t === \"AN\" || t === \"EN\") {\n levels[i] += 1;\n }\n }\n }\n\n var highestLevel = -1;\n var lowestOddLevel = 99;\n var level;\n\n for (i = 0, ii = levels.length; i < ii; ++i) {\n level = levels[i];\n\n if (highestLevel < level) {\n highestLevel = level;\n }\n\n if (lowestOddLevel > level && isOdd(level)) {\n lowestOddLevel = level;\n }\n }\n\n for (level = highestLevel; level >= lowestOddLevel; --level) {\n var start = -1;\n\n for (i = 0, ii = levels.length; i < ii; ++i) {\n if (levels[i] < level) {\n if (start >= 0) {\n reverseValues(chars, start, i);\n start = -1;\n }\n } else if (start < 0) {\n start = i;\n }\n }\n\n if (start >= 0) {\n reverseValues(chars, start, levels.length);\n }\n }\n\n for (i = 0, ii = chars.length; i < ii; ++i) {\n var ch = chars[i];\n\n if (ch === \"<\" || ch === \">\") {\n chars[i] = \"\";\n }\n }\n\n return createBidiText(chars.join(\"\"), isLTR);\n}\n\n/***/ }),\n/* 240 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getMetrics = void 0;\n\nvar _core_utils = __w_pdfjs_require__(205);\n\nvar getMetrics = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.Courier = 600;\n t[\"Courier-Bold\"] = 600;\n t[\"Courier-BoldOblique\"] = 600;\n t[\"Courier-Oblique\"] = 600;\n t.Helvetica = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.space = 278;\n t.exclam = 278;\n t.quotedbl = 355;\n t.numbersign = 556;\n t.dollar = 556;\n t.percent = 889;\n t.ampersand = 667;\n t.quoteright = 222;\n t.parenleft = 333;\n t.parenright = 333;\n t.asterisk = 389;\n t.plus = 584;\n t.comma = 278;\n t.hyphen = 333;\n t.period = 278;\n t.slash = 278;\n t.zero = 556;\n t.one = 556;\n t.two = 556;\n t.three = 556;\n t.four = 556;\n t.five = 556;\n t.six = 556;\n t.seven = 556;\n t.eight = 556;\n t.nine = 556;\n t.colon = 278;\n t.semicolon = 278;\n t.less = 584;\n t.equal = 584;\n t.greater = 584;\n t.question = 556;\n t.at = 1015;\n t.A = 667;\n t.B = 667;\n t.C = 722;\n t.D = 722;\n t.E = 667;\n t.F = 611;\n t.G = 778;\n t.H = 722;\n t.I = 278;\n t.J = 500;\n t.K = 667;\n t.L = 556;\n t.M = 833;\n t.N = 722;\n t.O = 778;\n t.P = 667;\n t.Q = 778;\n t.R = 722;\n t.S = 667;\n t.T = 611;\n t.U = 722;\n t.V = 667;\n t.W = 944;\n t.X = 667;\n t.Y = 667;\n t.Z = 611;\n t.bracketleft = 278;\n t.backslash = 278;\n t.bracketright = 278;\n t.asciicircum = 469;\n t.underscore = 556;\n t.quoteleft = 222;\n t.a = 556;\n t.b = 556;\n t.c = 500;\n t.d = 556;\n t.e = 556;\n t.f = 278;\n t.g = 556;\n t.h = 556;\n t.i = 222;\n t.j = 222;\n t.k = 500;\n t.l = 222;\n t.m = 833;\n t.n = 556;\n t.o = 556;\n t.p = 556;\n t.q = 556;\n t.r = 333;\n t.s = 500;\n t.t = 278;\n t.u = 556;\n t.v = 500;\n t.w = 722;\n t.x = 500;\n t.y = 500;\n t.z = 500;\n t.braceleft = 334;\n t.bar = 260;\n t.braceright = 334;\n t.asciitilde = 584;\n t.exclamdown = 333;\n t.cent = 556;\n t.sterling = 556;\n t.fraction = 167;\n t.yen = 556;\n t.florin = 556;\n t.section = 556;\n t.currency = 556;\n t.quotesingle = 191;\n t.quotedblleft = 333;\n t.guillemotleft = 556;\n t.guilsinglleft = 333;\n t.guilsinglright = 333;\n t.fi = 500;\n t.fl = 500;\n t.endash = 556;\n t.dagger = 556;\n t.daggerdbl = 556;\n t.periodcentered = 278;\n t.paragraph = 537;\n t.bullet = 350;\n t.quotesinglbase = 222;\n t.quotedblbase = 333;\n t.quotedblright = 333;\n t.guillemotright = 556;\n t.ellipsis = 1000;\n t.perthousand = 1000;\n t.questiondown = 611;\n t.grave = 333;\n t.acute = 333;\n t.circumflex = 333;\n t.tilde = 333;\n t.macron = 333;\n t.breve = 333;\n t.dotaccent = 333;\n t.dieresis = 333;\n t.ring = 333;\n t.cedilla = 333;\n t.hungarumlaut = 333;\n t.ogonek = 333;\n t.caron = 333;\n t.emdash = 1000;\n t.AE = 1000;\n t.ordfeminine = 370;\n t.Lslash = 556;\n t.Oslash = 778;\n t.OE = 1000;\n t.ordmasculine = 365;\n t.ae = 889;\n t.dotlessi = 278;\n t.lslash = 222;\n t.oslash = 611;\n t.oe = 944;\n t.germandbls = 611;\n t.Idieresis = 278;\n t.eacute = 556;\n t.abreve = 556;\n t.uhungarumlaut = 556;\n t.ecaron = 556;\n t.Ydieresis = 667;\n t.divide = 584;\n t.Yacute = 667;\n t.Acircumflex = 667;\n t.aacute = 556;\n t.Ucircumflex = 722;\n t.yacute = 500;\n t.scommaaccent = 500;\n t.ecircumflex = 556;\n t.Uring = 722;\n t.Udieresis = 722;\n t.aogonek = 556;\n t.Uacute = 722;\n t.uogonek = 556;\n t.Edieresis = 667;\n t.Dcroat = 722;\n t.commaaccent = 250;\n t.copyright = 737;\n t.Emacron = 667;\n t.ccaron = 500;\n t.aring = 556;\n t.Ncommaaccent = 722;\n t.lacute = 222;\n t.agrave = 556;\n t.Tcommaaccent = 611;\n t.Cacute = 722;\n t.atilde = 556;\n t.Edotaccent = 667;\n t.scaron = 500;\n t.scedilla = 500;\n t.iacute = 278;\n t.lozenge = 471;\n t.Rcaron = 722;\n t.Gcommaaccent = 778;\n t.ucircumflex = 556;\n t.acircumflex = 556;\n t.Amacron = 667;\n t.rcaron = 333;\n t.ccedilla = 500;\n t.Zdotaccent = 611;\n t.Thorn = 667;\n t.Omacron = 778;\n t.Racute = 722;\n t.Sacute = 667;\n t.dcaron = 643;\n t.Umacron = 722;\n t.uring = 556;\n t.threesuperior = 333;\n t.Ograve = 778;\n t.Agrave = 667;\n t.Abreve = 667;\n t.multiply = 584;\n t.uacute = 556;\n t.Tcaron = 611;\n t.partialdiff = 476;\n t.ydieresis = 500;\n t.Nacute = 722;\n t.icircumflex = 278;\n t.Ecircumflex = 667;\n t.adieresis = 556;\n t.edieresis = 556;\n t.cacute = 500;\n t.nacute = 556;\n t.umacron = 556;\n t.Ncaron = 722;\n t.Iacute = 278;\n t.plusminus = 584;\n t.brokenbar = 260;\n t.registered = 737;\n t.Gbreve = 778;\n t.Idotaccent = 278;\n t.summation = 600;\n t.Egrave = 667;\n t.racute = 333;\n t.omacron = 556;\n t.Zacute = 611;\n t.Zcaron = 611;\n t.greaterequal = 549;\n t.Eth = 722;\n t.Ccedilla = 722;\n t.lcommaaccent = 222;\n t.tcaron = 317;\n t.eogonek = 556;\n t.Uogonek = 722;\n t.Aacute = 667;\n t.Adieresis = 667;\n t.egrave = 556;\n t.zacute = 500;\n t.iogonek = 222;\n t.Oacute = 778;\n t.oacute = 556;\n t.amacron = 556;\n t.sacute = 500;\n t.idieresis = 278;\n t.Ocircumflex = 778;\n t.Ugrave = 722;\n t.Delta = 612;\n t.thorn = 556;\n t.twosuperior = 333;\n t.Odieresis = 778;\n t.mu = 556;\n t.igrave = 278;\n t.ohungarumlaut = 556;\n t.Eogonek = 667;\n t.dcroat = 556;\n t.threequarters = 834;\n t.Scedilla = 667;\n t.lcaron = 299;\n t.Kcommaaccent = 667;\n t.Lacute = 556;\n t.trademark = 1000;\n t.edotaccent = 556;\n t.Igrave = 278;\n t.Imacron = 278;\n t.Lcaron = 556;\n t.onehalf = 834;\n t.lessequal = 549;\n t.ocircumflex = 556;\n t.ntilde = 556;\n t.Uhungarumlaut = 722;\n t.Eacute = 667;\n t.emacron = 556;\n t.gbreve = 556;\n t.onequarter = 834;\n t.Scaron = 667;\n t.Scommaaccent = 667;\n t.Ohungarumlaut = 778;\n t.degree = 400;\n t.ograve = 556;\n t.Ccaron = 722;\n t.ugrave = 556;\n t.radical = 453;\n t.Dcaron = 722;\n t.rcommaaccent = 333;\n t.Ntilde = 722;\n t.otilde = 556;\n t.Rcommaaccent = 722;\n t.Lcommaaccent = 556;\n t.Atilde = 667;\n t.Aogonek = 667;\n t.Aring = 667;\n t.Otilde = 778;\n t.zdotaccent = 500;\n t.Ecaron = 667;\n t.Iogonek = 278;\n t.kcommaaccent = 500;\n t.minus = 584;\n t.Icircumflex = 278;\n t.ncaron = 556;\n t.tcommaaccent = 278;\n t.logicalnot = 584;\n t.odieresis = 556;\n t.udieresis = 556;\n t.notequal = 549;\n t.gcommaaccent = 556;\n t.eth = 556;\n t.zcaron = 500;\n t.ncommaaccent = 556;\n t.onesuperior = 333;\n t.imacron = 278;\n t.Euro = 556;\n });\n t[\"Helvetica-Bold\"] = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.space = 278;\n t.exclam = 333;\n t.quotedbl = 474;\n t.numbersign = 556;\n t.dollar = 556;\n t.percent = 889;\n t.ampersand = 722;\n t.quoteright = 278;\n t.parenleft = 333;\n t.parenright = 333;\n t.asterisk = 389;\n t.plus = 584;\n t.comma = 278;\n t.hyphen = 333;\n t.period = 278;\n t.slash = 278;\n t.zero = 556;\n t.one = 556;\n t.two = 556;\n t.three = 556;\n t.four = 556;\n t.five = 556;\n t.six = 556;\n t.seven = 556;\n t.eight = 556;\n t.nine = 556;\n t.colon = 333;\n t.semicolon = 333;\n t.less = 584;\n t.equal = 584;\n t.greater = 584;\n t.question = 611;\n t.at = 975;\n t.A = 722;\n t.B = 722;\n t.C = 722;\n t.D = 722;\n t.E = 667;\n t.F = 611;\n t.G = 778;\n t.H = 722;\n t.I = 278;\n t.J = 556;\n t.K = 722;\n t.L = 611;\n t.M = 833;\n t.N = 722;\n t.O = 778;\n t.P = 667;\n t.Q = 778;\n t.R = 722;\n t.S = 667;\n t.T = 611;\n t.U = 722;\n t.V = 667;\n t.W = 944;\n t.X = 667;\n t.Y = 667;\n t.Z = 611;\n t.bracketleft = 333;\n t.backslash = 278;\n t.bracketright = 333;\n t.asciicircum = 584;\n t.underscore = 556;\n t.quoteleft = 278;\n t.a = 556;\n t.b = 611;\n t.c = 556;\n t.d = 611;\n t.e = 556;\n t.f = 333;\n t.g = 611;\n t.h = 611;\n t.i = 278;\n t.j = 278;\n t.k = 556;\n t.l = 278;\n t.m = 889;\n t.n = 611;\n t.o = 611;\n t.p = 611;\n t.q = 611;\n t.r = 389;\n t.s = 556;\n t.t = 333;\n t.u = 611;\n t.v = 556;\n t.w = 778;\n t.x = 556;\n t.y = 556;\n t.z = 500;\n t.braceleft = 389;\n t.bar = 280;\n t.braceright = 389;\n t.asciitilde = 584;\n t.exclamdown = 333;\n t.cent = 556;\n t.sterling = 556;\n t.fraction = 167;\n t.yen = 556;\n t.florin = 556;\n t.section = 556;\n t.currency = 556;\n t.quotesingle = 238;\n t.quotedblleft = 500;\n t.guillemotleft = 556;\n t.guilsinglleft = 333;\n t.guilsinglright = 333;\n t.fi = 611;\n t.fl = 611;\n t.endash = 556;\n t.dagger = 556;\n t.daggerdbl = 556;\n t.periodcentered = 278;\n t.paragraph = 556;\n t.bullet = 350;\n t.quotesinglbase = 278;\n t.quotedblbase = 500;\n t.quotedblright = 500;\n t.guillemotright = 556;\n t.ellipsis = 1000;\n t.perthousand = 1000;\n t.questiondown = 611;\n t.grave = 333;\n t.acute = 333;\n t.circumflex = 333;\n t.tilde = 333;\n t.macron = 333;\n t.breve = 333;\n t.dotaccent = 333;\n t.dieresis = 333;\n t.ring = 333;\n t.cedilla = 333;\n t.hungarumlaut = 333;\n t.ogonek = 333;\n t.caron = 333;\n t.emdash = 1000;\n t.AE = 1000;\n t.ordfeminine = 370;\n t.Lslash = 611;\n t.Oslash = 778;\n t.OE = 1000;\n t.ordmasculine = 365;\n t.ae = 889;\n t.dotlessi = 278;\n t.lslash = 278;\n t.oslash = 611;\n t.oe = 944;\n t.germandbls = 611;\n t.Idieresis = 278;\n t.eacute = 556;\n t.abreve = 556;\n t.uhungarumlaut = 611;\n t.ecaron = 556;\n t.Ydieresis = 667;\n t.divide = 584;\n t.Yacute = 667;\n t.Acircumflex = 722;\n t.aacute = 556;\n t.Ucircumflex = 722;\n t.yacute = 556;\n t.scommaaccent = 556;\n t.ecircumflex = 556;\n t.Uring = 722;\n t.Udieresis = 722;\n t.aogonek = 556;\n t.Uacute = 722;\n t.uogonek = 611;\n t.Edieresis = 667;\n t.Dcroat = 722;\n t.commaaccent = 250;\n t.copyright = 737;\n t.Emacron = 667;\n t.ccaron = 556;\n t.aring = 556;\n t.Ncommaaccent = 722;\n t.lacute = 278;\n t.agrave = 556;\n t.Tcommaaccent = 611;\n t.Cacute = 722;\n t.atilde = 556;\n t.Edotaccent = 667;\n t.scaron = 556;\n t.scedilla = 556;\n t.iacute = 278;\n t.lozenge = 494;\n t.Rcaron = 722;\n t.Gcommaaccent = 778;\n t.ucircumflex = 611;\n t.acircumflex = 556;\n t.Amacron = 722;\n t.rcaron = 389;\n t.ccedilla = 556;\n t.Zdotaccent = 611;\n t.Thorn = 667;\n t.Omacron = 778;\n t.Racute = 722;\n t.Sacute = 667;\n t.dcaron = 743;\n t.Umacron = 722;\n t.uring = 611;\n t.threesuperior = 333;\n t.Ograve = 778;\n t.Agrave = 722;\n t.Abreve = 722;\n t.multiply = 584;\n t.uacute = 611;\n t.Tcaron = 611;\n t.partialdiff = 494;\n t.ydieresis = 556;\n t.Nacute = 722;\n t.icircumflex = 278;\n t.Ecircumflex = 667;\n t.adieresis = 556;\n t.edieresis = 556;\n t.cacute = 556;\n t.nacute = 611;\n t.umacron = 611;\n t.Ncaron = 722;\n t.Iacute = 278;\n t.plusminus = 584;\n t.brokenbar = 280;\n t.registered = 737;\n t.Gbreve = 778;\n t.Idotaccent = 278;\n t.summation = 600;\n t.Egrave = 667;\n t.racute = 389;\n t.omacron = 611;\n t.Zacute = 611;\n t.Zcaron = 611;\n t.greaterequal = 549;\n t.Eth = 722;\n t.Ccedilla = 722;\n t.lcommaaccent = 278;\n t.tcaron = 389;\n t.eogonek = 556;\n t.Uogonek = 722;\n t.Aacute = 722;\n t.Adieresis = 722;\n t.egrave = 556;\n t.zacute = 500;\n t.iogonek = 278;\n t.Oacute = 778;\n t.oacute = 611;\n t.amacron = 556;\n t.sacute = 556;\n t.idieresis = 278;\n t.Ocircumflex = 778;\n t.Ugrave = 722;\n t.Delta = 612;\n t.thorn = 611;\n t.twosuperior = 333;\n t.Odieresis = 778;\n t.mu = 611;\n t.igrave = 278;\n t.ohungarumlaut = 611;\n t.Eogonek = 667;\n t.dcroat = 611;\n t.threequarters = 834;\n t.Scedilla = 667;\n t.lcaron = 400;\n t.Kcommaaccent = 722;\n t.Lacute = 611;\n t.trademark = 1000;\n t.edotaccent = 556;\n t.Igrave = 278;\n t.Imacron = 278;\n t.Lcaron = 611;\n t.onehalf = 834;\n t.lessequal = 549;\n t.ocircumflex = 611;\n t.ntilde = 611;\n t.Uhungarumlaut = 722;\n t.Eacute = 667;\n t.emacron = 556;\n t.gbreve = 611;\n t.onequarter = 834;\n t.Scaron = 667;\n t.Scommaaccent = 667;\n t.Ohungarumlaut = 778;\n t.degree = 400;\n t.ograve = 611;\n t.Ccaron = 722;\n t.ugrave = 611;\n t.radical = 549;\n t.Dcaron = 722;\n t.rcommaaccent = 389;\n t.Ntilde = 722;\n t.otilde = 611;\n t.Rcommaaccent = 722;\n t.Lcommaaccent = 611;\n t.Atilde = 722;\n t.Aogonek = 722;\n t.Aring = 722;\n t.Otilde = 778;\n t.zdotaccent = 500;\n t.Ecaron = 667;\n t.Iogonek = 278;\n t.kcommaaccent = 556;\n t.minus = 584;\n t.Icircumflex = 278;\n t.ncaron = 611;\n t.tcommaaccent = 333;\n t.logicalnot = 584;\n t.odieresis = 611;\n t.udieresis = 611;\n t.notequal = 549;\n t.gcommaaccent = 611;\n t.eth = 611;\n t.zcaron = 500;\n t.ncommaaccent = 611;\n t.onesuperior = 333;\n t.imacron = 278;\n t.Euro = 556;\n });\n t[\"Helvetica-BoldOblique\"] = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.space = 278;\n t.exclam = 333;\n t.quotedbl = 474;\n t.numbersign = 556;\n t.dollar = 556;\n t.percent = 889;\n t.ampersand = 722;\n t.quoteright = 278;\n t.parenleft = 333;\n t.parenright = 333;\n t.asterisk = 389;\n t.plus = 584;\n t.comma = 278;\n t.hyphen = 333;\n t.period = 278;\n t.slash = 278;\n t.zero = 556;\n t.one = 556;\n t.two = 556;\n t.three = 556;\n t.four = 556;\n t.five = 556;\n t.six = 556;\n t.seven = 556;\n t.eight = 556;\n t.nine = 556;\n t.colon = 333;\n t.semicolon = 333;\n t.less = 584;\n t.equal = 584;\n t.greater = 584;\n t.question = 611;\n t.at = 975;\n t.A = 722;\n t.B = 722;\n t.C = 722;\n t.D = 722;\n t.E = 667;\n t.F = 611;\n t.G = 778;\n t.H = 722;\n t.I = 278;\n t.J = 556;\n t.K = 722;\n t.L = 611;\n t.M = 833;\n t.N = 722;\n t.O = 778;\n t.P = 667;\n t.Q = 778;\n t.R = 722;\n t.S = 667;\n t.T = 611;\n t.U = 722;\n t.V = 667;\n t.W = 944;\n t.X = 667;\n t.Y = 667;\n t.Z = 611;\n t.bracketleft = 333;\n t.backslash = 278;\n t.bracketright = 333;\n t.asciicircum = 584;\n t.underscore = 556;\n t.quoteleft = 278;\n t.a = 556;\n t.b = 611;\n t.c = 556;\n t.d = 611;\n t.e = 556;\n t.f = 333;\n t.g = 611;\n t.h = 611;\n t.i = 278;\n t.j = 278;\n t.k = 556;\n t.l = 278;\n t.m = 889;\n t.n = 611;\n t.o = 611;\n t.p = 611;\n t.q = 611;\n t.r = 389;\n t.s = 556;\n t.t = 333;\n t.u = 611;\n t.v = 556;\n t.w = 778;\n t.x = 556;\n t.y = 556;\n t.z = 500;\n t.braceleft = 389;\n t.bar = 280;\n t.braceright = 389;\n t.asciitilde = 584;\n t.exclamdown = 333;\n t.cent = 556;\n t.sterling = 556;\n t.fraction = 167;\n t.yen = 556;\n t.florin = 556;\n t.section = 556;\n t.currency = 556;\n t.quotesingle = 238;\n t.quotedblleft = 500;\n t.guillemotleft = 556;\n t.guilsinglleft = 333;\n t.guilsinglright = 333;\n t.fi = 611;\n t.fl = 611;\n t.endash = 556;\n t.dagger = 556;\n t.daggerdbl = 556;\n t.periodcentered = 278;\n t.paragraph = 556;\n t.bullet = 350;\n t.quotesinglbase = 278;\n t.quotedblbase = 500;\n t.quotedblright = 500;\n t.guillemotright = 556;\n t.ellipsis = 1000;\n t.perthousand = 1000;\n t.questiondown = 611;\n t.grave = 333;\n t.acute = 333;\n t.circumflex = 333;\n t.tilde = 333;\n t.macron = 333;\n t.breve = 333;\n t.dotaccent = 333;\n t.dieresis = 333;\n t.ring = 333;\n t.cedilla = 333;\n t.hungarumlaut = 333;\n t.ogonek = 333;\n t.caron = 333;\n t.emdash = 1000;\n t.AE = 1000;\n t.ordfeminine = 370;\n t.Lslash = 611;\n t.Oslash = 778;\n t.OE = 1000;\n t.ordmasculine = 365;\n t.ae = 889;\n t.dotlessi = 278;\n t.lslash = 278;\n t.oslash = 611;\n t.oe = 944;\n t.germandbls = 611;\n t.Idieresis = 278;\n t.eacute = 556;\n t.abreve = 556;\n t.uhungarumlaut = 611;\n t.ecaron = 556;\n t.Ydieresis = 667;\n t.divide = 584;\n t.Yacute = 667;\n t.Acircumflex = 722;\n t.aacute = 556;\n t.Ucircumflex = 722;\n t.yacute = 556;\n t.scommaaccent = 556;\n t.ecircumflex = 556;\n t.Uring = 722;\n t.Udieresis = 722;\n t.aogonek = 556;\n t.Uacute = 722;\n t.uogonek = 611;\n t.Edieresis = 667;\n t.Dcroat = 722;\n t.commaaccent = 250;\n t.copyright = 737;\n t.Emacron = 667;\n t.ccaron = 556;\n t.aring = 556;\n t.Ncommaaccent = 722;\n t.lacute = 278;\n t.agrave = 556;\n t.Tcommaaccent = 611;\n t.Cacute = 722;\n t.atilde = 556;\n t.Edotaccent = 667;\n t.scaron = 556;\n t.scedilla = 556;\n t.iacute = 278;\n t.lozenge = 494;\n t.Rcaron = 722;\n t.Gcommaaccent = 778;\n t.ucircumflex = 611;\n t.acircumflex = 556;\n t.Amacron = 722;\n t.rcaron = 389;\n t.ccedilla = 556;\n t.Zdotaccent = 611;\n t.Thorn = 667;\n t.Omacron = 778;\n t.Racute = 722;\n t.Sacute = 667;\n t.dcaron = 743;\n t.Umacron = 722;\n t.uring = 611;\n t.threesuperior = 333;\n t.Ograve = 778;\n t.Agrave = 722;\n t.Abreve = 722;\n t.multiply = 584;\n t.uacute = 611;\n t.Tcaron = 611;\n t.partialdiff = 494;\n t.ydieresis = 556;\n t.Nacute = 722;\n t.icircumflex = 278;\n t.Ecircumflex = 667;\n t.adieresis = 556;\n t.edieresis = 556;\n t.cacute = 556;\n t.nacute = 611;\n t.umacron = 611;\n t.Ncaron = 722;\n t.Iacute = 278;\n t.plusminus = 584;\n t.brokenbar = 280;\n t.registered = 737;\n t.Gbreve = 778;\n t.Idotaccent = 278;\n t.summation = 600;\n t.Egrave = 667;\n t.racute = 389;\n t.omacron = 611;\n t.Zacute = 611;\n t.Zcaron = 611;\n t.greaterequal = 549;\n t.Eth = 722;\n t.Ccedilla = 722;\n t.lcommaaccent = 278;\n t.tcaron = 389;\n t.eogonek = 556;\n t.Uogonek = 722;\n t.Aacute = 722;\n t.Adieresis = 722;\n t.egrave = 556;\n t.zacute = 500;\n t.iogonek = 278;\n t.Oacute = 778;\n t.oacute = 611;\n t.amacron = 556;\n t.sacute = 556;\n t.idieresis = 278;\n t.Ocircumflex = 778;\n t.Ugrave = 722;\n t.Delta = 612;\n t.thorn = 611;\n t.twosuperior = 333;\n t.Odieresis = 778;\n t.mu = 611;\n t.igrave = 278;\n t.ohungarumlaut = 611;\n t.Eogonek = 667;\n t.dcroat = 611;\n t.threequarters = 834;\n t.Scedilla = 667;\n t.lcaron = 400;\n t.Kcommaaccent = 722;\n t.Lacute = 611;\n t.trademark = 1000;\n t.edotaccent = 556;\n t.Igrave = 278;\n t.Imacron = 278;\n t.Lcaron = 611;\n t.onehalf = 834;\n t.lessequal = 549;\n t.ocircumflex = 611;\n t.ntilde = 611;\n t.Uhungarumlaut = 722;\n t.Eacute = 667;\n t.emacron = 556;\n t.gbreve = 611;\n t.onequarter = 834;\n t.Scaron = 667;\n t.Scommaaccent = 667;\n t.Ohungarumlaut = 778;\n t.degree = 400;\n t.ograve = 611;\n t.Ccaron = 722;\n t.ugrave = 611;\n t.radical = 549;\n t.Dcaron = 722;\n t.rcommaaccent = 389;\n t.Ntilde = 722;\n t.otilde = 611;\n t.Rcommaaccent = 722;\n t.Lcommaaccent = 611;\n t.Atilde = 722;\n t.Aogonek = 722;\n t.Aring = 722;\n t.Otilde = 778;\n t.zdotaccent = 500;\n t.Ecaron = 667;\n t.Iogonek = 278;\n t.kcommaaccent = 556;\n t.minus = 584;\n t.Icircumflex = 278;\n t.ncaron = 611;\n t.tcommaaccent = 333;\n t.logicalnot = 584;\n t.odieresis = 611;\n t.udieresis = 611;\n t.notequal = 549;\n t.gcommaaccent = 611;\n t.eth = 611;\n t.zcaron = 500;\n t.ncommaaccent = 611;\n t.onesuperior = 333;\n t.imacron = 278;\n t.Euro = 556;\n });\n t[\"Helvetica-Oblique\"] = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.space = 278;\n t.exclam = 278;\n t.quotedbl = 355;\n t.numbersign = 556;\n t.dollar = 556;\n t.percent = 889;\n t.ampersand = 667;\n t.quoteright = 222;\n t.parenleft = 333;\n t.parenright = 333;\n t.asterisk = 389;\n t.plus = 584;\n t.comma = 278;\n t.hyphen = 333;\n t.period = 278;\n t.slash = 278;\n t.zero = 556;\n t.one = 556;\n t.two = 556;\n t.three = 556;\n t.four = 556;\n t.five = 556;\n t.six = 556;\n t.seven = 556;\n t.eight = 556;\n t.nine = 556;\n t.colon = 278;\n t.semicolon = 278;\n t.less = 584;\n t.equal = 584;\n t.greater = 584;\n t.question = 556;\n t.at = 1015;\n t.A = 667;\n t.B = 667;\n t.C = 722;\n t.D = 722;\n t.E = 667;\n t.F = 611;\n t.G = 778;\n t.H = 722;\n t.I = 278;\n t.J = 500;\n t.K = 667;\n t.L = 556;\n t.M = 833;\n t.N = 722;\n t.O = 778;\n t.P = 667;\n t.Q = 778;\n t.R = 722;\n t.S = 667;\n t.T = 611;\n t.U = 722;\n t.V = 667;\n t.W = 944;\n t.X = 667;\n t.Y = 667;\n t.Z = 611;\n t.bracketleft = 278;\n t.backslash = 278;\n t.bracketright = 278;\n t.asciicircum = 469;\n t.underscore = 556;\n t.quoteleft = 222;\n t.a = 556;\n t.b = 556;\n t.c = 500;\n t.d = 556;\n t.e = 556;\n t.f = 278;\n t.g = 556;\n t.h = 556;\n t.i = 222;\n t.j = 222;\n t.k = 500;\n t.l = 222;\n t.m = 833;\n t.n = 556;\n t.o = 556;\n t.p = 556;\n t.q = 556;\n t.r = 333;\n t.s = 500;\n t.t = 278;\n t.u = 556;\n t.v = 500;\n t.w = 722;\n t.x = 500;\n t.y = 500;\n t.z = 500;\n t.braceleft = 334;\n t.bar = 260;\n t.braceright = 334;\n t.asciitilde = 584;\n t.exclamdown = 333;\n t.cent = 556;\n t.sterling = 556;\n t.fraction = 167;\n t.yen = 556;\n t.florin = 556;\n t.section = 556;\n t.currency = 556;\n t.quotesingle = 191;\n t.quotedblleft = 333;\n t.guillemotleft = 556;\n t.guilsinglleft = 333;\n t.guilsinglright = 333;\n t.fi = 500;\n t.fl = 500;\n t.endash = 556;\n t.dagger = 556;\n t.daggerdbl = 556;\n t.periodcentered = 278;\n t.paragraph = 537;\n t.bullet = 350;\n t.quotesinglbase = 222;\n t.quotedblbase = 333;\n t.quotedblright = 333;\n t.guillemotright = 556;\n t.ellipsis = 1000;\n t.perthousand = 1000;\n t.questiondown = 611;\n t.grave = 333;\n t.acute = 333;\n t.circumflex = 333;\n t.tilde = 333;\n t.macron = 333;\n t.breve = 333;\n t.dotaccent = 333;\n t.dieresis = 333;\n t.ring = 333;\n t.cedilla = 333;\n t.hungarumlaut = 333;\n t.ogonek = 333;\n t.caron = 333;\n t.emdash = 1000;\n t.AE = 1000;\n t.ordfeminine = 370;\n t.Lslash = 556;\n t.Oslash = 778;\n t.OE = 1000;\n t.ordmasculine = 365;\n t.ae = 889;\n t.dotlessi = 278;\n t.lslash = 222;\n t.oslash = 611;\n t.oe = 944;\n t.germandbls = 611;\n t.Idieresis = 278;\n t.eacute = 556;\n t.abreve = 556;\n t.uhungarumlaut = 556;\n t.ecaron = 556;\n t.Ydieresis = 667;\n t.divide = 584;\n t.Yacute = 667;\n t.Acircumflex = 667;\n t.aacute = 556;\n t.Ucircumflex = 722;\n t.yacute = 500;\n t.scommaaccent = 500;\n t.ecircumflex = 556;\n t.Uring = 722;\n t.Udieresis = 722;\n t.aogonek = 556;\n t.Uacute = 722;\n t.uogonek = 556;\n t.Edieresis = 667;\n t.Dcroat = 722;\n t.commaaccent = 250;\n t.copyright = 737;\n t.Emacron = 667;\n t.ccaron = 500;\n t.aring = 556;\n t.Ncommaaccent = 722;\n t.lacute = 222;\n t.agrave = 556;\n t.Tcommaaccent = 611;\n t.Cacute = 722;\n t.atilde = 556;\n t.Edotaccent = 667;\n t.scaron = 500;\n t.scedilla = 500;\n t.iacute = 278;\n t.lozenge = 471;\n t.Rcaron = 722;\n t.Gcommaaccent = 778;\n t.ucircumflex = 556;\n t.acircumflex = 556;\n t.Amacron = 667;\n t.rcaron = 333;\n t.ccedilla = 500;\n t.Zdotaccent = 611;\n t.Thorn = 667;\n t.Omacron = 778;\n t.Racute = 722;\n t.Sacute = 667;\n t.dcaron = 643;\n t.Umacron = 722;\n t.uring = 556;\n t.threesuperior = 333;\n t.Ograve = 778;\n t.Agrave = 667;\n t.Abreve = 667;\n t.multiply = 584;\n t.uacute = 556;\n t.Tcaron = 611;\n t.partialdiff = 476;\n t.ydieresis = 500;\n t.Nacute = 722;\n t.icircumflex = 278;\n t.Ecircumflex = 667;\n t.adieresis = 556;\n t.edieresis = 556;\n t.cacute = 500;\n t.nacute = 556;\n t.umacron = 556;\n t.Ncaron = 722;\n t.Iacute = 278;\n t.plusminus = 584;\n t.brokenbar = 260;\n t.registered = 737;\n t.Gbreve = 778;\n t.Idotaccent = 278;\n t.summation = 600;\n t.Egrave = 667;\n t.racute = 333;\n t.omacron = 556;\n t.Zacute = 611;\n t.Zcaron = 611;\n t.greaterequal = 549;\n t.Eth = 722;\n t.Ccedilla = 722;\n t.lcommaaccent = 222;\n t.tcaron = 317;\n t.eogonek = 556;\n t.Uogonek = 722;\n t.Aacute = 667;\n t.Adieresis = 667;\n t.egrave = 556;\n t.zacute = 500;\n t.iogonek = 222;\n t.Oacute = 778;\n t.oacute = 556;\n t.amacron = 556;\n t.sacute = 500;\n t.idieresis = 278;\n t.Ocircumflex = 778;\n t.Ugrave = 722;\n t.Delta = 612;\n t.thorn = 556;\n t.twosuperior = 333;\n t.Odieresis = 778;\n t.mu = 556;\n t.igrave = 278;\n t.ohungarumlaut = 556;\n t.Eogonek = 667;\n t.dcroat = 556;\n t.threequarters = 834;\n t.Scedilla = 667;\n t.lcaron = 299;\n t.Kcommaaccent = 667;\n t.Lacute = 556;\n t.trademark = 1000;\n t.edotaccent = 556;\n t.Igrave = 278;\n t.Imacron = 278;\n t.Lcaron = 556;\n t.onehalf = 834;\n t.lessequal = 549;\n t.ocircumflex = 556;\n t.ntilde = 556;\n t.Uhungarumlaut = 722;\n t.Eacute = 667;\n t.emacron = 556;\n t.gbreve = 556;\n t.onequarter = 834;\n t.Scaron = 667;\n t.Scommaaccent = 667;\n t.Ohungarumlaut = 778;\n t.degree = 400;\n t.ograve = 556;\n t.Ccaron = 722;\n t.ugrave = 556;\n t.radical = 453;\n t.Dcaron = 722;\n t.rcommaaccent = 333;\n t.Ntilde = 722;\n t.otilde = 556;\n t.Rcommaaccent = 722;\n t.Lcommaaccent = 556;\n t.Atilde = 667;\n t.Aogonek = 667;\n t.Aring = 667;\n t.Otilde = 778;\n t.zdotaccent = 500;\n t.Ecaron = 667;\n t.Iogonek = 278;\n t.kcommaaccent = 500;\n t.minus = 584;\n t.Icircumflex = 278;\n t.ncaron = 556;\n t.tcommaaccent = 278;\n t.logicalnot = 584;\n t.odieresis = 556;\n t.udieresis = 556;\n t.notequal = 549;\n t.gcommaaccent = 556;\n t.eth = 556;\n t.zcaron = 500;\n t.ncommaaccent = 556;\n t.onesuperior = 333;\n t.imacron = 278;\n t.Euro = 556;\n });\n t.Symbol = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.space = 250;\n t.exclam = 333;\n t.universal = 713;\n t.numbersign = 500;\n t.existential = 549;\n t.percent = 833;\n t.ampersand = 778;\n t.suchthat = 439;\n t.parenleft = 333;\n t.parenright = 333;\n t.asteriskmath = 500;\n t.plus = 549;\n t.comma = 250;\n t.minus = 549;\n t.period = 250;\n t.slash = 278;\n t.zero = 500;\n t.one = 500;\n t.two = 500;\n t.three = 500;\n t.four = 500;\n t.five = 500;\n t.six = 500;\n t.seven = 500;\n t.eight = 500;\n t.nine = 500;\n t.colon = 278;\n t.semicolon = 278;\n t.less = 549;\n t.equal = 549;\n t.greater = 549;\n t.question = 444;\n t.congruent = 549;\n t.Alpha = 722;\n t.Beta = 667;\n t.Chi = 722;\n t.Delta = 612;\n t.Epsilon = 611;\n t.Phi = 763;\n t.Gamma = 603;\n t.Eta = 722;\n t.Iota = 333;\n t.theta1 = 631;\n t.Kappa = 722;\n t.Lambda = 686;\n t.Mu = 889;\n t.Nu = 722;\n t.Omicron = 722;\n t.Pi = 768;\n t.Theta = 741;\n t.Rho = 556;\n t.Sigma = 592;\n t.Tau = 611;\n t.Upsilon = 690;\n t.sigma1 = 439;\n t.Omega = 768;\n t.Xi = 645;\n t.Psi = 795;\n t.Zeta = 611;\n t.bracketleft = 333;\n t.therefore = 863;\n t.bracketright = 333;\n t.perpendicular = 658;\n t.underscore = 500;\n t.radicalex = 500;\n t.alpha = 631;\n t.beta = 549;\n t.chi = 549;\n t.delta = 494;\n t.epsilon = 439;\n t.phi = 521;\n t.gamma = 411;\n t.eta = 603;\n t.iota = 329;\n t.phi1 = 603;\n t.kappa = 549;\n t.lambda = 549;\n t.mu = 576;\n t.nu = 521;\n t.omicron = 549;\n t.pi = 549;\n t.theta = 521;\n t.rho = 549;\n t.sigma = 603;\n t.tau = 439;\n t.upsilon = 576;\n t.omega1 = 713;\n t.omega = 686;\n t.xi = 493;\n t.psi = 686;\n t.zeta = 494;\n t.braceleft = 480;\n t.bar = 200;\n t.braceright = 480;\n t.similar = 549;\n t.Euro = 750;\n t.Upsilon1 = 620;\n t.minute = 247;\n t.lessequal = 549;\n t.fraction = 167;\n t.infinity = 713;\n t.florin = 500;\n t.club = 753;\n t.diamond = 753;\n t.heart = 753;\n t.spade = 753;\n t.arrowboth = 1042;\n t.arrowleft = 987;\n t.arrowup = 603;\n t.arrowright = 987;\n t.arrowdown = 603;\n t.degree = 400;\n t.plusminus = 549;\n t.second = 411;\n t.greaterequal = 549;\n t.multiply = 549;\n t.proportional = 713;\n t.partialdiff = 494;\n t.bullet = 460;\n t.divide = 549;\n t.notequal = 549;\n t.equivalence = 549;\n t.approxequal = 549;\n t.ellipsis = 1000;\n t.arrowvertex = 603;\n t.arrowhorizex = 1000;\n t.carriagereturn = 658;\n t.aleph = 823;\n t.Ifraktur = 686;\n t.Rfraktur = 795;\n t.weierstrass = 987;\n t.circlemultiply = 768;\n t.circleplus = 768;\n t.emptyset = 823;\n t.intersection = 768;\n t.union = 768;\n t.propersuperset = 713;\n t.reflexsuperset = 713;\n t.notsubset = 713;\n t.propersubset = 713;\n t.reflexsubset = 713;\n t.element = 713;\n t.notelement = 713;\n t.angle = 768;\n t.gradient = 713;\n t.registerserif = 790;\n t.copyrightserif = 790;\n t.trademarkserif = 890;\n t.product = 823;\n t.radical = 549;\n t.dotmath = 250;\n t.logicalnot = 713;\n t.logicaland = 603;\n t.logicalor = 603;\n t.arrowdblboth = 1042;\n t.arrowdblleft = 987;\n t.arrowdblup = 603;\n t.arrowdblright = 987;\n t.arrowdbldown = 603;\n t.lozenge = 494;\n t.angleleft = 329;\n t.registersans = 790;\n t.copyrightsans = 790;\n t.trademarksans = 786;\n t.summation = 713;\n t.parenlefttp = 384;\n t.parenleftex = 384;\n t.parenleftbt = 384;\n t.bracketlefttp = 384;\n t.bracketleftex = 384;\n t.bracketleftbt = 384;\n t.bracelefttp = 494;\n t.braceleftmid = 494;\n t.braceleftbt = 494;\n t.braceex = 494;\n t.angleright = 329;\n t.integral = 274;\n t.integraltp = 686;\n t.integralex = 686;\n t.integralbt = 686;\n t.parenrighttp = 384;\n t.parenrightex = 384;\n t.parenrightbt = 384;\n t.bracketrighttp = 384;\n t.bracketrightex = 384;\n t.bracketrightbt = 384;\n t.bracerighttp = 494;\n t.bracerightmid = 494;\n t.bracerightbt = 494;\n t.apple = 790;\n });\n t[\"Times-Roman\"] = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.space = 250;\n t.exclam = 333;\n t.quotedbl = 408;\n t.numbersign = 500;\n t.dollar = 500;\n t.percent = 833;\n t.ampersand = 778;\n t.quoteright = 333;\n t.parenleft = 333;\n t.parenright = 333;\n t.asterisk = 500;\n t.plus = 564;\n t.comma = 250;\n t.hyphen = 333;\n t.period = 250;\n t.slash = 278;\n t.zero = 500;\n t.one = 500;\n t.two = 500;\n t.three = 500;\n t.four = 500;\n t.five = 500;\n t.six = 500;\n t.seven = 500;\n t.eight = 500;\n t.nine = 500;\n t.colon = 278;\n t.semicolon = 278;\n t.less = 564;\n t.equal = 564;\n t.greater = 564;\n t.question = 444;\n t.at = 921;\n t.A = 722;\n t.B = 667;\n t.C = 667;\n t.D = 722;\n t.E = 611;\n t.F = 556;\n t.G = 722;\n t.H = 722;\n t.I = 333;\n t.J = 389;\n t.K = 722;\n t.L = 611;\n t.M = 889;\n t.N = 722;\n t.O = 722;\n t.P = 556;\n t.Q = 722;\n t.R = 667;\n t.S = 556;\n t.T = 611;\n t.U = 722;\n t.V = 722;\n t.W = 944;\n t.X = 722;\n t.Y = 722;\n t.Z = 611;\n t.bracketleft = 333;\n t.backslash = 278;\n t.bracketright = 333;\n t.asciicircum = 469;\n t.underscore = 500;\n t.quoteleft = 333;\n t.a = 444;\n t.b = 500;\n t.c = 444;\n t.d = 500;\n t.e = 444;\n t.f = 333;\n t.g = 500;\n t.h = 500;\n t.i = 278;\n t.j = 278;\n t.k = 500;\n t.l = 278;\n t.m = 778;\n t.n = 500;\n t.o = 500;\n t.p = 500;\n t.q = 500;\n t.r = 333;\n t.s = 389;\n t.t = 278;\n t.u = 500;\n t.v = 500;\n t.w = 722;\n t.x = 500;\n t.y = 500;\n t.z = 444;\n t.braceleft = 480;\n t.bar = 200;\n t.braceright = 480;\n t.asciitilde = 541;\n t.exclamdown = 333;\n t.cent = 500;\n t.sterling = 500;\n t.fraction = 167;\n t.yen = 500;\n t.florin = 500;\n t.section = 500;\n t.currency = 500;\n t.quotesingle = 180;\n t.quotedblleft = 444;\n t.guillemotleft = 500;\n t.guilsinglleft = 333;\n t.guilsinglright = 333;\n t.fi = 556;\n t.fl = 556;\n t.endash = 500;\n t.dagger = 500;\n t.daggerdbl = 500;\n t.periodcentered = 250;\n t.paragraph = 453;\n t.bullet = 350;\n t.quotesinglbase = 333;\n t.quotedblbase = 444;\n t.quotedblright = 444;\n t.guillemotright = 500;\n t.ellipsis = 1000;\n t.perthousand = 1000;\n t.questiondown = 444;\n t.grave = 333;\n t.acute = 333;\n t.circumflex = 333;\n t.tilde = 333;\n t.macron = 333;\n t.breve = 333;\n t.dotaccent = 333;\n t.dieresis = 333;\n t.ring = 333;\n t.cedilla = 333;\n t.hungarumlaut = 333;\n t.ogonek = 333;\n t.caron = 333;\n t.emdash = 1000;\n t.AE = 889;\n t.ordfeminine = 276;\n t.Lslash = 611;\n t.Oslash = 722;\n t.OE = 889;\n t.ordmasculine = 310;\n t.ae = 667;\n t.dotlessi = 278;\n t.lslash = 278;\n t.oslash = 500;\n t.oe = 722;\n t.germandbls = 500;\n t.Idieresis = 333;\n t.eacute = 444;\n t.abreve = 444;\n t.uhungarumlaut = 500;\n t.ecaron = 444;\n t.Ydieresis = 722;\n t.divide = 564;\n t.Yacute = 722;\n t.Acircumflex = 722;\n t.aacute = 444;\n t.Ucircumflex = 722;\n t.yacute = 500;\n t.scommaaccent = 389;\n t.ecircumflex = 444;\n t.Uring = 722;\n t.Udieresis = 722;\n t.aogonek = 444;\n t.Uacute = 722;\n t.uogonek = 500;\n t.Edieresis = 611;\n t.Dcroat = 722;\n t.commaaccent = 250;\n t.copyright = 760;\n t.Emacron = 611;\n t.ccaron = 444;\n t.aring = 444;\n t.Ncommaaccent = 722;\n t.lacute = 278;\n t.agrave = 444;\n t.Tcommaaccent = 611;\n t.Cacute = 667;\n t.atilde = 444;\n t.Edotaccent = 611;\n t.scaron = 389;\n t.scedilla = 389;\n t.iacute = 278;\n t.lozenge = 471;\n t.Rcaron = 667;\n t.Gcommaaccent = 722;\n t.ucircumflex = 500;\n t.acircumflex = 444;\n t.Amacron = 722;\n t.rcaron = 333;\n t.ccedilla = 444;\n t.Zdotaccent = 611;\n t.Thorn = 556;\n t.Omacron = 722;\n t.Racute = 667;\n t.Sacute = 556;\n t.dcaron = 588;\n t.Umacron = 722;\n t.uring = 500;\n t.threesuperior = 300;\n t.Ograve = 722;\n t.Agrave = 722;\n t.Abreve = 722;\n t.multiply = 564;\n t.uacute = 500;\n t.Tcaron = 611;\n t.partialdiff = 476;\n t.ydieresis = 500;\n t.Nacute = 722;\n t.icircumflex = 278;\n t.Ecircumflex = 611;\n t.adieresis = 444;\n t.edieresis = 444;\n t.cacute = 444;\n t.nacute = 500;\n t.umacron = 500;\n t.Ncaron = 722;\n t.Iacute = 333;\n t.plusminus = 564;\n t.brokenbar = 200;\n t.registered = 760;\n t.Gbreve = 722;\n t.Idotaccent = 333;\n t.summation = 600;\n t.Egrave = 611;\n t.racute = 333;\n t.omacron = 500;\n t.Zacute = 611;\n t.Zcaron = 611;\n t.greaterequal = 549;\n t.Eth = 722;\n t.Ccedilla = 667;\n t.lcommaaccent = 278;\n t.tcaron = 326;\n t.eogonek = 444;\n t.Uogonek = 722;\n t.Aacute = 722;\n t.Adieresis = 722;\n t.egrave = 444;\n t.zacute = 444;\n t.iogonek = 278;\n t.Oacute = 722;\n t.oacute = 500;\n t.amacron = 444;\n t.sacute = 389;\n t.idieresis = 278;\n t.Ocircumflex = 722;\n t.Ugrave = 722;\n t.Delta = 612;\n t.thorn = 500;\n t.twosuperior = 300;\n t.Odieresis = 722;\n t.mu = 500;\n t.igrave = 278;\n t.ohungarumlaut = 500;\n t.Eogonek = 611;\n t.dcroat = 500;\n t.threequarters = 750;\n t.Scedilla = 556;\n t.lcaron = 344;\n t.Kcommaaccent = 722;\n t.Lacute = 611;\n t.trademark = 980;\n t.edotaccent = 444;\n t.Igrave = 333;\n t.Imacron = 333;\n t.Lcaron = 611;\n t.onehalf = 750;\n t.lessequal = 549;\n t.ocircumflex = 500;\n t.ntilde = 500;\n t.Uhungarumlaut = 722;\n t.Eacute = 611;\n t.emacron = 444;\n t.gbreve = 500;\n t.onequarter = 750;\n t.Scaron = 556;\n t.Scommaaccent = 556;\n t.Ohungarumlaut = 722;\n t.degree = 400;\n t.ograve = 500;\n t.Ccaron = 667;\n t.ugrave = 500;\n t.radical = 453;\n t.Dcaron = 722;\n t.rcommaaccent = 333;\n t.Ntilde = 722;\n t.otilde = 500;\n t.Rcommaaccent = 667;\n t.Lcommaaccent = 611;\n t.Atilde = 722;\n t.Aogonek = 722;\n t.Aring = 722;\n t.Otilde = 722;\n t.zdotaccent = 444;\n t.Ecaron = 611;\n t.Iogonek = 333;\n t.kcommaaccent = 500;\n t.minus = 564;\n t.Icircumflex = 333;\n t.ncaron = 500;\n t.tcommaaccent = 278;\n t.logicalnot = 564;\n t.odieresis = 500;\n t.udieresis = 500;\n t.notequal = 549;\n t.gcommaaccent = 500;\n t.eth = 500;\n t.zcaron = 444;\n t.ncommaaccent = 500;\n t.onesuperior = 300;\n t.imacron = 278;\n t.Euro = 500;\n });\n t[\"Times-Bold\"] = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.space = 250;\n t.exclam = 333;\n t.quotedbl = 555;\n t.numbersign = 500;\n t.dollar = 500;\n t.percent = 1000;\n t.ampersand = 833;\n t.quoteright = 333;\n t.parenleft = 333;\n t.parenright = 333;\n t.asterisk = 500;\n t.plus = 570;\n t.comma = 250;\n t.hyphen = 333;\n t.period = 250;\n t.slash = 278;\n t.zero = 500;\n t.one = 500;\n t.two = 500;\n t.three = 500;\n t.four = 500;\n t.five = 500;\n t.six = 500;\n t.seven = 500;\n t.eight = 500;\n t.nine = 500;\n t.colon = 333;\n t.semicolon = 333;\n t.less = 570;\n t.equal = 570;\n t.greater = 570;\n t.question = 500;\n t.at = 930;\n t.A = 722;\n t.B = 667;\n t.C = 722;\n t.D = 722;\n t.E = 667;\n t.F = 611;\n t.G = 778;\n t.H = 778;\n t.I = 389;\n t.J = 500;\n t.K = 778;\n t.L = 667;\n t.M = 944;\n t.N = 722;\n t.O = 778;\n t.P = 611;\n t.Q = 778;\n t.R = 722;\n t.S = 556;\n t.T = 667;\n t.U = 722;\n t.V = 722;\n t.W = 1000;\n t.X = 722;\n t.Y = 722;\n t.Z = 667;\n t.bracketleft = 333;\n t.backslash = 278;\n t.bracketright = 333;\n t.asciicircum = 581;\n t.underscore = 500;\n t.quoteleft = 333;\n t.a = 500;\n t.b = 556;\n t.c = 444;\n t.d = 556;\n t.e = 444;\n t.f = 333;\n t.g = 500;\n t.h = 556;\n t.i = 278;\n t.j = 333;\n t.k = 556;\n t.l = 278;\n t.m = 833;\n t.n = 556;\n t.o = 500;\n t.p = 556;\n t.q = 556;\n t.r = 444;\n t.s = 389;\n t.t = 333;\n t.u = 556;\n t.v = 500;\n t.w = 722;\n t.x = 500;\n t.y = 500;\n t.z = 444;\n t.braceleft = 394;\n t.bar = 220;\n t.braceright = 394;\n t.asciitilde = 520;\n t.exclamdown = 333;\n t.cent = 500;\n t.sterling = 500;\n t.fraction = 167;\n t.yen = 500;\n t.florin = 500;\n t.section = 500;\n t.currency = 500;\n t.quotesingle = 278;\n t.quotedblleft = 500;\n t.guillemotleft = 500;\n t.guilsinglleft = 333;\n t.guilsinglright = 333;\n t.fi = 556;\n t.fl = 556;\n t.endash = 500;\n t.dagger = 500;\n t.daggerdbl = 500;\n t.periodcentered = 250;\n t.paragraph = 540;\n t.bullet = 350;\n t.quotesinglbase = 333;\n t.quotedblbase = 500;\n t.quotedblright = 500;\n t.guillemotright = 500;\n t.ellipsis = 1000;\n t.perthousand = 1000;\n t.questiondown = 500;\n t.grave = 333;\n t.acute = 333;\n t.circumflex = 333;\n t.tilde = 333;\n t.macron = 333;\n t.breve = 333;\n t.dotaccent = 333;\n t.dieresis = 333;\n t.ring = 333;\n t.cedilla = 333;\n t.hungarumlaut = 333;\n t.ogonek = 333;\n t.caron = 333;\n t.emdash = 1000;\n t.AE = 1000;\n t.ordfeminine = 300;\n t.Lslash = 667;\n t.Oslash = 778;\n t.OE = 1000;\n t.ordmasculine = 330;\n t.ae = 722;\n t.dotlessi = 278;\n t.lslash = 278;\n t.oslash = 500;\n t.oe = 722;\n t.germandbls = 556;\n t.Idieresis = 389;\n t.eacute = 444;\n t.abreve = 500;\n t.uhungarumlaut = 556;\n t.ecaron = 444;\n t.Ydieresis = 722;\n t.divide = 570;\n t.Yacute = 722;\n t.Acircumflex = 722;\n t.aacute = 500;\n t.Ucircumflex = 722;\n t.yacute = 500;\n t.scommaaccent = 389;\n t.ecircumflex = 444;\n t.Uring = 722;\n t.Udieresis = 722;\n t.aogonek = 500;\n t.Uacute = 722;\n t.uogonek = 556;\n t.Edieresis = 667;\n t.Dcroat = 722;\n t.commaaccent = 250;\n t.copyright = 747;\n t.Emacron = 667;\n t.ccaron = 444;\n t.aring = 500;\n t.Ncommaaccent = 722;\n t.lacute = 278;\n t.agrave = 500;\n t.Tcommaaccent = 667;\n t.Cacute = 722;\n t.atilde = 500;\n t.Edotaccent = 667;\n t.scaron = 389;\n t.scedilla = 389;\n t.iacute = 278;\n t.lozenge = 494;\n t.Rcaron = 722;\n t.Gcommaaccent = 778;\n t.ucircumflex = 556;\n t.acircumflex = 500;\n t.Amacron = 722;\n t.rcaron = 444;\n t.ccedilla = 444;\n t.Zdotaccent = 667;\n t.Thorn = 611;\n t.Omacron = 778;\n t.Racute = 722;\n t.Sacute = 556;\n t.dcaron = 672;\n t.Umacron = 722;\n t.uring = 556;\n t.threesuperior = 300;\n t.Ograve = 778;\n t.Agrave = 722;\n t.Abreve = 722;\n t.multiply = 570;\n t.uacute = 556;\n t.Tcaron = 667;\n t.partialdiff = 494;\n t.ydieresis = 500;\n t.Nacute = 722;\n t.icircumflex = 278;\n t.Ecircumflex = 667;\n t.adieresis = 500;\n t.edieresis = 444;\n t.cacute = 444;\n t.nacute = 556;\n t.umacron = 556;\n t.Ncaron = 722;\n t.Iacute = 389;\n t.plusminus = 570;\n t.brokenbar = 220;\n t.registered = 747;\n t.Gbreve = 778;\n t.Idotaccent = 389;\n t.summation = 600;\n t.Egrave = 667;\n t.racute = 444;\n t.omacron = 500;\n t.Zacute = 667;\n t.Zcaron = 667;\n t.greaterequal = 549;\n t.Eth = 722;\n t.Ccedilla = 722;\n t.lcommaaccent = 278;\n t.tcaron = 416;\n t.eogonek = 444;\n t.Uogonek = 722;\n t.Aacute = 722;\n t.Adieresis = 722;\n t.egrave = 444;\n t.zacute = 444;\n t.iogonek = 278;\n t.Oacute = 778;\n t.oacute = 500;\n t.amacron = 500;\n t.sacute = 389;\n t.idieresis = 278;\n t.Ocircumflex = 778;\n t.Ugrave = 722;\n t.Delta = 612;\n t.thorn = 556;\n t.twosuperior = 300;\n t.Odieresis = 778;\n t.mu = 556;\n t.igrave = 278;\n t.ohungarumlaut = 500;\n t.Eogonek = 667;\n t.dcroat = 556;\n t.threequarters = 750;\n t.Scedilla = 556;\n t.lcaron = 394;\n t.Kcommaaccent = 778;\n t.Lacute = 667;\n t.trademark = 1000;\n t.edotaccent = 444;\n t.Igrave = 389;\n t.Imacron = 389;\n t.Lcaron = 667;\n t.onehalf = 750;\n t.lessequal = 549;\n t.ocircumflex = 500;\n t.ntilde = 556;\n t.Uhungarumlaut = 722;\n t.Eacute = 667;\n t.emacron = 444;\n t.gbreve = 500;\n t.onequarter = 750;\n t.Scaron = 556;\n t.Scommaaccent = 556;\n t.Ohungarumlaut = 778;\n t.degree = 400;\n t.ograve = 500;\n t.Ccaron = 722;\n t.ugrave = 556;\n t.radical = 549;\n t.Dcaron = 722;\n t.rcommaaccent = 444;\n t.Ntilde = 722;\n t.otilde = 500;\n t.Rcommaaccent = 722;\n t.Lcommaaccent = 667;\n t.Atilde = 722;\n t.Aogonek = 722;\n t.Aring = 722;\n t.Otilde = 778;\n t.zdotaccent = 444;\n t.Ecaron = 667;\n t.Iogonek = 389;\n t.kcommaaccent = 556;\n t.minus = 570;\n t.Icircumflex = 389;\n t.ncaron = 556;\n t.tcommaaccent = 333;\n t.logicalnot = 570;\n t.odieresis = 500;\n t.udieresis = 556;\n t.notequal = 549;\n t.gcommaaccent = 500;\n t.eth = 500;\n t.zcaron = 444;\n t.ncommaaccent = 556;\n t.onesuperior = 300;\n t.imacron = 278;\n t.Euro = 500;\n });\n t[\"Times-BoldItalic\"] = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.space = 250;\n t.exclam = 389;\n t.quotedbl = 555;\n t.numbersign = 500;\n t.dollar = 500;\n t.percent = 833;\n t.ampersand = 778;\n t.quoteright = 333;\n t.parenleft = 333;\n t.parenright = 333;\n t.asterisk = 500;\n t.plus = 570;\n t.comma = 250;\n t.hyphen = 333;\n t.period = 250;\n t.slash = 278;\n t.zero = 500;\n t.one = 500;\n t.two = 500;\n t.three = 500;\n t.four = 500;\n t.five = 500;\n t.six = 500;\n t.seven = 500;\n t.eight = 500;\n t.nine = 500;\n t.colon = 333;\n t.semicolon = 333;\n t.less = 570;\n t.equal = 570;\n t.greater = 570;\n t.question = 500;\n t.at = 832;\n t.A = 667;\n t.B = 667;\n t.C = 667;\n t.D = 722;\n t.E = 667;\n t.F = 667;\n t.G = 722;\n t.H = 778;\n t.I = 389;\n t.J = 500;\n t.K = 667;\n t.L = 611;\n t.M = 889;\n t.N = 722;\n t.O = 722;\n t.P = 611;\n t.Q = 722;\n t.R = 667;\n t.S = 556;\n t.T = 611;\n t.U = 722;\n t.V = 667;\n t.W = 889;\n t.X = 667;\n t.Y = 611;\n t.Z = 611;\n t.bracketleft = 333;\n t.backslash = 278;\n t.bracketright = 333;\n t.asciicircum = 570;\n t.underscore = 500;\n t.quoteleft = 333;\n t.a = 500;\n t.b = 500;\n t.c = 444;\n t.d = 500;\n t.e = 444;\n t.f = 333;\n t.g = 500;\n t.h = 556;\n t.i = 278;\n t.j = 278;\n t.k = 500;\n t.l = 278;\n t.m = 778;\n t.n = 556;\n t.o = 500;\n t.p = 500;\n t.q = 500;\n t.r = 389;\n t.s = 389;\n t.t = 278;\n t.u = 556;\n t.v = 444;\n t.w = 667;\n t.x = 500;\n t.y = 444;\n t.z = 389;\n t.braceleft = 348;\n t.bar = 220;\n t.braceright = 348;\n t.asciitilde = 570;\n t.exclamdown = 389;\n t.cent = 500;\n t.sterling = 500;\n t.fraction = 167;\n t.yen = 500;\n t.florin = 500;\n t.section = 500;\n t.currency = 500;\n t.quotesingle = 278;\n t.quotedblleft = 500;\n t.guillemotleft = 500;\n t.guilsinglleft = 333;\n t.guilsinglright = 333;\n t.fi = 556;\n t.fl = 556;\n t.endash = 500;\n t.dagger = 500;\n t.daggerdbl = 500;\n t.periodcentered = 250;\n t.paragraph = 500;\n t.bullet = 350;\n t.quotesinglbase = 333;\n t.quotedblbase = 500;\n t.quotedblright = 500;\n t.guillemotright = 500;\n t.ellipsis = 1000;\n t.perthousand = 1000;\n t.questiondown = 500;\n t.grave = 333;\n t.acute = 333;\n t.circumflex = 333;\n t.tilde = 333;\n t.macron = 333;\n t.breve = 333;\n t.dotaccent = 333;\n t.dieresis = 333;\n t.ring = 333;\n t.cedilla = 333;\n t.hungarumlaut = 333;\n t.ogonek = 333;\n t.caron = 333;\n t.emdash = 1000;\n t.AE = 944;\n t.ordfeminine = 266;\n t.Lslash = 611;\n t.Oslash = 722;\n t.OE = 944;\n t.ordmasculine = 300;\n t.ae = 722;\n t.dotlessi = 278;\n t.lslash = 278;\n t.oslash = 500;\n t.oe = 722;\n t.germandbls = 500;\n t.Idieresis = 389;\n t.eacute = 444;\n t.abreve = 500;\n t.uhungarumlaut = 556;\n t.ecaron = 444;\n t.Ydieresis = 611;\n t.divide = 570;\n t.Yacute = 611;\n t.Acircumflex = 667;\n t.aacute = 500;\n t.Ucircumflex = 722;\n t.yacute = 444;\n t.scommaaccent = 389;\n t.ecircumflex = 444;\n t.Uring = 722;\n t.Udieresis = 722;\n t.aogonek = 500;\n t.Uacute = 722;\n t.uogonek = 556;\n t.Edieresis = 667;\n t.Dcroat = 722;\n t.commaaccent = 250;\n t.copyright = 747;\n t.Emacron = 667;\n t.ccaron = 444;\n t.aring = 500;\n t.Ncommaaccent = 722;\n t.lacute = 278;\n t.agrave = 500;\n t.Tcommaaccent = 611;\n t.Cacute = 667;\n t.atilde = 500;\n t.Edotaccent = 667;\n t.scaron = 389;\n t.scedilla = 389;\n t.iacute = 278;\n t.lozenge = 494;\n t.Rcaron = 667;\n t.Gcommaaccent = 722;\n t.ucircumflex = 556;\n t.acircumflex = 500;\n t.Amacron = 667;\n t.rcaron = 389;\n t.ccedilla = 444;\n t.Zdotaccent = 611;\n t.Thorn = 611;\n t.Omacron = 722;\n t.Racute = 667;\n t.Sacute = 556;\n t.dcaron = 608;\n t.Umacron = 722;\n t.uring = 556;\n t.threesuperior = 300;\n t.Ograve = 722;\n t.Agrave = 667;\n t.Abreve = 667;\n t.multiply = 570;\n t.uacute = 556;\n t.Tcaron = 611;\n t.partialdiff = 494;\n t.ydieresis = 444;\n t.Nacute = 722;\n t.icircumflex = 278;\n t.Ecircumflex = 667;\n t.adieresis = 500;\n t.edieresis = 444;\n t.cacute = 444;\n t.nacute = 556;\n t.umacron = 556;\n t.Ncaron = 722;\n t.Iacute = 389;\n t.plusminus = 570;\n t.brokenbar = 220;\n t.registered = 747;\n t.Gbreve = 722;\n t.Idotaccent = 389;\n t.summation = 600;\n t.Egrave = 667;\n t.racute = 389;\n t.omacron = 500;\n t.Zacute = 611;\n t.Zcaron = 611;\n t.greaterequal = 549;\n t.Eth = 722;\n t.Ccedilla = 667;\n t.lcommaaccent = 278;\n t.tcaron = 366;\n t.eogonek = 444;\n t.Uogonek = 722;\n t.Aacute = 667;\n t.Adieresis = 667;\n t.egrave = 444;\n t.zacute = 389;\n t.iogonek = 278;\n t.Oacute = 722;\n t.oacute = 500;\n t.amacron = 500;\n t.sacute = 389;\n t.idieresis = 278;\n t.Ocircumflex = 722;\n t.Ugrave = 722;\n t.Delta = 612;\n t.thorn = 500;\n t.twosuperior = 300;\n t.Odieresis = 722;\n t.mu = 576;\n t.igrave = 278;\n t.ohungarumlaut = 500;\n t.Eogonek = 667;\n t.dcroat = 500;\n t.threequarters = 750;\n t.Scedilla = 556;\n t.lcaron = 382;\n t.Kcommaaccent = 667;\n t.Lacute = 611;\n t.trademark = 1000;\n t.edotaccent = 444;\n t.Igrave = 389;\n t.Imacron = 389;\n t.Lcaron = 611;\n t.onehalf = 750;\n t.lessequal = 549;\n t.ocircumflex = 500;\n t.ntilde = 556;\n t.Uhungarumlaut = 722;\n t.Eacute = 667;\n t.emacron = 444;\n t.gbreve = 500;\n t.onequarter = 750;\n t.Scaron = 556;\n t.Scommaaccent = 556;\n t.Ohungarumlaut = 722;\n t.degree = 400;\n t.ograve = 500;\n t.Ccaron = 667;\n t.ugrave = 556;\n t.radical = 549;\n t.Dcaron = 722;\n t.rcommaaccent = 389;\n t.Ntilde = 722;\n t.otilde = 500;\n t.Rcommaaccent = 667;\n t.Lcommaaccent = 611;\n t.Atilde = 667;\n t.Aogonek = 667;\n t.Aring = 667;\n t.Otilde = 722;\n t.zdotaccent = 389;\n t.Ecaron = 667;\n t.Iogonek = 389;\n t.kcommaaccent = 500;\n t.minus = 606;\n t.Icircumflex = 389;\n t.ncaron = 556;\n t.tcommaaccent = 278;\n t.logicalnot = 606;\n t.odieresis = 500;\n t.udieresis = 556;\n t.notequal = 549;\n t.gcommaaccent = 500;\n t.eth = 500;\n t.zcaron = 389;\n t.ncommaaccent = 556;\n t.onesuperior = 300;\n t.imacron = 278;\n t.Euro = 500;\n });\n t[\"Times-Italic\"] = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.space = 250;\n t.exclam = 333;\n t.quotedbl = 420;\n t.numbersign = 500;\n t.dollar = 500;\n t.percent = 833;\n t.ampersand = 778;\n t.quoteright = 333;\n t.parenleft = 333;\n t.parenright = 333;\n t.asterisk = 500;\n t.plus = 675;\n t.comma = 250;\n t.hyphen = 333;\n t.period = 250;\n t.slash = 278;\n t.zero = 500;\n t.one = 500;\n t.two = 500;\n t.three = 500;\n t.four = 500;\n t.five = 500;\n t.six = 500;\n t.seven = 500;\n t.eight = 500;\n t.nine = 500;\n t.colon = 333;\n t.semicolon = 333;\n t.less = 675;\n t.equal = 675;\n t.greater = 675;\n t.question = 500;\n t.at = 920;\n t.A = 611;\n t.B = 611;\n t.C = 667;\n t.D = 722;\n t.E = 611;\n t.F = 611;\n t.G = 722;\n t.H = 722;\n t.I = 333;\n t.J = 444;\n t.K = 667;\n t.L = 556;\n t.M = 833;\n t.N = 667;\n t.O = 722;\n t.P = 611;\n t.Q = 722;\n t.R = 611;\n t.S = 500;\n t.T = 556;\n t.U = 722;\n t.V = 611;\n t.W = 833;\n t.X = 611;\n t.Y = 556;\n t.Z = 556;\n t.bracketleft = 389;\n t.backslash = 278;\n t.bracketright = 389;\n t.asciicircum = 422;\n t.underscore = 500;\n t.quoteleft = 333;\n t.a = 500;\n t.b = 500;\n t.c = 444;\n t.d = 500;\n t.e = 444;\n t.f = 278;\n t.g = 500;\n t.h = 500;\n t.i = 278;\n t.j = 278;\n t.k = 444;\n t.l = 278;\n t.m = 722;\n t.n = 500;\n t.o = 500;\n t.p = 500;\n t.q = 500;\n t.r = 389;\n t.s = 389;\n t.t = 278;\n t.u = 500;\n t.v = 444;\n t.w = 667;\n t.x = 444;\n t.y = 444;\n t.z = 389;\n t.braceleft = 400;\n t.bar = 275;\n t.braceright = 400;\n t.asciitilde = 541;\n t.exclamdown = 389;\n t.cent = 500;\n t.sterling = 500;\n t.fraction = 167;\n t.yen = 500;\n t.florin = 500;\n t.section = 500;\n t.currency = 500;\n t.quotesingle = 214;\n t.quotedblleft = 556;\n t.guillemotleft = 500;\n t.guilsinglleft = 333;\n t.guilsinglright = 333;\n t.fi = 500;\n t.fl = 500;\n t.endash = 500;\n t.dagger = 500;\n t.daggerdbl = 500;\n t.periodcentered = 250;\n t.paragraph = 523;\n t.bullet = 350;\n t.quotesinglbase = 333;\n t.quotedblbase = 556;\n t.quotedblright = 556;\n t.guillemotright = 500;\n t.ellipsis = 889;\n t.perthousand = 1000;\n t.questiondown = 500;\n t.grave = 333;\n t.acute = 333;\n t.circumflex = 333;\n t.tilde = 333;\n t.macron = 333;\n t.breve = 333;\n t.dotaccent = 333;\n t.dieresis = 333;\n t.ring = 333;\n t.cedilla = 333;\n t.hungarumlaut = 333;\n t.ogonek = 333;\n t.caron = 333;\n t.emdash = 889;\n t.AE = 889;\n t.ordfeminine = 276;\n t.Lslash = 556;\n t.Oslash = 722;\n t.OE = 944;\n t.ordmasculine = 310;\n t.ae = 667;\n t.dotlessi = 278;\n t.lslash = 278;\n t.oslash = 500;\n t.oe = 667;\n t.germandbls = 500;\n t.Idieresis = 333;\n t.eacute = 444;\n t.abreve = 500;\n t.uhungarumlaut = 500;\n t.ecaron = 444;\n t.Ydieresis = 556;\n t.divide = 675;\n t.Yacute = 556;\n t.Acircumflex = 611;\n t.aacute = 500;\n t.Ucircumflex = 722;\n t.yacute = 444;\n t.scommaaccent = 389;\n t.ecircumflex = 444;\n t.Uring = 722;\n t.Udieresis = 722;\n t.aogonek = 500;\n t.Uacute = 722;\n t.uogonek = 500;\n t.Edieresis = 611;\n t.Dcroat = 722;\n t.commaaccent = 250;\n t.copyright = 760;\n t.Emacron = 611;\n t.ccaron = 444;\n t.aring = 500;\n t.Ncommaaccent = 667;\n t.lacute = 278;\n t.agrave = 500;\n t.Tcommaaccent = 556;\n t.Cacute = 667;\n t.atilde = 500;\n t.Edotaccent = 611;\n t.scaron = 389;\n t.scedilla = 389;\n t.iacute = 278;\n t.lozenge = 471;\n t.Rcaron = 611;\n t.Gcommaaccent = 722;\n t.ucircumflex = 500;\n t.acircumflex = 500;\n t.Amacron = 611;\n t.rcaron = 389;\n t.ccedilla = 444;\n t.Zdotaccent = 556;\n t.Thorn = 611;\n t.Omacron = 722;\n t.Racute = 611;\n t.Sacute = 500;\n t.dcaron = 544;\n t.Umacron = 722;\n t.uring = 500;\n t.threesuperior = 300;\n t.Ograve = 722;\n t.Agrave = 611;\n t.Abreve = 611;\n t.multiply = 675;\n t.uacute = 500;\n t.Tcaron = 556;\n t.partialdiff = 476;\n t.ydieresis = 444;\n t.Nacute = 667;\n t.icircumflex = 278;\n t.Ecircumflex = 611;\n t.adieresis = 500;\n t.edieresis = 444;\n t.cacute = 444;\n t.nacute = 500;\n t.umacron = 500;\n t.Ncaron = 667;\n t.Iacute = 333;\n t.plusminus = 675;\n t.brokenbar = 275;\n t.registered = 760;\n t.Gbreve = 722;\n t.Idotaccent = 333;\n t.summation = 600;\n t.Egrave = 611;\n t.racute = 389;\n t.omacron = 500;\n t.Zacute = 556;\n t.Zcaron = 556;\n t.greaterequal = 549;\n t.Eth = 722;\n t.Ccedilla = 667;\n t.lcommaaccent = 278;\n t.tcaron = 300;\n t.eogonek = 444;\n t.Uogonek = 722;\n t.Aacute = 611;\n t.Adieresis = 611;\n t.egrave = 444;\n t.zacute = 389;\n t.iogonek = 278;\n t.Oacute = 722;\n t.oacute = 500;\n t.amacron = 500;\n t.sacute = 389;\n t.idieresis = 278;\n t.Ocircumflex = 722;\n t.Ugrave = 722;\n t.Delta = 612;\n t.thorn = 500;\n t.twosuperior = 300;\n t.Odieresis = 722;\n t.mu = 500;\n t.igrave = 278;\n t.ohungarumlaut = 500;\n t.Eogonek = 611;\n t.dcroat = 500;\n t.threequarters = 750;\n t.Scedilla = 500;\n t.lcaron = 300;\n t.Kcommaaccent = 667;\n t.Lacute = 556;\n t.trademark = 980;\n t.edotaccent = 444;\n t.Igrave = 333;\n t.Imacron = 333;\n t.Lcaron = 611;\n t.onehalf = 750;\n t.lessequal = 549;\n t.ocircumflex = 500;\n t.ntilde = 500;\n t.Uhungarumlaut = 722;\n t.Eacute = 611;\n t.emacron = 444;\n t.gbreve = 500;\n t.onequarter = 750;\n t.Scaron = 500;\n t.Scommaaccent = 500;\n t.Ohungarumlaut = 722;\n t.degree = 400;\n t.ograve = 500;\n t.Ccaron = 667;\n t.ugrave = 500;\n t.radical = 453;\n t.Dcaron = 722;\n t.rcommaaccent = 389;\n t.Ntilde = 667;\n t.otilde = 500;\n t.Rcommaaccent = 611;\n t.Lcommaaccent = 556;\n t.Atilde = 611;\n t.Aogonek = 611;\n t.Aring = 611;\n t.Otilde = 722;\n t.zdotaccent = 389;\n t.Ecaron = 611;\n t.Iogonek = 333;\n t.kcommaaccent = 444;\n t.minus = 675;\n t.Icircumflex = 333;\n t.ncaron = 500;\n t.tcommaaccent = 278;\n t.logicalnot = 675;\n t.odieresis = 500;\n t.udieresis = 500;\n t.notequal = 549;\n t.gcommaaccent = 500;\n t.eth = 500;\n t.zcaron = 389;\n t.ncommaaccent = 500;\n t.onesuperior = 300;\n t.imacron = 278;\n t.Euro = 500;\n });\n t.ZapfDingbats = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.space = 278;\n t.a1 = 974;\n t.a2 = 961;\n t.a202 = 974;\n t.a3 = 980;\n t.a4 = 719;\n t.a5 = 789;\n t.a119 = 790;\n t.a118 = 791;\n t.a117 = 690;\n t.a11 = 960;\n t.a12 = 939;\n t.a13 = 549;\n t.a14 = 855;\n t.a15 = 911;\n t.a16 = 933;\n t.a105 = 911;\n t.a17 = 945;\n t.a18 = 974;\n t.a19 = 755;\n t.a20 = 846;\n t.a21 = 762;\n t.a22 = 761;\n t.a23 = 571;\n t.a24 = 677;\n t.a25 = 763;\n t.a26 = 760;\n t.a27 = 759;\n t.a28 = 754;\n t.a6 = 494;\n t.a7 = 552;\n t.a8 = 537;\n t.a9 = 577;\n t.a10 = 692;\n t.a29 = 786;\n t.a30 = 788;\n t.a31 = 788;\n t.a32 = 790;\n t.a33 = 793;\n t.a34 = 794;\n t.a35 = 816;\n t.a36 = 823;\n t.a37 = 789;\n t.a38 = 841;\n t.a39 = 823;\n t.a40 = 833;\n t.a41 = 816;\n t.a42 = 831;\n t.a43 = 923;\n t.a44 = 744;\n t.a45 = 723;\n t.a46 = 749;\n t.a47 = 790;\n t.a48 = 792;\n t.a49 = 695;\n t.a50 = 776;\n t.a51 = 768;\n t.a52 = 792;\n t.a53 = 759;\n t.a54 = 707;\n t.a55 = 708;\n t.a56 = 682;\n t.a57 = 701;\n t.a58 = 826;\n t.a59 = 815;\n t.a60 = 789;\n t.a61 = 789;\n t.a62 = 707;\n t.a63 = 687;\n t.a64 = 696;\n t.a65 = 689;\n t.a66 = 786;\n t.a67 = 787;\n t.a68 = 713;\n t.a69 = 791;\n t.a70 = 785;\n t.a71 = 791;\n t.a72 = 873;\n t.a73 = 761;\n t.a74 = 762;\n t.a203 = 762;\n t.a75 = 759;\n t.a204 = 759;\n t.a76 = 892;\n t.a77 = 892;\n t.a78 = 788;\n t.a79 = 784;\n t.a81 = 438;\n t.a82 = 138;\n t.a83 = 277;\n t.a84 = 415;\n t.a97 = 392;\n t.a98 = 392;\n t.a99 = 668;\n t.a100 = 668;\n t.a89 = 390;\n t.a90 = 390;\n t.a93 = 317;\n t.a94 = 317;\n t.a91 = 276;\n t.a92 = 276;\n t.a205 = 509;\n t.a85 = 509;\n t.a206 = 410;\n t.a86 = 410;\n t.a87 = 234;\n t.a88 = 234;\n t.a95 = 334;\n t.a96 = 334;\n t.a101 = 732;\n t.a102 = 544;\n t.a103 = 544;\n t.a104 = 910;\n t.a106 = 667;\n t.a107 = 760;\n t.a108 = 760;\n t.a112 = 776;\n t.a111 = 595;\n t.a110 = 694;\n t.a109 = 626;\n t.a120 = 788;\n t.a121 = 788;\n t.a122 = 788;\n t.a123 = 788;\n t.a124 = 788;\n t.a125 = 788;\n t.a126 = 788;\n t.a127 = 788;\n t.a128 = 788;\n t.a129 = 788;\n t.a130 = 788;\n t.a131 = 788;\n t.a132 = 788;\n t.a133 = 788;\n t.a134 = 788;\n t.a135 = 788;\n t.a136 = 788;\n t.a137 = 788;\n t.a138 = 788;\n t.a139 = 788;\n t.a140 = 788;\n t.a141 = 788;\n t.a142 = 788;\n t.a143 = 788;\n t.a144 = 788;\n t.a145 = 788;\n t.a146 = 788;\n t.a147 = 788;\n t.a148 = 788;\n t.a149 = 788;\n t.a150 = 788;\n t.a151 = 788;\n t.a152 = 788;\n t.a153 = 788;\n t.a154 = 788;\n t.a155 = 788;\n t.a156 = 788;\n t.a157 = 788;\n t.a158 = 788;\n t.a159 = 788;\n t.a160 = 894;\n t.a161 = 838;\n t.a163 = 1016;\n t.a164 = 458;\n t.a196 = 748;\n t.a165 = 924;\n t.a192 = 748;\n t.a166 = 918;\n t.a167 = 927;\n t.a168 = 928;\n t.a169 = 928;\n t.a170 = 834;\n t.a171 = 873;\n t.a172 = 828;\n t.a173 = 924;\n t.a162 = 924;\n t.a174 = 917;\n t.a175 = 930;\n t.a176 = 931;\n t.a177 = 463;\n t.a178 = 883;\n t.a179 = 836;\n t.a193 = 836;\n t.a180 = 867;\n t.a199 = 867;\n t.a181 = 696;\n t.a200 = 696;\n t.a182 = 874;\n t.a201 = 874;\n t.a183 = 760;\n t.a184 = 946;\n t.a197 = 771;\n t.a185 = 865;\n t.a194 = 771;\n t.a198 = 888;\n t.a186 = 967;\n t.a195 = 888;\n t.a187 = 831;\n t.a188 = 873;\n t.a189 = 927;\n t.a190 = 970;\n t.a191 = 918;\n });\n});\nexports.getMetrics = getMetrics;\n\n/***/ }),\n/* 241 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.MurmurHash3_64 = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar SEED = 0xc3d2e1f0;\nvar MASK_HIGH = 0xffff0000;\nvar MASK_LOW = 0xffff;\n\nvar MurmurHash3_64 = /*#__PURE__*/function () {\n function MurmurHash3_64(seed) {\n _classCallCheck(this, MurmurHash3_64);\n\n this.h1 = seed ? seed & 0xffffffff : SEED;\n this.h2 = seed ? seed & 0xffffffff : SEED;\n }\n\n _createClass(MurmurHash3_64, [{\n key: \"update\",\n value: function update(input) {\n var data, length;\n\n if ((0, _util.isString)(input)) {\n data = new Uint8Array(input.length * 2);\n length = 0;\n\n for (var i = 0, ii = input.length; i < ii; i++) {\n var code = input.charCodeAt(i);\n\n if (code <= 0xff) {\n data[length++] = code;\n } else {\n data[length++] = code >>> 8;\n data[length++] = code & 0xff;\n }\n }\n } else if ((0, _util.isArrayBuffer)(input)) {\n data = input;\n length = data.byteLength;\n } else {\n throw new Error(\"Wrong data format in MurmurHash3_64_update. \" + \"Input must be a string or array.\");\n }\n\n var blockCounts = length >> 2;\n var tailLength = length - blockCounts * 4;\n var dataUint32 = new Uint32Array(data.buffer, 0, blockCounts);\n var k1 = 0,\n k2 = 0;\n var h1 = this.h1,\n h2 = this.h2;\n var C1 = 0xcc9e2d51,\n C2 = 0x1b873593;\n var C1_LOW = C1 & MASK_LOW,\n C2_LOW = C2 & MASK_LOW;\n\n for (var _i = 0; _i < blockCounts; _i++) {\n if (_i & 1) {\n k1 = dataUint32[_i];\n k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW;\n k1 = k1 << 15 | k1 >>> 17;\n k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW;\n h1 ^= k1;\n h1 = h1 << 13 | h1 >>> 19;\n h1 = h1 * 5 + 0xe6546b64;\n } else {\n k2 = dataUint32[_i];\n k2 = k2 * C1 & MASK_HIGH | k2 * C1_LOW & MASK_LOW;\n k2 = k2 << 15 | k2 >>> 17;\n k2 = k2 * C2 & MASK_HIGH | k2 * C2_LOW & MASK_LOW;\n h2 ^= k2;\n h2 = h2 << 13 | h2 >>> 19;\n h2 = h2 * 5 + 0xe6546b64;\n }\n }\n\n k1 = 0;\n\n switch (tailLength) {\n case 3:\n k1 ^= data[blockCounts * 4 + 2] << 16;\n\n case 2:\n k1 ^= data[blockCounts * 4 + 1] << 8;\n\n case 1:\n k1 ^= data[blockCounts * 4];\n k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW;\n k1 = k1 << 15 | k1 >>> 17;\n k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW;\n\n if (blockCounts & 1) {\n h1 ^= k1;\n } else {\n h2 ^= k1;\n }\n\n }\n\n this.h1 = h1;\n this.h2 = h2;\n }\n }, {\n key: \"hexdigest\",\n value: function hexdigest() {\n var h1 = this.h1,\n h2 = this.h2;\n h1 ^= h2 >>> 1;\n h1 = h1 * 0xed558ccd & MASK_HIGH | h1 * 0x8ccd & MASK_LOW;\n h2 = h2 * 0xff51afd7 & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xafd7ed55 & MASK_HIGH) >>> 16;\n h1 ^= h2 >>> 1;\n h1 = h1 * 0x1a85ec53 & MASK_HIGH | h1 * 0xec53 & MASK_LOW;\n h2 = h2 * 0xc4ceb9fe & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xb9fe1a85 & MASK_HIGH) >>> 16;\n h1 ^= h2 >>> 1;\n var hex1 = (h1 >>> 0).toString(16),\n hex2 = (h2 >>> 0).toString(16);\n return hex1.padStart(8, \"0\") + hex2.padStart(8, \"0\");\n }\n }]);\n\n return MurmurHash3_64;\n}();\n\nexports.MurmurHash3_64 = MurmurHash3_64;\n\n/***/ }),\n/* 242 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFImage = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(202);\n\nvar _colorspace = __w_pdfjs_require__(220);\n\nvar _stream = __w_pdfjs_require__(209);\n\nvar _jpeg_stream = __w_pdfjs_require__(215);\n\nvar _jpx = __w_pdfjs_require__(218);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction decodeAndClamp(value, addend, coefficient, max) {\n value = addend + value * coefficient;\n\n if (value < 0) {\n value = 0;\n } else if (value > max) {\n value = max;\n }\n\n return value;\n}\n\nfunction resizeImageMask(src, bpc, w1, h1, w2, h2) {\n var length = w2 * h2;\n var dest;\n\n if (bpc <= 8) {\n dest = new Uint8Array(length);\n } else if (bpc <= 16) {\n dest = new Uint16Array(length);\n } else {\n dest = new Uint32Array(length);\n }\n\n var xRatio = w1 / w2;\n var yRatio = h1 / h2;\n var i,\n j,\n py,\n newIndex = 0,\n oldIndex;\n var xScaled = new Uint16Array(w2);\n var w1Scanline = w1;\n\n for (i = 0; i < w2; i++) {\n xScaled[i] = Math.floor(i * xRatio);\n }\n\n for (i = 0; i < h2; i++) {\n py = Math.floor(i * yRatio) * w1Scanline;\n\n for (j = 0; j < w2; j++) {\n oldIndex = py + xScaled[j];\n dest[newIndex++] = src[oldIndex];\n }\n }\n\n return dest;\n}\n\nvar PDFImage = /*#__PURE__*/function () {\n function PDFImage(_ref) {\n var xref = _ref.xref,\n res = _ref.res,\n image = _ref.image,\n _ref$isInline = _ref.isInline,\n isInline = _ref$isInline === void 0 ? false : _ref$isInline,\n _ref$smask = _ref.smask,\n smask = _ref$smask === void 0 ? null : _ref$smask,\n _ref$mask = _ref.mask,\n mask = _ref$mask === void 0 ? null : _ref$mask,\n _ref$isMask = _ref.isMask,\n isMask = _ref$isMask === void 0 ? false : _ref$isMask,\n pdfFunctionFactory = _ref.pdfFunctionFactory,\n localColorSpaceCache = _ref.localColorSpaceCache;\n\n _classCallCheck(this, PDFImage);\n\n this.image = image;\n var dict = image.dict;\n var filter = dict.get(\"Filter\");\n\n if ((0, _primitives.isName)(filter)) {\n switch (filter.name) {\n case \"JPXDecode\":\n var jpxImage = new _jpx.JpxImage();\n jpxImage.parseImageProperties(image.stream);\n image.stream.reset();\n image.width = jpxImage.width;\n image.height = jpxImage.height;\n image.bitsPerComponent = jpxImage.bitsPerComponent;\n image.numComps = jpxImage.componentsCount;\n break;\n\n case \"JBIG2Decode\":\n image.bitsPerComponent = 1;\n image.numComps = 1;\n break;\n }\n }\n\n var width = dict.get(\"Width\", \"W\");\n var height = dict.get(\"Height\", \"H\");\n\n if (Number.isInteger(image.width) && image.width > 0 && Number.isInteger(image.height) && image.height > 0 && (image.width !== width || image.height !== height)) {\n (0, _util.warn)(\"PDFImage - using the Width/Height of the image data, \" + \"rather than the image dictionary.\");\n width = image.width;\n height = image.height;\n }\n\n if (width < 1 || height < 1) {\n throw new _util.FormatError(\"Invalid image width: \".concat(width, \" or height: \").concat(height));\n }\n\n this.width = width;\n this.height = height;\n this.interpolate = dict.get(\"Interpolate\", \"I\") || false;\n this.imageMask = dict.get(\"ImageMask\", \"IM\") || false;\n this.matte = dict.get(\"Matte\") || false;\n var bitsPerComponent = image.bitsPerComponent;\n\n if (!bitsPerComponent) {\n bitsPerComponent = dict.get(\"BitsPerComponent\", \"BPC\");\n\n if (!bitsPerComponent) {\n if (this.imageMask) {\n bitsPerComponent = 1;\n } else {\n throw new _util.FormatError(\"Bits per component missing in image: \".concat(this.imageMask));\n }\n }\n }\n\n this.bpc = bitsPerComponent;\n\n if (!this.imageMask) {\n var colorSpace = dict.getRaw(\"ColorSpace\") || dict.getRaw(\"CS\");\n\n if (!colorSpace) {\n (0, _util.info)(\"JPX images (which do not require color spaces)\");\n\n switch (image.numComps) {\n case 1:\n colorSpace = _primitives.Name.get(\"DeviceGray\");\n break;\n\n case 3:\n colorSpace = _primitives.Name.get(\"DeviceRGB\");\n break;\n\n case 4:\n colorSpace = _primitives.Name.get(\"DeviceCMYK\");\n break;\n\n default:\n throw new Error(\"JPX images with \".concat(image.numComps, \" \") + \"color components not supported.\");\n }\n }\n\n this.colorSpace = _colorspace.ColorSpace.parse({\n cs: colorSpace,\n xref: xref,\n resources: isInline ? res : null,\n pdfFunctionFactory: pdfFunctionFactory,\n localColorSpaceCache: localColorSpaceCache\n });\n this.numComps = this.colorSpace.numComps;\n }\n\n this.decode = dict.getArray(\"Decode\", \"D\");\n this.needsDecode = false;\n\n if (this.decode && (this.colorSpace && !this.colorSpace.isDefaultDecode(this.decode, bitsPerComponent) || isMask && !_colorspace.ColorSpace.isDefaultDecode(this.decode, 1))) {\n this.needsDecode = true;\n var max = (1 << bitsPerComponent) - 1;\n this.decodeCoefficients = [];\n this.decodeAddends = [];\n var isIndexed = this.colorSpace && this.colorSpace.name === \"Indexed\";\n\n for (var i = 0, j = 0; i < this.decode.length; i += 2, ++j) {\n var dmin = this.decode[i];\n var dmax = this.decode[i + 1];\n this.decodeCoefficients[j] = isIndexed ? (dmax - dmin) / max : dmax - dmin;\n this.decodeAddends[j] = isIndexed ? dmin : max * dmin;\n }\n }\n\n if (smask) {\n this.smask = new PDFImage({\n xref: xref,\n res: res,\n image: smask,\n isInline: isInline,\n pdfFunctionFactory: pdfFunctionFactory,\n localColorSpaceCache: localColorSpaceCache\n });\n } else if (mask) {\n if ((0, _primitives.isStream)(mask)) {\n var maskDict = mask.dict,\n imageMask = maskDict.get(\"ImageMask\", \"IM\");\n\n if (!imageMask) {\n (0, _util.warn)(\"Ignoring /Mask in image without /ImageMask.\");\n } else {\n this.mask = new PDFImage({\n xref: xref,\n res: res,\n image: mask,\n isInline: isInline,\n isMask: true,\n pdfFunctionFactory: pdfFunctionFactory,\n localColorSpaceCache: localColorSpaceCache\n });\n }\n } else {\n this.mask = mask;\n }\n }\n }\n\n _createClass(PDFImage, [{\n key: \"decodeBuffer\",\n value: function decodeBuffer(buffer) {\n var bpc = this.bpc;\n var numComps = this.numComps;\n var decodeAddends = this.decodeAddends;\n var decodeCoefficients = this.decodeCoefficients;\n var max = (1 << bpc) - 1;\n var i, ii;\n\n if (bpc === 1) {\n for (i = 0, ii = buffer.length; i < ii; i++) {\n buffer[i] = +!buffer[i];\n }\n\n return;\n }\n\n var index = 0;\n\n for (i = 0, ii = this.width * this.height; i < ii; i++) {\n for (var j = 0; j < numComps; j++) {\n buffer[index] = decodeAndClamp(buffer[index], decodeAddends[j], decodeCoefficients[j], max);\n index++;\n }\n }\n }\n }, {\n key: \"getComponents\",\n value: function getComponents(buffer) {\n var bpc = this.bpc;\n\n if (bpc === 8) {\n return buffer;\n }\n\n var width = this.width;\n var height = this.height;\n var numComps = this.numComps;\n var length = width * height * numComps;\n var bufferPos = 0;\n var output;\n\n if (bpc <= 8) {\n output = new Uint8Array(length);\n } else if (bpc <= 16) {\n output = new Uint16Array(length);\n } else {\n output = new Uint32Array(length);\n }\n\n var rowComps = width * numComps;\n var max = (1 << bpc) - 1;\n var i = 0,\n ii,\n buf;\n\n if (bpc === 1) {\n var mask, loop1End, loop2End;\n\n for (var j = 0; j < height; j++) {\n loop1End = i + (rowComps & ~7);\n loop2End = i + rowComps;\n\n while (i < loop1End) {\n buf = buffer[bufferPos++];\n output[i] = buf >> 7 & 1;\n output[i + 1] = buf >> 6 & 1;\n output[i + 2] = buf >> 5 & 1;\n output[i + 3] = buf >> 4 & 1;\n output[i + 4] = buf >> 3 & 1;\n output[i + 5] = buf >> 2 & 1;\n output[i + 6] = buf >> 1 & 1;\n output[i + 7] = buf & 1;\n i += 8;\n }\n\n if (i < loop2End) {\n buf = buffer[bufferPos++];\n mask = 128;\n\n while (i < loop2End) {\n output[i++] = +!!(buf & mask);\n mask >>= 1;\n }\n }\n }\n } else {\n var bits = 0;\n buf = 0;\n\n for (i = 0, ii = length; i < ii; ++i) {\n if (i % rowComps === 0) {\n buf = 0;\n bits = 0;\n }\n\n while (bits < bpc) {\n buf = buf << 8 | buffer[bufferPos++];\n bits += 8;\n }\n\n var remainingBits = bits - bpc;\n var value = buf >> remainingBits;\n\n if (value < 0) {\n value = 0;\n } else if (value > max) {\n value = max;\n }\n\n output[i] = value;\n buf = buf & (1 << remainingBits) - 1;\n bits = remainingBits;\n }\n }\n\n return output;\n }\n }, {\n key: \"fillOpacity\",\n value: function fillOpacity(rgbaBuf, width, height, actualHeight, image) {\n var smask = this.smask;\n var mask = this.mask;\n var alphaBuf, sw, sh, i, ii, j;\n\n if (smask) {\n sw = smask.width;\n sh = smask.height;\n alphaBuf = new Uint8ClampedArray(sw * sh);\n smask.fillGrayBuffer(alphaBuf);\n\n if (sw !== width || sh !== height) {\n alphaBuf = resizeImageMask(alphaBuf, smask.bpc, sw, sh, width, height);\n }\n } else if (mask) {\n if (mask instanceof PDFImage) {\n sw = mask.width;\n sh = mask.height;\n alphaBuf = new Uint8ClampedArray(sw * sh);\n mask.numComps = 1;\n mask.fillGrayBuffer(alphaBuf);\n\n for (i = 0, ii = sw * sh; i < ii; ++i) {\n alphaBuf[i] = 255 - alphaBuf[i];\n }\n\n if (sw !== width || sh !== height) {\n alphaBuf = resizeImageMask(alphaBuf, mask.bpc, sw, sh, width, height);\n }\n } else if (Array.isArray(mask)) {\n alphaBuf = new Uint8ClampedArray(width * height);\n var numComps = this.numComps;\n\n for (i = 0, ii = width * height; i < ii; ++i) {\n var opacity = 0;\n var imageOffset = i * numComps;\n\n for (j = 0; j < numComps; ++j) {\n var color = image[imageOffset + j];\n var maskOffset = j * 2;\n\n if (color < mask[maskOffset] || color > mask[maskOffset + 1]) {\n opacity = 255;\n break;\n }\n }\n\n alphaBuf[i] = opacity;\n }\n } else {\n throw new _util.FormatError(\"Unknown mask format.\");\n }\n }\n\n if (alphaBuf) {\n for (i = 0, j = 3, ii = width * actualHeight; i < ii; ++i, j += 4) {\n rgbaBuf[j] = alphaBuf[i];\n }\n } else {\n for (i = 0, j = 3, ii = width * actualHeight; i < ii; ++i, j += 4) {\n rgbaBuf[j] = 255;\n }\n }\n }\n }, {\n key: \"undoPreblend\",\n value: function undoPreblend(buffer, width, height) {\n var matte = this.smask && this.smask.matte;\n\n if (!matte) {\n return;\n }\n\n var matteRgb = this.colorSpace.getRgb(matte, 0);\n var matteR = matteRgb[0];\n var matteG = matteRgb[1];\n var matteB = matteRgb[2];\n var length = width * height * 4;\n\n for (var i = 0; i < length; i += 4) {\n var alpha = buffer[i + 3];\n\n if (alpha === 0) {\n buffer[i] = 255;\n buffer[i + 1] = 255;\n buffer[i + 2] = 255;\n continue;\n }\n\n var k = 255 / alpha;\n buffer[i] = (buffer[i] - matteR) * k + matteR;\n buffer[i + 1] = (buffer[i + 1] - matteG) * k + matteG;\n buffer[i + 2] = (buffer[i + 2] - matteB) * k + matteB;\n }\n }\n }, {\n key: \"createImageData\",\n value: function createImageData() {\n var forceRGBA = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var drawWidth = this.drawWidth;\n var drawHeight = this.drawHeight;\n var imgData = {\n width: drawWidth,\n height: drawHeight,\n kind: 0,\n data: null\n };\n var numComps = this.numComps;\n var originalWidth = this.width;\n var originalHeight = this.height;\n var bpc = this.bpc;\n var rowBytes = originalWidth * numComps * bpc + 7 >> 3;\n var imgArray;\n\n if (!forceRGBA) {\n var kind;\n\n if (this.colorSpace.name === \"DeviceGray\" && bpc === 1) {\n kind = _util.ImageKind.GRAYSCALE_1BPP;\n } else if (this.colorSpace.name === \"DeviceRGB\" && bpc === 8 && !this.needsDecode) {\n kind = _util.ImageKind.RGB_24BPP;\n }\n\n if (kind && !this.smask && !this.mask && drawWidth === originalWidth && drawHeight === originalHeight) {\n imgData.kind = kind;\n imgArray = this.getImageBytes(originalHeight * rowBytes);\n\n if (this.image instanceof _stream.DecodeStream) {\n imgData.data = imgArray;\n } else {\n var newArray = new Uint8ClampedArray(imgArray.length);\n newArray.set(imgArray);\n imgData.data = newArray;\n }\n\n if (this.needsDecode) {\n (0, _util.assert)(kind === _util.ImageKind.GRAYSCALE_1BPP, \"PDFImage.createImageData: The image must be grayscale.\");\n var buffer = imgData.data;\n\n for (var i = 0, ii = buffer.length; i < ii; i++) {\n buffer[i] ^= 0xff;\n }\n }\n\n return imgData;\n }\n\n if (this.image instanceof _jpeg_stream.JpegStream && !this.smask && !this.mask) {\n var imageLength = originalHeight * rowBytes;\n\n switch (this.colorSpace.name) {\n case \"DeviceGray\":\n imageLength *= 3;\n\n case \"DeviceRGB\":\n case \"DeviceCMYK\":\n imgData.kind = _util.ImageKind.RGB_24BPP;\n imgData.data = this.getImageBytes(imageLength, drawWidth, drawHeight, true);\n return imgData;\n }\n }\n }\n\n imgArray = this.getImageBytes(originalHeight * rowBytes);\n var actualHeight = 0 | imgArray.length / rowBytes * drawHeight / originalHeight;\n var comps = this.getComponents(imgArray);\n var alpha01, maybeUndoPreblend;\n\n if (!forceRGBA && !this.smask && !this.mask) {\n imgData.kind = _util.ImageKind.RGB_24BPP;\n imgData.data = new Uint8ClampedArray(drawWidth * drawHeight * 3);\n alpha01 = 0;\n maybeUndoPreblend = false;\n } else {\n imgData.kind = _util.ImageKind.RGBA_32BPP;\n imgData.data = new Uint8ClampedArray(drawWidth * drawHeight * 4);\n alpha01 = 1;\n maybeUndoPreblend = true;\n this.fillOpacity(imgData.data, drawWidth, drawHeight, actualHeight, comps);\n }\n\n if (this.needsDecode) {\n this.decodeBuffer(comps);\n }\n\n this.colorSpace.fillRgb(imgData.data, originalWidth, originalHeight, drawWidth, drawHeight, actualHeight, bpc, comps, alpha01);\n\n if (maybeUndoPreblend) {\n this.undoPreblend(imgData.data, drawWidth, actualHeight);\n }\n\n return imgData;\n }\n }, {\n key: \"fillGrayBuffer\",\n value: function fillGrayBuffer(buffer) {\n var numComps = this.numComps;\n\n if (numComps !== 1) {\n throw new _util.FormatError(\"Reading gray scale from a color image: \".concat(numComps));\n }\n\n var width = this.width;\n var height = this.height;\n var bpc = this.bpc;\n var rowBytes = width * numComps * bpc + 7 >> 3;\n var imgArray = this.getImageBytes(height * rowBytes);\n var comps = this.getComponents(imgArray);\n var i, length;\n\n if (bpc === 1) {\n length = width * height;\n\n if (this.needsDecode) {\n for (i = 0; i < length; ++i) {\n buffer[i] = comps[i] - 1 & 255;\n }\n } else {\n for (i = 0; i < length; ++i) {\n buffer[i] = -comps[i] & 255;\n }\n }\n\n return;\n }\n\n if (this.needsDecode) {\n this.decodeBuffer(comps);\n }\n\n length = width * height;\n var scale = 255 / ((1 << bpc) - 1);\n\n for (i = 0; i < length; ++i) {\n buffer[i] = scale * comps[i];\n }\n }\n }, {\n key: \"getImageBytes\",\n value: function getImageBytes(length, drawWidth, drawHeight) {\n var forceRGB = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n this.image.reset();\n this.image.drawWidth = drawWidth || this.width;\n this.image.drawHeight = drawHeight || this.height;\n this.image.forceRGB = !!forceRGB;\n return this.image.getBytes(length, true);\n }\n }, {\n key: \"drawWidth\",\n get: function get() {\n return Math.max(this.width, this.smask && this.smask.width || 0, this.mask && this.mask.width || 0);\n }\n }, {\n key: \"drawHeight\",\n get: function get() {\n return Math.max(this.height, this.smask && this.smask.height || 0, this.mask && this.mask.height || 0);\n }\n }], [{\n key: \"buildImage\",\n value: function () {\n var _buildImage = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(_ref2) {\n var xref, res, image, _ref2$isInline, isInline, pdfFunctionFactory, localColorSpaceCache, imageData, smaskData, maskData, smask, mask;\n\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n xref = _ref2.xref, res = _ref2.res, image = _ref2.image, _ref2$isInline = _ref2.isInline, isInline = _ref2$isInline === void 0 ? false : _ref2$isInline, pdfFunctionFactory = _ref2.pdfFunctionFactory, localColorSpaceCache = _ref2.localColorSpaceCache;\n imageData = image;\n smaskData = null;\n maskData = null;\n smask = image.dict.get(\"SMask\");\n mask = image.dict.get(\"Mask\");\n\n if (smask) {\n smaskData = smask;\n } else if (mask) {\n if ((0, _primitives.isStream)(mask) || Array.isArray(mask)) {\n maskData = mask;\n } else {\n (0, _util.warn)(\"Unsupported mask format.\");\n }\n }\n\n return _context.abrupt(\"return\", new PDFImage({\n xref: xref,\n res: res,\n image: imageData,\n isInline: isInline,\n smask: smaskData,\n mask: maskData,\n pdfFunctionFactory: pdfFunctionFactory,\n localColorSpaceCache: localColorSpaceCache\n }));\n\n case 8:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n function buildImage(_x) {\n return _buildImage.apply(this, arguments);\n }\n\n return buildImage;\n }()\n }, {\n key: \"createMask\",\n value: function createMask(_ref3) {\n var imgArray = _ref3.imgArray,\n width = _ref3.width,\n height = _ref3.height,\n imageIsFromDecodeStream = _ref3.imageIsFromDecodeStream,\n inverseDecode = _ref3.inverseDecode;\n var computedLength = (width + 7 >> 3) * height;\n var actualLength = imgArray.byteLength;\n var haveFullData = computedLength === actualLength;\n var data, i;\n\n if (imageIsFromDecodeStream && (!inverseDecode || haveFullData)) {\n data = imgArray;\n } else if (!inverseDecode) {\n data = new Uint8ClampedArray(actualLength);\n data.set(imgArray);\n } else {\n data = new Uint8ClampedArray(computedLength);\n data.set(imgArray);\n\n for (i = actualLength; i < computedLength; i++) {\n data[i] = 0xff;\n }\n }\n\n if (inverseDecode) {\n for (i = 0; i < actualLength; i++) {\n data[i] ^= 0xff;\n }\n }\n\n return {\n data: data,\n width: width,\n height: height\n };\n }\n }]);\n\n return PDFImage;\n}();\n\nexports.PDFImage = PDFImage;\n\n/***/ }),\n/* 243 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.MessageHandler = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar CallbackKind = {\n UNKNOWN: 0,\n DATA: 1,\n ERROR: 2\n};\nvar StreamKind = {\n UNKNOWN: 0,\n CANCEL: 1,\n CANCEL_COMPLETE: 2,\n CLOSE: 3,\n ENQUEUE: 4,\n ERROR: 5,\n PULL: 6,\n PULL_COMPLETE: 7,\n START_COMPLETE: 8\n};\n\nfunction wrapReason(reason) {\n if (_typeof(reason) !== \"object\" || reason === null) {\n return reason;\n }\n\n switch (reason.name) {\n case \"AbortException\":\n return new _util.AbortException(reason.message);\n\n case \"MissingPDFException\":\n return new _util.MissingPDFException(reason.message);\n\n case \"UnexpectedResponseException\":\n return new _util.UnexpectedResponseException(reason.message, reason.status);\n\n case \"UnknownErrorException\":\n return new _util.UnknownErrorException(reason.message, reason.details);\n\n default:\n return new _util.UnknownErrorException(reason.message, reason.toString());\n }\n}\n\nvar MessageHandler = /*#__PURE__*/function () {\n function MessageHandler(sourceName, targetName, comObj) {\n var _this = this;\n\n _classCallCheck(this, MessageHandler);\n\n this.sourceName = sourceName;\n this.targetName = targetName;\n this.comObj = comObj;\n this.callbackId = 1;\n this.streamId = 1;\n this.postMessageTransfers = true;\n this.streamSinks = Object.create(null);\n this.streamControllers = Object.create(null);\n this.callbackCapabilities = Object.create(null);\n this.actionHandler = Object.create(null);\n\n this._onComObjOnMessage = function (event) {\n var data = event.data;\n\n if (data.targetName !== _this.sourceName) {\n return;\n }\n\n if (data.stream) {\n _this._processStreamMessage(data);\n\n return;\n }\n\n if (data.callback) {\n var callbackId = data.callbackId;\n var capability = _this.callbackCapabilities[callbackId];\n\n if (!capability) {\n throw new Error(\"Cannot resolve callback \".concat(callbackId));\n }\n\n delete _this.callbackCapabilities[callbackId];\n\n if (data.callback === CallbackKind.DATA) {\n capability.resolve(data.data);\n } else if (data.callback === CallbackKind.ERROR) {\n capability.reject(wrapReason(data.reason));\n } else {\n throw new Error(\"Unexpected callback case\");\n }\n\n return;\n }\n\n var action = _this.actionHandler[data.action];\n\n if (!action) {\n throw new Error(\"Unknown action from worker: \".concat(data.action));\n }\n\n if (data.callbackId) {\n var cbSourceName = _this.sourceName;\n var cbTargetName = data.sourceName;\n new Promise(function (resolve) {\n resolve(action(data.data));\n }).then(function (result) {\n comObj.postMessage({\n sourceName: cbSourceName,\n targetName: cbTargetName,\n callback: CallbackKind.DATA,\n callbackId: data.callbackId,\n data: result\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: cbSourceName,\n targetName: cbTargetName,\n callback: CallbackKind.ERROR,\n callbackId: data.callbackId,\n reason: wrapReason(reason)\n });\n });\n return;\n }\n\n if (data.streamId) {\n _this._createStreamSink(data);\n\n return;\n }\n\n action(data.data);\n };\n\n comObj.addEventListener(\"message\", this._onComObjOnMessage);\n }\n\n _createClass(MessageHandler, [{\n key: \"on\",\n value: function on(actionName, handler) {\n var ah = this.actionHandler;\n\n if (ah[actionName]) {\n throw new Error(\"There is already an actionName called \\\"\".concat(actionName, \"\\\"\"));\n }\n\n ah[actionName] = handler;\n }\n }, {\n key: \"send\",\n value: function send(actionName, data, transfers) {\n this._postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n data: data\n }, transfers);\n }\n }, {\n key: \"sendWithPromise\",\n value: function sendWithPromise(actionName, data, transfers) {\n var callbackId = this.callbackId++;\n var capability = (0, _util.createPromiseCapability)();\n this.callbackCapabilities[callbackId] = capability;\n\n try {\n this._postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n callbackId: callbackId,\n data: data\n }, transfers);\n } catch (ex) {\n capability.reject(ex);\n }\n\n return capability.promise;\n }\n }, {\n key: \"sendWithStream\",\n value: function sendWithStream(actionName, data, queueingStrategy, transfers) {\n var _this2 = this;\n\n var streamId = this.streamId++;\n var sourceName = this.sourceName;\n var targetName = this.targetName;\n var comObj = this.comObj;\n return new ReadableStream({\n start: function start(controller) {\n var startCapability = (0, _util.createPromiseCapability)();\n _this2.streamControllers[streamId] = {\n controller: controller,\n startCall: startCapability,\n pullCall: null,\n cancelCall: null,\n isClosed: false\n };\n\n _this2._postMessage({\n sourceName: sourceName,\n targetName: targetName,\n action: actionName,\n streamId: streamId,\n data: data,\n desiredSize: controller.desiredSize\n }, transfers);\n\n return startCapability.promise;\n },\n pull: function pull(controller) {\n var pullCapability = (0, _util.createPromiseCapability)();\n _this2.streamControllers[streamId].pullCall = pullCapability;\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.PULL,\n streamId: streamId,\n desiredSize: controller.desiredSize\n });\n return pullCapability.promise;\n },\n cancel: function cancel(reason) {\n (0, _util.assert)(reason instanceof Error, \"cancel must have a valid reason\");\n var cancelCapability = (0, _util.createPromiseCapability)();\n _this2.streamControllers[streamId].cancelCall = cancelCapability;\n _this2.streamControllers[streamId].isClosed = true;\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.CANCEL,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n return cancelCapability.promise;\n }\n }, queueingStrategy);\n }\n }, {\n key: \"_createStreamSink\",\n value: function _createStreamSink(data) {\n var self = this;\n var action = this.actionHandler[data.action];\n var streamId = data.streamId;\n var sourceName = this.sourceName;\n var targetName = data.sourceName;\n var comObj = this.comObj;\n var streamSink = {\n enqueue: function enqueue(chunk) {\n var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var transfers = arguments.length > 2 ? arguments[2] : undefined;\n\n if (this.isCancelled) {\n return;\n }\n\n var lastDesiredSize = this.desiredSize;\n this.desiredSize -= size;\n\n if (lastDesiredSize > 0 && this.desiredSize <= 0) {\n this.sinkCapability = (0, _util.createPromiseCapability)();\n this.ready = this.sinkCapability.promise;\n }\n\n self._postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.ENQUEUE,\n streamId: streamId,\n chunk: chunk\n }, transfers);\n },\n close: function close() {\n if (this.isCancelled) {\n return;\n }\n\n this.isCancelled = true;\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.CLOSE,\n streamId: streamId\n });\n delete self.streamSinks[streamId];\n },\n error: function error(reason) {\n (0, _util.assert)(reason instanceof Error, \"error must have a valid reason\");\n\n if (this.isCancelled) {\n return;\n }\n\n this.isCancelled = true;\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.ERROR,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n },\n sinkCapability: (0, _util.createPromiseCapability)(),\n onPull: null,\n onCancel: null,\n isCancelled: false,\n desiredSize: data.desiredSize,\n ready: null\n };\n streamSink.sinkCapability.resolve();\n streamSink.ready = streamSink.sinkCapability.promise;\n this.streamSinks[streamId] = streamSink;\n new Promise(function (resolve) {\n resolve(action(data.data, streamSink));\n }).then(function () {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.START_COMPLETE,\n streamId: streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.START_COMPLETE,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n });\n }\n }, {\n key: \"_processStreamMessage\",\n value: function _processStreamMessage(data) {\n var streamId = data.streamId;\n var sourceName = this.sourceName;\n var targetName = data.sourceName;\n var comObj = this.comObj;\n\n switch (data.stream) {\n case StreamKind.START_COMPLETE:\n if (data.success) {\n this.streamControllers[streamId].startCall.resolve();\n } else {\n this.streamControllers[streamId].startCall.reject(wrapReason(data.reason));\n }\n\n break;\n\n case StreamKind.PULL_COMPLETE:\n if (data.success) {\n this.streamControllers[streamId].pullCall.resolve();\n } else {\n this.streamControllers[streamId].pullCall.reject(wrapReason(data.reason));\n }\n\n break;\n\n case StreamKind.PULL:\n if (!this.streamSinks[streamId]) {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId: streamId,\n success: true\n });\n break;\n }\n\n if (this.streamSinks[streamId].desiredSize <= 0 && data.desiredSize > 0) {\n this.streamSinks[streamId].sinkCapability.resolve();\n }\n\n this.streamSinks[streamId].desiredSize = data.desiredSize;\n var onPull = this.streamSinks[data.streamId].onPull;\n new Promise(function (resolve) {\n resolve(onPull && onPull());\n }).then(function () {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId: streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n });\n break;\n\n case StreamKind.ENQUEUE:\n (0, _util.assert)(this.streamControllers[streamId], \"enqueue should have stream controller\");\n\n if (this.streamControllers[streamId].isClosed) {\n break;\n }\n\n this.streamControllers[streamId].controller.enqueue(data.chunk);\n break;\n\n case StreamKind.CLOSE:\n (0, _util.assert)(this.streamControllers[streamId], \"close should have stream controller\");\n\n if (this.streamControllers[streamId].isClosed) {\n break;\n }\n\n this.streamControllers[streamId].isClosed = true;\n this.streamControllers[streamId].controller.close();\n\n this._deleteStreamController(streamId);\n\n break;\n\n case StreamKind.ERROR:\n (0, _util.assert)(this.streamControllers[streamId], \"error should have stream controller\");\n this.streamControllers[streamId].controller.error(wrapReason(data.reason));\n\n this._deleteStreamController(streamId);\n\n break;\n\n case StreamKind.CANCEL_COMPLETE:\n if (data.success) {\n this.streamControllers[streamId].cancelCall.resolve();\n } else {\n this.streamControllers[streamId].cancelCall.reject(wrapReason(data.reason));\n }\n\n this._deleteStreamController(streamId);\n\n break;\n\n case StreamKind.CANCEL:\n if (!this.streamSinks[streamId]) {\n break;\n }\n\n var onCancel = this.streamSinks[data.streamId].onCancel;\n new Promise(function (resolve) {\n resolve(onCancel && onCancel(wrapReason(data.reason)));\n }).then(function () {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId: streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n });\n this.streamSinks[streamId].sinkCapability.reject(wrapReason(data.reason));\n this.streamSinks[streamId].isCancelled = true;\n delete this.streamSinks[streamId];\n break;\n\n default:\n throw new Error(\"Unexpected stream case\");\n }\n }\n }, {\n key: \"_deleteStreamController\",\n value: function () {\n var _deleteStreamController2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(streamId) {\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return Promise.allSettled([this.streamControllers[streamId].startCall, this.streamControllers[streamId].pullCall, this.streamControllers[streamId].cancelCall].map(function (capability) {\n return capability && capability.promise;\n }));\n\n case 2:\n delete this.streamControllers[streamId];\n\n case 3:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function _deleteStreamController(_x) {\n return _deleteStreamController2.apply(this, arguments);\n }\n\n return _deleteStreamController;\n }()\n }, {\n key: \"_postMessage\",\n value: function _postMessage(message, transfers) {\n if (transfers && this.postMessageTransfers) {\n this.comObj.postMessage(message, transfers);\n } else {\n this.comObj.postMessage(message);\n }\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.comObj.removeEventListener(\"message\", this._onComObjOnMessage);\n }\n }]);\n\n return MessageHandler;\n}();\n\nexports.MessageHandler = MessageHandler;\n\n/***/ }),\n/* 244 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFWorkerStream = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar PDFWorkerStream = /*#__PURE__*/function () {\n function PDFWorkerStream(msgHandler) {\n _classCallCheck(this, PDFWorkerStream);\n\n this._msgHandler = msgHandler;\n this._contentLength = null;\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n _createClass(PDFWorkerStream, [{\n key: \"getFullReader\",\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFWorkerStream.getFullReader can only be called once.\");\n this._fullRequestReader = new PDFWorkerStreamReader(this._msgHandler);\n return this._fullRequestReader;\n }\n }, {\n key: \"getRangeReader\",\n value: function getRangeReader(begin, end) {\n var reader = new PDFWorkerStreamRangeReader(begin, end, this._msgHandler);\n\n this._rangeRequestReaders.push(reader);\n\n return reader;\n }\n }, {\n key: \"cancelAllRequests\",\n value: function cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n var readers = this._rangeRequestReaders.slice(0);\n\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n }]);\n\n return PDFWorkerStream;\n}();\n\nexports.PDFWorkerStream = PDFWorkerStream;\n\nvar PDFWorkerStreamReader = /*#__PURE__*/function () {\n function PDFWorkerStreamReader(msgHandler) {\n var _this = this;\n\n _classCallCheck(this, PDFWorkerStreamReader);\n\n this._msgHandler = msgHandler;\n this.onProgress = null;\n this._contentLength = null;\n this._isRangeSupported = false;\n this._isStreamingSupported = false;\n\n var readableStream = this._msgHandler.sendWithStream(\"GetReader\");\n\n this._reader = readableStream.getReader();\n this._headersReady = this._msgHandler.sendWithPromise(\"ReaderHeadersReady\").then(function (data) {\n _this._isStreamingSupported = data.isStreamingSupported;\n _this._isRangeSupported = data.isRangeSupported;\n _this._contentLength = data.contentLength;\n });\n }\n\n _createClass(PDFWorkerStreamReader, [{\n key: \"read\",\n value: function () {\n var _read = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n var _yield$this$_reader$r, value, done;\n\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return this._reader.read();\n\n case 2:\n _yield$this$_reader$r = _context.sent;\n value = _yield$this$_reader$r.value;\n done = _yield$this$_reader$r.done;\n\n if (!done) {\n _context.next = 7;\n break;\n }\n\n return _context.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 7:\n return _context.abrupt(\"return\", {\n value: value.buffer,\n done: false\n });\n\n case 8:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function read() {\n return _read.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n this._reader.cancel(reason);\n }\n }, {\n key: \"headersReady\",\n get: function get() {\n return this._headersReady;\n }\n }, {\n key: \"contentLength\",\n get: function get() {\n return this._contentLength;\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }, {\n key: \"isRangeSupported\",\n get: function get() {\n return this._isRangeSupported;\n }\n }]);\n\n return PDFWorkerStreamReader;\n}();\n\nvar PDFWorkerStreamRangeReader = /*#__PURE__*/function () {\n function PDFWorkerStreamRangeReader(begin, end, msgHandler) {\n _classCallCheck(this, PDFWorkerStreamRangeReader);\n\n this._msgHandler = msgHandler;\n this.onProgress = null;\n\n var readableStream = this._msgHandler.sendWithStream(\"GetRangeReader\", {\n begin: begin,\n end: end\n });\n\n this._reader = readableStream.getReader();\n }\n\n _createClass(PDFWorkerStreamRangeReader, [{\n key: \"read\",\n value: function () {\n var _read2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n var _yield$this$_reader$r2, value, done;\n\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return this._reader.read();\n\n case 2:\n _yield$this$_reader$r2 = _context2.sent;\n value = _yield$this$_reader$r2.value;\n done = _yield$this$_reader$r2.done;\n\n if (!done) {\n _context2.next = 7;\n break;\n }\n\n return _context2.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 7:\n return _context2.abrupt(\"return\", {\n value: value.buffer,\n done: false\n });\n\n case 8:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function read() {\n return _read2.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n this._reader.cancel(reason);\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return false;\n }\n }]);\n\n return PDFWorkerStreamRangeReader;\n}();\n\n/***/ })\n/******/ ]);\n});\n//# sourceMappingURL=pdf.worker.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(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\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","exports.nextTick = function nextTick(fn) {\n var args = Array.prototype.slice.call(arguments);\n args.shift();\n setTimeout(function () {\n fn.apply(null, args);\n }, 0);\n};\n\nexports.platform = exports.arch = \nexports.execPath = exports.title = 'browser';\nexports.pid = 1;\nexports.browser = true;\nexports.env = {};\nexports.argv = [];\n\nexports.binding = function (name) {\n\tthrow new Error('No such module. (Possibly not yet loaded)')\n};\n\n(function () {\n var cwd = '/';\n var path;\n exports.cwd = function () { return cwd };\n exports.chdir = function (dir) {\n if (!path) path = require('path');\n cwd = path.resolve(dir, cwd);\n };\n})();\n\nexports.exit = exports.kill = \nexports.umask = exports.dlopen = \nexports.uptime = exports.memoryUsage = \nexports.uvCounters = function() {};\nexports.features = {};\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.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","/*!\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","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","// .dirname, .basename, and .extname methods are extracted from Node.js v8.11.1,\n// backported and transplited with Babel, with backwards-compat fixes\n\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// resolves . and .. elements in a path array with directory names there\n// must be no slashes, empty elements, or device names (c:\\) in the array\n// (so also no leading and trailing slashes - it does not distinguish\n// relative and absolute paths)\nfunction normalizeArray(parts, allowAboveRoot) {\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = parts.length - 1; i >= 0; i--) {\n var last = parts[i];\n if (last === '.') {\n parts.splice(i, 1);\n } else if (last === '..') {\n parts.splice(i, 1);\n up++;\n } else if (up) {\n parts.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (allowAboveRoot) {\n for (; up--; up) {\n parts.unshift('..');\n }\n }\n\n return parts;\n}\n\n// path.resolve([from ...], to)\n// posix version\nexports.resolve = function() {\n var resolvedPath = '',\n resolvedAbsolute = false;\n\n for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n var path = (i >= 0) ? arguments[i] : process.cwd();\n\n // Skip empty and invalid entries\n if (typeof path !== 'string') {\n throw new TypeError('Arguments to path.resolve must be strings');\n } else if (!path) {\n continue;\n }\n\n resolvedPath = path + '/' + resolvedPath;\n resolvedAbsolute = path.charAt(0) === '/';\n }\n\n // At this point the path should be resolved to a full absolute path, but\n // handle relative paths to be safe (might happen when process.cwd() fails)\n\n // Normalize the path\n resolvedPath = normalizeArray(filter(resolvedPath.split('/'), function(p) {\n return !!p;\n }), !resolvedAbsolute).join('/');\n\n return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';\n};\n\n// path.normalize(path)\n// posix version\nexports.normalize = function(path) {\n var isAbsolute = exports.isAbsolute(path),\n trailingSlash = substr(path, -1) === '/';\n\n // Normalize the path\n path = normalizeArray(filter(path.split('/'), function(p) {\n return !!p;\n }), !isAbsolute).join('/');\n\n if (!path && !isAbsolute) {\n path = '.';\n }\n if (path && trailingSlash) {\n path += '/';\n }\n\n return (isAbsolute ? '/' : '') + path;\n};\n\n// posix version\nexports.isAbsolute = function(path) {\n return path.charAt(0) === '/';\n};\n\n// posix version\nexports.join = function() {\n var paths = Array.prototype.slice.call(arguments, 0);\n return exports.normalize(filter(paths, function(p, index) {\n if (typeof p !== 'string') {\n throw new TypeError('Arguments to path.join must be strings');\n }\n return p;\n }).join('/'));\n};\n\n\n// path.relative(from, to)\n// posix version\nexports.relative = function(from, to) {\n from = exports.resolve(from).substr(1);\n to = exports.resolve(to).substr(1);\n\n function trim(arr) {\n var start = 0;\n for (; start < arr.length; start++) {\n if (arr[start] !== '') break;\n }\n\n var end = arr.length - 1;\n for (; end >= 0; end--) {\n if (arr[end] !== '') break;\n }\n\n if (start > end) return [];\n return arr.slice(start, end - start + 1);\n }\n\n var fromParts = trim(from.split('/'));\n var toParts = trim(to.split('/'));\n\n var length = Math.min(fromParts.length, toParts.length);\n var samePartsLength = length;\n for (var i = 0; i < length; i++) {\n if (fromParts[i] !== toParts[i]) {\n samePartsLength = i;\n break;\n }\n }\n\n var outputParts = [];\n for (var i = samePartsLength; i < fromParts.length; i++) {\n outputParts.push('..');\n }\n\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\n\n return outputParts.join('/');\n};\n\nexports.sep = '/';\nexports.delimiter = ':';\n\nexports.dirname = function (path) {\n if (typeof path !== 'string') path = path + '';\n if (path.length === 0) return '.';\n var code = path.charCodeAt(0);\n var hasRoot = code === 47 /*/*/;\n var end = -1;\n var matchedSlash = true;\n for (var i = path.length - 1; i >= 1; --i) {\n code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n if (!matchedSlash) {\n end = i;\n break;\n }\n } else {\n // We saw the first non-path separator\n matchedSlash = false;\n }\n }\n\n if (end === -1) return hasRoot ? '/' : '.';\n if (hasRoot && end === 1) {\n // return '//';\n // Backwards-compat fix:\n return '/';\n }\n return path.slice(0, end);\n};\n\nfunction basename(path) {\n if (typeof path !== 'string') path = path + '';\n\n var start = 0;\n var end = -1;\n var matchedSlash = true;\n var i;\n\n for (i = path.length - 1; i >= 0; --i) {\n if (path.charCodeAt(i) === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // path component\n matchedSlash = false;\n end = i + 1;\n }\n }\n\n if (end === -1) return '';\n return path.slice(start, end);\n}\n\n// Uses a mixed approach for backwards-compatibility, as ext behavior changed\n// in new Node.js versions, so only basename() above is backported here\nexports.basename = function (path, ext) {\n var f = basename(path);\n if (ext && f.substr(-1 * ext.length) === ext) {\n f = f.substr(0, f.length - ext.length);\n }\n return f;\n};\n\nexports.extname = function (path) {\n if (typeof path !== 'string') path = path + '';\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true;\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n var preDotState = 0;\n for (var i = path.length - 1; i >= 0; --i) {\n var code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n if (code === 46 /*.*/) {\n // If this is our first dot, mark it as the start of our extension\n if (startDot === -1)\n startDot = i;\n else if (preDotState !== 1)\n preDotState = 1;\n } else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n\n if (startDot === -1 || end === -1 ||\n // We saw a non-dot character immediately before the dot\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly '..'\n preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {\n return '';\n }\n return path.slice(startDot, end);\n};\n\nfunction filter (xs, f) {\n if (xs.filter) return xs.filter(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n if (f(xs[i], i, xs)) res.push(xs[i]);\n }\n return res;\n}\n\n// String.prototype.substr - negative index don't work in IE8\nvar substr = 'ab'.substr(-1) === 'b'\n ? function (str, start, len) { return str.substr(start, len) }\n : function (str, start, len) {\n if (start < 0) start = str.length + start;\n return str.substr(start, len);\n }\n;\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n"],"sourceRoot":""}