{"version":3,"file":"imagePreprocessor-D0ft1cZC.js","sources":["../node_modules/exifr/dist/full.esm.mjs","../node_modules/piexifjs/piexif.js","../app/javascript/workers/imagePreprocessor.js"],"sourcesContent":["var e=\"undefined\"!=typeof self?self:global;const t=\"undefined\"!=typeof navigator,i=t&&\"undefined\"==typeof HTMLImageElement,n=!(\"undefined\"==typeof global||\"undefined\"==typeof process||!process.versions||!process.versions.node),s=e.Buffer,r=e.BigInt,a=!!s,o=e=>e;function l(e,t=o){if(n)try{return\"function\"==typeof require?Promise.resolve(t(require(e))):import(/* webpackIgnore: true */ e).then(t)}catch(t){console.warn(`Couldn't load ${e}`)}}let h=e.fetch;const u=e=>h=e;if(!e.fetch){const e=l(\"http\",(e=>e)),t=l(\"https\",(e=>e)),i=(n,{headers:s}={})=>new Promise((async(r,a)=>{let{port:o,hostname:l,pathname:h,protocol:u,search:c}=new URL(n);const f={method:\"GET\",hostname:l,path:encodeURI(h)+c,headers:s};\"\"!==o&&(f.port=Number(o));const d=(\"https:\"===u?await t:await e).request(f,(e=>{if(301===e.statusCode||302===e.statusCode){let t=new URL(e.headers.location,n).toString();return i(t,{headers:s}).then(r).catch(a)}r({status:e.statusCode,arrayBuffer:()=>new Promise((t=>{let i=[];e.on(\"data\",(e=>i.push(e))),e.on(\"end\",(()=>t(Buffer.concat(i))))}))})}));d.on(\"error\",a),d.end()}));u(i)}function c(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}const f=e=>p(e)?void 0:e,d=e=>void 0!==e;function p(e){return void 0===e||(e instanceof Map?0===e.size:0===Object.values(e).filter(d).length)}function g(e){let t=new Error(e);throw delete t.stack,t}function m(e){return\"\"===(e=function(e){for(;e.endsWith(\"\\0\");)e=e.slice(0,-1);return e}(e).trim())?void 0:e}function S(e){let t=function(e){let t=0;return e.ifd0.enabled&&(t+=1024),e.exif.enabled&&(t+=2048),e.makerNote&&(t+=2048),e.userComment&&(t+=1024),e.gps.enabled&&(t+=512),e.interop.enabled&&(t+=100),e.ifd1.enabled&&(t+=1024),t+2048}(e);return e.jfif.enabled&&(t+=50),e.xmp.enabled&&(t+=2e4),e.iptc.enabled&&(t+=14e3),e.icc.enabled&&(t+=6e3),t}const C=e=>String.fromCharCode.apply(null,e),y=\"undefined\"!=typeof TextDecoder?new TextDecoder(\"utf-8\"):void 0;function b(e){return y?y.decode(e):a?Buffer.from(e).toString(\"utf8\"):decodeURIComponent(escape(C(e)))}class I{static from(e,t){return e instanceof this&&e.le===t?e:new I(e,void 0,void 0,t)}constructor(e,t=0,i,n){if(\"boolean\"==typeof n&&(this.le=n),Array.isArray(e)&&(e=new Uint8Array(e)),0===e)this.byteOffset=0,this.byteLength=0;else if(e instanceof ArrayBuffer){void 0===i&&(i=e.byteLength-t);let n=new DataView(e,t,i);this._swapDataView(n)}else if(e instanceof Uint8Array||e instanceof DataView||e instanceof I){void 0===i&&(i=e.byteLength-t),(t+=e.byteOffset)+i>e.byteOffset+e.byteLength&&g(\"Creating view outside of available memory in ArrayBuffer\");let n=new DataView(e.buffer,t,i);this._swapDataView(n)}else if(\"number\"==typeof e){let t=new DataView(new ArrayBuffer(e));this._swapDataView(t)}else g(\"Invalid input argument for BufferView: \"+e)}_swapArrayBuffer(e){this._swapDataView(new DataView(e))}_swapBuffer(e){this._swapDataView(new DataView(e.buffer,e.byteOffset,e.byteLength))}_swapDataView(e){this.dataView=e,this.buffer=e.buffer,this.byteOffset=e.byteOffset,this.byteLength=e.byteLength}_lengthToEnd(e){return this.byteLength-e}set(e,t,i=I){return e instanceof DataView||e instanceof I?e=new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e instanceof ArrayBuffer&&(e=new Uint8Array(e)),e instanceof Uint8Array||g(\"BufferView.set(): Invalid data argument.\"),this.toUint8().set(e,t),new i(this,t,e.byteLength)}subarray(e,t){return t=t||this._lengthToEnd(e),new I(this,e,t)}toUint8(){return new Uint8Array(this.buffer,this.byteOffset,this.byteLength)}getUint8Array(e,t){return new Uint8Array(this.buffer,this.byteOffset+e,t)}getString(e=0,t=this.byteLength){return b(this.getUint8Array(e,t))}getLatin1String(e=0,t=this.byteLength){let i=this.getUint8Array(e,t);return C(i)}getUnicodeString(e=0,t=this.byteLength){const i=[];for(let n=0;n<t&&e+n<this.byteLength;n+=2)i.push(this.getUint16(e+n));return C(i)}getInt8(e){return this.dataView.getInt8(e)}getUint8(e){return this.dataView.getUint8(e)}getInt16(e,t=this.le){return this.dataView.getInt16(e,t)}getInt32(e,t=this.le){return this.dataView.getInt32(e,t)}getUint16(e,t=this.le){return this.dataView.getUint16(e,t)}getUint32(e,t=this.le){return this.dataView.getUint32(e,t)}getFloat32(e,t=this.le){return this.dataView.getFloat32(e,t)}getFloat64(e,t=this.le){return this.dataView.getFloat64(e,t)}getFloat(e,t=this.le){return this.dataView.getFloat32(e,t)}getDouble(e,t=this.le){return this.dataView.getFloat64(e,t)}getUintBytes(e,t,i){switch(t){case 1:return this.getUint8(e,i);case 2:return this.getUint16(e,i);case 4:return this.getUint32(e,i);case 8:return this.getUint64&&this.getUint64(e,i)}}getUint(e,t,i){switch(t){case 8:return this.getUint8(e,i);case 16:return this.getUint16(e,i);case 32:return this.getUint32(e,i);case 64:return this.getUint64&&this.getUint64(e,i)}}toString(e){return this.dataView.toString(e,this.constructor.name)}ensureChunk(){}}function P(e,t){g(`${e} '${t}' was not loaded, try using full build of exifr.`)}class k extends Map{constructor(e){super(),this.kind=e}get(e,t){return this.has(e)||P(this.kind,e),t&&(e in t||function(e,t){g(`Unknown ${e} '${t}'.`)}(this.kind,e),t[e].enabled||P(this.kind,e)),super.get(e)}keyList(){return Array.from(this.keys())}}var w=new k(\"file parser\"),T=new k(\"segment parser\"),A=new k(\"file reader\");function D(e,n){return\"string\"==typeof e?O(e,n):t&&!i&&e instanceof HTMLImageElement?O(e.src,n):e instanceof Uint8Array||e instanceof ArrayBuffer||e instanceof DataView?new I(e):t&&e instanceof Blob?x(e,n,\"blob\",R):void g(\"Invalid input argument\")}function O(e,i){return(s=e).startsWith(\"data:\")||s.length>1e4?v(e,i,\"base64\"):n&&e.includes(\"://\")?x(e,i,\"url\",M):n?v(e,i,\"fs\"):t?x(e,i,\"url\",M):void g(\"Invalid input argument\");var s}async function x(e,t,i,n){return A.has(i)?v(e,t,i):n?async function(e,t){let i=await t(e);return new I(i)}(e,n):void g(`Parser ${i} is not loaded`)}async function v(e,t,i){let n=new(A.get(i))(e,t);return await n.read(),n}const M=e=>h(e).then((e=>e.arrayBuffer())),R=e=>new Promise(((t,i)=>{let n=new FileReader;n.onloadend=()=>t(n.result||new ArrayBuffer),n.onerror=i,n.readAsArrayBuffer(e)}));class L extends Map{get tagKeys(){return this.allKeys||(this.allKeys=Array.from(this.keys())),this.allKeys}get tagValues(){return this.allValues||(this.allValues=Array.from(this.values())),this.allValues}}function U(e,t,i){let n=new L;for(let[e,t]of i)n.set(e,t);if(Array.isArray(t))for(let i of t)e.set(i,n);else e.set(t,n);return n}function F(e,t,i){let n,s=e.get(t);for(n of i)s.set(n[0],n[1])}const E=new Map,B=new Map,N=new Map,G=[\"chunked\",\"firstChunkSize\",\"firstChunkSizeNode\",\"firstChunkSizeBrowser\",\"chunkSize\",\"chunkLimit\"],V=[\"jfif\",\"xmp\",\"icc\",\"iptc\",\"ihdr\"],z=[\"tiff\",...V],H=[\"ifd0\",\"ifd1\",\"exif\",\"gps\",\"interop\"],j=[...z,...H],W=[\"makerNote\",\"userComment\"],K=[\"translateKeys\",\"translateValues\",\"reviveValues\",\"multiSegment\"],X=[...K,\"sanitize\",\"mergeOutput\",\"silentErrors\"];class _{get translate(){return this.translateKeys||this.translateValues||this.reviveValues}}class Y extends _{get needed(){return this.enabled||this.deps.size>0}constructor(e,t,i,n){if(super(),c(this,\"enabled\",!1),c(this,\"skip\",new Set),c(this,\"pick\",new Set),c(this,\"deps\",new Set),c(this,\"translateKeys\",!1),c(this,\"translateValues\",!1),c(this,\"reviveValues\",!1),this.key=e,this.enabled=t,this.parse=this.enabled,this.applyInheritables(n),this.canBeFiltered=H.includes(e),this.canBeFiltered&&(this.dict=E.get(e)),void 0!==i)if(Array.isArray(i))this.parse=this.enabled=!0,this.canBeFiltered&&i.length>0&&this.translateTagSet(i,this.pick);else if(\"object\"==typeof i){if(this.enabled=!0,this.parse=!1!==i.parse,this.canBeFiltered){let{pick:e,skip:t}=i;e&&e.length>0&&this.translateTagSet(e,this.pick),t&&t.length>0&&this.translateTagSet(t,this.skip)}this.applyInheritables(i)}else!0===i||!1===i?this.parse=this.enabled=i:g(`Invalid options argument: ${i}`)}applyInheritables(e){let t,i;for(t of K)i=e[t],void 0!==i&&(this[t]=i)}translateTagSet(e,t){if(this.dict){let i,n,{tagKeys:s,tagValues:r}=this.dict;for(i of e)\"string\"==typeof i?(n=r.indexOf(i),-1===n&&(n=s.indexOf(Number(i))),-1!==n&&t.add(Number(s[n]))):t.add(i)}else for(let i of e)t.add(i)}finalizeFilters(){!this.enabled&&this.deps.size>0?(this.enabled=!0,ee(this.pick,this.deps)):this.enabled&&this.pick.size>0&&ee(this.pick,this.deps)}}var $={jfif:!1,tiff:!0,xmp:!1,icc:!1,iptc:!1,ifd0:!0,ifd1:!1,exif:!0,gps:!0,interop:!1,ihdr:void 0,makerNote:!1,userComment:!1,multiSegment:!1,skip:[],pick:[],translateKeys:!0,translateValues:!0,reviveValues:!0,sanitize:!0,mergeOutput:!0,silentErrors:!0,chunked:!0,firstChunkSize:void 0,firstChunkSizeNode:512,firstChunkSizeBrowser:65536,chunkSize:65536,chunkLimit:5},J=new Map;class q extends _{static useCached(e){let t=J.get(e);return void 0!==t||(t=new this(e),J.set(e,t)),t}constructor(e){super(),!0===e?this.setupFromTrue():void 0===e?this.setupFromUndefined():Array.isArray(e)?this.setupFromArray(e):\"object\"==typeof e?this.setupFromObject(e):g(`Invalid options argument ${e}`),void 0===this.firstChunkSize&&(this.firstChunkSize=t?this.firstChunkSizeBrowser:this.firstChunkSizeNode),this.mergeOutput&&(this.ifd1.enabled=!1),this.filterNestedSegmentTags(),this.traverseTiffDependencyTree(),this.checkLoadedPlugins()}setupFromUndefined(){let e;for(e of G)this[e]=$[e];for(e of X)this[e]=$[e];for(e of W)this[e]=$[e];for(e of j)this[e]=new Y(e,$[e],void 0,this)}setupFromTrue(){let e;for(e of G)this[e]=$[e];for(e of X)this[e]=$[e];for(e of W)this[e]=!0;for(e of j)this[e]=new Y(e,!0,void 0,this)}setupFromArray(e){let t;for(t of G)this[t]=$[t];for(t of X)this[t]=$[t];for(t of W)this[t]=$[t];for(t of j)this[t]=new Y(t,!1,void 0,this);this.setupGlobalFilters(e,void 0,H)}setupFromObject(e){let t;for(t of(H.ifd0=H.ifd0||H.image,H.ifd1=H.ifd1||H.thumbnail,Object.assign(this,e),G))this[t]=Z(e[t],$[t]);for(t of X)this[t]=Z(e[t],$[t]);for(t of W)this[t]=Z(e[t],$[t]);for(t of z)this[t]=new Y(t,$[t],e[t],this);for(t of H)this[t]=new Y(t,$[t],e[t],this.tiff);this.setupGlobalFilters(e.pick,e.skip,H,j),!0===e.tiff?this.batchEnableWithBool(H,!0):!1===e.tiff?this.batchEnableWithUserValue(H,e):Array.isArray(e.tiff)?this.setupGlobalFilters(e.tiff,void 0,H):\"object\"==typeof e.tiff&&this.setupGlobalFilters(e.tiff.pick,e.tiff.skip,H)}batchEnableWithBool(e,t){for(let i of e)this[i].enabled=t}batchEnableWithUserValue(e,t){for(let i of e){let e=t[i];this[i].enabled=!1!==e&&void 0!==e}}setupGlobalFilters(e,t,i,n=i){if(e&&e.length){for(let e of n)this[e].enabled=!1;let t=Q(e,i);for(let[e,i]of t)ee(this[e].pick,i),this[e].enabled=!0}else if(t&&t.length){let e=Q(t,i);for(let[t,i]of e)ee(this[t].skip,i)}}filterNestedSegmentTags(){let{ifd0:e,exif:t,xmp:i,iptc:n,icc:s}=this;this.makerNote?t.deps.add(37500):t.skip.add(37500),this.userComment?t.deps.add(37510):t.skip.add(37510),i.enabled||e.skip.add(700),n.enabled||e.skip.add(33723),s.enabled||e.skip.add(34675)}traverseTiffDependencyTree(){let{ifd0:e,exif:t,gps:i,interop:n}=this;n.needed&&(t.deps.add(40965),e.deps.add(40965)),t.needed&&e.deps.add(34665),i.needed&&e.deps.add(34853),this.tiff.enabled=H.some((e=>!0===this[e].enabled))||this.makerNote||this.userComment;for(let e of H)this[e].finalizeFilters()}get onlyTiff(){return!V.map((e=>this[e].enabled)).some((e=>!0===e))&&this.tiff.enabled}checkLoadedPlugins(){for(let e of z)this[e].enabled&&!T.has(e)&&P(\"segment parser\",e)}}function Q(e,t){let i,n,s,r,a=[];for(s of t){for(r of(i=E.get(s),n=[],i))(e.includes(r[0])||e.includes(r[1]))&&n.push(r[0]);n.length&&a.push([s,n])}return a}function Z(e,t){return void 0!==e?e:void 0!==t?t:void 0}function ee(e,t){for(let i of t)e.add(i)}c(q,\"default\",$);class te{constructor(e){c(this,\"parsers\",{}),c(this,\"output\",{}),c(this,\"errors\",[]),c(this,\"pushToErrors\",(e=>this.errors.push(e))),this.options=q.useCached(e)}async read(e){this.file=await D(e,this.options)}setup(){if(this.fileParser)return;let{file:e}=this,t=e.getUint16(0);for(let[i,n]of w)if(n.canHandle(e,t))return this.fileParser=new n(this.options,this.file,this.parsers),e[i]=!0;this.file.close&&this.file.close(),g(\"Unknown file format\")}async parse(){let{output:e,errors:t}=this;return this.setup(),this.options.silentErrors?(await this.executeParsers().catch(this.pushToErrors),t.push(...this.fileParser.errors)):await this.executeParsers(),this.file.close&&this.file.close(),this.options.silentErrors&&t.length>0&&(e.errors=t),f(e)}async executeParsers(){let{output:e}=this;await this.fileParser.parse();let t=Object.values(this.parsers).map((async t=>{let i=await t.parse();t.assignToOutput(e,i)}));this.options.silentErrors&&(t=t.map((e=>e.catch(this.pushToErrors)))),await Promise.all(t)}async extractThumbnail(){this.setup();let{options:e,file:t}=this,i=T.get(\"tiff\",e);var n;if(t.tiff?n={start:0,type:\"tiff\"}:t.jpeg&&(n=await this.fileParser.getOrFindSegment(\"tiff\")),void 0===n)return;let s=await this.fileParser.ensureSegmentChunk(n),r=this.parsers.tiff=new i(s,e,t),a=await r.extractThumbnail();return t.close&&t.close(),a}}async function ie(e,t){let i=new te(t);return await i.read(e),i.parse()}var ne=Object.freeze({__proto__:null,parse:ie,Exifr:te,fileParsers:w,segmentParsers:T,fileReaders:A,tagKeys:E,tagValues:B,tagRevivers:N,createDictionary:U,extendDictionary:F,fetchUrlAsArrayBuffer:M,readBlobAsArrayBuffer:R,chunkedProps:G,otherSegments:V,segments:z,tiffBlocks:H,segmentsAndBlocks:j,tiffExtractables:W,inheritables:K,allFormatters:X,Options:q});class se{constructor(e,t,i){c(this,\"errors\",[]),c(this,\"ensureSegmentChunk\",(async e=>{let t=e.start,i=e.size||65536;if(this.file.chunked)if(this.file.available(t,i))e.chunk=this.file.subarray(t,i);else try{e.chunk=await this.file.readChunk(t,i)}catch(t){g(`Couldn't read segment: ${JSON.stringify(e)}. ${t.message}`)}else this.file.byteLength>t+i?e.chunk=this.file.subarray(t,i):void 0===e.size?e.chunk=this.file.subarray(t):g(\"Segment unreachable: \"+JSON.stringify(e));return e.chunk})),this.extendOptions&&this.extendOptions(e),this.options=e,this.file=t,this.parsers=i}injectSegment(e,t){this.options[e].enabled&&this.createParser(e,t)}createParser(e,t){let i=new(T.get(e))(t,this.options,this.file);return this.parsers[e]=i}createParsers(e){for(let t of e){let{type:e,chunk:i}=t,n=this.options[e];if(n&&n.enabled){let t=this.parsers[e];t&&t.append||t||this.createParser(e,i)}}}async readSegments(e){let t=e.map(this.ensureSegmentChunk);await Promise.all(t)}}class re{static findPosition(e,t){let i=e.getUint16(t+2)+2,n=\"function\"==typeof this.headerLength?this.headerLength(e,t,i):this.headerLength,s=t+n,r=i-n;return{offset:t,length:i,headerLength:n,start:s,size:r,end:s+r}}static parse(e,t={}){return new this(e,new q({[this.type]:t}),e).parse()}normalizeInput(e){return e instanceof I?e:new I(e)}constructor(e,t={},i){c(this,\"errors\",[]),c(this,\"raw\",new Map),c(this,\"handleError\",(e=>{if(!this.options.silentErrors)throw e;this.errors.push(e.message)})),this.chunk=this.normalizeInput(e),this.file=i,this.type=this.constructor.type,this.globalOptions=this.options=t,this.localOptions=t[this.type],this.canTranslate=this.localOptions&&this.localOptions.translate}translate(){this.canTranslate&&(this.translated=this.translateBlock(this.raw,this.type))}get output(){return this.translated?this.translated:this.raw?Object.fromEntries(this.raw):void 0}translateBlock(e,t){let i=N.get(t),n=B.get(t),s=E.get(t),r=this.options[t],a=r.reviveValues&&!!i,o=r.translateValues&&!!n,l=r.translateKeys&&!!s,h={};for(let[t,r]of e)a&&i.has(t)?r=i.get(t)(r):o&&n.has(t)&&(r=this.translateValue(r,n.get(t))),l&&s.has(t)&&(t=s.get(t)||t),h[t]=r;return h}translateValue(e,t){return t[e]||t.DEFAULT||e}assignToOutput(e,t){this.assignObjectToOutput(e,this.constructor.type,t)}assignObjectToOutput(e,t,i){if(this.globalOptions.mergeOutput)return Object.assign(e,i);e[t]?Object.assign(e[t],i):e[t]=i}}c(re,\"headerLength\",4),c(re,\"type\",void 0),c(re,\"multiSegment\",!1),c(re,\"canHandle\",(()=>!1));function ae(e){return 192===e||194===e||196===e||219===e||221===e||218===e||254===e}function oe(e){return e>=224&&e<=239}function le(e,t,i){for(let[n,s]of T)if(s.canHandle(e,t,i))return n}class he extends se{constructor(...e){super(...e),c(this,\"appSegments\",[]),c(this,\"jpegSegments\",[]),c(this,\"unknownSegments\",[])}static canHandle(e,t){return 65496===t}async parse(){await this.findAppSegments(),await this.readSegments(this.appSegments),this.mergeMultiSegments(),this.createParsers(this.mergedAppSegments||this.appSegments)}setupSegmentFinderArgs(e){!0===e?(this.findAll=!0,this.wanted=new Set(T.keyList())):(e=void 0===e?T.keyList().filter((e=>this.options[e].enabled)):e.filter((e=>this.options[e].enabled&&T.has(e))),this.findAll=!1,this.remaining=new Set(e),this.wanted=new Set(e)),this.unfinishedMultiSegment=!1}async findAppSegments(e=0,t){this.setupSegmentFinderArgs(t);let{file:i,findAll:n,wanted:s,remaining:r}=this;if(!n&&this.file.chunked&&(n=Array.from(s).some((e=>{let t=T.get(e),i=this.options[e];return t.multiSegment&&i.multiSegment})),n&&await this.file.readWhole()),e=this.findAppSegmentsInRange(e,i.byteLength),!this.options.onlyTiff&&i.chunked){let t=!1;for(;r.size>0&&!t&&(i.canReadNextChunk||this.unfinishedMultiSegment);){let{nextChunkOffset:n}=i,s=this.appSegments.some((e=>!this.file.available(e.offset||e.start,e.length||e.size)));if(t=e>n&&!s?!await i.readNextChunk(e):!await i.readNextChunk(n),void 0===(e=this.findAppSegmentsInRange(e,i.byteLength)))return}}}findAppSegmentsInRange(e,t){t-=2;let i,n,s,r,a,o,{file:l,findAll:h,wanted:u,remaining:c,options:f}=this;for(;e<t;e++)if(255===l.getUint8(e))if(i=l.getUint8(e+1),oe(i)){if(n=l.getUint16(e+2),s=le(l,e,n),s&&u.has(s)&&(r=T.get(s),a=r.findPosition(l,e),o=f[s],a.type=s,this.appSegments.push(a),!h&&(r.multiSegment&&o.multiSegment?(this.unfinishedMultiSegment=a.chunkNumber<a.chunkCount,this.unfinishedMultiSegment||c.delete(s)):c.delete(s),0===c.size)))break;f.recordUnknownSegments&&(a=re.findPosition(l,e),a.marker=i,this.unknownSegments.push(a)),e+=n+1}else if(ae(i)){if(n=l.getUint16(e+2),218===i&&!1!==f.stopAfterSos)return;f.recordJpegSegments&&this.jpegSegments.push({offset:e,length:n,marker:i}),e+=n+1}return e}mergeMultiSegments(){if(!this.appSegments.some((e=>e.multiSegment)))return;let e=function(e,t){let i,n,s,r=new Map;for(let a=0;a<e.length;a++)i=e[a],n=i[t],r.has(n)?s=r.get(n):r.set(n,s=[]),s.push(i);return Array.from(r)}(this.appSegments,\"type\");this.mergedAppSegments=e.map((([e,t])=>{let i=T.get(e,this.options);if(i.handleMultiSegments){return{type:e,chunk:i.handleMultiSegments(t)}}return t[0]}))}getSegment(e){return this.appSegments.find((t=>t.type===e))}async getOrFindSegment(e){let t=this.getSegment(e);return void 0===t&&(await this.findAppSegments(0,[e]),t=this.getSegment(e)),t}}c(he,\"type\",\"jpeg\"),w.set(\"jpeg\",he);const ue=[void 0,1,1,2,4,8,1,1,2,4,8,4,8,4];class ce extends re{parseHeader(){var e=this.chunk.getUint16();18761===e?this.le=!0:19789===e&&(this.le=!1),this.chunk.le=this.le,this.headerParsed=!0}parseTags(e,t,i=new Map){let{pick:n,skip:s}=this.options[t];n=new Set(n);let r=n.size>0,a=0===s.size,o=this.chunk.getUint16(e);e+=2;for(let l=0;l<o;l++){let o=this.chunk.getUint16(e);if(r){if(n.has(o)&&(i.set(o,this.parseTag(e,o,t)),n.delete(o),0===n.size))break}else!a&&s.has(o)||i.set(o,this.parseTag(e,o,t));e+=12}return i}parseTag(e,t,i){let{chunk:n}=this,s=n.getUint16(e+2),r=n.getUint32(e+4),a=ue[s];if(a*r<=4?e+=8:e=n.getUint32(e+8),(s<1||s>13)&&g(`Invalid TIFF value type. block: ${i.toUpperCase()}, tag: ${t.toString(16)}, type: ${s}, offset ${e}`),e>n.byteLength&&g(`Invalid TIFF value offset. block: ${i.toUpperCase()}, tag: ${t.toString(16)}, type: ${s}, offset ${e} is outside of chunk size ${n.byteLength}`),1===s)return n.getUint8Array(e,r);if(2===s)return m(n.getString(e,r));if(7===s)return n.getUint8Array(e,r);if(1===r)return this.parseTagValue(s,e);{let t=new(function(e){switch(e){case 1:return Uint8Array;case 3:return Uint16Array;case 4:return Uint32Array;case 5:return Array;case 6:return Int8Array;case 8:return Int16Array;case 9:return Int32Array;case 10:return Array;case 11:return Float32Array;case 12:return Float64Array;default:return Array}}(s))(r),i=a;for(let n=0;n<r;n++)t[n]=this.parseTagValue(s,e),e+=i;return t}}parseTagValue(e,t){let{chunk:i}=this;switch(e){case 1:return i.getUint8(t);case 3:return i.getUint16(t);case 4:return i.getUint32(t);case 5:return i.getUint32(t)/i.getUint32(t+4);case 6:return i.getInt8(t);case 8:return i.getInt16(t);case 9:return i.getInt32(t);case 10:return i.getInt32(t)/i.getInt32(t+4);case 11:return i.getFloat(t);case 12:return i.getDouble(t);case 13:return i.getUint32(t);default:g(`Invalid tiff type ${e}`)}}}class fe extends ce{static canHandle(e,t){return 225===e.getUint8(t+1)&&1165519206===e.getUint32(t+4)&&0===e.getUint16(t+8)}async parse(){this.parseHeader();let{options:e}=this;return e.ifd0.enabled&&await this.parseIfd0Block(),e.exif.enabled&&await this.safeParse(\"parseExifBlock\"),e.gps.enabled&&await this.safeParse(\"parseGpsBlock\"),e.interop.enabled&&await this.safeParse(\"parseInteropBlock\"),e.ifd1.enabled&&await this.safeParse(\"parseThumbnailBlock\"),this.createOutput()}safeParse(e){let t=this[e]();return void 0!==t.catch&&(t=t.catch(this.handleError)),t}findIfd0Offset(){void 0===this.ifd0Offset&&(this.ifd0Offset=this.chunk.getUint32(4))}findIfd1Offset(){if(void 0===this.ifd1Offset){this.findIfd0Offset();let e=this.chunk.getUint16(this.ifd0Offset),t=this.ifd0Offset+2+12*e;this.ifd1Offset=this.chunk.getUint32(t)}}parseBlock(e,t){let i=new Map;return this[t]=i,this.parseTags(e,t,i),i}async parseIfd0Block(){if(this.ifd0)return;let{file:e}=this;this.findIfd0Offset(),this.ifd0Offset<8&&g(\"Malformed EXIF data\"),!e.chunked&&this.ifd0Offset>e.byteLength&&g(`IFD0 offset points to outside of file.\\nthis.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e.byteLength}`),e.tiff&&await e.ensureChunk(this.ifd0Offset,S(this.options));let t=this.parseBlock(this.ifd0Offset,\"ifd0\");return 0!==t.size?(this.exifOffset=t.get(34665),this.interopOffset=t.get(40965),this.gpsOffset=t.get(34853),this.xmp=t.get(700),this.iptc=t.get(33723),this.icc=t.get(34675),this.options.sanitize&&(t.delete(34665),t.delete(40965),t.delete(34853),t.delete(700),t.delete(33723),t.delete(34675)),t):void 0}async parseExifBlock(){if(this.exif)return;if(this.ifd0||await this.parseIfd0Block(),void 0===this.exifOffset)return;this.file.tiff&&await this.file.ensureChunk(this.exifOffset,S(this.options));let e=this.parseBlock(this.exifOffset,\"exif\");return this.interopOffset||(this.interopOffset=e.get(40965)),this.makerNote=e.get(37500),this.userComment=e.get(37510),this.options.sanitize&&(e.delete(40965),e.delete(37500),e.delete(37510)),this.unpack(e,41728),this.unpack(e,41729),e}unpack(e,t){let i=e.get(t);i&&1===i.length&&e.set(t,i[0])}async parseGpsBlock(){if(this.gps)return;if(this.ifd0||await this.parseIfd0Block(),void 0===this.gpsOffset)return;let e=this.parseBlock(this.gpsOffset,\"gps\");return e&&e.has(2)&&e.has(4)&&(e.set(\"latitude\",de(...e.get(2),e.get(1))),e.set(\"longitude\",de(...e.get(4),e.get(3)))),e}async parseInteropBlock(){if(!this.interop&&(this.ifd0||await this.parseIfd0Block(),void 0!==this.interopOffset||this.exif||await this.parseExifBlock(),void 0!==this.interopOffset))return this.parseBlock(this.interopOffset,\"interop\")}async parseThumbnailBlock(e=!1){if(!this.ifd1&&!this.ifd1Parsed&&(!this.options.mergeOutput||e))return this.findIfd1Offset(),this.ifd1Offset>0&&(this.parseBlock(this.ifd1Offset,\"ifd1\"),this.ifd1Parsed=!0),this.ifd1}async extractThumbnail(){if(this.headerParsed||this.parseHeader(),this.ifd1Parsed||await this.parseThumbnailBlock(!0),void 0===this.ifd1)return;let e=this.ifd1.get(513),t=this.ifd1.get(514);return this.chunk.getUint8Array(e,t)}get image(){return this.ifd0}get thumbnail(){return this.ifd1}createOutput(){let e,t,i,n={};for(t of H)if(e=this[t],!p(e))if(i=this.canTranslate?this.translateBlock(e,t):Object.fromEntries(e),this.options.mergeOutput){if(\"ifd1\"===t)continue;Object.assign(n,i)}else n[t]=i;return this.makerNote&&(n.makerNote=this.makerNote),this.userComment&&(n.userComment=this.userComment),n}assignToOutput(e,t){if(this.globalOptions.mergeOutput)Object.assign(e,t);else for(let[i,n]of Object.entries(t))this.assignObjectToOutput(e,i,n)}}function de(e,t,i,n){var s=e+t/60+i/3600;return\"S\"!==n&&\"W\"!==n||(s*=-1),s}c(fe,\"type\",\"tiff\"),c(fe,\"headerLength\",10),T.set(\"tiff\",fe);var pe=Object.freeze({__proto__:null,default:ne,Exifr:te,fileParsers:w,segmentParsers:T,fileReaders:A,tagKeys:E,tagValues:B,tagRevivers:N,createDictionary:U,extendDictionary:F,fetchUrlAsArrayBuffer:M,readBlobAsArrayBuffer:R,chunkedProps:G,otherSegments:V,segments:z,tiffBlocks:H,segmentsAndBlocks:j,tiffExtractables:W,inheritables:K,allFormatters:X,Options:q,parse:ie});const ge={ifd0:!1,ifd1:!1,exif:!1,gps:!1,interop:!1,sanitize:!1,reviveValues:!0,translateKeys:!1,translateValues:!1,mergeOutput:!1},me=Object.assign({},ge,{firstChunkSize:4e4,gps:[1,2,3,4]});async function Se(e){let t=new te(me);await t.read(e);let i=await t.parse();if(i&&i.gps){let{latitude:e,longitude:t}=i.gps;return{latitude:e,longitude:t}}}const Ce=Object.assign({},ge,{tiff:!1,ifd1:!0,mergeOutput:!1});async function ye(e){let t=new te(Ce);await t.read(e);let i=await t.extractThumbnail();return i&&a?s.from(i):i}async function be(e){let t=await this.thumbnail(e);if(void 0!==t){let e=new Blob([t]);return URL.createObjectURL(e)}}const Ie=Object.assign({},ge,{firstChunkSize:4e4,ifd0:[274]});async function Pe(e){let t=new te(Ie);await t.read(e);let i=await t.parse();if(i&&i.ifd0)return i.ifd0[274]}const ke=Object.freeze({1:{dimensionSwapped:!1,scaleX:1,scaleY:1,deg:0,rad:0},2:{dimensionSwapped:!1,scaleX:-1,scaleY:1,deg:0,rad:0},3:{dimensionSwapped:!1,scaleX:1,scaleY:1,deg:180,rad:180*Math.PI/180},4:{dimensionSwapped:!1,scaleX:-1,scaleY:1,deg:180,rad:180*Math.PI/180},5:{dimensionSwapped:!0,scaleX:1,scaleY:-1,deg:90,rad:90*Math.PI/180},6:{dimensionSwapped:!0,scaleX:1,scaleY:1,deg:90,rad:90*Math.PI/180},7:{dimensionSwapped:!0,scaleX:1,scaleY:-1,deg:270,rad:270*Math.PI/180},8:{dimensionSwapped:!0,scaleX:1,scaleY:1,deg:270,rad:270*Math.PI/180}});let we=!0,Te=!0;if(\"object\"==typeof navigator){let e=navigator.userAgent;if(e.includes(\"iPad\")||e.includes(\"iPhone\")){let t=e.match(/OS (\\d+)_(\\d+)/);if(t){let[,e,i]=t,n=Number(e)+.1*Number(i);we=n<13.4,Te=!1}}else if(e.includes(\"OS X 10\")){let[,t]=e.match(/OS X 10[_.](\\d+)/);we=Te=Number(t)<15}if(e.includes(\"Chrome/\")){let[,t]=e.match(/Chrome\\/(\\d+)/);we=Te=Number(t)<81}else if(e.includes(\"Firefox/\")){let[,t]=e.match(/Firefox\\/(\\d+)/);we=Te=Number(t)<77}}async function Ae(e){let t=await Pe(e);return Object.assign({canvas:we,css:Te},ke[t])}class De extends I{constructor(...e){super(...e),c(this,\"ranges\",new Oe),0!==this.byteLength&&this.ranges.add(0,this.byteLength)}_tryExtend(e,t,i){if(0===e&&0===this.byteLength&&i){let e=new DataView(i.buffer||i,i.byteOffset,i.byteLength);this._swapDataView(e)}else{let i=e+t;if(i>this.byteLength){let{dataView:e}=this._extend(i);this._swapDataView(e)}}}_extend(e){let t;t=a?s.allocUnsafe(e):new Uint8Array(e);let i=new DataView(t.buffer,t.byteOffset,t.byteLength);return t.set(new Uint8Array(this.buffer,this.byteOffset,this.byteLength),0),{uintView:t,dataView:i}}subarray(e,t,i=!1){return t=t||this._lengthToEnd(e),i&&this._tryExtend(e,t),this.ranges.add(e,t),super.subarray(e,t)}set(e,t,i=!1){i&&this._tryExtend(t,e.byteLength,e);let n=super.set(e,t);return this.ranges.add(t,n.byteLength),n}async ensureChunk(e,t){this.chunked&&(this.ranges.available(e,t)||await this.readChunk(e,t))}available(e,t){return this.ranges.available(e,t)}}class Oe{constructor(){c(this,\"list\",[])}get length(){return this.list.length}add(e,t,i=0){let n=e+t,s=this.list.filter((t=>xe(e,t.offset,n)||xe(e,t.end,n)));if(s.length>0){e=Math.min(e,...s.map((e=>e.offset))),n=Math.max(n,...s.map((e=>e.end))),t=n-e;let i=s.shift();i.offset=e,i.length=t,i.end=n,this.list=this.list.filter((e=>!s.includes(e)))}else this.list.push({offset:e,length:t,end:n})}available(e,t){let i=e+t;return this.list.some((t=>t.offset<=e&&i<=t.end))}}function xe(e,t,i){return e<=t&&t<=i}class ve extends De{constructor(e,t){super(0),c(this,\"chunksRead\",0),this.input=e,this.options=t}async readWhole(){this.chunked=!1,await this.readChunk(this.nextChunkOffset)}async readChunked(){this.chunked=!0,await this.readChunk(0,this.options.firstChunkSize)}async readNextChunk(e=this.nextChunkOffset){if(this.fullyRead)return this.chunksRead++,!1;let t=this.options.chunkSize,i=await this.readChunk(e,t);return!!i&&i.byteLength===t}async readChunk(e,t){if(this.chunksRead++,0!==(t=this.safeWrapAddress(e,t)))return this._readChunk(e,t)}safeWrapAddress(e,t){return void 0!==this.size&&e+t>this.size?Math.max(0,this.size-e):t}get nextChunkOffset(){if(0!==this.ranges.list.length)return this.ranges.list[0].length}get canReadNextChunk(){return this.chunksRead<this.options.chunkLimit}get fullyRead(){return void 0!==this.size&&this.nextChunkOffset===this.size}read(){return this.options.chunked?this.readChunked():this.readWhole()}close(){}}A.set(\"blob\",class extends ve{async readWhole(){this.chunked=!1;let e=await R(this.input);this._swapArrayBuffer(e)}readChunked(){return this.chunked=!0,this.size=this.input.size,super.readChunked()}async _readChunk(e,t){let i=t?e+t:void 0,n=this.input.slice(e,i),s=await R(n);return this.set(s,e,!0)}});var Me=Object.freeze({__proto__:null,default:pe,Exifr:te,fileParsers:w,segmentParsers:T,fileReaders:A,tagKeys:E,tagValues:B,tagRevivers:N,createDictionary:U,extendDictionary:F,fetchUrlAsArrayBuffer:M,readBlobAsArrayBuffer:R,chunkedProps:G,otherSegments:V,segments:z,tiffBlocks:H,segmentsAndBlocks:j,tiffExtractables:W,inheritables:K,allFormatters:X,Options:q,parse:ie,gpsOnlyOptions:me,gps:Se,thumbnailOnlyOptions:Ce,thumbnail:ye,thumbnailUrl:be,orientationOnlyOptions:Ie,orientation:Pe,rotations:ke,get rotateCanvas(){return we},get rotateCss(){return Te},rotation:Ae});A.set(\"url\",class extends ve{async readWhole(){this.chunked=!1;let e=await M(this.input);e instanceof ArrayBuffer?this._swapArrayBuffer(e):e instanceof Uint8Array&&this._swapBuffer(e)}async _readChunk(e,t){let i=t?e+t-1:void 0,n=this.options.httpHeaders||{};(e||i)&&(n.range=`bytes=${[e,i].join(\"-\")}`);let s=await h(this.input,{headers:n}),r=await s.arrayBuffer(),a=r.byteLength;if(416!==s.status)return a!==t&&(this.size=e+a),this.set(r,e,!0)}});I.prototype.getUint64=function(e){let t=this.getUint32(e),i=this.getUint32(e+4);return t<1048575?t<<32|i:void 0!==typeof r?(console.warn(\"Using BigInt because of type 64uint but JS can only handle 53b numbers.\"),r(t)<<r(32)|r(i)):void g(\"Trying to read 64b value but JS can only handle 53b numbers.\")};class Re extends se{parseBoxes(e=0){let t=[];for(;e<this.file.byteLength-4;){let i=this.parseBoxHead(e);if(t.push(i),0===i.length)break;e+=i.length}return t}parseSubBoxes(e){e.boxes=this.parseBoxes(e.start)}findBox(e,t){return void 0===e.boxes&&this.parseSubBoxes(e),e.boxes.find((e=>e.kind===t))}parseBoxHead(e){let t=this.file.getUint32(e),i=this.file.getString(e+4,4),n=e+8;return 1===t&&(t=this.file.getUint64(e+8),n+=8),{offset:e,length:t,kind:i,start:n}}parseBoxFullHead(e){if(void 0!==e.version)return;let t=this.file.getUint32(e.start);e.version=t>>24,e.start+=4}}class Le extends Re{static canHandle(e,t){if(0!==t)return!1;let i=e.getUint16(2);if(i>50)return!1;let n=16,s=[];for(;n<i;)s.push(e.getString(n,4)),n+=4;return s.includes(this.type)}async parse(){let e=this.file.getUint32(0),t=this.parseBoxHead(e);for(;\"meta\"!==t.kind;)e+=t.length,await this.file.ensureChunk(e,16),t=this.parseBoxHead(e);await this.file.ensureChunk(t.offset,t.length),this.parseBoxFullHead(t),this.parseSubBoxes(t),this.options.icc.enabled&&await this.findIcc(t),this.options.tiff.enabled&&await this.findExif(t)}async registerSegment(e,t,i){await this.file.ensureChunk(t,i);let n=this.file.subarray(t,i);this.createParser(e,n)}async findIcc(e){let t=this.findBox(e,\"iprp\");if(void 0===t)return;let i=this.findBox(t,\"ipco\");if(void 0===i)return;let n=this.findBox(i,\"colr\");void 0!==n&&await this.registerSegment(\"icc\",n.offset+12,n.length)}async findExif(e){let t=this.findBox(e,\"iinf\");if(void 0===t)return;let i=this.findBox(e,\"iloc\");if(void 0===i)return;let n=this.findExifLocIdInIinf(t),s=this.findExtentInIloc(i,n);if(void 0===s)return;let[r,a]=s;await this.file.ensureChunk(r,a);let o=4+this.file.getUint32(r);r+=o,a-=o,await this.registerSegment(\"tiff\",r,a)}findExifLocIdInIinf(e){this.parseBoxFullHead(e);let t,i,n,s,r=e.start,a=this.file.getUint16(r);for(r+=2;a--;){if(t=this.parseBoxHead(r),this.parseBoxFullHead(t),i=t.start,t.version>=2&&(n=3===t.version?4:2,s=this.file.getString(i+n+2,4),\"Exif\"===s))return this.file.getUintBytes(i,n);r+=t.length}}get8bits(e){let t=this.file.getUint8(e);return[t>>4,15&t]}findExtentInIloc(e,t){this.parseBoxFullHead(e);let i=e.start,[n,s]=this.get8bits(i++),[r,a]=this.get8bits(i++),o=2===e.version?4:2,l=1===e.version||2===e.version?2:0,h=a+n+s,u=2===e.version?4:2,c=this.file.getUintBytes(i,u);for(i+=u;c--;){let e=this.file.getUintBytes(i,o);i+=o+l+2+r;let u=this.file.getUint16(i);if(i+=2,e===t)return u>1&&console.warn(\"ILOC box has more than one extent but we're only processing one\\nPlease create an issue at https://github.com/MikeKovarik/exifr with this file\"),[this.file.getUintBytes(i+a,n),this.file.getUintBytes(i+a+n,s)];i+=u*h}}}class Ue extends Le{}c(Ue,\"type\",\"heic\");class Fe extends Le{}c(Fe,\"type\",\"avif\"),w.set(\"heic\",Ue),w.set(\"avif\",Fe),U(E,[\"ifd0\",\"ifd1\"],[[256,\"ImageWidth\"],[257,\"ImageHeight\"],[258,\"BitsPerSample\"],[259,\"Compression\"],[262,\"PhotometricInterpretation\"],[270,\"ImageDescription\"],[271,\"Make\"],[272,\"Model\"],[273,\"StripOffsets\"],[274,\"Orientation\"],[277,\"SamplesPerPixel\"],[278,\"RowsPerStrip\"],[279,\"StripByteCounts\"],[282,\"XResolution\"],[283,\"YResolution\"],[284,\"PlanarConfiguration\"],[296,\"ResolutionUnit\"],[301,\"TransferFunction\"],[305,\"Software\"],[306,\"ModifyDate\"],[315,\"Artist\"],[316,\"HostComputer\"],[317,\"Predictor\"],[318,\"WhitePoint\"],[319,\"PrimaryChromaticities\"],[513,\"ThumbnailOffset\"],[514,\"ThumbnailLength\"],[529,\"YCbCrCoefficients\"],[530,\"YCbCrSubSampling\"],[531,\"YCbCrPositioning\"],[532,\"ReferenceBlackWhite\"],[700,\"ApplicationNotes\"],[33432,\"Copyright\"],[33723,\"IPTC\"],[34665,\"ExifIFD\"],[34675,\"ICC\"],[34853,\"GpsIFD\"],[330,\"SubIFD\"],[40965,\"InteropIFD\"],[40091,\"XPTitle\"],[40092,\"XPComment\"],[40093,\"XPAuthor\"],[40094,\"XPKeywords\"],[40095,\"XPSubject\"]]),U(E,\"exif\",[[33434,\"ExposureTime\"],[33437,\"FNumber\"],[34850,\"ExposureProgram\"],[34852,\"SpectralSensitivity\"],[34855,\"ISO\"],[34858,\"TimeZoneOffset\"],[34859,\"SelfTimerMode\"],[34864,\"SensitivityType\"],[34865,\"StandardOutputSensitivity\"],[34866,\"RecommendedExposureIndex\"],[34867,\"ISOSpeed\"],[34868,\"ISOSpeedLatitudeyyy\"],[34869,\"ISOSpeedLatitudezzz\"],[36864,\"ExifVersion\"],[36867,\"DateTimeOriginal\"],[36868,\"CreateDate\"],[36873,\"GooglePlusUploadCode\"],[36880,\"OffsetTime\"],[36881,\"OffsetTimeOriginal\"],[36882,\"OffsetTimeDigitized\"],[37121,\"ComponentsConfiguration\"],[37122,\"CompressedBitsPerPixel\"],[37377,\"ShutterSpeedValue\"],[37378,\"ApertureValue\"],[37379,\"BrightnessValue\"],[37380,\"ExposureCompensation\"],[37381,\"MaxApertureValue\"],[37382,\"SubjectDistance\"],[37383,\"MeteringMode\"],[37384,\"LightSource\"],[37385,\"Flash\"],[37386,\"FocalLength\"],[37393,\"ImageNumber\"],[37394,\"SecurityClassification\"],[37395,\"ImageHistory\"],[37396,\"SubjectArea\"],[37500,\"MakerNote\"],[37510,\"UserComment\"],[37520,\"SubSecTime\"],[37521,\"SubSecTimeOriginal\"],[37522,\"SubSecTimeDigitized\"],[37888,\"AmbientTemperature\"],[37889,\"Humidity\"],[37890,\"Pressure\"],[37891,\"WaterDepth\"],[37892,\"Acceleration\"],[37893,\"CameraElevationAngle\"],[40960,\"FlashpixVersion\"],[40961,\"ColorSpace\"],[40962,\"ExifImageWidth\"],[40963,\"ExifImageHeight\"],[40964,\"RelatedSoundFile\"],[41483,\"FlashEnergy\"],[41486,\"FocalPlaneXResolution\"],[41487,\"FocalPlaneYResolution\"],[41488,\"FocalPlaneResolutionUnit\"],[41492,\"SubjectLocation\"],[41493,\"ExposureIndex\"],[41495,\"SensingMethod\"],[41728,\"FileSource\"],[41729,\"SceneType\"],[41730,\"CFAPattern\"],[41985,\"CustomRendered\"],[41986,\"ExposureMode\"],[41987,\"WhiteBalance\"],[41988,\"DigitalZoomRatio\"],[41989,\"FocalLengthIn35mmFormat\"],[41990,\"SceneCaptureType\"],[41991,\"GainControl\"],[41992,\"Contrast\"],[41993,\"Saturation\"],[41994,\"Sharpness\"],[41996,\"SubjectDistanceRange\"],[42016,\"ImageUniqueID\"],[42032,\"OwnerName\"],[42033,\"SerialNumber\"],[42034,\"LensInfo\"],[42035,\"LensMake\"],[42036,\"LensModel\"],[42037,\"LensSerialNumber\"],[42080,\"CompositeImage\"],[42081,\"CompositeImageCount\"],[42082,\"CompositeImageExposureTimes\"],[42240,\"Gamma\"],[59932,\"Padding\"],[59933,\"OffsetSchema\"],[65e3,\"OwnerName\"],[65001,\"SerialNumber\"],[65002,\"Lens\"],[65100,\"RawFile\"],[65101,\"Converter\"],[65102,\"WhiteBalance\"],[65105,\"Exposure\"],[65106,\"Shadows\"],[65107,\"Brightness\"],[65108,\"Contrast\"],[65109,\"Saturation\"],[65110,\"Sharpness\"],[65111,\"Smoothness\"],[65112,\"MoireFilter\"],[40965,\"InteropIFD\"]]),U(E,\"gps\",[[0,\"GPSVersionID\"],[1,\"GPSLatitudeRef\"],[2,\"GPSLatitude\"],[3,\"GPSLongitudeRef\"],[4,\"GPSLongitude\"],[5,\"GPSAltitudeRef\"],[6,\"GPSAltitude\"],[7,\"GPSTimeStamp\"],[8,\"GPSSatellites\"],[9,\"GPSStatus\"],[10,\"GPSMeasureMode\"],[11,\"GPSDOP\"],[12,\"GPSSpeedRef\"],[13,\"GPSSpeed\"],[14,\"GPSTrackRef\"],[15,\"GPSTrack\"],[16,\"GPSImgDirectionRef\"],[17,\"GPSImgDirection\"],[18,\"GPSMapDatum\"],[19,\"GPSDestLatitudeRef\"],[20,\"GPSDestLatitude\"],[21,\"GPSDestLongitudeRef\"],[22,\"GPSDestLongitude\"],[23,\"GPSDestBearingRef\"],[24,\"GPSDestBearing\"],[25,\"GPSDestDistanceRef\"],[26,\"GPSDestDistance\"],[27,\"GPSProcessingMethod\"],[28,\"GPSAreaInformation\"],[29,\"GPSDateStamp\"],[30,\"GPSDifferential\"],[31,\"GPSHPositioningError\"]]),U(B,[\"ifd0\",\"ifd1\"],[[274,{1:\"Horizontal (normal)\",2:\"Mirror horizontal\",3:\"Rotate 180\",4:\"Mirror vertical\",5:\"Mirror horizontal and rotate 270 CW\",6:\"Rotate 90 CW\",7:\"Mirror horizontal and rotate 90 CW\",8:\"Rotate 270 CW\"}],[296,{1:\"None\",2:\"inches\",3:\"cm\"}]]);let Ee=U(B,\"exif\",[[34850,{0:\"Not defined\",1:\"Manual\",2:\"Normal program\",3:\"Aperture priority\",4:\"Shutter priority\",5:\"Creative program\",6:\"Action program\",7:\"Portrait mode\",8:\"Landscape mode\"}],[37121,{0:\"-\",1:\"Y\",2:\"Cb\",3:\"Cr\",4:\"R\",5:\"G\",6:\"B\"}],[37383,{0:\"Unknown\",1:\"Average\",2:\"CenterWeightedAverage\",3:\"Spot\",4:\"MultiSpot\",5:\"Pattern\",6:\"Partial\",255:\"Other\"}],[37384,{0:\"Unknown\",1:\"Daylight\",2:\"Fluorescent\",3:\"Tungsten (incandescent light)\",4:\"Flash\",9:\"Fine weather\",10:\"Cloudy weather\",11:\"Shade\",12:\"Daylight fluorescent (D 5700 - 7100K)\",13:\"Day white fluorescent (N 4600 - 5400K)\",14:\"Cool white fluorescent (W 3900 - 4500K)\",15:\"White fluorescent (WW 3200 - 3700K)\",17:\"Standard light A\",18:\"Standard light B\",19:\"Standard light C\",20:\"D55\",21:\"D65\",22:\"D75\",23:\"D50\",24:\"ISO studio tungsten\",255:\"Other\"}],[37385,{0:\"Flash did not fire\",1:\"Flash fired\",5:\"Strobe return light not detected\",7:\"Strobe return light detected\",9:\"Flash fired, compulsory flash mode\",13:\"Flash fired, compulsory flash mode, return light not detected\",15:\"Flash fired, compulsory flash mode, return light detected\",16:\"Flash did not fire, compulsory flash mode\",24:\"Flash did not fire, auto mode\",25:\"Flash fired, auto mode\",29:\"Flash fired, auto mode, return light not detected\",31:\"Flash fired, auto mode, return light detected\",32:\"No flash function\",65:\"Flash fired, red-eye reduction mode\",69:\"Flash fired, red-eye reduction mode, return light not detected\",71:\"Flash fired, red-eye reduction mode, return light detected\",73:\"Flash fired, compulsory flash mode, red-eye reduction mode\",77:\"Flash fired, compulsory flash mode, red-eye reduction mode, return light not detected\",79:\"Flash fired, compulsory flash mode, red-eye reduction mode, return light detected\",89:\"Flash fired, auto mode, red-eye reduction mode\",93:\"Flash fired, auto mode, return light not detected, red-eye reduction mode\",95:\"Flash fired, auto mode, return light detected, red-eye reduction mode\"}],[41495,{1:\"Not defined\",2:\"One-chip color area sensor\",3:\"Two-chip color area sensor\",4:\"Three-chip color area sensor\",5:\"Color sequential area sensor\",7:\"Trilinear sensor\",8:\"Color sequential linear sensor\"}],[41728,{1:\"Film Scanner\",2:\"Reflection Print Scanner\",3:\"Digital Camera\"}],[41729,{1:\"Directly photographed\"}],[41985,{0:\"Normal\",1:\"Custom\",2:\"HDR (no original saved)\",3:\"HDR (original saved)\",4:\"Original (for HDR)\",6:\"Panorama\",7:\"Portrait HDR\",8:\"Portrait\"}],[41986,{0:\"Auto\",1:\"Manual\",2:\"Auto bracket\"}],[41987,{0:\"Auto\",1:\"Manual\"}],[41990,{0:\"Standard\",1:\"Landscape\",2:\"Portrait\",3:\"Night\",4:\"Other\"}],[41991,{0:\"None\",1:\"Low gain up\",2:\"High gain up\",3:\"Low gain down\",4:\"High gain down\"}],[41996,{0:\"Unknown\",1:\"Macro\",2:\"Close\",3:\"Distant\"}],[42080,{0:\"Unknown\",1:\"Not a Composite Image\",2:\"General Composite Image\",3:\"Composite Image Captured While Shooting\"}]]);const Be={1:\"No absolute unit of measurement\",2:\"Inch\",3:\"Centimeter\"};Ee.set(37392,Be),Ee.set(41488,Be);const Ne={0:\"Normal\",1:\"Low\",2:\"High\"};function Ge(e){return\"object\"==typeof e&&void 0!==e.length?e[0]:e}function Ve(e){let t=Array.from(e).slice(1);return t[1]>15&&(t=t.map((e=>String.fromCharCode(e)))),\"0\"!==t[2]&&0!==t[2]||t.pop(),t.join(\".\")}function ze(e){if(\"string\"==typeof e){var[t,i,n,s,r,a]=e.trim().split(/[-: ]/g).map(Number),o=new Date(t,i-1,n);return Number.isNaN(s)||Number.isNaN(r)||Number.isNaN(a)||(o.setHours(s),o.setMinutes(r),o.setSeconds(a)),Number.isNaN(+o)?e:o}}function He(e){if(\"string\"==typeof e)return e;let t=[];if(0===e[1]&&0===e[e.length-1])for(let i=0;i<e.length;i+=2)t.push(je(e[i+1],e[i]));else for(let i=0;i<e.length;i+=2)t.push(je(e[i],e[i+1]));return m(String.fromCodePoint(...t))}function je(e,t){return e<<8|t}Ee.set(41992,Ne),Ee.set(41993,Ne),Ee.set(41994,Ne),U(N,[\"ifd0\",\"ifd1\"],[[50827,function(e){return\"string\"!=typeof e?b(e):e}],[306,ze],[40091,He],[40092,He],[40093,He],[40094,He],[40095,He]]),U(N,\"exif\",[[40960,Ve],[36864,Ve],[36867,ze],[36868,ze],[40962,Ge],[40963,Ge]]),U(N,\"gps\",[[0,e=>Array.from(e).join(\".\")],[7,e=>Array.from(e).join(\":\")]]);class We extends re{static canHandle(e,t){return 225===e.getUint8(t+1)&&1752462448===e.getUint32(t+4)&&\"http://ns.adobe.com/\"===e.getString(t+4,\"http://ns.adobe.com/\".length)}static headerLength(e,t){return\"http://ns.adobe.com/xmp/extension/\"===e.getString(t+4,\"http://ns.adobe.com/xmp/extension/\".length)?79:4+\"http://ns.adobe.com/xap/1.0/\".length+1}static findPosition(e,t){let i=super.findPosition(e,t);return i.multiSegment=i.extended=79===i.headerLength,i.multiSegment?(i.chunkCount=e.getUint8(t+72),i.chunkNumber=e.getUint8(t+76),0!==e.getUint8(t+77)&&i.chunkNumber++):(i.chunkCount=1/0,i.chunkNumber=-1),i}static handleMultiSegments(e){return e.map((e=>e.chunk.getString())).join(\"\")}normalizeInput(e){return\"string\"==typeof e?e:I.from(e).getString()}parse(e=this.chunk){if(!this.localOptions.parse)return e;e=function(e){let t={},i={};for(let e of Ze)t[e]=[],i[e]=0;return e.replace(et,((e,n,s)=>{if(\"<\"===n){let n=++i[s];return t[s].push(n),`${e}#${n}`}return`${e}#${t[s].pop()}`}))}(e);let t=Xe.findAll(e,\"rdf\",\"Description\");0===t.length&&t.push(new Xe(\"rdf\",\"Description\",void 0,e));let i,n={};for(let e of t)for(let t of e.properties)i=Je(t.ns,n),_e(t,i);return function(e){let t;for(let i in e)t=e[i]=f(e[i]),void 0===t&&delete e[i];return f(e)}(n)}assignToOutput(e,t){if(this.localOptions.parse)for(let[i,n]of Object.entries(t))switch(i){case\"tiff\":this.assignObjectToOutput(e,\"ifd0\",n);break;case\"exif\":this.assignObjectToOutput(e,\"exif\",n);break;case\"xmlns\":break;default:this.assignObjectToOutput(e,i,n)}else e.xmp=t}}c(We,\"type\",\"xmp\"),c(We,\"multiSegment\",!0),T.set(\"xmp\",We);class Ke{static findAll(e){return qe(e,/([a-zA-Z0-9-]+):([a-zA-Z0-9-]+)=(\"[^\"]*\"|'[^']*')/gm).map(Ke.unpackMatch)}static unpackMatch(e){let t=e[1],i=e[2],n=e[3].slice(1,-1);return n=Qe(n),new Ke(t,i,n)}constructor(e,t,i){this.ns=e,this.name=t,this.value=i}serialize(){return this.value}}class Xe{static findAll(e,t,i){if(void 0!==t||void 0!==i){t=t||\"[\\\\w\\\\d-]+\",i=i||\"[\\\\w\\\\d-]+\";var n=new RegExp(`<(${t}):(${i})(#\\\\d+)?((\\\\s+?[\\\\w\\\\d-:]+=(\"[^\"]*\"|'[^']*'))*\\\\s*)(\\\\/>|>([\\\\s\\\\S]*?)<\\\\/\\\\1:\\\\2\\\\3>)`,\"gm\")}else n=/<([\\w\\d-]+):([\\w\\d-]+)(#\\d+)?((\\s+?[\\w\\d-:]+=(\"[^\"]*\"|'[^']*'))*\\s*)(\\/>|>([\\s\\S]*?)<\\/\\1:\\2\\3>)/gm;return qe(e,n).map(Xe.unpackMatch)}static unpackMatch(e){let t=e[1],i=e[2],n=e[4],s=e[8];return new Xe(t,i,n,s)}constructor(e,t,i,n){this.ns=e,this.name=t,this.attrString=i,this.innerXml=n,this.attrs=Ke.findAll(i),this.children=Xe.findAll(n),this.value=0===this.children.length?Qe(n):void 0,this.properties=[...this.attrs,...this.children]}get isPrimitive(){return void 0!==this.value&&0===this.attrs.length&&0===this.children.length}get isListContainer(){return 1===this.children.length&&this.children[0].isList}get isList(){let{ns:e,name:t}=this;return\"rdf\"===e&&(\"Seq\"===t||\"Bag\"===t||\"Alt\"===t)}get isListItem(){return\"rdf\"===this.ns&&\"li\"===this.name}serialize(){if(0===this.properties.length&&void 0===this.value)return;if(this.isPrimitive)return this.value;if(this.isListContainer)return this.children[0].serialize();if(this.isList)return $e(this.children.map(Ye));if(this.isListItem&&1===this.children.length&&0===this.attrs.length)return this.children[0].serialize();let e={};for(let t of this.properties)_e(t,e);return void 0!==this.value&&(e.value=this.value),f(e)}}function _e(e,t){let i=e.serialize();void 0!==i&&(t[e.name]=i)}var Ye=e=>e.serialize(),$e=e=>1===e.length?e[0]:e,Je=(e,t)=>t[e]?t[e]:t[e]={};function qe(e,t){let i,n=[];if(!e)return n;for(;null!==(i=t.exec(e));)n.push(i);return n}function Qe(e){if(function(e){return null==e||\"null\"===e||\"undefined\"===e||\"\"===e||\"\"===e.trim()}(e))return;let t=Number(e);if(!Number.isNaN(t))return t;let i=e.toLowerCase();return\"true\"===i||\"false\"!==i&&e.trim()}const Ze=[\"rdf:li\",\"rdf:Seq\",\"rdf:Bag\",\"rdf:Alt\",\"rdf:Description\"],et=new RegExp(`(<|\\\\/)(${Ze.join(\"|\")})`,\"g\");var tt=Object.freeze({__proto__:null,default:Me,Exifr:te,fileParsers:w,segmentParsers:T,fileReaders:A,tagKeys:E,tagValues:B,tagRevivers:N,createDictionary:U,extendDictionary:F,fetchUrlAsArrayBuffer:M,readBlobAsArrayBuffer:R,chunkedProps:G,otherSegments:V,segments:z,tiffBlocks:H,segmentsAndBlocks:j,tiffExtractables:W,inheritables:K,allFormatters:X,Options:q,parse:ie,gpsOnlyOptions:me,gps:Se,thumbnailOnlyOptions:Ce,thumbnail:ye,thumbnailUrl:be,orientationOnlyOptions:Ie,orientation:Pe,rotations:ke,get rotateCanvas(){return we},get rotateCss(){return Te},rotation:Ae});const it=[\"xmp\",\"icc\",\"iptc\",\"tiff\"],nt=()=>{};async function st(e,t,i){let n=new q(t);n.chunked=!1,void 0===i&&\"string\"==typeof e&&(i=function(e){let t=e.toLowerCase().split(\".\").pop();if(function(e){return\"exif\"===e||\"tiff\"===e||\"tif\"===e}(t))return\"tiff\";if(it.includes(t))return t}(e));let s=await D(e,n);if(i){if(it.includes(i))return rt(i,s,n);g(\"Invalid segment type\")}else{if(function(e){let t=e.getString(0,50).trim();return t.includes(\"<?xpacket\")||t.includes(\"<x:\")}(s))return rt(\"xmp\",s,n);for(let[e]of T){if(!it.includes(e))continue;let t=await rt(e,s,n).catch(nt);if(t)return t}g(\"Unknown file format\")}}async function rt(e,t,i){let n=i[e];return n.enabled=!0,n.parse=!0,T.get(e).parse(t,n)}let at=l(\"fs\",(e=>e.promises));A.set(\"fs\",class extends ve{async readWhole(){this.chunked=!1,this.fs=await at;let e=await this.fs.readFile(this.input);this._swapBuffer(e)}async readChunked(){this.chunked=!0,this.fs=await at,await this.open(),await this.readChunk(0,this.options.firstChunkSize)}async open(){void 0===this.fh&&(this.fh=await this.fs.open(this.input,\"r\"),this.size=(await this.fh.stat(this.input)).size)}async _readChunk(e,t){void 0===this.fh&&await this.open(),e+t>this.size&&(t=this.size-e);var i=this.subarray(e,t,!0);return await this.fh.read(i.dataView,0,t,e),i}async close(){if(this.fh){let e=this.fh;this.fh=void 0,await e.close()}}});A.set(\"base64\",class extends ve{constructor(...e){super(...e),this.input=this.input.replace(/^data:([^;]+);base64,/gim,\"\"),this.size=this.input.length/4*3,this.input.endsWith(\"==\")?this.size-=2:this.input.endsWith(\"=\")&&(this.size-=1)}async _readChunk(e,t){let i,n,r=this.input;void 0===e?(e=0,i=0,n=0):(i=4*Math.floor(e/3),n=e-i/4*3),void 0===t&&(t=this.size);let o=e+t,l=i+4*Math.ceil(o/3);r=r.slice(i,l);let h=Math.min(t,this.size-e);if(a){let t=s.from(r,\"base64\").slice(n,n+h);return this.set(t,e,!0)}{let t=this.subarray(e,h,!0),i=atob(r),s=t.toUint8();for(let e=0;e<h;e++)s[e]=i.charCodeAt(n+e);return t}}});class ot extends se{static canHandle(e,t){return 18761===t||19789===t}extendOptions(e){let{ifd0:t,xmp:i,iptc:n,icc:s}=e;i.enabled&&t.deps.add(700),n.enabled&&t.deps.add(33723),s.enabled&&t.deps.add(34675),t.finalizeFilters()}async parse(){let{tiff:e,xmp:t,iptc:i,icc:n}=this.options;if(e.enabled||t.enabled||i.enabled||n.enabled){let e=Math.max(S(this.options),this.options.chunkSize);await this.file.ensureChunk(0,e),this.createParser(\"tiff\",this.file),this.parsers.tiff.parseHeader(),await this.parsers.tiff.parseIfd0Block(),this.adaptTiffPropAsSegment(\"xmp\"),this.adaptTiffPropAsSegment(\"iptc\"),this.adaptTiffPropAsSegment(\"icc\")}}adaptTiffPropAsSegment(e){if(this.parsers.tiff[e]){let t=this.parsers.tiff[e];this.injectSegment(e,t)}}}c(ot,\"type\",\"tiff\"),w.set(\"tiff\",ot);let lt=l(\"zlib\");const ht=[\"ihdr\",\"iccp\",\"text\",\"itxt\",\"exif\"];class ut extends se{constructor(...e){super(...e),c(this,\"catchError\",(e=>this.errors.push(e))),c(this,\"metaChunks\",[]),c(this,\"unknownChunks\",[])}static canHandle(e,t){return 35152===t&&2303741511===e.getUint32(0)&&218765834===e.getUint32(4)}async parse(){let{file:e}=this;await this.findPngChunksInRange(\"‰PNG\\r\\n\u001a\\n\".length,e.byteLength),await this.readSegments(this.metaChunks),this.findIhdr(),this.parseTextChunks(),await this.findExif().catch(this.catchError),await this.findXmp().catch(this.catchError),await this.findIcc().catch(this.catchError)}async findPngChunksInRange(e,t){let{file:i}=this;for(;e<t;){let t=i.getUint32(e),n=i.getUint32(e+4),s=i.getString(e+4,4).toLowerCase(),r=t+4+4+4,a={type:s,offset:e,length:r,start:e+4+4,size:t,marker:n};ht.includes(s)?this.metaChunks.push(a):this.unknownChunks.push(a),e+=r}}parseTextChunks(){let e=this.metaChunks.filter((e=>\"text\"===e.type));for(let t of e){let[e,i]=this.file.getString(t.start,t.size).split(\"\\0\");this.injectKeyValToIhdr(e,i)}}injectKeyValToIhdr(e,t){let i=this.parsers.ihdr;i&&i.raw.set(e,t)}findIhdr(){let e=this.metaChunks.find((e=>\"ihdr\"===e.type));e&&!1!==this.options.ihdr.enabled&&this.createParser(\"ihdr\",e.chunk)}async findExif(){let e=this.metaChunks.find((e=>\"exif\"===e.type));e&&this.injectSegment(\"tiff\",e.chunk)}async findXmp(){let e=this.metaChunks.filter((e=>\"itxt\"===e.type));for(let t of e){\"XML:com.adobe.xmp\"===t.chunk.getString(0,\"XML:com.adobe.xmp\".length)&&this.injectSegment(\"xmp\",t.chunk)}}async findIcc(){let e=this.metaChunks.find((e=>\"iccp\"===e.type));if(!e)return;let{chunk:t}=e,i=t.getUint8Array(0,81),s=0;for(;s<80&&0!==i[s];)s++;let r=s+2,a=t.getString(0,s);if(this.injectKeyValToIhdr(\"ProfileName\",a),n){let e=await lt,i=t.getUint8Array(r);i=e.inflateSync(i),this.injectSegment(\"icc\",i)}}}c(ut,\"type\",\"png\"),w.set(\"png\",ut),U(E,\"interop\",[[1,\"InteropIndex\"],[2,\"InteropVersion\"],[4096,\"RelatedImageFileFormat\"],[4097,\"RelatedImageWidth\"],[4098,\"RelatedImageHeight\"]]),F(E,\"ifd0\",[[11,\"ProcessingSoftware\"],[254,\"SubfileType\"],[255,\"OldSubfileType\"],[263,\"Thresholding\"],[264,\"CellWidth\"],[265,\"CellLength\"],[266,\"FillOrder\"],[269,\"DocumentName\"],[280,\"MinSampleValue\"],[281,\"MaxSampleValue\"],[285,\"PageName\"],[286,\"XPosition\"],[287,\"YPosition\"],[290,\"GrayResponseUnit\"],[297,\"PageNumber\"],[321,\"HalftoneHints\"],[322,\"TileWidth\"],[323,\"TileLength\"],[332,\"InkSet\"],[337,\"TargetPrinter\"],[18246,\"Rating\"],[18249,\"RatingPercent\"],[33550,\"PixelScale\"],[34264,\"ModelTransform\"],[34377,\"PhotoshopSettings\"],[50706,\"DNGVersion\"],[50707,\"DNGBackwardVersion\"],[50708,\"UniqueCameraModel\"],[50709,\"LocalizedCameraModel\"],[50736,\"DNGLensInfo\"],[50739,\"ShadowScale\"],[50740,\"DNGPrivateData\"],[33920,\"IntergraphMatrix\"],[33922,\"ModelTiePoint\"],[34118,\"SEMInfo\"],[34735,\"GeoTiffDirectory\"],[34736,\"GeoTiffDoubleParams\"],[34737,\"GeoTiffAsciiParams\"],[50341,\"PrintIM\"],[50721,\"ColorMatrix1\"],[50722,\"ColorMatrix2\"],[50723,\"CameraCalibration1\"],[50724,\"CameraCalibration2\"],[50725,\"ReductionMatrix1\"],[50726,\"ReductionMatrix2\"],[50727,\"AnalogBalance\"],[50728,\"AsShotNeutral\"],[50729,\"AsShotWhiteXY\"],[50730,\"BaselineExposure\"],[50731,\"BaselineNoise\"],[50732,\"BaselineSharpness\"],[50734,\"LinearResponseLimit\"],[50735,\"CameraSerialNumber\"],[50741,\"MakerNoteSafety\"],[50778,\"CalibrationIlluminant1\"],[50779,\"CalibrationIlluminant2\"],[50781,\"RawDataUniqueID\"],[50827,\"OriginalRawFileName\"],[50828,\"OriginalRawFileData\"],[50831,\"AsShotICCProfile\"],[50832,\"AsShotPreProfileMatrix\"],[50833,\"CurrentICCProfile\"],[50834,\"CurrentPreProfileMatrix\"],[50879,\"ColorimetricReference\"],[50885,\"SRawType\"],[50898,\"PanasonicTitle\"],[50899,\"PanasonicTitle2\"],[50931,\"CameraCalibrationSig\"],[50932,\"ProfileCalibrationSig\"],[50933,\"ProfileIFD\"],[50934,\"AsShotProfileName\"],[50936,\"ProfileName\"],[50937,\"ProfileHueSatMapDims\"],[50938,\"ProfileHueSatMapData1\"],[50939,\"ProfileHueSatMapData2\"],[50940,\"ProfileToneCurve\"],[50941,\"ProfileEmbedPolicy\"],[50942,\"ProfileCopyright\"],[50964,\"ForwardMatrix1\"],[50965,\"ForwardMatrix2\"],[50966,\"PreviewApplicationName\"],[50967,\"PreviewApplicationVersion\"],[50968,\"PreviewSettingsName\"],[50969,\"PreviewSettingsDigest\"],[50970,\"PreviewColorSpace\"],[50971,\"PreviewDateTime\"],[50972,\"RawImageDigest\"],[50973,\"OriginalRawFileDigest\"],[50981,\"ProfileLookTableDims\"],[50982,\"ProfileLookTableData\"],[51043,\"TimeCodes\"],[51044,\"FrameRate\"],[51058,\"TStop\"],[51081,\"ReelName\"],[51089,\"OriginalDefaultFinalSize\"],[51090,\"OriginalBestQualitySize\"],[51091,\"OriginalDefaultCropSize\"],[51105,\"CameraLabel\"],[51107,\"ProfileHueSatMapEncoding\"],[51108,\"ProfileLookTableEncoding\"],[51109,\"BaselineExposureOffset\"],[51110,\"DefaultBlackRender\"],[51111,\"NewRawImageDigest\"],[51112,\"RawToPreviewGain\"]]);let ct=[[273,\"StripOffsets\"],[279,\"StripByteCounts\"],[288,\"FreeOffsets\"],[289,\"FreeByteCounts\"],[291,\"GrayResponseCurve\"],[292,\"T4Options\"],[293,\"T6Options\"],[300,\"ColorResponseUnit\"],[320,\"ColorMap\"],[324,\"TileOffsets\"],[325,\"TileByteCounts\"],[326,\"BadFaxLines\"],[327,\"CleanFaxData\"],[328,\"ConsecutiveBadFaxLines\"],[330,\"SubIFD\"],[333,\"InkNames\"],[334,\"NumberofInks\"],[336,\"DotRange\"],[338,\"ExtraSamples\"],[339,\"SampleFormat\"],[340,\"SMinSampleValue\"],[341,\"SMaxSampleValue\"],[342,\"TransferRange\"],[343,\"ClipPath\"],[344,\"XClipPathUnits\"],[345,\"YClipPathUnits\"],[346,\"Indexed\"],[347,\"JPEGTables\"],[351,\"OPIProxy\"],[400,\"GlobalParametersIFD\"],[401,\"ProfileType\"],[402,\"FaxProfile\"],[403,\"CodingMethods\"],[404,\"VersionYear\"],[405,\"ModeNumber\"],[433,\"Decode\"],[434,\"DefaultImageColor\"],[435,\"T82Options\"],[437,\"JPEGTables\"],[512,\"JPEGProc\"],[515,\"JPEGRestartInterval\"],[517,\"JPEGLosslessPredictors\"],[518,\"JPEGPointTransforms\"],[519,\"JPEGQTables\"],[520,\"JPEGDCTables\"],[521,\"JPEGACTables\"],[559,\"StripRowCounts\"],[999,\"USPTOMiscellaneous\"],[18247,\"XP_DIP_XML\"],[18248,\"StitchInfo\"],[28672,\"SonyRawFileType\"],[28688,\"SonyToneCurve\"],[28721,\"VignettingCorrection\"],[28722,\"VignettingCorrParams\"],[28724,\"ChromaticAberrationCorrection\"],[28725,\"ChromaticAberrationCorrParams\"],[28726,\"DistortionCorrection\"],[28727,\"DistortionCorrParams\"],[29895,\"SonyCropTopLeft\"],[29896,\"SonyCropSize\"],[32781,\"ImageID\"],[32931,\"WangTag1\"],[32932,\"WangAnnotation\"],[32933,\"WangTag3\"],[32934,\"WangTag4\"],[32953,\"ImageReferencePoints\"],[32954,\"RegionXformTackPoint\"],[32955,\"WarpQuadrilateral\"],[32956,\"AffineTransformMat\"],[32995,\"Matteing\"],[32996,\"DataType\"],[32997,\"ImageDepth\"],[32998,\"TileDepth\"],[33300,\"ImageFullWidth\"],[33301,\"ImageFullHeight\"],[33302,\"TextureFormat\"],[33303,\"WrapModes\"],[33304,\"FovCot\"],[33305,\"MatrixWorldToScreen\"],[33306,\"MatrixWorldToCamera\"],[33405,\"Model2\"],[33421,\"CFARepeatPatternDim\"],[33422,\"CFAPattern2\"],[33423,\"BatteryLevel\"],[33424,\"KodakIFD\"],[33445,\"MDFileTag\"],[33446,\"MDScalePixel\"],[33447,\"MDColorTable\"],[33448,\"MDLabName\"],[33449,\"MDSampleInfo\"],[33450,\"MDPrepDate\"],[33451,\"MDPrepTime\"],[33452,\"MDFileUnits\"],[33589,\"AdventScale\"],[33590,\"AdventRevision\"],[33628,\"UIC1Tag\"],[33629,\"UIC2Tag\"],[33630,\"UIC3Tag\"],[33631,\"UIC4Tag\"],[33918,\"IntergraphPacketData\"],[33919,\"IntergraphFlagRegisters\"],[33921,\"INGRReserved\"],[34016,\"Site\"],[34017,\"ColorSequence\"],[34018,\"IT8Header\"],[34019,\"RasterPadding\"],[34020,\"BitsPerRunLength\"],[34021,\"BitsPerExtendedRunLength\"],[34022,\"ColorTable\"],[34023,\"ImageColorIndicator\"],[34024,\"BackgroundColorIndicator\"],[34025,\"ImageColorValue\"],[34026,\"BackgroundColorValue\"],[34027,\"PixelIntensityRange\"],[34028,\"TransparencyIndicator\"],[34029,\"ColorCharacterization\"],[34030,\"HCUsage\"],[34031,\"TrapIndicator\"],[34032,\"CMYKEquivalent\"],[34152,\"AFCP_IPTC\"],[34232,\"PixelMagicJBIGOptions\"],[34263,\"JPLCartoIFD\"],[34306,\"WB_GRGBLevels\"],[34310,\"LeafData\"],[34687,\"TIFF_FXExtensions\"],[34688,\"MultiProfiles\"],[34689,\"SharedData\"],[34690,\"T88Options\"],[34732,\"ImageLayer\"],[34750,\"JBIGOptions\"],[34856,\"Opto-ElectricConvFactor\"],[34857,\"Interlace\"],[34908,\"FaxRecvParams\"],[34909,\"FaxSubAddress\"],[34910,\"FaxRecvTime\"],[34929,\"FedexEDR\"],[34954,\"LeafSubIFD\"],[37387,\"FlashEnergy\"],[37388,\"SpatialFrequencyResponse\"],[37389,\"Noise\"],[37390,\"FocalPlaneXResolution\"],[37391,\"FocalPlaneYResolution\"],[37392,\"FocalPlaneResolutionUnit\"],[37397,\"ExposureIndex\"],[37398,\"TIFF-EPStandardID\"],[37399,\"SensingMethod\"],[37434,\"CIP3DataFile\"],[37435,\"CIP3Sheet\"],[37436,\"CIP3Side\"],[37439,\"StoNits\"],[37679,\"MSDocumentText\"],[37680,\"MSPropertySetStorage\"],[37681,\"MSDocumentTextPosition\"],[37724,\"ImageSourceData\"],[40965,\"InteropIFD\"],[40976,\"SamsungRawPointersOffset\"],[40977,\"SamsungRawPointersLength\"],[41217,\"SamsungRawByteOrder\"],[41218,\"SamsungRawUnknown\"],[41484,\"SpatialFrequencyResponse\"],[41485,\"Noise\"],[41489,\"ImageNumber\"],[41490,\"SecurityClassification\"],[41491,\"ImageHistory\"],[41494,\"TIFF-EPStandardID\"],[41995,\"DeviceSettingDescription\"],[42112,\"GDALMetadata\"],[42113,\"GDALNoData\"],[44992,\"ExpandSoftware\"],[44993,\"ExpandLens\"],[44994,\"ExpandFilm\"],[44995,\"ExpandFilterLens\"],[44996,\"ExpandScanner\"],[44997,\"ExpandFlashLamp\"],[46275,\"HasselbladRawImage\"],[48129,\"PixelFormat\"],[48130,\"Transformation\"],[48131,\"Uncompressed\"],[48132,\"ImageType\"],[48256,\"ImageWidth\"],[48257,\"ImageHeight\"],[48258,\"WidthResolution\"],[48259,\"HeightResolution\"],[48320,\"ImageOffset\"],[48321,\"ImageByteCount\"],[48322,\"AlphaOffset\"],[48323,\"AlphaByteCount\"],[48324,\"ImageDataDiscard\"],[48325,\"AlphaDataDiscard\"],[50215,\"OceScanjobDesc\"],[50216,\"OceApplicationSelector\"],[50217,\"OceIDNumber\"],[50218,\"OceImageLogic\"],[50255,\"Annotations\"],[50459,\"HasselbladExif\"],[50547,\"OriginalFileName\"],[50560,\"USPTOOriginalContentType\"],[50656,\"CR2CFAPattern\"],[50710,\"CFAPlaneColor\"],[50711,\"CFALayout\"],[50712,\"LinearizationTable\"],[50713,\"BlackLevelRepeatDim\"],[50714,\"BlackLevel\"],[50715,\"BlackLevelDeltaH\"],[50716,\"BlackLevelDeltaV\"],[50717,\"WhiteLevel\"],[50718,\"DefaultScale\"],[50719,\"DefaultCropOrigin\"],[50720,\"DefaultCropSize\"],[50733,\"BayerGreenSplit\"],[50737,\"ChromaBlurRadius\"],[50738,\"AntiAliasStrength\"],[50752,\"RawImageSegmentation\"],[50780,\"BestQualityScale\"],[50784,\"AliasLayerMetadata\"],[50829,\"ActiveArea\"],[50830,\"MaskedAreas\"],[50935,\"NoiseReductionApplied\"],[50974,\"SubTileBlockSize\"],[50975,\"RowInterleaveFactor\"],[51008,\"OpcodeList1\"],[51009,\"OpcodeList2\"],[51022,\"OpcodeList3\"],[51041,\"NoiseProfile\"],[51114,\"CacheVersion\"],[51125,\"DefaultUserCrop\"],[51157,\"NikonNEFInfo\"],[65024,\"KdcIFD\"]];F(E,\"ifd0\",ct),F(E,\"exif\",ct),U(B,\"gps\",[[23,{M:\"Magnetic North\",T:\"True North\"}],[25,{K:\"Kilometers\",M:\"Miles\",N:\"Nautical Miles\"}]]);class ft extends re{static canHandle(e,t){return 224===e.getUint8(t+1)&&1246120262===e.getUint32(t+4)&&0===e.getUint8(t+8)}parse(){return this.parseTags(),this.translate(),this.output}parseTags(){this.raw=new Map([[0,this.chunk.getUint16(0)],[2,this.chunk.getUint8(2)],[3,this.chunk.getUint16(3)],[5,this.chunk.getUint16(5)],[7,this.chunk.getUint8(7)],[8,this.chunk.getUint8(8)]])}}c(ft,\"type\",\"jfif\"),c(ft,\"headerLength\",9),T.set(\"jfif\",ft),U(E,\"jfif\",[[0,\"JFIFVersion\"],[2,\"ResolutionUnit\"],[3,\"XResolution\"],[5,\"YResolution\"],[7,\"ThumbnailWidth\"],[8,\"ThumbnailHeight\"]]);class dt extends re{parse(){return this.parseTags(),this.translate(),this.output}parseTags(){this.raw=new Map([[0,this.chunk.getUint32(0)],[4,this.chunk.getUint32(4)],[8,this.chunk.getUint8(8)],[9,this.chunk.getUint8(9)],[10,this.chunk.getUint8(10)],[11,this.chunk.getUint8(11)],[12,this.chunk.getUint8(12)],...Array.from(this.raw)])}}c(dt,\"type\",\"ihdr\"),T.set(\"ihdr\",dt),U(E,\"ihdr\",[[0,\"ImageWidth\"],[4,\"ImageHeight\"],[8,\"BitDepth\"],[9,\"ColorType\"],[10,\"Compression\"],[11,\"Filter\"],[12,\"Interlace\"]]),U(B,\"ihdr\",[[9,{0:\"Grayscale\",2:\"RGB\",3:\"Palette\",4:\"Grayscale with Alpha\",6:\"RGB with Alpha\",DEFAULT:\"Unknown\"}],[10,{0:\"Deflate/Inflate\",DEFAULT:\"Unknown\"}],[11,{0:\"Adaptive\",DEFAULT:\"Unknown\"}],[12,{0:\"Noninterlaced\",1:\"Adam7 Interlace\",DEFAULT:\"Unknown\"}]]);class pt extends re{static canHandle(e,t){return 226===e.getUint8(t+1)&&1229144927===e.getUint32(t+4)}static findPosition(e,t){let i=super.findPosition(e,t);return i.chunkNumber=e.getUint8(t+16),i.chunkCount=e.getUint8(t+17),i.multiSegment=i.chunkCount>1,i}static handleMultiSegments(e){return function(e){let t=function(e){let t=e[0].constructor,i=0;for(let t of e)i+=t.length;let n=new t(i),s=0;for(let t of e)n.set(t,s),s+=t.length;return n}(e.map((e=>e.chunk.toUint8())));return new I(t)}(e)}parse(){return this.raw=new Map,this.parseHeader(),this.parseTags(),this.translate(),this.output}parseHeader(){let{raw:e}=this;this.chunk.byteLength<84&&g(\"ICC header is too short\");for(let[t,i]of Object.entries(gt)){t=parseInt(t,10);let n=i(this.chunk,t);\"\\0\\0\\0\\0\"!==n&&e.set(t,n)}}parseTags(){let e,t,i,n,s,{raw:r}=this,a=this.chunk.getUint32(128),o=132,l=this.chunk.byteLength;for(;a--;){if(e=this.chunk.getString(o,4),t=this.chunk.getUint32(o+4),i=this.chunk.getUint32(o+8),n=this.chunk.getString(t,4),t+i>l)return void console.warn(\"reached the end of the first ICC chunk. Enable options.tiff.multiSegment to read all ICC segments.\");s=this.parseTag(n,t,i),void 0!==s&&\"\\0\\0\\0\\0\"!==s&&r.set(e,s),o+=12}}parseTag(e,t,i){switch(e){case\"desc\":return this.parseDesc(t);case\"mluc\":return this.parseMluc(t);case\"text\":return this.parseText(t,i);case\"sig \":return this.parseSig(t)}if(!(t+i>this.chunk.byteLength))return this.chunk.getUint8Array(t,i)}parseDesc(e){let t=this.chunk.getUint32(e+8)-1;return m(this.chunk.getString(e+12,t))}parseText(e,t){return m(this.chunk.getString(e+8,t-8))}parseSig(e){return m(this.chunk.getString(e+8,4))}parseMluc(e){let{chunk:t}=this,i=t.getUint32(e+8),n=t.getUint32(e+12),s=e+16,r=[];for(let a=0;a<i;a++){let i=t.getString(s+0,2),a=t.getString(s+2,2),o=t.getUint32(s+4),l=t.getUint32(s+8)+e,h=m(t.getUnicodeString(l,o));r.push({lang:i,country:a,text:h}),s+=n}return 1===i?r[0].text:r}translateValue(e,t){return\"string\"==typeof e?t[e]||t[e.toLowerCase()]||e:t[e]||e}}c(pt,\"type\",\"icc\"),c(pt,\"multiSegment\",!0),c(pt,\"headerLength\",18);const gt={4:mt,8:function(e,t){return[e.getUint8(t),e.getUint8(t+1)>>4,e.getUint8(t+1)%16].map((e=>e.toString(10))).join(\".\")},12:mt,16:mt,20:mt,24:function(e,t){const i=e.getUint16(t),n=e.getUint16(t+2)-1,s=e.getUint16(t+4),r=e.getUint16(t+6),a=e.getUint16(t+8),o=e.getUint16(t+10);return new Date(Date.UTC(i,n,s,r,a,o))},36:mt,40:mt,48:mt,52:mt,64:(e,t)=>e.getUint32(t),80:mt};function mt(e,t){return m(e.getString(t,4))}T.set(\"icc\",pt),U(E,\"icc\",[[4,\"ProfileCMMType\"],[8,\"ProfileVersion\"],[12,\"ProfileClass\"],[16,\"ColorSpaceData\"],[20,\"ProfileConnectionSpace\"],[24,\"ProfileDateTime\"],[36,\"ProfileFileSignature\"],[40,\"PrimaryPlatform\"],[44,\"CMMFlags\"],[48,\"DeviceManufacturer\"],[52,\"DeviceModel\"],[56,\"DeviceAttributes\"],[64,\"RenderingIntent\"],[68,\"ConnectionSpaceIlluminant\"],[80,\"ProfileCreator\"],[84,\"ProfileID\"],[\"Header\",\"ProfileHeader\"],[\"MS00\",\"WCSProfiles\"],[\"bTRC\",\"BlueTRC\"],[\"bXYZ\",\"BlueMatrixColumn\"],[\"bfd\",\"UCRBG\"],[\"bkpt\",\"MediaBlackPoint\"],[\"calt\",\"CalibrationDateTime\"],[\"chad\",\"ChromaticAdaptation\"],[\"chrm\",\"Chromaticity\"],[\"ciis\",\"ColorimetricIntentImageState\"],[\"clot\",\"ColorantTableOut\"],[\"clro\",\"ColorantOrder\"],[\"clrt\",\"ColorantTable\"],[\"cprt\",\"ProfileCopyright\"],[\"crdi\",\"CRDInfo\"],[\"desc\",\"ProfileDescription\"],[\"devs\",\"DeviceSettings\"],[\"dmdd\",\"DeviceModelDesc\"],[\"dmnd\",\"DeviceMfgDesc\"],[\"dscm\",\"ProfileDescriptionML\"],[\"fpce\",\"FocalPlaneColorimetryEstimates\"],[\"gTRC\",\"GreenTRC\"],[\"gXYZ\",\"GreenMatrixColumn\"],[\"gamt\",\"Gamut\"],[\"kTRC\",\"GrayTRC\"],[\"lumi\",\"Luminance\"],[\"meas\",\"Measurement\"],[\"meta\",\"Metadata\"],[\"mmod\",\"MakeAndModel\"],[\"ncl2\",\"NamedColor2\"],[\"ncol\",\"NamedColor\"],[\"ndin\",\"NativeDisplayInfo\"],[\"pre0\",\"Preview0\"],[\"pre1\",\"Preview1\"],[\"pre2\",\"Preview2\"],[\"ps2i\",\"PS2RenderingIntent\"],[\"ps2s\",\"PostScript2CSA\"],[\"psd0\",\"PostScript2CRD0\"],[\"psd1\",\"PostScript2CRD1\"],[\"psd2\",\"PostScript2CRD2\"],[\"psd3\",\"PostScript2CRD3\"],[\"pseq\",\"ProfileSequenceDesc\"],[\"psid\",\"ProfileSequenceIdentifier\"],[\"psvm\",\"PS2CRDVMSize\"],[\"rTRC\",\"RedTRC\"],[\"rXYZ\",\"RedMatrixColumn\"],[\"resp\",\"OutputResponse\"],[\"rhoc\",\"ReflectionHardcopyOrigColorimetry\"],[\"rig0\",\"PerceptualRenderingIntentGamut\"],[\"rig2\",\"SaturationRenderingIntentGamut\"],[\"rpoc\",\"ReflectionPrintOutputColorimetry\"],[\"sape\",\"SceneAppearanceEstimates\"],[\"scoe\",\"SceneColorimetryEstimates\"],[\"scrd\",\"ScreeningDesc\"],[\"scrn\",\"Screening\"],[\"targ\",\"CharTarget\"],[\"tech\",\"Technology\"],[\"vcgt\",\"VideoCardGamma\"],[\"view\",\"ViewingConditions\"],[\"vued\",\"ViewingCondDesc\"],[\"wtpt\",\"MediaWhitePoint\"]]);const St={\"4d2p\":\"Erdt Systems\",AAMA:\"Aamazing Technologies\",ACER:\"Acer\",ACLT:\"Acolyte Color Research\",ACTI:\"Actix Sytems\",ADAR:\"Adara Technology\",ADBE:\"Adobe\",ADI:\"ADI Systems\",AGFA:\"Agfa Graphics\",ALMD:\"Alps Electric\",ALPS:\"Alps Electric\",ALWN:\"Alwan Color Expertise\",AMTI:\"Amiable Technologies\",AOC:\"AOC International\",APAG:\"Apago\",APPL:\"Apple Computer\",AST:\"AST\",\"AT&T\":\"AT&T\",BAEL:\"BARBIERI electronic\",BRCO:\"Barco NV\",BRKP:\"Breakpoint\",BROT:\"Brother\",BULL:\"Bull\",BUS:\"Bus Computer Systems\",\"C-IT\":\"C-Itoh\",CAMR:\"Intel\",CANO:\"Canon\",CARR:\"Carroll Touch\",CASI:\"Casio\",CBUS:\"Colorbus PL\",CEL:\"Crossfield\",CELx:\"Crossfield\",CGS:\"CGS Publishing Technologies International\",CHM:\"Rochester Robotics\",CIGL:\"Colour Imaging Group, London\",CITI:\"Citizen\",CL00:\"Candela\",CLIQ:\"Color IQ\",CMCO:\"Chromaco\",CMiX:\"CHROMiX\",COLO:\"Colorgraphic Communications\",COMP:\"Compaq\",COMp:\"Compeq/Focus Technology\",CONR:\"Conrac Display Products\",CORD:\"Cordata Technologies\",CPQ:\"Compaq\",CPRO:\"ColorPro\",CRN:\"Cornerstone\",CTX:\"CTX International\",CVIS:\"ColorVision\",CWC:\"Fujitsu Laboratories\",DARI:\"Darius Technology\",DATA:\"Dataproducts\",DCP:\"Dry Creek Photo\",DCRC:\"Digital Contents Resource Center, Chung-Ang University\",DELL:\"Dell Computer\",DIC:\"Dainippon Ink and Chemicals\",DICO:\"Diconix\",DIGI:\"Digital\",\"DL&C\":\"Digital Light & Color\",DPLG:\"Doppelganger\",DS:\"Dainippon Screen\",DSOL:\"DOOSOL\",DUPN:\"DuPont\",EPSO:\"Epson\",ESKO:\"Esko-Graphics\",ETRI:\"Electronics and Telecommunications Research Institute\",EVER:\"Everex Systems\",EXAC:\"ExactCODE\",Eizo:\"Eizo\",FALC:\"Falco Data Products\",FF:\"Fuji Photo Film\",FFEI:\"FujiFilm Electronic Imaging\",FNRD:\"Fnord Software\",FORA:\"Fora\",FORE:\"Forefront Technology\",FP:\"Fujitsu\",FPA:\"WayTech Development\",FUJI:\"Fujitsu\",FX:\"Fuji Xerox\",GCC:\"GCC Technologies\",GGSL:\"Global Graphics Software\",GMB:\"Gretagmacbeth\",GMG:\"GMG\",GOLD:\"GoldStar Technology\",GOOG:\"Google\",GPRT:\"Giantprint\",GTMB:\"Gretagmacbeth\",GVC:\"WayTech Development\",GW2K:\"Sony\",HCI:\"HCI\",HDM:\"Heidelberger Druckmaschinen\",HERM:\"Hermes\",HITA:\"Hitachi America\",HP:\"Hewlett-Packard\",HTC:\"Hitachi\",HiTi:\"HiTi Digital\",IBM:\"IBM\",IDNT:\"Scitex\",IEC:\"Hewlett-Packard\",IIYA:\"Iiyama North America\",IKEG:\"Ikegami Electronics\",IMAG:\"Image Systems\",IMI:\"Ingram Micro\",INTC:\"Intel\",INTL:\"N/A (INTL)\",INTR:\"Intra Electronics\",IOCO:\"Iocomm International Technology\",IPS:\"InfoPrint Solutions Company\",IRIS:\"Scitex\",ISL:\"Ichikawa Soft Laboratory\",ITNL:\"N/A (ITNL)\",IVM:\"IVM\",IWAT:\"Iwatsu Electric\",Idnt:\"Scitex\",Inca:\"Inca Digital Printers\",Iris:\"Scitex\",JPEG:\"Joint Photographic Experts Group\",JSFT:\"Jetsoft Development\",JVC:\"JVC Information Products\",KART:\"Scitex\",KFC:\"KFC Computek Components\",KLH:\"KLH Computers\",KMHD:\"Konica Minolta\",KNCA:\"Konica\",KODA:\"Kodak\",KYOC:\"Kyocera\",Kart:\"Scitex\",LCAG:\"Leica\",LCCD:\"Leeds Colour\",LDAK:\"Left Dakota\",LEAD:\"Leading Technology\",LEXM:\"Lexmark International\",LINK:\"Link Computer\",LINO:\"Linotronic\",LITE:\"Lite-On\",Leaf:\"Leaf\",Lino:\"Linotronic\",MAGC:\"Mag Computronic\",MAGI:\"MAG Innovision\",MANN:\"Mannesmann\",MICN:\"Micron Technology\",MICR:\"Microtek\",MICV:\"Microvitec\",MINO:\"Minolta\",MITS:\"Mitsubishi Electronics America\",MITs:\"Mitsuba\",MNLT:\"Minolta\",MODG:\"Modgraph\",MONI:\"Monitronix\",MONS:\"Monaco Systems\",MORS:\"Morse Technology\",MOTI:\"Motive Systems\",MSFT:\"Microsoft\",MUTO:\"MUTOH INDUSTRIES\",Mits:\"Mitsubishi Electric\",NANA:\"NANAO\",NEC:\"NEC\",NEXP:\"NexPress Solutions\",NISS:\"Nissei Sangyo America\",NKON:\"Nikon\",NONE:\"none\",OCE:\"Oce Technologies\",OCEC:\"OceColor\",OKI:\"Oki\",OKID:\"Okidata\",OKIP:\"Okidata\",OLIV:\"Olivetti\",OLYM:\"Olympus\",ONYX:\"Onyx Graphics\",OPTI:\"Optiquest\",PACK:\"Packard Bell\",PANA:\"Matsushita Electric Industrial\",PANT:\"Pantone\",PBN:\"Packard Bell\",PFU:\"PFU\",PHIL:\"Philips Consumer Electronics\",PNTX:\"HOYA\",POne:\"Phase One A/S\",PREM:\"Premier Computer Innovations\",PRIN:\"Princeton Graphic Systems\",PRIP:\"Princeton Publishing Labs\",QLUX:\"Hong Kong\",QMS:\"QMS\",QPCD:\"QPcard AB\",QUAD:\"QuadLaser\",QUME:\"Qume\",RADI:\"Radius\",RDDx:\"Integrated Color Solutions\",RDG:\"Roland DG\",REDM:\"REDMS Group\",RELI:\"Relisys\",RGMS:\"Rolf Gierling Multitools\",RICO:\"Ricoh\",RNLD:\"Edmund Ronald\",ROYA:\"Royal\",RPC:\"Ricoh Printing Systems\",RTL:\"Royal Information Electronics\",SAMP:\"Sampo\",SAMS:\"Samsung\",SANT:\"Jaime Santana Pomares\",SCIT:\"Scitex\",SCRN:\"Dainippon Screen\",SDP:\"Scitex\",SEC:\"Samsung\",SEIK:\"Seiko Instruments\",SEIk:\"Seikosha\",SGUY:\"ScanGuy.com\",SHAR:\"Sharp Laboratories\",SICC:\"International Color Consortium\",SONY:\"Sony\",SPCL:\"SpectraCal\",STAR:\"Star\",STC:\"Sampo Technology\",Scit:\"Scitex\",Sdp:\"Scitex\",Sony:\"Sony\",TALO:\"Talon Technology\",TAND:\"Tandy\",TATU:\"Tatung\",TAXA:\"TAXAN America\",TDS:\"Tokyo Denshi Sekei\",TECO:\"TECO Information Systems\",TEGR:\"Tegra\",TEKT:\"Tektronix\",TI:\"Texas Instruments\",TMKR:\"TypeMaker\",TOSB:\"Toshiba\",TOSH:\"Toshiba\",TOTK:\"TOTOKU ELECTRIC\",TRIU:\"Triumph\",TSBT:\"Toshiba\",TTX:\"TTX Computer Products\",TVM:\"TVM Professional Monitor\",TW:\"TW Casper\",ULSX:\"Ulead Systems\",UNIS:\"Unisys\",UTZF:\"Utz Fehlau & Sohn\",VARI:\"Varityper\",VIEW:\"Viewsonic\",VISL:\"Visual communication\",VIVO:\"Vivo Mobile Communication\",WANG:\"Wang\",WLBR:\"Wilbur Imaging\",WTG2:\"Ware To Go\",WYSE:\"WYSE Technology\",XERX:\"Xerox\",XRIT:\"X-Rite\",ZRAN:\"Zoran\",Zebr:\"Zebra Technologies\",appl:\"Apple Computer\",bICC:\"basICColor\",berg:\"bergdesign\",ceyd:\"Integrated Color Solutions\",clsp:\"MacDermid ColorSpan\",ds:\"Dainippon Screen\",dupn:\"DuPont\",ffei:\"FujiFilm Electronic Imaging\",flux:\"FluxData\",iris:\"Scitex\",kart:\"Scitex\",lcms:\"Little CMS\",lino:\"Linotronic\",none:\"none\",ob4d:\"Erdt Systems\",obic:\"Medigraph\",quby:\"Qubyx Sarl\",scit:\"Scitex\",scrn:\"Dainippon Screen\",sdp:\"Scitex\",siwi:\"SIWI GRAFIKA\",yxym:\"YxyMaster\"},Ct={scnr:\"Scanner\",mntr:\"Monitor\",prtr:\"Printer\",link:\"Device Link\",abst:\"Abstract\",spac:\"Color Space Conversion Profile\",nmcl:\"Named Color\",cenc:\"ColorEncodingSpace profile\",mid:\"MultiplexIdentification profile\",mlnk:\"MultiplexLink profile\",mvis:\"MultiplexVisualization profile\",nkpf:\"Nikon Input Device Profile (NON-STANDARD!)\"};U(B,\"icc\",[[4,St],[12,Ct],[40,Object.assign({},St,Ct)],[48,St],[80,St],[64,{0:\"Perceptual\",1:\"Relative Colorimetric\",2:\"Saturation\",3:\"Absolute Colorimetric\"}],[\"tech\",{amd:\"Active Matrix Display\",crt:\"Cathode Ray Tube Display\",kpcd:\"Photo CD\",pmd:\"Passive Matrix Display\",dcam:\"Digital Camera\",dcpj:\"Digital Cinema Projector\",dmpc:\"Digital Motion Picture Camera\",dsub:\"Dye Sublimation Printer\",epho:\"Electrophotographic Printer\",esta:\"Electrostatic Printer\",flex:\"Flexography\",fprn:\"Film Writer\",fscn:\"Film Scanner\",grav:\"Gravure\",ijet:\"Ink Jet Printer\",imgs:\"Photo Image Setter\",mpfr:\"Motion Picture Film Recorder\",mpfs:\"Motion Picture Film Scanner\",offs:\"Offset Lithography\",pjtv:\"Projection Television\",rpho:\"Photographic Paper Printer\",rscn:\"Reflective Scanner\",silk:\"Silkscreen\",twax:\"Thermal Wax Printer\",vidc:\"Video Camera\",vidm:\"Video Monitor\"}]]);class yt extends re{static canHandle(e,t,i){return 237===e.getUint8(t+1)&&\"Photoshop\"===e.getString(t+4,9)&&void 0!==this.containsIptc8bim(e,t,i)}static headerLength(e,t,i){let n,s=this.containsIptc8bim(e,t,i);if(void 0!==s)return n=e.getUint8(t+s+7),n%2!=0&&(n+=1),0===n&&(n=4),s+8+n}static containsIptc8bim(e,t,i){for(let n=0;n<i;n++)if(this.isIptcSegmentHead(e,t+n))return n}static isIptcSegmentHead(e,t){return 56===e.getUint8(t)&&943868237===e.getUint32(t)&&1028===e.getUint16(t+4)}parse(){let{raw:e}=this,t=this.chunk.byteLength-1,i=!1;for(let n=0;n<t;n++)if(28===this.chunk.getUint8(n)&&2===this.chunk.getUint8(n+1)){i=!0;let t=this.chunk.getUint16(n+3),s=this.chunk.getUint8(n+2),r=this.chunk.getLatin1String(n+5,t);e.set(s,this.pluralizeValue(e.get(s),r)),n+=4+t}else if(i)break;return this.translate(),this.output}pluralizeValue(e,t){return void 0!==e?e instanceof Array?(e.push(t),e):[e,t]:t}}c(yt,\"type\",\"iptc\"),c(yt,\"translateValues\",!1),c(yt,\"reviveValues\",!1),T.set(\"iptc\",yt),U(E,\"iptc\",[[0,\"ApplicationRecordVersion\"],[3,\"ObjectTypeReference\"],[4,\"ObjectAttributeReference\"],[5,\"ObjectName\"],[7,\"EditStatus\"],[8,\"EditorialUpdate\"],[10,\"Urgency\"],[12,\"SubjectReference\"],[15,\"Category\"],[20,\"SupplementalCategories\"],[22,\"FixtureIdentifier\"],[25,\"Keywords\"],[26,\"ContentLocationCode\"],[27,\"ContentLocationName\"],[30,\"ReleaseDate\"],[35,\"ReleaseTime\"],[37,\"ExpirationDate\"],[38,\"ExpirationTime\"],[40,\"SpecialInstructions\"],[42,\"ActionAdvised\"],[45,\"ReferenceService\"],[47,\"ReferenceDate\"],[50,\"ReferenceNumber\"],[55,\"DateCreated\"],[60,\"TimeCreated\"],[62,\"DigitalCreationDate\"],[63,\"DigitalCreationTime\"],[65,\"OriginatingProgram\"],[70,\"ProgramVersion\"],[75,\"ObjectCycle\"],[80,\"Byline\"],[85,\"BylineTitle\"],[90,\"City\"],[92,\"Sublocation\"],[95,\"State\"],[100,\"CountryCode\"],[101,\"Country\"],[103,\"OriginalTransmissionReference\"],[105,\"Headline\"],[110,\"Credit\"],[115,\"Source\"],[116,\"CopyrightNotice\"],[118,\"Contact\"],[120,\"Caption\"],[121,\"LocalCaption\"],[122,\"Writer\"],[125,\"RasterizedCaption\"],[130,\"ImageType\"],[131,\"ImageOrientation\"],[135,\"LanguageIdentifier\"],[150,\"AudioType\"],[151,\"AudioSamplingRate\"],[152,\"AudioSamplingResolution\"],[153,\"AudioDuration\"],[154,\"AudioOutcue\"],[184,\"JobID\"],[185,\"MasterDocumentID\"],[186,\"ShortDocumentID\"],[187,\"UniqueDocumentID\"],[188,\"OwnerID\"],[200,\"ObjectPreviewFileFormat\"],[201,\"ObjectPreviewFileVersion\"],[202,\"ObjectPreviewData\"],[221,\"Prefs\"],[225,\"ClassifyState\"],[228,\"SimilarityIndex\"],[230,\"DocumentNotes\"],[231,\"DocumentHistory\"],[232,\"ExifCameraInfo\"],[255,\"CatalogSets\"]]),U(B,\"iptc\",[[10,{0:\"0 (reserved)\",1:\"1 (most urgent)\",2:\"2\",3:\"3\",4:\"4\",5:\"5 (normal urgency)\",6:\"6\",7:\"7\",8:\"8 (least urgent)\",9:\"9 (user-defined priority)\"}],[75,{a:\"Morning\",b:\"Both Morning and Evening\",p:\"Evening\"}],[131,{L:\"Landscape\",P:\"Portrait\",S:\"Square\"}]]);export default tt;export{te as Exifr,q as Options,X as allFormatters,G as chunkedProps,U as createDictionary,F as extendDictionary,M as fetchUrlAsArrayBuffer,w as fileParsers,A as fileReaders,Se as gps,me as gpsOnlyOptions,K as inheritables,Pe as orientation,Ie as orientationOnlyOptions,V as otherSegments,ie as parse,R as readBlobAsArrayBuffer,we as rotateCanvas,Te as rotateCss,Ae as rotation,ke as rotations,T as segmentParsers,z as segments,j as segmentsAndBlocks,st as sidecar,E as tagKeys,N as tagRevivers,B as tagValues,ye as thumbnail,Ce as thumbnailOnlyOptions,be as thumbnailUrl,H as tiffBlocks,W as tiffExtractables};\n","/* piexifjs\r\n\r\nThe MIT License (MIT)\r\n\r\nCopyright (c) 2014, 2015 hMatoba(https://github.com/hMatoba)\r\n\r\nPermission is hereby granted, free of charge, to any person obtaining a copy\r\nof this software and associated documentation files (the \"Software\"), to deal\r\nin the Software without restriction, including without limitation the rights\r\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\ncopies of the Software, and to permit persons to whom the Software is\r\nfurnished to do so, subject to the following conditions:\r\n\r\nThe above copyright notice and this permission notice shall be included in all\r\ncopies or substantial portions of the Software.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r\nSOFTWARE.\r\n*/\r\n\r\n(function () {\r\n \"use strict\";\r\n var that = {};\r\n that.version = \"1.0.4\";\r\n\r\n that.remove = function (jpeg) {\r\n var b64 = false;\r\n if (jpeg.slice(0, 2) == \"\\xff\\xd8\") {\r\n } else if (jpeg.slice(0, 23) == \"data:image/jpeg;base64,\" || jpeg.slice(0, 22) == \"data:image/jpg;base64,\") {\r\n jpeg = atob(jpeg.split(\",\")[1]);\r\n b64 = true;\r\n } else {\r\n throw new Error(\"Given data is not jpeg.\");\r\n }\r\n \r\n var segments = splitIntoSegments(jpeg);\r\n var newSegments = segments.filter(function(seg){\r\n return !(seg.slice(0, 2) == \"\\xff\\xe1\" &&\r\n seg.slice(4, 10) == \"Exif\\x00\\x00\"); \r\n });\r\n \r\n var new_data = newSegments.join(\"\");\r\n if (b64) {\r\n new_data = \"data:image/jpeg;base64,\" + btoa(new_data);\r\n }\r\n\r\n return new_data;\r\n };\r\n\r\n\r\n that.insert = function (exif, jpeg) {\r\n var b64 = false;\r\n if (exif.slice(0, 6) != \"\\x45\\x78\\x69\\x66\\x00\\x00\") {\r\n throw new Error(\"Given data is not exif.\");\r\n }\r\n if (jpeg.slice(0, 2) == \"\\xff\\xd8\") {\r\n } else if (jpeg.slice(0, 23) == \"data:image/jpeg;base64,\" || jpeg.slice(0, 22) == \"data:image/jpg;base64,\") {\r\n jpeg = atob(jpeg.split(\",\")[1]);\r\n b64 = true;\r\n } else {\r\n throw new Error(\"Given data is not jpeg.\");\r\n }\r\n\r\n var exifStr = \"\\xff\\xe1\" + pack(\">H\", [exif.length + 2]) + exif;\r\n var segments = splitIntoSegments(jpeg);\r\n var new_data = mergeSegments(segments, exifStr);\r\n if (b64) {\r\n new_data = \"data:image/jpeg;base64,\" + btoa(new_data);\r\n }\r\n\r\n return new_data;\r\n };\r\n\r\n\r\n that.load = function (data) {\r\n var input_data;\r\n if (typeof (data) == \"string\") {\r\n if (data.slice(0, 2) == \"\\xff\\xd8\") {\r\n input_data = data;\r\n } else if (data.slice(0, 23) == \"data:image/jpeg;base64,\" || data.slice(0, 22) == \"data:image/jpg;base64,\") {\r\n input_data = atob(data.split(\",\")[1]);\r\n } else if (data.slice(0, 4) == \"Exif\") {\r\n input_data = data.slice(6);\r\n } else {\r\n throw new Error(\"'load' gots invalid file data.\");\r\n }\r\n } else {\r\n throw new Error(\"'load' gots invalid type argument.\");\r\n }\r\n\r\n var exifDict = {};\r\n var exif_dict = {\r\n \"0th\": {},\r\n \"Exif\": {},\r\n \"GPS\": {},\r\n \"Interop\": {},\r\n \"1st\": {},\r\n \"thumbnail\": null\r\n };\r\n var exifReader = new ExifReader(input_data);\r\n if (exifReader.tiftag === null) {\r\n return exif_dict;\r\n }\r\n\r\n if (exifReader.tiftag.slice(0, 2) == \"\\x49\\x49\") {\r\n exifReader.endian_mark = \"<\";\r\n } else {\r\n exifReader.endian_mark = \">\";\r\n }\r\n\r\n var pointer = unpack(exifReader.endian_mark + \"L\",\r\n exifReader.tiftag.slice(4, 8))[0];\r\n exif_dict[\"0th\"] = exifReader.get_ifd(pointer, \"0th\");\r\n\r\n var first_ifd_pointer = exif_dict[\"0th\"][\"first_ifd_pointer\"];\r\n delete exif_dict[\"0th\"][\"first_ifd_pointer\"];\r\n\r\n if (34665 in exif_dict[\"0th\"]) {\r\n pointer = exif_dict[\"0th\"][34665];\r\n exif_dict[\"Exif\"] = exifReader.get_ifd(pointer, \"Exif\");\r\n }\r\n if (34853 in exif_dict[\"0th\"]) {\r\n pointer = exif_dict[\"0th\"][34853];\r\n exif_dict[\"GPS\"] = exifReader.get_ifd(pointer, \"GPS\");\r\n }\r\n if (40965 in exif_dict[\"Exif\"]) {\r\n pointer = exif_dict[\"Exif\"][40965];\r\n exif_dict[\"Interop\"] = exifReader.get_ifd(pointer, \"Interop\");\r\n }\r\n if (first_ifd_pointer != \"\\x00\\x00\\x00\\x00\") {\r\n pointer = unpack(exifReader.endian_mark + \"L\",\r\n first_ifd_pointer)[0];\r\n exif_dict[\"1st\"] = exifReader.get_ifd(pointer, \"1st\");\r\n if ((513 in exif_dict[\"1st\"]) && (514 in exif_dict[\"1st\"])) {\r\n var end = exif_dict[\"1st\"][513] + exif_dict[\"1st\"][514];\r\n var thumb = exifReader.tiftag.slice(exif_dict[\"1st\"][513], end);\r\n exif_dict[\"thumbnail\"] = thumb;\r\n }\r\n }\r\n\r\n return exif_dict;\r\n };\r\n\r\n\r\n that.dump = function (exif_dict_original) {\r\n var TIFF_HEADER_LENGTH = 8;\r\n\r\n var exif_dict = copy(exif_dict_original);\r\n var header = \"Exif\\x00\\x00\\x4d\\x4d\\x00\\x2a\\x00\\x00\\x00\\x08\";\r\n var exif_is = false;\r\n var gps_is = false;\r\n var interop_is = false;\r\n var first_is = false;\r\n\r\n var zeroth_ifd,\r\n exif_ifd,\r\n interop_ifd,\r\n gps_ifd,\r\n first_ifd;\r\n \r\n if (\"0th\" in exif_dict) {\r\n zeroth_ifd = exif_dict[\"0th\"];\r\n } else {\r\n zeroth_ifd = {};\r\n }\r\n \r\n if (((\"Exif\" in exif_dict) && (Object.keys(exif_dict[\"Exif\"]).length)) ||\r\n ((\"Interop\" in exif_dict) && (Object.keys(exif_dict[\"Interop\"]).length))) {\r\n zeroth_ifd[34665] = 1;\r\n exif_is = true;\r\n exif_ifd = exif_dict[\"Exif\"];\r\n if ((\"Interop\" in exif_dict) && Object.keys(exif_dict[\"Interop\"]).length) {\r\n exif_ifd[40965] = 1;\r\n interop_is = true;\r\n interop_ifd = exif_dict[\"Interop\"];\r\n } else if (Object.keys(exif_ifd).indexOf(that.ExifIFD.InteroperabilityTag.toString()) > -1) {\r\n delete exif_ifd[40965];\r\n }\r\n } else if (Object.keys(zeroth_ifd).indexOf(that.ImageIFD.ExifTag.toString()) > -1) {\r\n delete zeroth_ifd[34665];\r\n }\r\n\r\n if ((\"GPS\" in exif_dict) && (Object.keys(exif_dict[\"GPS\"]).length)) {\r\n zeroth_ifd[that.ImageIFD.GPSTag] = 1;\r\n gps_is = true;\r\n gps_ifd = exif_dict[\"GPS\"];\r\n } else if (Object.keys(zeroth_ifd).indexOf(that.ImageIFD.GPSTag.toString()) > -1) {\r\n delete zeroth_ifd[that.ImageIFD.GPSTag];\r\n }\r\n \r\n if ((\"1st\" in exif_dict) &&\r\n (\"thumbnail\" in exif_dict) &&\r\n (exif_dict[\"thumbnail\"] != null)) {\r\n first_is = true;\r\n exif_dict[\"1st\"][513] = 1;\r\n exif_dict[\"1st\"][514] = 1;\r\n first_ifd = exif_dict[\"1st\"];\r\n }\r\n \r\n var zeroth_set = _dict_to_bytes(zeroth_ifd, \"0th\", 0);\r\n var zeroth_length = (zeroth_set[0].length + exif_is * 12 + gps_is * 12 + 4 +\r\n zeroth_set[1].length);\r\n\r\n var exif_set,\r\n exif_bytes = \"\",\r\n exif_length = 0,\r\n gps_set,\r\n gps_bytes = \"\",\r\n gps_length = 0,\r\n interop_set,\r\n interop_bytes = \"\",\r\n interop_length = 0,\r\n first_set,\r\n first_bytes = \"\",\r\n thumbnail;\r\n if (exif_is) {\r\n exif_set = _dict_to_bytes(exif_ifd, \"Exif\", zeroth_length);\r\n exif_length = exif_set[0].length + interop_is * 12 + exif_set[1].length;\r\n }\r\n if (gps_is) {\r\n gps_set = _dict_to_bytes(gps_ifd, \"GPS\", zeroth_length + exif_length);\r\n gps_bytes = gps_set.join(\"\");\r\n gps_length = gps_bytes.length;\r\n }\r\n if (interop_is) {\r\n var offset = zeroth_length + exif_length + gps_length;\r\n interop_set = _dict_to_bytes(interop_ifd, \"Interop\", offset);\r\n interop_bytes = interop_set.join(\"\");\r\n interop_length = interop_bytes.length;\r\n }\r\n if (first_is) {\r\n var offset = zeroth_length + exif_length + gps_length + interop_length;\r\n first_set = _dict_to_bytes(first_ifd, \"1st\", offset);\r\n thumbnail = _get_thumbnail(exif_dict[\"thumbnail\"]);\r\n if (thumbnail.length > 64000) {\r\n throw new Error(\"Given thumbnail is too large. max 64kB\");\r\n }\r\n }\r\n\r\n var exif_pointer = \"\",\r\n gps_pointer = \"\",\r\n interop_pointer = \"\",\r\n first_ifd_pointer = \"\\x00\\x00\\x00\\x00\";\r\n if (exif_is) {\r\n var pointer_value = TIFF_HEADER_LENGTH + zeroth_length;\r\n var pointer_str = pack(\">L\", [pointer_value]);\r\n var key = 34665;\r\n var key_str = pack(\">H\", [key]);\r\n var type_str = pack(\">H\", [TYPES[\"Long\"]]);\r\n var length_str = pack(\">L\", [1]);\r\n exif_pointer = key_str + type_str + length_str + pointer_str;\r\n }\r\n if (gps_is) {\r\n var pointer_value = TIFF_HEADER_LENGTH + zeroth_length + exif_length;\r\n var pointer_str = pack(\">L\", [pointer_value]);\r\n var key = 34853;\r\n var key_str = pack(\">H\", [key]);\r\n var type_str = pack(\">H\", [TYPES[\"Long\"]]);\r\n var length_str = pack(\">L\", [1]);\r\n gps_pointer = key_str + type_str + length_str + pointer_str;\r\n }\r\n if (interop_is) {\r\n var pointer_value = (TIFF_HEADER_LENGTH +\r\n zeroth_length + exif_length + gps_length);\r\n var pointer_str = pack(\">L\", [pointer_value]);\r\n var key = 40965;\r\n var key_str = pack(\">H\", [key]);\r\n var type_str = pack(\">H\", [TYPES[\"Long\"]]);\r\n var length_str = pack(\">L\", [1]);\r\n interop_pointer = key_str + type_str + length_str + pointer_str;\r\n }\r\n if (first_is) {\r\n var pointer_value = (TIFF_HEADER_LENGTH + zeroth_length +\r\n exif_length + gps_length + interop_length);\r\n first_ifd_pointer = pack(\">L\", [pointer_value]);\r\n var thumbnail_pointer = (pointer_value + first_set[0].length + 24 +\r\n 4 + first_set[1].length);\r\n var thumbnail_p_bytes = (\"\\x02\\x01\\x00\\x04\\x00\\x00\\x00\\x01\" +\r\n pack(\">L\", [thumbnail_pointer]));\r\n var thumbnail_length_bytes = (\"\\x02\\x02\\x00\\x04\\x00\\x00\\x00\\x01\" +\r\n pack(\">L\", [thumbnail.length]));\r\n first_bytes = (first_set[0] + thumbnail_p_bytes +\r\n thumbnail_length_bytes + \"\\x00\\x00\\x00\\x00\" +\r\n first_set[1] + thumbnail);\r\n }\r\n\r\n var zeroth_bytes = (zeroth_set[0] + exif_pointer + gps_pointer +\r\n first_ifd_pointer + zeroth_set[1]);\r\n if (exif_is) {\r\n exif_bytes = exif_set[0] + interop_pointer + exif_set[1];\r\n }\r\n\r\n return (header + zeroth_bytes + exif_bytes + gps_bytes +\r\n interop_bytes + first_bytes);\r\n };\r\n\r\n\r\n function copy(obj) {\r\n return JSON.parse(JSON.stringify(obj));\r\n }\r\n\r\n\r\n function _get_thumbnail(jpeg) {\r\n var segments = splitIntoSegments(jpeg);\r\n while ((\"\\xff\\xe0\" <= segments[1].slice(0, 2)) && (segments[1].slice(0, 2) <= \"\\xff\\xef\")) {\r\n segments = [segments[0]].concat(segments.slice(2));\r\n }\r\n return segments.join(\"\");\r\n }\r\n\r\n\r\n function _pack_byte(array) {\r\n return pack(\">\" + nStr(\"B\", array.length), array);\r\n }\r\n\r\n\r\n function _pack_short(array) {\r\n return pack(\">\" + nStr(\"H\", array.length), array);\r\n }\r\n\r\n\r\n function _pack_long(array) {\r\n return pack(\">\" + nStr(\"L\", array.length), array);\r\n }\r\n\r\n\r\n function _value_to_bytes(raw_value, value_type, offset) {\r\n var four_bytes_over = \"\";\r\n var value_str = \"\";\r\n var length,\r\n new_value,\r\n num,\r\n den;\r\n\r\n if (value_type == \"Byte\") {\r\n length = raw_value.length;\r\n if (length <= 4) {\r\n value_str = (_pack_byte(raw_value) +\r\n nStr(\"\\x00\", 4 - length));\r\n } else {\r\n value_str = pack(\">L\", [offset]);\r\n four_bytes_over = _pack_byte(raw_value);\r\n }\r\n } else if (value_type == \"Short\") {\r\n length = raw_value.length;\r\n if (length <= 2) {\r\n value_str = (_pack_short(raw_value) +\r\n nStr(\"\\x00\\x00\", 2 - length));\r\n } else {\r\n value_str = pack(\">L\", [offset]);\r\n four_bytes_over = _pack_short(raw_value);\r\n }\r\n } else if (value_type == \"Long\") {\r\n length = raw_value.length;\r\n if (length <= 1) {\r\n value_str = _pack_long(raw_value);\r\n } else {\r\n value_str = pack(\">L\", [offset]);\r\n four_bytes_over = _pack_long(raw_value);\r\n }\r\n } else if (value_type == \"Ascii\") {\r\n new_value = raw_value + \"\\x00\";\r\n length = new_value.length;\r\n if (length > 4) {\r\n value_str = pack(\">L\", [offset]);\r\n four_bytes_over = new_value;\r\n } else {\r\n value_str = new_value + nStr(\"\\x00\", 4 - length);\r\n }\r\n } else if (value_type == \"Rational\") {\r\n if (typeof (raw_value[0]) == \"number\") {\r\n length = 1;\r\n num = raw_value[0];\r\n den = raw_value[1];\r\n new_value = pack(\">L\", [num]) + pack(\">L\", [den]);\r\n } else {\r\n length = raw_value.length;\r\n new_value = \"\";\r\n for (var n = 0; n < length; n++) {\r\n num = raw_value[n][0];\r\n den = raw_value[n][1];\r\n new_value += (pack(\">L\", [num]) +\r\n pack(\">L\", [den]));\r\n }\r\n }\r\n value_str = pack(\">L\", [offset]);\r\n four_bytes_over = new_value;\r\n } else if (value_type == \"SRational\") {\r\n if (typeof (raw_value[0]) == \"number\") {\r\n length = 1;\r\n num = raw_value[0];\r\n den = raw_value[1];\r\n new_value = pack(\">l\", [num]) + pack(\">l\", [den]);\r\n } else {\r\n length = raw_value.length;\r\n new_value = \"\";\r\n for (var n = 0; n < length; n++) {\r\n num = raw_value[n][0];\r\n den = raw_value[n][1];\r\n new_value += (pack(\">l\", [num]) +\r\n pack(\">l\", [den]));\r\n }\r\n }\r\n value_str = pack(\">L\", [offset]);\r\n four_bytes_over = new_value;\r\n } else if (value_type == \"Undefined\") {\r\n length = raw_value.length;\r\n if (length > 4) {\r\n value_str = pack(\">L\", [offset]);\r\n four_bytes_over = raw_value;\r\n } else {\r\n value_str = raw_value + nStr(\"\\x00\", 4 - length);\r\n }\r\n }\r\n\r\n var length_str = pack(\">L\", [length]);\r\n\r\n return [length_str, value_str, four_bytes_over];\r\n }\r\n\r\n function _dict_to_bytes(ifd_dict, ifd, ifd_offset) {\r\n var TIFF_HEADER_LENGTH = 8;\r\n var tag_count = Object.keys(ifd_dict).length;\r\n var entry_header = pack(\">H\", [tag_count]);\r\n var entries_length;\r\n if ([\"0th\", \"1st\"].indexOf(ifd) > -1) {\r\n entries_length = 2 + tag_count * 12 + 4;\r\n } else {\r\n entries_length = 2 + tag_count * 12;\r\n }\r\n var entries = \"\";\r\n var values = \"\";\r\n var key;\r\n\r\n for (var key in ifd_dict) {\r\n if (typeof (key) == \"string\") {\r\n key = parseInt(key);\r\n }\r\n if ((ifd == \"0th\") && ([34665, 34853].indexOf(key) > -1)) {\r\n continue;\r\n } else if ((ifd == \"Exif\") && (key == 40965)) {\r\n continue;\r\n } else if ((ifd == \"1st\") && ([513, 514].indexOf(key) > -1)) {\r\n continue;\r\n }\r\n\r\n var raw_value = ifd_dict[key];\r\n var key_str = pack(\">H\", [key]);\r\n var value_type = TAGS[ifd][key][\"type\"];\r\n var type_str = pack(\">H\", [TYPES[value_type]]);\r\n\r\n if (typeof (raw_value) == \"number\") {\r\n raw_value = [raw_value];\r\n }\r\n var offset = TIFF_HEADER_LENGTH + entries_length + ifd_offset + values.length;\r\n var b = _value_to_bytes(raw_value, value_type, offset);\r\n var length_str = b[0];\r\n var value_str = b[1];\r\n var four_bytes_over = b[2];\r\n\r\n entries += key_str + type_str + length_str + value_str;\r\n values += four_bytes_over;\r\n }\r\n\r\n return [entry_header + entries, values];\r\n }\r\n\r\n\r\n\r\n function ExifReader(data) {\r\n var segments,\r\n app1;\r\n if (data.slice(0, 2) == \"\\xff\\xd8\") { // JPEG\r\n segments = splitIntoSegments(data);\r\n app1 = getExifSeg(segments);\r\n if (app1) {\r\n this.tiftag = app1.slice(10);\r\n } else {\r\n this.tiftag = null;\r\n }\r\n } else if ([\"\\x49\\x49\", \"\\x4d\\x4d\"].indexOf(data.slice(0, 2)) > -1) { // TIFF\r\n this.tiftag = data;\r\n } else if (data.slice(0, 4) == \"Exif\") { // Exif\r\n this.tiftag = data.slice(6);\r\n } else {\r\n throw new Error(\"Given file is neither JPEG nor TIFF.\");\r\n }\r\n }\r\n\r\n ExifReader.prototype = {\r\n get_ifd: function (pointer, ifd_name) {\r\n var ifd_dict = {};\r\n var tag_count = unpack(this.endian_mark + \"H\",\r\n this.tiftag.slice(pointer, pointer + 2))[0];\r\n var offset = pointer + 2;\r\n var t;\r\n if ([\"0th\", \"1st\"].indexOf(ifd_name) > -1) {\r\n t = \"Image\";\r\n } else {\r\n t = ifd_name;\r\n }\r\n\r\n for (var x = 0; x < tag_count; x++) {\r\n pointer = offset + 12 * x;\r\n var tag = unpack(this.endian_mark + \"H\",\r\n this.tiftag.slice(pointer, pointer + 2))[0];\r\n var value_type = unpack(this.endian_mark + \"H\",\r\n this.tiftag.slice(pointer + 2, pointer + 4))[0];\r\n var value_num = unpack(this.endian_mark + \"L\",\r\n this.tiftag.slice(pointer + 4, pointer + 8))[0];\r\n var value = this.tiftag.slice(pointer + 8, pointer + 12);\r\n\r\n var v_set = [value_type, value_num, value];\r\n if (tag in TAGS[t]) {\r\n ifd_dict[tag] = this.convert_value(v_set);\r\n }\r\n }\r\n\r\n if (ifd_name == \"0th\") {\r\n pointer = offset + 12 * tag_count;\r\n ifd_dict[\"first_ifd_pointer\"] = this.tiftag.slice(pointer, pointer + 4);\r\n }\r\n\r\n return ifd_dict;\r\n },\r\n\r\n convert_value: function (val) {\r\n var data = null;\r\n var t = val[0];\r\n var length = val[1];\r\n var value = val[2];\r\n var pointer;\r\n\r\n if (t == 1) { // BYTE\r\n if (length > 4) {\r\n pointer = unpack(this.endian_mark + \"L\", value)[0];\r\n data = unpack(this.endian_mark + nStr(\"B\", length),\r\n this.tiftag.slice(pointer, pointer + length));\r\n } else {\r\n data = unpack(this.endian_mark + nStr(\"B\", length), value.slice(0, length));\r\n }\r\n } else if (t == 2) { // ASCII\r\n if (length > 4) {\r\n pointer = unpack(this.endian_mark + \"L\", value)[0];\r\n data = this.tiftag.slice(pointer, pointer + length - 1);\r\n } else {\r\n data = value.slice(0, length - 1);\r\n }\r\n } else if (t == 3) { // SHORT\r\n if (length > 2) {\r\n pointer = unpack(this.endian_mark + \"L\", value)[0];\r\n data = unpack(this.endian_mark + nStr(\"H\", length),\r\n this.tiftag.slice(pointer, pointer + length * 2));\r\n } else {\r\n data = unpack(this.endian_mark + nStr(\"H\", length),\r\n value.slice(0, length * 2));\r\n }\r\n } else if (t == 4) { // LONG\r\n if (length > 1) {\r\n pointer = unpack(this.endian_mark + \"L\", value)[0];\r\n data = unpack(this.endian_mark + nStr(\"L\", length),\r\n this.tiftag.slice(pointer, pointer + length * 4));\r\n } else {\r\n data = unpack(this.endian_mark + nStr(\"L\", length),\r\n value);\r\n }\r\n } else if (t == 5) { // RATIONAL\r\n pointer = unpack(this.endian_mark + \"L\", value)[0];\r\n if (length > 1) {\r\n data = [];\r\n for (var x = 0; x < length; x++) {\r\n data.push([unpack(this.endian_mark + \"L\",\r\n this.tiftag.slice(pointer + x * 8, pointer + 4 + x * 8))[0],\r\n unpack(this.endian_mark + \"L\",\r\n this.tiftag.slice(pointer + 4 + x * 8, pointer + 8 + x * 8))[0]\r\n ]);\r\n }\r\n } else {\r\n data = [unpack(this.endian_mark + \"L\",\r\n this.tiftag.slice(pointer, pointer + 4))[0],\r\n unpack(this.endian_mark + \"L\",\r\n this.tiftag.slice(pointer + 4, pointer + 8))[0]\r\n ];\r\n }\r\n } else if (t == 7) { // UNDEFINED BYTES\r\n if (length > 4) {\r\n pointer = unpack(this.endian_mark + \"L\", value)[0];\r\n data = this.tiftag.slice(pointer, pointer + length);\r\n } else {\r\n data = value.slice(0, length);\r\n }\r\n } else if (t == 9) { // SLONG\r\n if (length > 1) {\r\n pointer = unpack(this.endian_mark + \"L\", value)[0];\r\n data = unpack(this.endian_mark + nStr(\"l\", length),\r\n this.tiftag.slice(pointer, pointer + length * 4));\r\n } else {\r\n data = unpack(this.endian_mark + nStr(\"l\", length),\r\n value);\r\n }\r\n } else if (t == 10) { // SRATIONAL\r\n pointer = unpack(this.endian_mark + \"L\", value)[0];\r\n if (length > 1) {\r\n data = [];\r\n for (var x = 0; x < length; x++) {\r\n data.push([unpack(this.endian_mark + \"l\",\r\n this.tiftag.slice(pointer + x * 8, pointer + 4 + x * 8))[0],\r\n unpack(this.endian_mark + \"l\",\r\n this.tiftag.slice(pointer + 4 + x * 8, pointer + 8 + x * 8))[0]\r\n ]);\r\n }\r\n } else {\r\n data = [unpack(this.endian_mark + \"l\",\r\n this.tiftag.slice(pointer, pointer + 4))[0],\r\n unpack(this.endian_mark + \"l\",\r\n this.tiftag.slice(pointer + 4, pointer + 8))[0]\r\n ];\r\n }\r\n } else {\r\n throw new Error(\"Exif might be wrong. Got incorrect value \" +\r\n \"type to decode. type:\" + t);\r\n }\r\n\r\n if ((data instanceof Array) && (data.length == 1)) {\r\n return data[0];\r\n } else {\r\n return data;\r\n }\r\n },\r\n };\r\n\r\n\r\n if (typeof window !== \"undefined\" && typeof window.btoa === \"function\") {\r\n var btoa = window.btoa;\r\n }\r\n if (typeof btoa === \"undefined\") {\r\n var btoa = function (input) { var output = \"\";\r\n var chr1, chr2, chr3, enc1, enc2, enc3, enc4;\r\n var i = 0;\r\n var keyStr = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\r\n\r\n while (i < input.length) {\r\n\r\n chr1 = input.charCodeAt(i++);\r\n chr2 = input.charCodeAt(i++);\r\n chr3 = input.charCodeAt(i++);\r\n\r\n enc1 = chr1 >> 2;\r\n enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);\r\n enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);\r\n enc4 = chr3 & 63;\r\n\r\n if (isNaN(chr2)) {\r\n enc3 = enc4 = 64;\r\n } else if (isNaN(chr3)) {\r\n enc4 = 64;\r\n }\r\n\r\n output = output +\r\n keyStr.charAt(enc1) + keyStr.charAt(enc2) +\r\n keyStr.charAt(enc3) + keyStr.charAt(enc4);\r\n\r\n }\r\n\r\n return output;\r\n };\r\n }\r\n \r\n \r\n if (typeof window !== \"undefined\" && typeof window.atob === \"function\") {\r\n var atob = window.atob;\r\n }\r\n if (typeof atob === \"undefined\") {\r\n var atob = function (input) {\r\n var output = \"\";\r\n var chr1, chr2, chr3;\r\n var enc1, enc2, enc3, enc4;\r\n var i = 0;\r\n var keyStr = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\r\n\r\n input = input.replace(/[^A-Za-z0-9\\+\\/\\=]/g, \"\");\r\n\r\n while (i < input.length) {\r\n\r\n enc1 = keyStr.indexOf(input.charAt(i++));\r\n enc2 = keyStr.indexOf(input.charAt(i++));\r\n enc3 = keyStr.indexOf(input.charAt(i++));\r\n enc4 = keyStr.indexOf(input.charAt(i++));\r\n\r\n chr1 = (enc1 << 2) | (enc2 >> 4);\r\n chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);\r\n chr3 = ((enc3 & 3) << 6) | enc4;\r\n\r\n output = output + String.fromCharCode(chr1);\r\n\r\n if (enc3 != 64) {\r\n output = output + String.fromCharCode(chr2);\r\n }\r\n if (enc4 != 64) {\r\n output = output + String.fromCharCode(chr3);\r\n }\r\n\r\n }\r\n\r\n return output;\r\n };\r\n }\r\n\r\n\r\n function getImageSize(imageArray) {\r\n var segments = slice2Segments(imageArray);\r\n var seg,\r\n width,\r\n height,\r\n SOF = [192, 193, 194, 195, 197, 198, 199, 201, 202, 203, 205, 206, 207];\r\n\r\n for (var x = 0; x < segments.length; x++) {\r\n seg = segments[x];\r\n if (SOF.indexOf(seg[1]) >= 0) {\r\n height = seg[5] * 256 + seg[6];\r\n width = seg[7] * 256 + seg[8];\r\n break;\r\n }\r\n }\r\n return [width, height];\r\n }\r\n\r\n\r\n function pack(mark, array) {\r\n if (!(array instanceof Array)) {\r\n throw new Error(\"'pack' error. Got invalid type argument.\");\r\n }\r\n if ((mark.length - 1) != array.length) {\r\n throw new Error(\"'pack' error. \" + (mark.length - 1) + \" marks, \" + array.length + \" elements.\");\r\n }\r\n\r\n var littleEndian;\r\n if (mark[0] == \"<\") {\r\n littleEndian = true;\r\n } else if (mark[0] == \">\") {\r\n littleEndian = false;\r\n } else {\r\n throw new Error(\"\");\r\n }\r\n var packed = \"\";\r\n var p = 1;\r\n var val = null;\r\n var c = null;\r\n var valStr = null;\r\n\r\n while (c = mark[p]) {\r\n if (c.toLowerCase() == \"b\") {\r\n val = array[p - 1];\r\n if ((c == \"b\") && (val < 0)) {\r\n val += 0x100;\r\n }\r\n if ((val > 0xff) || (val < 0)) {\r\n throw new Error(\"'pack' error.\");\r\n } else {\r\n valStr = String.fromCharCode(val);\r\n }\r\n } else if (c == \"H\") {\r\n val = array[p - 1];\r\n if ((val > 0xffff) || (val < 0)) {\r\n throw new Error(\"'pack' error.\");\r\n } else {\r\n valStr = String.fromCharCode(Math.floor((val % 0x10000) / 0x100)) +\r\n String.fromCharCode(val % 0x100);\r\n if (littleEndian) {\r\n valStr = valStr.split(\"\").reverse().join(\"\");\r\n }\r\n }\r\n } else if (c.toLowerCase() == \"l\") {\r\n val = array[p - 1];\r\n if ((c == \"l\") && (val < 0)) {\r\n val += 0x100000000;\r\n }\r\n if ((val > 0xffffffff) || (val < 0)) {\r\n throw new Error(\"'pack' error.\");\r\n } else {\r\n valStr = String.fromCharCode(Math.floor(val / 0x1000000)) +\r\n String.fromCharCode(Math.floor((val % 0x1000000) / 0x10000)) +\r\n String.fromCharCode(Math.floor((val % 0x10000) / 0x100)) +\r\n String.fromCharCode(val % 0x100);\r\n if (littleEndian) {\r\n valStr = valStr.split(\"\").reverse().join(\"\");\r\n }\r\n }\r\n } else {\r\n throw new Error(\"'pack' error.\");\r\n }\r\n\r\n packed += valStr;\r\n p += 1;\r\n }\r\n\r\n return packed;\r\n }\r\n\r\n function unpack(mark, str) {\r\n if (typeof (str) != \"string\") {\r\n throw new Error(\"'unpack' error. Got invalid type argument.\");\r\n }\r\n var l = 0;\r\n for (var markPointer = 1; markPointer < mark.length; markPointer++) {\r\n if (mark[markPointer].toLowerCase() == \"b\") {\r\n l += 1;\r\n } else if (mark[markPointer].toLowerCase() == \"h\") {\r\n l += 2;\r\n } else if (mark[markPointer].toLowerCase() == \"l\") {\r\n l += 4;\r\n } else {\r\n throw new Error(\"'unpack' error. Got invalid mark.\");\r\n }\r\n }\r\n\r\n if (l != str.length) {\r\n throw new Error(\"'unpack' error. Mismatch between symbol and string length. \" + l + \":\" + str.length);\r\n }\r\n\r\n var littleEndian;\r\n if (mark[0] == \"<\") {\r\n littleEndian = true;\r\n } else if (mark[0] == \">\") {\r\n littleEndian = false;\r\n } else {\r\n throw new Error(\"'unpack' error.\");\r\n }\r\n var unpacked = [];\r\n var strPointer = 0;\r\n var p = 1;\r\n var val = null;\r\n var c = null;\r\n var length = null;\r\n var sliced = \"\";\r\n\r\n while (c = mark[p]) {\r\n if (c.toLowerCase() == \"b\") {\r\n length = 1;\r\n sliced = str.slice(strPointer, strPointer + length);\r\n val = sliced.charCodeAt(0);\r\n if ((c == \"b\") && (val >= 0x80)) {\r\n val -= 0x100;\r\n }\r\n } else if (c == \"H\") {\r\n length = 2;\r\n sliced = str.slice(strPointer, strPointer + length);\r\n if (littleEndian) {\r\n sliced = sliced.split(\"\").reverse().join(\"\");\r\n }\r\n val = sliced.charCodeAt(0) * 0x100 +\r\n sliced.charCodeAt(1);\r\n } else if (c.toLowerCase() == \"l\") {\r\n length = 4;\r\n sliced = str.slice(strPointer, strPointer + length);\r\n if (littleEndian) {\r\n sliced = sliced.split(\"\").reverse().join(\"\");\r\n }\r\n val = sliced.charCodeAt(0) * 0x1000000 +\r\n sliced.charCodeAt(1) * 0x10000 +\r\n sliced.charCodeAt(2) * 0x100 +\r\n sliced.charCodeAt(3);\r\n if ((c == \"l\") && (val >= 0x80000000)) {\r\n val -= 0x100000000;\r\n }\r\n } else {\r\n throw new Error(\"'unpack' error. \" + c);\r\n }\r\n\r\n unpacked.push(val);\r\n strPointer += length;\r\n p += 1;\r\n }\r\n\r\n return unpacked;\r\n }\r\n\r\n function nStr(ch, num) {\r\n var str = \"\";\r\n for (var i = 0; i < num; i++) {\r\n str += ch;\r\n }\r\n return str;\r\n }\r\n\r\n function splitIntoSegments(data) {\r\n if (data.slice(0, 2) != \"\\xff\\xd8\") {\r\n throw new Error(\"Given data isn't JPEG.\");\r\n }\r\n\r\n var head = 2;\r\n var segments = [\"\\xff\\xd8\"];\r\n while (true) {\r\n if (data.slice(head, head + 2) == \"\\xff\\xda\") {\r\n segments.push(data.slice(head));\r\n break;\r\n } else {\r\n var length = unpack(\">H\", data.slice(head + 2, head + 4))[0];\r\n var endPoint = head + length + 2;\r\n segments.push(data.slice(head, endPoint));\r\n head = endPoint;\r\n }\r\n\r\n if (head >= data.length) {\r\n throw new Error(\"Wrong JPEG data.\");\r\n }\r\n }\r\n return segments;\r\n }\r\n\r\n\r\n function getExifSeg(segments) {\r\n var seg;\r\n for (var i = 0; i < segments.length; i++) {\r\n seg = segments[i];\r\n if (seg.slice(0, 2) == \"\\xff\\xe1\" &&\r\n seg.slice(4, 10) == \"Exif\\x00\\x00\") {\r\n return seg;\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n\r\n function mergeSegments(segments, exif) {\r\n var hasExifSegment = false;\r\n var additionalAPP1ExifSegments = [];\r\n\r\n segments.forEach(function(segment, i) {\r\n // Replace first occurence of APP1:Exif segment\r\n if (segment.slice(0, 2) == \"\\xff\\xe1\" &&\r\n segment.slice(4, 10) == \"Exif\\x00\\x00\"\r\n ) {\r\n if (!hasExifSegment) {\r\n segments[i] = exif;\r\n hasExifSegment = true;\r\n } else {\r\n additionalAPP1ExifSegments.unshift(i);\r\n }\r\n }\r\n });\r\n\r\n // Remove additional occurences of APP1:Exif segment\r\n additionalAPP1ExifSegments.forEach(function(segmentIndex) {\r\n segments.splice(segmentIndex, 1);\r\n });\r\n\r\n if (!hasExifSegment && exif) {\r\n segments = [segments[0], exif].concat(segments.slice(1));\r\n }\r\n\r\n return segments.join(\"\");\r\n }\r\n\r\n\r\n function toHex(str) {\r\n var hexStr = \"\";\r\n for (var i = 0; i < str.length; i++) {\r\n var h = str.charCodeAt(i);\r\n var hex = ((h < 10) ? \"0\" : \"\") + h.toString(16);\r\n hexStr += hex + \" \";\r\n }\r\n return hexStr;\r\n }\r\n\r\n\r\n var TYPES = {\r\n \"Byte\": 1,\r\n \"Ascii\": 2,\r\n \"Short\": 3,\r\n \"Long\": 4,\r\n \"Rational\": 5,\r\n \"Undefined\": 7,\r\n \"SLong\": 9,\r\n \"SRational\": 10\r\n };\r\n\r\n\r\n var TAGS = {\r\n 'Image': {\r\n 11: {\r\n 'name': 'ProcessingSoftware',\r\n 'type': 'Ascii'\r\n },\r\n 254: {\r\n 'name': 'NewSubfileType',\r\n 'type': 'Long'\r\n },\r\n 255: {\r\n 'name': 'SubfileType',\r\n 'type': 'Short'\r\n },\r\n 256: {\r\n 'name': 'ImageWidth',\r\n 'type': 'Long'\r\n },\r\n 257: {\r\n 'name': 'ImageLength',\r\n 'type': 'Long'\r\n },\r\n 258: {\r\n 'name': 'BitsPerSample',\r\n 'type': 'Short'\r\n },\r\n 259: {\r\n 'name': 'Compression',\r\n 'type': 'Short'\r\n },\r\n 262: {\r\n 'name': 'PhotometricInterpretation',\r\n 'type': 'Short'\r\n },\r\n 263: {\r\n 'name': 'Threshholding',\r\n 'type': 'Short'\r\n },\r\n 264: {\r\n 'name': 'CellWidth',\r\n 'type': 'Short'\r\n },\r\n 265: {\r\n 'name': 'CellLength',\r\n 'type': 'Short'\r\n },\r\n 266: {\r\n 'name': 'FillOrder',\r\n 'type': 'Short'\r\n },\r\n 269: {\r\n 'name': 'DocumentName',\r\n 'type': 'Ascii'\r\n },\r\n 270: {\r\n 'name': 'ImageDescription',\r\n 'type': 'Ascii'\r\n },\r\n 271: {\r\n 'name': 'Make',\r\n 'type': 'Ascii'\r\n },\r\n 272: {\r\n 'name': 'Model',\r\n 'type': 'Ascii'\r\n },\r\n 273: {\r\n 'name': 'StripOffsets',\r\n 'type': 'Long'\r\n },\r\n 274: {\r\n 'name': 'Orientation',\r\n 'type': 'Short'\r\n },\r\n 277: {\r\n 'name': 'SamplesPerPixel',\r\n 'type': 'Short'\r\n },\r\n 278: {\r\n 'name': 'RowsPerStrip',\r\n 'type': 'Long'\r\n },\r\n 279: {\r\n 'name': 'StripByteCounts',\r\n 'type': 'Long'\r\n },\r\n 282: {\r\n 'name': 'XResolution',\r\n 'type': 'Rational'\r\n },\r\n 283: {\r\n 'name': 'YResolution',\r\n 'type': 'Rational'\r\n },\r\n 284: {\r\n 'name': 'PlanarConfiguration',\r\n 'type': 'Short'\r\n },\r\n 290: {\r\n 'name': 'GrayResponseUnit',\r\n 'type': 'Short'\r\n },\r\n 291: {\r\n 'name': 'GrayResponseCurve',\r\n 'type': 'Short'\r\n },\r\n 292: {\r\n 'name': 'T4Options',\r\n 'type': 'Long'\r\n },\r\n 293: {\r\n 'name': 'T6Options',\r\n 'type': 'Long'\r\n },\r\n 296: {\r\n 'name': 'ResolutionUnit',\r\n 'type': 'Short'\r\n },\r\n 301: {\r\n 'name': 'TransferFunction',\r\n 'type': 'Short'\r\n },\r\n 305: {\r\n 'name': 'Software',\r\n 'type': 'Ascii'\r\n },\r\n 306: {\r\n 'name': 'DateTime',\r\n 'type': 'Ascii'\r\n },\r\n 315: {\r\n 'name': 'Artist',\r\n 'type': 'Ascii'\r\n },\r\n 316: {\r\n 'name': 'HostComputer',\r\n 'type': 'Ascii'\r\n },\r\n 317: {\r\n 'name': 'Predictor',\r\n 'type': 'Short'\r\n },\r\n 318: {\r\n 'name': 'WhitePoint',\r\n 'type': 'Rational'\r\n },\r\n 319: {\r\n 'name': 'PrimaryChromaticities',\r\n 'type': 'Rational'\r\n },\r\n 320: {\r\n 'name': 'ColorMap',\r\n 'type': 'Short'\r\n },\r\n 321: {\r\n 'name': 'HalftoneHints',\r\n 'type': 'Short'\r\n },\r\n 322: {\r\n 'name': 'TileWidth',\r\n 'type': 'Short'\r\n },\r\n 323: {\r\n 'name': 'TileLength',\r\n 'type': 'Short'\r\n },\r\n 324: {\r\n 'name': 'TileOffsets',\r\n 'type': 'Short'\r\n },\r\n 325: {\r\n 'name': 'TileByteCounts',\r\n 'type': 'Short'\r\n },\r\n 330: {\r\n 'name': 'SubIFDs',\r\n 'type': 'Long'\r\n },\r\n 332: {\r\n 'name': 'InkSet',\r\n 'type': 'Short'\r\n },\r\n 333: {\r\n 'name': 'InkNames',\r\n 'type': 'Ascii'\r\n },\r\n 334: {\r\n 'name': 'NumberOfInks',\r\n 'type': 'Short'\r\n },\r\n 336: {\r\n 'name': 'DotRange',\r\n 'type': 'Byte'\r\n },\r\n 337: {\r\n 'name': 'TargetPrinter',\r\n 'type': 'Ascii'\r\n },\r\n 338: {\r\n 'name': 'ExtraSamples',\r\n 'type': 'Short'\r\n },\r\n 339: {\r\n 'name': 'SampleFormat',\r\n 'type': 'Short'\r\n },\r\n 340: {\r\n 'name': 'SMinSampleValue',\r\n 'type': 'Short'\r\n },\r\n 341: {\r\n 'name': 'SMaxSampleValue',\r\n 'type': 'Short'\r\n },\r\n 342: {\r\n 'name': 'TransferRange',\r\n 'type': 'Short'\r\n },\r\n 343: {\r\n 'name': 'ClipPath',\r\n 'type': 'Byte'\r\n },\r\n 344: {\r\n 'name': 'XClipPathUnits',\r\n 'type': 'Long'\r\n },\r\n 345: {\r\n 'name': 'YClipPathUnits',\r\n 'type': 'Long'\r\n },\r\n 346: {\r\n 'name': 'Indexed',\r\n 'type': 'Short'\r\n },\r\n 347: {\r\n 'name': 'JPEGTables',\r\n 'type': 'Undefined'\r\n },\r\n 351: {\r\n 'name': 'OPIProxy',\r\n 'type': 'Short'\r\n },\r\n 512: {\r\n 'name': 'JPEGProc',\r\n 'type': 'Long'\r\n },\r\n 513: {\r\n 'name': 'JPEGInterchangeFormat',\r\n 'type': 'Long'\r\n },\r\n 514: {\r\n 'name': 'JPEGInterchangeFormatLength',\r\n 'type': 'Long'\r\n },\r\n 515: {\r\n 'name': 'JPEGRestartInterval',\r\n 'type': 'Short'\r\n },\r\n 517: {\r\n 'name': 'JPEGLosslessPredictors',\r\n 'type': 'Short'\r\n },\r\n 518: {\r\n 'name': 'JPEGPointTransforms',\r\n 'type': 'Short'\r\n },\r\n 519: {\r\n 'name': 'JPEGQTables',\r\n 'type': 'Long'\r\n },\r\n 520: {\r\n 'name': 'JPEGDCTables',\r\n 'type': 'Long'\r\n },\r\n 521: {\r\n 'name': 'JPEGACTables',\r\n 'type': 'Long'\r\n },\r\n 529: {\r\n 'name': 'YCbCrCoefficients',\r\n 'type': 'Rational'\r\n },\r\n 530: {\r\n 'name': 'YCbCrSubSampling',\r\n 'type': 'Short'\r\n },\r\n 531: {\r\n 'name': 'YCbCrPositioning',\r\n 'type': 'Short'\r\n },\r\n 532: {\r\n 'name': 'ReferenceBlackWhite',\r\n 'type': 'Rational'\r\n },\r\n 700: {\r\n 'name': 'XMLPacket',\r\n 'type': 'Byte'\r\n },\r\n 18246: {\r\n 'name': 'Rating',\r\n 'type': 'Short'\r\n },\r\n 18249: {\r\n 'name': 'RatingPercent',\r\n 'type': 'Short'\r\n },\r\n 32781: {\r\n 'name': 'ImageID',\r\n 'type': 'Ascii'\r\n },\r\n 33421: {\r\n 'name': 'CFARepeatPatternDim',\r\n 'type': 'Short'\r\n },\r\n 33422: {\r\n 'name': 'CFAPattern',\r\n 'type': 'Byte'\r\n },\r\n 33423: {\r\n 'name': 'BatteryLevel',\r\n 'type': 'Rational'\r\n },\r\n 33432: {\r\n 'name': 'Copyright',\r\n 'type': 'Ascii'\r\n },\r\n 33434: {\r\n 'name': 'ExposureTime',\r\n 'type': 'Rational'\r\n },\r\n 34377: {\r\n 'name': 'ImageResources',\r\n 'type': 'Byte'\r\n },\r\n 34665: {\r\n 'name': 'ExifTag',\r\n 'type': 'Long'\r\n },\r\n 34675: {\r\n 'name': 'InterColorProfile',\r\n 'type': 'Undefined'\r\n },\r\n 34853: {\r\n 'name': 'GPSTag',\r\n 'type': 'Long'\r\n },\r\n 34857: {\r\n 'name': 'Interlace',\r\n 'type': 'Short'\r\n },\r\n 34858: {\r\n 'name': 'TimeZoneOffset',\r\n 'type': 'Long'\r\n },\r\n 34859: {\r\n 'name': 'SelfTimerMode',\r\n 'type': 'Short'\r\n },\r\n 37387: {\r\n 'name': 'FlashEnergy',\r\n 'type': 'Rational'\r\n },\r\n 37388: {\r\n 'name': 'SpatialFrequencyResponse',\r\n 'type': 'Undefined'\r\n },\r\n 37389: {\r\n 'name': 'Noise',\r\n 'type': 'Undefined'\r\n },\r\n 37390: {\r\n 'name': 'FocalPlaneXResolution',\r\n 'type': 'Rational'\r\n },\r\n 37391: {\r\n 'name': 'FocalPlaneYResolution',\r\n 'type': 'Rational'\r\n },\r\n 37392: {\r\n 'name': 'FocalPlaneResolutionUnit',\r\n 'type': 'Short'\r\n },\r\n 37393: {\r\n 'name': 'ImageNumber',\r\n 'type': 'Long'\r\n },\r\n 37394: {\r\n 'name': 'SecurityClassification',\r\n 'type': 'Ascii'\r\n },\r\n 37395: {\r\n 'name': 'ImageHistory',\r\n 'type': 'Ascii'\r\n },\r\n 37397: {\r\n 'name': 'ExposureIndex',\r\n 'type': 'Rational'\r\n },\r\n 37398: {\r\n 'name': 'TIFFEPStandardID',\r\n 'type': 'Byte'\r\n },\r\n 37399: {\r\n 'name': 'SensingMethod',\r\n 'type': 'Short'\r\n },\r\n 40091: {\r\n 'name': 'XPTitle',\r\n 'type': 'Byte'\r\n },\r\n 40092: {\r\n 'name': 'XPComment',\r\n 'type': 'Byte'\r\n },\r\n 40093: {\r\n 'name': 'XPAuthor',\r\n 'type': 'Byte'\r\n },\r\n 40094: {\r\n 'name': 'XPKeywords',\r\n 'type': 'Byte'\r\n },\r\n 40095: {\r\n 'name': 'XPSubject',\r\n 'type': 'Byte'\r\n },\r\n 50341: {\r\n 'name': 'PrintImageMatching',\r\n 'type': 'Undefined'\r\n },\r\n 50706: {\r\n 'name': 'DNGVersion',\r\n 'type': 'Byte'\r\n },\r\n 50707: {\r\n 'name': 'DNGBackwardVersion',\r\n 'type': 'Byte'\r\n },\r\n 50708: {\r\n 'name': 'UniqueCameraModel',\r\n 'type': 'Ascii'\r\n },\r\n 50709: {\r\n 'name': 'LocalizedCameraModel',\r\n 'type': 'Byte'\r\n },\r\n 50710: {\r\n 'name': 'CFAPlaneColor',\r\n 'type': 'Byte'\r\n },\r\n 50711: {\r\n 'name': 'CFALayout',\r\n 'type': 'Short'\r\n },\r\n 50712: {\r\n 'name': 'LinearizationTable',\r\n 'type': 'Short'\r\n },\r\n 50713: {\r\n 'name': 'BlackLevelRepeatDim',\r\n 'type': 'Short'\r\n },\r\n 50714: {\r\n 'name': 'BlackLevel',\r\n 'type': 'Rational'\r\n },\r\n 50715: {\r\n 'name': 'BlackLevelDeltaH',\r\n 'type': 'SRational'\r\n },\r\n 50716: {\r\n 'name': 'BlackLevelDeltaV',\r\n 'type': 'SRational'\r\n },\r\n 50717: {\r\n 'name': 'WhiteLevel',\r\n 'type': 'Short'\r\n },\r\n 50718: {\r\n 'name': 'DefaultScale',\r\n 'type': 'Rational'\r\n },\r\n 50719: {\r\n 'name': 'DefaultCropOrigin',\r\n 'type': 'Short'\r\n },\r\n 50720: {\r\n 'name': 'DefaultCropSize',\r\n 'type': 'Short'\r\n },\r\n 50721: {\r\n 'name': 'ColorMatrix1',\r\n 'type': 'SRational'\r\n },\r\n 50722: {\r\n 'name': 'ColorMatrix2',\r\n 'type': 'SRational'\r\n },\r\n 50723: {\r\n 'name': 'CameraCalibration1',\r\n 'type': 'SRational'\r\n },\r\n 50724: {\r\n 'name': 'CameraCalibration2',\r\n 'type': 'SRational'\r\n },\r\n 50725: {\r\n 'name': 'ReductionMatrix1',\r\n 'type': 'SRational'\r\n },\r\n 50726: {\r\n 'name': 'ReductionMatrix2',\r\n 'type': 'SRational'\r\n },\r\n 50727: {\r\n 'name': 'AnalogBalance',\r\n 'type': 'Rational'\r\n },\r\n 50728: {\r\n 'name': 'AsShotNeutral',\r\n 'type': 'Short'\r\n },\r\n 50729: {\r\n 'name': 'AsShotWhiteXY',\r\n 'type': 'Rational'\r\n },\r\n 50730: {\r\n 'name': 'BaselineExposure',\r\n 'type': 'SRational'\r\n },\r\n 50731: {\r\n 'name': 'BaselineNoise',\r\n 'type': 'Rational'\r\n },\r\n 50732: {\r\n 'name': 'BaselineSharpness',\r\n 'type': 'Rational'\r\n },\r\n 50733: {\r\n 'name': 'BayerGreenSplit',\r\n 'type': 'Long'\r\n },\r\n 50734: {\r\n 'name': 'LinearResponseLimit',\r\n 'type': 'Rational'\r\n },\r\n 50735: {\r\n 'name': 'CameraSerialNumber',\r\n 'type': 'Ascii'\r\n },\r\n 50736: {\r\n 'name': 'LensInfo',\r\n 'type': 'Rational'\r\n },\r\n 50737: {\r\n 'name': 'ChromaBlurRadius',\r\n 'type': 'Rational'\r\n },\r\n 50738: {\r\n 'name': 'AntiAliasStrength',\r\n 'type': 'Rational'\r\n },\r\n 50739: {\r\n 'name': 'ShadowScale',\r\n 'type': 'SRational'\r\n },\r\n 50740: {\r\n 'name': 'DNGPrivateData',\r\n 'type': 'Byte'\r\n },\r\n 50741: {\r\n 'name': 'MakerNoteSafety',\r\n 'type': 'Short'\r\n },\r\n 50778: {\r\n 'name': 'CalibrationIlluminant1',\r\n 'type': 'Short'\r\n },\r\n 50779: {\r\n 'name': 'CalibrationIlluminant2',\r\n 'type': 'Short'\r\n },\r\n 50780: {\r\n 'name': 'BestQualityScale',\r\n 'type': 'Rational'\r\n },\r\n 50781: {\r\n 'name': 'RawDataUniqueID',\r\n 'type': 'Byte'\r\n },\r\n 50827: {\r\n 'name': 'OriginalRawFileName',\r\n 'type': 'Byte'\r\n },\r\n 50828: {\r\n 'name': 'OriginalRawFileData',\r\n 'type': 'Undefined'\r\n },\r\n 50829: {\r\n 'name': 'ActiveArea',\r\n 'type': 'Short'\r\n },\r\n 50830: {\r\n 'name': 'MaskedAreas',\r\n 'type': 'Short'\r\n },\r\n 50831: {\r\n 'name': 'AsShotICCProfile',\r\n 'type': 'Undefined'\r\n },\r\n 50832: {\r\n 'name': 'AsShotPreProfileMatrix',\r\n 'type': 'SRational'\r\n },\r\n 50833: {\r\n 'name': 'CurrentICCProfile',\r\n 'type': 'Undefined'\r\n },\r\n 50834: {\r\n 'name': 'CurrentPreProfileMatrix',\r\n 'type': 'SRational'\r\n },\r\n 50879: {\r\n 'name': 'ColorimetricReference',\r\n 'type': 'Short'\r\n },\r\n 50931: {\r\n 'name': 'CameraCalibrationSignature',\r\n 'type': 'Byte'\r\n },\r\n 50932: {\r\n 'name': 'ProfileCalibrationSignature',\r\n 'type': 'Byte'\r\n },\r\n 50934: {\r\n 'name': 'AsShotProfileName',\r\n 'type': 'Byte'\r\n },\r\n 50935: {\r\n 'name': 'NoiseReductionApplied',\r\n 'type': 'Rational'\r\n },\r\n 50936: {\r\n 'name': 'ProfileName',\r\n 'type': 'Byte'\r\n },\r\n 50937: {\r\n 'name': 'ProfileHueSatMapDims',\r\n 'type': 'Long'\r\n },\r\n 50938: {\r\n 'name': 'ProfileHueSatMapData1',\r\n 'type': 'Float'\r\n },\r\n 50939: {\r\n 'name': 'ProfileHueSatMapData2',\r\n 'type': 'Float'\r\n },\r\n 50940: {\r\n 'name': 'ProfileToneCurve',\r\n 'type': 'Float'\r\n },\r\n 50941: {\r\n 'name': 'ProfileEmbedPolicy',\r\n 'type': 'Long'\r\n },\r\n 50942: {\r\n 'name': 'ProfileCopyright',\r\n 'type': 'Byte'\r\n },\r\n 50964: {\r\n 'name': 'ForwardMatrix1',\r\n 'type': 'SRational'\r\n },\r\n 50965: {\r\n 'name': 'ForwardMatrix2',\r\n 'type': 'SRational'\r\n },\r\n 50966: {\r\n 'name': 'PreviewApplicationName',\r\n 'type': 'Byte'\r\n },\r\n 50967: {\r\n 'name': 'PreviewApplicationVersion',\r\n 'type': 'Byte'\r\n },\r\n 50968: {\r\n 'name': 'PreviewSettingsName',\r\n 'type': 'Byte'\r\n },\r\n 50969: {\r\n 'name': 'PreviewSettingsDigest',\r\n 'type': 'Byte'\r\n },\r\n 50970: {\r\n 'name': 'PreviewColorSpace',\r\n 'type': 'Long'\r\n },\r\n 50971: {\r\n 'name': 'PreviewDateTime',\r\n 'type': 'Ascii'\r\n },\r\n 50972: {\r\n 'name': 'RawImageDigest',\r\n 'type': 'Undefined'\r\n },\r\n 50973: {\r\n 'name': 'OriginalRawFileDigest',\r\n 'type': 'Undefined'\r\n },\r\n 50974: {\r\n 'name': 'SubTileBlockSize',\r\n 'type': 'Long'\r\n },\r\n 50975: {\r\n 'name': 'RowInterleaveFactor',\r\n 'type': 'Long'\r\n },\r\n 50981: {\r\n 'name': 'ProfileLookTableDims',\r\n 'type': 'Long'\r\n },\r\n 50982: {\r\n 'name': 'ProfileLookTableData',\r\n 'type': 'Float'\r\n },\r\n 51008: {\r\n 'name': 'OpcodeList1',\r\n 'type': 'Undefined'\r\n },\r\n 51009: {\r\n 'name': 'OpcodeList2',\r\n 'type': 'Undefined'\r\n },\r\n 51022: {\r\n 'name': 'OpcodeList3',\r\n 'type': 'Undefined'\r\n }\r\n },\r\n 'Exif': {\r\n 33434: {\r\n 'name': 'ExposureTime',\r\n 'type': 'Rational'\r\n },\r\n 33437: {\r\n 'name': 'FNumber',\r\n 'type': 'Rational'\r\n },\r\n 34850: {\r\n 'name': 'ExposureProgram',\r\n 'type': 'Short'\r\n },\r\n 34852: {\r\n 'name': 'SpectralSensitivity',\r\n 'type': 'Ascii'\r\n },\r\n 34855: {\r\n 'name': 'ISOSpeedRatings',\r\n 'type': 'Short'\r\n },\r\n 34856: {\r\n 'name': 'OECF',\r\n 'type': 'Undefined'\r\n },\r\n 34864: {\r\n 'name': 'SensitivityType',\r\n 'type': 'Short'\r\n },\r\n 34865: {\r\n 'name': 'StandardOutputSensitivity',\r\n 'type': 'Long'\r\n },\r\n 34866: {\r\n 'name': 'RecommendedExposureIndex',\r\n 'type': 'Long'\r\n },\r\n 34867: {\r\n 'name': 'ISOSpeed',\r\n 'type': 'Long'\r\n },\r\n 34868: {\r\n 'name': 'ISOSpeedLatitudeyyy',\r\n 'type': 'Long'\r\n },\r\n 34869: {\r\n 'name': 'ISOSpeedLatitudezzz',\r\n 'type': 'Long'\r\n },\r\n 36864: {\r\n 'name': 'ExifVersion',\r\n 'type': 'Undefined'\r\n },\r\n 36867: {\r\n 'name': 'DateTimeOriginal',\r\n 'type': 'Ascii'\r\n },\r\n 36868: {\r\n 'name': 'DateTimeDigitized',\r\n 'type': 'Ascii'\r\n },\r\n 37121: {\r\n 'name': 'ComponentsConfiguration',\r\n 'type': 'Undefined'\r\n },\r\n 37122: {\r\n 'name': 'CompressedBitsPerPixel',\r\n 'type': 'Rational'\r\n },\r\n 37377: {\r\n 'name': 'ShutterSpeedValue',\r\n 'type': 'SRational'\r\n },\r\n 37378: {\r\n 'name': 'ApertureValue',\r\n 'type': 'Rational'\r\n },\r\n 37379: {\r\n 'name': 'BrightnessValue',\r\n 'type': 'SRational'\r\n },\r\n 37380: {\r\n 'name': 'ExposureBiasValue',\r\n 'type': 'SRational'\r\n },\r\n 37381: {\r\n 'name': 'MaxApertureValue',\r\n 'type': 'Rational'\r\n },\r\n 37382: {\r\n 'name': 'SubjectDistance',\r\n 'type': 'Rational'\r\n },\r\n 37383: {\r\n 'name': 'MeteringMode',\r\n 'type': 'Short'\r\n },\r\n 37384: {\r\n 'name': 'LightSource',\r\n 'type': 'Short'\r\n },\r\n 37385: {\r\n 'name': 'Flash',\r\n 'type': 'Short'\r\n },\r\n 37386: {\r\n 'name': 'FocalLength',\r\n 'type': 'Rational'\r\n },\r\n 37396: {\r\n 'name': 'SubjectArea',\r\n 'type': 'Short'\r\n },\r\n 37500: {\r\n 'name': 'MakerNote',\r\n 'type': 'Undefined'\r\n },\r\n 37510: {\r\n 'name': 'UserComment',\r\n 'type': 'Ascii'\r\n },\r\n 37520: {\r\n 'name': 'SubSecTime',\r\n 'type': 'Ascii'\r\n },\r\n 37521: {\r\n 'name': 'SubSecTimeOriginal',\r\n 'type': 'Ascii'\r\n },\r\n 37522: {\r\n 'name': 'SubSecTimeDigitized',\r\n 'type': 'Ascii'\r\n },\r\n 40960: {\r\n 'name': 'FlashpixVersion',\r\n 'type': 'Undefined'\r\n },\r\n 40961: {\r\n 'name': 'ColorSpace',\r\n 'type': 'Short'\r\n },\r\n 40962: {\r\n 'name': 'PixelXDimension',\r\n 'type': 'Long'\r\n },\r\n 40963: {\r\n 'name': 'PixelYDimension',\r\n 'type': 'Long'\r\n },\r\n 40964: {\r\n 'name': 'RelatedSoundFile',\r\n 'type': 'Ascii'\r\n },\r\n 40965: {\r\n 'name': 'InteroperabilityTag',\r\n 'type': 'Long'\r\n },\r\n 41483: {\r\n 'name': 'FlashEnergy',\r\n 'type': 'Rational'\r\n },\r\n 41484: {\r\n 'name': 'SpatialFrequencyResponse',\r\n 'type': 'Undefined'\r\n },\r\n 41486: {\r\n 'name': 'FocalPlaneXResolution',\r\n 'type': 'Rational'\r\n },\r\n 41487: {\r\n 'name': 'FocalPlaneYResolution',\r\n 'type': 'Rational'\r\n },\r\n 41488: {\r\n 'name': 'FocalPlaneResolutionUnit',\r\n 'type': 'Short'\r\n },\r\n 41492: {\r\n 'name': 'SubjectLocation',\r\n 'type': 'Short'\r\n },\r\n 41493: {\r\n 'name': 'ExposureIndex',\r\n 'type': 'Rational'\r\n },\r\n 41495: {\r\n 'name': 'SensingMethod',\r\n 'type': 'Short'\r\n },\r\n 41728: {\r\n 'name': 'FileSource',\r\n 'type': 'Undefined'\r\n },\r\n 41729: {\r\n 'name': 'SceneType',\r\n 'type': 'Undefined'\r\n },\r\n 41730: {\r\n 'name': 'CFAPattern',\r\n 'type': 'Undefined'\r\n },\r\n 41985: {\r\n 'name': 'CustomRendered',\r\n 'type': 'Short'\r\n },\r\n 41986: {\r\n 'name': 'ExposureMode',\r\n 'type': 'Short'\r\n },\r\n 41987: {\r\n 'name': 'WhiteBalance',\r\n 'type': 'Short'\r\n },\r\n 41988: {\r\n 'name': 'DigitalZoomRatio',\r\n 'type': 'Rational'\r\n },\r\n 41989: {\r\n 'name': 'FocalLengthIn35mmFilm',\r\n 'type': 'Short'\r\n },\r\n 41990: {\r\n 'name': 'SceneCaptureType',\r\n 'type': 'Short'\r\n },\r\n 41991: {\r\n 'name': 'GainControl',\r\n 'type': 'Short'\r\n },\r\n 41992: {\r\n 'name': 'Contrast',\r\n 'type': 'Short'\r\n },\r\n 41993: {\r\n 'name': 'Saturation',\r\n 'type': 'Short'\r\n },\r\n 41994: {\r\n 'name': 'Sharpness',\r\n 'type': 'Short'\r\n },\r\n 41995: {\r\n 'name': 'DeviceSettingDescription',\r\n 'type': 'Undefined'\r\n },\r\n 41996: {\r\n 'name': 'SubjectDistanceRange',\r\n 'type': 'Short'\r\n },\r\n 42016: {\r\n 'name': 'ImageUniqueID',\r\n 'type': 'Ascii'\r\n },\r\n 42032: {\r\n 'name': 'CameraOwnerName',\r\n 'type': 'Ascii'\r\n },\r\n 42033: {\r\n 'name': 'BodySerialNumber',\r\n 'type': 'Ascii'\r\n },\r\n 42034: {\r\n 'name': 'LensSpecification',\r\n 'type': 'Rational'\r\n },\r\n 42035: {\r\n 'name': 'LensMake',\r\n 'type': 'Ascii'\r\n },\r\n 42036: {\r\n 'name': 'LensModel',\r\n 'type': 'Ascii'\r\n },\r\n 42037: {\r\n 'name': 'LensSerialNumber',\r\n 'type': 'Ascii'\r\n },\r\n 42240: {\r\n 'name': 'Gamma',\r\n 'type': 'Rational'\r\n }\r\n },\r\n 'GPS': {\r\n 0: {\r\n 'name': 'GPSVersionID',\r\n 'type': 'Byte'\r\n },\r\n 1: {\r\n 'name': 'GPSLatitudeRef',\r\n 'type': 'Ascii'\r\n },\r\n 2: {\r\n 'name': 'GPSLatitude',\r\n 'type': 'Rational'\r\n },\r\n 3: {\r\n 'name': 'GPSLongitudeRef',\r\n 'type': 'Ascii'\r\n },\r\n 4: {\r\n 'name': 'GPSLongitude',\r\n 'type': 'Rational'\r\n },\r\n 5: {\r\n 'name': 'GPSAltitudeRef',\r\n 'type': 'Byte'\r\n },\r\n 6: {\r\n 'name': 'GPSAltitude',\r\n 'type': 'Rational'\r\n },\r\n 7: {\r\n 'name': 'GPSTimeStamp',\r\n 'type': 'Rational'\r\n },\r\n 8: {\r\n 'name': 'GPSSatellites',\r\n 'type': 'Ascii'\r\n },\r\n 9: {\r\n 'name': 'GPSStatus',\r\n 'type': 'Ascii'\r\n },\r\n 10: {\r\n 'name': 'GPSMeasureMode',\r\n 'type': 'Ascii'\r\n },\r\n 11: {\r\n 'name': 'GPSDOP',\r\n 'type': 'Rational'\r\n },\r\n 12: {\r\n 'name': 'GPSSpeedRef',\r\n 'type': 'Ascii'\r\n },\r\n 13: {\r\n 'name': 'GPSSpeed',\r\n 'type': 'Rational'\r\n },\r\n 14: {\r\n 'name': 'GPSTrackRef',\r\n 'type': 'Ascii'\r\n },\r\n 15: {\r\n 'name': 'GPSTrack',\r\n 'type': 'Rational'\r\n },\r\n 16: {\r\n 'name': 'GPSImgDirectionRef',\r\n 'type': 'Ascii'\r\n },\r\n 17: {\r\n 'name': 'GPSImgDirection',\r\n 'type': 'Rational'\r\n },\r\n 18: {\r\n 'name': 'GPSMapDatum',\r\n 'type': 'Ascii'\r\n },\r\n 19: {\r\n 'name': 'GPSDestLatitudeRef',\r\n 'type': 'Ascii'\r\n },\r\n 20: {\r\n 'name': 'GPSDestLatitude',\r\n 'type': 'Rational'\r\n },\r\n 21: {\r\n 'name': 'GPSDestLongitudeRef',\r\n 'type': 'Ascii'\r\n },\r\n 22: {\r\n 'name': 'GPSDestLongitude',\r\n 'type': 'Rational'\r\n },\r\n 23: {\r\n 'name': 'GPSDestBearingRef',\r\n 'type': 'Ascii'\r\n },\r\n 24: {\r\n 'name': 'GPSDestBearing',\r\n 'type': 'Rational'\r\n },\r\n 25: {\r\n 'name': 'GPSDestDistanceRef',\r\n 'type': 'Ascii'\r\n },\r\n 26: {\r\n 'name': 'GPSDestDistance',\r\n 'type': 'Rational'\r\n },\r\n 27: {\r\n 'name': 'GPSProcessingMethod',\r\n 'type': 'Undefined'\r\n },\r\n 28: {\r\n 'name': 'GPSAreaInformation',\r\n 'type': 'Undefined'\r\n },\r\n 29: {\r\n 'name': 'GPSDateStamp',\r\n 'type': 'Ascii'\r\n },\r\n 30: {\r\n 'name': 'GPSDifferential',\r\n 'type': 'Short'\r\n },\r\n 31: {\r\n 'name': 'GPSHPositioningError',\r\n 'type': 'Rational'\r\n }\r\n },\r\n 'Interop': {\r\n 1: {\r\n 'name': 'InteroperabilityIndex',\r\n 'type': 'Ascii'\r\n }\r\n },\r\n };\r\n TAGS[\"0th\"] = TAGS[\"Image\"];\r\n TAGS[\"1st\"] = TAGS[\"Image\"];\r\n that.TAGS = TAGS;\r\n\r\n \r\n that.ImageIFD = {\r\n ProcessingSoftware:11,\r\n NewSubfileType:254,\r\n SubfileType:255,\r\n ImageWidth:256,\r\n ImageLength:257,\r\n BitsPerSample:258,\r\n Compression:259,\r\n PhotometricInterpretation:262,\r\n Threshholding:263,\r\n CellWidth:264,\r\n CellLength:265,\r\n FillOrder:266,\r\n DocumentName:269,\r\n ImageDescription:270,\r\n Make:271,\r\n Model:272,\r\n StripOffsets:273,\r\n Orientation:274,\r\n SamplesPerPixel:277,\r\n RowsPerStrip:278,\r\n StripByteCounts:279,\r\n XResolution:282,\r\n YResolution:283,\r\n PlanarConfiguration:284,\r\n GrayResponseUnit:290,\r\n GrayResponseCurve:291,\r\n T4Options:292,\r\n T6Options:293,\r\n ResolutionUnit:296,\r\n TransferFunction:301,\r\n Software:305,\r\n DateTime:306,\r\n Artist:315,\r\n HostComputer:316,\r\n Predictor:317,\r\n WhitePoint:318,\r\n PrimaryChromaticities:319,\r\n ColorMap:320,\r\n HalftoneHints:321,\r\n TileWidth:322,\r\n TileLength:323,\r\n TileOffsets:324,\r\n TileByteCounts:325,\r\n SubIFDs:330,\r\n InkSet:332,\r\n InkNames:333,\r\n NumberOfInks:334,\r\n DotRange:336,\r\n TargetPrinter:337,\r\n ExtraSamples:338,\r\n SampleFormat:339,\r\n SMinSampleValue:340,\r\n SMaxSampleValue:341,\r\n TransferRange:342,\r\n ClipPath:343,\r\n XClipPathUnits:344,\r\n YClipPathUnits:345,\r\n Indexed:346,\r\n JPEGTables:347,\r\n OPIProxy:351,\r\n JPEGProc:512,\r\n JPEGInterchangeFormat:513,\r\n JPEGInterchangeFormatLength:514,\r\n JPEGRestartInterval:515,\r\n JPEGLosslessPredictors:517,\r\n JPEGPointTransforms:518,\r\n JPEGQTables:519,\r\n JPEGDCTables:520,\r\n JPEGACTables:521,\r\n YCbCrCoefficients:529,\r\n YCbCrSubSampling:530,\r\n YCbCrPositioning:531,\r\n ReferenceBlackWhite:532,\r\n XMLPacket:700,\r\n Rating:18246,\r\n RatingPercent:18249,\r\n ImageID:32781,\r\n CFARepeatPatternDim:33421,\r\n CFAPattern:33422,\r\n BatteryLevel:33423,\r\n Copyright:33432,\r\n ExposureTime:33434,\r\n ImageResources:34377,\r\n ExifTag:34665,\r\n InterColorProfile:34675,\r\n GPSTag:34853,\r\n Interlace:34857,\r\n TimeZoneOffset:34858,\r\n SelfTimerMode:34859,\r\n FlashEnergy:37387,\r\n SpatialFrequencyResponse:37388,\r\n Noise:37389,\r\n FocalPlaneXResolution:37390,\r\n FocalPlaneYResolution:37391,\r\n FocalPlaneResolutionUnit:37392,\r\n ImageNumber:37393,\r\n SecurityClassification:37394,\r\n ImageHistory:37395,\r\n ExposureIndex:37397,\r\n TIFFEPStandardID:37398,\r\n SensingMethod:37399,\r\n XPTitle:40091,\r\n XPComment:40092,\r\n XPAuthor:40093,\r\n XPKeywords:40094,\r\n XPSubject:40095,\r\n PrintImageMatching:50341,\r\n DNGVersion:50706,\r\n DNGBackwardVersion:50707,\r\n UniqueCameraModel:50708,\r\n LocalizedCameraModel:50709,\r\n CFAPlaneColor:50710,\r\n CFALayout:50711,\r\n LinearizationTable:50712,\r\n BlackLevelRepeatDim:50713,\r\n BlackLevel:50714,\r\n BlackLevelDeltaH:50715,\r\n BlackLevelDeltaV:50716,\r\n WhiteLevel:50717,\r\n DefaultScale:50718,\r\n DefaultCropOrigin:50719,\r\n DefaultCropSize:50720,\r\n ColorMatrix1:50721,\r\n ColorMatrix2:50722,\r\n CameraCalibration1:50723,\r\n CameraCalibration2:50724,\r\n ReductionMatrix1:50725,\r\n ReductionMatrix2:50726,\r\n AnalogBalance:50727,\r\n AsShotNeutral:50728,\r\n AsShotWhiteXY:50729,\r\n BaselineExposure:50730,\r\n BaselineNoise:50731,\r\n BaselineSharpness:50732,\r\n BayerGreenSplit:50733,\r\n LinearResponseLimit:50734,\r\n CameraSerialNumber:50735,\r\n LensInfo:50736,\r\n ChromaBlurRadius:50737,\r\n AntiAliasStrength:50738,\r\n ShadowScale:50739,\r\n DNGPrivateData:50740,\r\n MakerNoteSafety:50741,\r\n CalibrationIlluminant1:50778,\r\n CalibrationIlluminant2:50779,\r\n BestQualityScale:50780,\r\n RawDataUniqueID:50781,\r\n OriginalRawFileName:50827,\r\n OriginalRawFileData:50828,\r\n ActiveArea:50829,\r\n MaskedAreas:50830,\r\n AsShotICCProfile:50831,\r\n AsShotPreProfileMatrix:50832,\r\n CurrentICCProfile:50833,\r\n CurrentPreProfileMatrix:50834,\r\n ColorimetricReference:50879,\r\n CameraCalibrationSignature:50931,\r\n ProfileCalibrationSignature:50932,\r\n AsShotProfileName:50934,\r\n NoiseReductionApplied:50935,\r\n ProfileName:50936,\r\n ProfileHueSatMapDims:50937,\r\n ProfileHueSatMapData1:50938,\r\n ProfileHueSatMapData2:50939,\r\n ProfileToneCurve:50940,\r\n ProfileEmbedPolicy:50941,\r\n ProfileCopyright:50942,\r\n ForwardMatrix1:50964,\r\n ForwardMatrix2:50965,\r\n PreviewApplicationName:50966,\r\n PreviewApplicationVersion:50967,\r\n PreviewSettingsName:50968,\r\n PreviewSettingsDigest:50969,\r\n PreviewColorSpace:50970,\r\n PreviewDateTime:50971,\r\n RawImageDigest:50972,\r\n OriginalRawFileDigest:50973,\r\n SubTileBlockSize:50974,\r\n RowInterleaveFactor:50975,\r\n ProfileLookTableDims:50981,\r\n ProfileLookTableData:50982,\r\n OpcodeList1:51008,\r\n OpcodeList2:51009,\r\n OpcodeList3:51022,\r\n NoiseProfile:51041,\r\n };\r\n\r\n \r\n that.ExifIFD = {\r\n ExposureTime:33434,\r\n FNumber:33437,\r\n ExposureProgram:34850,\r\n SpectralSensitivity:34852,\r\n ISOSpeedRatings:34855,\r\n OECF:34856,\r\n SensitivityType:34864,\r\n StandardOutputSensitivity:34865,\r\n RecommendedExposureIndex:34866,\r\n ISOSpeed:34867,\r\n ISOSpeedLatitudeyyy:34868,\r\n ISOSpeedLatitudezzz:34869,\r\n ExifVersion:36864,\r\n DateTimeOriginal:36867,\r\n DateTimeDigitized:36868,\r\n ComponentsConfiguration:37121,\r\n CompressedBitsPerPixel:37122,\r\n ShutterSpeedValue:37377,\r\n ApertureValue:37378,\r\n BrightnessValue:37379,\r\n ExposureBiasValue:37380,\r\n MaxApertureValue:37381,\r\n SubjectDistance:37382,\r\n MeteringMode:37383,\r\n LightSource:37384,\r\n Flash:37385,\r\n FocalLength:37386,\r\n SubjectArea:37396,\r\n MakerNote:37500,\r\n UserComment:37510,\r\n SubSecTime:37520,\r\n SubSecTimeOriginal:37521,\r\n SubSecTimeDigitized:37522,\r\n FlashpixVersion:40960,\r\n ColorSpace:40961,\r\n PixelXDimension:40962,\r\n PixelYDimension:40963,\r\n RelatedSoundFile:40964,\r\n InteroperabilityTag:40965,\r\n FlashEnergy:41483,\r\n SpatialFrequencyResponse:41484,\r\n FocalPlaneXResolution:41486,\r\n FocalPlaneYResolution:41487,\r\n FocalPlaneResolutionUnit:41488,\r\n SubjectLocation:41492,\r\n ExposureIndex:41493,\r\n SensingMethod:41495,\r\n FileSource:41728,\r\n SceneType:41729,\r\n CFAPattern:41730,\r\n CustomRendered:41985,\r\n ExposureMode:41986,\r\n WhiteBalance:41987,\r\n DigitalZoomRatio:41988,\r\n FocalLengthIn35mmFilm:41989,\r\n SceneCaptureType:41990,\r\n GainControl:41991,\r\n Contrast:41992,\r\n Saturation:41993,\r\n Sharpness:41994,\r\n DeviceSettingDescription:41995,\r\n SubjectDistanceRange:41996,\r\n ImageUniqueID:42016,\r\n CameraOwnerName:42032,\r\n BodySerialNumber:42033,\r\n LensSpecification:42034,\r\n LensMake:42035,\r\n LensModel:42036,\r\n LensSerialNumber:42037,\r\n Gamma:42240,\r\n };\r\n\r\n\r\n that.GPSIFD = {\r\n GPSVersionID:0,\r\n GPSLatitudeRef:1,\r\n GPSLatitude:2,\r\n GPSLongitudeRef:3,\r\n GPSLongitude:4,\r\n GPSAltitudeRef:5,\r\n GPSAltitude:6,\r\n GPSTimeStamp:7,\r\n GPSSatellites:8,\r\n GPSStatus:9,\r\n GPSMeasureMode:10,\r\n GPSDOP:11,\r\n GPSSpeedRef:12,\r\n GPSSpeed:13,\r\n GPSTrackRef:14,\r\n GPSTrack:15,\r\n GPSImgDirectionRef:16,\r\n GPSImgDirection:17,\r\n GPSMapDatum:18,\r\n GPSDestLatitudeRef:19,\r\n GPSDestLatitude:20,\r\n GPSDestLongitudeRef:21,\r\n GPSDestLongitude:22,\r\n GPSDestBearingRef:23,\r\n GPSDestBearing:24,\r\n GPSDestDistanceRef:25,\r\n GPSDestDistance:26,\r\n GPSProcessingMethod:27,\r\n GPSAreaInformation:28,\r\n GPSDateStamp:29,\r\n GPSDifferential:30,\r\n GPSHPositioningError:31,\r\n };\r\n\r\n\r\n that.InteropIFD = {\r\n InteroperabilityIndex:1,\r\n };\r\n\r\n that.GPSHelper = {\r\n degToDmsRational:function (degFloat) {\r\n var degAbs = Math.abs(degFloat);\r\n var minFloat = degAbs % 1 * 60;\r\n var secFloat = minFloat % 1 * 60;\r\n var deg = Math.floor(degAbs);\r\n var min = Math.floor(minFloat);\r\n var sec = Math.round(secFloat * 100);\r\n\r\n return [[deg, 1], [min, 1], [sec, 100]];\r\n },\r\n\r\n dmsRationalToDeg:function (dmsArray, ref) {\r\n var sign = (ref === 'S' || ref === 'W') ? -1.0 : 1.0;\r\n var deg = dmsArray[0][0] / dmsArray[0][1] +\r\n dmsArray[1][0] / dmsArray[1][1] / 60.0 +\r\n dmsArray[2][0] / dmsArray[2][1] / 3600.0;\r\n\r\n return deg * sign;\r\n }\r\n };\r\n \r\n \r\n if (typeof exports !== 'undefined') {\r\n if (typeof module !== 'undefined' && module.exports) {\r\n exports = module.exports = that;\r\n }\r\n exports.piexif = that;\r\n } else {\r\n window.piexif = that;\r\n }\r\n\r\n})();\r\n","/* eslint-env worker, es2020 */\nimport * as exifr from \"exifr\";\nimport piexif from \"piexifjs\";\n\nfunction releaseCanvas(canvas) {\n canvas.width = 1;\n canvas.height = 1;\n canvas.getContext(\"2d\").clearRect(0, 0, 1, 1);\n}\n\n// Function to process the image (e.g., resize, convert to JPEG)\nasync function processImage(\n bitmap,\n compressionLevel,\n browserAutoRotates,\n orientation,\n originalFileType\n) {\n const baseLevelMaxDimension = 4000;\n let { width, height } = bitmap;\n\n if (width > baseLevelMaxDimension || height > baseLevelMaxDimension) {\n if (width > height) {\n const downsizedWidth = Math.floor(width / 3);\n const newWidth = Math.max(downsizedWidth, baseLevelMaxDimension);\n height = newWidth * (height / width);\n width = newWidth;\n } else {\n const downsizedHeight = Math.floor(height / 3);\n const newHeight = Math.max(downsizedHeight, baseLevelMaxDimension);\n width = newHeight * (width / height);\n height = newHeight;\n }\n }\n\n let canvas = new OffscreenCanvas(width, height);\n const ctx = canvas.getContext(\"2d\");\n\n if (orientation && !browserAutoRotates) {\n switch (orientation) {\n case 3:\n ctx.rotate(Math.PI); // 180 degrees\n ctx.drawImage(bitmap, -width, -height, width, height);\n break;\n case 6:\n canvas.width = height;\n canvas.height = width;\n ctx.rotate(0.5 * Math.PI); // 90 degrees\n ctx.drawImage(bitmap, 0, -height, width, height);\n break;\n case 8:\n canvas.width = height;\n canvas.height = width;\n ctx.rotate(-0.5 * Math.PI); // -90 degrees\n ctx.drawImage(bitmap, -width, 0, width, height);\n break;\n default:\n ctx.drawImage(bitmap, 0, 0, width, height);\n break;\n }\n } else {\n ctx.drawImage(bitmap, 0, 0, width, height);\n }\n\n const type =\n originalFileType === \"image/png\" ? originalFileType : \"image/jpeg\";\n\n const blob = await canvas.convertToBlob({\n type,\n quality: compressionLevel\n });\n\n releaseCanvas(canvas);\n\n canvas = null;\n\n return blob;\n}\n\n// Utility function to convert a binary string to an ArrayBuffer\nfunction binaryStringToArrayBuffer(binaryString) {\n const len = binaryString.length;\n const buffer = new ArrayBuffer(len);\n const view = new Uint8Array(buffer);\n for (let i = 0; i < len; i += 1) {\n view[i] = binaryString.charCodeAt(i);\n }\n return buffer;\n}\n\n// Function to embed EXIF data into a JPEG Blob\nasync function embedExifIntoBlob(blob, exifData, fileName) {\n return new Promise(resolve => {\n const reader = new FileReader();\n reader.onload = function () {\n try {\n const zeroth = {};\n const exif = {};\n const gps = {};\n\n if (exifData?.DateTimeOriginal) {\n exif[piexif.ExifIFD.DateTimeOriginal] = exifData.DateTimeOriginal;\n }\n\n const exifObj = { \"0th\": zeroth, Exif: exif, GPS: gps };\n\n let binaryString = atob(reader.result.split(\",\")[1]);\n let exifBytes = piexif.dump(exifObj);\n\n let updatedBinaryString = piexif.insert(exifBytes, binaryString);\n const updatedArrayBuffer =\n binaryStringToArrayBuffer(updatedBinaryString);\n\n binaryString = null;\n exifBytes = null;\n updatedBinaryString = null;\n\n resolve(updatedArrayBuffer);\n } catch (error) {\n console.error(\"Error embedding EXIF data:\", error);\n resolve(blob);\n }\n };\n\n reader.onerror = function () {\n console.error(\"Error reading file:\", reader.error);\n globalThis.postMessage({ blob, fileName });\n };\n\n reader.readAsDataURL(blob);\n });\n}\n\nglobalThis.onmessage = async function (event) {\n const { file, compressionLevel, browserAutoRotates } = event.data;\n let blob = file;\n const fileName = file.name;\n\n try {\n const originalExifData = await exifr.parse(file, [\"DateTimeOriginal\"]);\n\n let orientation = null;\n\n // Extract EXIF data if available\n if (file.type === \"image/png\") {\n orientation = await exifr.orientation(file);\n }\n\n // Process the image using createImageBitmap and OffscreenCanvas\n let bitmap = await createImageBitmap(blob);\n blob = await processImage(\n bitmap,\n compressionLevel,\n browserAutoRotates,\n orientation,\n file.type\n );\n\n bitmap.close();\n bitmap = null;\n\n if (blob.type === \"image/png\") {\n // Skip EXIF processing for PNG images\n // Send the result back to the main thread\n globalThis.postMessage({ blob, fileName });\n return;\n }\n\n // Embed original EXIF data back into the processed image\n const arrayBuffer = await embedExifIntoBlob(\n blob,\n originalExifData,\n fileName\n );\n\n blob = null;\n\n // Send the result back to the main thread\n globalThis.postMessage({ arrayBuffer, fileName }, [arrayBuffer]);\n } catch (error) {\n console.error(\"Error processing image:\", error, file.name);\n globalThis.postMessage({ blob, fileName });\n }\n};\n"],"names":["e","t","i","n","s","r","a","o","l","h","u","c","f","d","p","g","m","S","C","y","b","I","P","k","w","T","A","D","O","x","R","v","M","L","U","F","B","N","G","V","z","H","j","W","K","X","_","Y","ee","$","J","q","Z","Q","te","ie","se","re","ae","oe","le","he","ue","ce","fe","de","ge","Ie","Pe","De","Oe","xe","ve","Re","Le","Ue","Fe","Ee","Be","Ne","Ge","Ve","ze","He","je","We","Ze","et","Xe","Je","_e","Ke","qe","Qe","$e","Ye","at","ot","lt","ht","ut","ct","ft","dt","pt","gt","mt","St","Ct","yt","that","jpeg","b64","atob","segments","splitIntoSegments","newSegments","seg","new_data","btoa","exif","exifStr","pack","mergeSegments","data","input_data","exif_dict","exifReader","ExifReader","pointer","unpack","first_ifd_pointer","end","thumb","exif_dict_original","TIFF_HEADER_LENGTH","copy","header","exif_is","gps_is","interop_is","first_is","zeroth_ifd","exif_ifd","interop_ifd","gps_ifd","first_ifd","zeroth_set","_dict_to_bytes","zeroth_length","exif_set","exif_bytes","exif_length","gps_set","gps_bytes","gps_length","interop_set","interop_bytes","interop_length","first_set","first_bytes","thumbnail","offset","_get_thumbnail","exif_pointer","gps_pointer","interop_pointer","pointer_value","pointer_str","key","key_str","type_str","TYPES","length_str","thumbnail_pointer","thumbnail_p_bytes","thumbnail_length_bytes","zeroth_bytes","obj","_pack_byte","array","nStr","_pack_short","_pack_long","_value_to_bytes","raw_value","value_type","four_bytes_over","value_str","length","new_value","num","den","ifd_dict","ifd","ifd_offset","tag_count","entry_header","entries_length","entries","values","TAGS","app1","getExifSeg","ifd_name","tag","value_num","value","v_set","val","input","output","chr1","chr2","chr3","enc1","enc2","enc3","enc4","keyStr","mark","littleEndian","packed","valStr","str","markPointer","unpacked","strPointer","sliced","ch","head","endPoint","hasExifSegment","additionalAPP1ExifSegments","segment","segmentIndex","degFloat","degAbs","minFloat","secFloat","deg","min","sec","dmsArray","ref","sign","module","exports","releaseCanvas","canvas","processImage","bitmap","compressionLevel","browserAutoRotates","orientation","originalFileType","width","height","downsizedWidth","newWidth","downsizedHeight","newHeight","ctx","type","blob","binaryStringToArrayBuffer","binaryString","len","buffer","view","embedExifIntoBlob","exifData","fileName","resolve","reader","zeroth","gps","piexif","exifObj","exifBytes","updatedBinaryString","updatedArrayBuffer","error","event","file","originalExifData","exifr.parse","exifr.orientation","arrayBuffer"],"mappings":"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","x_google_ignoreList":[0,1]}