spc-pleroma/priv/static/packs/tesseract.js.map

1 line
331 KiB
Plaintext

{"version":3,"sources":["webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/defaults.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/defaults.js","webpack:///./node_modules/file-type/index.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/helpers/bind.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/adapters/xhr.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/core/createError.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/cancel/isCancel.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/cancel/Cancel.js","webpack:///./node_modules/check-types/src/check-types.js","webpack:///./node_modules/resolve-url/resolve-url.js","webpack:///./node_modules/tesseract.js/src/browser/index.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/helpers/bind.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/adapters/xhr.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/core/createError.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/cancel/isCancel.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/cancel/Cancel.js","webpack:///./node_modules/tesseract.js/src/common/types.js","webpack:///./node_modules/tesseract.js-utils/src/index.browser.js","webpack:///./node_modules/tesseract.js-utils/src/common/browser/cache.js","webpack:///./node_modules/idb-keyval/dist/idb-keyval.mjs","webpack:///./node_modules/tesseract.js-utils/src/loadLang.js","webpack:///./node_modules/tesseract.js-utils/node_modules/is-url/index.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/index.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/axios.js","webpack:///./node_modules/tesseract.js-utils/node_modules/is-buffer/index.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/core/Axios.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/core/settle.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/core/enhanceError.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/helpers/buildURL.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/helpers/parseHeaders.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/helpers/cookies.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/core/InterceptorManager.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/core/dispatchRequest.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/core/transformData.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/helpers/combineURLs.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/cancel/CancelToken.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/helpers/spread.js","webpack:///./node_modules/tesseract.js-utils/src/common/browser/gunzip.js","webpack:///./node_modules/zlibjs/bin/node-zlib.js","webpack:///./node_modules/tesseract.js-utils/src/readImage.js","webpack:///./node_modules/bmp-js/index.js","webpack:///./node_modules/bmp-js/lib/encoder.js","webpack:///./node_modules/bmp-js/lib/decoder.js","webpack:///./node_modules/tesseract.js/src/common/TesseractWorker.js","webpack:///./node_modules/tesseract.js/node_modules/axios/index.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/axios.js","webpack:///./node_modules/tesseract.js/node_modules/is-buffer/index.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/core/Axios.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/core/settle.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/core/enhanceError.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/helpers/buildURL.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/helpers/parseHeaders.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/helpers/cookies.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/core/InterceptorManager.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/core/dispatchRequest.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/core/transformData.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/helpers/combineURLs.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/cancel/CancelToken.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/helpers/spread.js","webpack:///./node_modules/tesseract.js/src/browser/b64toU8Array.js","webpack:///./node_modules/tesseract.js/src/common/options.js","webpack:///./node_modules/tesseract.js/src/common/circularize.js","webpack:///./node_modules/tesseract.js/src/common/TesseractJob.js","webpack:///./node_modules/tesseract.js/src/index.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/utils.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/utils.js"],"names":["utils","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","headers","value","isUndefined","adapter","defaults","XMLHttpRequest","process","transformRequest","data","isFormData","isArrayBuffer","isBuffer","isStream","isFile","isBlob","isArrayBufferView","buffer","isURLSearchParams","toString","isObject","JSON","stringify","transformResponse","parse","e","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","validateStatus","status","common","forEach","method","merge","module","exports","toBytes","s","concat","map","c","charCodeAt","xpiZipFilename","oxmlContentTypes","oxmlRels","readUInt64LE","buf","offset","n","mul","i","fileType","input","Uint8Array","ArrayBuffer","Buffer","TypeError","length","check","header","options","Object","assign","mask","checkString","ext","mime","findNextZipHeaderIndex","arr","startAt","findIndex","el","zipHeaderIndex","oxmlFound","type","sliced","subarray","idPos","docTypePos","findDocType","every","_offset","objectSize","start","default","defineProperty","stream","readableStream","Promise","resolve","reject","eval","once","pass","PassThrough","chunk","read","minimumBytes","error","unshift","pipeline","pipe","fn","thisArg","args","Array","arguments","apply","settle","buildURL","parseHeaders","isURLSameOrigin","createError","config","requestData","requestHeaders","request","auth","username","password","Authorization","btoa","open","toUpperCase","url","params","paramsSerializer","onreadystatechange","readyState","responseURL","indexOf","responseHeaders","getAllResponseHeaders","response","responseType","responseText","statusText","onerror","ontimeout","isStandardBrowserEnv","cookies","xsrfValue","withCredentials","undefined","val","key","toLowerCase","setRequestHeader","onDownloadProgress","addEventListener","onUploadProgress","upload","cancelToken","promise","then","cancel","abort","send","enhanceError","message","code","Error","__CANCEL__","Cancel","this","prototype","globals","strings","messages","predicates","functions","assert","not","maybe","collections","slice","neginf","posinf","isArray","haveSymbols","assigned","number","integer","greater","lhs","rhs","less","greaterOrEqual","lessOrEqual","string","nonEmptyString","object","call","instanceStrict","like","archetype","name","hasOwnProperty","array","arrayLike","isFunction","mapComplex","result","keys","predicate","m","testArray","testObject","mixin","target","source","assertModifier","defaultMessage","assertPredicate","argCount","l","ErrorType","assertImpl","notModifier","modifiedPredicate","notImpl","ofModifier","collection","coerceCollection","item","ignore","createModifiedPredicates","modifier","createModifiedFunctions","shift","pop","configurable","enumerable","writable","createModifiedModifier","modified","createOfModifiers","base","of","v","b","o","t","a","al","d","f","iterator","iteration","Symbol","values","next","done","x","y","substring","regex","match","constructor","Date","getTime","hasLength","index","mapSimple","all","any","Number","NEGATIVE_INFINITY","POSITIVE_INFINITY","bind","exportFunctions","numUrls","document","createElement","href","head","getElementsByTagName","insertBefore","firstChild","resolved","removeChild","_objectSpread4","_interopRequireDefault","resolveURL","axios","b64toU8Array","defaultOptions","version","readFromBlobOrFile","blob","res","fileReader","FileReader","onload","readAsArrayBuffer","workerPath","env","TESS_ENV","Math","random","corePath","WebAssembly","spawnWorker","instance","_ref","worker","Blob","URL","Worker","createObjectURL","onmessage","_ref2","jobId","startsWith","recv","path","navigator","msSaveBlob","link","download","setAttribute","style","visibility","body","appendChild","click","downloadFile","terminateWorker","terminate","sendPacket","iPacket","packet","loadImage","image","test","split","get","resp","HTMLElement","tagName","src","poster","toBlob","File","payload","img","from","postMessage","OEM","TESSERACT_ONLY","LSTM_ONLY","TESSERACT_LSTM_COMBINED","DEFAULT","PSM","OSD_ONLY","AUTO_OSD","AUTO_ONLY","AUTO","SINGLE_COLUMN","SINGLE_BLOCK_VERT_TEXT","SINGLE_BLOCK","SINGLE_LINE","SINGLE_WORD","SINGLE_CHAR","SPARSE_TEXT","SPARSE_TEXT_OSD","RAW_LINE","_objectSpread3","cache","loadLang","gunzip","readImage","_require","set","del","readCache","writeCache","deleteCache","checkCache","store","Store","dbName","storeName","_dbp","openreq","indexedDB","onsuccess","onupgradeneeded","createObjectStore","_withIDBStore","callback","_this","db","transaction","oncomplete","onabort","objectStore","getDefaultStore","req","put","delete","clear","openKeyCursor","openCursor","push","continue","_objectWithoutPropertiesLoose2","isURL","modules","_ref4","langs","langPath","cachePath","cacheMethod","_ref2$gzip","gzip","lang","langCode","handleTraineddata","doHandleLang","TessModule","dataPath","FS","mkdir","err","writeFile","includes","handleLang","catch","iLangPath","_ref3","loadAndGunzipFile","protocolAndDomainRE","everythingAfterProtocol","localhostDomainRE","nonLocalhostDomainRE","Axios","createInstance","defaultConfig","context","extend","create","instanceConfig","CancelToken","isCancel","promises","spread","obj","InterceptorManager","dispatchRequest","interceptors","chain","interceptor","fulfilled","rejected","normalizedName","encode","encodeURIComponent","replace","serializedParams","parts","isDate","toISOString","join","ignoreDuplicateOf","parsed","line","trim","substr","originURL","msie","userAgent","urlParsingNode","protocol","host","search","hash","hostname","port","pathname","charAt","window","location","requestURL","isString","write","expires","domain","secure","cookie","isNumber","toGMTString","RegExp","decodeURIComponent","remove","now","handlers","use","eject","id","h","transformData","isAbsoluteURL","combineURLs","throwIfCancellationRequested","throwIfRequested","baseURL","reason","fns","relativeURL","executor","resolvePromise","token","gunzipSync","q","B","Uint16Array","Uint32Array","DataView","G","k","g","I","finish","L","aa","ba","R","ca","ha","S","ia","ja","ka","T","r","p","na","oa","F","lazy","compressionType","outputBuffer","outputIndex","getParent","U","pa","NONE","X","qa","va","N","w","C","u","ra","M","z","Y","da","Fa","ea","Ga","la","Ha","Z","ma","E","Ia","D","qb","ta","ua","sa","O","A","fa","H","Ja","Ka","K","J","P","Q","Na","ga","wa","Oa","Pa","Qa","Ra","La","Ma","xa","ya","za","Aa","Ba","flags","filename","comment","deflateOptions","fname","Ca","fcomment","Da","fhcrc","Ea","Sa","byteLength","V","j","Ta","bufferSize","bufferType","resize","Ua","W","Va","Wa","Xa","Ya","$","ib","Za","$a","ab","bb","cb","eb","fb","gb","hb","kb","lb","jb","mb","nb","ob","verify","pb","String","fromCharCode","rb","sb","ub","Bb","wb","noBuffer","yb","Ab","LOG2E","log","deflate","nextTick","deflateSync","inflate","inflateSync","gzipSync","bmp","iBuf","yres","bytesPerPixel","pix","bmpBuf","decode","_malloc","BYTES_PER_ELEMENT","HEAPU8","width","height","ptr","_pixReadMem","getValue","setValue","_Array$fill$map","fill","idx","BmpEncoder","imgData","extraBytes","rgbSize","headerInfoSize","flag","reserved","fileSize","planes","bitPP","compress","hr","vr","colors","importantColors","tempBuffer","pos","writeUInt32LE","writeInt32LE","writeUInt16LE","rowBytes","fillOffset","quality","BmpDecoder","is_with_alpha","bottom_up","parseHeader","parseRGBA","readUInt32LE","headerSize","readInt32LE","readUInt16LE","rawSize","len","palette","blue","readUInt8","green","red","quad","bitn","bit1","xlen","ceil","mode","rgb","bit4","setPixelData","rgbIndex","lines","low_nibble","before","after","bit8","bit15","dif_w","_1_5","parseInt","alpha","bit16","maskRed","maskGreen","maskBlue","mask0","ns","bit24","bit32","getData","bmpData","_objectSpread6","circularize","TesseractJob","TesseractWorker","_currentJob","_queue","_proto","recognize","_sendJob","detect","handle","action","console","warn","dequeue","_this2","_delay","job","_this3","null","atob","defaultParams","tessedit_ocr_engine_mode","tessedit_pageseg_mode","tessedit_char_whiltelist","tessjs_create_pdf","tessjs_create_hocr","tessjs_create_tsv","tessjs_create_box","tessjs_create_unlv","tessjs_create_osd","tessjs_textonly_pdf","tessjs_pdf_name","tessjs_pdf_title","tessjs_pdf_auto_download","tessjs_pdf_bin","tessjs_image_rectangle_left","tessjs_image_rectangle_top","tessjs_image_rectangle_width","tessjs_image_rectangle_height","_objectSpread8","iPage","page","paragraphs","words","symbols","blocks","iBlock","block","iPara","para","iLine","paragraph","iWord","word","iSym","sym","jobCounter","_worker","_resolve","_reject","_progress","_finally","rej","_result","progress","finally","runFinallyCbs","ret","types","FormData","isView","URLSearchParams","product","assignValue","str"],"mappings":"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","file":"tesseract.js","sourcesContent":["'use strict';\n\nvar utils = require('./utils');\n\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) || utils.isArrayBuffer(data) || utils.isBuffer(data) || utils.isStream(data) || utils.isFile(data) || utils.isBlob(data)) {\n return data;\n }\n\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n\n return data;\n }],\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) {\n /* Ignore */\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n maxContentLength: -1,\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\nmodule.exports = defaults;","'use strict';\n\nvar utils = require('./utils');\n\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) || utils.isArrayBuffer(data) || utils.isBuffer(data) || utils.isStream(data) || utils.isFile(data) || utils.isBlob(data)) {\n return data;\n }\n\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n\n return data;\n }],\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) {\n /* Ignore */\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n maxContentLength: -1,\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\nmodule.exports = defaults;","'use strict';\n\nvar toBytes = function toBytes(s) {\n return [].concat(s).map(function (c) {\n return c.charCodeAt(0);\n });\n};\n\nvar xpiZipFilename = toBytes('META-INF/mozilla.rsa');\nvar oxmlContentTypes = toBytes('[Content_Types].xml');\nvar oxmlRels = toBytes('_rels/.rels');\n\nfunction readUInt64LE(buf, offset) {\n if (offset === void 0) {\n offset = 0;\n }\n\n var n = buf[offset];\n var mul = 1;\n var i = 0;\n\n while (++i < 8) {\n mul *= 0x100;\n n += buf[offset + i] * mul;\n }\n\n return n;\n}\n\nvar fileType = function fileType(input) {\n if (!(input instanceof Uint8Array || input instanceof ArrayBuffer || Buffer.isBuffer(input))) {\n throw new TypeError(\"Expected the `input` argument to be of type `Uint8Array` or `Buffer` or `ArrayBuffer`, got `\" + typeof input + \"`\");\n }\n\n var buf = input instanceof Uint8Array ? input : new Uint8Array(input);\n\n if (!(buf && buf.length > 1)) {\n return null;\n }\n\n var check = function check(header, options) {\n options = Object.assign({\n offset: 0\n }, options);\n\n for (var i = 0; i < header.length; i++) {\n // If a bitmask is set\n if (options.mask) {\n // If header doesn't equal `buf` with bits masked off\n if (header[i] !== (options.mask[i] & buf[i + options.offset])) {\n return false;\n }\n } else if (header[i] !== buf[i + options.offset]) {\n return false;\n }\n }\n\n return true;\n };\n\n var checkString = function checkString(header, options) {\n return check(toBytes(header), options);\n };\n\n if (check([0xFF, 0xD8, 0xFF])) {\n return {\n ext: 'jpg',\n mime: 'image/jpeg'\n };\n }\n\n if (check([0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A])) {\n return {\n ext: 'png',\n mime: 'image/png'\n };\n }\n\n if (check([0x47, 0x49, 0x46])) {\n return {\n ext: 'gif',\n mime: 'image/gif'\n };\n }\n\n if (check([0x57, 0x45, 0x42, 0x50], {\n offset: 8\n })) {\n return {\n ext: 'webp',\n mime: 'image/webp'\n };\n }\n\n if (check([0x46, 0x4C, 0x49, 0x46])) {\n return {\n ext: 'flif',\n mime: 'image/flif'\n };\n } // Needs to be before `tif` check\n\n\n if ((check([0x49, 0x49, 0x2A, 0x0]) || check([0x4D, 0x4D, 0x0, 0x2A])) && check([0x43, 0x52], {\n offset: 8\n })) {\n return {\n ext: 'cr2',\n mime: 'image/x-canon-cr2'\n };\n }\n\n if (check([0x49, 0x49, 0x2A, 0x0]) || check([0x4D, 0x4D, 0x0, 0x2A])) {\n return {\n ext: 'tif',\n mime: 'image/tiff'\n };\n }\n\n if (check([0x42, 0x4D])) {\n return {\n ext: 'bmp',\n mime: 'image/bmp'\n };\n }\n\n if (check([0x49, 0x49, 0xBC])) {\n return {\n ext: 'jxr',\n mime: 'image/vnd.ms-photo'\n };\n }\n\n if (check([0x38, 0x42, 0x50, 0x53])) {\n return {\n ext: 'psd',\n mime: 'image/vnd.adobe.photoshop'\n };\n } // Zip-based file formats\n // Need to be before the `zip` check\n\n\n if (check([0x50, 0x4B, 0x3, 0x4])) {\n if (check([0x6D, 0x69, 0x6D, 0x65, 0x74, 0x79, 0x70, 0x65, 0x61, 0x70, 0x70, 0x6C, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x2F, 0x65, 0x70, 0x75, 0x62, 0x2B, 0x7A, 0x69, 0x70], {\n offset: 30\n })) {\n return {\n ext: 'epub',\n mime: 'application/epub+zip'\n };\n } // Assumes signed `.xpi` from addons.mozilla.org\n\n\n if (check(xpiZipFilename, {\n offset: 30\n })) {\n return {\n ext: 'xpi',\n mime: 'application/x-xpinstall'\n };\n }\n\n if (checkString('mimetypeapplication/vnd.oasis.opendocument.text', {\n offset: 30\n })) {\n return {\n ext: 'odt',\n mime: 'application/vnd.oasis.opendocument.text'\n };\n }\n\n if (checkString('mimetypeapplication/vnd.oasis.opendocument.spreadsheet', {\n offset: 30\n })) {\n return {\n ext: 'ods',\n mime: 'application/vnd.oasis.opendocument.spreadsheet'\n };\n }\n\n if (checkString('mimetypeapplication/vnd.oasis.opendocument.presentation', {\n offset: 30\n })) {\n return {\n ext: 'odp',\n mime: 'application/vnd.oasis.opendocument.presentation'\n };\n } // The docx, xlsx and pptx file types extend the Office Open XML file format:\n // https://en.wikipedia.org/wiki/Office_Open_XML_file_formats\n // We look for:\n // - one entry named '[Content_Types].xml' or '_rels/.rels',\n // - one entry indicating specific type of file.\n // MS Office, OpenOffice and LibreOffice may put the parts in different order, so the check should not rely on it.\n\n\n var findNextZipHeaderIndex = function findNextZipHeaderIndex(arr, startAt) {\n if (startAt === void 0) {\n startAt = 0;\n }\n\n return arr.findIndex(function (el, i, arr) {\n return i >= startAt && arr[i] === 0x50 && arr[i + 1] === 0x4B && arr[i + 2] === 0x3 && arr[i + 3] === 0x4;\n });\n };\n\n var zipHeaderIndex = 0; // The first zip header was already found at index 0\n\n var oxmlFound = false;\n var type = null;\n\n do {\n var offset = zipHeaderIndex + 30;\n\n if (!oxmlFound) {\n oxmlFound = check(oxmlContentTypes, {\n offset: offset\n }) || check(oxmlRels, {\n offset: offset\n });\n }\n\n if (!type) {\n if (checkString('word/', {\n offset: offset\n })) {\n type = {\n ext: 'docx',\n mime: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'\n };\n } else if (checkString('ppt/', {\n offset: offset\n })) {\n type = {\n ext: 'pptx',\n mime: 'application/vnd.openxmlformats-officedocument.presentationml.presentation'\n };\n } else if (checkString('xl/', {\n offset: offset\n })) {\n type = {\n ext: 'xlsx',\n mime: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'\n };\n }\n }\n\n if (oxmlFound && type) {\n return type;\n }\n\n zipHeaderIndex = findNextZipHeaderIndex(buf, offset);\n } while (zipHeaderIndex >= 0); // No more zip parts available in the buffer, but maybe we are almost certain about the type?\n\n\n if (type) {\n return type;\n }\n }\n\n if (check([0x50, 0x4B]) && (buf[2] === 0x3 || buf[2] === 0x5 || buf[2] === 0x7) && (buf[3] === 0x4 || buf[3] === 0x6 || buf[3] === 0x8)) {\n return {\n ext: 'zip',\n mime: 'application/zip'\n };\n }\n\n if (check([0x75, 0x73, 0x74, 0x61, 0x72], {\n offset: 257\n })) {\n return {\n ext: 'tar',\n mime: 'application/x-tar'\n };\n }\n\n if (check([0x52, 0x61, 0x72, 0x21, 0x1A, 0x7]) && (buf[6] === 0x0 || buf[6] === 0x1)) {\n return {\n ext: 'rar',\n mime: 'application/x-rar-compressed'\n };\n }\n\n if (check([0x1F, 0x8B, 0x8])) {\n return {\n ext: 'gz',\n mime: 'application/gzip'\n };\n }\n\n if (check([0x42, 0x5A, 0x68])) {\n return {\n ext: 'bz2',\n mime: 'application/x-bzip2'\n };\n }\n\n if (check([0x37, 0x7A, 0xBC, 0xAF, 0x27, 0x1C])) {\n return {\n ext: '7z',\n mime: 'application/x-7z-compressed'\n };\n }\n\n if (check([0x78, 0x01])) {\n return {\n ext: 'dmg',\n mime: 'application/x-apple-diskimage'\n };\n }\n\n if (check([0x33, 0x67, 0x70, 0x35]) || // 3gp5\n check([0x0, 0x0, 0x0]) && check([0x66, 0x74, 0x79, 0x70], {\n offset: 4\n }) && (check([0x6D, 0x70, 0x34, 0x31], {\n offset: 8\n }) || // MP41\n check([0x6D, 0x70, 0x34, 0x32], {\n offset: 8\n }) || // MP42\n check([0x69, 0x73, 0x6F, 0x6D], {\n offset: 8\n }) || // ISOM\n check([0x69, 0x73, 0x6F, 0x32], {\n offset: 8\n }) || // ISO2\n check([0x6D, 0x6D, 0x70, 0x34], {\n offset: 8\n }) || // MMP4\n check([0x4D, 0x34, 0x56], {\n offset: 8\n }) || // M4V\n check([0x64, 0x61, 0x73, 0x68], {\n offset: 8\n }) // DASH\n )) {\n return {\n ext: 'mp4',\n mime: 'video/mp4'\n };\n }\n\n if (check([0x4D, 0x54, 0x68, 0x64])) {\n return {\n ext: 'mid',\n mime: 'audio/midi'\n };\n } // https://github.com/threatstack/libmagic/blob/master/magic/Magdir/matroska\n\n\n if (check([0x1A, 0x45, 0xDF, 0xA3])) {\n var sliced = buf.subarray(4, 4 + 4096);\n var idPos = sliced.findIndex(function (el, i, arr) {\n return arr[i] === 0x42 && arr[i + 1] === 0x82;\n });\n\n if (idPos !== -1) {\n var docTypePos = idPos + 3;\n\n var findDocType = function findDocType(type) {\n return [].concat(type).every(function (c, i) {\n return sliced[docTypePos + i] === c.charCodeAt(0);\n });\n };\n\n if (findDocType('matroska')) {\n return {\n ext: 'mkv',\n mime: 'video/x-matroska'\n };\n }\n\n if (findDocType('webm')) {\n return {\n ext: 'webm',\n mime: 'video/webm'\n };\n }\n }\n }\n\n if (check([0x0, 0x0, 0x0, 0x14, 0x66, 0x74, 0x79, 0x70, 0x71, 0x74, 0x20, 0x20]) || check([0x66, 0x72, 0x65, 0x65], {\n offset: 4\n }) || // Type: `free`\n check([0x66, 0x74, 0x79, 0x70, 0x71, 0x74, 0x20, 0x20], {\n offset: 4\n }) || check([0x6D, 0x64, 0x61, 0x74], {\n offset: 4\n }) || // MJPEG\n check([0x6D, 0x6F, 0x6F, 0x76], {\n offset: 4\n }) || // Type: `moov`\n check([0x77, 0x69, 0x64, 0x65], {\n offset: 4\n })) {\n return {\n ext: 'mov',\n mime: 'video/quicktime'\n };\n } // RIFF file format which might be AVI, WAV, QCP, etc\n\n\n if (check([0x52, 0x49, 0x46, 0x46])) {\n if (check([0x41, 0x56, 0x49], {\n offset: 8\n })) {\n return {\n ext: 'avi',\n mime: 'video/vnd.avi'\n };\n }\n\n if (check([0x57, 0x41, 0x56, 0x45], {\n offset: 8\n })) {\n return {\n ext: 'wav',\n mime: 'audio/vnd.wave'\n };\n } // QLCM, QCP file\n\n\n if (check([0x51, 0x4C, 0x43, 0x4D], {\n offset: 8\n })) {\n return {\n ext: 'qcp',\n mime: 'audio/qcelp'\n };\n }\n } // ASF_Header_Object first 80 bytes\n\n\n if (check([0x30, 0x26, 0xB2, 0x75, 0x8E, 0x66, 0xCF, 0x11, 0xA6, 0xD9])) {\n // Search for header should be in first 1KB of file.\n var _offset = 30;\n\n do {\n var objectSize = readUInt64LE(buf, _offset + 16);\n\n if (check([0x91, 0x07, 0xDC, 0xB7, 0xB7, 0xA9, 0xCF, 0x11, 0x8E, 0xE6, 0x00, 0xC0, 0x0C, 0x20, 0x53, 0x65], {\n offset: _offset\n })) {\n // Sync on Stream-Properties-Object (B7DC0791-A9B7-11CF-8EE6-00C00C205365)\n if (check([0x40, 0x9E, 0x69, 0xF8, 0x4D, 0x5B, 0xCF, 0x11, 0xA8, 0xFD, 0x00, 0x80, 0x5F, 0x5C, 0x44, 0x2B], {\n offset: _offset + 24\n })) {\n // Found audio:\n return {\n ext: 'wma',\n mime: 'audio/x-ms-wma'\n };\n }\n\n if (check([0xC0, 0xEF, 0x19, 0xBC, 0x4D, 0x5B, 0xCF, 0x11, 0xA8, 0xFD, 0x00, 0x80, 0x5F, 0x5C, 0x44, 0x2B], {\n offset: _offset + 24\n })) {\n // Found video:\n return {\n ext: 'wmv',\n mime: 'video/x-ms-asf'\n };\n }\n\n break;\n }\n\n _offset += objectSize;\n } while (_offset + 24 <= buf.length); // Default to ASF generic extension\n\n\n return {\n ext: 'asf',\n mime: 'application/vnd.ms-asf'\n };\n }\n\n if (check([0x0, 0x0, 0x1, 0xBA]) || check([0x0, 0x0, 0x1, 0xB3])) {\n return {\n ext: 'mpg',\n mime: 'video/mpeg'\n };\n }\n\n if (check([0x66, 0x74, 0x79, 0x70, 0x33, 0x67], {\n offset: 4\n })) {\n return {\n ext: '3gp',\n mime: 'video/3gpp'\n };\n } // Check for MPEG header at different starting offsets\n\n\n for (var start = 0; start < 2 && start < buf.length - 16; start++) {\n if (check([0x49, 0x44, 0x33], {\n offset: start\n }) || // ID3 header\n check([0xFF, 0xE2], {\n offset: start,\n mask: [0xFF, 0xE2]\n }) // MPEG 1 or 2 Layer 3 header\n ) {\n return {\n ext: 'mp3',\n mime: 'audio/mpeg'\n };\n }\n\n if (check([0xFF, 0xE4], {\n offset: start,\n mask: [0xFF, 0xE4]\n }) // MPEG 1 or 2 Layer 2 header\n ) {\n return {\n ext: 'mp2',\n mime: 'audio/mpeg'\n };\n }\n\n if (check([0xFF, 0xF8], {\n offset: start,\n mask: [0xFF, 0xFC]\n }) // MPEG 2 layer 0 using ADTS\n ) {\n return {\n ext: 'mp2',\n mime: 'audio/mpeg'\n };\n }\n\n if (check([0xFF, 0xF0], {\n offset: start,\n mask: [0xFF, 0xFC]\n }) // MPEG 4 layer 0 using ADTS\n ) {\n return {\n ext: 'mp4',\n mime: 'audio/mpeg'\n };\n }\n }\n\n if (check([0x66, 0x74, 0x79, 0x70, 0x4D, 0x34, 0x41], {\n offset: 4\n })) {\n return {\n // MPEG-4 layer 3 (audio)\n ext: 'm4a',\n mime: 'audio/mp4' // RFC 4337\n\n };\n } // Needs to be before `ogg` check\n\n\n if (check([0x4F, 0x70, 0x75, 0x73, 0x48, 0x65, 0x61, 0x64], {\n offset: 28\n })) {\n return {\n ext: 'opus',\n mime: 'audio/opus'\n };\n } // If 'OggS' in first bytes, then OGG container\n\n\n if (check([0x4F, 0x67, 0x67, 0x53])) {\n // This is a OGG container\n // If ' theora' in header.\n if (check([0x80, 0x74, 0x68, 0x65, 0x6F, 0x72, 0x61], {\n offset: 28\n })) {\n return {\n ext: 'ogv',\n mime: 'video/ogg'\n };\n } // If '\\x01video' in header.\n\n\n if (check([0x01, 0x76, 0x69, 0x64, 0x65, 0x6F, 0x00], {\n offset: 28\n })) {\n return {\n ext: 'ogm',\n mime: 'video/ogg'\n };\n } // If ' FLAC' in header https://xiph.org/flac/faq.html\n\n\n if (check([0x7F, 0x46, 0x4C, 0x41, 0x43], {\n offset: 28\n })) {\n return {\n ext: 'oga',\n mime: 'audio/ogg'\n };\n } // 'Speex ' in header https://en.wikipedia.org/wiki/Speex\n\n\n if (check([0x53, 0x70, 0x65, 0x65, 0x78, 0x20, 0x20], {\n offset: 28\n })) {\n return {\n ext: 'spx',\n mime: 'audio/ogg'\n };\n } // If '\\x01vorbis' in header\n\n\n if (check([0x01, 0x76, 0x6F, 0x72, 0x62, 0x69, 0x73], {\n offset: 28\n })) {\n return {\n ext: 'ogg',\n mime: 'audio/ogg'\n };\n } // Default OGG container https://www.iana.org/assignments/media-types/application/ogg\n\n\n return {\n ext: 'ogx',\n mime: 'application/ogg'\n };\n }\n\n if (check([0x66, 0x4C, 0x61, 0x43])) {\n return {\n ext: 'flac',\n mime: 'audio/x-flac'\n };\n }\n\n if (check([0x4D, 0x41, 0x43, 0x20])) {\n // 'MAC '\n return {\n ext: 'ape',\n mime: 'audio/ape'\n };\n }\n\n if (check([0x77, 0x76, 0x70, 0x6B])) {\n // 'wvpk'\n return {\n ext: 'wv',\n mime: 'audio/wavpack'\n };\n }\n\n if (check([0x23, 0x21, 0x41, 0x4D, 0x52, 0x0A])) {\n return {\n ext: 'amr',\n mime: 'audio/amr'\n };\n }\n\n if (check([0x25, 0x50, 0x44, 0x46])) {\n return {\n ext: 'pdf',\n mime: 'application/pdf'\n };\n }\n\n if (check([0x4D, 0x5A])) {\n return {\n ext: 'exe',\n mime: 'application/x-msdownload'\n };\n }\n\n if ((buf[0] === 0x43 || buf[0] === 0x46) && check([0x57, 0x53], {\n offset: 1\n })) {\n return {\n ext: 'swf',\n mime: 'application/x-shockwave-flash'\n };\n }\n\n if (check([0x7B, 0x5C, 0x72, 0x74, 0x66])) {\n return {\n ext: 'rtf',\n mime: 'application/rtf'\n };\n }\n\n if (check([0x00, 0x61, 0x73, 0x6D])) {\n return {\n ext: 'wasm',\n mime: 'application/wasm'\n };\n }\n\n if (check([0x77, 0x4F, 0x46, 0x46]) && (check([0x00, 0x01, 0x00, 0x00], {\n offset: 4\n }) || check([0x4F, 0x54, 0x54, 0x4F], {\n offset: 4\n }))) {\n return {\n ext: 'woff',\n mime: 'font/woff'\n };\n }\n\n if (check([0x77, 0x4F, 0x46, 0x32]) && (check([0x00, 0x01, 0x00, 0x00], {\n offset: 4\n }) || check([0x4F, 0x54, 0x54, 0x4F], {\n offset: 4\n }))) {\n return {\n ext: 'woff2',\n mime: 'font/woff2'\n };\n }\n\n if (check([0x4C, 0x50], {\n offset: 34\n }) && (check([0x00, 0x00, 0x01], {\n offset: 8\n }) || check([0x01, 0x00, 0x02], {\n offset: 8\n }) || check([0x02, 0x00, 0x02], {\n offset: 8\n }))) {\n return {\n ext: 'eot',\n mime: 'application/vnd.ms-fontobject'\n };\n }\n\n if (check([0x00, 0x01, 0x00, 0x00, 0x00])) {\n return {\n ext: 'ttf',\n mime: 'font/ttf'\n };\n }\n\n if (check([0x4F, 0x54, 0x54, 0x4F, 0x00])) {\n return {\n ext: 'otf',\n mime: 'font/otf'\n };\n }\n\n if (check([0x00, 0x00, 0x01, 0x00])) {\n return {\n ext: 'ico',\n mime: 'image/x-icon'\n };\n }\n\n if (check([0x00, 0x00, 0x02, 0x00])) {\n return {\n ext: 'cur',\n mime: 'image/x-icon'\n };\n }\n\n if (check([0x46, 0x4C, 0x56, 0x01])) {\n return {\n ext: 'flv',\n mime: 'video/x-flv'\n };\n }\n\n if (check([0x25, 0x21])) {\n return {\n ext: 'ps',\n mime: 'application/postscript'\n };\n }\n\n if (check([0xFD, 0x37, 0x7A, 0x58, 0x5A, 0x00])) {\n return {\n ext: 'xz',\n mime: 'application/x-xz'\n };\n }\n\n if (check([0x53, 0x51, 0x4C, 0x69])) {\n return {\n ext: 'sqlite',\n mime: 'application/x-sqlite3'\n };\n }\n\n if (check([0x4E, 0x45, 0x53, 0x1A])) {\n return {\n ext: 'nes',\n mime: 'application/x-nintendo-nes-rom'\n };\n }\n\n if (check([0x43, 0x72, 0x32, 0x34])) {\n return {\n ext: 'crx',\n mime: 'application/x-google-chrome-extension'\n };\n }\n\n if (check([0x4D, 0x53, 0x43, 0x46]) || check([0x49, 0x53, 0x63, 0x28])) {\n return {\n ext: 'cab',\n mime: 'application/vnd.ms-cab-compressed'\n };\n } // Needs to be before `ar` check\n\n\n if (check([0x21, 0x3C, 0x61, 0x72, 0x63, 0x68, 0x3E, 0x0A, 0x64, 0x65, 0x62, 0x69, 0x61, 0x6E, 0x2D, 0x62, 0x69, 0x6E, 0x61, 0x72, 0x79])) {\n return {\n ext: 'deb',\n mime: 'application/x-deb'\n };\n }\n\n if (check([0x21, 0x3C, 0x61, 0x72, 0x63, 0x68, 0x3E])) {\n return {\n ext: 'ar',\n mime: 'application/x-unix-archive'\n };\n }\n\n if (check([0xED, 0xAB, 0xEE, 0xDB])) {\n return {\n ext: 'rpm',\n mime: 'application/x-rpm'\n };\n }\n\n if (check([0x1F, 0xA0]) || check([0x1F, 0x9D])) {\n return {\n ext: 'Z',\n mime: 'application/x-compress'\n };\n }\n\n if (check([0x4C, 0x5A, 0x49, 0x50])) {\n return {\n ext: 'lz',\n mime: 'application/x-lzip'\n };\n }\n\n if (check([0xD0, 0xCF, 0x11, 0xE0, 0xA1, 0xB1, 0x1A, 0xE1])) {\n return {\n ext: 'msi',\n mime: 'application/x-msi'\n };\n }\n\n if (check([0x06, 0x0E, 0x2B, 0x34, 0x02, 0x05, 0x01, 0x01, 0x0D, 0x01, 0x02, 0x01, 0x01, 0x02])) {\n return {\n ext: 'mxf',\n mime: 'application/mxf'\n };\n }\n\n if (check([0x47], {\n offset: 4\n }) && (check([0x47], {\n offset: 192\n }) || check([0x47], {\n offset: 196\n }))) {\n return {\n ext: 'mts',\n mime: 'video/mp2t'\n };\n }\n\n if (check([0x42, 0x4C, 0x45, 0x4E, 0x44, 0x45, 0x52])) {\n return {\n ext: 'blend',\n mime: 'application/x-blender'\n };\n }\n\n if (check([0x42, 0x50, 0x47, 0xFB])) {\n return {\n ext: 'bpg',\n mime: 'image/bpg'\n };\n }\n\n if (check([0x00, 0x00, 0x00, 0x0C, 0x6A, 0x50, 0x20, 0x20, 0x0D, 0x0A, 0x87, 0x0A])) {\n // JPEG-2000 family\n if (check([0x6A, 0x70, 0x32, 0x20], {\n offset: 20\n })) {\n return {\n ext: 'jp2',\n mime: 'image/jp2'\n };\n }\n\n if (check([0x6A, 0x70, 0x78, 0x20], {\n offset: 20\n })) {\n return {\n ext: 'jpx',\n mime: 'image/jpx'\n };\n }\n\n if (check([0x6A, 0x70, 0x6D, 0x20], {\n offset: 20\n })) {\n return {\n ext: 'jpm',\n mime: 'image/jpm'\n };\n }\n\n if (check([0x6D, 0x6A, 0x70, 0x32], {\n offset: 20\n })) {\n return {\n ext: 'mj2',\n mime: 'image/mj2'\n };\n }\n }\n\n if (check([0x46, 0x4F, 0x52, 0x4D])) {\n return {\n ext: 'aif',\n mime: 'audio/aiff'\n };\n }\n\n if (checkString('<?xml ')) {\n return {\n ext: 'xml',\n mime: 'application/xml'\n };\n }\n\n if (check([0x42, 0x4F, 0x4F, 0x4B, 0x4D, 0x4F, 0x42, 0x49], {\n offset: 60\n })) {\n return {\n ext: 'mobi',\n mime: 'application/x-mobipocket-ebook'\n };\n } // File Type Box (https://en.wikipedia.org/wiki/ISO_base_media_file_format)\n\n\n if (check([0x66, 0x74, 0x79, 0x70], {\n offset: 4\n })) {\n if (check([0x6D, 0x69, 0x66, 0x31], {\n offset: 8\n })) {\n return {\n ext: 'heic',\n mime: 'image/heif'\n };\n }\n\n if (check([0x6D, 0x73, 0x66, 0x31], {\n offset: 8\n })) {\n return {\n ext: 'heic',\n mime: 'image/heif-sequence'\n };\n }\n\n if (check([0x68, 0x65, 0x69, 0x63], {\n offset: 8\n }) || check([0x68, 0x65, 0x69, 0x78], {\n offset: 8\n })) {\n return {\n ext: 'heic',\n mime: 'image/heic'\n };\n }\n\n if (check([0x68, 0x65, 0x76, 0x63], {\n offset: 8\n }) || check([0x68, 0x65, 0x76, 0x78], {\n offset: 8\n })) {\n return {\n ext: 'heic',\n mime: 'image/heic-sequence'\n };\n }\n }\n\n if (check([0xAB, 0x4B, 0x54, 0x58, 0x20, 0x31, 0x31, 0xBB, 0x0D, 0x0A, 0x1A, 0x0A])) {\n return {\n ext: 'ktx',\n mime: 'image/ktx'\n };\n }\n\n if (check([0x44, 0x49, 0x43, 0x4D], {\n offset: 128\n })) {\n return {\n ext: 'dcm',\n mime: 'application/dicom'\n };\n } // Musepack, SV7\n\n\n if (check([0x4D, 0x50, 0x2B])) {\n return {\n ext: 'mpc',\n mime: 'audio/x-musepack'\n };\n } // Musepack, SV8\n\n\n if (check([0x4D, 0x50, 0x43, 0x4B])) {\n return {\n ext: 'mpc',\n mime: 'audio/x-musepack'\n };\n }\n\n if (check([0x42, 0x45, 0x47, 0x49, 0x4E, 0x3A])) {\n return {\n ext: 'ics',\n mime: 'text/calendar'\n };\n }\n\n if (check([0x67, 0x6C, 0x54, 0x46, 0x02, 0x00, 0x00, 0x00])) {\n return {\n ext: 'glb',\n mime: 'model/gltf-binary'\n };\n }\n\n if (check([0xD4, 0xC3, 0xB2, 0xA1]) || check([0xA1, 0xB2, 0xC3, 0xD4])) {\n return {\n ext: 'pcap',\n mime: 'application/vnd.tcpdump.pcap'\n };\n }\n\n return null;\n};\n\nmodule.exports = fileType; // TODO: Remove this for the next major release\n\nmodule.exports.default = fileType;\nObject.defineProperty(fileType, 'minimumBytes', {\n value: 4100\n});\n\nmodule.exports.stream = function (readableStream) {\n return new Promise(function (resolve, reject) {\n // Using `eval` to work around issues when bundling with Webpack\n var stream = eval('require')('stream'); // eslint-disable-line no-eval\n\n readableStream.once('readable', function () {\n var pass = new stream.PassThrough();\n var chunk = readableStream.read(module.exports.minimumBytes) || readableStream.read();\n\n try {\n pass.fileType = fileType(chunk);\n } catch (error) {\n reject(error);\n }\n\n readableStream.unshift(chunk);\n\n if (stream.pipeline) {\n resolve(stream.pipeline(readableStream, pass, function () {}));\n } else {\n resolve(readableStream.pipe(pass));\n }\n });\n });\n};","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n\n return fn.apply(thisArg, args);\n };\n};","'use strict';\n\nvar utils = require('./../utils');\n\nvar settle = require('./../core/settle');\n\nvar buildURL = require('./../helpers/buildURL');\n\nvar parseHeaders = require('./../helpers/parseHeaders');\n\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\n\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest(); // HTTP basic authentication\n\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password || '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true); // Set the request timeout in MS\n\n request.timeout = config.timeout; // Listen for ready state\n\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n } // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n\n\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n } // Prepare the response\n\n\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n settle(resolve, reject, response); // Clean up request\n\n request = null;\n }; // Handle low level network errors\n\n\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request)); // Clean up request\n\n request = null;\n }; // Handle timeout\n\n\n request.ontimeout = function handleTimeout() {\n reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED', request)); // Clean up request\n\n request = null;\n }; // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n\n if (utils.isStandardBrowserEnv()) {\n var cookies = require('./../helpers/cookies'); // Add xsrf header\n\n\n var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ? cookies.read(config.xsrfCookieName) : undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n } // Add headers to the request\n\n\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n } // Add withCredentials to request if needed\n\n\n if (config.withCredentials) {\n request.withCredentials = true;\n } // Add responseType to request if needed\n\n\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n } // Handle progress if needed\n\n\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n } // Not all browsers support upload events\n\n\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel); // Clean up request\n\n request = null;\n });\n }\n\n if (requestData === undefined) {\n requestData = null;\n } // Send the request\n\n\n request.send(requestData);\n });\n};","'use strict';\n\nvar enhanceError = require('./enhanceError');\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\n\n\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};","'use strict';\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\n\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\nmodule.exports = Cancel;","/*globals define, module, Symbol */\n\n/*jshint -W056 */\n(function (globals) {\n 'use strict';\n\n var strings, messages, predicates, functions, assert, not, maybe, collections, slice, neginf, posinf, isArray, haveSymbols;\n strings = {\n v: 'value',\n n: 'number',\n s: 'string',\n b: 'boolean',\n o: 'object',\n t: 'type',\n a: 'array',\n al: 'array-like',\n i: 'iterable',\n d: 'date',\n f: 'function',\n l: 'length'\n };\n messages = {};\n predicates = {};\n [{\n n: 'equal',\n f: equal,\n s: 'v'\n }, {\n n: 'undefined',\n f: isUndefined,\n s: 'v'\n }, {\n n: 'null',\n f: isNull,\n s: 'v'\n }, {\n n: 'assigned',\n f: assigned,\n s: 'v'\n }, {\n n: 'primitive',\n f: primitive,\n s: 'v'\n }, {\n n: 'includes',\n f: includes,\n s: 'v'\n }, {\n n: 'zero',\n f: zero\n }, {\n n: 'infinity',\n f: infinity\n }, {\n n: 'number',\n f: number\n }, {\n n: 'integer',\n f: integer\n }, {\n n: 'even',\n f: even\n }, {\n n: 'odd',\n f: odd\n }, {\n n: 'greater',\n f: greater\n }, {\n n: 'less',\n f: less\n }, {\n n: 'between',\n f: between\n }, {\n n: 'greaterOrEqual',\n f: greaterOrEqual\n }, {\n n: 'lessOrEqual',\n f: lessOrEqual\n }, {\n n: 'inRange',\n f: inRange\n }, {\n n: 'positive',\n f: positive\n }, {\n n: 'negative',\n f: negative\n }, {\n n: 'string',\n f: string,\n s: 's'\n }, {\n n: 'emptyString',\n f: emptyString,\n s: 's'\n }, {\n n: 'nonEmptyString',\n f: nonEmptyString,\n s: 's'\n }, {\n n: 'contains',\n f: contains,\n s: 's'\n }, {\n n: 'match',\n f: match,\n s: 's'\n }, {\n n: 'boolean',\n f: boolean,\n s: 'b'\n }, {\n n: 'object',\n f: object,\n s: 'o'\n }, {\n n: 'emptyObject',\n f: emptyObject,\n s: 'o'\n }, {\n n: 'nonEmptyObject',\n f: nonEmptyObject,\n s: 'o'\n }, {\n n: 'instanceStrict',\n f: instanceStrict,\n s: 't'\n }, {\n n: 'instance',\n f: instance,\n s: 't'\n }, {\n n: 'like',\n f: like,\n s: 't'\n }, {\n n: 'array',\n f: array,\n s: 'a'\n }, {\n n: 'emptyArray',\n f: emptyArray,\n s: 'a'\n }, {\n n: 'nonEmptyArray',\n f: nonEmptyArray,\n s: 'a'\n }, {\n n: 'arrayLike',\n f: arrayLike,\n s: 'al'\n }, {\n n: 'iterable',\n f: iterable,\n s: 'i'\n }, {\n n: 'date',\n f: date,\n s: 'd'\n }, {\n n: 'function',\n f: isFunction,\n s: 'f'\n }, {\n n: 'hasLength',\n f: hasLength,\n s: 'l'\n }].map(function (data) {\n var n = data.n;\n messages[n] = 'Invalid ' + strings[data.s || 'n'];\n predicates[n] = data.f;\n });\n functions = {\n apply: apply,\n map: map,\n all: all,\n any: any\n };\n collections = ['array', 'arrayLike', 'iterable', 'object'];\n slice = Array.prototype.slice;\n neginf = Number.NEGATIVE_INFINITY;\n posinf = Number.POSITIVE_INFINITY;\n isArray = Array.isArray;\n haveSymbols = typeof Symbol === 'function';\n functions = mixin(functions, predicates);\n assert = createModifiedPredicates(assertModifier, assertImpl);\n not = createModifiedPredicates(notModifier, notImpl);\n maybe = createModifiedPredicates(maybeModifier, maybeImpl);\n assert.not = createModifiedModifier(assertModifier, not);\n assert.maybe = createModifiedModifier(assertModifier, maybe);\n collections.forEach(createOfPredicates);\n createOfModifiers(assert, assertModifier);\n createOfModifiers(not, notModifier);\n collections.forEach(createMaybeOfModifiers);\n exportFunctions(mixin(functions, {\n assert: assert,\n not: not,\n maybe: maybe\n }));\n /**\n * Public function `equal`.\n *\n * Returns true if `lhs` and `rhs` are strictly equal, without coercion.\n * Returns false otherwise.\n */\n\n function equal(lhs, rhs) {\n return lhs === rhs;\n }\n /**\n * Public function `undefined`.\n *\n * Returns true if `data` is undefined, false otherwise.\n */\n\n\n function isUndefined(data) {\n return data === undefined;\n }\n /**\n * Public function `null`.\n *\n * Returns true if `data` is null, false otherwise.\n */\n\n\n function isNull(data) {\n return data === null;\n }\n /**\n * Public function `assigned`.\n *\n * Returns true if `data` is not null or undefined, false otherwise.\n */\n\n\n function assigned(data) {\n return data !== undefined && data !== null;\n }\n /**\n * Public function `primitive`.\n *\n * Returns true if `data` is a primitive type, false otherwise.\n */\n\n\n function primitive(data) {\n var type;\n\n switch (data) {\n case null:\n case undefined:\n case false:\n case true:\n return true;\n }\n\n type = typeof data;\n return type === 'string' || type === 'number' || haveSymbols && type === 'symbol';\n }\n /**\n * Public function `zero`.\n *\n * Returns true if `data` is zero, false otherwise.\n */\n\n\n function zero(data) {\n return data === 0;\n }\n /**\n * Public function `infinity`.\n *\n * Returns true if `data` is positive or negative infinity, false otherwise.\n */\n\n\n function infinity(data) {\n return data === neginf || data === posinf;\n }\n /**\n * Public function `number`.\n *\n * Returns true if `data` is a number, false otherwise.\n */\n\n\n function number(data) {\n return typeof data === 'number' && data > neginf && data < posinf;\n }\n /**\n * Public function `integer`.\n *\n * Returns true if `data` is an integer, false otherwise.\n */\n\n\n function integer(data) {\n return typeof data === 'number' && data % 1 === 0;\n }\n /**\n * Public function `even`.\n *\n * Returns true if `data` is an even number, false otherwise.\n */\n\n\n function even(data) {\n return typeof data === 'number' && data % 2 === 0;\n }\n /**\n * Public function `odd`.\n *\n * Returns true if `data` is an odd number, false otherwise.\n */\n\n\n function odd(data) {\n return integer(data) && data % 2 !== 0;\n }\n /**\n * Public function `greater`.\n *\n * Returns true if `lhs` is a number greater than `rhs`, false otherwise.\n */\n\n\n function greater(lhs, rhs) {\n return number(lhs) && lhs > rhs;\n }\n /**\n * Public function `less`.\n *\n * Returns true if `lhs` is a number less than `rhs`, false otherwise.\n */\n\n\n function less(lhs, rhs) {\n return number(lhs) && lhs < rhs;\n }\n /**\n * Public function `between`.\n *\n * Returns true if `data` is a number between `x` and `y`, false otherwise.\n */\n\n\n function between(data, x, y) {\n if (x < y) {\n return greater(data, x) && data < y;\n }\n\n return less(data, x) && data > y;\n }\n /**\n * Public function `greaterOrEqual`.\n *\n * Returns true if `lhs` is a number greater than or equal to `rhs`, false\n * otherwise.\n */\n\n\n function greaterOrEqual(lhs, rhs) {\n return number(lhs) && lhs >= rhs;\n }\n /**\n * Public function `lessOrEqual`.\n *\n * Returns true if `lhs` is a number less than or equal to `rhs`, false\n * otherwise.\n */\n\n\n function lessOrEqual(lhs, rhs) {\n return number(lhs) && lhs <= rhs;\n }\n /**\n * Public function `inRange`.\n *\n * Returns true if `data` is a number in the range `x..y`, false otherwise.\n */\n\n\n function inRange(data, x, y) {\n if (x < y) {\n return greaterOrEqual(data, x) && data <= y;\n }\n\n return lessOrEqual(data, x) && data >= y;\n }\n /**\n * Public function `positive`.\n *\n * Returns true if `data` is a positive number, false otherwise.\n */\n\n\n function positive(data) {\n return greater(data, 0);\n }\n /**\n * Public function `negative`.\n *\n * Returns true if `data` is a negative number, false otherwise.\n */\n\n\n function negative(data) {\n return less(data, 0);\n }\n /**\n * Public function `string`.\n *\n * Returns true if `data` is a string, false otherwise.\n */\n\n\n function string(data) {\n return typeof data === 'string';\n }\n /**\n * Public function `emptyString`.\n *\n * Returns true if `data` is the empty string, false otherwise.\n */\n\n\n function emptyString(data) {\n return data === '';\n }\n /**\n * Public function `nonEmptyString`.\n *\n * Returns true if `data` is a non-empty string, false otherwise.\n */\n\n\n function nonEmptyString(data) {\n return string(data) && data !== '';\n }\n /**\n * Public function `contains`.\n *\n * Returns true if `data` is a string that contains `substring`, false\n * otherwise.\n */\n\n\n function contains(data, substring) {\n return string(data) && data.indexOf(substring) !== -1;\n }\n /**\n * Public function `match`.\n *\n * Returns true if `data` is a string that matches `regex`, false otherwise.\n */\n\n\n function match(data, regex) {\n return string(data) && !!data.match(regex);\n }\n /**\n * Public function `boolean`.\n *\n * Returns true if `data` is a boolean value, false otherwise.\n */\n\n\n function boolean(data) {\n return data === false || data === true;\n }\n /**\n * Public function `object`.\n *\n * Returns true if `data` is a plain-old JS object, false otherwise.\n */\n\n\n function object(data) {\n return Object.prototype.toString.call(data) === '[object Object]';\n }\n /**\n * Public function `emptyObject`.\n *\n * Returns true if `data` is an empty object, false otherwise.\n */\n\n\n function emptyObject(data) {\n return object(data) && Object.keys(data).length === 0;\n }\n /**\n * Public function `nonEmptyObject`.\n *\n * Returns true if `data` is a non-empty object, false otherwise.\n */\n\n\n function nonEmptyObject(data) {\n return object(data) && Object.keys(data).length > 0;\n }\n /**\n * Public function `instanceStrict`.\n *\n * Returns true if `data` is an instance of `prototype`, false otherwise.\n */\n\n\n function instanceStrict(data, prototype) {\n try {\n return data instanceof prototype;\n } catch (error) {\n return false;\n }\n }\n /**\n * Public function `instance`.\n *\n * Returns true if `data` is an instance of `prototype`, false otherwise.\n * Falls back to testing constructor.name and Object.prototype.toString\n * if the initial instanceof test fails.\n */\n\n\n function instance(data, prototype) {\n try {\n return instanceStrict(data, prototype) || data.constructor.name === prototype.name || Object.prototype.toString.call(data) === '[object ' + prototype.name + ']';\n } catch (error) {\n return false;\n }\n }\n /**\n * Public function `like`.\n *\n * Tests whether `data` 'quacks like a duck'. Returns true if `data` has all\n * of the properties of `archetype` (the 'duck'), false otherwise.\n */\n\n\n function like(data, archetype) {\n var name;\n\n for (name in archetype) {\n if (archetype.hasOwnProperty(name)) {\n if (data.hasOwnProperty(name) === false || typeof data[name] !== typeof archetype[name]) {\n return false;\n }\n\n if (object(data[name]) && like(data[name], archetype[name]) === false) {\n return false;\n }\n }\n }\n\n return true;\n }\n /**\n * Public function `array`.\n *\n * Returns true if `data` is an array, false otherwise.\n */\n\n\n function array(data) {\n return isArray(data);\n }\n /**\n * Public function `emptyArray`.\n *\n * Returns true if `data` is an empty array, false otherwise.\n */\n\n\n function emptyArray(data) {\n return array(data) && data.length === 0;\n }\n /**\n * Public function `nonEmptyArray`.\n *\n * Returns true if `data` is a non-empty array, false otherwise.\n */\n\n\n function nonEmptyArray(data) {\n return array(data) && greater(data.length, 0);\n }\n /**\n * Public function `arrayLike`.\n *\n * Returns true if `data` is an array-like object, false otherwise.\n */\n\n\n function arrayLike(data) {\n return assigned(data) && greaterOrEqual(data.length, 0);\n }\n /**\n * Public function `iterable`.\n *\n * Returns true if `data` is an iterable, false otherwise.\n */\n\n\n function iterable(data) {\n if (!haveSymbols) {\n // Fall back to `arrayLike` predicate in pre-ES6 environments.\n return arrayLike(data);\n }\n\n return assigned(data) && isFunction(data[Symbol.iterator]);\n }\n /**\n * Public function `includes`.\n *\n * Returns true if `data` contains `value`, false otherwise.\n */\n\n\n function includes(data, value) {\n var iterator, iteration, keys, length, i;\n\n if (!assigned(data)) {\n return false;\n }\n\n if (haveSymbols && data[Symbol.iterator] && isFunction(data.values)) {\n iterator = data.values();\n\n do {\n iteration = iterator.next();\n\n if (iteration.value === value) {\n return true;\n }\n } while (!iteration.done);\n\n return false;\n }\n\n keys = Object.keys(data);\n length = keys.length;\n\n for (i = 0; i < length; ++i) {\n if (data[keys[i]] === value) {\n return true;\n }\n }\n\n return false;\n }\n /**\n * Public function `hasLength`.\n *\n * Returns true if `data` has a length property that equals `length`, false\n * otherwise.\n */\n\n\n function hasLength(data, length) {\n return assigned(data) && data.length === length;\n }\n /**\n * Public function `date`.\n *\n * Returns true if `data` is a valid date, false otherwise.\n */\n\n\n function date(data) {\n return instanceStrict(data, Date) && integer(data.getTime());\n }\n /**\n * Public function `function`.\n *\n * Returns true if `data` is a function, false otherwise.\n */\n\n\n function isFunction(data) {\n return typeof data === 'function';\n }\n /**\n * Public function `apply`.\n *\n * Maps each value from the `data` to the corresponding predicate and returns\n * the result array. If the same function is to be applied across all of the\n * data, a single predicate function may be passed in.\n *\n */\n\n\n function apply(data, predicates) {\n assert.array(data);\n\n if (isFunction(predicates)) {\n return data.map(function (value) {\n return predicates(value);\n });\n }\n\n assert.array(predicates);\n assert.hasLength(data, predicates.length);\n return data.map(function (value, index) {\n return predicates[index](value);\n });\n }\n /**\n * Public function `map`.\n *\n * Maps each value from the `data` to the corresponding predicate and returns\n * the result object. Supports nested objects. If the `data` is not nested and\n * the same function is to be applied across all of it, a single predicate\n * function may be passed in.\n *\n */\n\n\n function map(data, predicates) {\n assert.object(data);\n\n if (isFunction(predicates)) {\n return mapSimple(data, predicates);\n }\n\n assert.object(predicates);\n return mapComplex(data, predicates);\n }\n\n function mapSimple(data, predicate) {\n var result = {};\n Object.keys(data).forEach(function (key) {\n result[key] = predicate(data[key]);\n });\n return result;\n }\n\n function mapComplex(data, predicates) {\n var result = {};\n Object.keys(predicates).forEach(function (key) {\n var predicate = predicates[key];\n\n if (isFunction(predicate)) {\n if (not.assigned(data)) {\n result[key] = !!predicate.m;\n } else {\n result[key] = predicate(data[key]);\n }\n } else if (object(predicate)) {\n result[key] = mapComplex(data[key], predicate);\n }\n });\n return result;\n }\n /**\n * Public function `all`\n *\n * Check that all boolean values are true\n * in an array (returned from `apply`)\n * or object (returned from `map`).\n *\n */\n\n\n function all(data) {\n if (array(data)) {\n return testArray(data, false);\n }\n\n assert.object(data);\n return testObject(data, false);\n }\n\n function testArray(data, result) {\n var i;\n\n for (i = 0; i < data.length; i += 1) {\n if (data[i] === result) {\n return result;\n }\n }\n\n return !result;\n }\n\n function testObject(data, result) {\n var key, value;\n\n for (key in data) {\n if (data.hasOwnProperty(key)) {\n value = data[key];\n\n if (object(value) && testObject(value, result) === result) {\n return result;\n }\n\n if (value === result) {\n return result;\n }\n }\n }\n\n return !result;\n }\n /**\n * Public function `any`\n *\n * Check that at least one boolean value is true\n * in an array (returned from `apply`)\n * or object (returned from `map`).\n *\n */\n\n\n function any(data) {\n if (array(data)) {\n return testArray(data, true);\n }\n\n assert.object(data);\n return testObject(data, true);\n }\n\n function mixin(target, source) {\n Object.keys(source).forEach(function (key) {\n target[key] = source[key];\n });\n return target;\n }\n /**\n * Public modifier `assert`.\n *\n * Throws if `predicate` returns false.\n */\n\n\n function assertModifier(predicate, defaultMessage) {\n return function () {\n return assertPredicate(predicate, arguments, defaultMessage);\n };\n }\n\n function assertPredicate(predicate, args, defaultMessage) {\n var argCount = predicate.l || predicate.length;\n var message = args[argCount];\n var ErrorType = args[argCount + 1];\n assertImpl(predicate.apply(null, args), nonEmptyString(message) ? message : defaultMessage, isFunction(ErrorType) ? ErrorType : TypeError);\n return args[0];\n }\n\n function assertImpl(value, message, ErrorType) {\n if (value) {\n return value;\n }\n\n throw new (ErrorType || Error)(message || 'Assertion failed');\n }\n /**\n * Public modifier `not`.\n *\n * Negates `predicate`.\n */\n\n\n function notModifier(predicate) {\n var modifiedPredicate = function modifiedPredicate() {\n return notImpl(predicate.apply(null, arguments));\n };\n\n modifiedPredicate.l = predicate.length;\n return modifiedPredicate;\n }\n\n function notImpl(value) {\n return !value;\n }\n /**\n * Public modifier `maybe`.\n *\n * Returns true if predicate argument is null or undefined,\n * otherwise propagates the return value from `predicate`.\n */\n\n\n function maybeModifier(predicate) {\n var modifiedPredicate = function modifiedPredicate() {\n if (not.assigned(arguments[0])) {\n return true;\n }\n\n return predicate.apply(null, arguments);\n };\n\n modifiedPredicate.l = predicate.length; // Hackishly indicate that this is a maybe.xxx predicate.\n // Without this flag, the alternative would be to iterate\n // through the maybe predicates or use indexOf to check,\n // which would be time-consuming.\n\n modifiedPredicate.m = true;\n return modifiedPredicate;\n }\n\n function maybeImpl(value) {\n if (assigned(value) === false) {\n return true;\n }\n\n return value;\n }\n /**\n * Public modifier `of`.\n *\n * Applies the chained predicate to members of the collection.\n */\n\n\n function ofModifier(target, type, predicate) {\n var modifiedPredicate = function modifiedPredicate() {\n var collection, args;\n collection = arguments[0];\n\n if (target === 'maybe' && not.assigned(collection)) {\n return true;\n }\n\n if (!type(collection)) {\n return false;\n }\n\n collection = coerceCollection(type, collection);\n args = slice.call(arguments, 1);\n\n try {\n collection.forEach(function (item) {\n if ((target !== 'maybe' || assigned(item)) && !predicate.apply(null, [item].concat(args))) {\n // TODO: Replace with for...of when ES6 is required.\n throw 0;\n }\n });\n } catch (ignore) {\n return false;\n }\n\n return true;\n };\n\n modifiedPredicate.l = predicate.length;\n return modifiedPredicate;\n }\n\n function coerceCollection(type, collection) {\n switch (type) {\n case arrayLike:\n return slice.call(collection);\n\n case object:\n return Object.keys(collection).map(function (key) {\n return collection[key];\n });\n\n default:\n return collection;\n }\n }\n\n function createModifiedPredicates(modifier, object) {\n return createModifiedFunctions([modifier, predicates, object]);\n }\n\n function createModifiedFunctions(args) {\n var modifier, object, functions, result;\n modifier = args.shift();\n object = args.pop();\n functions = args.pop();\n result = object || {};\n Object.keys(functions).forEach(function (key) {\n Object.defineProperty(result, key, {\n configurable: false,\n enumerable: true,\n writable: false,\n value: modifier.apply(null, args.concat(functions[key], messages[key]))\n });\n });\n return result;\n }\n\n function createModifiedModifier(modifier, modified) {\n return createModifiedFunctions([modifier, modified, null]);\n }\n\n function createOfPredicates(key) {\n predicates[key].of = createModifiedFunctions([ofModifier.bind(null, null), predicates[key], predicates, null]);\n }\n\n function createOfModifiers(base, modifier) {\n collections.forEach(function (key) {\n base[key].of = createModifiedModifier(modifier, predicates[key].of);\n });\n }\n\n function createMaybeOfModifiers(key) {\n maybe[key].of = createModifiedFunctions([ofModifier.bind(null, 'maybe'), predicates[key], predicates, null]);\n assert.maybe[key].of = createModifiedModifier(assertModifier, maybe[key].of);\n assert.not[key].of = createModifiedModifier(assertModifier, not[key].of);\n }\n\n function exportFunctions(functions) {\n if (typeof define === 'function' && define.amd) {\n define(function () {\n return functions;\n });\n } else if (typeof module !== 'undefined' && module !== null && module.exports) {\n module.exports = functions;\n } else {\n globals.check = functions;\n }\n }\n})(this);","// Copyright 2014 Simon Lydell\n// X11 (“MIT”) Licensed. (See LICENSE.)\nvoid function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(factory);\n } else if (typeof exports === \"object\") {\n module.exports = factory();\n } else {\n root.resolveUrl = factory();\n }\n}(this, function () {\n function resolveUrl()\n /* ...urls */\n {\n var numUrls = arguments.length;\n\n if (numUrls === 0) {\n throw new Error(\"resolveUrl requires at least one argument; got none.\");\n }\n\n var base = document.createElement(\"base\");\n base.href = arguments[0];\n\n if (numUrls === 1) {\n return base.href;\n }\n\n var head = document.getElementsByTagName(\"head\")[0];\n head.insertBefore(base, head.firstChild);\n var a = document.createElement(\"a\");\n var resolved;\n\n for (var index = 1; index < numUrls; index++) {\n a.href = arguments[index];\n resolved = a.href;\n base.href = resolved;\n }\n\n head.removeChild(base);\n return resolved;\n }\n\n return resolveUrl;\n});","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _objectSpread4 = _interopRequireDefault(require(\"@babel/runtime/helpers/esm/objectSpread\"));\n\n/**\n *\n * Tesseract Worker adapter for browser\n *\n * @fileoverview Tesseract Worker adapter for browser\n * @author Kevin Kwok <antimatter15@gmail.com>\n * @author Guillermo Webster <gui@mit.edu>\n * @author Jerome Wu <jeromewus@gmail.com>\n */\nvar check = require('check-types');\n\nvar resolveURL = require('resolve-url');\n\nvar axios = require('axios');\n\nvar b64toU8Array = require('./b64toU8Array');\n\nvar _require = require('../common/options'),\n defaultOptions = _require.defaultOptions;\n\nvar _require2 = require('../../package.json'),\n version = _require2.version;\n/**\n * readFromBlobOrFile\n *\n * @name readFromBlobOrFile\n * @function\n * @access private\n * @param {object} blob A blob or file objec to read\n * @param {function} res callback function after reading completes\n */\n\n\nvar readFromBlobOrFile = function readFromBlobOrFile(blob, res) {\n var fileReader = new FileReader();\n\n fileReader.onload = function () {\n res(fileReader.result);\n };\n\n fileReader.readAsArrayBuffer(blob);\n};\n/**\n * loadImage\n *\n * @name loadImage\n * @function load image from different source\n * @access private\n * @param {string, object} image - image source, supported formats:\n * string: URL string, can be relative path\n * string: base64 image\n * img HTMLElement: extract image source from src attribute\n * video HTMLElement: extract image source from poster attribute\n * canvas HTMLElement: extract image data by converting to Blob\n * File instance: data from <input type=\"file\" />\n * @returns {array} binary image in array format\n */\n\n\nvar loadImage = function loadImage(image) {\n if (check.string(image)) {\n // Base64 Image\n if (/data:image\\/([a-zA-Z]*);base64,([^\"]*)/.test(image)) {\n return Promise.resolve(b64toU8Array(image.split(',')[1]));\n } // Image URL\n\n\n return axios.get(resolveURL(image), {\n responseType: 'arraybuffer'\n }).then(function (resp) {\n return resp.data;\n });\n }\n\n if (check.instance(image, HTMLElement)) {\n if (image.tagName === 'IMG') {\n return loadImage(image.src);\n }\n\n if (image.tagName === 'VIDEO') {\n return loadImage(image.poster);\n }\n\n if (image.tagName === 'CANVAS') {\n return new Promise(function (res) {\n image.toBlob(function (blob) {\n readFromBlobOrFile(blob, res);\n });\n });\n }\n }\n\n if (check.instance(image, File) || check.instance(image, Blob)) {\n return new Promise(function (res) {\n readFromBlobOrFile(image, res);\n });\n }\n\n return Promise.reject();\n};\n\nvar downloadFile = function downloadFile(path, blob) {\n if (navigator.msSaveBlob) {\n // IE 10+\n navigator.msSaveBlob(blob, path);\n } else {\n var link = document.createElement('a'); // Browsers that support HTML5 download attribute\n\n if (link.download !== undefined) {\n var url = URL.createObjectURL(blob);\n link.setAttribute('href', url);\n link.setAttribute('download', path);\n link.style.visibility = 'hidden';\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n }\n }\n};\n/*\n * Default options for browser worker\n */\n\n\nexports.defaultOptions = (0, _objectSpread4.default)({}, defaultOptions, {\n workerPath: typeof process !== 'undefined' && process.env.TESS_ENV === 'development' ? resolveURL(\"/dist/worker.dev.js?nocache=\" + Math.random().toString(36).slice(3)) : \"https://unpkg.com/tesseract.js@v\" + version + \"/dist/worker.min.js\",\n\n /*\n * If browser doesn't support WebAssembly,\n * load ASM version instead\n */\n corePath: \"https://unpkg.com/tesseract.js-core@v2.0.0-beta.10/tesseract-core.\" + (typeof WebAssembly === 'object' ? 'wasm' : 'asm') + \".js\"\n});\n/**\n * spawnWorker\n *\n * @name spawnWorker\n * @function create a new Worker in browser\n * @access public\n * @param {object} instance - TesseractWorker instance\n * @param {object} options\n * @param {string} options.workerPath - worker script path\n */\n\nexports.spawnWorker = function (instance, _ref) {\n var workerPath = _ref.workerPath;\n var worker;\n\n if (Blob && URL) {\n var blob = new Blob([\"importScripts(\\\"\" + workerPath + \"\\\");\"], {\n type: 'application/javascript'\n });\n worker = new Worker(URL.createObjectURL(blob));\n } else {\n worker = new Worker(workerPath);\n }\n\n worker.onmessage = function (_ref2) {\n var data = _ref2.data;\n\n if (data.jobId.startsWith('Job')) {\n instance.recv(data);\n } else if (data.jobId.startsWith('Download')) {\n var path = data.path,\n d = data.data,\n type = data.type;\n\n var _blob = new Blob([d], {\n type: type\n });\n\n downloadFile(path, _blob);\n }\n };\n\n return worker;\n};\n/**\n * terminateWorker\n *\n * @name terminateWorker\n * @function terminate worker\n * @access public\n * @param {object} instance TesseractWorker instance\n */\n\n\nexports.terminateWorker = function (instance) {\n instance.worker.terminate();\n};\n/**\n * sendPacket\n *\n * @name sendPacket\n * @function send packet to worker and create a job\n * @access public\n * @param {object} instance TesseractWorker instance\n * @param {object} iPacket data for worker\n */\n\n\nexports.sendPacket = function (instance, iPacket) {\n var packet = (0, _objectSpread4.default)({}, iPacket);\n loadImage(packet.payload.image).then(function (buf) {\n return new Uint8Array(buf);\n }).then(function (img) {\n packet.payload.image = Array.from(img);\n instance.worker.postMessage(packet);\n });\n};","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n\n return fn.apply(thisArg, args);\n };\n};","'use strict';\n\nvar utils = require('./../utils');\n\nvar settle = require('./../core/settle');\n\nvar buildURL = require('./../helpers/buildURL');\n\nvar parseHeaders = require('./../helpers/parseHeaders');\n\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\n\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest(); // HTTP basic authentication\n\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password || '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true); // Set the request timeout in MS\n\n request.timeout = config.timeout; // Listen for ready state\n\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n } // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n\n\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n } // Prepare the response\n\n\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n settle(resolve, reject, response); // Clean up request\n\n request = null;\n }; // Handle low level network errors\n\n\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request)); // Clean up request\n\n request = null;\n }; // Handle timeout\n\n\n request.ontimeout = function handleTimeout() {\n reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED', request)); // Clean up request\n\n request = null;\n }; // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n\n if (utils.isStandardBrowserEnv()) {\n var cookies = require('./../helpers/cookies'); // Add xsrf header\n\n\n var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ? cookies.read(config.xsrfCookieName) : undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n } // Add headers to the request\n\n\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n } // Add withCredentials to request if needed\n\n\n if (config.withCredentials) {\n request.withCredentials = true;\n } // Add responseType to request if needed\n\n\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n } // Handle progress if needed\n\n\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n } // Not all browsers support upload events\n\n\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel); // Clean up request\n\n request = null;\n });\n }\n\n if (requestData === undefined) {\n requestData = null;\n } // Send the request\n\n\n request.send(requestData);\n });\n};","'use strict';\n\nvar enhanceError = require('./enhanceError');\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\n\n\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};","'use strict';\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\n\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\nmodule.exports = Cancel;","\"use strict\";\n\nmodule.exports = {\n /*\n * OEM = OCR Engine Mode, and there are 5 possible modes.\n *\n * By default tesseract.js uses TESSERACT_LSTM_COMBINED mode, which uses LSTM when possible.\n * If you need to use some tesseract v3 features (like tessedit_char_whitelist),\n * you need to use TESSERACT_ONLY mode.\n *\n */\n OEM: {\n TESSERACT_ONLY: 0,\n LSTM_ONLY: 1,\n TESSERACT_LSTM_COMBINED: 2,\n DEFAULT: 3\n },\n\n /*\n * PSM = Page Segmentation Mode\n */\n PSM: {\n OSD_ONLY: '0',\n AUTO_OSD: '1',\n AUTO_ONLY: '2',\n AUTO: '3',\n SINGLE_COLUMN: '4',\n SINGLE_BLOCK_VERT_TEXT: '5',\n SINGLE_BLOCK: '6',\n SINGLE_LINE: '7',\n SINGLE_WORD: '8',\n SINGLE_CHAR: '9',\n SPARSE_TEXT: '10',\n SPARSE_TEXT_OSD: '11',\n RAW_LINE: '12'\n }\n};","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _objectSpread3 = _interopRequireDefault(require(\"@babel/runtime/helpers/esm/objectSpread\"));\n\nvar cache = require('./common/browser/cache');\n\nmodule.exports = {\n loadLang: require('./loadLang')((0, _objectSpread3.default)({\n gunzip: require('./common/browser/gunzip')\n }, cache)),\n readImage: require('./readImage'),\n cache: cache\n};","\"use strict\";\n\nvar _require = require('idb-keyval'),\n set = _require.set,\n get = _require.get,\n del = _require.del;\n\nmodule.exports = {\n readCache: get,\n writeCache: set,\n deleteCache: del,\n checkCache: function checkCache(path) {\n return get(path).then(function (v) {\n return typeof v !== 'undefined';\n });\n }\n};","var Store =\n/*#__PURE__*/\nfunction () {\n function Store(dbName, storeName) {\n if (dbName === void 0) {\n dbName = 'keyval-store';\n }\n\n if (storeName === void 0) {\n storeName = 'keyval';\n }\n\n this.storeName = storeName;\n this._dbp = new Promise(function (resolve, reject) {\n var openreq = indexedDB.open(dbName, 1);\n\n openreq.onerror = function () {\n return reject(openreq.error);\n };\n\n openreq.onsuccess = function () {\n return resolve(openreq.result);\n }; // First time setup: create an empty object store\n\n\n openreq.onupgradeneeded = function () {\n openreq.result.createObjectStore(storeName);\n };\n });\n }\n\n var _proto = Store.prototype;\n\n _proto._withIDBStore = function _withIDBStore(type, callback) {\n var _this = this;\n\n return this._dbp.then(function (db) {\n return new Promise(function (resolve, reject) {\n var transaction = db.transaction(_this.storeName, type);\n\n transaction.oncomplete = function () {\n return resolve();\n };\n\n transaction.onabort = transaction.onerror = function () {\n return reject(transaction.error);\n };\n\n callback(transaction.objectStore(_this.storeName));\n });\n });\n };\n\n return Store;\n}();\n\nvar store;\n\nfunction getDefaultStore() {\n if (!store) store = new Store();\n return store;\n}\n\nfunction get(key, store) {\n if (store === void 0) {\n store = getDefaultStore();\n }\n\n var req;\n return store._withIDBStore('readonly', function (store) {\n req = store.get(key);\n }).then(function () {\n return req.result;\n });\n}\n\nfunction set(key, value, store) {\n if (store === void 0) {\n store = getDefaultStore();\n }\n\n return store._withIDBStore('readwrite', function (store) {\n store.put(value, key);\n });\n}\n\nfunction del(key, store) {\n if (store === void 0) {\n store = getDefaultStore();\n }\n\n return store._withIDBStore('readwrite', function (store) {\n store.delete(key);\n });\n}\n\nfunction clear(store) {\n if (store === void 0) {\n store = getDefaultStore();\n }\n\n return store._withIDBStore('readwrite', function (store) {\n store.clear();\n });\n}\n\nfunction keys(store) {\n if (store === void 0) {\n store = getDefaultStore();\n }\n\n var keys = [];\n return store._withIDBStore('readonly', function (store) {\n // This would be store.getAllKeys(), but it isn't supported by Edge or Safari.\n // And openKeyCursor isn't supported by Safari.\n (store.openKeyCursor || store.openCursor).call(store).onsuccess = function () {\n if (!this.result) return;\n keys.push(this.result.key);\n this.result.continue();\n };\n }).then(function () {\n return keys;\n });\n}\n\nexport { Store, get, set, del, clear, keys };","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _objectSpread3 = _interopRequireDefault(require(\"@babel/runtime/helpers/esm/objectSpread\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\"));\n\nvar isURL = require('is-url');\n\nvar fileType = require('file-type');\n\nvar axios = require('axios');\n\nvar handleLang = function handleLang(modules) {\n return function (_ref) {\n var TessModule = _ref.TessModule,\n dataPath = _ref.dataPath,\n cachePath = _ref.cachePath,\n cacheMethod = _ref.cacheMethod,\n langCode = _ref.langCode;\n return function (data) {\n if (TessModule) {\n if (dataPath) {\n try {\n TessModule.FS.mkdir(dataPath);\n } catch (err) {// TODO: Do some error handling here.\n }\n }\n\n TessModule.FS.writeFile((dataPath || '.') + \"/\" + langCode + \".traineddata\", data);\n }\n\n if (['write', 'refresh', undefined].includes(cacheMethod)) {\n return modules.writeCache((cachePath || '.') + \"/\" + langCode + \".traineddata\", data).then(function () {\n return data;\n });\n }\n\n return data;\n };\n };\n};\n\nvar loadAndGunzipFile = function loadAndGunzipFile(modules) {\n return function (_ref2) {\n var langPath = _ref2.langPath,\n cachePath = _ref2.cachePath,\n cacheMethod = _ref2.cacheMethod,\n _ref2$gzip = _ref2.gzip,\n gzip = _ref2$gzip === void 0 ? true : _ref2$gzip,\n options = (0, _objectWithoutPropertiesLoose2.default)(_ref2, [\"langPath\", \"cachePath\", \"cacheMethod\", \"gzip\"]);\n return function (lang) {\n var langCode = typeof lang === 'string' ? lang : lang.code;\n\n var handleTraineddata = function handleTraineddata(data) {\n var type = fileType(data);\n\n if (type !== null && type.mime === 'application/gzip') {\n return modules.gunzip(new Uint8Array(data));\n }\n\n return new Uint8Array(data);\n };\n\n var doHandleLang = handleLang(modules)((0, _objectSpread3.default)({\n cachePath: cachePath,\n cacheMethod: cacheMethod,\n langCode: langCode\n }, options));\n var readCache = modules.readCache;\n\n if (['refresh', 'none'].includes(cacheMethod)) {\n readCache = function readCache() {\n return Promise.resolve();\n };\n }\n\n return readCache((cachePath || '.') + \"/\" + langCode + \".traineddata\").then(function (data) {\n if (typeof data === 'undefined') {\n return Promise.reject();\n }\n\n return doHandleLang(data);\n })\n /*\n * If not found in the cache\n */\n .catch(function () {\n if (typeof lang === 'string') {\n var fetchTrainedData = function fetchTrainedData(iLangPath) {\n return axios.get(iLangPath + \"/\" + langCode + \".traineddata\" + (gzip ? '.gz' : ''), {\n responseType: 'arraybuffer'\n }).then(function (_ref3) {\n var data = _ref3.data;\n return new Uint8Array(data);\n }).then(handleTraineddata).then(doHandleLang);\n };\n /** When langPath is an URL, just do the fetch */\n\n\n if (isURL(langPath) || langPath.startsWith('chrome-extension://')\n /* for chrome extensions */\n ) {\n return fetchTrainedData(langPath);\n }\n /** When langPath is not an URL in Node.js environment */\n\n\n return modules.readCache(langPath + \"/\" + langCode + \".traineddata\" + (gzip ? '.gz' : '')).then(handleTraineddata).then(doHandleLang);\n }\n\n return Promise.resolve(lang.data).then(handleTraineddata).then(doHandleLang);\n });\n };\n };\n};\n/**\n *\n * @name loadLang\n * @function load language(s) from local cache, download from remote if not in cache.\n * @param {object} options\n * @param {array} options.langs -\n * langs to load.\n * Each item in the array can be string (ex. 'eng') or object like:\n * {\n * code: 'eng',\n * gzip: false,\n * data: Uint8Array\n * }\n * @param {object} options.TessModule - TesseractModule\n * @param {string} options.langPath - prefix path for downloading lang file\n * @param {string} options.cachePath - path to find cache\n * @param {string} options.dataPath - path to store data in mem\n * @param {boolean} options.gzip -\n * indicate whether to download gzip version from remote, default: true\n * @param {string} options.cacheMethod -\n * method of cache invaliation, should one of following options:\n * write: read cache and write back (default method)\n * readOnly: read cache and not to write back\n * refresh: not to read cache and write back\n * none: not to read cache and not to write back\n *\n */\n\n\nmodule.exports = function (modules) {\n return function (_ref4) {\n var langs = _ref4.langs,\n options = (0, _objectWithoutPropertiesLoose2.default)(_ref4, [\"langs\"]);\n return Promise.all((typeof langs === 'string' ? langs.split('+') : langs).map(loadAndGunzipFile(modules)(options)));\n };\n};","\"use strict\";\n\n/**\n * Expose `isUrl`.\n */\nmodule.exports = isUrl;\n/**\n * RegExps.\n * A URL must match #1 and then at least one of #2/#3.\n * Use two levels of REs to avoid REDOS.\n */\n\nvar protocolAndDomainRE = /^(?:\\w+:)?\\/\\/(\\S+)$/;\nvar localhostDomainRE = /^localhost[\\:?\\d]*(?:[^\\:?\\d]\\S*)?$/;\nvar nonLocalhostDomainRE = /^[^\\s\\.]+\\.\\S{2,}$/;\n/**\n * Loosely validate a URL `string`.\n *\n * @param {String} string\n * @return {Boolean}\n */\n\nfunction isUrl(string) {\n if (typeof string !== 'string') {\n return false;\n }\n\n var match = string.match(protocolAndDomainRE);\n\n if (!match) {\n return false;\n }\n\n var everythingAfterProtocol = match[1];\n\n if (!everythingAfterProtocol) {\n return false;\n }\n\n if (localhostDomainRE.test(everythingAfterProtocol) || nonLocalhostDomainRE.test(everythingAfterProtocol)) {\n return true;\n }\n\n return false;\n}","\"use strict\";\n\nmodule.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./utils');\n\nvar bind = require('./helpers/bind');\n\nvar Axios = require('./core/Axios');\n\nvar defaults = require('./defaults');\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\n\n\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context); // Copy axios.prototype to instance\n\n utils.extend(instance, Axios.prototype, context); // Copy context to instance\n\n utils.extend(instance, context);\n return instance;\n} // Create the default instance to be exported\n\n\nvar axios = createInstance(defaults); // Expose Axios class to allow class inheritance\n\naxios.Axios = Axios; // Factory for creating new instances\n\naxios.create = function create(instanceConfig) {\n return createInstance(utils.merge(defaults, instanceConfig));\n}; // Expose Cancel & CancelToken\n\n\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel'); // Expose all/spread\n\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = require('./helpers/spread');\nmodule.exports = axios; // Allow use of default import syntax in TypeScript\n\nmodule.exports.default = axios;","\"use strict\";\n\n/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\nmodule.exports = function isBuffer(obj) {\n return obj != null && obj.constructor != null && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj);\n};","'use strict';\n\nvar defaults = require('./../defaults');\n\nvar utils = require('./../utils');\n\nvar InterceptorManager = require('./InterceptorManager');\n\nvar dispatchRequest = require('./dispatchRequest');\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\n\n\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\n\n\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = utils.merge({\n url: arguments[0]\n }, arguments[1]);\n }\n\n config = utils.merge(defaults, {\n method: 'get'\n }, this.defaults, config);\n config.method = config.method.toLowerCase(); // Hook up interceptors middleware\n\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n}; // Provide aliases for supported request methods\n\n\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function (url, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url\n }));\n };\n});\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function (url, data, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\nmodule.exports = Axios;","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};","'use strict';\n\nvar createError = require('./createError');\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\n\n\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus; // Note: status is not exposed by XDomainRequest\n\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError('Request failed with status code ' + response.status, response.config, null, response.request, response));\n }\n};","'use strict';\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\n\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n return error;\n};","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).replace(/%40/gi, '@').replace(/%3A/gi, ':').replace(/%24/g, '$').replace(/%2C/gi, ',').replace(/%20/g, '+').replace(/%5B/gi, '[').replace(/%5D/gi, ']');\n}\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\n\n\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};","'use strict';\n\nvar utils = require('./../utils'); // Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\n\n\nvar ignoreDuplicateOf = ['age', 'authorization', 'content-length', 'content-type', 'etag', 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since', 'last-modified', 'location', 'max-forwards', 'proxy-authorization', 'referer', 'retry-after', 'user-agent'];\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\n\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) {\n return parsed;\n }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n return parsed;\n};","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = utils.isStandardBrowserEnv() ? // Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\nfunction standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href); // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: urlParsingNode.pathname.charAt(0) === '/' ? urlParsingNode.pathname : '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n\n return function isURLSameOrigin(requestURL) {\n var parsed = utils.isString(requestURL) ? resolveURL(requestURL) : requestURL;\n return parsed.protocol === originURL.protocol && parsed.host === originURL.host;\n };\n}() : // Non standard browser envs (web workers, react-native) lack needed support.\nfunction nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n}();","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = utils.isStandardBrowserEnv() ? // Standard browser envs support document.cookie\nfunction standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return match ? decodeURIComponent(match[3]) : null;\n },\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n}() : // Non standard browser env (web workers, react-native) lack needed support.\nfunction nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() {\n return null;\n },\n remove: function remove() {}\n };\n}();","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n\n\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\n\n\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\n\n\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;","'use strict';\n\nvar utils = require('./../utils');\n\nvar transformData = require('./transformData');\n\nvar isCancel = require('../cancel/isCancel');\n\nvar defaults = require('../defaults');\n\nvar isAbsoluteURL = require('./../helpers/isAbsoluteURL');\n\nvar combineURLs = require('./../helpers/combineURLs');\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\n\n\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\n\n\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config); // Support baseURL config\n\n if (config.baseURL && !isAbsoluteURL(config.url)) {\n config.url = combineURLs(config.baseURL, config.url);\n } // Ensure headers exist\n\n\n config.headers = config.headers || {}; // Transform request data\n\n config.data = transformData(config.data, config.headers, config.transformRequest); // Flatten headers\n\n config.headers = utils.merge(config.headers.common || {}, config.headers[config.method] || {}, config.headers || {});\n utils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], function cleanHeaderConfig(method) {\n delete config.headers[method];\n });\n var adapter = config.adapter || defaults.adapter;\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config); // Transform response data\n\n response.data = transformData(response.data, response.headers, config.transformResponse);\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config); // Transform response data\n\n if (reason && reason.response) {\n reason.response.data = transformData(reason.response.data, reason.response.headers, config.transformResponse);\n }\n }\n\n return Promise.reject(reason);\n });\n};","'use strict';\n\nvar utils = require('./../utils');\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\n\n\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n return data;\n};","'use strict';\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\n\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};","'use strict';\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\n\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '') : baseURL;\n};","'use strict';\n\nvar Cancel = require('./Cancel');\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\n\n\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\n\n\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n\n\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;","'use strict';\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\n\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};","\"use strict\";\n\nmodule.exports = require('zlibjs').gunzipSync;","/** @license zlib.js 2012 - imaya [ https://github.com/imaya/zlib.js ] The MIT License */\n(function () {\n 'use strict';\n\n function q(b) {\n throw b;\n }\n\n var t = void 0,\n v = !0;\n var B = \"undefined\" !== typeof Uint8Array && \"undefined\" !== typeof Uint16Array && \"undefined\" !== typeof Uint32Array && \"undefined\" !== typeof DataView;\n\n function G(b, a) {\n this.index = \"number\" === typeof a ? a : 0;\n this.m = 0;\n this.buffer = b instanceof (B ? Uint8Array : Array) ? b : new (B ? Uint8Array : Array)(32768);\n 2 * this.buffer.length <= this.index && q(Error(\"invalid index\"));\n this.buffer.length <= this.index && this.f();\n }\n\n G.prototype.f = function () {\n var b = this.buffer,\n a,\n c = b.length,\n d = new (B ? Uint8Array : Array)(c << 1);\n if (B) d.set(b);else for (a = 0; a < c; ++a) {\n d[a] = b[a];\n }\n return this.buffer = d;\n };\n\n G.prototype.d = function (b, a, c) {\n var d = this.buffer,\n e = this.index,\n f = this.m,\n g = d[e],\n k;\n c && 1 < a && (b = 8 < a ? (I[b & 255] << 24 | I[b >>> 8 & 255] << 16 | I[b >>> 16 & 255] << 8 | I[b >>> 24 & 255]) >> 32 - a : I[b] >> 8 - a);\n if (8 > a + f) g = g << a | b, f += a;else for (k = 0; k < a; ++k) {\n g = g << 1 | b >> a - k - 1 & 1, 8 === ++f && (f = 0, d[e++] = I[g], g = 0, e === d.length && (d = this.f()));\n }\n d[e] = g;\n this.buffer = d;\n this.m = f;\n this.index = e;\n };\n\n G.prototype.finish = function () {\n var b = this.buffer,\n a = this.index,\n c;\n 0 < this.m && (b[a] <<= 8 - this.m, b[a] = I[b[a]], a++);\n B ? c = b.subarray(0, a) : (b.length = a, c = b);\n return c;\n };\n\n var aa = new (B ? Uint8Array : Array)(256),\n L;\n\n for (L = 0; 256 > L; ++L) {\n for (var R = L, ba = R, ca = 7, R = R >>> 1; R; R >>>= 1) {\n ba <<= 1, ba |= R & 1, --ca;\n }\n\n aa[L] = (ba << ca & 255) >>> 0;\n }\n\n var I = aa;\n\n function ha(b, a, c) {\n var d,\n e = \"number\" === typeof a ? a : a = 0,\n f = \"number\" === typeof c ? c : b.length;\n d = -1;\n\n for (e = f & 7; e--; ++a) {\n d = d >>> 8 ^ S[(d ^ b[a]) & 255];\n }\n\n for (e = f >> 3; e--; a += 8) {\n d = d >>> 8 ^ S[(d ^ b[a]) & 255], d = d >>> 8 ^ S[(d ^ b[a + 1]) & 255], d = d >>> 8 ^ S[(d ^ b[a + 2]) & 255], d = d >>> 8 ^ S[(d ^ b[a + 3]) & 255], d = d >>> 8 ^ S[(d ^ b[a + 4]) & 255], d = d >>> 8 ^ S[(d ^ b[a + 5]) & 255], d = d >>> 8 ^ S[(d ^ b[a + 6]) & 255], d = d >>> 8 ^ S[(d ^ b[a + 7]) & 255];\n }\n\n return (d ^ 4294967295) >>> 0;\n }\n\n var ia = [0, 1996959894, 3993919788, 2567524794, 124634137, 1886057615, 3915621685, 2657392035, 249268274, 2044508324, 3772115230, 2547177864, 162941995, 2125561021, 3887607047, 2428444049, 498536548, 1789927666, 4089016648, 2227061214, 450548861, 1843258603, 4107580753, 2211677639, 325883990, 1684777152, 4251122042, 2321926636, 335633487, 1661365465, 4195302755, 2366115317, 997073096, 1281953886, 3579855332, 2724688242, 1006888145, 1258607687, 3524101629, 2768942443, 901097722, 1119000684, 3686517206, 2898065728, 853044451, 1172266101, 3705015759, 2882616665, 651767980, 1373503546, 3369554304, 3218104598, 565507253, 1454621731, 3485111705, 3099436303, 671266974, 1594198024, 3322730930, 2970347812, 795835527, 1483230225, 3244367275, 3060149565, 1994146192, 31158534, 2563907772, 4023717930, 1907459465, 112637215, 2680153253, 3904427059, 2013776290, 251722036, 2517215374, 3775830040, 2137656763, 141376813, 2439277719, 3865271297, 1802195444, 476864866, 2238001368, 4066508878, 1812370925, 453092731, 2181625025, 4111451223, 1706088902, 314042704, 2344532202, 4240017532, 1658658271, 366619977, 2362670323, 4224994405, 1303535960, 984961486, 2747007092, 3569037538, 1256170817, 1037604311, 2765210733, 3554079995, 1131014506, 879679996, 2909243462, 3663771856, 1141124467, 855842277, 2852801631, 3708648649, 1342533948, 654459306, 3188396048, 3373015174, 1466479909, 544179635, 3110523913, 3462522015, 1591671054, 702138776, 2966460450, 3352799412, 1504918807, 783551873, 3082640443, 3233442989, 3988292384, 2596254646, 62317068, 1957810842, 3939845945, 2647816111, 81470997, 1943803523, 3814918930, 2489596804, 225274430, 2053790376, 3826175755, 2466906013, 167816743, 2097651377, 4027552580, 2265490386, 503444072, 1762050814, 4150417245, 2154129355, 426522225, 1852507879, 4275313526, 2312317920, 282753626, 1742555852, 4189708143, 2394877945, 397917763, 1622183637, 3604390888, 2714866558, 953729732, 1340076626, 3518719985, 2797360999, 1068828381, 1219638859, 3624741850, 2936675148, 906185462, 1090812512, 3747672003, 2825379669, 829329135, 1181335161, 3412177804, 3160834842, 628085408, 1382605366, 3423369109, 3138078467, 570562233, 1426400815, 3317316542, 2998733608, 733239954, 1555261956, 3268935591, 3050360625, 752459403, 1541320221, 2607071920, 3965973030, 1969922972, 40735498, 2617837225, 3943577151, 1913087877, 83908371, 2512341634, 3803740692, 2075208622, 213261112, 2463272603, 3855990285, 2094854071, 198958881, 2262029012, 4057260610, 1759359992, 534414190, 2176718541, 4139329115, 1873836001, 414664567, 2282248934, 4279200368, 1711684554, 285281116, 2405801727, 4167216745, 1634467795, 376229701, 2685067896, 3608007406, 1308918612, 956543938, 2808555105, 3495958263, 1231636301, 1047427035, 2932959818, 3654703836, 1088359270, 936918E3, 2847714899, 3736837829, 1202900863, 817233897, 3183342108, 3401237130, 1404277552, 615818150, 3134207493, 3453421203, 1423857449, 601450431, 3009837614, 3294710456, 1567103746, 711928724, 3020668471, 3272380065, 1510334235, 755167117],\n S = B ? new Uint32Array(ia) : ia;\n\n function ja() {}\n\n ;\n\n function ka(b) {\n this.buffer = new (B ? Uint16Array : Array)(2 * b);\n this.length = 0;\n }\n\n ka.prototype.getParent = function (b) {\n return 2 * ((b - 2) / 4 | 0);\n };\n\n ka.prototype.push = function (b, a) {\n var c,\n d,\n e = this.buffer,\n f;\n c = this.length;\n e[this.length++] = a;\n\n for (e[this.length++] = b; 0 < c;) {\n if (d = this.getParent(c), e[c] > e[d]) f = e[c], e[c] = e[d], e[d] = f, f = e[c + 1], e[c + 1] = e[d + 1], e[d + 1] = f, c = d;else break;\n }\n\n return this.length;\n };\n\n ka.prototype.pop = function () {\n var b,\n a,\n c = this.buffer,\n d,\n e,\n f;\n a = c[0];\n b = c[1];\n this.length -= 2;\n c[0] = c[this.length];\n c[1] = c[this.length + 1];\n\n for (f = 0;;) {\n e = 2 * f + 2;\n if (e >= this.length) break;\n e + 2 < this.length && c[e + 2] > c[e] && (e += 2);\n if (c[e] > c[f]) d = c[f], c[f] = c[e], c[e] = d, d = c[f + 1], c[f + 1] = c[e + 1], c[e + 1] = d;else break;\n f = e;\n }\n\n return {\n index: b,\n value: a,\n length: this.length\n };\n };\n\n function T(b) {\n var a = b.length,\n c = 0,\n d = Number.POSITIVE_INFINITY,\n e,\n f,\n g,\n k,\n h,\n m,\n r,\n p,\n l,\n n;\n\n for (p = 0; p < a; ++p) {\n b[p] > c && (c = b[p]), b[p] < d && (d = b[p]);\n }\n\n e = 1 << c;\n f = new (B ? Uint32Array : Array)(e);\n g = 1;\n k = 0;\n\n for (h = 2; g <= c;) {\n for (p = 0; p < a; ++p) {\n if (b[p] === g) {\n m = 0;\n r = k;\n\n for (l = 0; l < g; ++l) {\n m = m << 1 | r & 1, r >>= 1;\n }\n\n n = g << 16 | p;\n\n for (l = m; l < e; l += h) {\n f[l] = n;\n }\n\n ++k;\n }\n }\n\n ++g;\n k <<= 1;\n h <<= 1;\n }\n\n return [f, c, d];\n }\n\n ;\n\n function na(b, a) {\n this.k = oa;\n this.F = 0;\n this.input = B && b instanceof Array ? new Uint8Array(b) : b;\n this.b = 0;\n a && (a.lazy && (this.F = a.lazy), \"number\" === typeof a.compressionType && (this.k = a.compressionType), a.outputBuffer && (this.a = B && a.outputBuffer instanceof Array ? new Uint8Array(a.outputBuffer) : a.outputBuffer), \"number\" === typeof a.outputIndex && (this.b = a.outputIndex));\n this.a || (this.a = new (B ? Uint8Array : Array)(32768));\n }\n\n var oa = 2,\n pa = {\n NONE: 0,\n L: 1,\n t: oa,\n X: 3\n },\n qa = [],\n U;\n\n for (U = 0; 288 > U; U++) {\n switch (v) {\n case 143 >= U:\n qa.push([U + 48, 8]);\n break;\n\n case 255 >= U:\n qa.push([U - 144 + 400, 9]);\n break;\n\n case 279 >= U:\n qa.push([U - 256 + 0, 7]);\n break;\n\n case 287 >= U:\n qa.push([U - 280 + 192, 8]);\n break;\n\n default:\n q(\"invalid literal: \" + U);\n }\n }\n\n na.prototype.h = function () {\n var b,\n a,\n c,\n d,\n e = this.input;\n\n switch (this.k) {\n case 0:\n c = 0;\n\n for (d = e.length; c < d;) {\n a = B ? e.subarray(c, c + 65535) : e.slice(c, c + 65535);\n c += a.length;\n var f = a,\n g = c === d,\n k = t,\n h = t,\n m = t,\n r = t,\n p = t,\n l = this.a,\n n = this.b;\n\n if (B) {\n for (l = new Uint8Array(this.a.buffer); l.length <= n + f.length + 5;) {\n l = new Uint8Array(l.length << 1);\n }\n\n l.set(this.a);\n }\n\n k = g ? 1 : 0;\n l[n++] = k | 0;\n h = f.length;\n m = ~h + 65536 & 65535;\n l[n++] = h & 255;\n l[n++] = h >>> 8 & 255;\n l[n++] = m & 255;\n l[n++] = m >>> 8 & 255;\n if (B) l.set(f, n), n += f.length, l = l.subarray(0, n);else {\n r = 0;\n\n for (p = f.length; r < p; ++r) {\n l[n++] = f[r];\n }\n\n l.length = n;\n }\n this.b = n;\n this.a = l;\n }\n\n break;\n\n case 1:\n var s = new G(B ? new Uint8Array(this.a.buffer) : this.a, this.b);\n s.d(1, 1, v);\n s.d(1, 2, v);\n var u = ra(this, e),\n w,\n C,\n x;\n w = 0;\n\n for (C = u.length; w < C; w++) {\n if (x = u[w], G.prototype.d.apply(s, qa[x]), 256 < x) s.d(u[++w], u[++w], v), s.d(u[++w], 5), s.d(u[++w], u[++w], v);else if (256 === x) break;\n }\n\n this.a = s.finish();\n this.b = this.a.length;\n break;\n\n case oa:\n var D = new G(B ? new Uint8Array(this.a.buffer) : this.a, this.b),\n M,\n z,\n N,\n X,\n Y,\n qb = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15],\n da,\n Fa,\n ea,\n Ga,\n la,\n ta = Array(19),\n Ha,\n Z,\n ma,\n E,\n Ia;\n M = oa;\n D.d(1, 1, v);\n D.d(M, 2, v);\n z = ra(this, e);\n da = sa(this.U, 15);\n Fa = ua(da);\n ea = sa(this.T, 7);\n Ga = ua(ea);\n\n for (N = 286; 257 < N && 0 === da[N - 1]; N--) {\n ;\n }\n\n for (X = 30; 1 < X && 0 === ea[X - 1]; X--) {\n ;\n }\n\n var Ja = N,\n Ka = X,\n K = new (B ? Uint32Array : Array)(Ja + Ka),\n y,\n O,\n A,\n fa,\n J = new (B ? Uint32Array : Array)(316),\n H,\n F,\n P = new (B ? Uint8Array : Array)(19);\n\n for (y = O = 0; y < Ja; y++) {\n K[O++] = da[y];\n }\n\n for (y = 0; y < Ka; y++) {\n K[O++] = ea[y];\n }\n\n if (!B) {\n y = 0;\n\n for (fa = P.length; y < fa; ++y) {\n P[y] = 0;\n }\n }\n\n y = H = 0;\n\n for (fa = K.length; y < fa; y += O) {\n for (O = 1; y + O < fa && K[y + O] === K[y]; ++O) {\n ;\n }\n\n A = O;\n if (0 === K[y]) {\n if (3 > A) for (; 0 < A--;) {\n J[H++] = 0, P[0]++;\n } else for (; 0 < A;) {\n F = 138 > A ? A : 138, F > A - 3 && F < A && (F = A - 3), 10 >= F ? (J[H++] = 17, J[H++] = F - 3, P[17]++) : (J[H++] = 18, J[H++] = F - 11, P[18]++), A -= F;\n }\n } else if (J[H++] = K[y], P[K[y]]++, A--, 3 > A) for (; 0 < A--;) {\n J[H++] = K[y], P[K[y]]++;\n } else for (; 0 < A;) {\n F = 6 > A ? A : 6, F > A - 3 && F < A && (F = A - 3), J[H++] = 16, J[H++] = F - 3, P[16]++, A -= F;\n }\n }\n\n b = B ? J.subarray(0, H) : J.slice(0, H);\n la = sa(P, 7);\n\n for (E = 0; 19 > E; E++) {\n ta[E] = la[qb[E]];\n }\n\n for (Y = 19; 4 < Y && 0 === ta[Y - 1]; Y--) {\n ;\n }\n\n Ha = ua(la);\n D.d(N - 257, 5, v);\n D.d(X - 1, 5, v);\n D.d(Y - 4, 4, v);\n\n for (E = 0; E < Y; E++) {\n D.d(ta[E], 3, v);\n }\n\n E = 0;\n\n for (Ia = b.length; E < Ia; E++) {\n if (Z = b[E], D.d(Ha[Z], la[Z], v), 16 <= Z) {\n E++;\n\n switch (Z) {\n case 16:\n ma = 2;\n break;\n\n case 17:\n ma = 3;\n break;\n\n case 18:\n ma = 7;\n break;\n\n default:\n q(\"invalid code: \" + Z);\n }\n\n D.d(b[E], ma, v);\n }\n }\n\n var La = [Fa, da],\n Ma = [Ga, ea],\n Q,\n Na,\n ga,\n wa,\n Oa,\n Pa,\n Qa,\n Ra;\n Oa = La[0];\n Pa = La[1];\n Qa = Ma[0];\n Ra = Ma[1];\n Q = 0;\n\n for (Na = z.length; Q < Na; ++Q) {\n if (ga = z[Q], D.d(Oa[ga], Pa[ga], v), 256 < ga) D.d(z[++Q], z[++Q], v), wa = z[++Q], D.d(Qa[wa], Ra[wa], v), D.d(z[++Q], z[++Q], v);else if (256 === ga) break;\n }\n\n this.a = D.finish();\n this.b = this.a.length;\n break;\n\n default:\n q(\"invalid compression type\");\n }\n\n return this.a;\n };\n\n function va(b, a) {\n this.length = b;\n this.N = a;\n }\n\n var xa = function () {\n function b(a) {\n switch (v) {\n case 3 === a:\n return [257, a - 3, 0];\n\n case 4 === a:\n return [258, a - 4, 0];\n\n case 5 === a:\n return [259, a - 5, 0];\n\n case 6 === a:\n return [260, a - 6, 0];\n\n case 7 === a:\n return [261, a - 7, 0];\n\n case 8 === a:\n return [262, a - 8, 0];\n\n case 9 === a:\n return [263, a - 9, 0];\n\n case 10 === a:\n return [264, a - 10, 0];\n\n case 12 >= a:\n return [265, a - 11, 1];\n\n case 14 >= a:\n return [266, a - 13, 1];\n\n case 16 >= a:\n return [267, a - 15, 1];\n\n case 18 >= a:\n return [268, a - 17, 1];\n\n case 22 >= a:\n return [269, a - 19, 2];\n\n case 26 >= a:\n return [270, a - 23, 2];\n\n case 30 >= a:\n return [271, a - 27, 2];\n\n case 34 >= a:\n return [272, a - 31, 2];\n\n case 42 >= a:\n return [273, a - 35, 3];\n\n case 50 >= a:\n return [274, a - 43, 3];\n\n case 58 >= a:\n return [275, a - 51, 3];\n\n case 66 >= a:\n return [276, a - 59, 3];\n\n case 82 >= a:\n return [277, a - 67, 4];\n\n case 98 >= a:\n return [278, a - 83, 4];\n\n case 114 >= a:\n return [279, a - 99, 4];\n\n case 130 >= a:\n return [280, a - 115, 4];\n\n case 162 >= a:\n return [281, a - 131, 5];\n\n case 194 >= a:\n return [282, a - 163, 5];\n\n case 226 >= a:\n return [283, a - 195, 5];\n\n case 257 >= a:\n return [284, a - 227, 5];\n\n case 258 === a:\n return [285, a - 258, 0];\n\n default:\n q(\"invalid length: \" + a);\n }\n }\n\n var a = [],\n c,\n d;\n\n for (c = 3; 258 >= c; c++) {\n d = b(c), a[c] = d[2] << 24 | d[1] << 16 | d[0];\n }\n\n return a;\n }(),\n ya = B ? new Uint32Array(xa) : xa;\n\n function ra(b, a) {\n function c(a, c) {\n var b = a.N,\n d = [],\n f = 0,\n e;\n e = ya[a.length];\n d[f++] = e & 65535;\n d[f++] = e >> 16 & 255;\n d[f++] = e >> 24;\n var g;\n\n switch (v) {\n case 1 === b:\n g = [0, b - 1, 0];\n break;\n\n case 2 === b:\n g = [1, b - 2, 0];\n break;\n\n case 3 === b:\n g = [2, b - 3, 0];\n break;\n\n case 4 === b:\n g = [3, b - 4, 0];\n break;\n\n case 6 >= b:\n g = [4, b - 5, 1];\n break;\n\n case 8 >= b:\n g = [5, b - 7, 1];\n break;\n\n case 12 >= b:\n g = [6, b - 9, 2];\n break;\n\n case 16 >= b:\n g = [7, b - 13, 2];\n break;\n\n case 24 >= b:\n g = [8, b - 17, 3];\n break;\n\n case 32 >= b:\n g = [9, b - 25, 3];\n break;\n\n case 48 >= b:\n g = [10, b - 33, 4];\n break;\n\n case 64 >= b:\n g = [11, b - 49, 4];\n break;\n\n case 96 >= b:\n g = [12, b - 65, 5];\n break;\n\n case 128 >= b:\n g = [13, b - 97, 5];\n break;\n\n case 192 >= b:\n g = [14, b - 129, 6];\n break;\n\n case 256 >= b:\n g = [15, b - 193, 6];\n break;\n\n case 384 >= b:\n g = [16, b - 257, 7];\n break;\n\n case 512 >= b:\n g = [17, b - 385, 7];\n break;\n\n case 768 >= b:\n g = [18, b - 513, 8];\n break;\n\n case 1024 >= b:\n g = [19, b - 769, 8];\n break;\n\n case 1536 >= b:\n g = [20, b - 1025, 9];\n break;\n\n case 2048 >= b:\n g = [21, b - 1537, 9];\n break;\n\n case 3072 >= b:\n g = [22, b - 2049, 10];\n break;\n\n case 4096 >= b:\n g = [23, b - 3073, 10];\n break;\n\n case 6144 >= b:\n g = [24, b - 4097, 11];\n break;\n\n case 8192 >= b:\n g = [25, b - 6145, 11];\n break;\n\n case 12288 >= b:\n g = [26, b - 8193, 12];\n break;\n\n case 16384 >= b:\n g = [27, b - 12289, 12];\n break;\n\n case 24576 >= b:\n g = [28, b - 16385, 13];\n break;\n\n case 32768 >= b:\n g = [29, b - 24577, 13];\n break;\n\n default:\n q(\"invalid distance\");\n }\n\n e = g;\n d[f++] = e[0];\n d[f++] = e[1];\n d[f++] = e[2];\n var h, k;\n h = 0;\n\n for (k = d.length; h < k; ++h) {\n l[n++] = d[h];\n }\n\n u[d[0]]++;\n w[d[3]]++;\n s = a.length + c - 1;\n p = null;\n }\n\n var d,\n e,\n f,\n g,\n k,\n h = {},\n m,\n r,\n p,\n l = B ? new Uint16Array(2 * a.length) : [],\n n = 0,\n s = 0,\n u = new (B ? Uint32Array : Array)(286),\n w = new (B ? Uint32Array : Array)(30),\n C = b.F,\n x;\n\n if (!B) {\n for (f = 0; 285 >= f;) {\n u[f++] = 0;\n }\n\n for (f = 0; 29 >= f;) {\n w[f++] = 0;\n }\n }\n\n u[256] = 1;\n d = 0;\n\n for (e = a.length; d < e; ++d) {\n f = k = 0;\n\n for (g = 3; f < g && d + f !== e; ++f) {\n k = k << 8 | a[d + f];\n }\n\n h[k] === t && (h[k] = []);\n m = h[k];\n\n if (!(0 < s--)) {\n for (; 0 < m.length && 32768 < d - m[0];) {\n m.shift();\n }\n\n if (d + 3 >= e) {\n p && c(p, -1);\n f = 0;\n\n for (g = e - d; f < g; ++f) {\n x = a[d + f], l[n++] = x, ++u[x];\n }\n\n break;\n }\n\n 0 < m.length ? (r = za(a, d, m), p ? p.length < r.length ? (x = a[d - 1], l[n++] = x, ++u[x], c(r, 0)) : c(p, -1) : r.length < C ? p = r : c(r, 0)) : p ? c(p, -1) : (x = a[d], l[n++] = x, ++u[x]);\n }\n\n m.push(d);\n }\n\n l[n++] = 256;\n u[256]++;\n b.U = u;\n b.T = w;\n return B ? l.subarray(0, n) : l;\n }\n\n function za(b, a, c) {\n var d,\n e,\n f = 0,\n g,\n k,\n h,\n m,\n r = b.length;\n k = 0;\n m = c.length;\n\n a: for (; k < m; k++) {\n d = c[m - k - 1];\n g = 3;\n\n if (3 < f) {\n for (h = f; 3 < h; h--) {\n if (b[d + h - 1] !== b[a + h - 1]) continue a;\n }\n\n g = f;\n }\n\n for (; 258 > g && a + g < r && b[d + g] === b[a + g];) {\n ++g;\n }\n\n g > f && (e = d, f = g);\n if (258 === g) break;\n }\n\n return new va(f, a - e);\n }\n\n function sa(b, a) {\n var c = b.length,\n d = new ka(572),\n e = new (B ? Uint8Array : Array)(c),\n f,\n g,\n k,\n h,\n m;\n if (!B) for (h = 0; h < c; h++) {\n e[h] = 0;\n }\n\n for (h = 0; h < c; ++h) {\n 0 < b[h] && d.push(h, b[h]);\n }\n\n f = Array(d.length / 2);\n g = new (B ? Uint32Array : Array)(d.length / 2);\n if (1 === f.length) return e[d.pop().index] = 1, e;\n h = 0;\n\n for (m = d.length / 2; h < m; ++h) {\n f[h] = d.pop(), g[h] = f[h].value;\n }\n\n k = Aa(g, g.length, a);\n h = 0;\n\n for (m = f.length; h < m; ++h) {\n e[f[h].index] = k[h];\n }\n\n return e;\n }\n\n function Aa(b, a, c) {\n function d(b) {\n var c = h[b][m[b]];\n c === a ? (d(b + 1), d(b + 1)) : --g[c];\n ++m[b];\n }\n\n var e = new (B ? Uint16Array : Array)(c),\n f = new (B ? Uint8Array : Array)(c),\n g = new (B ? Uint8Array : Array)(a),\n k = Array(c),\n h = Array(c),\n m = Array(c),\n r = (1 << c) - a,\n p = 1 << c - 1,\n l,\n n,\n s,\n u,\n w;\n e[c - 1] = a;\n\n for (n = 0; n < c; ++n) {\n r < p ? f[n] = 0 : (f[n] = 1, r -= p), r <<= 1, e[c - 2 - n] = (e[c - 1 - n] / 2 | 0) + a;\n }\n\n e[0] = f[0];\n k[0] = Array(e[0]);\n h[0] = Array(e[0]);\n\n for (n = 1; n < c; ++n) {\n e[n] > 2 * e[n - 1] + f[n] && (e[n] = 2 * e[n - 1] + f[n]), k[n] = Array(e[n]), h[n] = Array(e[n]);\n }\n\n for (l = 0; l < a; ++l) {\n g[l] = c;\n }\n\n for (s = 0; s < e[c - 1]; ++s) {\n k[c - 1][s] = b[s], h[c - 1][s] = s;\n }\n\n for (l = 0; l < c; ++l) {\n m[l] = 0;\n }\n\n 1 === f[c - 1] && (--g[0], ++m[c - 1]);\n\n for (n = c - 2; 0 <= n; --n) {\n u = l = 0;\n w = m[n + 1];\n\n for (s = 0; s < e[n]; s++) {\n u = k[n + 1][w] + k[n + 1][w + 1], u > b[l] ? (k[n][s] = u, h[n][s] = a, w += 2) : (k[n][s] = b[l], h[n][s] = l, ++l);\n }\n\n m[n] = 0;\n 1 === f[n] && d(n);\n }\n\n return g;\n }\n\n function ua(b) {\n var a = new (B ? Uint16Array : Array)(b.length),\n c = [],\n d = [],\n e = 0,\n f,\n g,\n k,\n h;\n f = 0;\n\n for (g = b.length; f < g; f++) {\n c[b[f]] = (c[b[f]] | 0) + 1;\n }\n\n f = 1;\n\n for (g = 16; f <= g; f++) {\n d[f] = e, e += c[f] | 0, e <<= 1;\n }\n\n f = 0;\n\n for (g = b.length; f < g; f++) {\n e = d[b[f]];\n d[b[f]] += 1;\n k = a[f] = 0;\n\n for (h = b[f]; k < h; k++) {\n a[f] = a[f] << 1 | e & 1, e >>>= 1;\n }\n }\n\n return a;\n }\n\n ;\n\n function Ba(b, a) {\n this.input = b;\n this.b = this.c = 0;\n this.g = {};\n a && (a.flags && (this.g = a.flags), \"string\" === typeof a.filename && (this.filename = a.filename), \"string\" === typeof a.comment && (this.w = a.comment), a.deflateOptions && (this.l = a.deflateOptions));\n this.l || (this.l = {});\n }\n\n Ba.prototype.h = function () {\n var b,\n a,\n c,\n d,\n e,\n f,\n g,\n k,\n h = new (B ? Uint8Array : Array)(32768),\n m = 0,\n r = this.input,\n p = this.c,\n l = this.filename,\n n = this.w;\n h[m++] = 31;\n h[m++] = 139;\n h[m++] = 8;\n b = 0;\n this.g.fname && (b |= Ca);\n this.g.fcomment && (b |= Da);\n this.g.fhcrc && (b |= Ea);\n h[m++] = b;\n a = (Date.now ? Date.now() : +new Date()) / 1E3 | 0;\n h[m++] = a & 255;\n h[m++] = a >>> 8 & 255;\n h[m++] = a >>> 16 & 255;\n h[m++] = a >>> 24 & 255;\n h[m++] = 0;\n h[m++] = Sa;\n\n if (this.g.fname !== t) {\n g = 0;\n\n for (k = l.length; g < k; ++g) {\n f = l.charCodeAt(g), 255 < f && (h[m++] = f >>> 8 & 255), h[m++] = f & 255;\n }\n\n h[m++] = 0;\n }\n\n if (this.g.comment) {\n g = 0;\n\n for (k = n.length; g < k; ++g) {\n f = n.charCodeAt(g), 255 < f && (h[m++] = f >>> 8 & 255), h[m++] = f & 255;\n }\n\n h[m++] = 0;\n }\n\n this.g.fhcrc && (c = ha(h, 0, m) & 65535, h[m++] = c & 255, h[m++] = c >>> 8 & 255);\n this.l.outputBuffer = h;\n this.l.outputIndex = m;\n e = new na(r, this.l);\n h = e.h();\n m = e.b;\n B && (m + 8 > h.buffer.byteLength ? (this.a = new Uint8Array(m + 8), this.a.set(new Uint8Array(h.buffer)), h = this.a) : h = new Uint8Array(h.buffer));\n d = ha(r, t, t);\n h[m++] = d & 255;\n h[m++] = d >>> 8 & 255;\n h[m++] = d >>> 16 & 255;\n h[m++] = d >>> 24 & 255;\n k = r.length;\n h[m++] = k & 255;\n h[m++] = k >>> 8 & 255;\n h[m++] = k >>> 16 & 255;\n h[m++] = k >>> 24 & 255;\n this.c = p;\n B && m < h.length && (this.a = h = h.subarray(0, m));\n return h;\n };\n\n var Sa = 255,\n Ea = 2,\n Ca = 8,\n Da = 16;\n\n function V(b, a) {\n this.o = [];\n this.p = 32768;\n this.e = this.j = this.c = this.s = 0;\n this.input = B ? new Uint8Array(b) : b;\n this.u = !1;\n this.q = Ta;\n this.K = !1;\n if (a || !(a = {})) a.index && (this.c = a.index), a.bufferSize && (this.p = a.bufferSize), a.bufferType && (this.q = a.bufferType), a.resize && (this.K = a.resize);\n\n switch (this.q) {\n case Ua:\n this.b = 32768;\n this.a = new (B ? Uint8Array : Array)(32768 + this.p + 258);\n break;\n\n case Ta:\n this.b = 0;\n this.a = new (B ? Uint8Array : Array)(this.p);\n this.f = this.S;\n this.z = this.O;\n this.r = this.Q;\n break;\n\n default:\n q(Error(\"invalid inflate mode\"));\n }\n }\n\n var Ua = 0,\n Ta = 1;\n\n V.prototype.i = function () {\n for (; !this.u;) {\n var b = W(this, 3);\n b & 1 && (this.u = v);\n b >>>= 1;\n\n switch (b) {\n case 0:\n var a = this.input,\n c = this.c,\n d = this.a,\n e = this.b,\n f = a.length,\n g = t,\n k = t,\n h = d.length,\n m = t;\n this.e = this.j = 0;\n c + 1 >= f && q(Error(\"invalid uncompressed block header: LEN\"));\n g = a[c++] | a[c++] << 8;\n c + 1 >= f && q(Error(\"invalid uncompressed block header: NLEN\"));\n k = a[c++] | a[c++] << 8;\n g === ~k && q(Error(\"invalid uncompressed block header: length verify\"));\n c + g > a.length && q(Error(\"input buffer is broken\"));\n\n switch (this.q) {\n case Ua:\n for (; e + g > d.length;) {\n m = h - e;\n g -= m;\n if (B) d.set(a.subarray(c, c + m), e), e += m, c += m;else for (; m--;) {\n d[e++] = a[c++];\n }\n this.b = e;\n d = this.f();\n e = this.b;\n }\n\n break;\n\n case Ta:\n for (; e + g > d.length;) {\n d = this.f({\n B: 2\n });\n }\n\n break;\n\n default:\n q(Error(\"invalid inflate mode\"));\n }\n\n if (B) d.set(a.subarray(c, c + g), e), e += g, c += g;else for (; g--;) {\n d[e++] = a[c++];\n }\n this.c = c;\n this.b = e;\n this.a = d;\n break;\n\n case 1:\n this.r(Va, Wa);\n break;\n\n case 2:\n for (var r = W(this, 5) + 257, p = W(this, 5) + 1, l = W(this, 4) + 4, n = new (B ? Uint8Array : Array)(Xa.length), s = t, u = t, w = t, C = t, x = t, D = t, M = t, z = t, N = t, z = 0; z < l; ++z) {\n n[Xa[z]] = W(this, 3);\n }\n\n if (!B) {\n z = l;\n\n for (l = n.length; z < l; ++z) {\n n[Xa[z]] = 0;\n }\n }\n\n s = T(n);\n C = new (B ? Uint8Array : Array)(r + p);\n z = 0;\n\n for (N = r + p; z < N;) {\n switch (x = Ya(this, s), x) {\n case 16:\n for (M = 3 + W(this, 2); M--;) {\n C[z++] = D;\n }\n\n break;\n\n case 17:\n for (M = 3 + W(this, 3); M--;) {\n C[z++] = 0;\n }\n\n D = 0;\n break;\n\n case 18:\n for (M = 11 + W(this, 7); M--;) {\n C[z++] = 0;\n }\n\n D = 0;\n break;\n\n default:\n D = C[z++] = x;\n }\n }\n\n u = B ? T(C.subarray(0, r)) : T(C.slice(0, r));\n w = B ? T(C.subarray(r)) : T(C.slice(r));\n this.r(u, w);\n break;\n\n default:\n q(Error(\"unknown BTYPE: \" + b));\n }\n }\n\n return this.z();\n };\n\n var Za = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15],\n Xa = B ? new Uint16Array(Za) : Za,\n $a = [3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 258, 258],\n ab = B ? new Uint16Array($a) : $a,\n bb = [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, 0, 0],\n cb = B ? new Uint8Array(bb) : bb,\n db = [1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577],\n eb = B ? new Uint16Array(db) : db,\n fb = [0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13],\n gb = B ? new Uint8Array(fb) : fb,\n hb = new (B ? Uint8Array : Array)(288),\n $,\n ib;\n $ = 0;\n\n for (ib = hb.length; $ < ib; ++$) {\n hb[$] = 143 >= $ ? 8 : 255 >= $ ? 9 : 279 >= $ ? 7 : 8;\n }\n\n var Va = T(hb),\n jb = new (B ? Uint8Array : Array)(30),\n kb,\n lb;\n kb = 0;\n\n for (lb = jb.length; kb < lb; ++kb) {\n jb[kb] = 5;\n }\n\n var Wa = T(jb);\n\n function W(b, a) {\n for (var c = b.j, d = b.e, e = b.input, f = b.c, g = e.length, k; d < a;) {\n f >= g && q(Error(\"input buffer is broken\")), c |= e[f++] << d, d += 8;\n }\n\n k = c & (1 << a) - 1;\n b.j = c >>> a;\n b.e = d - a;\n b.c = f;\n return k;\n }\n\n function Ya(b, a) {\n for (var c = b.j, d = b.e, e = b.input, f = b.c, g = e.length, k = a[0], h = a[1], m, r; d < h && !(f >= g);) {\n c |= e[f++] << d, d += 8;\n }\n\n m = k[c & (1 << h) - 1];\n r = m >>> 16;\n r > d && q(Error(\"invalid code length: \" + r));\n b.j = c >> r;\n b.e = d - r;\n b.c = f;\n return m & 65535;\n }\n\n V.prototype.r = function (b, a) {\n var c = this.a,\n d = this.b;\n this.A = b;\n\n for (var e = c.length - 258, f, g, k, h; 256 !== (f = Ya(this, b));) {\n if (256 > f) d >= e && (this.b = d, c = this.f(), d = this.b), c[d++] = f;else {\n g = f - 257;\n h = ab[g];\n 0 < cb[g] && (h += W(this, cb[g]));\n f = Ya(this, a);\n k = eb[f];\n 0 < gb[f] && (k += W(this, gb[f]));\n d >= e && (this.b = d, c = this.f(), d = this.b);\n\n for (; h--;) {\n c[d] = c[d++ - k];\n }\n }\n }\n\n for (; 8 <= this.e;) {\n this.e -= 8, this.c--;\n }\n\n this.b = d;\n };\n\n V.prototype.Q = function (b, a) {\n var c = this.a,\n d = this.b;\n this.A = b;\n\n for (var e = c.length, f, g, k, h; 256 !== (f = Ya(this, b));) {\n if (256 > f) d >= e && (c = this.f(), e = c.length), c[d++] = f;else {\n g = f - 257;\n h = ab[g];\n 0 < cb[g] && (h += W(this, cb[g]));\n f = Ya(this, a);\n k = eb[f];\n 0 < gb[f] && (k += W(this, gb[f]));\n d + h > e && (c = this.f(), e = c.length);\n\n for (; h--;) {\n c[d] = c[d++ - k];\n }\n }\n }\n\n for (; 8 <= this.e;) {\n this.e -= 8, this.c--;\n }\n\n this.b = d;\n };\n\n V.prototype.f = function () {\n var b = new (B ? Uint8Array : Array)(this.b - 32768),\n a = this.b - 32768,\n c,\n d,\n e = this.a;\n if (B) b.set(e.subarray(32768, b.length));else {\n c = 0;\n\n for (d = b.length; c < d; ++c) {\n b[c] = e[c + 32768];\n }\n }\n this.o.push(b);\n this.s += b.length;\n if (B) e.set(e.subarray(a, a + 32768));else for (c = 0; 32768 > c; ++c) {\n e[c] = e[a + c];\n }\n this.b = 32768;\n return e;\n };\n\n V.prototype.S = function (b) {\n var a,\n c = this.input.length / this.c + 1 | 0,\n d,\n e,\n f,\n g = this.input,\n k = this.a;\n b && (\"number\" === typeof b.B && (c = b.B), \"number\" === typeof b.M && (c += b.M));\n 2 > c ? (d = (g.length - this.c) / this.A[2], f = 258 * (d / 2) | 0, e = f < k.length ? k.length + f : k.length << 1) : e = k.length * c;\n B ? (a = new Uint8Array(e), a.set(k)) : a = k;\n return this.a = a;\n };\n\n V.prototype.z = function () {\n var b = 0,\n a = this.a,\n c = this.o,\n d,\n e = new (B ? Uint8Array : Array)(this.s + (this.b - 32768)),\n f,\n g,\n k,\n h;\n if (0 === c.length) return B ? this.a.subarray(32768, this.b) : this.a.slice(32768, this.b);\n f = 0;\n\n for (g = c.length; f < g; ++f) {\n d = c[f];\n k = 0;\n\n for (h = d.length; k < h; ++k) {\n e[b++] = d[k];\n }\n }\n\n f = 32768;\n\n for (g = this.b; f < g; ++f) {\n e[b++] = a[f];\n }\n\n this.o = [];\n return this.buffer = e;\n };\n\n V.prototype.O = function () {\n var b,\n a = this.b;\n B ? this.K ? (b = new Uint8Array(a), b.set(this.a.subarray(0, a))) : b = this.a.subarray(0, a) : (this.a.length > a && (this.a.length = a), b = this.a);\n return this.buffer = b;\n };\n\n function mb(b) {\n this.input = b;\n this.c = 0;\n this.G = [];\n this.R = !1;\n }\n\n mb.prototype.i = function () {\n for (var b = this.input.length; this.c < b;) {\n var a = new ja(),\n c = t,\n d = t,\n e = t,\n f = t,\n g = t,\n k = t,\n h = t,\n m = t,\n r = t,\n p = this.input,\n l = this.c;\n a.C = p[l++];\n a.D = p[l++];\n (31 !== a.C || 139 !== a.D) && q(Error(\"invalid file signature:\" + a.C + \",\" + a.D));\n a.v = p[l++];\n\n switch (a.v) {\n case 8:\n break;\n\n default:\n q(Error(\"unknown compression method: \" + a.v));\n }\n\n a.n = p[l++];\n m = p[l++] | p[l++] << 8 | p[l++] << 16 | p[l++] << 24;\n a.$ = new Date(1E3 * m);\n a.ba = p[l++];\n a.aa = p[l++];\n 0 < (a.n & 4) && (a.W = p[l++] | p[l++] << 8, l += a.W);\n\n if (0 < (a.n & Ca)) {\n h = [];\n\n for (k = 0; 0 < (g = p[l++]);) {\n h[k++] = String.fromCharCode(g);\n }\n\n a.name = h.join(\"\");\n }\n\n if (0 < (a.n & Da)) {\n h = [];\n\n for (k = 0; 0 < (g = p[l++]);) {\n h[k++] = String.fromCharCode(g);\n }\n\n a.w = h.join(\"\");\n }\n\n 0 < (a.n & Ea) && (a.P = ha(p, 0, l) & 65535, a.P !== (p[l++] | p[l++] << 8) && q(Error(\"invalid header crc16\")));\n c = p[p.length - 4] | p[p.length - 3] << 8 | p[p.length - 2] << 16 | p[p.length - 1] << 24;\n p.length - l - 4 - 4 < 512 * c && (f = c);\n d = new V(p, {\n index: l,\n bufferSize: f\n });\n a.data = e = d.i();\n l = d.c;\n a.Y = r = (p[l++] | p[l++] << 8 | p[l++] << 16 | p[l++] << 24) >>> 0;\n ha(e, t, t) !== r && q(Error(\"invalid CRC-32 checksum: 0x\" + ha(e, t, t).toString(16) + \" / 0x\" + r.toString(16)));\n a.Z = c = (p[l++] | p[l++] << 8 | p[l++] << 16 | p[l++] << 24) >>> 0;\n (e.length & 4294967295) !== c && q(Error(\"invalid input size: \" + (e.length & 4294967295) + \" / \" + c));\n this.G.push(a);\n this.c = l;\n }\n\n this.R = v;\n var n = this.G,\n s,\n u,\n w = 0,\n C = 0,\n x;\n s = 0;\n\n for (u = n.length; s < u; ++s) {\n C += n[s].data.length;\n }\n\n if (B) {\n x = new Uint8Array(C);\n\n for (s = 0; s < u; ++s) {\n x.set(n[s].data, w), w += n[s].data.length;\n }\n } else {\n x = [];\n\n for (s = 0; s < u; ++s) {\n x[s] = n[s].data;\n }\n\n x = Array.prototype.concat.apply([], x);\n }\n\n return x;\n };\n\n function nb(b) {\n if (\"string\" === typeof b) {\n var a = b.split(\"\"),\n c,\n d;\n c = 0;\n\n for (d = a.length; c < d; c++) {\n a[c] = (a[c].charCodeAt(0) & 255) >>> 0;\n }\n\n b = a;\n }\n\n for (var e = 1, f = 0, g = b.length, k, h = 0; 0 < g;) {\n k = 1024 < g ? 1024 : g;\n g -= k;\n\n do {\n e += b[h++], f += e;\n } while (--k);\n\n e %= 65521;\n f %= 65521;\n }\n\n return (f << 16 | e) >>> 0;\n }\n\n ;\n\n function ob(b, a) {\n var c, d;\n this.input = b;\n this.c = 0;\n if (a || !(a = {})) a.index && (this.c = a.index), a.verify && (this.V = a.verify);\n c = b[this.c++];\n d = b[this.c++];\n\n switch (c & 15) {\n case pb:\n this.method = pb;\n break;\n\n default:\n q(Error(\"unsupported compression method\"));\n }\n\n 0 !== ((c << 8) + d) % 31 && q(Error(\"invalid fcheck flag:\" + ((c << 8) + d) % 31));\n d & 32 && q(Error(\"fdict flag is not supported\"));\n this.J = new V(b, {\n index: this.c,\n bufferSize: a.bufferSize,\n bufferType: a.bufferType,\n resize: a.resize\n });\n }\n\n ob.prototype.i = function () {\n var b = this.input,\n a,\n c;\n a = this.J.i();\n this.c = this.J.c;\n this.V && (c = (b[this.c++] << 24 | b[this.c++] << 16 | b[this.c++] << 8 | b[this.c++]) >>> 0, c !== nb(a) && q(Error(\"invalid adler-32 checksum\")));\n return a;\n };\n\n var pb = 8;\n\n function rb(b, a) {\n this.input = b;\n this.a = new (B ? Uint8Array : Array)(32768);\n this.k = sb.t;\n var c = {},\n d;\n if ((a || !(a = {})) && \"number\" === typeof a.compressionType) this.k = a.compressionType;\n\n for (d in a) {\n c[d] = a[d];\n }\n\n c.outputBuffer = this.a;\n this.I = new na(this.input, c);\n }\n\n var sb = pa;\n\n rb.prototype.h = function () {\n var b,\n a,\n c,\n d,\n e,\n f,\n g,\n k = 0;\n g = this.a;\n b = pb;\n\n switch (b) {\n case pb:\n a = Math.LOG2E * Math.log(32768) - 8;\n break;\n\n default:\n q(Error(\"invalid compression method\"));\n }\n\n c = a << 4 | b;\n g[k++] = c;\n\n switch (b) {\n case pb:\n switch (this.k) {\n case sb.NONE:\n e = 0;\n break;\n\n case sb.L:\n e = 1;\n break;\n\n case sb.t:\n e = 2;\n break;\n\n default:\n q(Error(\"unsupported compression type\"));\n }\n\n break;\n\n default:\n q(Error(\"invalid compression method\"));\n }\n\n d = e << 6 | 0;\n g[k++] = d | 31 - (256 * c + d) % 31;\n f = nb(this.input);\n this.I.b = k;\n g = this.I.h();\n k = g.length;\n B && (g = new Uint8Array(g.buffer), g.length <= k + 4 && (this.a = new Uint8Array(g.length + 4), this.a.set(g), g = this.a), g = g.subarray(0, k + 4));\n g[k++] = f >> 24 & 255;\n g[k++] = f >> 16 & 255;\n g[k++] = f >> 8 & 255;\n g[k++] = f & 255;\n return g;\n };\n\n exports.deflate = tb;\n exports.deflateSync = ub;\n exports.inflate = vb;\n exports.inflateSync = wb;\n exports.gzip = xb;\n exports.gzipSync = yb;\n exports.gunzip = zb;\n exports.gunzipSync = Ab;\n\n function tb(b, a, c) {\n process.nextTick(function () {\n var d, e;\n\n try {\n e = ub(b, c);\n } catch (f) {\n d = f;\n }\n\n a(d, e);\n });\n }\n\n function ub(b, a) {\n var c;\n c = new rb(b).h();\n a || (a = {});\n return a.H ? c : Bb(c);\n }\n\n function vb(b, a, c) {\n process.nextTick(function () {\n var d, e;\n\n try {\n e = wb(b, c);\n } catch (f) {\n d = f;\n }\n\n a(d, e);\n });\n }\n\n function wb(b, a) {\n var c;\n b.subarray = b.slice;\n c = new ob(b).i();\n a || (a = {});\n return a.noBuffer ? c : Bb(c);\n }\n\n function xb(b, a, c) {\n process.nextTick(function () {\n var d, e;\n\n try {\n e = yb(b, c);\n } catch (f) {\n d = f;\n }\n\n a(d, e);\n });\n }\n\n function yb(b, a) {\n var c;\n b.subarray = b.slice;\n c = new Ba(b).h();\n a || (a = {});\n return a.H ? c : Bb(c);\n }\n\n function zb(b, a, c) {\n process.nextTick(function () {\n var d, e;\n\n try {\n e = Ab(b, c);\n } catch (f) {\n d = f;\n }\n\n a(d, e);\n });\n }\n\n function Ab(b, a) {\n var c;\n b.subarray = b.slice;\n c = new mb(b).i();\n a || (a = {});\n return a.H ? c : Bb(c);\n }\n\n function Bb(b) {\n var a = new Buffer(b.length),\n c,\n d;\n c = 0;\n\n for (d = b.length; c < d; ++c) {\n a[c] = b[c];\n }\n\n return a;\n }\n\n ;\n}).call(this);","\"use strict\";\n\nvar bmp = require('bmp-js');\n\nvar fileType = require('file-type');\n\nmodule.exports = function (TessModule, iBuf, yres) {\n if (yres === void 0) {\n yres = 70;\n }\n\n var buf = Buffer.from(iBuf);\n var type = fileType(buf);\n var bytesPerPixel = 0;\n var data = null;\n var pix = null;\n var w = 0;\n var h = 0;\n /*\n * Although leptonica should support reading bmp, there is a bug of \"compressed BMP files\".\n * As there is no solution, we need to use bmp-js for now.\n * @see https://groups.google.com/forum/#!topic/tesseract-ocr/4mPD9zTxdxE\n */\n\n if (type && type.mime === 'image/bmp') {\n var bmpBuf = bmp.decode(buf);\n data = TessModule._malloc(bmpBuf.data.length * Uint8Array.BYTES_PER_ELEMENT);\n TessModule.HEAPU8.set(bmpBuf.data, data);\n w = bmpBuf.width;\n h = bmpBuf.height;\n bytesPerPixel = 4;\n } else {\n var ptr = TessModule._malloc(buf.length * Uint8Array.BYTES_PER_ELEMENT);\n\n TessModule.HEAPU8.set(buf, ptr);\n pix = TessModule._pixReadMem(ptr, buf.length);\n\n if (TessModule.getValue(pix + 7 * 4, 'i32') === 0) {\n /*\n * Set a yres default value to prevent warning from tesseract\n * See kMinCredibleResolution in tesseract/src/ccstruct/publictypes.h\n */\n TessModule.setValue(pix + 7 * 4, yres, 'i32');\n }\n\n var _Array$fill$map = Array(2).fill(0).map(function (v, idx) {\n return TessModule.getValue(pix + idx * 4, 'i32');\n });\n\n w = _Array$fill$map[0];\n h = _Array$fill$map[1];\n }\n\n return {\n w: w,\n h: h,\n bytesPerPixel: bytesPerPixel,\n data: data,\n pix: pix\n };\n};","/**\n * @author shaozilee\n *\n * support 1bit 4bit 8bit 24bit decode\n * encode with 24bit\n * \n */\nvar encode = require('./lib/encoder'),\n decode = require('./lib/decoder');\n\nmodule.exports = {\n encode: encode,\n decode: decode\n};","/**\n * @author shaozilee\n *\n * BMP format encoder,encode 24bit BMP\n * Not support quality compression\n *\n */\nfunction BmpEncoder(imgData) {\n this.buffer = imgData.data;\n this.width = imgData.width;\n this.height = imgData.height;\n this.extraBytes = this.width % 4;\n this.rgbSize = this.height * (3 * this.width + this.extraBytes);\n this.headerInfoSize = 40;\n this.data = [];\n /******************header***********************/\n\n this.flag = \"BM\";\n this.reserved = 0;\n this.offset = 54;\n this.fileSize = this.rgbSize + this.offset;\n this.planes = 1;\n this.bitPP = 24;\n this.compress = 0;\n this.hr = 0;\n this.vr = 0;\n this.colors = 0;\n this.importantColors = 0;\n}\n\nBmpEncoder.prototype.encode = function () {\n var tempBuffer = new Buffer(this.offset + this.rgbSize);\n this.pos = 0;\n tempBuffer.write(this.flag, this.pos, 2);\n this.pos += 2;\n tempBuffer.writeUInt32LE(this.fileSize, this.pos);\n this.pos += 4;\n tempBuffer.writeUInt32LE(this.reserved, this.pos);\n this.pos += 4;\n tempBuffer.writeUInt32LE(this.offset, this.pos);\n this.pos += 4;\n tempBuffer.writeUInt32LE(this.headerInfoSize, this.pos);\n this.pos += 4;\n tempBuffer.writeUInt32LE(this.width, this.pos);\n this.pos += 4;\n tempBuffer.writeInt32LE(-this.height, this.pos);\n this.pos += 4;\n tempBuffer.writeUInt16LE(this.planes, this.pos);\n this.pos += 2;\n tempBuffer.writeUInt16LE(this.bitPP, this.pos);\n this.pos += 2;\n tempBuffer.writeUInt32LE(this.compress, this.pos);\n this.pos += 4;\n tempBuffer.writeUInt32LE(this.rgbSize, this.pos);\n this.pos += 4;\n tempBuffer.writeUInt32LE(this.hr, this.pos);\n this.pos += 4;\n tempBuffer.writeUInt32LE(this.vr, this.pos);\n this.pos += 4;\n tempBuffer.writeUInt32LE(this.colors, this.pos);\n this.pos += 4;\n tempBuffer.writeUInt32LE(this.importantColors, this.pos);\n this.pos += 4;\n var i = 0;\n var rowBytes = 3 * this.width + this.extraBytes;\n\n for (var y = 0; y < this.height; y++) {\n for (var x = 0; x < this.width; x++) {\n var p = this.pos + y * rowBytes + x * 3;\n i++; //a\n\n tempBuffer[p] = this.buffer[i++]; //b\n\n tempBuffer[p + 1] = this.buffer[i++]; //g\n\n tempBuffer[p + 2] = this.buffer[i++]; //r\n }\n\n if (this.extraBytes > 0) {\n var fillOffset = this.pos + y * rowBytes + this.width * 3;\n tempBuffer.fill(0, fillOffset, fillOffset + this.extraBytes);\n }\n }\n\n return tempBuffer;\n};\n\nmodule.exports = function (imgData, quality) {\n if (typeof quality === 'undefined') quality = 100;\n var encoder = new BmpEncoder(imgData);\n var data = encoder.encode();\n return {\n data: data,\n width: imgData.width,\n height: imgData.height\n };\n};","/**\n * @author shaozilee\n *\n * Bmp format decoder,support 1bit 4bit 8bit 24bit bmp\n *\n */\nfunction BmpDecoder(buffer, is_with_alpha) {\n this.pos = 0;\n this.buffer = buffer;\n this.is_with_alpha = !!is_with_alpha;\n this.bottom_up = true;\n this.flag = this.buffer.toString(\"utf-8\", 0, this.pos += 2);\n if (this.flag != \"BM\") throw new Error(\"Invalid BMP File\");\n this.parseHeader();\n this.parseRGBA();\n}\n\nBmpDecoder.prototype.parseHeader = function () {\n this.fileSize = this.buffer.readUInt32LE(this.pos);\n this.pos += 4;\n this.reserved = this.buffer.readUInt32LE(this.pos);\n this.pos += 4;\n this.offset = this.buffer.readUInt32LE(this.pos);\n this.pos += 4;\n this.headerSize = this.buffer.readUInt32LE(this.pos);\n this.pos += 4;\n this.width = this.buffer.readUInt32LE(this.pos);\n this.pos += 4;\n this.height = this.buffer.readInt32LE(this.pos);\n this.pos += 4;\n this.planes = this.buffer.readUInt16LE(this.pos);\n this.pos += 2;\n this.bitPP = this.buffer.readUInt16LE(this.pos);\n this.pos += 2;\n this.compress = this.buffer.readUInt32LE(this.pos);\n this.pos += 4;\n this.rawSize = this.buffer.readUInt32LE(this.pos);\n this.pos += 4;\n this.hr = this.buffer.readUInt32LE(this.pos);\n this.pos += 4;\n this.vr = this.buffer.readUInt32LE(this.pos);\n this.pos += 4;\n this.colors = this.buffer.readUInt32LE(this.pos);\n this.pos += 4;\n this.importantColors = this.buffer.readUInt32LE(this.pos);\n this.pos += 4;\n\n if (this.bitPP === 16 && this.is_with_alpha) {\n this.bitPP = 15;\n }\n\n if (this.bitPP < 15) {\n var len = this.colors === 0 ? 1 << this.bitPP : this.colors;\n this.palette = new Array(len);\n\n for (var i = 0; i < len; i++) {\n var blue = this.buffer.readUInt8(this.pos++);\n var green = this.buffer.readUInt8(this.pos++);\n var red = this.buffer.readUInt8(this.pos++);\n var quad = this.buffer.readUInt8(this.pos++);\n this.palette[i] = {\n red: red,\n green: green,\n blue: blue,\n quad: quad\n };\n }\n }\n\n if (this.height < 0) {\n this.height *= -1;\n this.bottom_up = false;\n }\n};\n\nBmpDecoder.prototype.parseRGBA = function () {\n var bitn = \"bit\" + this.bitPP;\n var len = this.width * this.height * 4;\n this.data = new Buffer(len);\n this[bitn]();\n};\n\nBmpDecoder.prototype.bit1 = function () {\n var xlen = Math.ceil(this.width / 8);\n var mode = xlen % 4;\n var y = this.height >= 0 ? this.height - 1 : -this.height;\n\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n\n for (var x = 0; x < xlen; x++) {\n var b = this.buffer.readUInt8(this.pos++);\n var location = line * this.width * 4 + x * 8 * 4;\n\n for (var i = 0; i < 8; i++) {\n if (x * 8 + i < this.width) {\n var rgb = this.palette[b >> 7 - i & 0x1];\n this.data[location + i * 4] = 0;\n this.data[location + i * 4 + 1] = rgb.blue;\n this.data[location + i * 4 + 2] = rgb.green;\n this.data[location + i * 4 + 3] = rgb.red;\n } else {\n break;\n }\n }\n }\n\n if (mode != 0) {\n this.pos += 4 - mode;\n }\n }\n};\n\nBmpDecoder.prototype.bit4 = function () {\n //RLE-4\n if (this.compress == 2) {\n var setPixelData = function setPixelData(rgbIndex) {\n var rgb = this.palette[rgbIndex];\n this.data[location] = 0;\n this.data[location + 1] = rgb.blue;\n this.data[location + 2] = rgb.green;\n this.data[location + 3] = rgb.red;\n location += 4;\n };\n\n this.data.fill(0xff);\n var location = 0;\n var lines = this.bottom_up ? this.height - 1 : 0;\n var low_nibble = false; //for all count of pixel\n\n while (location < this.data.length) {\n var a = this.buffer.readUInt8(this.pos++);\n var b = this.buffer.readUInt8(this.pos++); //absolute mode\n\n if (a == 0) {\n if (b == 0) {\n //line end\n if (this.bottom_up) {\n lines--;\n } else {\n lines++;\n }\n\n location = lines * this.width * 4;\n low_nibble = false;\n continue;\n } else if (b == 1) {\n //image end\n break;\n } else if (b == 2) {\n //offset x,y\n var x = this.buffer.readUInt8(this.pos++);\n var y = this.buffer.readUInt8(this.pos++);\n\n if (this.bottom_up) {\n lines -= y;\n } else {\n lines += y;\n }\n\n location += y * this.width * 4 + x * 4;\n } else {\n var c = this.buffer.readUInt8(this.pos++);\n\n for (var i = 0; i < b; i++) {\n if (low_nibble) {\n setPixelData.call(this, c & 0x0f);\n } else {\n setPixelData.call(this, (c & 0xf0) >> 4);\n }\n\n if (i & 1 && i + 1 < b) {\n c = this.buffer.readUInt8(this.pos++);\n }\n\n low_nibble = !low_nibble;\n }\n\n if ((b + 1 >> 1 & 1) == 1) {\n this.pos++;\n }\n }\n } else {\n //encoded mode\n for (var i = 0; i < a; i++) {\n if (low_nibble) {\n setPixelData.call(this, b & 0x0f);\n } else {\n setPixelData.call(this, (b & 0xf0) >> 4);\n }\n\n low_nibble = !low_nibble;\n }\n }\n }\n } else {\n var xlen = Math.ceil(this.width / 2);\n var mode = xlen % 4;\n\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n\n for (var x = 0; x < xlen; x++) {\n var b = this.buffer.readUInt8(this.pos++);\n var location = line * this.width * 4 + x * 2 * 4;\n var before = b >> 4;\n var after = b & 0x0F;\n var rgb = this.palette[before];\n this.data[location] = 0;\n this.data[location + 1] = rgb.blue;\n this.data[location + 2] = rgb.green;\n this.data[location + 3] = rgb.red;\n if (x * 2 + 1 >= this.width) break;\n rgb = this.palette[after];\n this.data[location + 4] = 0;\n this.data[location + 4 + 1] = rgb.blue;\n this.data[location + 4 + 2] = rgb.green;\n this.data[location + 4 + 3] = rgb.red;\n }\n\n if (mode != 0) {\n this.pos += 4 - mode;\n }\n }\n }\n};\n\nBmpDecoder.prototype.bit8 = function () {\n //RLE-8\n if (this.compress == 1) {\n var setPixelData = function setPixelData(rgbIndex) {\n var rgb = this.palette[rgbIndex];\n this.data[location] = 0;\n this.data[location + 1] = rgb.blue;\n this.data[location + 2] = rgb.green;\n this.data[location + 3] = rgb.red;\n location += 4;\n };\n\n this.data.fill(0xff);\n var location = 0;\n var lines = this.bottom_up ? this.height - 1 : 0;\n\n while (location < this.data.length) {\n var a = this.buffer.readUInt8(this.pos++);\n var b = this.buffer.readUInt8(this.pos++); //absolute mode\n\n if (a == 0) {\n if (b == 0) {\n //line end\n if (this.bottom_up) {\n lines--;\n } else {\n lines++;\n }\n\n location = lines * this.width * 4;\n continue;\n } else if (b == 1) {\n //image end\n break;\n } else if (b == 2) {\n //offset x,y\n var x = this.buffer.readUInt8(this.pos++);\n var y = this.buffer.readUInt8(this.pos++);\n\n if (this.bottom_up) {\n lines -= y;\n } else {\n lines += y;\n }\n\n location += y * this.width * 4 + x * 4;\n } else {\n for (var i = 0; i < b; i++) {\n var c = this.buffer.readUInt8(this.pos++);\n setPixelData.call(this, c);\n }\n\n if (b & 1 == 1) {\n this.pos++;\n }\n }\n } else {\n //encoded mode\n for (var i = 0; i < a; i++) {\n setPixelData.call(this, b);\n }\n }\n }\n } else {\n var mode = this.width % 4;\n\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n\n for (var x = 0; x < this.width; x++) {\n var b = this.buffer.readUInt8(this.pos++);\n var location = line * this.width * 4 + x * 4;\n\n if (b < this.palette.length) {\n var rgb = this.palette[b];\n this.data[location] = 0;\n this.data[location + 1] = rgb.blue;\n this.data[location + 2] = rgb.green;\n this.data[location + 3] = rgb.red;\n } else {\n this.data[location] = 0;\n this.data[location + 1] = 0xFF;\n this.data[location + 2] = 0xFF;\n this.data[location + 3] = 0xFF;\n }\n }\n\n if (mode != 0) {\n this.pos += 4 - mode;\n }\n }\n }\n};\n\nBmpDecoder.prototype.bit15 = function () {\n var dif_w = this.width % 3;\n\n var _11111 = parseInt(\"11111\", 2),\n _1_5 = _11111;\n\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n\n for (var x = 0; x < this.width; x++) {\n var B = this.buffer.readUInt16LE(this.pos);\n this.pos += 2;\n var blue = (B & _1_5) / _1_5 * 255 | 0;\n var green = (B >> 5 & _1_5) / _1_5 * 255 | 0;\n var red = (B >> 10 & _1_5) / _1_5 * 255 | 0;\n var alpha = B >> 15 ? 0xFF : 0x00;\n var location = line * this.width * 4 + x * 4;\n this.data[location] = alpha;\n this.data[location + 1] = blue;\n this.data[location + 2] = green;\n this.data[location + 3] = red;\n } //skip extra bytes\n\n\n this.pos += dif_w;\n }\n};\n\nBmpDecoder.prototype.bit16 = function () {\n var dif_w = this.width % 2 * 2; //default xrgb555\n\n this.maskRed = 0x7C00;\n this.maskGreen = 0x3E0;\n this.maskBlue = 0x1F;\n this.mask0 = 0;\n\n if (this.compress == 3) {\n this.maskRed = this.buffer.readUInt32LE(this.pos);\n this.pos += 4;\n this.maskGreen = this.buffer.readUInt32LE(this.pos);\n this.pos += 4;\n this.maskBlue = this.buffer.readUInt32LE(this.pos);\n this.pos += 4;\n this.mask0 = this.buffer.readUInt32LE(this.pos);\n this.pos += 4;\n }\n\n var ns = [0, 0, 0];\n\n for (var i = 0; i < 16; i++) {\n if (this.maskRed >> i & 0x01) ns[0]++;\n if (this.maskGreen >> i & 0x01) ns[1]++;\n if (this.maskBlue >> i & 0x01) ns[2]++;\n }\n\n ns[1] += ns[0];\n ns[2] += ns[1];\n ns[0] = 8 - ns[0];\n ns[1] -= 8;\n ns[2] -= 8;\n\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n\n for (var x = 0; x < this.width; x++) {\n var B = this.buffer.readUInt16LE(this.pos);\n this.pos += 2;\n var blue = (B & this.maskBlue) << ns[0];\n var green = (B & this.maskGreen) >> ns[1];\n var red = (B & this.maskRed) >> ns[2];\n var location = line * this.width * 4 + x * 4;\n this.data[location] = 0;\n this.data[location + 1] = blue;\n this.data[location + 2] = green;\n this.data[location + 3] = red;\n } //skip extra bytes\n\n\n this.pos += dif_w;\n }\n};\n\nBmpDecoder.prototype.bit24 = function () {\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n\n for (var x = 0; x < this.width; x++) {\n //Little Endian rgb\n var blue = this.buffer.readUInt8(this.pos++);\n var green = this.buffer.readUInt8(this.pos++);\n var red = this.buffer.readUInt8(this.pos++);\n var location = line * this.width * 4 + x * 4;\n this.data[location] = 0;\n this.data[location + 1] = blue;\n this.data[location + 2] = green;\n this.data[location + 3] = red;\n } //skip extra bytes\n\n\n this.pos += this.width % 4;\n }\n};\n/**\n * add 32bit decode func\n * @author soubok\n */\n\n\nBmpDecoder.prototype.bit32 = function () {\n //BI_BITFIELDS\n if (this.compress == 3) {\n this.maskRed = this.buffer.readUInt32LE(this.pos);\n this.pos += 4;\n this.maskGreen = this.buffer.readUInt32LE(this.pos);\n this.pos += 4;\n this.maskBlue = this.buffer.readUInt32LE(this.pos);\n this.pos += 4;\n this.mask0 = this.buffer.readUInt32LE(this.pos);\n this.pos += 4;\n\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n\n for (var x = 0; x < this.width; x++) {\n //Little Endian rgba\n var alpha = this.buffer.readUInt8(this.pos++);\n var blue = this.buffer.readUInt8(this.pos++);\n var green = this.buffer.readUInt8(this.pos++);\n var red = this.buffer.readUInt8(this.pos++);\n var location = line * this.width * 4 + x * 4;\n this.data[location] = alpha;\n this.data[location + 1] = blue;\n this.data[location + 2] = green;\n this.data[location + 3] = red;\n }\n }\n } else {\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n\n for (var x = 0; x < this.width; x++) {\n //Little Endian argb\n var blue = this.buffer.readUInt8(this.pos++);\n var green = this.buffer.readUInt8(this.pos++);\n var red = this.buffer.readUInt8(this.pos++);\n var alpha = this.buffer.readUInt8(this.pos++);\n var location = line * this.width * 4 + x * 4;\n this.data[location] = alpha;\n this.data[location + 1] = blue;\n this.data[location + 2] = green;\n this.data[location + 3] = red;\n }\n }\n }\n};\n\nBmpDecoder.prototype.getData = function () {\n return this.data;\n};\n\nmodule.exports = function (bmpData) {\n var decoder = new BmpDecoder(bmpData);\n return decoder;\n};","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _objectSpread6 = _interopRequireDefault(require(\"@babel/runtime/helpers/esm/objectSpread\"));\n\n/**\n *\n * The core part of tesseract.js to execute the OCR jobs.\n *\n * @fileoverview Worker for OCR jobs\n * @author Kevin Kwok <antimatter15@gmail.com>\n * @author Guillermo Webster <gui@mit.edu>\n * @author Jerome Wu <jeromewus@gmail.com>\n */\nvar check = require('check-types');\n\nvar resolveURL = typeof window !== 'undefined' && typeof window.document !== 'undefined' ? require('resolve-url') : function (s) {\n return s;\n};\n\nvar adapter = require('../node');\n\nvar circularize = require('./circularize');\n\nvar TesseractJob = require('./TesseractJob');\n/**\n * TesseractWorker\n * @name TesseractWorker\n * @function execute TesseractJob with a queue mechanism\n * @access public\n */\n\n\nvar TesseractWorker =\n/*#__PURE__*/\nfunction () {\n /**\n * constructor\n *\n * @name constructor\n * @function initialize the worker\n * @access public\n * @param {object} options - worker configurations\n * @param {string} options.workerPath -\n * A remote path to load worker script.\n * In browser-like environment, it is downloaded from a CDN service.\n * Please update this option if you self-host the worker script.\n * In Node.js environment, this option is not used as the worker script is in local.\n * @param {string} options.corePath -\n * A remote path to load tesseract.js-core script.\n * In browser-like environment, it is downloaded from a CDN service.\n * Please update this option if you self-host the core script.\n * In Node.js environment, this option is not used as the core script is in local.\n * @param {string} options.langPath -\n * A remote path to load *.traineddata.gz, it is download from a CDN service.\n * Please update this option if you self-host the worker script.\n * @param {string} [options.cachePath=.] - @see {@link https://github.com/jeromewu/tesseract.js-utils/blob/master/src/loadLang.js}\n * @param {string} [options.cacheMethod=write] - @see {@link https://github.com/jeromewu/tesseract.js-utils/blob/master/src/loadLang.js}\n * @param {string} [options.dataPath=.] - @see {@link https://github.com/jeromewu/tesseract.js-utils/blob/master/src/loadLang.js}\n *\n */\n function TesseractWorker(options) {\n var _this = this;\n\n if (options === void 0) {\n options = {};\n }\n\n this.worker = null;\n this.options = (0, _objectSpread6.default)({}, adapter.defaultOptions, {}, options);\n ['corePath', 'workerPath', 'langPath'].forEach(function (key) {\n if (check.not.undefined(options[key])) {\n var _objectSpread4;\n\n _this.options = (0, _objectSpread6.default)({}, _this.options, (_objectSpread4 = {}, _objectSpread4[key] = resolveURL(options[key]), _objectSpread4));\n }\n });\n this._currentJob = null;\n this._queue = [];\n }\n /**\n * recognize\n *\n * @name recognize\n * @function recognize text in given image\n * @access public\n * @param {Buffer, string} image - image to be recognized\n * @param {string, array} [langs=eng] - languages to recognize\n * @param {object} params - tesseract parameters\n *\n */\n\n\n var _proto = TesseractWorker.prototype;\n\n _proto.recognize = function recognize(image, langs, params) {\n if (langs === void 0) {\n langs = 'eng';\n }\n\n if (params === void 0) {\n params = {};\n }\n\n return this._sendJob('recognize', image, langs, params);\n }\n /**\n * detect\n *\n * @name detect\n * @function detect language of the text in the image\n * @access public\n * @param {Buffer, string} image - image to be recognized\n * @param {object} params - tesseract parameters\n *\n */\n ;\n\n _proto.detect = function detect(image, params) {\n if (params === void 0) {\n params = {};\n }\n\n return this._sendJob('detect', image, 'osd', params);\n }\n /**\n * recv\n *\n * @name recv\n * @function handle completed job\n * @access public\n * @param {object} packet job data\n */\n ;\n\n _proto.recv = function recv(packet) {\n if (this._currentJob.id === packet.jobId) {\n this._currentJob.handle((0, _objectSpread6.default)({}, packet, {\n data: packet.status === 'resolve' && packet.action === 'recognize' ? circularize(packet.data) : packet.data\n }));\n } else {\n console.warn(\"Job ID \" + packet.jobId + \" not known.\");\n }\n }\n /**\n * dequeue\n *\n * @name dequeue\n * @function dequeue and execute the rear job\n * @access public\n */\n ;\n\n _proto.dequeue = function dequeue() {\n this._currentJob = null;\n\n if (this._queue.length) {\n this._queue[0]();\n }\n }\n /**\n * terminate\n *\n * @name terminate\n * @function terminate the worker\n * @access public\n *\n */\n ;\n\n _proto.terminate = function terminate() {\n if (this.worker) {\n adapter.terminateWorker(this);\n }\n\n this.worker = null;\n this._currentJob = null;\n this._queue = [];\n }\n /**\n * _sendJob\n *\n * @name _sendJob\n * @function append a new job to the job queue\n * @access private\n * @param {string} type job type, should be recognize or detect\n * @param {Buffer, string} image image to recognize\n * @param {string} lang language to recognize\n * @param {object} params tesseract parameters\n */\n ;\n\n _proto._sendJob = function _sendJob(type, image, langs, params) {\n var _this2 = this;\n\n return this._delay(function (job) {\n job.send(type, {\n image: image,\n langs: langs,\n params: params,\n options: _this2.options\n });\n });\n }\n /**\n * _delay\n *\n * @name _delay\n * @function delays the fn to execute until it is on the rear of the queue\n * @access private\n * @param {function} fn A handler function for the job\n */\n ;\n\n _proto._delay = function _delay(fn) {\n var _this3 = this;\n\n if (check.null(this.worker)) {\n this.worker = adapter.spawnWorker(this, this.options);\n }\n\n var job = new TesseractJob(this);\n\n this._queue.push(function () {\n _this3._queue.shift();\n\n _this3._currentJob = job;\n fn(job);\n });\n\n if (check.null(this._currentJob)) {\n this.dequeue();\n }\n\n return job;\n };\n\n return TesseractWorker;\n}();\n\nmodule.exports = TesseractWorker;","\"use strict\";\n\nmodule.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./utils');\n\nvar bind = require('./helpers/bind');\n\nvar Axios = require('./core/Axios');\n\nvar defaults = require('./defaults');\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\n\n\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context); // Copy axios.prototype to instance\n\n utils.extend(instance, Axios.prototype, context); // Copy context to instance\n\n utils.extend(instance, context);\n return instance;\n} // Create the default instance to be exported\n\n\nvar axios = createInstance(defaults); // Expose Axios class to allow class inheritance\n\naxios.Axios = Axios; // Factory for creating new instances\n\naxios.create = function create(instanceConfig) {\n return createInstance(utils.merge(defaults, instanceConfig));\n}; // Expose Cancel & CancelToken\n\n\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel'); // Expose all/spread\n\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = require('./helpers/spread');\nmodule.exports = axios; // Allow use of default import syntax in TypeScript\n\nmodule.exports.default = axios;","\"use strict\";\n\n/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\nmodule.exports = function isBuffer(obj) {\n return obj != null && obj.constructor != null && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj);\n};","'use strict';\n\nvar defaults = require('./../defaults');\n\nvar utils = require('./../utils');\n\nvar InterceptorManager = require('./InterceptorManager');\n\nvar dispatchRequest = require('./dispatchRequest');\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\n\n\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\n\n\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = utils.merge({\n url: arguments[0]\n }, arguments[1]);\n }\n\n config = utils.merge(defaults, {\n method: 'get'\n }, this.defaults, config);\n config.method = config.method.toLowerCase(); // Hook up interceptors middleware\n\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n}; // Provide aliases for supported request methods\n\n\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function (url, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url\n }));\n };\n});\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function (url, data, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\nmodule.exports = Axios;","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};","'use strict';\n\nvar createError = require('./createError');\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\n\n\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus; // Note: status is not exposed by XDomainRequest\n\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError('Request failed with status code ' + response.status, response.config, null, response.request, response));\n }\n};","'use strict';\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\n\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n return error;\n};","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).replace(/%40/gi, '@').replace(/%3A/gi, ':').replace(/%24/g, '$').replace(/%2C/gi, ',').replace(/%20/g, '+').replace(/%5B/gi, '[').replace(/%5D/gi, ']');\n}\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\n\n\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};","'use strict';\n\nvar utils = require('./../utils'); // Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\n\n\nvar ignoreDuplicateOf = ['age', 'authorization', 'content-length', 'content-type', 'etag', 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since', 'last-modified', 'location', 'max-forwards', 'proxy-authorization', 'referer', 'retry-after', 'user-agent'];\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\n\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) {\n return parsed;\n }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n return parsed;\n};","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = utils.isStandardBrowserEnv() ? // Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\nfunction standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href); // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: urlParsingNode.pathname.charAt(0) === '/' ? urlParsingNode.pathname : '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n\n return function isURLSameOrigin(requestURL) {\n var parsed = utils.isString(requestURL) ? resolveURL(requestURL) : requestURL;\n return parsed.protocol === originURL.protocol && parsed.host === originURL.host;\n };\n}() : // Non standard browser envs (web workers, react-native) lack needed support.\nfunction nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n}();","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = utils.isStandardBrowserEnv() ? // Standard browser envs support document.cookie\nfunction standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return match ? decodeURIComponent(match[3]) : null;\n },\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n}() : // Non standard browser env (web workers, react-native) lack needed support.\nfunction nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() {\n return null;\n },\n remove: function remove() {}\n };\n}();","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n\n\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\n\n\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\n\n\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;","'use strict';\n\nvar utils = require('./../utils');\n\nvar transformData = require('./transformData');\n\nvar isCancel = require('../cancel/isCancel');\n\nvar defaults = require('../defaults');\n\nvar isAbsoluteURL = require('./../helpers/isAbsoluteURL');\n\nvar combineURLs = require('./../helpers/combineURLs');\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\n\n\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\n\n\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config); // Support baseURL config\n\n if (config.baseURL && !isAbsoluteURL(config.url)) {\n config.url = combineURLs(config.baseURL, config.url);\n } // Ensure headers exist\n\n\n config.headers = config.headers || {}; // Transform request data\n\n config.data = transformData(config.data, config.headers, config.transformRequest); // Flatten headers\n\n config.headers = utils.merge(config.headers.common || {}, config.headers[config.method] || {}, config.headers || {});\n utils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], function cleanHeaderConfig(method) {\n delete config.headers[method];\n });\n var adapter = config.adapter || defaults.adapter;\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config); // Transform response data\n\n response.data = transformData(response.data, response.headers, config.transformResponse);\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config); // Transform response data\n\n if (reason && reason.response) {\n reason.response.data = transformData(reason.response.data, reason.response.headers, config.transformResponse);\n }\n }\n\n return Promise.reject(reason);\n });\n};","'use strict';\n\nvar utils = require('./../utils');\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\n\n\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n return data;\n};","'use strict';\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\n\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};","'use strict';\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\n\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '') : baseURL;\n};","'use strict';\n\nvar Cancel = require('./Cancel');\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\n\n\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\n\n\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n\n\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;","'use strict';\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\n\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};","\"use strict\";\n\nmodule.exports = function (s) {\n return new Uint8Array(atob(s).split('').map(function (c) {\n return c.charCodeAt(0);\n }));\n};","\"use strict\";\n\nvar _require = require('./types'),\n OEM = _require.OEM,\n PSM = _require.PSM;\n\nmodule.exports = {\n defaultOptions: {\n /*\n * default path for downloading *.traineddata, this URL basically\n * points to a github page, not using jsDelivr as there is is limitation\n * of 20 MB.\n */\n langPath: 'https://tessdata.projectnaptha.com/4.0.0'\n },\n\n /*\n * default params for recognize()\n */\n defaultParams: {\n tessedit_ocr_engine_mode: OEM.LSTM_ONLY,\n tessedit_pageseg_mode: PSM.SINGLE_BLOCK,\n tessedit_char_whiltelist: '',\n tessjs_create_pdf: '0',\n tessjs_create_hocr: '1',\n tessjs_create_tsv: '1',\n tessjs_create_box: '0',\n tessjs_create_unlv: '0',\n tessjs_create_osd: '0',\n tessjs_textonly_pdf: '0',\n tessjs_pdf_name: 'tesseract.js-ocr-result',\n tessjs_pdf_title: 'Tesseract.js OCR Result',\n tessjs_pdf_auto_download: true,\n tessjs_pdf_bin: false,\n tessjs_image_rectangle_left: 0,\n tessjs_image_rectangle_top: 0,\n tessjs_image_rectangle_width: -1,\n tessjs_image_rectangle_height: -1\n }\n};","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _objectSpread8 = _interopRequireDefault(require(\"@babel/runtime/helpers/esm/objectSpread\"));\n\n/**\n * The result of dump.js is a big JSON tree\n * which can be easily serialized (for instance\n * to be sent from a webworker to the main app\n * or through Node's IPC), but we want\n * a (circular) DOM-like interface for walking\n * through the data.\n *\n * @fileoverview DOM-like interface for walking through data\n * @author Kevin Kwok <antimatter15@gmail.com>\n * @author Guillermo Webster <gui@mit.edu>\n * @author Jerome Wu <jeromewus@gmail.com>\n */\nmodule.exports = function (iPage) {\n var page = (0, _objectSpread8.default)({}, iPage, {\n paragraphs: [],\n lines: [],\n words: [],\n symbols: []\n });\n page.blocks.forEach(function (iBlock) {\n var block = (0, _objectSpread8.default)({}, iBlock, {\n page: page,\n lines: [],\n words: [],\n symbols: []\n });\n block.paragraphs.forEach(function (iPara) {\n var para = (0, _objectSpread8.default)({}, iPara, {\n block: block,\n page: page,\n words: [],\n symbols: []\n });\n para.lines.forEach(function (iLine) {\n var line = (0, _objectSpread8.default)({}, iLine, {\n paragraph: para,\n block: block,\n page: page,\n symbols: []\n });\n line.words.forEach(function (iWord) {\n var word = (0, _objectSpread8.default)({}, iWord, {\n line: line,\n paragraph: para,\n block: block,\n page: page\n });\n word.symbols.forEach(function (iSym) {\n var sym = (0, _objectSpread8.default)({}, iSym, {\n word: word,\n line: line,\n paragraph: para,\n block: block,\n page: page\n });\n sym.line.symbols.push(sym);\n sym.paragraph.symbols.push(sym);\n sym.block.symbols.push(sym);\n sym.page.symbols.push(sym);\n });\n word.paragraph.words.push(word);\n word.block.words.push(word);\n word.page.words.push(word);\n });\n line.block.lines.push(line);\n line.page.lines.push(line);\n });\n para.page.paragraphs.push(para);\n });\n });\n return page;\n};","\"use strict\";\n\n/**\n *\n * The job exectued by worker, each job is basically a recognition of an image.\n *\n * @fileoverview Job excuted by Worker\n * @author Kevin Kwok <antimatter15@gmail.com>\n * @author Guillermo Webster <gui@mit.edu>\n * @author Jerome Wu <jeromewus@gmail.com>\n */\nvar adapter = require('../node/');\n/** A global job counter as part of job id */\n\n\nvar jobCounter = 0;\n\nvar TesseractJob =\n/*#__PURE__*/\nfunction () {\n /**\n * constructor\n *\n * @name constructor\n * @function initial a TesseractJob\n * @access public\n * @param {object} worker - An instance of TesseractWorker\n */\n function TesseractJob(worker) {\n jobCounter += 1;\n this.id = \"Job-\" + jobCounter + \"-\" + Math.random().toString(16).slice(3, 8);\n this._worker = worker;\n /**\n * As all the callback functions are saved in an array.\n * Basically you can register more than callback function\n * for then, catch, progress and finally.\n */\n\n this._resolve = [];\n this._reject = [];\n this._progress = [];\n this._finally = [];\n }\n /**\n * then\n *\n * @name then\n * @function A function to chain like Promise\n * @access public\n * @param {function} resolve - called when the job succeeds\n * @param {function} reject - called when the job fails\n */\n\n\n var _proto = TesseractJob.prototype;\n\n _proto.then = function then(resolve, reject) {\n var _this = this;\n\n return new Promise(function (res, rej) {\n if (!_this._resolve.push) {\n res(_this._result);\n } else {\n _this._resolve.push(res);\n }\n\n _this.catch(rej);\n }).then(resolve, reject);\n }\n /**\n * catch\n *\n * @name catch\n * @function register a function to call when there is an error\n * @access public\n * @param {function} reject - callback function for error\n */\n ;\n\n _proto.catch = function _catch(reject) {\n if (this._reject.push) {\n this._reject.push(reject);\n } else {\n reject(this._reject);\n }\n\n return this;\n }\n /**\n * progress\n *\n * @name progress\n * @function register a function to show progress of the recognition,\n * use res.progress to print the message\n * @access public\n * @param {function} fn - callback function for progress information\n */\n ;\n\n _proto.progress = function progress(fn) {\n this._progress.push(fn);\n\n return this;\n }\n /**\n * finally\n *\n * @name finally\n * @function registry a callback function for final\n * @access public\n * @param {function} fn - callback function for final\n */\n ;\n\n _proto.finally = function _finally(fn) {\n this._finally.push(fn);\n\n return this;\n }\n /**\n * send\n *\n * @name send\n * @function send specific action with payload a worker\n * @access public\n * @param {string} action - action to trigger, should be \"recognize\" or \"detect\"\n * @param {object} payload - data to be consumed\n */\n ;\n\n _proto.send = function send(action, payload) {\n adapter.sendPacket(this._worker, {\n jobId: this.id,\n action: action,\n payload: payload\n });\n }\n /**\n * handle\n *\n * @name handle\n * @function execute packet action\n * @access public\n * @param {object} packet action and payload to handle\n */\n ;\n\n _proto.handle = function handle(packet) {\n var data = packet.data;\n var runFinallyCbs = false;\n\n if (packet.status === 'resolve') {\n if (this._resolve.length === 0) console.log(data);\n\n this._resolve.forEach(function (fn) {\n var ret = fn(data);\n\n if (ret && typeof ret.then === 'function') {\n console.warn('TesseractJob instances do not chain like ES6 Promises. To convert it into a real promise, use Promise.resolve.');\n }\n });\n\n this._resolve = data;\n\n this._worker.dequeue();\n\n runFinallyCbs = true;\n } else if (packet.status === 'reject') {\n if (this._reject.length === 0) console.error(data);\n\n this._reject.forEach(function (fn) {\n return fn(data);\n });\n\n this._reject = data;\n\n this._worker.dequeue();\n\n runFinallyCbs = true;\n } else if (packet.status === 'progress') {\n this._progress.forEach(function (fn) {\n return fn(data);\n });\n } else {\n console.warn('Message type unknown', packet.status);\n }\n\n if (runFinallyCbs) {\n this._finally.forEach(function (fn) {\n return fn(data);\n });\n }\n };\n\n return TesseractJob;\n}();\n\nmodule.exports = TesseractJob;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _objectSpread3 = _interopRequireDefault(require(\"@babel/runtime/helpers/esm/objectSpread\"));\n\n/**\n *\n * Entry point for tesseract.js, should be the entry when bundling.\n *\n * @fileoverview entry point for tesseract.js\n * @author Kevin Kwok <antimatter15@gmail.com>\n * @author Guillermo Webster <gui@mit.edu>\n * @author Jerome Wu <jeromewus@gmail.com>\n */\nvar utils = require('tesseract.js-utils');\n\nvar TesseractWorker = require('./common/TesseractWorker');\n\nvar types = require('./common/types');\n\nmodule.exports = (0, _objectSpread3.default)({\n /** Worker for OCR, @see common/TesseractWorker.js */\n TesseractWorker: TesseractWorker,\n\n /** Utilities for tesseract.js, @see {@link https://www.npmjs.com/package/tesseract.js-utils} */\n utils: utils\n}, types);","'use strict';\n\nvar bind = require('./helpers/bind');\n\nvar isBuffer = require('is-buffer');\n/*global toString:true*/\n// utils is a library of generic helper functions non-specific to axios\n\n\nvar toString = Object.prototype.toString;\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\n\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\n\n\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\n\n\nfunction isFormData(val) {\n return typeof FormData !== 'undefined' && val instanceof FormData;\n}\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\n\n\nfunction isArrayBufferView(val) {\n var result;\n\n if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {\n result = ArrayBuffer.isView(val);\n } else {\n result = val && val.buffer && val.buffer instanceof ArrayBuffer;\n }\n\n return result;\n}\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\n\n\nfunction isString(val) {\n return typeof val === 'string';\n}\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\n\n\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\n\n\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\n\n\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\n\n\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\n\n\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\n\n\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\n\n\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\n\n\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\n\n\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\n\n\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n */\n\n\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {\n return false;\n }\n\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n}\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\n\n\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n } // Force an array if not already something iterable\n\n\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\n\n\nfunction merge()\n/* obj1, obj2, obj3, ... */\n{\n var result = {};\n\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = merge(result[key], val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n\n return result;\n}\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\n\n\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim\n};","'use strict';\n\nvar bind = require('./helpers/bind');\n\nvar isBuffer = require('is-buffer');\n/*global toString:true*/\n// utils is a library of generic helper functions non-specific to axios\n\n\nvar toString = Object.prototype.toString;\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\n\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\n\n\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\n\n\nfunction isFormData(val) {\n return typeof FormData !== 'undefined' && val instanceof FormData;\n}\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\n\n\nfunction isArrayBufferView(val) {\n var result;\n\n if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {\n result = ArrayBuffer.isView(val);\n } else {\n result = val && val.buffer && val.buffer instanceof ArrayBuffer;\n }\n\n return result;\n}\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\n\n\nfunction isString(val) {\n return typeof val === 'string';\n}\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\n\n\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\n\n\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\n\n\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\n\n\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\n\n\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\n\n\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\n\n\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\n\n\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\n\n\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\n\n\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n */\n\n\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {\n return false;\n }\n\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n}\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\n\n\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n } // Force an array if not already something iterable\n\n\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\n\n\nfunction merge()\n/* obj1, obj2, obj3, ... */\n{\n var result = {};\n\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = merge(result[key], val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n\n return result;\n}\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\n\n\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim\n};"],"sourceRoot":""}