-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathjsColorEngineWeb.js
More file actions
136 lines (131 loc) · 436 KB
/
Copy pathjsColorEngineWeb.js
File metadata and controls
136 lines (131 loc) · 436 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
var jsColorEngine=(()=>{var Ut=(i=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(i,{get:(e,t)=>(typeof require<"u"?require:e)[t]}):i)(function(i){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+i+'" is not supported')});var ae=(i,e)=>()=>{try{return e||i((e={exports:{}}).exports,e),e.exports}catch(t){throw e=0,t}};var Ye=ae((Gh,Pa)=>{var Yr={eColourType:{None:0,XYZ:1,Lab:2,LCH:3,Gray:4,RGB:5,CMYK:6,custom:7,RGBf:8,CMYKf:9,Spectrum:10,Greyf:11,Duo:12,Duof:13,xyY:14},eProfileType:{Lab:0,RGBMatrix:1,RGBLut:2,CMYK:3,Gray:4,Duo:5,XYZ:6,NChannel:31},eIntent:{perceptual:0,relative:1,saturation:2,absolute:3},intent2String:function(i){return["Perceptual","Relative","Saturation","Absolute"][i]||"unknown"},illuminant:{a:{desc:"a",Y:1,X:1.0985,Z:.35585},b:{desc:"b",Y:1,X:.99072,Z:.85223},c:{desc:"c",Y:1,X:.98074,Z:1.18232},d50:{desc:"d50",Y:1,X:.96422,Z:.82521},d55:{desc:"d55",Y:1,X:.95682,Z:.92149},d65:{desc:"d65",Y:1,X:.95047,Z:1.08883},d75:{desc:"d75",Y:1,X:.94972,Z:1.22638},e:{desc:"e",Y:1,X:1,Z:1},f2:{desc:"f2",Y:1,X:.99186,Z:.67393},f7:{desc:"f7",Y:1,X:.95041,Z:1.08747},f11:{desc:"f11",Y:1,X:1.00962,Z:.6435}},encoding:{device:0,PCSv2:1,PCSv4:2,PCSXYZ:3,LabD50:3,cmsLab:4,cmsRGB:5,cmsCMYK:6,cmsXYZ:7},encodingStr:["device","PCSv2","PCSv4","PCSXYZ","LabD50","cmsLab","cmsRGB","cmsCMYK","cmsXYZ"]};Pa.exports=Yr});var je=ae((Lh,Oa)=>{"use strict";var Ja=Ye(),vt=Ja.eIntent,he=Ja.eColourType;function lt(i,e){var t=Math.pow(10,e);return Math.round(i*t)/t}var ee={};ee.intent2String=function(i){switch(i){case vt.perceptual:return"Perceptual";case vt.relative:return"Relative";case vt.saturation:return"Saturation";case vt.absolute:return"Absolute"}return"Unknown"};ee.BradfordMtxAdapt=Object.freeze({m00:.8951,m01:-.7502,m02:.0389,m10:.2664,m11:1.7135,m12:-.0685,m20:-.1614,m21:.0367,m22:1.0296});ee.BradfordMtxAdaptInv=Object.freeze({m00:.9869929,m01:.4323053,m02:-.0085287,m10:-.1470543,m11:.5183603,m12:.0400428,m20:.1599627,m21:.0492912,m22:.9684867});ee.getBradfordMtxAdapt=function(){return ee.BradfordMtxAdapt};ee.getBradfordMtxAdaptInv=function(){return ee.BradfordMtxAdaptInv};ee.cmsColor2String=function(i,e){switch(typeof e>"u"&&(e=4),i.type){case he.CMYK:return t("CMYK",i,["C","M","Y","K"]);case he.CMYKf:return t("CMYKf",i,["Cf","Mf","Yf","Kf"]);case he.RGB:return t("RGB",i,["R","G","B"]);case he.RGBf:return t("RGBf",i,["Rf","Gf","Bf"]);case he.Gray:return t("Gray",i,["G"]);case he.Lab:return t("Lab",i,["L","a","b"])+(i.whitePoint?" ("+i.whitePoint.desc+")":"");case he.LCH:return t("LCH",i,["L","C","H"])+(i.whitePoint?" ("+i.whitePoint.desc+")":"");case he.XYZ:return t("XYZ",i,["X","Y","Z"]);default:return i.toString()}function t(a,A,r,n){for(var o=[],g=0;g<r.length;g++)n?o.push(r[g]+": "+lt(A[r[g]],e)):o.push(lt(A[r[g]],e));return a+": "+o.join(", ")}};ee.whitepoint2String=function(i){return"(White "+i.desc+" X"+i.X.toFixed(4)+" Y"+i.Y.toFixed(4)+" Z"+i.Z.toFixed(4)+")"};ee.XYZ=function(i,e,t,a){return{type:he.XYZ,X:i,Y:e,Z:t,whitePoint:a||this.d50}};ee.Lab=function(i,e,t,a,A){return A===!1?{type:he.Lab,L:i,a:e,b:t,whitePoint:a||this.d50}:{type:he.Lab,L:i>100?100:i<0?0:i,a:e>127?127:e<-128?-128:e,b:t>127?127:t<-128?-128:t,whitePoint:a||this.d50}};ee.Lch=function(i,e,t,a){return{type:he.LCH,L:i>100?100:i<0?0:i,C:e<0?0:e,H:t>360?t%360:t<0?(t+3600)%360:t,whitePoint:a||this.d50}};ee.LCH=ee.Lch;ee.Gray=function(i,e){return e===!1?{type:he.Gray,G:i}:{type:he.Gray,G:i>255?255:i<0?0:Math.round(i)}};ee.Duo=function(i,e,t){return t===!1?{type:he.Duo,a:i,b:e}:{type:he.Duo,a:i>100?100:i<0?0:Math.round(i),b:e>100?100:e<0?0:Math.round(e)}};ee.RGB2Hex=function(i){return"#"+((1<<24)+(i.R<<16)+(i.G<<8)+i.B|0).toString(16).slice(1)};ee.RGB=function(i,e,t,a){return a===!1?{type:he.RGB,R:i,G:e,B:t}:{type:he.RGB,R:i>255?255:i<0?0:Math.round(i),G:e>255?255:e<0?0:Math.round(e),B:t>255?255:t<0?0:Math.round(t)}};ee.RGBf=function(i,e,t){return{type:he.RGBf,Rf:i,Gf:e,Bf:t}};ee.RGBFloat=function(i,e,t){return{type:he.RGBf,Rf:i,Gf:e,Bf:t}};ee.RGBbyte2Float=function(i,e,t){return{type:he.RGBf,Rf:i/255,Gf:e/255,Bf:t/255}};ee.CMYK=function(i,e,t,a,A){return A===!1?{type:he.CMYK,C:i,M:e,Y:t,K:a}:{type:he.CMYK,C:i>100?100:i<0?0:Math.round(i),M:e>100?100:e<0?0:Math.round(e),Y:t>100?100:t<0?0:Math.round(t),K:a>100?100:a<0?0:Math.round(a)}};ee.CMYKf=function(i,e,t,a){return{type:he.CMYKf,Cf:i,Mf:e,Yf:t,Kf:a}};ee.xyY=function(i,e,t){return{type:he.xyY,x:i,y:e,Y:t}};ee.getWhitePoint=function(i){switch(i.toLowerCase()){case"a":return this.a;case"b":return this.b;case"c":return this.c;case"d50":return this.d50;case"d55":return this.d55;case"d75":return this.d75;case"e":return this.e;case"f2":return this.f2;case"f7":return this.f7;case"f11":return this.f11;default:return this.d65}};ee.a={desc:"a",Y:1,X:1.0985,Z:.35585};ee.b={desc:"b",Y:1,X:.99072,Z:.85223};ee.c={desc:"c",Y:1,X:.98074,Z:1.18232};ee.d50={desc:"d50",Y:1,X:.96422,Z:.82521};ee.d55={desc:"d55",Y:1,X:.95682,Z:.92149};ee.d65={desc:"d65",Y:1,X:.95047,Z:1.08883};ee.d75={desc:"d75",Y:1,X:.94972,Z:1.22638};ee.e={desc:"e",Y:1,X:1,Z:1};ee.f2={desc:"f2",Y:1,X:.99186,Z:.67393};ee.f7={desc:"f7",Y:1,X:.95041,Z:1.08747};ee.f11={desc:"f11",Y:1,X:1.00962,Z:.6435};ee.getWhitePointFromIlluminant=function(i){if(e(i.X,1.0985))return this.a;if(e(i.X,.9907))return this.b;if(e(i.X,.98074))return this.c;if(e(i.X,.96422))return this.d50;if(e(i.X,.95682))return this.d55;if(e(i.X,.94972))return this.d75;if(e(i.X,1))return this.e;if(e(i.X,.99186))return this.f2;if(e(i.X,.95041))return this.f7;if(e(i.X,1.00962))return this.f11;return{desc:"",Y:i.Y,X:i.X,Z:i.Z};function e(t,a){var A=.001;return t>a-A&&t<a+A}};ee.XYZ2xyY=function(i,e){var t=i.X+i.Y+i.Z,a={x:0,y:0,Y:0};return t>0?(a.x=i.X/t,a.y=i.Y/t):(a.x=e.X/(e.X+1+e.Z),a.y=1/(e.X+1+e.Z)),a.Y=i.Y,this.xyY(a.x,a.y,a.Y)};ee.xyY2XYZ=function(i){var e,t,a;return i.y<1e-6?e=t=a=0:(e=i.x*i.Y/i.y,t=i.Y,a=(1-i.x-i.y)*i.Y/i.y),this.XYZ(e,t,a)};ee.XYZ2Lab=function(i,e){var t=.008856451679035631,a=24389/27,A=i.X/e.X,r=i.Y,n=i.Z/e.Z,o=A>t?Math.pow(A,1/3):(a*A+16)/116,g=r>t?Math.pow(r,1/3):(a*r+16)/116,s=n>t?Math.pow(n,1/3):(a*n+16)/116;return{L:116*g-16,a:500*(o-g),b:200*(g-s),whitePoint:e,type:he.Lab}};ee.Lab2XYZ=function(i){var e=.008856451679035631,t=24389/27,a=8,A=(i.L+16)/116,r=.002*i.a+A,n=A-.005*i.b,o=r*r*r,g=n*n*n,s=o>e?o:(116*r-16)/t,h=i.L>a?Math.pow((i.L+16)/116,3):i.L/t,l=g>e?g:(116*n-16)/t,u=i.whitePoint||this.d50;return{X:s*u.X,Y:h,Z:l*u.Z,type:he.XYZ}};ee.Lab2LabD50=function(i){var e=this.d50;if(!this.compareWhitePoints(e,i.whitePoint)){var t=ee.Lab2XYZ(i);t=ee.adaptation(t,i.whitePoint,e),i=ee.XYZ2Lab(t,e)}return{L:i.L,a:i.a,b:i.b}};ee.Lab2Lab=function(i,e){if(i.whitePoint.X!==e.X||i.whitePoint.Z!==e.Z){var t=ee.Lab2XYZ(i);return t=ee.adaptation(t,i.whitePoint,e),ee.XYZ2Lab(t,e)}return i};ee.Lab2LCH=function(i){var e=Math.sqrt(i.a*i.a+i.b*i.b),t=180*Math.atan2(i.b,i.a)/Math.PI;return t<0&&(t+=360),this.Lch(i.L,e,t)};ee.LCH2Lab=function(i){var e=i.C*Math.cos(i.H*Math.PI/180),t=i.C*Math.sin(i.H*Math.PI/180);return this.Lab(i.L,e,t)};ee.RGB2Lab=function(i,e,t){t||(t=e.mediaWhitePoint);var a=this.RGBf2XYZ({Rf:i.R/255,Gf:i.G/255,Bf:i.B/255},e,t);return this.XYZ2Lab(a,t)};ee.RGB2XYZ_bytes=function(i,e,t){return this.RGBf2XYZ({Rf:i.R/255,Gf:i.G/255,Bf:i.B/255,type:he.RGBf},e,t)};ee.XYZ2RGB_bytes=function(i,e,t){return ee.RGB2byte(ee.XYZ2RGBf(i,e,t,!0))};ee.Lab2RGBf=function(i,e,t){var a=this.Lab2XYZ(i);return this.XYZ2RGBf(a,i.whitePoint,e,t)};ee.RGB2byte=function(i){return this.RGB(i.Rf*255,i.Gf*255,i.Bf*255)};ee.cmsRGB2Hex=function(i){var e=i.R<=15?"0"+i.R.toString(16):i.R.toString(16),t=i.G<=15?"0"+i.G.toString(16):i.G.toString(16),a=i.B<=15?"0"+i.B.toString(16):i.B.toString(16);return"#"+e+t+a};ee.adaptation=function(i,e,t){var a=this.BradfordMtxAdapt,A=this.BradfordMtxAdaptInv,r=e.X*a.m00+a.m10+e.Z*a.m20,n=e.X*a.m01+a.m11+e.Z*a.m21,o=e.X*a.m02+a.m12+e.Z*a.m22,g=t.X*a.m00+a.m10+t.Z*a.m20,s=t.X*a.m01+a.m11+t.Z*a.m21,h=t.X*a.m02+a.m12+t.Z*a.m22,l=i.X*a.m00+i.Y*a.m10+i.Z*a.m20,u=i.X*a.m01+i.Y*a.m11+i.Z*a.m21,c=i.X*a.m02+i.Y*a.m12+i.Z*a.m22;return l*=g/r,u*=s/n,c*=h/o,{X:l*A.m00+u*A.m10+c*A.m20,Y:l*A.m01+u*A.m11+c*A.m21,Z:l*A.m02+u*A.m12+c*A.m22,type:he.XYZ}};ee.XYZ2RGBDevice=function(i,e,t,a){this.compareWhitePoints(e,t.mediaWhitePoint)||(i=this.adaptation(i,e,t.mediaWhitePoint));var A=t.RGBMatrix.matrixInv,r=i.X*A.m00+i.Y*A.m01+i.Z*A.m02,n=i.X*A.m10+i.Y*A.m11+i.Z*A.m12,o=i.X*A.m20+i.Y*A.m21+i.Z*A.m22;return a!==!1&&(r=r>1?1:r,n=n>1?1:n,o=o>1?1:o,r=r<0?0:r,n=n<0?0:n,o=o<0?0:o),t.RGBMatrix.issRGB?(r=this.sRGBGamma(r),n=this.sRGBGamma(n),o=this.sRGBGamma(o)):(r=this.gamma(r,t.RGBMatrix.gamma),n=this.gamma(n,t.RGBMatrix.gamma),o=this.gamma(o,t.RGBMatrix.gamma)),[r,n,o]};ee.XYZ2RGBf=function(i,e,t,a){e=e||this.D50,this.compareWhitePoints(e,t.mediaWhitePoint)||(i=this.adaptation(i,e,t.mediaWhitePoint));var A=t.RGBMatrix.matrixInv,r=i.X*A.m00+i.Y*A.m01+i.Z*A.m02,n=i.X*A.m10+i.Y*A.m11+i.Z*A.m12,o=i.X*A.m20+i.Y*A.m21+i.Z*A.m22;return a!==!1&&(r=r>1?1:r,n=n>1?1:n,o=o>1?1:o,r=r<0?0:r,n=n<0?0:n,o=o<0?0:o),t.RGBMatrix.issRGB?(r=this.sRGBGamma(r),n=this.sRGBGamma(n),o=this.sRGBGamma(o)):(r=this.gamma(r,t.RGBMatrix.gamma),n=this.gamma(n,t.RGBMatrix.gamma),o=this.gamma(o,t.RGBMatrix.gamma)),this.RGBFloat(r,n,o)};ee.RGBDevice2XYZ=function(i,e,t){var a,A,r;e.RGBMatrix.issRGB?(a=this.sRGBGammaInv(i[0]),A=this.sRGBGammaInv(i[1]),r=this.sRGBGammaInv(i[2])):(a=this.gammaInv(i[0],e.RGBMatrix.gamma),A=this.gammaInv(i[1],e.RGBMatrix.gamma),r=this.gammaInv(i[2],e.RGBMatrix.gamma));var n=e.RGBMatrix.matrixV4,o={X:a*n.m00+A*n.m01+r*n.m02,Y:a*n.m10+A*n.m11+r*n.m12,Z:a*n.m20+A*n.m21+r*n.m22,type:he.XYZ};return this.compareWhitePoints(t,e.mediaWhitePoint)||(o=this.adaptation(o,e.mediaWhitePoint,t)),o};ee.RGBf2XYZ=function(i,e,t){var a=i.Rf,A=i.Gf,r=i.Bf;e.RGBMatrix.issRGB?(a=this.sRGBGammaInv(a),A=this.sRGBGammaInv(A),r=this.sRGBGammaInv(r)):(a=this.gammaInv(a,e.RGBMatrix.gamma),A=this.gammaInv(A,e.RGBMatrix.gamma),r=this.gammaInv(r,e.RGBMatrix.gamma));var n=e.RGBMatrix.matrixV4,o={X:a*n.m00+A*n.m01+r*n.m02,Y:a*n.m10+A*n.m11+r*n.m12,Z:a*n.m20+A*n.m21+r*n.m22,type:he.XYZ};return this.compareWhitePoints(t,e.mediaWhitePoint)||(o=this.adaptation(o,e.mediaWhitePoint,t)),o};ee.Lab2RGB=function(i,e,t){t=t||0;var a=this.Lab2RGBDevice(i,e);return{R:lt(a[0]*255,t),G:lt(a[1]*255,t),B:lt(a[2]*255,t),type:he.RGB}};ee.Lab2sRGB=function(i){var e=(i.L+16)/116,t=i.a/500+e,a=e-i.b/200;Math.pow(e,3)>.008856?e=Math.pow(e,3):e=(e-16/116)/7.787,Math.pow(t,3)>.008856?t=Math.pow(t,3):t=(t-16/116)/7.787,Math.pow(a,3)>.008856?a=Math.pow(a,3):a=(a-16/116)/7.787,t=.95047*t,a=1.08883*a;var A=t*3.2406+e*-1.5372+a*-.4986,r=t*-.9689+e*1.8758+a*.0415,n=t*.0557+e*-.204+a*1.057;return A>.0031308?A=1.055*Math.pow(A,1/2.4)-.055:A=12.92*A,r>.0031308?r=1.055*Math.pow(r,1/2.4)-.055:r=12.92*r,n>.0031308?n=1.055*Math.pow(n,1/2.4)-.055:n=12.92*n,A=Math.min(255,Math.max(0,Math.round(A*255))),r=Math.min(255,Math.max(0,Math.round(r*255))),n=Math.min(255,Math.max(0,Math.round(n*255))),{R:A,G:r,B:n}};ee.Lab2RGBDevice=function(i,e){var t=.008856451679035631,a=24389/27,A=8,r=(i.L+16)/116,n=.002*i.a+r,o=r-.005*i.b,g=n*n*n,s=o*o*o,h=g>t?g:(116*n-16)/a,l=i.L>A?Math.pow((i.L+16)/116,3):i.L/a,u=s>t?s:(116*o-16)/a,c=i.whitePoint||ee.d50,_={X:h*c.X,Y:l,Z:u*c.Z,type:he.XYZ};this.compareWhitePoints(c,e.mediaWhitePoint)||(_=this.adaptation(_,c,e.mediaWhitePoint));var Q=e.RGBMatrix.matrixInv,I=_.X*Q.m00+_.Y*Q.m01+_.Z*Q.m02,B=_.X*Q.m10+_.Y*Q.m11+_.Z*Q.m12,m=_.X*Q.m20+_.Y*Q.m21+_.Z*Q.m22;return I=I>1?1:I,B=B>1?1:B,m=m>1?1:m,I=I<0?0:I,B=B<0?0:B,m=m<0?0:m,e.RGBMatrix.issRGB?(I=this.sRGBGamma(I),B=this.sRGBGamma(B),m=this.sRGBGamma(m)):(I=this.gamma(I,e.RGBMatrix.gamma),B=this.gamma(B,e.RGBMatrix.gamma),m=this.gamma(m,e.RGBMatrix.gamma)),[I,B,m]};ee.compareWhitePoints=function(i,e,t){return t=t||.001,Math.abs(i.X-e.X)>t||Math.abs(i.Y-e.Y)>t?!1:Math.abs(i.Z-e.Z)<=t};ee.RGBDevice2LabD50=function(i,e){var t,a,A;e.RGBMatrix.issRGB?(t=this.sRGBGammaInv(i[0]),a=this.sRGBGammaInv(i[1]),A=this.sRGBGammaInv(i[2])):(t=this.gammaInv(i[0],e.RGBMatrix.gamma),a=this.gammaInv(i[1],e.RGBMatrix.gamma),A=this.gammaInv(i[2],e.RGBMatrix.gamma));var r=e.RGBMatrix.matrixV4,n={X:t*r.m00+a*r.m01+A*r.m02,Y:t*r.m10+a*r.m11+A*r.m12,Z:t*r.m20+a*r.m21+A*r.m22},o=this.d50;this.compareWhitePoints(o,e.mediaWhitePoint)||(n=this.adaptation(n,e.mediaWhitePoint,o));var g=216/24389,s=24389/27,h=n.X/o.X,l=n.Y,u=n.Z/o.Z,c=h>g?Math.pow(h,1/3):(s*h+16)/116,_=l>g?Math.pow(l,1/3):(s*l+16)/116,Q=u>g?Math.pow(u,1/3):(s*u+16)/116;return{L:116*_-16,a:500*(c-_),b:200*(_-Q),type:he.Lab,whitePoint:o}};ee.RGBf2Lab=function(i,e,t){var a,A,r;e.RGBMatrix.issRGB?(a=this.sRGBGammaInv(i.Rf),A=this.sRGBGammaInv(i.Gf),r=this.sRGBGammaInv(i.Bf)):(a=this.gammaInv(i.Rf,e.RGBMatrix.gamma),A=this.gammaInv(i.Gf,e.RGBMatrix.gamma),r=this.gammaInv(i.Bf,e.RGBMatrix.gamma));var n=e.RGBMatrix.matrixV4,o={X:a*n.m00+A*n.m01+r*n.m02,Y:a*n.m10+A*n.m11+r*n.m12,Z:a*n.m20+A*n.m21+r*n.m22};t?this.compareWhitePoints(t,e.mediaWhitePoint)||(o=this.adaptation(o,e.mediaWhitePoint,t)):t=e.mediaWhitePoint;var g=216/24389,s=24389/27,h=o.X/t.X,l=o.Y,u=o.Z/t.Z,c=h>g?Math.pow(h,1/3):(s*h+16)/116,_=l>g?Math.pow(l,1/3):(s*l+16)/116,Q=u>g?Math.pow(u,1/3):(s*u+16)/116;return{L:116*_-16,a:500*(c-_),b:200*(_-Q),type:he.Lab,whitePoint:t}};ee.gamma=function(i,e){return Math.pow(i,1/e)};ee.gammaInv=function(i,e){return Math.pow(i,e)};ee.sRGBGamma=function(i){return i<=.0031308?i*12.92:1.055*Math.pow(i,1/2.4)-.055};ee.sRGBGammaInv=function(i){return i<=.04045?i/12.92:Math.pow((i+.055)/1.055,2.4)};ee.computeMatrix=function(i){var e={m00:i.RGBMatrix.cRx/i.RGBMatrix.cRy,m01:i.RGBMatrix.cGx/i.RGBMatrix.cGy,m02:i.RGBMatrix.cBx/i.RGBMatrix.cBy,m10:1,m11:1,m12:1,m20:(1-i.RGBMatrix.cRx-i.RGBMatrix.cRy)/i.RGBMatrix.cRy,m21:(1-i.RGBMatrix.cGx-i.RGBMatrix.cGy)/i.RGBMatrix.cGy,m22:(1-i.RGBMatrix.cBx-i.RGBMatrix.cBy)/i.RGBMatrix.cBy},t=this.invertMatrix(e),a=i.mediaWhitePoint.X*t.m00+i.mediaWhitePoint.Y*t.m01+i.mediaWhitePoint.Z*t.m02,A=i.mediaWhitePoint.X*t.m10+i.mediaWhitePoint.Y*t.m11+i.mediaWhitePoint.Z*t.m12,r=i.mediaWhitePoint.X*t.m20+i.mediaWhitePoint.Y*t.m21+i.mediaWhitePoint.Z*t.m22;i.RGBMatrix.matrixV4={m00:a*e.m00,m01:A*e.m01,m02:r*e.m02,m10:a*e.m10,m11:A*e.m11,m12:r*e.m12,m20:a*e.m20,m21:A*e.m21,m22:r*e.m22},i.RGBMatrix.matrixInv=this.invertMatrix(i.RGBMatrix.matrixV4),i.RGBMatrix.XYZMatrix={m00:i.rgb.rXYZ.X,m01:i.rgb.gXYZ.X,m02:i.rgb.bXYZ.X,m10:i.rgb.rXYZ.Y,m11:i.rgb.gXYZ.Y,m12:i.rgb.bXYZ.Y,m20:i.rgb.rXYZ.Z,m21:i.rgb.gXYZ.Z,m22:i.rgb.bXYZ.Z},i.RGBMatrix.XYZMatrixInv=this.invertMatrix(i.RGBMatrix.XYZMatrix)};ee.invertMatrix=function(i){var e=i.m00*(i.m22*i.m11-i.m21*i.m12)-i.m10*(i.m22*i.m01-i.m21*i.m02)+i.m20*(i.m12*i.m01-i.m11*i.m02),t=1/e;return{m00:t*(i.m22*i.m11-i.m21*i.m12),m01:-t*(i.m22*i.m01-i.m21*i.m02),m02:t*(i.m12*i.m01-i.m11*i.m02),m10:-t*(i.m22*i.m10-i.m20*i.m12),m11:t*(i.m22*i.m00-i.m20*i.m02),m12:-t*(i.m12*i.m00-i.m10*i.m02),m20:t*(i.m21*i.m10-i.m20*i.m11),m21:-t*(i.m21*i.m00-i.m20*i.m01),m22:t*(i.m11*i.m00-i.m10*i.m01)}};ee.matrixScaleValues=function(i,e){return{m00:i.m00*e,m01:i.m01*e,m02:i.m02*e,m10:i.m10*e,m11:i.m11*e,m12:i.m12*e,m20:i.m20*e,m21:i.m21*e,m22:i.m22*e}};ee.matrix2Object=function(i){return{m00:i[0][0],m01:i[0][1],m02:i[0][2],m10:i[1][0],m11:i[1][1],m12:i[1][2],m20:i[2][0],m21:i[2][1],m22:i[2][2]}};ee.objectToMatrix=function(i){return[[i.m00,i.m01,i.m02],[i.m10,i.m11,i.m12],[i.m20,i.m21,i.m22]]};ee.multiplyMatrices=function(i,e){return this.matrix2Object(this.multiplyMatricesArray(this.objectToMatrix(i),this.objectToMatrix(e)))};ee.multiplyMatricesArray=function(i,e){let t=[];for(let a=0;a<i.length;a++){t[a]=[];for(let A=0;A<e[0].length;A++){let r=0;for(let n=0;n<i[0].length;n++)r+=i[a][n]*e[n][A];t[a][A]=r}}return t};ee.transpose=function(i){var e=i.m01;i.m01=i.m10,i.m10=e,e=i.m02,i.m02=i.m20,i.m20=e,e=i.m12,i.m12=i.m21,i.m21=e};ee.deltaE1976=function(i,e){var t=i.L-e.L,a=i.a-e.a,A=i.b-e.b;return Math.sqrt(t*t+a*a+A*A)};ee.deltaE1994=function(i,e,t){var a=t===!0?.048:.045,A=t===!0?.014:.015,r=t===!0?2:1,n=1,o=1,g=Math.sqrt(i.a*i.a+i.b*i.b),s=Math.sqrt(e.a*e.a+e.b*e.b),h=i.a-e.a,l=i.b-e.b,u=g-s,c=h*h+l*l-u*u,_=c>0?Math.sqrt(c):0,Q=i.L-e.L,I=1,B=1+a*g,m=1+A*g,y=Q/(r*I),X=u/(n*B),N=_/(o*m);return Math.sqrt(y*y+X*X+N*N)};ee.deltaE2000=function(i,e){var t=1,a=1,A=1,r=.5*(i.L+e.L),n=Math.sqrt(i.a*i.a+i.b*i.b),o=Math.sqrt(e.a*e.a+e.b*e.b),g=.5*(n+o),s=g*g*g*g*g*g*g,h=.5*(1-Math.sqrt(s/(s+6103515625))),l=i.a*(1+h),u=e.a*(1+h),c=Math.sqrt(l*l+i.b*i.b),_=Math.sqrt(u*u+e.b*e.b),Q=.5*(c+_),I=Math.atan2(i.b,l)*180/Math.PI;I<0&&(I+=360);var B=Math.atan2(e.b,u)*180/Math.PI;B<0&&(B+=360);var m=Math.abs(I-B)>180?.5*(I+B+360):.5*(I+B),y=1-.17*Math.cos(Math.PI*(m-30)/180)+.24*Math.cos(Math.PI*(2*m)/180)+.32*Math.cos(Math.PI*(3*m+6)/180)-.2*Math.cos(Math.PI*(4*m-63)/180),X;Math.abs(B-I)<=180?X=B-I:X=B<=I?B-I+360:B-I-360;var N=e.L-i.L,L=_-c,T=2*Math.sqrt(c*_)*Math.sin(Math.PI*(.5*X)/180),D=1+.015*(r-50)*(r-50)/Math.sqrt(20+(r-50)*(r-50)),x=1+.045*Q,F=1+.015*Q*y,q=30*Math.exp(-((m-275)/25)*((m-275)/25)),f=Q*Q*Q*Q*Q*Q*Q,d=Math.sqrt(f/(f+6103515625)),R=-2*d*Math.sin(Math.PI*(2*q)/180);return Math.sqrt(N/(t*D)*(N/(t*D))+L/(a*x)*(L/(a*x))+T/(A*F)*(T/(A*F))+L/(a*x)*(T/(A*F))*R)};ee.deltaECMC=function(i,e,t,a){t===void 0&&(t=2),a===void 0&&(a=1);for(var A=Math.sqrt(i.a*i.a+i.b*i.b),r=Math.sqrt(e.a*e.a+e.b*e.b),n=i.L<16?.511:.040975*i.L/(1+.01765*i.L),o=.0638*A/(1+.0131*A)+.638,g=A<1e-6?0:Math.atan2(i.b,i.a)*180/Math.PI;g<0;)g+=360;for(;g>=360;)g-=360;var s=g>=164&&g<=345?.56+Math.abs(.2*Math.cos(Math.PI*(g+168)/180)):.36+Math.abs(.4*Math.cos(Math.PI*(g+35)/180)),h=A*A*A*A,l=Math.sqrt(h/(h+1900)),u=o*(l*s+1-l),c=i.L-e.L,_=A-r,Q=i.a-e.a,I=i.b-e.b,B=Q*Q+I*I-_*_,m=c/(t*n),y=_/(a*o),X=u;return Math.sqrt(m*m+y*y+B/(X*X))};ee.wavelength2RGB=function(i){var e,t,a,A;i>=380&&i<440?(e=-(i-440)/60,t=0,a=1):i>=440&&i<490?(e=0,t=(i-440)/50,a=1):i>=490&&i<510?(e=0,t=1,a=-(i-510)/20):i>=510&&i<580?(e=(i-510)/70,t=1,a=0):i>=580&&i<645?(e=1,t=-(i-645)/65,a=0):i>=645&&i<781?(e=1,t=0,a=0):(e=0,t=0,a=0),i>=380&&i<420?A=.3+.7*(i-380)/40:i>=420&&i<701?A=1:i>=701&&i<781?A=.3+.7*(780-i)/80:A=0;var r=.8,n=255;return{type:he.RGB,R:e===0?0:Math.round(n*Math.pow(e*A,r)),G:t===0?0:Math.round(n*Math.pow(t*A,r)),B:a===0?0:Math.round(n*Math.pow(a*A,r))}};var Xa=Object.freeze({pcsVersion:2,labNumerator:65280,lMul:65280/100,abMul:65280/255,lInvMul:100/65280,abInvMul:255/65280}),Ha=Object.freeze({pcsVersion:4,labNumerator:65535,lMul:65535/100,abMul:65535/255,lInvMul:100/65535,abInvMul:255/65535});ee.labEncoding={v2:Xa,v4:Ha};function Ka(i){if(typeof i=="string"){if(i==="v2")return Xa;if(i==="v4")return Ha;throw new Error('Unknown Lab encoding: "'+i+'". Use "v2", "v4", or an encoding object.')}return i}ee.lab2Int16=function(i,e,t,a){var A=Ka(a);return[Math.max(0,Math.min(65535,Math.round(i*A.lMul))),Math.max(0,Math.min(65535,Math.round((e+128)*A.abMul))),Math.max(0,Math.min(65535,Math.round((t+128)*A.abMul)))]};ee.int162Lab=function(i,e,t,a){var A=Ka(a);return{type:he.Lab,L:i*A.lInvMul,a:e*A.abInvMul-128,b:t*A.abInvMul-128,whitePoint:ee.d50}};Oa.exports=ee});var Wa=ae((Fh,Za)=>{Za.exports={XYZNumber:function(i,e){var t=this.s15Fixed16Number(this.uint32(i,e)),a=this.s15Fixed16Number(this.uint32(i,e+4)),A=this.s15Fixed16Number(this.uint32(i,e+8));return{X:t,Y:a,Z:A}},chars:function(i,e,t){for(var a="",A=0;A<t;A++)a+=String.fromCharCode(i[e]),e++;return a},unicodeChars:function(i,e,t){for(var a="",A=0;A<t;A++)a+=String.fromCharCode((i[e]<<8)+i[e+1]),e+=2;return a},array:function(i,e,t){for(var a=[],A=0;A<t;A++)a.push(i[e]),e++;return a},uInt8Array:function(i,e,t){return new Uint8Array(i.buffer.slice(e,e+t))},uInt16Array:function(i,e,t){for(var a=t*2,A=new Uint8Array(i.buffer.slice(e,e+a)),r=0;r<a;r+=2){var n=A[r];A[r]=A[r+1],A[r+1]=n}return new Uint16Array(A.buffer)},uint32:function(i,e){return i[e+3]+(i[e+2]<<8)+(i[e+1]<<16)+(i[e]<<24)},uint16:function(i,e){return i[e+1]+(i[e]<<8)},u8Fixed8Number:function(i,e){return i[e]+i[e+1]/256},s15Fixed16Number:function(i){return i>2147483648?(4294967296-i)/-65536:i/65536},float32:function(i,e){return new DataView(i.buffer).getFloat32(e)},float64:function(i,e){return new DataView(i.buffer).getFloat64(e)},s15Array:function(i,e,t){for(var a=[],A=8;A<t;A+=4)a.push(this.s15Fixed16Number(this.uint32(i,e+A)));return{sig:this.chars(i,e,4),values:a}},XYZType:function(i,e){return this.XYZNumber(i,e+8)},text:function(i,e){var t=this.chars(i,e,4);switch(t){case"desc":return this._textDescriptionType(i,e);case"text":return this._textType(i,e);case"mluc":return this._multiLocalizedUnicodeText(i,e);default:return console.warn('decodeICC: unknown text tag type "'+t+'" at offset '+e),{sig:t,text:"<Unknown Text Type>"}}},_multiLocalizedUnicodeText:function(i,e){for(var t=this.uint32(i,e+8),a=this.uint32(i,e+12),A=[],r=e+16,n="",o=0;o<t;o++){var g=this.chars(i,r,2),s=this.uint32(i,r+4)/2,h=this.uint32(i,r+8),l=this.unicodeChars(i,e+h,s);g==="en"&&n===""&&(n=l),A.push({languageCode:g,countryCode:this.chars(i,r+2,2),text:l}),r+=a}return n===""&&(n=A[0].text),{sig:this.chars(i,e,4),text:n,languages:A}},_textType:function(i,e){return{sig:this.chars(i,e,4),text:this.nts(i,e+8)}},_textDescriptionType:function(i,e){var t=this.uint32(i,e+8);return{sig:this.chars(i,e,4),text:this.nts(i,e+12),length:t}},nts:function(i,e,t){t=t||1024;for(var a="",A=0;A<t;A++){if(i[e]===0)return a;a+=String.fromCharCode(i[e]),e++}return a},matrixV2:function(i,e){for(var t=[],a=0;a<9;a++)t[a]=this.s15Fixed16Number(this.uint32(i,e)),e+=4;return t},matrixV4:function(i,e){for(var t=[],a=0;a<12;a++)t[a]=this.s15Fixed16Number(this.uint32(i,e)),e+=4;return t},viewingConditions:function(i,e){return{sig:this.chars(i,e,4),illuminant:this.XYZNumber(i,e+8),surround:this.XYZNumber(i,e+20),measurement:this.illuminant2Text(this.uint32(i,e+32))}},measurement:function(i,e){return{sig:this.chars(i,e,4),observer:this.observer2Text(this.uint32(i,e+8)),tristimulus:this.XYZNumber(i,e+12),geometry:this.geometry2Text(this.uint32(i,e+24)),flare:this.flare2Text(this.uint32(i,e+28)),illuminant:this.illuminant2Text(this.uint32(i,e+32))}},observer2Text:function(i){switch(i){case 1:return"CIE 1931 standard colorimetric observer";case 2:return"CIE 1964 standard colorimetric observer";default:return"Unknown"}},geometry2Text:function(i){switch(i){case 1:return"0\xB0:45\xB0 or 45\xB0:0\xB0";case 2:return"0\xB0:d or d:0\xB0";default:return"Unknown"}},flare2Text:function(i){return i===0?"0 (0 %)":"1,0 (or 100 %)"},illuminant2Text:function(i){var e=["Unknown","D50","D65","D93","F2","D55","A","Equi-Power (E)","F8"];return e[i]},curves:function(i,e,t,a){for(var A=[],r=e,n=0;n<t;n++){var o=this.curve(i,r,a);A.push(o);var g=o.byteLength;if(g===!1)break;g%4!==0&&(g+=4-g%4),r+=g}return A},inverseCurve:function(i,e){for(var t=1/(e-1),a=[],A=0,r=0,n=i.length-1,o,g,s,h,l=i[0]<i[n],u=0;u<e;u++){var c=u*t,_=I(c,i);if(_>=0)if(o=i[_],g=i[_+1],s=_/n,h=(_+1)/n,o===g){a.push(l?h:s);continue}else A=(h-s)/(g-o),r=h-A*g;var Q=Math.min(1,Math.max(0,A*c+r));a.push(Q)}return a;function I(B,m){if(m.length<=1)return-1;var y;if(m[0]<m[m.length-1])for(y=0;y<m.length-2;y++){if(B>=m[y]&&B<=m[y+1])return y;if(m[y+1]<m[y]&&B>=m[y+1]&&B<=m[y])return y}else for(y=0;y<m.length-2;y++)if(m[y]<=m[y+1]){if(B>=m[y]&&B<=m[y+1])return y}else if(m[y+1]<m[y]&&B>=m[y+1]&&B<=m[y])return y;return-1}},curve:function(i,e,t,a){var A=this.chars(i,e,4),r=12,n={use:!1,count:0,data:!1,dataf:[],gamma:0,inverted:t,passThrough:!1,curveFn:!1,params:!1,byteLength:!1};switch(A){case"curv":if(n.count=this.uint32(i,e+8),n.byteLength=r+n.count*2,n.count===0)n.gamma=1,n.passThrough=!0;else if(n.count===1)n.gamma=this.u8Fixed8Number(i,e+12);else{for(n.use=!0,n.data=this.uInt16Array(i,e+12,n.count),n.dataf=new Float64Array(n.count),g=0;g<n.data.length;g++)n.dataf[g]=n.data[g]/65535;if(t&&(a=a||4096,n.dataf=this.inverseCurve(n.dataf,a),n.count=n.dataf.length),n.count>3){var o=n.data[Math.floor(n.count/2)];n.gamma=0-Math.log(o/65535)/.69315}n.count===2&&n.data[0]===0&&n.data[1]===65535&&(n.passThrough=!0)}break;case"para":n.use=!0;var g,s=this.uint16(i,e+8),h=[1,3,4,5,7],l=h[s];if(l===void 0){console.warn("decodeICC: unknown parametricCurveType function type "+s+" at offset "+e);break}for(n.byteLength=r+l*4,n.params=[],g=0;g<l;g++){var u=e+r+g*4;n.params.push(this.s15Fixed16Number(this.uint32(i,u)))}switch(s){case 0:n.gamma=n.params[0],n.gamma===1&&(n.passThrough=!0);break;case 1:t?n.curveFn=function(c,_){return(Math.pow(_,1/c[0])-c[2])/c[1]}:n.curveFn=function(c,_){var Q=-c[2]/c[1];if(_>=Q){var I=c[1]*_+c[2];return I>0?Math.pow(I,c[0]):0}return 0};break;case 2:t?n.curveFn=function(c,_){var Q=c[1]*c[4]+c[2],I=0;return Q>=0&&(I=Math.pow(Q,c[0])),_>=I?(Math.pow(_,1/c[0])-c[2])/c[1]:_/c[3]}:n.curveFn=function(c,_){if(_>=c[4]){var Q=c[1]*_+c[2];return Q>0?Math.pow(Q,c[0]):0}return c[3]*_};break;case 3:t?n.curveFn=function(c,_){var Q=c[3]*c[4];return _>=Q?_<0?0:(Math.pow(_,1/c[0])-c[2])/c[1]:_/c[3]}:n.curveFn=function(c,_){if(_>=c[4]){var Q=c[1]*_+c[2];return Q>0?Math.pow(Q,c[0]):0}return c[3]*_};break;case 4:t?n.curveFn=function(c,_){var Q=c[3]*c[4]+c[6];if(_>=Q){var I=_-c[5];return I<0||c[0]<1e-4||c[1]<1e-4?0:(Math.pow(I,1/c[0])-c[2])/c[1]}else return c[3]<1e-4?0:(_-c[6])/c[3]}:n.curveFn=function(c,_){if(_>=c[4]){var Q=c[1]*_+c[2];return Q>0?Math.pow(Q,c[0])+c[5]:c[5]}return _*c[3]+c[6]};break;default:throw"parametricCurveType function type "+s+" not implemented"}break;default:throw"Unknown CURVE type"+A}return n},lut:function(i,e){var t=this.chars(i,e,4),a={type:t},A,r,n=[],o,g,s,h,l,u,c,_;switch(t){case"mft2":for(a.precision=16,a.inputScale=1,a.outputScale=1/65535,a.inputChannels=i[e+8],a.outputChannels=i[e+9],A=i[e+10],r=0;r<a.inputChannels;r++)n.push(A);a.gridPoints=n,a.matrix=this.matrixV2(i,e+12),a.inputTableEntries=this.uint16(i,e+48),a.outputTableEntries=this.uint16(i,e+50);var Q=e+52;for(u=a.inputTableEntries*a.inputChannels,a.inputCurve={channels:a.inputChannels,entries:this.uint16(i,e+48),table:this.uInt16Array(i,Q,u),tablef:new Float64Array(u),outputScale:1/65535},Q+=u*2,r=0;r<a.inputCurve.table.length;r++)a.inputCurve.tablef[r]=a.inputCurve.table[r]/65535;for(_=Math.pow(a.gridPoints[0],a.inputChannels)*a.outputChannels,a.CLUT=this.uInt16Array(i,Q,_),Q+=_*2,c=a.outputTableEntries*a.outputChannels,a.outputCurve={channels:a.outputChannels,entries:this.uint16(i,e+50),table:this.uInt16Array(i,Q,c),tablef:new Float64Array(c),outputScale:1/65535},r=0;r<a.outputCurve.table.length;r++)a.outputCurve.tablef[r]=a.outputCurve.table[r]/65535;break;case"mft1":for(a.precision=8,a.inputScale=1,a.outputScale=1/255,a.inputChannels=i[e+8],a.outputChannels=i[e+9],A=i[e+10],r=0;r<a.inputChannels;r++)n.push(A);for(a.gridPoints=n,a.matrix=this.matrixV2(i,e+12),a.inputTableEntries=256,a.outputTableEntries=256,u=a.inputTableEntries*a.inputChannels,a.inputCurve={channels:a.inputChannels,entries:256,table:this.uInt8Array(i,e+48,u),tablef:new Float64Array(u),outputScale:1/255},r=0;r<a.inputCurve.table.length;r++)a.inputCurve.tablef[r]=a.inputCurve.table[r]/255;for(_=Math.pow(a.gridPoints[0],a.inputChannels)*a.outputChannels,a.CLUT=this.uInt8Array(i,e+48+u,_),c=a.outputTableEntries*a.outputChannels,a.outputCurve={channels:a.outputChannels,entries:256,table:this.uInt8Array(i,e+48+u+_,c),tablef:new Float64Array(c),outputScale:1/255},r=0;r<a.outputCurve.table.length;r++)a.outputCurve.tablef[r]=a.outputCurve.table[r]/255;break;case"mAB ":a.inputChannels=i[e+8],a.outputChannels=i[e+9],o=this.uint32(i,e+12),g=this.uint32(i,e+16),s=this.uint32(i,e+20),h=this.uint32(i,e+24),l=this.uint32(i,e+28),a.bCurves=o===0?!1:this.curves(i,e+o,a.outputChannels,!1),a.matrix=g===0?!1:this.matrixV4(i,e+g),h===0?a.CLUT=!1:this.CLUT4(a,i,e+h,a.inputChannels,a.outputChannels),a.mCurves=s===0?!1:this.curves(i,e+s,a.outputChannels,!1),a.aCurves=l===0?!1:this.curves(i,e+l,a.inputChannels,!1);break;case"mBA ":a.inputChannels=i[e+8],a.outputChannels=i[e+9],o=this.uint32(i,e+12),g=this.uint32(i,e+16),s=this.uint32(i,e+20),h=this.uint32(i,e+24),l=this.uint32(i,e+28),a.bCurves=o===0?!1:this.curves(i,e+o,a.inputChannels,!1),a.matrix=g===0?!1:this.matrixV4(i,e+g),h===0?a.CLUT=!1:this.CLUT4(a,i,e+h,a.inputChannels,a.outputChannels),a.mCurves=s===0?!1:this.curves(i,e+s,a.inputChannels,!1),a.aCurves=l===0?!1:this.curves(i,e+l,a.outputChannels,!1);break;default:console.warn('decodeICC: unsupported LUT tag type "'+t+'" at offset '+e),a.invalid=!0,a.errorReason='unsupported LUT type "'+t+'"',a.inputChannels=3,a.outputChannels=3,a.precision=8,a.inputScale=1,a.outputScale=1/255,a.gridPoints=[2,2,2],a.CLUT=new Uint8Array(24),a.inputCurve=!1,a.outputCurve=!1,a.matrix=!1,a.bCurves=!1,a.mCurves=!1,a.aCurves=!1;break}return a.gridPoints?(a.g1=a.gridPoints[0],a.g2=a.g1*a.gridPoints[1],a.g3=a.g2*a.gridPoints[2],a.g4=a.g3*a.gridPoints[3],a.g5=a.g4*a.gridPoints[4],a.go0=a.outputChannels,a.go1=a.g1*a.outputChannels,a.go2=a.g2*a.outputChannels,a.go3=a.g3*a.outputChannels,a.go4=a.g4*a.outputChannels,a.go5=a.g5*a.outputChannels):(a.gridPoints=[],a.g1=a.g2=a.g3=a.g4=a.g5=0,a.go0=a.go1=a.go2=a.go3=a.go4=a.go5=0),a},CLUT4:function(i,e,t,a,A){for(var r=[],n=e[t+16],o=0;o<a;o++)r.push(e[t+o]);var g=r[0];for(o=1;o<a;o++)g*=r[o];n===1?(i.CLUT=this.uInt8Array(e,t+20,g*A),i.inputScale=1,i.outputScale=1/255):(i.CLUT=this.uInt16Array(e,t+20,g*A),i.inputScale=1,i.outputScale=1/65535),i.precision=n*8,i.gridPoints=r},multiProcessElement:function(i,e){for(var t=[],a=this.uint16(i,e+8),A=this.uint16(i,e+10),r=this.uint32(i,e+12),n=[],o=0;o<r;o++)n.push({offset:this.uint32(i,e+16+o*4),size:this.uint32(i,e+16+o*4+4)});for(o=0;o<r;o++){var g=e+n[o].offset,s=this.chars(i,g,4);switch(s){case"cvst":t.push({sig:s});break;case"matf":t.push({sig:s});break;case"clut":t.push({sig:s});break;case"bACS":case"eACS":break;default:console.warn('decodeICC: unknown MultiProcess element "'+s+'" at offset '+g)}}return{inputChannels:a,outputChannels:A,elements:t}}}});var e0=ae((kh,$a)=>{"use strict";var Qt={X:.9642,Y:1,Z:.8249},Nr={1:"GRAY",3:"RGB ",4:"CMYK",2:"2CLR",5:"5CLR",6:"6CLR",7:"7CLR",8:"8CLR",9:"9CLR",10:"ACLR",11:"BCLR",12:"CCLR",13:"DCLR",14:"ECLR",15:"FCLR"};function Ne(i,e){i.push(e&255)}function ve(i,e){i.push(e>>>8&255,e&255)}function pe(i,e){i.push(e>>>24&255,e>>>16&255,e>>>8&255,e&255)}function Pe(i,e){pe(i,Math.round(e*65536))}function Va(i,e){ve(i,Math.round(e*256))}function De(i,e,t){e=String(e??"");for(var a=0;a<t;a++)i.push(a<e.length?e.charCodeAt(a)&255:0)}function Me(i,e){for(var t=0;t<e;t++)i.push(0)}function ja(i){for(;i.length%4;)i.push(0)}function Pr(i){var e=[];return De(e,"XYZ ",4),Me(e,4),Pe(e,i.X),Pe(e,i.Y),Pe(e,i.Z),e}function Jr(i){var e=[];if(De(e,"curv",4),Me(e,4),!i||i.passThrough)return pe(e,0),e;if(i.data&&i.count>1){pe(e,i.count);for(var t=0;t<i.count;t++)ve(e,i.data[t]);return e}if(i.params&&typeof i.curveFn=="function"){var a=1024;pe(e,a);for(var A=0;A<a;A++){var r=i.curveFn(A/(a-1));ve(e,Math.max(0,Math.min(65535,Math.round(r*65535))))}return e}return pe(e,1),Va(e,Math.max(0,Math.min(255.99,i.gamma||1))),e}function Xr(i){var e=[],t=String(i??"");return De(e,"desc",4),Me(e,4),pe(e,t.length+1),De(e,t,t.length),Ne(e,0),pe(e,0),pe(e,0),ve(e,0),Ne(e,0),Me(e,67),e}function Hr(i){var e=[],t=String(i??"");return De(e,"text",4),Me(e,4),De(e,t,t.length),Ne(e,0),e}function za(i){var e=[];pe(e,0),Me(e,4),pe(e,37748736),De(e,i.profileClass||"mntr",4),De(e,i.colorSpace,4),De(e,i.pcs||"XYZ ",4);var t=i.date||new Date;return ve(e,t.getUTCFullYear()),ve(e,t.getUTCMonth()+1),ve(e,t.getUTCDate()),ve(e,t.getUTCHours()),ve(e,t.getUTCMinutes()),ve(e,t.getUTCSeconds()),De(e,"acsp",4),Me(e,4),Me(e,4),Me(e,4),Me(e,4),Me(e,8),pe(e,i.intent||0),Pe(e,Qt.X),Pe(e,Qt.Y),Pe(e,Qt.Z),Me(e,4),Me(e,16),Me(e,28),e}function Kr(i,e){var t=za(i),a,A,r=[],n=function(Q){for(var I=0;I<r.length;I++)if(r[I][0]===Q)return r[I][1];return-1},o=4+e.length*12,g=t.length+o;for(pe(t,e.length),a=0;a<e.length;a++){var s=e[a][1],h=n(s),l=h!==-1?h:g;if(De(t,e[a][0],4),pe(t,l),pe(t,s.length),h===-1)for(r.push([s,g]),g+=s.length;g%4;)g++}for(A=0;A<r.length;A++){for(var s=r[A][0],u=0;u<s.length;u++)t.push(s[u]);ja(t)}var c=new Uint8Array(t),_=c.length;return c[0]=_>>>24&255,c[1]=_>>>16&255,c[2]=_>>>8&255,c[3]=_&255,c}function Or(i){var e=[],t,a=i.inputChannels,A=i.outputChannels,r=i.gridPoints;if(!(a>=1&&a<=15))throw new Error("encodeICC.lut16Type: inputChannels must be 1-15, got "+a);if(!(A>=1&&A<=15))throw new Error("encodeICC.lut16Type: outputChannels must be 1-15, got "+A);if(!(r>=2&&r<=255))throw new Error("encodeICC.lut16Type: gridPoints must be 2-255, got "+r);var n=Math.pow(r,a)*A;if(n!==i.CLUT.length)throw new Error("encodeICC.lut16Type: CLUT is "+i.CLUT.length+" cells, expected grid^inputChannels * outputChannels = "+r+"^"+a+" * "+A+" = "+n);var o=i.inputEntries||2,g=i.outputEntries||2;De(e,"mft2",4),Me(e,4),Ne(e,a),Ne(e,A),Ne(e,r),Ne(e,0);var s=i.matrix||[1,0,0,0,1,0,0,0,1];for(t=0;t<9;t++)Pe(e,s[t]);if(ve(e,o),ve(e,g),i.inputCurve)for(t=0;t<i.inputCurve.length;t++)ve(e,i.inputCurve[t]);else for(var h=0;h<a;h++)for(var l=0;l<o;l++)ve(e,Math.round(l/(o-1)*65535));for(t=0;t<i.CLUT.length;t++)ve(e,i.CLUT[t]);if(i.outputCurve)for(t=0;t<i.outputCurve.length;t++)ve(e,i.outputCurve[t]);else for(var u=0;u<A;u++)for(var c=0;c<g;c++)ve(e,Math.round(c/(g-1)*65535));return e}function Zr(i,e,t){var a=65280,A=function(r){return Math.max(0,Math.min(65535,Math.round(r*a)))};return[A(i/100),A((e+128)/255),A((t+128)/255)]}$a.exports={D50:Qt,COLOUR_SPACE_SIG:Nr,u8:Ne,u16:ve,u32:pe,s15Fixed16:Pe,u8Fixed8:Va,chars:De,zeros:Me,pad4:ja,XYZType:Pr,curveType:Jr,lut16Type:Or,labToU16v2:Zr,textDescriptionType:Xr,textType:Hr,header:za,assemble:Kr}});var Mt=ae((qh,a0)=>{"use strict";var Ae=je(),t0=Ye(),we=t0.eIntent,de=t0.eProfileType,re=Wa(),Ie=e0(),Yt="Synthetic test profile generated by jsColorEngine. Not a characterisation of any real device. Not for production colour management.",Pt=class i{constructor(e,t){this.loaded=!1,this.loadError=!1,this.type=0,this.name="",this.header={},this.intent=0,this.tags=[],this.description="",this.tagDescription="",this.copyright="",this.technology="",this.viewingConditions="",this.characterizationTarget="",this.mediaWhitePoint=null,this.PCSEncode=2,this.PCSDecode=2,this.PCS8BitScale=0,this.version=0,this.pcs=!1,this.blackPoint=null,this.luminance=null,this.chromaticAdaptation=null,this.virutalProfileUsesD50AdaptedPrimaries=!0,this.virtualProfileUsesD50AdaptedPrimaries=!0,this.unsuportedTags=[],this.unsupportedTags=this.unsuportedTags,this.Gray={kTRC:null,inv_kTRC:null},this.rgb={rTRC:null,rTRCInv:null,gTRC:null,gTRCInv:null,bTRC:null,bTRCInv:null,rXYZ:null,gXYZ:null,bXYZ:null},this.RGBMatrix={gamma:0,cRx:0,cRy:0,cGx:0,cGy:0,cBx:0,cBy:0},this.PCSWhitepoint=Ae.d50,this.outputChannels=0,this.lastError={err:0,text:"No Error"},this.binaryHash=!1,this.virtualName=!1,this.sizeBytes=0,this.B2D=[null,null,null,null],this.D2B=[null,null,null,null],this.A2B=[null,null,null],this.B2A=[null,null,null],this.absoluteAdaptationIn={Xa:1,Ya:1,Za:1},this.absoluteAdaptationOut={Xa:1,Ya:1,Za:1},e&&this.load(e,t)}loadPromise(e){return new Promise((t,a)=>{this.load(e,A=>{A?t(A):a(new Error("Profile failed to load"))})})}load(e,t){this.loaded=!1,this.loadError=!1,Object.prototype.toString.call(e)==="[object Uint8Array]"?this.loadBinary(e,t):e.substring(0,1)==="*"?this.loadVirtualProfile(e,t):e.substring(0,5).toLowerCase()==="file:"?this.loadFile(e,t):e.substring(0,5).toLowerCase()==="data:"?this.loadBase64(e,t):this.loadURL(e,t)}loadBinary(e,t,a){this.loaded=this.readICCProfile(e,a),this.loadError=!this.loaded,this.loaded&&e&&e.length&&(this.binaryHash=zr(e,this.sizeBytes)),typeof t=="function"&&t(this)}loadFile(e,t){e.substring(0,5).toLowerCase()==="file:"&&(e=e.substring(5,e.length));var a=this.readBinaryFile(e);a!==!1?(this.loaded=this.readICCProfile(a),this.loadError=!this.loaded):(this.loadError=!0,this.loaded=!1),typeof t=="function"&&t(this)}loadBase64(e,t){e.substring(0,5).toLowerCase()==="data:"&&(e=e.substring(5,e.length));var a=Nt(e);this.loaded=this.readICCProfile(a),this.loadError=!this.loaded,typeof t=="function"&&t(this)}loadURL(e,t){var a=this;St()?Wr(e,A):Vr(e,A);function A(r,n){a.lastError={err:n===""?0:-1,text:n},r?(a.loaded=a.readICCProfile(r),a.loadError=!a.loaded):(a.loaded=!1,a.loadError=!0),typeof t=="function"&&t(a)}}loadVirtualProfile(e,t){this.virtualName=e.substring(0,1)==="*"?e:"*"+e,e.substring(0,1)==="*"&&(e=e.substring(1,e.length)),this.loaded=this.createVirtualProfile(e),this.loadError=!this.loaded,typeof t=="function"&&t(this)}readBinaryFile(e){let t;if(jr()&&window.cep&&window.cep.fs&&window.cep.fs.readFile){let a=window.cep.fs.readFile(e,cep.encoding.Base64);return a.err===0?Nt(a.data):(this.lastError={err:a.err,text:a.errorString=["NO_ERROR","ERR_UNKNOWN","ERR_INVALID_PARAMS","ERR_NOT_FOUND","ERR_CANT_READ","ERR_UNSUPPORTED_ENCODING","ERR_CANT_WRITE","ERR_OUT_OF_SPACE","ERR_NOT_FILE","ERR_NOT_DIRECTORY","ERR_FILE_EXISTS","UNABLE TO PARSE FILE","ERR_DIRECTORY_NOT_FOUND"][a.err]||"UNKNOWN ERROR "+a.err},!1)}if(St()){let a=Ut("fs");try{t=a.readFileSync(e,{encoding:"base64"})}catch(A){return this.lastError={err:A,text:A.message},!1}return Nt(t)}throw new Error("readBinaryFile not supported in this environment")}createVirtualProfile(e){this.virtualProfileUsesD50AdaptedPrimaries!==this.virutalProfileUsesD50AdaptedPrimaries&&(this.virutalProfileUsesD50AdaptedPrimaries=this.virtualProfileUsesD50AdaptedPrimaries);var t,a,A,r;switch(this.outputChannels=3,this.version=4,this.pcs="XYZ",this.colorSpace="RGB",this.header={profileSize:0,cmmType:0,version:4,pClass:"mntr",space:"rgb",pcs:"XYZ",date:new Date,signature:"",platform:"",flags:0,attributes:0,intent:3,PCSilluminant:Ae.d50},String(e).replace(" ","").toLowerCase()){case"labd50":case"lab":return this.type=de.Lab,this.name=this.description="Lab D50 Profile",this.PCSWhitepoint=Ae.d50,this.mediaWhitePoint=Ae.d50,this.pcs="LAB",this.colorSpace="LAB",this.header={profileSize:0,cmmType:0,version:4,pClass:"abst",space:"Lab",pcs:"LAB",date:new Date,signature:"",platform:"",flags:0,attributes:0,intent:3,PCSilluminant:Ae.d50},!0;case"labd65":return this.type=de.Lab,this.name=this.description="Lab D65 Profile",this.PCSWhitepoint=Ae.d50,this.mediaWhitePoint=Ae.d65,this.pcs="LAB",this.colorSpace="LAB",this.header={profileSize:0,cmmType:0,version:4,pClass:"abst",space:"Lab",pcs:"LAB",date:new Date,signature:"",platform:"",flags:0,attributes:0,intent:3,PCSilluminant:Ae.d50},!0;case"srgb":return this.virutalProfileUsesD50AdaptedPrimaries?(t=Ae.xyY(.648431,.330856,.222491),a=Ae.xyY(.321152,.597871,.716888),A=Ae.xyY(.155886,.066044,.060621),r=Ae.d50):(t=Ae.xyY(.64,.33,.212656),a=Ae.xyY(.3,.6,.715158),A=Ae.xyY(.15,.06,.072186),r=Ae.d65),this.name="sRGB",this.description="RGB is a standard RGB color space created cooperatively by HP and Microsoft in 1996 for use on monitors, printers and the Internet<br><br>Note that sRGB's small Gamut is not suitable for graphic production.<br><br>Encompasses roughly 35% of the visible colors specified by the Lab color space",this.mediaWhitePoint=r,n(this,2.2,t,a,A,!0),!0;case"adobe1998":case"adobe":case"adobergb":case"adobe1998rgb":return this.virutalProfileUsesD50AdaptedPrimaries?(t=Ae.xyY(.648431,.330856,.311114),a=Ae.xyY(.230154,.701572,.625662),A=Ae.xyY(.155886,.066044,.063224),r=Ae.d50):(t=Ae.xyY(.64,.33,.297361),a=Ae.xyY(.21,.71,.627355),A=Ae.xyY(.15,.06,.075285),r=Ae.d65),this.name="Adobe RGB (1998)",this.description="Developed by Adobe Systems, Inc. in 1998. It was designed to encompass most of the colors achievable on CMYK color printers, but by using RGB primary colors on a device such as a computer display. The Adobe RGB (1998) improves upon the gamut of the sRGB color space, primarily in cyan-green hues<br>Encompasses roughly 50% of the visible colors specified by the Lab color space",this.mediaWhitePoint=r,n(this,2.2,t,a,A,!1),!0;case"apple":case"applergb":return this.virutalProfileUsesD50AdaptedPrimaries?(t=Ae.xyY(.634756,.340596,.255166),a=Ae.xyY(.301775,.597511,.672578),A=Ae.xyY(.162897,.079001,.072256),r=Ae.d50):(t=Ae.xyY(.625,.34,.244634),a=Ae.xyY(.28,.595,.672034),A=Ae.xyY(.155,.07,.083332),r=Ae.d65),this.name="Apple RGB",this.description='Apple RGB is based on the classic Apple 13" RGB monitor. Because of its popularity and similar Trinitronbased monitors that followed, many key publishing applications, including Adobe Photoshop and Illustrator, used it as the default RGB space in the past.<br>Encompasses roughly 33.5% of the visible colors specified by the Lab color space',this.mediaWhitePoint=r,n(this,2.2,t,a,A,!1),!0;case"colormatchrgb":case"colormatch":return t=Ae.xyY(.63,.34,.274884),a=Ae.xyY(.295,.605,.658132),A=Ae.xyY(.15,.075,.066985),this.name="ColorMatch RGB",this.description="An RGB profile with a D50 whitepoint used for prepress<br>Encompasses roughly 35.2% of the visible colors specified by the Lab color space",this.mediaWhitePoint=Ae.d50,n(this,1.8,t,a,A,!1),!0;case"prophoto":case"prophotorgb":return t=Ae.xyY(.7347,.2653,.28804),a=Ae.xyY(.1596,.8404,.711874),A=Ae.xyY(.0366,1e-4,86e-6),this.name="ProPhoto RGB",this.description="The ProPhoto RGB color space, also known as ROMM RGB (Reference Output Medium Metric), is an output referred RGB color space developed by Kodak. It offers an especially large gamut designed for use with photographic output in mind.<br>Encompasses roughly 91.2% of the visible colors specified by the Lab color space",this.mediaWhitePoint=Ae.d50,n(this,1.8,t,a,A,!1),!0;default:return this.lastError={err:100,text:"Unsupported Virtual Profile ["+e+"]"},!1}function n(o,g,s,h,l,u){o.type=de.RGBMatrix,o.PCSWhitepoint=Ae.d50,o.rgb.rXYZ=Ae.xyY2XYZ(s),o.rgb.gXYZ=Ae.xyY2XYZ(h),o.rgb.bXYZ=Ae.xyY2XYZ(l),o.RGBMatrix={gamma:g,issRGB:u===!0,cRx:s.x,cRy:s.y,cGx:h.x,cGy:h.y,cBx:l.x,cBy:l.y};var c={m00:o.RGBMatrix.cRx/o.RGBMatrix.cRy,m01:o.RGBMatrix.cGx/o.RGBMatrix.cGy,m02:o.RGBMatrix.cBx/o.RGBMatrix.cBy,m10:1,m11:1,m12:1,m20:(1-o.RGBMatrix.cRx-o.RGBMatrix.cRy)/o.RGBMatrix.cRy,m21:(1-o.RGBMatrix.cGx-o.RGBMatrix.cGy)/o.RGBMatrix.cGy,m22:(1-o.RGBMatrix.cBx-o.RGBMatrix.cBy)/o.RGBMatrix.cBy},_=Ae.invertMatrix(c),Q=o.mediaWhitePoint.X*_.m00+o.mediaWhitePoint.Y*_.m01+o.mediaWhitePoint.Z*_.m02,I=o.mediaWhitePoint.X*_.m10+o.mediaWhitePoint.Y*_.m11+o.mediaWhitePoint.Z*_.m12,B=o.mediaWhitePoint.X*_.m20+o.mediaWhitePoint.Y*_.m21+o.mediaWhitePoint.Z*_.m22;o.RGBMatrix.matrixV4={m00:Q*c.m00,m01:I*c.m01,m02:B*c.m02,m10:Q*c.m10,m11:I*c.m11,m12:B*c.m12,m20:Q*c.m20,m21:I*c.m21,m22:B*c.m22},o.RGBMatrix.matrixInv=Ae.invertMatrix(o.RGBMatrix.matrixV4),o.RGBMatrix.XYZMatrix={m00:o.rgb.rXYZ.X,m01:o.rgb.gXYZ.X,m02:o.rgb.bXYZ.X,m10:o.rgb.rXYZ.Y,m11:o.rgb.gXYZ.Y,m12:o.rgb.bXYZ.Y,m20:o.rgb.rXYZ.Z,m21:o.rgb.gXYZ.Z,m22:o.rgb.bXYZ.Z},o.RGBMatrix.XYZMatrixInv=Ae.invertMatrix(o.RGBMatrix.XYZMatrix)}}readICCProfile(e,t){St()&&e instanceof Buffer&&(e=new Uint8Array(e));var a=this,A=0;if(t){var r=[73,67,67,95,80,82,79,70,73,76,69];if(A=s(e,0,r),A===-1)return!1}var n=[97,99,115,112],o=s(e,A,n);if(o===-1)return!1;var g=this.decodeFile(e);if(g===!0)return this.PCSWhitepoint=Ae.getWhitePointFromIlluminant(this.header.PCSilluminant),this.mediaWhitePoint&&(this.absoluteAdaptationIn={Xa:this.mediaWhitePoint.X/this.header.PCSilluminant.X,Ya:this.mediaWhitePoint.Y/this.header.PCSilluminant.Y,Za:this.mediaWhitePoint.Z/this.header.PCSilluminant.Z},this.absoluteAdaptationOut={Xa:this.header.PCSilluminant.X/this.mediaWhitePoint.X,Ya:this.header.PCSilluminant.Y/this.mediaWhitePoint.Y,Za:this.header.PCSilluminant.Z/this.mediaWhitePoint.Z}),a.header.space==="RGB "&&a.A2B[we.relative]===null&&a.B2A[we.relative]===null&&a.rgb.gXYZ&&a.rgb.rXYZ&&a.rgb.bXYZ&&a.rgb.rTRC&&a.rgb.gTRC&&a.rgb.bTRC&&this.createRGBMatrix(),this.loaded=!0,!0;return this.loaded=!1,!1;function s(h,l,u){for(var c=l;c<h.length-u.length;c++){for(var _=!0,Q=0;Q<u.length;Q++)if(h[c+Q]!==u[Q]){_=!1;break}if(_)return c}return-1}}createRGBMatrix(){this.PCSWhitepoint=this.header.PCSilluminant;var e=Ae.d50,t=Ae.XYZ2xyY(Ae.adaptation(this.rgb.rXYZ,e,this.mediaWhitePoint),this.PCSWhitepoint),a=Ae.XYZ2xyY(Ae.adaptation(this.rgb.gXYZ,e,this.mediaWhitePoint),this.PCSWhitepoint),A=Ae.XYZ2xyY(Ae.adaptation(this.rgb.bXYZ,e,this.mediaWhitePoint),this.PCSWhitepoint);this.type=de.RGBMatrix,this.RGBMatrix={gamma:this.rgb.rTRC.gamma,issRGB:this.name.substr(0,4)==="sRGB",cRx:t.x,cRy:t.y,cGx:a.x,cGy:a.y,cBx:A.x,cBy:A.y},Ae.computeMatrix(this)}decodeHeader(e){var t={};t.profileSize=re.uint32(e,0),t.cmmType=re.chars(e,4,4),t.versionMajor=e[8];var a=e[9];t.version=t.versionMajor+"."+(a>>4&15)+"."+(a&15),t.pClass=re.chars(e,12,4),t.space=re.chars(e,16,4),t.pcs=re.chars(e,20,4);var A=re.uint16(e,24);return A===0?t.date=null:t.date=new Date(Date.UTC(A,re.uint16(e,26)-1,re.uint16(e,28),re.uint16(e,30),re.uint16(e,32),re.uint16(e,34))),t.signature=re.chars(e,36,4),t.platform=re.chars(e,40,4),t.flags=re.array(e,44,4),t.attributes=re.array(e,56,8),t.intent=re.uint32(e,64),t.PCSilluminant=re.XYZNumber(e,68),t}decodeTags(e){for(var t=[],a=re.uint32(e,128),A=132,r=0;r<a;r++)t.push({sig:re.chars(e,A,4),offset:re.uint32(e,A+4),length:re.uint32(e,A+8)}),A+=12;return t}decodeFile(e){this.header=this.decodeHeader(e),this.unsuportedTags=[],this.unsupportedTags=this.unsuportedTags,this.version=this.header.versionMajor,this.sizeBytes=this.header.profileSize,this.pcs=this.header.pcs.trim().toUpperCase(),this.colorSpace=this.header.space.trim().toUpperCase();var t=this.header.pClass==="link";if(!t&&!(this.pcs==="LAB"||this.pcs==="XYZ"))return this.lastError={err:100,text:"Unsupported PCS ["+this.pcs+"]"},!1;if(!(this.version===2||this.version===4))return this.lastError={err:101,text:"Unsupported Profile Version ["+this.version+"]"},!1;switch(this.header.space){case"GRAY":this.outputChannels=1,this.type=de.Gray;break;case"2CLR":this.outputChannels=2,this.type=de.Duo;break;case"3CLR":case"CMY ":case"RGB ":this.outputChannels=3,this.type=de.RGBLut;break;case"4CLR":case"CMYK":this.outputChannels=4,this.type=de.CMYK;break;case"5CLR":this.outputChannels=5,this.type=de.NChannel;break;case"6CLR":this.outputChannels=6,this.type=de.NChannel;break;case"7CLR":this.outputChannels=7,this.type=de.NChannel;break;case"8CLR":this.outputChannels=8,this.type=de.NChannel;break;case"9CLR":this.outputChannels=9,this.type=de.NChannel;break;case"ACLR":this.outputChannels=10,this.type=de.NChannel;break;case"BCLR":this.outputChannels=11,this.type=de.NChannel;break;case"CCLR":this.outputChannels=12,this.type=de.NChannel;break;case"DCLR":this.outputChannels=13,this.type=de.NChannel;break;case"ECLR":this.outputChannels=14,this.type=de.NChannel;break;case"FCLR":this.outputChannels=15,this.type=de.NChannel;break;default:return this.lastError={err:110,text:"Unsupported Profile Colorspace ["+this.header.space+"]"},!1}if(t){this.deviceLinkInputChannels=this.outputChannels;var a={GRAY:1,"2CLR":2,RGB:3,CMY:3,"3CLR":3,CMYK:4,"4CLR":4,"5CLR":5,"6CLR":6,"7CLR":7,"8CLR":8,"9CLR":9,ACLR:10,BCLR:11,CCLR:12,DCLR:13,ECLR:14,FCLR:15}[this.pcs];if(a===void 0)return this.lastError={err:111,text:"Unsupported DeviceLink output space ["+this.pcs+"]"},!1;this.outputChannels=a}this.tags=this.decodeTags(e);for(var A=0;A<this.tags.length;A++){var r=this.tags[A];switch(r.sig){case"rXYZ":this.rgb.rXYZ=re.XYZType(e,r.offset);break;case"gXYZ":this.rgb.gXYZ=re.XYZType(e,r.offset);break;case"bXYZ":this.rgb.bXYZ=re.XYZType(e,r.offset);break;case"rTRC":this.rgb.rTRC=re.curve(e,r.offset),this.rgb.rTRCInv=re.curve(e,r.offset,!0);break;case"gTRC":this.rgb.gTRC=re.curve(e,r.offset),this.rgb.gTRCInv=re.curve(e,r.offset,!0);break;case"bTRC":this.rgb.bTRC=re.curve(e,r.offset),this.rgb.bTRCInv=re.curve(e,r.offset,!0);break;case"kTRC":this.Gray.kTRC=re.curve(e,r.offset),this.Gray.inv_kTRC=re.curve(e,r.offset,!0);break;case"wtpt":this.mediaWhitePoint=re.XYZType(e,r.offset);break;case"A2B0":this.A2B[0]=re.lut(e,r.offset);break;case"A2B1":this.A2B[1]=re.lut(e,r.offset);break;case"A2B2":this.A2B[2]=re.lut(e,r.offset);break;case"B2A0":this.B2A[0]=re.lut(e,r.offset);break;case"B2A1":this.B2A[1]=re.lut(e,r.offset);break;case"B2A2":this.B2A[2]=re.lut(e,r.offset);break;case"desc":this.name=re.text(e,r.offset).text;break;case"cprt":this.copyright=re.text(e,r.offset).text;break;case"tech":this.technology=this.techSignatureString(re.chars(e,r.offset,4));break;case"vued":this.viewingConditions=re.text(e,r.offset);break;case"targ":this.characterizationTarget=re.text(e,r.offset);break;case"bkpt":this.blackPoint=re.XYZType(e,r.offset);break;case"lumi":this.luminance=re.XYZType(e,r.offset);break;case"chad":this.chromaticAdaptation=re.s15Array(e,r.offset,r.length);break;case"view":this.viewingConditions=re.viewingConditions(e,r.offset);break;case"gamt":break;case"calt":break;case"chrm":break;case"cicp":break;case"clro":break;case"clrt":break;case"ciis":break;case"dmnd":break;case"dmdd":break;case"meas":break;case"meta":break;case"ncl2":break;case"resp":break;case"rig0":break;case"pre0":case"pre1":case"pre2":break;case"pseq":break;case"psid":break;case"rig2":break;case"B2D0":this.B2D[0]=re.multiProcessElement(e,r.offset);break;case"B2D1":this.B2D[1]=re.multiProcessElement(e,r.offset);break;case"B2D2":this.B2D[2]=re.multiProcessElement(e,r.offset);break;case"B2D3":this.B2D[3]=re.multiProcessElement(e,r.offset);break;case"D2B0":this.D2B[0]=re.multiProcessElement(e,r.offset);break;case"D2B1":this.D2B[1]=re.multiProcessElement(e,r.offset);break;case"D2B2":this.D2B[2]=re.multiProcessElement(e,r.offset);break;case"D2B3":this.D2B[3]=re.multiProcessElement(e,r.offset);break;case"Info":this.info=re.text(e,r.offset);break;default:this.unsuportedTags.push(r)}}return this.B2A[we.perceptual]===null&&(this.B2A[we.perceptual]=this.B2A[we.relative]),this.B2A[we.saturation]===null&&(this.B2A[we.saturation]=this.B2A[we.perceptual]),this.A2B[we.perceptual]===null&&(this.A2B[we.perceptual]=this.A2B[we.relative]),this.A2B[we.saturation]===null&&(this.A2B[we.saturation]=this.A2B[we.perceptual]),this.header.pClass==="prtr"||this.header.pClass==="mntr"||this.header.pClass==="scnr"||this.header.pClass==="link"||this.header.pClass==="spac"||this.header.pClass==="abst"?!0:(this.lastError={err:100,text:"profile class not "+this.header.pClass+" supported"},!1)}techSignatureString(e){for(var t=[{desc:"Film Scanner",sig:"fscn"},{desc:"Digital Camera",sig:"dcam"},{desc:"Reflective Scanner",sig:"rscn"},{desc:"Ink Jet Printer",sig:"ijet"},{desc:"Thermal Wax Printer",sig:"twax"},{desc:"Electrophotographic Printer",sig:"epho"},{desc:"Electrostatic Printer",sig:"esta"},{desc:"Dye Sublimation Printer",sig:"dsub"},{desc:"Photographic Paper Printer",sig:"rpho"},{desc:"Film Writer",sig:"fprn"},{desc:"Video Monitor",sig:"vidm"},{desc:"Video Camera",sig:"vidc"},{desc:"Projection Television",sig:"pjtv"},{desc:"Cathode Ray Tube Display",sig:"CRT "},{desc:"Passive Matrix Display",sig:"PMD "},{desc:"Active Matrix Display",sig:"AMD "},{desc:"Photo CD",sig:"KPCD"},{desc:"PhotoImageSetter",sig:"imgs"},{desc:"Gravure",sig:"grav"},{desc:"Offset Lithography",sig:"offs"},{desc:"Silkscreen",sig:"silk"},{desc:"Flexography",sig:"flex"}],a=0;a<t.length;a++)if(t[a].sig===e)return t[a].desc;return"<Unknown Technology Signature>"}toICC(e){e=e||{};let t=(this.header&&this.header.space||"").trim();if(t!=="GRAY")throw new Error("Profile.toICC: only GRAY profiles can be written so far"+(t?' (this one is "'+t+'")':"")+". Matrix and LUT-based profiles need colourant and mft2/mAB encoding, which is not built yet.");if((this.A2B||[]).some(Boolean)||(this.B2A||[]).some(Boolean))throw new Error("Profile.toICC: this profile carries an A2B/B2A LUT and LUT encoding is not built yet -- writing it would drop the tag that does the work.");if(!this.Gray||!this.Gray.kTRC)throw new Error("Profile.toICC: a GRAY profile needs a kTRC tone curve.");let A=this.mediaWhitePoint||Ie.D50,r=[["cprt",Ie.textType(e.copyright||this.copyright||"No copyright, generated by jsColorEngine")],["desc",Ie.textDescriptionType(e.description||this.name||"Gray")],["kTRC",Ie.curveType(this.Gray.kTRC)],["wtpt",Ie.XYZType(A)]];return Ie.assemble({colorSpace:"GRAY",profileClass:this.header&&this.header.pClass||"mntr",intent:this.intent||0},r)}static createGrayICC(e){e=e||{};let t=e.samples?{use:!0,count:e.samples.length,passThrough:!1,data:e.samples,gamma:0,params:!1,curveFn:!1}:{use:!1,count:1,passThrough:!1,data:!1,gamma:e.gamma===void 0?2.2:e.gamma,params:!1,curveFn:!1},a=[["cprt",Ie.textType(e.copyright||Yt)],["desc",Ie.textDescriptionType(e.description||"jsColorEngine synthetic Gray g"+(e.gamma===void 0?2.2:e.gamma)+" - test profile, not for production")],["kTRC",Ie.curveType(t)],["wtpt",Ie.XYZType(Ie.D50)]];return Ie.assemble({colorSpace:"GRAY",profileClass:"mntr",intent:0},a)}static createNChannelICC(e){e=e||{};let t=e.channels;if(!(t>=1&&t<=15))throw new Error("Profile.createNChannelICC: channels must be 1-15, got "+t);let a=e.gridPoints||i.gridFor(t),A=Math.pow(a,t);if(A*3>4e6)throw new Error("Profile.createNChannelICC: "+a+"^"+t+" x 3 = "+Math.round(A*3/1e6)+"M cells is too large to be useful. Lower gridPoints -- see Profile.gridFor().");let r=(e.seed===void 0?20260821:e.seed)>>>0,n=()=>(r=Math.imul(r,1103515245)+12345&2147483647,r/2147483647),o=new Uint16Array(A*3),g=new Array(t);for(let l=0,u=0;l<A;l++){let c,_,Q;if(e.noise)c=n()*100,_=n()*100-50,Q=n()*100-50;else{let B=l;for(let y=t-1;y>=0;y--)g[y]=B%a,B=B/a|0;let m=0;for(let y=0;y<t;y++)m+=g[y];m/=t*(a-1),c=100*(1-m),_=50*Math.cos(g[0]/(a-1)*Math.PI*.5)*(1-m),Q=50*Math.sin(g[1]/(a-1)*Math.PI*.5)*(1-m)}let I=Ie.labToU16v2(c,_,Q);o[u++]=I[0],o[u++]=I[1],o[u++]=I[2]}let s=Ie.lut16Type({inputChannels:t,outputChannels:3,gridPoints:a,CLUT:o}),h=[["A2B0",s],["A2B1",s],["A2B2",s]];if(e.withB2A!==!1){let l=i._b2aTable(t,e.b2aGrid||17);h.push(["B2A0",l],["B2A1",l],["B2A2",l])}return h.push(["cprt",Ie.textType(Yt)],["desc",Ie.textDescriptionType(e.description||"jsColorEngine synthetic "+t+"CLR grid"+a+" - test profile, not for production")],["wtpt",Ie.XYZType(Ie.D50)]),Ie.assemble({colorSpace:Ie.COLOUR_SPACE_SIG[t],profileClass:"prtr",pcs:"Lab ",intent:0},h)}static gridFor(e){let a={1:255,2:33,3:33,4:17,5:9,6:7,7:5,8:4,9:3,10:3,11:2,12:2,13:2,14:2,15:2}[e];if(!a)throw new Error("Profile.gridFor: no grid for "+e+" channels");return a}static createNChannelB2AICC(e){e=e||{};let t=e.channels;if(!(t>=2&&t<=15))throw new Error("Profile.createNChannelB2AICC: channels must be 2-15, got "+t);let a=e.gridPoints||17,A=a*a*a,r=i._b2aTable(t,a),n=[["B2A0",r],["B2A1",r],["B2A2",r],["cprt",Ie.textType(Yt)],["desc",Ie.textDescriptionType(e.description||"jsColorEngine synthetic "+t+"CLR B2A grid"+a+" - test profile, not for production")],["wtpt",Ie.XYZType(Ie.D50)]];return Ie.assemble({colorSpace:Ie.COLOUR_SPACE_SIG[t],profileClass:"prtr",pcs:"Lab ",intent:0},n)}static _b2aTable(e,t){let a=t*t*t,A=new Uint16Array(a*e),r=0;for(let n=0;n<t;n++){let o=n/(t-1)*100;for(let g=0;g<t;g++){let s=g/(t-1)*255-128;for(let h=0;h<t;h++){let l=h/(t-1)*255-128,u=1-o/100,c=Math.min(1,Math.sqrt(s*s+l*l)/128),_=Math.atan2(l,s);for(let Q=0;Q<e;Q++){let I=Q/e*2*Math.PI-Math.PI,B=.5+.5*Math.cos(_-I),m=u*(.3+.7*c*B);A[r++]=Math.max(0,Math.min(65535,Math.round(m*65535)))}}}}return Ie.lut16Type({inputChannels:3,outputChannels:e,gridPoints:t,CLUT:A})}};function Wr(i,e){Ut("http").get(i,a=>{if(a.statusCode<200||a.statusCode>=300)return e(!1,"Response status was "+a.statusCode);let A=[];a.on("data",r=>{A.push(r)}),a.on("end",()=>{let r=Buffer.concat(A);e(new Uint8Array(r),"")})}).on("error",a=>{e(!1,a.message)})}function Vr(i,e){var t=new XMLHttpRequest;t.open("GET",i,!0),t.responseType="arraybuffer",t.onload=function(){if(this.status===200){var a=t.response;if(a){var A=new Uint8Array(a);e(A,"")}else e(!1,"Invalid arrayBuffer")}else e(!1,"Server Status "+this.status)},t.ontimeout=function(){e(!1,"Timeout")},t.onerror=function(){e(!1,"XHR Error")},t.send()}function jr(){try{if(window.cep)return!0}catch{}return!1}function St(){try{if(process&&process.versions&&process.versions.node)return!0}catch{}return!1}function Nt(i){if(St()){let A=Buffer.from(i,"base64");return new Uint8Array(A)}let e=window.atob(i),t=e.length,a=new Uint8Array(t);for(let A=0;A<t;A++)a[A]=e.charCodeAt(A);return a}function zr(i,e){for(var t=e>=128&&e<=i.length?e:i.length,a=2166136261,A=16777619,r=0;r<t;r++)a=Math.imul(a^i[r],A);return(a>>>0).toString(16).padStart(8,"0")}a0.exports=Pt});var Jt=ae((Th,A0)=>{"use strict";var $r={};function i0(){return typeof WebAssembly<"u"&&typeof WebAssembly.Module=="function"&&typeof WebAssembly.Instance=="function"}function eA(i){return i&&i.cache||$r}function r0(i,e){if(!i0()||!i)return null;var t=eA(e),a=e&&e.cacheKey;if(a&&t[a])return t[a];var A;try{A=new WebAssembly.Module(i)}catch{return null}return a&&(t[a]=A),A}function tA(i,e){var t=r0(i,e);if(!t)return null;var a;try{a=new WebAssembly.Instance(t,e&&e.imports||{})}catch{return null}var A=a.exports;if(!A||!A.memory)return null;var r=e&&e.exportName;return r&&typeof A[r]!="function"?null:{exports:A,module:t,instance:a,kernel:r?A[r]:null}}A0.exports={hasWebAssembly:i0,compile:r0,instantiate:tA}});var s0=ae((Uh,n0)=>{"use strict";var aA="AGFzbQEAAAABEgFgDn9/f39/f39/f39/f39/AAMDAgAABQMBAAEHOwMGbWVtb3J5AgASaW50ZXJwX3RldHJhM2RfbkNoAAAZaW50ZXJwX3RldHJhM2RfbkNoX2NhY2hlZAABCqEdAqAOAR9/IAAhDyABIRACQANAIA4gA04NASAPLQAAIREgD0EBai0AACESIA9BAmotAAAhEyAPQQNqIQ8gESAIbCEUIBIgCGwhFSATIAhsIRYgEUH/AUYEQCAJIRcgCSEYQQAhHQUgFEEQdiAHbCEXIBcgB2ohGCAUQQh2Qf8BcSEdCyASQf8BRgRAIAohGSAKIRpBACEeBSAVQRB2IAZsIRkgGSAGaiEaIBVBCHZB/wFxIR4LIBNB/wFGBEAgCyEbIAshHEEAIR8FIBZBEHYgBWwhGyAbIAVqIRwgFkEIdkH/AXEhHwsgFyAZaiAbaiEgIB0gHk4gHiAfTnEEQCAYIBlqIBtqISEgGCAaaiAbaiEiIBggGmogHGohJEEAISUDQCACICFBAXRqLwEAISYgIUEBaiEhIAIgIkEBdGovAQAhJyAiQQFqISIgAiAgQQF0ai8BACEoICBBAWohICACICRBAXRqLwEAISkgJEEBaiEkICYgKGsgHWwgJyAmayAebGogKSAnayAfbGohKiAoICpBgAFqQQh1aiErICtBgAFqQQh1ISwgLEEAICxBAE4bISwgLEH/ASAsQYACSBshLCAQICw6AAAgEEEBaiEQICVBAWoiJSAESA0ACwUgHSAfTiAfIB5OcQRAIBggGWogG2ohISAYIBpqIBxqISIgGCAZaiAcaiEjQQAhJQNAIAIgI0EBdGovAQAhJiAjQQFqISMgAiAhQQF0ai8BACEnICFBAWohISACICBBAXRqLwEAISggIEEBaiEgIAIgIkEBdGovAQAhKSAiQQFqISIgJyAoayAdbCApICZrIB5saiAmICdrIB9saiEqICggKkGAAWpBCHVqISsgK0GAAWpBCHUhLCAsQQAgLEEAThshLCAsQf8BICxBgAJIGyEsIBAgLDoAACAQQQFqIRAgJUEBaiIlIARIDQALBSAdIB5OIB8gHU5xBEAgGCAZaiAcaiEhIBcgGWogHGohIiAYIBpqIBxqISNBACElA0AgAiAhQQF0ai8BACEmICFBAWohISACICJBAXRqLwEAIScgIkEBaiEiIAIgIEEBdGovAQAhKCAgQQFqISAgAiAjQQF0ai8BACEpICNBAWohIyAmICdrIB1sICkgJmsgHmxqICcgKGsgH2xqISogKCAqQYABakEIdWohKyArQYABakEIdSEsICxBACAsQQBOGyEsICxB/wEgLEGAAkgbISwgECAsOgAAIBBBAWohECAlQQFqIiUgBEgNAAsFIB4gHU4gHSAfTnEEQCAYIBpqIBtqISEgFyAaaiAbaiEiIBggGmogHGohJEEAISUDQCACICJBAXRqLwEAISYgIkEBaiEiIAIgIUEBdGovAQAhJyAhQQFqISEgAiAgQQF0ai8BACEoICBBAWohICACICRBAXRqLwEAISkgJEEBaiEkICcgJmsgHWwgJiAoayAebGogKSAnayAfbGohKiAoICpBgAFqQQh1aiErICtBgAFqQQh1ISwgLEEAICxBAE4bISwgLEH/ASAsQYACSBshLCAQICw6AAAgEEEBaiEQICVBAWoiJSAESA0ACwUgHiAfTiAfIB1OcQRAIBggGmogHGohISAXIBpqIBxqISIgFyAaaiAbaiEjQQAhJQNAIAIgIkEBdGovAQAhJiAiQQFqISIgAiAjQQF0ai8BACEnICNBAWohIyACICBBAXRqLwEAISggIEEBaiEgIAIgIUEBdGovAQAhKSAhQQFqISEgKSAmayAdbCAnIChrIB5saiAmICdrIB9saiEqICggKkGAAWpBCHVqISsgK0GAAWpBCHUhLCAsQQAgLEEAThshLCAsQf8BICxBgAJIGyEsIBAgLDoAACAQQQFqIRAgJUEBaiIlIARIDQALBSAfIB5OIB4gHU5xBEAgGCAaaiAcaiEhIBcgGmogHGohIiAXIBlqIBxqISRBACElA0AgAiAiQQF0ai8BACEmICJBAWohIiACICRBAXRqLwEAIScgJEEBaiEkIAIgIEEBdGovAQAhKCAgQQFqISAgAiAhQQF0ai8BACEpICFBAWohISApICZrIB1sICYgJ2sgHmxqICcgKGsgH2xqISogKCAqQYABakEIdWohKyArQYABakEIdSEsICxBACAsQQBOGyEsICxB/wEgLEGAAkgbISwgECAsOgAAIBBBAWohECAlQQFqIiUgBEgNAAsFQQAhJQNAIAIgIEEBdGovAQAhKCAgQQFqISAgKEGAAWpBCHUhLCAsQQAgLEEAThshLCAsQf8BICxBgAJIGyEsIBAgLDoAACAQQQFqIRAgJUEBaiIlIARIDQALCwsLCwsLIA1BAkYEQCAQIA8tAAA6AAAgEEEBaiEQIA9BAWohDwUgDUEBRgRAIBBB/wE6AAAgEEEBaiEQCyAPIAxqIQ8LIA5BAWohDgwACwsL/A4BJH8gACEPIAEhEEF/IS4gBCEvAkADQCAOIANODQEgDy0AACERIA9BAWotAAAhEiAPQQJqLQAAIRMgD0EDaiEPIBFBEHQgEkEIdHIgE3IhLQJAIC0gLkYEQEEAITADQCAQIDBqIDEgMGotAAA6AAAgMEEBaiEwIDAgL0kNAAsgECAvaiEQDAELIBEgCGwhFCASIAhsIRUgEyAIbCEWIBFB/wFGBEAgCSEXIAkhGEEAIR0FIBRBEHYgB2whFyAXIAdqIRggFEEIdkH/AXEhHQsgEkH/AUYEQCAKIRkgCiEaQQAhHgUgFUEQdiAGbCEZIBkgBmohGiAVQQh2Qf8BcSEeCyATQf8BRgRAIAshGyALIRxBACEfBSAWQRB2IAVsIRsgGyAFaiEcIBZBCHZB/wFxIR8LIBcgGWogG2ohICAdIB5OIB4gH05xBEAgGCAZaiAbaiEhIBggGmogG2ohIiAYIBpqIBxqISRBACElA0AgAiAhQQF0ai8BACEmICFBAWohISACICJBAXRqLwEAIScgIkEBaiEiIAIgIEEBdGovAQAhKCAgQQFqISAgAiAkQQF0ai8BACEpICRBAWohJCAmIChrIB1sICcgJmsgHmxqICkgJ2sgH2xqISogKCAqQYABakEIdWohKyArQYABakEIdSEsICxBACAsQQBOGyEsICxB/wEgLEGAAkgbISwgECAsOgAAIBBBAWohECAlQQFqIiUgBEgNAAsFIB0gH04gHyAeTnEEQCAYIBlqIBtqISEgGCAaaiAcaiEiIBggGWogHGohI0EAISUDQCACICNBAXRqLwEAISYgI0EBaiEjIAIgIUEBdGovAQAhJyAhQQFqISEgAiAgQQF0ai8BACEoICBBAWohICACICJBAXRqLwEAISkgIkEBaiEiICcgKGsgHWwgKSAmayAebGogJiAnayAfbGohKiAoICpBgAFqQQh1aiErICtBgAFqQQh1ISwgLEEAICxBAE4bISwgLEH/ASAsQYACSBshLCAQICw6AAAgEEEBaiEQICVBAWoiJSAESA0ACwUgHSAeTiAfIB1OcQRAIBggGWogHGohISAXIBlqIBxqISIgGCAaaiAcaiEjQQAhJQNAIAIgIUEBdGovAQAhJiAhQQFqISEgAiAiQQF0ai8BACEnICJBAWohIiACICBBAXRqLwEAISggIEEBaiEgIAIgI0EBdGovAQAhKSAjQQFqISMgJiAnayAdbCApICZrIB5saiAnIChrIB9saiEqICggKkGAAWpBCHVqISsgK0GAAWpBCHUhLCAsQQAgLEEAThshLCAsQf8BICxBgAJIGyEsIBAgLDoAACAQQQFqIRAgJUEBaiIlIARIDQALBSAeIB1OIB0gH05xBEAgGCAaaiAbaiEhIBcgGmogG2ohIiAYIBpqIBxqISRBACElA0AgAiAiQQF0ai8BACEmICJBAWohIiACICFBAXRqLwEAIScgIUEBaiEhIAIgIEEBdGovAQAhKCAgQQFqISAgAiAkQQF0ai8BACEpICRBAWohJCAnICZrIB1sICYgKGsgHmxqICkgJ2sgH2xqISogKCAqQYABakEIdWohKyArQYABakEIdSEsICxBACAsQQBOGyEsICxB/wEgLEGAAkgbISwgECAsOgAAIBBBAWohECAlQQFqIiUgBEgNAAsFIB4gH04gHyAdTnEEQCAYIBpqIBxqISEgFyAaaiAcaiEiIBcgGmogG2ohI0EAISUDQCACICJBAXRqLwEAISYgIkEBaiEiIAIgI0EBdGovAQAhJyAjQQFqISMgAiAgQQF0ai8BACEoICBBAWohICACICFBAXRqLwEAISkgIUEBaiEhICkgJmsgHWwgJyAoayAebGogJiAnayAfbGohKiAoICpBgAFqQQh1aiErICtBgAFqQQh1ISwgLEEAICxBAE4bISwgLEH/ASAsQYACSBshLCAQICw6AAAgEEEBaiEQICVBAWoiJSAESA0ACwUgHyAeTiAeIB1OcQRAIBggGmogHGohISAXIBpqIBxqISIgFyAZaiAcaiEkQQAhJQNAIAIgIkEBdGovAQAhJiAiQQFqISIgAiAkQQF0ai8BACEnICRBAWohJCACICBBAXRqLwEAISggIEEBaiEgIAIgIUEBdGovAQAhKSAhQQFqISEgKSAmayAdbCAmICdrIB5saiAnIChrIB9saiEqICggKkGAAWpBCHVqISsgK0GAAWpBCHUhLCAsQQAgLEEAThshLCAsQf8BICxBgAJIGyEsIBAgLDoAACAQQQFqIRAgJUEBaiIlIARIDQALBUEAISUDQCACICBBAXRqLwEAISggIEEBaiEgIChBgAFqQQh1ISwgLEEAICxBAE4bISwgLEH/ASAsQYACSBshLCAQICw6AAAgEEEBaiEQICVBAWoiJSAESA0ACwsLCwsLCyAtIS4gECAvayExCyANQQJGBEAgECAPLQAAOgAAIBBBAWohECAPQQFqIQ8FIA1BAUYEQCAQQf8BOgAAIBBBAWohEAsgDyAMaiEPCyAOQQFqIQ4MAAsLCw==";function iA(i){if(typeof Buffer<"u"&&typeof Buffer.from=="function")return new Uint8Array(Buffer.from(i,"base64"));if(typeof atob=="function"){let e=atob(i),t=new Uint8Array(e.length);for(let a=0;a<e.length;a++)t[a]=e.charCodeAt(a);return t}throw new Error("No base64 decoder available (need Buffer or atob).")}n0.exports=iA(aA)});var l0=ae((Yh,h0)=>{"use strict";var rA="AGFzbQEAAAABEgFgDn9/f39/f39/f39/f39/AAMDAgAABQMBAAEHRwMGbWVtb3J5AgAYaW50ZXJwX3RldHJhM2RfbkNoX2ludDE2AAAfaW50ZXJwX3RldHJhM2RfbkNoX2ludDE2X2NhY2hlZAABCqkZApsMAR5/IAAhDyABIRACQANAIA4gA04NASAPLwEAIREgD0ECai8BACESIA9BBGovAQAhEyAPQQZqIQ8gESAIbCEUIBIgCGwhFSATIAhsIRYgEUH//wNGBEAgCSEXIAkhGEEAIR0FIBRBDXYgB2whFyAXIAdqIRggFEH/P3EhHQsgEkH//wNGBEAgCiEZIAohGkEAIR4FIBVBDXYgBmwhGSAZIAZqIRogFUH/P3EhHgsgE0H//wNGBEAgCyEbIAshHEEAIR8FIBZBDXYgBWwhGyAbIAVqIRwgFkH/P3EhHwsgFyAZaiAbaiEgIB0gHk4gHiAfTnEEQCAYIBlqIBtqISEgGCAaaiAbaiEiIBggGmogHGohJEEAISUDQCACICFBAXRqLwEAISYgIUEBaiEhIAIgIkEBdGovAQAhJyAiQQFqISIgAiAgQQF0ai8BACEoICBBAWohICACICRBAXRqLwEAISkgJEEBaiEkICYgKGsgHWwgJyAmayAebGogKSAnayAfbGohKiAoICpBgCBqQQ11aiErIBAgKzsBACAQQQJqIRAgJUEBaiIlIARIDQALBSAdIB9OIB8gHk5xBEAgGCAZaiAbaiEhIBggGmogHGohIiAYIBlqIBxqISNBACElA0AgAiAjQQF0ai8BACEmICNBAWohIyACICFBAXRqLwEAIScgIUEBaiEhIAIgIEEBdGovAQAhKCAgQQFqISAgAiAiQQF0ai8BACEpICJBAWohIiAnIChrIB1sICkgJmsgHmxqICYgJ2sgH2xqISogKCAqQYAgakENdWohKyAQICs7AQAgEEECaiEQICVBAWoiJSAESA0ACwUgHSAeTiAfIB1OcQRAIBggGWogHGohISAXIBlqIBxqISIgGCAaaiAcaiEjQQAhJQNAIAIgIUEBdGovAQAhJiAhQQFqISEgAiAiQQF0ai8BACEnICJBAWohIiACICBBAXRqLwEAISggIEEBaiEgIAIgI0EBdGovAQAhKSAjQQFqISMgJiAnayAdbCApICZrIB5saiAnIChrIB9saiEqICggKkGAIGpBDXVqISsgECArOwEAIBBBAmohECAlQQFqIiUgBEgNAAsFIB4gHU4gHSAfTnEEQCAYIBpqIBtqISEgFyAaaiAbaiEiIBggGmogHGohJEEAISUDQCACICJBAXRqLwEAISYgIkEBaiEiIAIgIUEBdGovAQAhJyAhQQFqISEgAiAgQQF0ai8BACEoICBBAWohICACICRBAXRqLwEAISkgJEEBaiEkICcgJmsgHWwgJiAoayAebGogKSAnayAfbGohKiAoICpBgCBqQQ11aiErIBAgKzsBACAQQQJqIRAgJUEBaiIlIARIDQALBSAeIB9OIB8gHU5xBEAgGCAaaiAcaiEhIBcgGmogHGohIiAXIBpqIBtqISNBACElA0AgAiAiQQF0ai8BACEmICJBAWohIiACICNBAXRqLwEAIScgI0EBaiEjIAIgIEEBdGovAQAhKCAgQQFqISAgAiAhQQF0ai8BACEpICFBAWohISApICZrIB1sICcgKGsgHmxqICYgJ2sgH2xqISogKCAqQYAgakENdWohKyAQICs7AQAgEEECaiEQICVBAWoiJSAESA0ACwUgHyAeTiAeIB1OcQRAIBggGmogHGohISAXIBpqIBxqISIgFyAZaiAcaiEkQQAhJQNAIAIgIkEBdGovAQAhJiAiQQFqISIgAiAkQQF0ai8BACEnICRBAWohJCACICBBAXRqLwEAISggIEEBaiEgIAIgIUEBdGovAQAhKSAhQQFqISEgKSAmayAdbCAmICdrIB5saiAnIChrIB9saiEqICggKkGAIGpBDXVqISsgECArOwEAIBBBAmohECAlQQFqIiUgBEgNAAsFQQAhJQNAIAIgIEEBdGovAQAhKCAgQQFqISAgECAoOwEAIBBBAmohECAlQQFqIiUgBEgNAAsLCwsLCwsgDUECRgRAIBAgDy8BADsBACAQQQJqIRAgD0ECaiEPBSANQQFGBEAgEEH//wM7AQAgEEECaiEQCyAPIAxBAXRqIQ8LIA5BAWohDgwACwsLiQ0BJn8gACEPIAEhEEEAITAgBEEBdCExAkADQCAOIANODQEgDy8BACERIA9BAmovAQAhEiAPQQRqLwEAIRMgD0EGaiEPIBEgEkEQdHIhLCATIS0CQCAwICwgLkYgLSAvRnFxBEBBACEyA0AgECAyaiAzIDJqLQAAOgAAIDJBAWohMiAyIDFJDQALIBAgMWohEAwBCyARIAhsIRQgEiAIbCEVIBMgCGwhFiARQf//A0YEQCAJIRcgCSEYQQAhHQUgFEENdiAHbCEXIBcgB2ohGCAUQf8/cSEdCyASQf//A0YEQCAKIRkgCiEaQQAhHgUgFUENdiAGbCEZIBkgBmohGiAVQf8/cSEeCyATQf//A0YEQCALIRsgCyEcQQAhHwUgFkENdiAFbCEbIBsgBWohHCAWQf8/cSEfCyAXIBlqIBtqISAgHSAeTiAeIB9OcQRAIBggGWogG2ohISAYIBpqIBtqISIgGCAaaiAcaiEkQQAhJQNAIAIgIUEBdGovAQAhJiAhQQFqISEgAiAiQQF0ai8BACEnICJBAWohIiACICBBAXRqLwEAISggIEEBaiEgIAIgJEEBdGovAQAhKSAkQQFqISQgJiAoayAdbCAnICZrIB5saiApICdrIB9saiEqICggKkGAIGpBDXVqISsgECArOwEAIBBBAmohECAlQQFqIiUgBEgNAAsFIB0gH04gHyAeTnEEQCAYIBlqIBtqISEgGCAaaiAcaiEiIBggGWogHGohI0EAISUDQCACICNBAXRqLwEAISYgI0EBaiEjIAIgIUEBdGovAQAhJyAhQQFqISEgAiAgQQF0ai8BACEoICBBAWohICACICJBAXRqLwEAISkgIkEBaiEiICcgKGsgHWwgKSAmayAebGogJiAnayAfbGohKiAoICpBgCBqQQ11aiErIBAgKzsBACAQQQJqIRAgJUEBaiIlIARIDQALBSAdIB5OIB8gHU5xBEAgGCAZaiAcaiEhIBcgGWogHGohIiAYIBpqIBxqISNBACElA0AgAiAhQQF0ai8BACEmICFBAWohISACICJBAXRqLwEAIScgIkEBaiEiIAIgIEEBdGovAQAhKCAgQQFqISAgAiAjQQF0ai8BACEpICNBAWohIyAmICdrIB1sICkgJmsgHmxqICcgKGsgH2xqISogKCAqQYAgakENdWohKyAQICs7AQAgEEECaiEQICVBAWoiJSAESA0ACwUgHiAdTiAdIB9OcQRAIBggGmogG2ohISAXIBpqIBtqISIgGCAaaiAcaiEkQQAhJQNAIAIgIkEBdGovAQAhJiAiQQFqISIgAiAhQQF0ai8BACEnICFBAWohISACICBBAXRqLwEAISggIEEBaiEgIAIgJEEBdGovAQAhKSAkQQFqISQgJyAmayAdbCAmIChrIB5saiApICdrIB9saiEqICggKkGAIGpBDXVqISsgECArOwEAIBBBAmohECAlQQFqIiUgBEgNAAsFIB4gH04gHyAdTnEEQCAYIBpqIBxqISEgFyAaaiAcaiEiIBcgGmogG2ohI0EAISUDQCACICJBAXRqLwEAISYgIkEBaiEiIAIgI0EBdGovAQAhJyAjQQFqISMgAiAgQQF0ai8BACEoICBBAWohICACICFBAXRqLwEAISkgIUEBaiEhICkgJmsgHWwgJyAoayAebGogJiAnayAfbGohKiAoICpBgCBqQQ11aiErIBAgKzsBACAQQQJqIRAgJUEBaiIlIARIDQALBSAfIB5OIB4gHU5xBEAgGCAaaiAcaiEhIBcgGmogHGohIiAXIBlqIBxqISRBACElA0AgAiAiQQF0ai8BACEmICJBAWohIiACICRBAXRqLwEAIScgJEEBaiEkIAIgIEEBdGovAQAhKCAgQQFqISAgAiAhQQF0ai8BACEpICFBAWohISApICZrIB1sICYgJ2sgHmxqICcgKGsgH2xqISogKCAqQYAgakENdWohKyAQICs7AQAgEEECaiEQICVBAWoiJSAESA0ACwVBACElA0AgAiAgQQF0ai8BACEoICBBAWohICAQICg7AQAgEEECaiEQICVBAWoiJSAESA0ACwsLCwsLC0EBITAgLCEuIC0hLyAQIDFrITMLIA1BAkYEQCAQIA8vAQA7AQAgEEECaiEQIA9BAmohDwUgDUEBRgRAIBBB//8DOwEAIBBBAmohEAsgDyAMQQF0aiEPCyAOQQFqIQ4MAAsLCw==";function AA(i){if(typeof Buffer<"u"&&typeof Buffer.from=="function")return new Uint8Array(Buffer.from(i,"base64"));if(typeof atob=="function"){let e=atob(i),t=new Uint8Array(e.length);for(let a=0;a<e.length;a++)t[a]=e.charCodeAt(a);return t}throw new Error("No base64 decoder available (need Buffer or atob).")}h0.exports=AA(rA)});var g0=ae((Nh,o0)=>{"use strict";var nA="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";function sA(i){if(typeof Buffer<"u"&&typeof Buffer.from=="function")return new Uint8Array(Buffer.from(i,"base64"));if(typeof atob=="function"){let e=atob(i),t=new Uint8Array(e.length);for(let a=0;a<e.length;a++)t[a]=e.charCodeAt(a);return t}throw new Error("No base64 decoder available (need Buffer or atob).")}o0.exports=sA(nA)});var C0=ae((Ph,I0)=>{"use strict";var hA="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";function lA(i){if(typeof Buffer<"u"&&typeof Buffer.from=="function")return new Uint8Array(Buffer.from(i,"base64"));if(typeof atob=="function"){let e=atob(i),t=new Uint8Array(e.length);for(let a=0;a<e.length;a++)t[a]=e.charCodeAt(a);return t}throw new Error("No base64 decoder available (need Buffer or atob).")}I0.exports=lA(hA)});var E0=ae((Jh,u0)=>{"use strict";var oA="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";function gA(i){if(typeof Buffer<"u"&&typeof Buffer.from=="function")return new Uint8Array(Buffer.from(i,"base64"));if(typeof atob=="function"){let e=atob(i),t=new Uint8Array(e.length);for(let a=0;a<e.length;a++)t[a]=e.charCodeAt(a);return t}throw new Error("No base64 decoder available (need Buffer or atob).")}u0.exports=gA(oA)});var f0=ae((Xh,c0)=>{"use strict";var IA="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";function CA(i){if(typeof Buffer<"u"&&typeof Buffer.from=="function")return new Uint8Array(Buffer.from(i,"base64"));if(typeof atob=="function"){let e=atob(i),t=new Uint8Array(e.length);for(let a=0;a<e.length;a++)t[a]=e.charCodeAt(a);return t}throw new Error("No base64 decoder available (need Buffer or atob).")}c0.exports=CA(IA)});var m0=ae((Hh,B0)=>{"use strict";var uA="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";function EA(i){if(typeof Buffer<"u"&&typeof Buffer.from=="function")return new Uint8Array(Buffer.from(i,"base64"));if(typeof atob=="function"){let e=atob(i),t=new Uint8Array(e.length);for(let a=0;a<e.length;a++)t[a]=e.charCodeAt(a);return t}throw new Error("No base64 decoder available (need Buffer or atob).")}B0.exports=EA(uA)});var v0=ae((Kh,d0)=>{"use strict";var cA="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";function fA(i){if(typeof Buffer<"u"&&typeof Buffer.from=="function")return new Uint8Array(Buffer.from(i,"base64"));if(typeof atob=="function"){let e=atob(i),t=new Uint8Array(e.length);for(let a=0;a<e.length;a++)t[a]=e.charCodeAt(a);return t}throw new Error("No base64 decoder available (need Buffer or atob).")}d0.exports=fA(cA)});var S0=ae((Oh,Q0)=>{"use strict";var BA="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ISggG0EIdkH/AXEhKQsgKUEARyErICYhJyAmIChqISZBACEqQQAhNSA2ITcCQANAAkADQCAgICJqICRqICZqITAgLCAtTiAtIC5OcQRAICEgImogJGogJmohMSAhICNqICRqICZqITIgISAjaiAlaiAmaiE0QQAhOANAIAIgMUEBdGovAQAhOSAxQQFqITEgAiAyQQF0ai8BACE6IDJBAWohMiACIDBBAXRqLwEAITsgMEEBaiEwIAIgNEEBdGovAQAhPCA0QQFqITQgOSA7ayAsbCA6IDlrIC1saiA8IDprIC5saiE9IDtBBHQgPUEIakEEdWohPiA+IDggNSA2ICogKyAvICkgECAEIBUQACEVIDhBAWoiOCAESA0ACwUgLCAuTiAuIC1OcQRAICEgImogJGogJmohMSAhICNqICVqICZqITIgISAiaiAlaiAmaiEzQQAhOANAIAIgM0EBdGovAQAhOSAzQQFqITMgAiAxQQF0ai8BACE6IDFBAWohMSACIDBBAXRqLwEAITsgMEEBaiEwIAIgMkEBdGovAQAhPCAyQQFqITIgOiA7ayAsbCA8IDlrIC1saiA5IDprIC5saiE9IDtBBHQgPUEIakEEdWohPiA+IDggNSA2ICogKyAvICkgECAEIBUQACEVIDhBAWoiOCAESA0ACwUgLCAtTiAuICxOcQRAICEgImogJWogJmohMSAgICJqICVqICZqITIgISAjaiAlaiAmaiEzQQAhOANAIAIgMUEBdGovAQAhOSAxQQFqITEgAiAyQQF0ai8BACE6IDJBAWohMiACIDBBAXRqLwEAITsgMEEBaiEwIAIgM0EBdGovAQAhPCAzQQFqITMgOSA6ayAsbCA8IDlrIC1saiA6IDtrIC5saiE9IDtBBHQgPUEIakEEdWohPiA+IDggNSA2ICogKyAvICkgECAEIBUQACEVIDhBAWoiOCAESA0ACwUgLSAsTiAsIC5OcQRAICEgI2ogJGogJmohMSAgICNqICRqICZqITIgISAjaiAlaiAmaiE0QQAhOANAIAIgMkEBdGovAQAhOSAyQQFqITIgAiAxQQF0ai8BACE6IDFBAWohMSACIDBBAXRqLwEAITsgMEEBaiEwIAIgNEEBdGovAQAhPCA0QQFqITQgOiA5ayAsbCA5IDtrIC1saiA8IDprIC5saiE9IDtBBHQgPUEIakEEdWohPiA+IDggNSA2ICogKyAvICkgECAEIBUQACEVIDhBAWoiOCAESA0ACwUgLSAuTiAuICxOcQRAICEgI2ogJWogJmohMSAgICNqICVqICZqITIgICAjaiAkaiAmaiEzQQAhOANAIAIgMkEBdGovAQAhOSAyQQFqITIgAiAzQQF0ai8BACE6IDNBAWohMyACIDBBAXRqLwEAITsgMEEBaiEwIAIgMUEBdGovAQAhPCAxQQFqITEgPCA5ayAsbCA6IDtrIC1saiA5IDprIC5saiE9IDtBBHQgPUEIakEEdWohPiA+IDggNSA2ICogKyAvICkgECAEIBUQACEVIDhBAWoiOCAESA0ACwUgLiAtTiAtICxOcQRAICEgI2ogJWogJmohMSAgICNqICVqICZqITIgICAiaiAlaiAmaiE0QQAhOANAIAIgMkEBdGovAQAhOSAyQQFqITIgAiA0QQF0ai8BACE6IDRBAWohNCACIDBBAXRqLwEAITsgMEEBaiEwIAIgMUEBdGovAQAhPCAxQQFqITEgPCA5ayAsbCA5IDprIC1saiA6IDtrIC5saiE9IDtBBHQgPUEIakEEdWohPiA+IDggNSA2ICogKyAvICkgECAEIBUQACEVIDhBAWoiOCAESA0ACwVBACE4A0AgAiAwQQF0ai8BACE7IDBBAWohMCA7QQR0IT4gPiA4IDUgNiAqICsgLyApIBAgBCAVEAAhFSA4QQFqIjggBEgNAAsLCwsLCwsgNUUgNnEEQCAmIAhqISZBASE1QQIhNwwBCwwBCwsgKkUgK3EEQCAnIChqIA5qISZBACE1IDYhN0EBISoMAQsMAQsLQQEhRSBBIUMgQiFEIBUgRmshSAsgEkECRgRAIBUgFC0AADoAACAVQQFqIRUgFEEBaiEUBSASQQFGBEAgFUH/AToAACAVQQFqIRULIBQgEWohFAsgE0EBaiETDAALCws=";function mA(i){if(typeof Buffer<"u"&&typeof Buffer.from=="function")return new Uint8Array(Buffer.from(i,"base64"));if(typeof atob=="function"){let e=atob(i),t=new Uint8Array(e.length);for(let a=0;a<e.length;a++)t[a]=e.charCodeAt(a);return t}throw new Error("No base64 decoder available (need Buffer or atob).")}Q0.exports=mA(BA)});var p0=ae((Zh,M0)=>{"use strict";var dA="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";function vA(i){if(typeof Buffer<"u"&&typeof Buffer.from=="function")return new Uint8Array(Buffer.from(i,"base64"));if(typeof atob=="function"){let e=atob(i),t=new Uint8Array(e.length);for(let a=0;a<e.length;a++)t[a]=e.charCodeAt(a);return t}throw new Error("No base64 decoder available (need Buffer or atob).")}M0.exports=vA(dA)});var $e=ae((Wh,D0)=>{"use strict";var pt=Jt(),QA=pt.instantiate,SA=pt.hasWebAssembly,MA=s0(),pA=l0(),_A=g0(),wA=C0(),yA=E0(),DA=f0(),bA=m0(),xA=v0(),RA=S0(),GA=p0(),LA="__jsColorEngine_tetra3d_nch_module__",FA="__jsColorEngine_tetra3d_nch_int16_module__",kA="__jsColorEngine_tetra3d_simd_module__",qA="__jsColorEngine_tetra3d_simd_int16_module__",TA="__jsColorEngine_tetra4d_nch_module__",UA="__jsColorEngine_tetra4d_nch_int16_module__",YA="__jsColorEngine_tetra4d_simd_module__",NA="__jsColorEngine_tetra4d_simd_int16_module__",PA="__jsColorEngine_tetra5d_nch_module__",JA="__jsColorEngine_tetra6d_nch_module__";function Xt(i,e,t){i.kernelPlain=e&&typeof e[t]=="function"?e[t]:i.kernel,i.kernelCached=e&&typeof e[t+"_cached"]=="function"?e[t+"_cached"]:null,i.kernel=i.pixelCacheOn&&i.kernelCached?i.kernelCached:i.kernelPlain}function _0(i){return this.kernelCached?(this.pixelCacheOn=!!i,this.kernel=this.pixelCacheOn?this.kernelCached:this.kernelPlain,this.pixelCacheOn):(this.pixelCacheOn=!1,this.kernelPlain&&(this.kernel=this.kernelPlain),!1)}function Le(i,e,t,a,A,r){var n=QA(i,{cache:r&&r.wasmCache,cacheKey:e,exportName:t});if(!n)return null;var o=new a(n.exports,n.kernel,!!A,n.module,t);return o.pixelCacheOn=!1,Xt(o,n.exports,t),o}function XA(i){return Le(MA,LA,"interp_tetra3d_nCh",be,!1,i)}function HA(i){return Le(pA,FA,"interp_tetra3d_nCh_int16",ze,!1,i)}function KA(i){return Le(wA,qA,"interp_tetra3d_simd_int16",ze,!0,i)}function OA(i){return Le(_A,kA,"interp_tetra3d_simd",be,!0,i)}function ZA(i){return Le(yA,TA,"interp_tetra4d_nCh",ye,!1,i)}function WA(i){return Le(DA,UA,"interp_tetra4d_nCh_int16",Je,!1,i)}function VA(i){return Le(xA,NA,"interp_tetra4d_simd_int16",Je,!0,i)}function jA(i){return Le(bA,YA,"interp_tetra4d_simd",ye,!0,i)}function be(i,e,t,a,A){this.exports=i,this.memory=i.memory,this.kernel=e,this.isSimd=!!t,this.module=a||null,this.kernelName=A||"",this.shrinkRatio=0,this.maxMemory=0,this.lutPtr=0,this.inputPtr=0,this.outputPtr=0,this.lutBytes=0,this.boundIntLut=null,this.reservedCap=0,this.dispatchCount=0}be.prototype.compactIfNeeded=function(){var i=this.memory.buffer.byteLength;if(this.maxMemory>0&&i>this.maxMemory)this.compact();else if(this.shrinkRatio>0){var e=i/65536|0,t=Math.ceil((this.lutBytes+this.reservedCap)/65536);e>t*this.shrinkRatio&&this.compact()}};be.prototype.compact=function(){if(this.module){var i=new WebAssembly.Instance(this.module,{});this.exports=i.exports,this.memory=i.exports.memory,Xt(this,i.exports,this.kernelName),this.boundIntLut=null,this.lutBytes=0,this.reservedCap=0,this.lutPtr=0,this.inputPtr=0,this.outputPtr=0}};be.prototype.setPixelCache=_0;be.prototype.bind=function(i,e,t,a,A){a===void 0&&(a=3),A===void 0&&(A=t);var r=i.CLUT.byteLength,n=e*a,o=e*A,g=this.isSimd?4:0,s=0,h=r+7&-8,l=s+h,u=l+(n+7&-8),c=u,_=c+o+g,Q=Math.ceil(_/65536),I=this.memory.buffer.byteLength/65536|0;if(I<Q&&this.memory.grow(Q-I),this.boundIntLut!==i||this.lutBytes!==r){var B=new Uint16Array(this.memory.buffer);B.set(i.CLUT,s>>1),this.boundIntLut=i,this.lutBytes=r}this.lutPtr=s,this.inputPtr=l,this.outputPtr=c,this.reservedCap=n+o};be.prototype.runTetra3D=function(i,e,t,a,A,r,n,o,g,s){var h=o?1:0,l=0;s?l=2:g&&(l=1);var u=o?4:3,c=g?n+1:n,_=A*u,Q=A*c,I=this.memory.buffer,B=new Uint8Array(I);if(i instanceof Uint8Array||i instanceof Uint8ClampedArray)B.set(i.subarray(e,e+_),this.inputPtr);else for(var m=0;m<_;m++)B[this.inputPtr+m]=i[e+m]&255;this.kernel(this.inputPtr,this.outputPtr,this.lutPtr,A,n,r.go0,r.go1,r.go2,r.gridPointsScale_fixed,r.maxX,r.maxY,r.maxZ,h,l),this.dispatchCount++;var y=new Uint8Array(this.memory.buffer,this.outputPtr,Q);if(t instanceof Uint8Array||t instanceof Uint8ClampedArray)t.set(y,a);else for(var X=0;X<Q;X++)t[a+X]=y[X]};function ze(i,e,t,a,A){this.exports=i,this.memory=i.memory,this.kernel=e,this.isSimd=!!t,this.module=a||null,this.kernelName=A||"",this.shrinkRatio=0,this.maxMemory=0,this.lutPtr=0,this.inputPtr=0,this.outputPtr=0,this.lutBytes=0,this.boundIntLut=null,this.reservedCap=0,this.dispatchCount=0}ze.prototype.compact=be.prototype.compact;ze.prototype.compactIfNeeded=be.prototype.compactIfNeeded;ze.prototype.bind=function(i,e,t,a,A){a===void 0&&(a=6),A===void 0&&(A=t*2);var r=i.CLUT.byteLength,n=e*a,o=e*A,g=this.isSimd?4:0,s=0,h=r+7&-8,l=s+h,u=l+(n+7&-8),c=u,_=c+o+g,Q=Math.ceil(_/65536),I=this.memory.buffer.byteLength/65536|0;if(I<Q&&this.memory.grow(Q-I),this.boundIntLut!==i||this.lutBytes!==r){var B=new Uint16Array(this.memory.buffer);B.set(i.CLUT,s>>1),this.boundIntLut=i,this.lutBytes=r}this.lutPtr=s,this.inputPtr=l,this.outputPtr=c,this.reservedCap=n+o};ze.prototype.runTetra3D=function(i,e,t,a,A,r,n,o,g,s){var h=o?1:0,l=0;s?l=2:g&&(l=1);var u=o?4:3,c=g?n+1:n,_=A*u*2,Q=A*c*2,I=this.memory.buffer;if(i instanceof Uint16Array){var B=new Uint16Array(I);B.set(i.subarray(e,e+A*u),this.inputPtr>>1)}else for(var m=new Uint8Array(I),y=0;y<A*u;y++){var X=i[e+y]&65535;m[this.inputPtr+y*2]=X&255,m[this.inputPtr+y*2+1]=X>>>8&255}this.kernel(this.inputPtr,this.outputPtr,this.lutPtr,A,n,r.go0,r.go1,r.go2,r.gridPointsScale_fixed_u16,r.maxX,r.maxY,r.maxZ,h,l),this.dispatchCount++;var N=new Uint16Array(this.memory.buffer,this.outputPtr,A*c);if(t instanceof Uint16Array)t.set(N,a);else for(var L=0;L<A*c;L++)t[a+L]=N[L]};function ye(i,e,t,a,A){this.exports=i,this.memory=i.memory,this.kernel=e,this.isSimd=!!t,this.module=a||null,this.kernelName=A||"",this.shrinkRatio=0,this.maxMemory=0,this.lutPtr=0,this.inputPtr=0,this.outputPtr=0,this.scratchPtr=0,this.lutBytes=0,this.boundIntLut=null,this.reservedCap=0,this.dispatchCount=0}ye.prototype.compact=function(){if(this.module){var i=new WebAssembly.Instance(this.module,{});this.exports=i.exports,this.memory=i.exports.memory,Xt(this,i.exports,this.kernelName),this.boundIntLut=null,this.lutBytes=0,this.reservedCap=0,this.lutPtr=0,this.inputPtr=0,this.outputPtr=0,this.scratchPtr=0}};ye.prototype.setPixelCache=_0;ye.prototype.compactIfNeeded=be.prototype.compactIfNeeded;ye.SCRATCH_BYTES=64;ye.prototype.bind=function(i,e,t,a,A){a===void 0&&(a=4),A===void 0&&(A=t);var r=i.CLUT.byteLength,n=e*a,o=e*A,g=ye.SCRATCH_BYTES,s=this.isSimd?4:0,h=0,l=r+7&-8,u=h+l,c=u+(n+7&-8),_=c,Q=_+(o+s+3&-4),I=Q,B=I+g,m=Math.ceil(B/65536),y=this.memory.buffer.byteLength/65536|0;if(y<m&&this.memory.grow(m-y),this.boundIntLut!==i||this.lutBytes!==r){var X=new Uint16Array(this.memory.buffer);X.set(i.CLUT,h>>1),this.boundIntLut=i,this.lutBytes=r}this.lutPtr=h,this.inputPtr=u,this.outputPtr=_,this.scratchPtr=I,this.reservedCap=n+o};ye.prototype.runTetra4D=function(i,e,t,a,A,r,n,o,g,s){var h=o?1:0,l=0;s?l=2:g&&(l=1);var u=o?5:4,c=g?n+1:n,_=A*u,Q=A*c,I=this.memory.buffer,B=new Uint8Array(I);if(i instanceof Uint8Array||i instanceof Uint8ClampedArray)B.set(i.subarray(e,e+_),this.inputPtr);else for(var m=0;m<_;m++)B[this.inputPtr+m]=i[e+m]&255;this.kernel(this.inputPtr,this.outputPtr,this.lutPtr,A,n,r.go0,r.go1,r.go2,r.go3,r.gridPointsScale_fixed,r.maxX,r.maxY,r.maxZ,r.maxK,this.scratchPtr,h,l),this.dispatchCount++;var y=new Uint8Array(this.memory.buffer,this.outputPtr,Q);if(t instanceof Uint8Array||t instanceof Uint8ClampedArray)t.set(y,a);else for(var X=0;X<Q;X++)t[a+X]=y[X]};function Je(i,e,t,a,A){this.exports=i,this.memory=i.memory,this.kernel=e,this.isSimd=!!t,this.module=a||null,this.kernelName=A||"",this.shrinkRatio=0,this.maxMemory=0,this.lutPtr=0,this.inputPtr=0,this.outputPtr=0,this.scratchPtr=0,this.lutBytes=0,this.boundIntLut=null,this.reservedCap=0,this.dispatchCount=0}Je.prototype.compact=ye.prototype.compact;Je.prototype.compactIfNeeded=be.prototype.compactIfNeeded;Je.SCRATCH_BYTES=64;Je.prototype.bind=function(i,e,t,a,A){a===void 0&&(a=8),A===void 0&&(A=t*2);var r=i.CLUT.byteLength,n=e*a,o=e*A,g=Je.SCRATCH_BYTES,s=this.isSimd?4:0,h=0,l=r+7&-8,u=h+l,c=u+(n+7&-8),_=c,Q=_+(o+s+3&-4),I=Q,B=I+g,m=Math.ceil(B/65536),y=this.memory.buffer.byteLength/65536|0;if(y<m&&this.memory.grow(m-y),this.boundIntLut!==i||this.lutBytes!==r){var X=new Uint16Array(this.memory.buffer);X.set(i.CLUT,h>>1),this.boundIntLut=i,this.lutBytes=r}this.lutPtr=h,this.inputPtr=u,this.outputPtr=_,this.scratchPtr=I,this.reservedCap=n+o};Je.prototype.runTetra4D=function(i,e,t,a,A,r,n,o,g,s){var h=o?1:0,l=0;s?l=2:g&&(l=1);var u=o?5:4,c=g?n+1:n,_=A*u*2,Q=A*c*2,I=this.memory.buffer;if(i instanceof Uint16Array){var B=new Uint16Array(I);B.set(i.subarray(e,e+A*u),this.inputPtr>>1)}else for(var m=new Uint8Array(I),y=0;y<A*u;y++){var X=i[e+y]&65535;m[this.inputPtr+y*2]=X&255,m[this.inputPtr+y*2+1]=X>>>8&255}this.kernel(this.inputPtr,this.outputPtr,this.lutPtr,A,n,r.go0,r.go1,r.go2,r.go3,r.gridPointsScale_fixed_u16,r.maxX,r.maxY,r.maxZ,r.maxK,this.scratchPtr,h,l),this.dispatchCount++;var N=new Uint16Array(this.memory.buffer,this.outputPtr,A*c);if(t instanceof Uint16Array)t.set(N,a);else for(var L=0;L<A*c;L++)t[a+L]=N[L]};function Xe(i,e,t,a,A){ye.call(this,i,e,t,a,A)}Xe.prototype=Object.create(ye.prototype);Xe.prototype.constructor=Xe;Xe.SCRATCH_BYTES=64;Xe.prototype.bind=function(i,e,t,a,A){a===void 0&&(a=5),A===void 0&&(A=t);var r=Math.max(Xe.SCRATCH_BYTES,t*8);return w0(this,i,e,t,a,A,r)};Xe.prototype.runTetra5D=function(i,e,t,a,A,r,n,o,g,s){y0(this,i,e,t,a,A,r,n,o,g,s,5,function(h,l,u){h.kernel(h.inputPtr,h.outputPtr,h.lutPtr,A,n,r.go0,r.go1,r.go2,r.go3,r.gridPointsScale_fixed,r.maxX,r.maxY,r.maxZ,r.maxK,r.go4,r.maxE,h.scratchPtr,l,u)})};function He(i,e,t,a,A){ye.call(this,i,e,t,a,A)}He.prototype=Object.create(ye.prototype);He.prototype.constructor=He;He.SCRATCH_BYTES=64;He.prototype.bind=function(i,e,t,a,A){a===void 0&&(a=6),A===void 0&&(A=t);var r=Math.max(He.SCRATCH_BYTES,t*12);return w0(this,i,e,t,a,A,r)};He.prototype.runTetra6D=function(i,e,t,a,A,r,n,o,g,s){y0(this,i,e,t,a,A,r,n,o,g,s,6,function(h,l,u){h.kernel(h.inputPtr,h.outputPtr,h.lutPtr,A,n,r.go0,r.go1,r.go2,r.go3,r.gridPointsScale_fixed,r.maxX,r.maxY,r.maxZ,r.maxK,r.go4,r.maxE,r.go5,r.maxF,h.scratchPtr,l,u)})};function w0(i,e,t,a,A,r,n){var o=e.CLUT.byteLength,g=t*A,s=t*r,h=0,l=o+7&-8,u=h+l,c=u+(g+7&-8),_=c,Q=_+(s+3&-4),I=Q,B=I+n,m=Math.ceil(B/65536),y=i.memory.buffer.byteLength/65536|0;if(y<m&&i.memory.grow(m-y),i.boundIntLut!==e||i.lutBytes!==o){var X=new Uint16Array(i.memory.buffer);X.set(e.CLUT,h>>1),i.boundIntLut=e,i.lutBytes=o}i.lutPtr=h,i.inputPtr=u,i.outputPtr=_,i.scratchPtr=I,i.reservedCap=g+s}function y0(i,e,t,a,A,r,n,o,g,s,h,l,u){var c=g?1:0,_=0;h?_=2:s&&(_=1);var Q=g?l+1:l,I=s?o+1:o,B=r*Q,m=r*I,y=i.memory.buffer,X=new Uint8Array(y);if(e instanceof Uint8Array||e instanceof Uint8ClampedArray)X.set(e.subarray(t,t+B),i.inputPtr);else for(var N=0;N<B;N++)X[i.inputPtr+N]=e[t+N]&255;u(i,c,_),i.dispatchCount++;var L=new Uint8Array(i.memory.buffer,i.outputPtr,m);if(a instanceof Uint8Array||a instanceof Uint8ClampedArray)a.set(L,A);else for(var T=0;T<m;T++)a[A+T]=L[T]}function zA(i){return Le(RA,PA,"interp_tetra5d_nCh",Xe,!1,i)}function $A(i){return Le(GA,JA,"interp_tetra6d_nCh",He,!1,i)}D0.exports={hasWebAssembly:SA,instantiate:pt.instantiate,compile:pt.compile,createTetra3DState:XA,createTetra3DInt16State:HA,createTetra3DSimdState:OA,createTetra3DInt16SimdState:KA,createTetra4DState:ZA,createTetra4DInt16State:WA,createTetra4DSimdState:jA,createTetra4DInt16SimdState:VA,createTetra5DState:zA,createTetra6DState:$A}});var ke=ae((Vh,G0)=>{"use strict";var b0=$e(),ot=["wasmTetra3D","wasmTetra3DSimd","wasmTetra3DInt16","wasmTetra3DInt16Simd","wasmTetra4D","wasmTetra4DSimd","wasmTetra4DInt16","wasmTetra4DInt16Simd","wasmTetra5D","wasmTetra6D"],en={"int-wasm-simd":"int","int-wasm-scalar":"int","int16-wasm-simd":"int16","int16-wasm-scalar":"int16"};function tn(i){var e=i.pixelCache;return e!==0&&e!==!1&&e!=="0"}function x0(i,e){return!e||typeof e.setPixelCache!="function"?!1:e.setPixelCache(tn(i))}function R0(i,e){return typeof i=="function"?i({wasmCache:e.wasmCache}):typeof i=="string"&&b0[i]?b0[i]({wasmCache:e.wasmCache}):null}function an(i){var e=i.outputChannels;return e!==3&&e!==4}function rn(i,e,t){if(!t){var a=en[i.lutMode];return a&&(i.verbose&&console.log(" lutMode="+i.lutMode+": no WebAssembly kernels exist for "+(e.name||"this kernel")+' - using "'+a+'"'),i.lutMode=a),i.lutMode}for(;t[i.lutMode];){var A=t[i.lutMode],r=R0(A.load,i);if(r===null){if(i.verbose){var n=typeof A.load=="function"&&A.load.name||A.load;console.warn(" lutMode="+i.lutMode+": "+n+' unavailable - demoting to "'+A.demoteTo+'"')}i.lutMode=A.demoteTo;continue}e[A.slot]=r;var o=null;A.alsoLoad&&an(i)&&(o=R0(A.alsoLoad,i),o!==null&&(e[A.alsoSlot]=o));var g=x0(i,r);if(o&&(g=x0(i,o)||g),g&&(e.inKernelCache=1),i.verbose){var s=typeof A.load=="function"&&A.load.name||A.load;console.log(" lutMode="+i.lutMode+": "+s+" loaded"+(o?" (+ scalar fallthrough)":"")+(g?" (pixel cache)":""))}return i.lutMode}return i.lutMode}function An(i){for(var e=0;e<ot.length;e++)i[ot[e]]=null}function nn(i,e,t){if(!(e<=0&&t<=0))for(var a=0;a<ot.length;a++){var A=i[ot[a]];A&&A.compactIfNeeded()}}G0.exports={settleWasmStates:rn,releaseWasmStates:An,compactIfNeeded:nn,SLOTS:ot}});var Ot=ae((jh,F0)=>{"use strict";function gt(i){try{if(typeof globalThis<"u"&&globalThis[i]!==void 0&&globalThis[i]!==null&&globalThis[i]!=="")return globalThis[i]}catch{}try{if(typeof process<"u"&&process.env){var e=process.env[i];if(e!==void 0&&e!=="")return e}}catch{}}function L0(i,e,t){var a=gt(i);if(a!==void 0){if(a=String(a),e.indexOf(a)!==-1)return a;t||Kt(i,a,e.join(" | "))}}function sn(i,e){var t=gt(i);if(t!==void 0){var a=L0(i,e,!0);if(a!==void 0)return a;var A=Number(t);if(isFinite(A)&&A>=0)return A;Kt(i,t,e.join(" | ")+" or a non-negative number")}}function hn(i){var e=gt(i);if(e!==void 0){var t=Number(e);if(!isFinite(t)||t<0){Kt(i,e,"a non-negative number");return}return t}}function ln(i){var e=gt(i);return e===void 0?!1:(e=String(e).toLowerCase(),e==="1"||e==="true"||e==="yes")}var Ht={};function Kt(i,e,t){Ht[i]||(Ht[i]=!0,typeof console<"u"&&console.warn&&console.warn("jsColorEngine: ignoring "+i+'="'+e+'" \u2014 expected '+t+"."))}F0.exports={raw:gt,readEnum:L0,readEnumOrNumber:sn,readNumber:hn,readFlag:ln,_resetWarnings:function(){Ht={}}}});var k0=ae(()=>{});var Zt=ae(()=>{});var V0=ae((al,W0)=>{"use strict";var Y0=null;try{Y0=Ut("path")}catch{}var ut=Ot(),Wt={cores:"auto",minThreads:2,maxThreads:16,tasksPerWorker:10,bufferPx:262144,minSlicePx:16384,parallelFloorPx:65536,idleTimeoutMs:3e4,keepAlive:!0,transformsPerWorker:8,debug:!1};function on(){try{var i=k0();if(i&&(i.availableParallelism||i.cpus))return(i.availableParallelism?i.availableParallelism():i.cpus().length)||4}catch{}try{if(typeof navigator<"u"&&navigator.hardwareConcurrency)return navigator.hardwareConcurrency}catch{}return 4}function N0(i){var e=on();return i==="max"?e:i==="auto"||i===void 0||i===null?Math.max(1,Math.floor(e*.5)):Math.max(1,i|0)}function P0(i,e,t){var a=Math.ceil(i/(e*t.tasksPerWorker)),A=Math.min(t.bufferPx,Math.max(t.minSlicePx,a));return Math.max(64,Math.ceil(A/64)*64)}function gn(i,e,t){for(var a=[],A=0;A<i.length;A++)for(var r=i[A].pixelCount,n=P0(r,e,t),o=0;o<r;o+=n)a.push({imageIndex:A,start:o,length:Math.min(n,r-o)});return a.sort(function(g,s){return s.length-g.length}),a}var Se=Object.create(null);function xe(i,e){this.workers=i,this.opts=e,this.leases=0,this.idleTimer=null,this.free=[],this.all=[],this.lutsPerWorker=[],this.payloadBytes=Object.create(null),this.cancelledIds=Object.create(null),this.inFlight=0,this.scratchIn=[],this.scratchOut=[],this.workerTasks=[],this.workerPixels=[],this.workerComputeMs=[],this.destroyed=!1,this._chain=Promise.resolve(),this.starting=null,this.busy=!1}xe.prototype.start=function(){if(this.starting)return this.starting;var i=this;return this.starting=new Promise(function(e,t){var a=fn(i.opts);if(!a)return t(new Error(zt()));i.host=a.host;for(var A=i.workers,r=!1,n=0;n<i.workers;n++)(function(o){var g;try{g=a.spawn()}catch(s){r||(r=!0,t(s));return}g.unref&&g.unref(),g.on("exit",function(s){s!==0&&Se[i.key]===i&&i.destroy()}),g.once("message",function(s){s&&s.type==="ready"&&(i.all[o]=g,i.lutsPerWorker[o]=Object.create(null),i.free.push(o),--A===0&&!r&&e(i))}),g.once("error",function(s){r||(r=!0,t(s))})})(n)}),this.starting};xe.prototype._refAll=function(i){for(var e=0;e<this.all.length;e++){var t=this.all[e];t&&(i&&t.ref?t.ref():!i&&t.unref&&t.unref())}};xe.prototype.armIdleTimer=function(){var i=this,e=this.opts.idleTimeoutMs;if(this.clearIdleTimer(),!this.opts.keepAlive){this.destroy();return}!e||e===1/0||!isFinite(e)||(this.idleTimer=setTimeout(function(){i.destroy()},e),this.idleTimer&&this.idleTimer.unref&&this.idleTimer.unref())};xe.prototype.clearIdleTimer=function(){this.idleTimer&&(clearTimeout(this.idleTimer),this.idleTimer=null)};xe.prototype._ensureLut=function(i,e,t){var a=this;return this.lutsPerWorker[i][e]?Promise.resolve():new Promise(function(A,r){var n=a.all[i],o=function(g){if(g)if(g.type==="lutOk"&&g.signature===e){if(n.off("message",o),g.evicted)for(var s=0;s<g.evicted.length;s++)delete a.lutsPerWorker[i][g.evicted[s]],a.opts.debug&&console.log("jsColorEngine pool: worker "+i+" evicted "+g.evicted[s]);a.lutsPerWorker[i][e]=!0,g.bytes!==void 0&&(a.payloadBytes[e]=g.bytes),a.opts.debug&&console.log("jsColorEngine pool: shipped "+e+" ("+t.mode+") to worker "+i+", "+((g.bytes||0)/1048576).toFixed(2)+" MB"),A()}else g.type==="error"&&g.signature===e&&(n.off("message",o),r(new Error(g.message)))};n.on("message",o),t.mode==="chain"?n.postMessage({type:"chain",signature:e,chain:t.chain,options:t.options,maxTransforms:a.opts.transformsPerWorker}):n.postMessage({type:"lut",signature:e,lut:t.lut,lutMode:t.lutMode,maxTransforms:a.opts.transformsPerWorker})})};xe.prototype.workerInfo=function(i,e){var t=this;if(tt())return A();var a=this._chain.then(A,A);return this._chain=a.catch(function(){}),a;function A(){return t.start().then(r)}function r(){return Promise.all(t.all.map(function(n,o){return t._ensureLut(o,i,e).then(function(){return new Promise(function(g,s){var h=function(l){!l||l.type!=="info"||l.signature!==i||(n.off("message",h),g(l.info))};n.on("message",h),n.postMessage({type:"info",signature:i})})})}))}};xe.prototype.forget=function(i){var e=this;if(tt())return Promise.resolve(a());var t=this._chain.then(a,a);return this._chain=t.catch(function(){}),t;function a(){return e.all.forEach(function(A,r){e.lutsPerWorker[r]&&delete e.lutsPerWorker[r][i],A&&A.postMessage({type:"forget",signature:i})}),e.all.length}};xe.prototype.run=function(i,e,t,a,A,r,n,o){var g=this,s=Et,h=[i,e,t,a,A,r,n,o,s],l=this._chain.then(function(){return g._runBatch.apply(g,h)},function(){return g._runBatch.apply(g,h)});return this._chain=l.catch(function(){}),l};xe.prototype._runBatch=function(i,e,t,a,A,r,n,o,g){var s=this;if(tt()){var h=arguments;return Mn().then(function(){return s._runBatch.apply(s,h)})}this.clearIdleTimer(),this._refAll(!0),this.busy=!0;var l=t();return new Promise(function(u,c){if(!i.length)return s.busy=!1,u({outputs:l,workersUsed:s.all.length});for(var _=0,Q=0,I=null,B=0,m=0,y=0;y<i.length;y++){var X=e[i[y].imageIndex],N=i[y].length*X.inChannels,L=i[y].length*X.outChannels;N>B&&(B=N),L>m&&(m=L)}for(var T=new Array(e.length),D=new Array(e.length),x=new Array(e.length),F=new Array(e.length),q=0;q<e.length;q++)T[q]=0,D[q]=0,x[q]=!1,F[q]=0;for(var f=0;f<i.length;f++)T[i[f].imageIndex]+=1,F[i[f].imageIndex]+=1;var d=g===void 0?Et:g;o=o||[];function R(U){return Et!==d?!0:s.cancelledIds[o[U]]===!0}function E(U,P){P&&(x[U]=!0),n&&n(U,P?null:l[U],{computeMs:D[U],cancelled:!!P,fragments:F[U]})}var v=!1;function b(){v||(v=!0,s.busy=!1,s._refAll(!1),s.cancelledIds=Object.create(null),s.armIdleTimer(),I?c(I):u({outputs:l,workersUsed:s.all.length,cancelled:x}))}var k=Object.create(null);function w(U){if(s.destroyed){I=I||new Error("jsColorEngine: worker pool was destroyed mid-batch"),b();return}if(!I&&!(_>=i.length)){if(tt()){vn(function(){w(U)});return}G(U,_++)}}function G(U,P){var O=i[P];if(R(O.imageIndex)){--T[O.imageIndex]===0&&E(O.imageIndex,!0),++Q===i.length?b():w(U);return}var S=e[O.imageIndex],p=s.all[U];s._ensureLut(U,a,A).then(function(){var Z=O.length*S.inChannels,C=O.length*S.outChannels,M=s.scratchIn[U];(!M||M.byteLength<Z)&&(M=new ArrayBuffer(Math.max(Z,B)));var Y=s.scratchOut[U];(!Y||Y.byteLength<C)&&(Y=new ArrayBuffer(Math.max(C,m))),s.scratchIn[U]=null,s.scratchOut[U]=null;var V=new Uint8ClampedArray(M,0,Z);V.set(S.data.subarray(O.start*S.inChannels,O.start*S.inChannels+Z)),p.postMessage({type:"run",id:P,signature:a,buffer:M,outBuffer:Y,byteLength:Z,outByteLength:C,pixelCount:O.length,inputHasAlpha:S.flags?S.flags.inputHasAlpha:r.inputHasAlpha,outputHasAlpha:S.flags?S.flags.outputHasAlpha:r.outputHasAlpha,preserveAlpha:S.flags?S.flags.preserveAlpha:r.preserveAlpha},[M,Y]),s.inFlight+=1}).catch(function(Z){I=Z,Q===0&&b()})}s.all.forEach(function(U,P){U.removeAllListeners("message"),U.removeAllListeners("error"),U.on("message",function(O){if(O){if(s.destroyed){b();return}if((O.type==="unknownSignature"||O.type==="error"||O.type==="done")&&(s.inFlight-=1,O0()),O.type==="unknownSignature"){if(k[O.id]){I=new Error("poolWorker: worker "+P+" still does not hold "+O.signature+" after re-registering"),++Q>=i.length&&b();return}k[O.id]=!0,s.lutsPerWorker[P]&&delete s.lutsPerWorker[P][O.signature],G(P,O.id);return}if(O.type==="error"){I=new Error(O.message),++Q>=i.length&&b();return}if(O.type==="done"){var S=i[O.id],p=e[S.imageIndex];O.inBuffer&&(s.scratchIn[P]=O.inBuffer),O.buffer&&(s.scratchOut[P]=O.buffer);var Z=new Uint8ClampedArray(O.buffer,0,S.length*p.outChannels);l[S.imageIndex].set(Z,S.start*p.outChannels),D[S.imageIndex]+=O.computeMs||0,s.workerTasks[P]=(s.workerTasks[P]||0)+1,s.workerPixels[P]=(s.workerPixels[P]||0)+S.length,s.workerComputeMs[P]=(s.workerComputeMs[P]||0)+(O.computeMs||0),--T[S.imageIndex]===0&&E(S.imageIndex,x[S.imageIndex]),++Q===i.length?b():w(P)}}}),U.on("error",function(O){I=O,s.destroy(),b()})});for(var H=0;H<s.all.length;H++)w(H)})};xe.prototype.destroy=function(){this.clearIdleTimer();for(var i=0;i<this.all.length;i++){var e=this.all[i];if(e){try{e.postMessage({type:"exit"})}catch{}try{e.terminate()}catch{}}}this.all=[],this.free=[],this.lutsPerWorker=[],this.starting=null,this.inFlight=0,this.destroyed=!0,delete Se[this.key],O0()};var q0={JSCE_POOL_CORES:"cores",JSCE_POOL_MIN_THREADS:"minThreads",JSCE_POOL_MAX_THREADS:"maxThreads",JSCE_POOL_IDLE_MS:"idleTimeoutMs",JSCE_POOL_TRANSFORMS_PER_WORKER:"transformsPerWorker"};function In(){var i={};for(var e in q0){var t=q0[e],a;a=t==="cores"?ut.readEnumOrNumber(e,["auto","max"]):ut.readNumber(e),a!==void 0&&(i[t]=a)}return i}function Cn(){return ut.readFlag("JSCE_POOL_DISABLE")}function un(i){return String(i)}function J0(i){if(Cn())return null;var e={};for(var t in Wt)e[t]=Wt[t];var a=In();for(var A in a)e[A]=a[A];for(var r in i||{})i[r]!==void 0&&(e[r]=i[r]);var n=Math.min(e.maxThreads,N0(e.cores));if(n<e.minThreads)return null;var o=un(n),g=Se[o];return g||(g=new xe(n,e),g.key=o,Se[o]=g),g.leases++,g}function En(i){if(i=i||{},!cn(i))return Promise.reject(new Error(zt()));var e=J0(i);return e?e.start().then(function(){return{workers:e.workers,host:e.host}}).catch(function(t){throw X0(e),t}):Promise.reject(new Error("jsColorEngine: pool declined to start. Either JSCE_POOL_DISABLE is set, or the resolved worker count is below minThreads (default 2) \u2014 one worker is measurably slower than none."))}function zt(){return $t()?ut.readFlag("JSCE_POOL_DISABLE")?"JSCE_POOL_DISABLE is set.":"the resolved worker count is below minThreads (default 2) \u2014 one worker is measurably slower than none, so the pool declined.":typeof Worker!="function"?"No worker backend on this host. Under Node the pool needs worker_threads; in a browser it needs the Worker constructor.":ea()?"Worker backend is available but the pool declined to start.":"No worker URL. Call Transform.enablePool({workerUrl: '/path/to/jsColorEngineWorker.js'}) or set globalThis.JSCE_WORKER_URL to the worker bundle."}function $t(){try{var i=Zt();return!!(i&&typeof i.Worker=="function")}catch{return!1}}function ea(i){return i&&i.workerUrl?i.workerUrl:ut.raw("JSCE_WORKER_URL")}function cn(i){return $t()?!0:!!(ea(i)&&typeof Worker=="function")}function fn(i){if($t())return{host:"worker_threads",spawn:function(){var t=Zt(),a=Y0.join(__dirname,"poolWorker.js");return new t.Worker(a)}};var e=ea(i);return e&&typeof Worker=="function"?{host:"web_worker",spawn:function(){return Bn(new Worker(e))}}:null}function Bn(i){var e={message:[],error:[],exit:[]};function t(n,o){for(var g=e[n].slice(),s=0;s<g.length;s++)g[s].fn(o);e[n]=e[n].filter(function(h){return!h.once})}i.addEventListener("message",function(n){t("message",n.data)}),i.addEventListener("error",function(n){t("error",n.error||new Error(n.message||"worker error"))});function a(n,o,g){return e[n]||(e[n]=[]),e[n].push({fn:o,once:!!g}),r}function A(n,o){return e[n]&&(e[n]=e[n].filter(function(g){return g.fn!==o})),r}var r={postMessage:function(n,o){i.postMessage(n,o||[])},terminate:function(){i.terminate()},on:function(n,o){return a(n,o,!1)},once:function(n,o){return a(n,o,!0)},off:function(n,o){return A(n,o)},removeListener:function(n,o){return A(n,o)},removeAllListeners:function(n){return n?e[n]=[]:(e.message=[],e.error=[],e.exit=[]),r},ref:function(){},unref:function(){}};return r}function X0(i){i&&(i.leases=Math.max(0,i.leases-1),i.leases===0&&!i.busy&&!i.opts.keepAlive&&i.destroy())}function mn(){for(var i in Se)Se[i].destroy()}function H0(){var i={pools:[],workers:0,transforms:0,residentBytes:0};return Object.keys(Se).forEach(function(e){for(var t=Se[e],a=Object.create(null),A=0,r=0,n=0,o=0;o<t.lutsPerWorker.length;o++){var g=t.lutsPerWorker[o];if(g){var s=Object.keys(g);s.length&&(n+=1);for(var h=0;h<s.length;h++){var l=t.payloadBytes[s[h]]||0;a[s[h]]=l,A+=1,r+=l}}}for(var u=Object.keys(a),c=0,_=0;_<u.length;_++)c+=a[u[_]];i.pools.push({key:e,workers:t.all.length,workersHolding:n,leases:t.leases,busy:t.busy,transformsResident:u.length,residencies:A,bytesPerWorkerSet:c,residentBytes:r,transformsPerWorker:t.opts.transformsPerWorker,idleTimeoutMs:t.opts.idleTimeoutMs}),i.workers+=t.all.length,i.transforms+=u.length,i.residentBytes+=r}),i}function dn(){var i=H0();if(!i.pools.length)return"jsColorEngine pool: none running";var e=function(a){return(a/1048576).toFixed(1)+" MB"},t=i.pools.map(function(a){return"pool "+a.key+": "+a.workers+" workers ("+a.workersHolding+" holding), "+a.transformsResident+" transform(s), "+a.residencies+" copies, "+e(a.residentBytes)+" resident \u2014 "+e(a.bytesPerWorkerSet)+" per worker that holds them all"});return t.push("total: "+i.workers+" workers, "+e(i.residentBytes)+" resident in worker LUTs"),t.join(`
`)}var Et=0,et=[],It=0,Vt=[],_t=[];function tt(){return It>0}function vn(i){Vt.push(i)}function K0(){for(var i=Object.keys(Se),e=0,t=0;t<i.length;t++)e+=Se[i[t]].inFlight;return e}function O0(){if(_t.length&&!(K0()>0)){var i=_t;_t=[];for(var e=0;e<i.length;e++)i[e]()}}function Qn(){return K0()<=0?Promise.resolve():new Promise(function(i){_t.push(i)})}function Sn(i){return It+=1,Qn().then(function(){return i()}).then(function(e){return T0(),e},function(e){throw T0(),e})}var jt=[];function Mn(){return tt()?new Promise(function(i){jt.push(i)}):Promise.resolve()}function T0(){if(It-=1,!(It>0)){It=0;var i=jt;jt=[];for(var e=0;e<i.length;e++)i[e]();var t=Vt;Vt=[];for(var a=0;a<t.length;a++)t[a]()}}var ta=0;function pn(i){ta+=1,Ct+=i||0}function _n(i){ta-=1,Ct-=i||0,Ct<0&&(Ct=0),wn()}function aa(){return ta}function wt(){return Ct}var Ct=0;function wn(){if(et.length){for(var i=aa(),e=wt(),t=[],a=0;a<et.length;a++){var A=et[a],r=A.kind==="bytes"?e:i;r<A.limit?A.resolve(r):t.push(A)}et=t}}function Z0(i){i=i===void 0?2:i;var e=aa();return e<i?Promise.resolve(e):new Promise(function(t){et.push({limit:i,resolve:t,kind:"depth"})})}function yn(i){if(!(i>0))return Promise.resolve(wt());var e=wt();return e<i?Promise.resolve(e):new Promise(function(t){et.push({limit:i,resolve:t,kind:"bytes"})})}function Dn(){return Z0(1)}function bn(i){for(var e=Object.keys(Se),t=0,a=0;a<e.length;a++)Se[e[a]].cancelledIds[i]=!0,t+=1;return t>0}function xn(){return Et+=1,Et}function Rn(){return Object.keys(Se).map(function(i){for(var e=Se[i],t=[],a=0;a<e.workers;a++){var A=e.workerComputeMs[a]||0,r=e.workerPixels[a]||0;t.push({worker:a,tasks:e.workerTasks[a]||0,pixels:r,computeMs:A,mpxs:A>0?r/1e6/(A/1e3):0})}var n=t.map(function(s){return s.mpxs}).filter(function(s){return s>0}),o=Math.min.apply(null,n),g=Math.max.apply(null,n);return{key:i,workers:e.workers,perWorker:t,slowestMpxs:n.length?o:0,fastestMpxs:n.length?g:0,spread:n.length&&o>0?g/o:0}})}var U0=0;function Gn(){return U0+=1,"tx"+U0}function Ln(i){var e=Object.keys(Se);return Promise.all(e.map(function(t){return Se[t].forget(i)})).then(function(t){return t.reduce(function(a,A){return a+A},0)})}W0.exports={DEFAULTS:Wt,idealWorkers:N0,sliceLengthFor:P0,planBatch:gn,acquire:J0,enable:En,unavailableReason:zt,release:X0,destroyAll:mn,forgetEverywhere:Ln,nextKey:Gn,cancel:bn,cancelAll:xn,queueDepth:aa,workerStats:Rn,interrupt:Sn,isPaused:tt,enterQueue:pn,leaveQueue:_n,onQueueBelow:Z0,onMemoryBelow:yn,memoryInFlight:wt,onQueueFree:Dn,memoryReport:H0,memorySummary:dn,_pools:Se}});var ia=ae((il,j0)=>{"use strict";j0.exports={linearInterp1DArray_NCh_loop(i,e,t,a,A,r,n,o,g){for(var s=r.outputScale,h=r.outputChannels,l=r.g1-1,u=l*r.inputScale,c=r.CLUT,_=r.go0,Q,I,B,m,y,X,N,L=0;L<A;L++){for(Q=i[e++]*u,Q<0?Q=0:Q>l&&(Q=l),B=~~Q,I=Q-B,B===l?m=B*=_:(B*=_,m=B+_),N=0;N<h;N++)y=c[B++],X=c[m++],t[a++]=(y+(X-y)*I)*s;g?t[a++]=i[e++]:(n&&e++,o&&(t[a++]=255))}}}});var ra=ae((rl,z0)=>{"use strict";z0.exports={bilinearInterp2DArray_NCh_loop(i,e,t,a,A,r,n,o,g){for(var s=r.outputScale,h=r.outputChannels,l=r.g1-1,u=l*r.inputScale,c=r.CLUT,_=r.go0,Q=r.go1,I,B,m,y,X,N,L,T,D,x,F,q,f,d,R,E,v,b,k=0;k<A;k++){for(I=i[e++]*u,I<0?I=0:I>l&&(I=l),B=i[e++]*u,B<0?B=0:B>l&&(B=l),X=~~I,m=I-X,X===l?N=X*=Q:(X*=Q,N=X+Q),L=~~B,y=B-L,L===l?T=L*=_:(L*=_,T=L+_),D=X+L,x=X+T,F=N+L,q=N+T,b=0;b<h;b++)f=c[D++],d=c[x++],R=c[F++],E=c[q++],v=f+(R-f)*m,t[a++]=(v+(d+(E-d)*m-v)*y)*s;g?t[a++]=i[e++]:(n&&e++,o&&(t[a++]=255))}}}});var Aa=ae((Al,$0)=>{"use strict";$0.exports={tetrahedralInterp3DArray_4Ch_loop(i,e,t,a,A,r,n,o,g){for(var s,h,l,u,c,_,Q,I,B,m,y,X,N,L,T,D,x,F,q,f,d,R,E,v,b,k=r.outputScale,w=(r.g1-1)*r.inputScale,G=r.CLUT,H=r.go0,U=r.go1,P=r.go2,O=0;O<A;O++)N=i[e++],L=i[e++],T=i[e++],m=N*w,y=L*w,X=T*w,u=~~m,s=m-u,u*=P,c=N===255?u:u+P,_=~~y,h=y-_,_*=U,Q=L===255?_:_+U,I=~~X,l=X-I,I*=H,B=T===255?I:I+H,D=u+_+I,f=G[D++],d=G[D++],R=G[D++],E=G[D],s>=h&&h>=l?(D=c+_+I,x=c+Q+I,q=c+Q+B,v=G[D++],b=G[x++],t[a++]=(f+(v-f)*s+(b-v)*h+(G[q++]-b)*l)*k,v=G[D++],b=G[x++],t[a++]=(d+(v-d)*s+(b-v)*h+(G[q++]-b)*l)*k,v=G[D++],b=G[x++],t[a++]=(R+(v-R)*s+(b-v)*h+(G[q++]-b)*l)*k,v=G[D],b=G[x],t[a++]=(E+(v-E)*s+(b-v)*h+(G[q]-b)*l)*k):s>=l&&l>=h?(D=c+_+I,x=c+Q+B,F=c+_+B,v=G[F++],b=G[D++],t[a++]=(f+(b-f)*s+(G[x++]-v)*h+(v-b)*l)*k,v=G[F++],b=G[D++],t[a++]=(d+(b-d)*s+(G[x++]-v)*h+(v-b)*l)*k,v=G[F++],b=G[D++],t[a++]=(R+(b-R)*s+(G[x++]-v)*h+(v-b)*l)*k,v=G[F],b=G[D],t[a++]=(E+(b-E)*s+(G[x]-v)*h+(v-b)*l)*k):s>=h&&l>=s?(D=c+_+B,x=u+_+B,F=c+Q+B,v=G[D++],b=G[x++],t[a++]=(f+(v-b)*s+(G[F++]-v)*h+(b-f)*l)*k,v=G[D++],b=G[x++],t[a++]=(d+(v-b)*s+(G[F++]-v)*h+(b-d)*l)*k,v=G[D++],b=G[x++],t[a++]=(R+(v-b)*s+(G[F++]-v)*h+(b-R)*l)*k,v=G[D++],b=G[x++],t[a++]=(E+(v-b)*s+(G[F]-v)*h+(b-E)*l)*k):h>=s&&s>=l?(D=c+Q+I,x=u+Q+I,q=c+Q+B,v=G[x++],b=G[D++],t[a++]=(f+(b-v)*s+(v-f)*h+(G[q++]-b)*l)*k,v=G[x++],b=G[D++],t[a++]=(d+(b-v)*s+(v-d)*h+(G[q++]-b)*l)*k,v=G[x++],b=G[D++],t[a++]=(R+(b-v)*s+(v-R)*h+(G[q++]-b)*l)*k,v=G[x],b=G[D],t[a++]=(E+(b-v)*s+(v-E)*h+(G[q]-b)*l)*k):h>=l&&l>=s?(D=c+Q+B,x=u+Q+B,F=u+Q+I,v=G[x++],b=G[F++],t[a++]=(f+(G[D++]-v)*s+(b-f)*h+(v-b)*l)*k,v=G[x++],b=G[F++],t[a++]=(d+(G[D++]-v)*s+(b-d)*h+(v-b)*l)*k,v=G[x++],b=G[F++],t[a++]=(R+(G[D++]-v)*s+(b-R)*h+(v-b)*l)*k,v=G[x++],b=G[F++],t[a++]=(E+(G[D++]-v)*s+(b-E)*h+(v-b)*l)*k):l>=h&&h>=s?(D=c+Q+B,x=u+Q+B,q=u+_+B,v=G[x++],b=G[q++],t[a++]=(f+(G[D++]-v)*s+(v-b)*h+(b-f)*l)*k,v=G[x++],b=G[q++],t[a++]=(d+(G[D++]-v)*s+(v-b)*h+(b-d)*l)*k,v=G[x++],b=G[q++],t[a++]=(R+(G[D++]-v)*s+(v-b)*h+(b-R)*l)*k,v=G[x],b=G[q],t[a++]=(E+(G[D]-v)*s+(v-b)*h+(b-E)*l)*k):(t[a++]=f*k,t[a++]=d*k,t[a++]=R*k,t[a++]=E*k),g?t[a++]=i[e++]:(n&&e++,o&&(t[a++]=255))},tetrahedralInterp3DArray_4Ch_intLut_loop(i,e,t,a,A,r,n,o,g){for(var s=0,h=0,l=0,u=0,c=0,_=0,Q=0,I=0,B=0,m=0,y=0,X=0,N=0,L=0,T=0,D=0,x=0,F=0,q=0,f=0,d=0,R=0,E=0,v=0,b=0,k=r.gridPointsScale_fixed|0,w=r.CLUT,G=r.go0|0,H=r.go1|0,U=r.go2|0,P=r.maxX|0,O=r.maxY|0,S=r.maxZ|0,p=0;p<A;p++)N=i[e++],L=i[e++],T=i[e++],m=Math.imul(N,k),y=Math.imul(L,k),X=Math.imul(T,k),N===255?(u=P,c=P,s=0):(u=m>>>16,s=m>>>8&255,u=Math.imul(u,U),c=u+U),L===255?(_=O,Q=O,h=0):(_=y>>>16,h=y>>>8&255,_=Math.imul(_,H),Q=_+H),T===255?(I=S,B=S,l=0):(I=X>>>16,l=X>>>8&255,I=Math.imul(I,G),B=I+G),D=u+_+I,f=w[D++],d=w[D++],R=w[D++],E=w[D],s>=h&&h>=l?(D=c+_+I,x=c+Q+I,q=c+Q+B,v=w[D++],b=w[x++],t[a++]=f+(Math.imul(v-f,s)+Math.imul(b-v,h)+Math.imul(w[q++]-b,l)+128>>8)+128>>8,v=w[D++],b=w[x++],t[a++]=d+(Math.imul(v-d,s)+Math.imul(b-v,h)+Math.imul(w[q++]-b,l)+128>>8)+128>>8,v=w[D++],b=w[x++],t[a++]=R+(Math.imul(v-R,s)+Math.imul(b-v,h)+Math.imul(w[q++]-b,l)+128>>8)+128>>8,v=w[D],b=w[x],t[a++]=E+(Math.imul(v-E,s)+Math.imul(b-v,h)+Math.imul(w[q]-b,l)+128>>8)+128>>8):s>=l&&l>=h?(D=c+_+I,x=c+Q+B,F=c+_+B,v=w[F++],b=w[D++],t[a++]=f+(Math.imul(b-f,s)+Math.imul(w[x++]-v,h)+Math.imul(v-b,l)+128>>8)+128>>8,v=w[F++],b=w[D++],t[a++]=d+(Math.imul(b-d,s)+Math.imul(w[x++]-v,h)+Math.imul(v-b,l)+128>>8)+128>>8,v=w[F++],b=w[D++],t[a++]=R+(Math.imul(b-R,s)+Math.imul(w[x++]-v,h)+Math.imul(v-b,l)+128>>8)+128>>8,v=w[F],b=w[D],t[a++]=E+(Math.imul(b-E,s)+Math.imul(w[x]-v,h)+Math.imul(v-b,l)+128>>8)+128>>8):s>=h&&l>=s?(D=c+_+B,x=u+_+B,F=c+Q+B,v=w[D++],b=w[x++],t[a++]=f+(Math.imul(v-b,s)+Math.imul(w[F++]-v,h)+Math.imul(b-f,l)+128>>8)+128>>8,v=w[D++],b=w[x++],t[a++]=d+(Math.imul(v-b,s)+Math.imul(w[F++]-v,h)+Math.imul(b-d,l)+128>>8)+128>>8,v=w[D++],b=w[x++],t[a++]=R+(Math.imul(v-b,s)+Math.imul(w[F++]-v,h)+Math.imul(b-R,l)+128>>8)+128>>8,v=w[D++],b=w[x++],t[a++]=E+(Math.imul(v-b,s)+Math.imul(w[F]-v,h)+Math.imul(b-E,l)+128>>8)+128>>8):h>=s&&s>=l?(D=c+Q+I,x=u+Q+I,q=c+Q+B,v=w[x++],b=w[D++],t[a++]=f+(Math.imul(b-v,s)+Math.imul(v-f,h)+Math.imul(w[q++]-b,l)+128>>8)+128>>8,v=w[x++],b=w[D++],t[a++]=d+(Math.imul(b-v,s)+Math.imul(v-d,h)+Math.imul(w[q++]-b,l)+128>>8)+128>>8,v=w[x++],b=w[D++],t[a++]=R+(Math.imul(b-v,s)+Math.imul(v-R,h)+Math.imul(w[q++]-b,l)+128>>8)+128>>8,v=w[x],b=w[D],t[a++]=E+(Math.imul(b-v,s)+Math.imul(v-E,h)+Math.imul(w[q]-b,l)+128>>8)+128>>8):h>=l&&l>=s?(D=c+Q+B,x=u+Q+B,F=u+Q+I,v=w[x++],b=w[F++],t[a++]=f+(Math.imul(w[D++]-v,s)+Math.imul(b-f,h)+Math.imul(v-b,l)+128>>8)+128>>8,v=w[x++],b=w[F++],t[a++]=d+(Math.imul(w[D++]-v,s)+Math.imul(b-d,h)+Math.imul(v-b,l)+128>>8)+128>>8,v=w[x++],b=w[F++],t[a++]=R+(Math.imul(w[D++]-v,s)+Math.imul(b-R,h)+Math.imul(v-b,l)+128>>8)+128>>8,v=w[x],b=w[F],t[a++]=E+(Math.imul(w[D]-v,s)+Math.imul(b-E,h)+Math.imul(v-b,l)+128>>8)+128>>8):l>=h&&h>=s?(D=c+Q+B,x=u+Q+B,q=u+_+B,v=w[x++],b=w[q++],t[a++]=f+(Math.imul(w[D++]-v,s)+Math.imul(v-b,h)+Math.imul(b-f,l)+128>>8)+128>>8,v=w[x++],b=w[q++],t[a++]=d+(Math.imul(w[D++]-v,s)+Math.imul(v-b,h)+Math.imul(b-d,l)+128>>8)+128>>8,v=w[x++],b=w[q++],t[a++]=R+(Math.imul(w[D++]-v,s)+Math.imul(v-b,h)+Math.imul(b-R,l)+128>>8)+128>>8,v=w[x],b=w[q],t[a++]=E+(Math.imul(w[D]-v,s)+Math.imul(v-b,h)+Math.imul(b-E,l)+128>>8)+128>>8):(t[a++]=f+128>>8,t[a++]=d+128>>8,t[a++]=R+128>>8,t[a++]=E+128>>8),g?t[a++]=i[e++]:(n&&e++,o&&(t[a++]=255))},tetrahedralInterp3DArray_NCh_loop(i,e,t,a,A,r,n,o,g){for(var s,h,l,u,c,_,Q,I,B,m,y,X,N,L,T,D,x,F,q,f,d,R=r.outputScale,E=r.outputChannels,v=r.g1-1,b=v*r.inputScale,k=r.CLUT,w=r.go0,G=r.go1,H=r.go2,U=0;U<A;U++){if(m=i[e++]*b,m<0?m=0:m>v&&(m=v),y=i[e++]*b,y<0?y=0:y>v&&(y=v),X=i[e++]*b,X<0?X=0:X>v&&(X=v),u=~~m,s=m-u,u===v?c=u*=H:(u*=H,c=u+H),_=~~y,h=y-_,_===v?Q=_*=G:(_*=G,Q=_+G),I=~~X,l=X-I,I===v?B=I*=w:(I*=w,B=I+w),N=u+_+I,s>=h&&h>=l)for(L=c+_+I,T=c+Q+I,x=c+Q+B,d=0;d<E;d++)F=k[L++],q=k[T++],f=k[N++],t[a++]=(f+(F-f)*s+(q-F)*h+(k[x++]-q)*l)*R;else if(s>=l&&l>=h)for(L=c+_+I,T=c+Q+B,D=c+_+B,d=0;d<E;d++)F=k[D++],q=k[L++],f=k[N++],t[a++]=(f+(q-f)*s+(k[T++]-F)*h+(F-q)*l)*R;else if(s>=h&&l>=s)for(L=c+_+B,T=u+_+B,D=c+Q+B,d=0;d<E;d++)F=k[L++],q=k[T++],f=k[N++],t[a++]=(f+(F-q)*s+(k[D++]-F)*h+(q-f)*l)*R;else if(h>=s&&s>=l)for(L=c+Q+I,T=u+Q+I,x=c+Q+B,d=0;d<E;d++)F=k[T++],q=k[L++],f=k[N++],t[a++]=(f+(q-F)*s+(F-f)*h+(k[x++]-q)*l)*R;else if(h>=l&&l>=s)for(L=c+Q+B,T=u+Q+B,D=u+Q+I,d=0;d<E;d++)F=k[T++],q=k[D++],f=k[N++],t[a++]=(f+(k[L++]-F)*s+(q-f)*h+(F-q)*l)*R;else if(l>=h&&h>=s)for(L=c+Q+B,T=u+Q+B,x=u+_+B,d=0;d<E;d++)F=k[T++],q=k[x++],f=k[N++],t[a++]=(f+(k[L++]-F)*s+(F-q)*h+(q-f)*l)*R;else for(d=0;d<E;d++)t[a++]=k[N++]*R;g?t[a++]=i[e++]:(n&&e++,o&&(t[a++]=255))}},tetrahedralInterp3DArray_3Ch_loop(i,e,t,a,A,r,n,o,g){for(var s,h,l,u,c,_,Q,I,B,m,y,X,N,L,T,D,x,F,q,f,d,R,E,v,b=r.outputScale,k=(r.g1-1)*r.inputScale,w=r.CLUT,G=r.go0,H=r.go1,U=r.go2,P=0;P<A;P++)N=i[e++],L=i[e++],T=i[e++],m=N*k,y=L*k,X=T*k,u=~~m,s=m-u,u*=U,c=N===255?u:u+U,_=~~y,h=y-_,_*=H,Q=L===255?_:_+H,I=~~X,l=X-I,I*=G,B=T===255?I:I+G,D=u+_+I,f=w[D++],d=w[D++],R=w[D],s>=h&&h>=l?(D=c+_+I,x=c+Q+I,q=c+Q+B,E=w[D++],v=w[x++],t[a++]=(f+(E-f)*s+(v-E)*h+(w[q++]-v)*l)*b,E=w[D++],v=w[x++],t[a++]=(d+(E-d)*s+(v-E)*h+(w[q++]-v)*l)*b,E=w[D],v=w[x],t[a++]=(R+(E-R)*s+(v-E)*h+(w[q]-v)*l)*b):s>=l&&l>=h?(D=c+_+I,x=c+Q+B,F=c+_+B,E=w[F++],v=w[D++],t[a++]=(f+(v-f)*s+(w[x++]-E)*h+(E-v)*l)*b,E=w[F++],v=w[D++],t[a++]=(d+(v-d)*s+(w[x++]-E)*h+(E-v)*l)*b,E=w[F],v=w[D],t[a++]=(R+(v-R)*s+(w[x]-E)*h+(E-v)*l)*b):s>=h&&l>=s?(D=c+_+B,x=u+_+B,F=c+Q+B,E=w[D++],v=w[x++],t[a++]=(f+(E-v)*s+(w[F++]-E)*h+(v-f)*l)*b,E=w[D++],v=w[x++],t[a++]=(d+(E-v)*s+(w[F++]-E)*h+(v-d)*l)*b,E=w[D],v=w[x],t[a++]=(R+(E-v)*s+(w[F]-E)*h+(v-R)*l)*b):h>=s&&s>=l?(D=c+Q+I,x=u+Q+I,q=c+Q+B,E=w[x++],v=w[D++],t[a++]=(f+(v-E)*s+(E-f)*h+(w[q++]-v)*l)*b,E=w[x++],v=w[D++],t[a++]=(d+(v-E)*s+(E-d)*h+(w[q++]-v)*l)*b,E=w[x],v=w[D],t[a++]=(R+(v-E)*s+(E-R)*h+(w[q]-v)*l)*b):h>=l&&l>=s?(D=c+Q+B,x=u+Q+B,F=u+Q+I,E=w[x++],v=w[F++],t[a++]=(f+(w[D++]-E)*s+(v-f)*h+(E-v)*l)*b,E=w[x++],v=w[F++],t[a++]=(d+(w[D++]-E)*s+(v-d)*h+(E-v)*l)*b,E=w[x],v=w[F],t[a++]=(R+(w[D]-E)*s+(v-R)*h+(E-v)*l)*b):l>=h&&h>=s?(D=c+Q+B,x=u+Q+B,q=u+_+B,E=w[x++],v=w[q++],t[a++]=(f+(w[D++]-E)*s+(E-v)*h+(v-f)*l)*b,E=w[x++],v=w[q++],t[a++]=(d+(w[D++]-E)*s+(E-v)*h+(v-d)*l)*b,E=w[x],v=w[q],t[a++]=(R+(w[D]-E)*s+(E-v)*h+(v-R)*l)*b):(t[a++]=f*b,t[a++]=d*b,t[a++]=R*b),g?t[a++]=i[e++]:(n&&e++,o&&(t[a++]=255))},tetrahedralInterp3DArray_3Ch_intLut_loop(i,e,t,a,A,r,n,o,g){for(var s=0,h=0,l=0,u=0,c=0,_=0,Q=0,I=0,B=0,m=0,y=0,X=0,N=0,L=0,T=0,D=0,x=0,F=0,q=0,f=0,d=0,R=0,E=0,v=0,b=r.gridPointsScale_fixed|0,k=r.CLUT,w=r.go0|0,G=r.go1|0,H=r.go2|0,U=r.maxX|0,P=r.maxY|0,O=r.maxZ|0,S=0;S<A;S++)N=i[e++],L=i[e++],T=i[e++],m=Math.imul(N,b),y=Math.imul(L,b),X=Math.imul(T,b),N===255?(u=U,c=U,s=0):(u=m>>>16,s=m>>>8&255,u=Math.imul(u,H),c=u+H),L===255?(_=P,Q=P,h=0):(_=y>>>16,h=y>>>8&255,_=Math.imul(_,G),Q=_+G),T===255?(I=O,B=O,l=0):(I=X>>>16,l=X>>>8&255,I=Math.imul(I,w),B=I+w),D=u+_+I,f=k[D++],d=k[D++],R=k[D],s>=h&&h>=l?(D=c+_+I,x=c+Q+I,q=c+Q+B,E=k[D++],v=k[x++],t[a++]=f+(Math.imul(E-f,s)+Math.imul(v-E,h)+Math.imul(k[q++]-v,l)+128>>8)+128>>8,E=k[D++],v=k[x++],t[a++]=d+(Math.imul(E-d,s)+Math.imul(v-E,h)+Math.imul(k[q++]-v,l)+128>>8)+128>>8,E=k[D],v=k[x],t[a++]=R+(Math.imul(E-R,s)+Math.imul(v-E,h)+Math.imul(k[q]-v,l)+128>>8)+128>>8):s>=l&&l>=h?(D=c+_+I,x=c+Q+B,F=c+_+B,E=k[F++],v=k[D++],t[a++]=f+(Math.imul(v-f,s)+Math.imul(k[x++]-E,h)+Math.imul(E-v,l)+128>>8)+128>>8,E=k[F++],v=k[D++],t[a++]=d+(Math.imul(v-d,s)+Math.imul(k[x++]-E,h)+Math.imul(E-v,l)+128>>8)+128>>8,E=k[F],v=k[D],t[a++]=R+(Math.imul(v-R,s)+Math.imul(k[x]-E,h)+Math.imul(E-v,l)+128>>8)+128>>8):s>=h&&l>=s?(D=c+_+B,x=u+_+B,F=c+Q+B,E=k[D++],v=k[x++],t[a++]=f+(Math.imul(E-v,s)+Math.imul(k[F++]-E,h)+Math.imul(v-f,l)+128>>8)+128>>8,E=k[D++],v=k[x++],t[a++]=d+(Math.imul(E-v,s)+Math.imul(k[F++]-E,h)+Math.imul(v-d,l)+128>>8)+128>>8,E=k[D],v=k[x],t[a++]=R+(Math.imul(E-v,s)+Math.imul(k[F]-E,h)+Math.imul(v-R,l)+128>>8)+128>>8):h>=s&&s>=l?(D=c+Q+I,x=u+Q+I,q=c+Q+B,E=k[x++],v=k[D++],t[a++]=f+(Math.imul(v-E,s)+Math.imul(E-f,h)+Math.imul(k[q++]-v,l)+128>>8)+128>>8,E=k[x++],v=k[D++],t[a++]=d+(Math.imul(v-E,s)+Math.imul(E-d,h)+Math.imul(k[q++]-v,l)+128>>8)+128>>8,E=k[x],v=k[D],t[a++]=R+(Math.imul(v-E,s)+Math.imul(E-R,h)+Math.imul(k[q]-v,l)+128>>8)+128>>8):h>=l&&l>=s?(D=c+Q+B,x=u+Q+B,F=u+Q+I,E=k[x++],v=k[F++],t[a++]=f+(Math.imul(k[D++]-E,s)+Math.imul(v-f,h)+Math.imul(E-v,l)+128>>8)+128>>8,E=k[x++],v=k[F++],t[a++]=d+(Math.imul(k[D++]-E,s)+Math.imul(v-d,h)+Math.imul(E-v,l)+128>>8)+128>>8,E=k[x],v=k[F],t[a++]=R+(Math.imul(k[D]-E,s)+Math.imul(v-R,h)+Math.imul(E-v,l)+128>>8)+128>>8):l>=h&&h>=s?(D=c+Q+B,x=u+Q+B,q=u+_+B,E=k[x++],v=k[q++],t[a++]=f+(Math.imul(k[D++]-E,s)+Math.imul(E-v,h)+Math.imul(v-f,l)+128>>8)+128>>8,E=k[x++],v=k[q++],t[a++]=d+(Math.imul(k[D++]-E,s)+Math.imul(E-v,h)+Math.imul(v-d,l)+128>>8)+128>>8,E=k[x],v=k[q],t[a++]=R+(Math.imul(k[D]-E,s)+Math.imul(E-v,h)+Math.imul(v-R,l)+128>>8)+128>>8):(t[a++]=f+128>>8,t[a++]=d+128>>8,t[a++]=R+128>>8),g?t[a++]=i[e++]:(n&&e++,o&&(t[a++]=255))},tetrahedralInterp3DArray_3Ch_intLut16_loop(i,e,t,a,A,r,n,o,g){for(var s=0,h=0,l=0,u=0,c=0,_=0,Q=0,I=0,B=0,m=0,y=0,X=0,N=0,L=0,T=0,D=0,x=0,F=0,q=0,f=0,d=0,R=0,E=0,v=0,b=0,k=r.gridPointsScale_fixed_u16|0,w=r.CLUT,G=r.go0|0,H=r.go1|0,U=r.go2|0,P=r.maxX|0,O=r.maxY|0,S=r.maxZ|0,p=0;p<A;p++)N=i[e++],L=i[e++],T=i[e++],m=Math.imul(N,k),y=Math.imul(L,k),X=Math.imul(T,k),N===65535?(u=P,c=P,s=0):(u=m>>>13,s=m&8191,u=Math.imul(u,U),c=u+U),L===65535?(_=O,Q=O,h=0):(_=y>>>13,h=y&8191,_=Math.imul(_,H),Q=_+H),T===65535?(I=S,B=S,l=0):(I=X>>>13,l=X&8191,I=Math.imul(I,G),B=I+G),D=u+_+I,f=w[D++],d=w[D++],R=w[D],s>=h&&h>=l?(D=c+_+I,x=c+Q+I,q=c+Q+B,E=w[D++],v=w[x++],t[a++]=f+(Math.imul(E-f,s)+Math.imul(v-E,h)+Math.imul(w[q++]-v,l)+4096>>13),E=w[D++],v=w[x++],t[a++]=d+(Math.imul(E-d,s)+Math.imul(v-E,h)+Math.imul(w[q++]-v,l)+4096>>13),E=w[D],v=w[x],t[a++]=R+(Math.imul(E-R,s)+Math.imul(v-E,h)+Math.imul(w[q]-v,l)+4096>>13)):s>=l&&l>=h?(D=c+_+I,x=c+Q+B,F=c+_+B,E=w[F++],v=w[D++],t[a++]=f+(Math.imul(v-f,s)+Math.imul(w[x++]-E,h)+Math.imul(E-v,l)+4096>>13),E=w[F++],v=w[D++],t[a++]=d+(Math.imul(v-d,s)+Math.imul(w[x++]-E,h)+Math.imul(E-v,l)+4096>>13),E=w[F],v=w[D],t[a++]=R+(Math.imul(v-R,s)+Math.imul(w[x]-E,h)+Math.imul(E-v,l)+4096>>13)):s>=h&&l>=s?(D=c+_+B,x=u+_+B,F=c+Q+B,E=w[D++],v=w[x++],t[a++]=f+(Math.imul(E-v,s)+Math.imul(w[F++]-E,h)+Math.imul(v-f,l)+4096>>13),E=w[D++],v=w[x++],t[a++]=d+(Math.imul(E-v,s)+Math.imul(w[F++]-E,h)+Math.imul(v-d,l)+4096>>13),E=w[D],v=w[x],t[a++]=R+(Math.imul(E-v,s)+Math.imul(w[F]-E,h)+Math.imul(v-R,l)+4096>>13)):h>=s&&s>=l?(D=c+Q+I,x=u+Q+I,q=c+Q+B,E=w[x++],v=w[D++],t[a++]=f+(Math.imul(v-E,s)+Math.imul(E-f,h)+Math.imul(w[q++]-v,l)+4096>>13),E=w[x++],v=w[D++],t[a++]=d+(Math.imul(v-E,s)+Math.imul(E-d,h)+Math.imul(w[q++]-v,l)+4096>>13),E=w[x],v=w[D],t[a++]=R+(Math.imul(v-E,s)+Math.imul(E-R,h)+Math.imul(w[q]-v,l)+4096>>13)):h>=l&&l>=s?(D=c+Q+B,x=u+Q+B,F=u+Q+I,E=w[x++],v=w[F++],t[a++]=f+(Math.imul(w[D++]-E,s)+Math.imul(v-f,h)+Math.imul(E-v,l)+4096>>13),E=w[x++],v=w[F++],t[a++]=d+(Math.imul(w[D++]-E,s)+Math.imul(v-d,h)+Math.imul(E-v,l)+4096>>13),E=w[x],v=w[F],t[a++]=R+(Math.imul(w[D]-E,s)+Math.imul(v-R,h)+Math.imul(E-v,l)+4096>>13)):l>=h&&h>=s?(D=c+Q+B,x=u+Q+B,q=u+_+B,E=w[x++],v=w[q++],t[a++]=f+(Math.imul(w[D++]-E,s)+Math.imul(E-v,h)+Math.imul(v-f,l)+4096>>13),E=w[x++],v=w[q++],t[a++]=d+(Math.imul(w[D++]-E,s)+Math.imul(E-v,h)+Math.imul(v-d,l)+4096>>13),E=w[x],v=w[q],t[a++]=R+(Math.imul(w[D]-E,s)+Math.imul(E-v,h)+Math.imul(v-R,l)+4096>>13)):(t[a++]=f,t[a++]=d,t[a++]=R),g?t[a++]=i[e++]:(n&&e++,o&&(t[a++]=65535))},tetrahedralInterp3DArray_4Ch_intLut16_loop(i,e,t,a,A,r,n,o,g){for(var s=0,h=0,l=0,u=0,c=0,_=0,Q=0,I=0,B=0,m=0,y=0,X=0,N=0,L=0,T=0,D=0,x=0,F=0,q=0,f=0,d=0,R=0,E=0,v=0,b=0,k=0,w=r.gridPointsScale_fixed_u16|0,G=r.CLUT,H=r.go0|0,U=r.go1|0,P=r.go2|0,O=r.maxX|0,S=r.maxY|0,p=r.maxZ|0,Z=0;Z<A;Z++)N=i[e++],L=i[e++],T=i[e++],m=Math.imul(N,w),y=Math.imul(L,w),X=Math.imul(T,w),N===65535?(u=O,c=O,s=0):(u=m>>>13,s=m&8191,u=Math.imul(u,P),c=u+P),L===65535?(_=S,Q=S,h=0):(_=y>>>13,h=y&8191,_=Math.imul(_,U),Q=_+U),T===65535?(I=p,B=p,l=0):(I=X>>>13,l=X&8191,I=Math.imul(I,H),B=I+H),D=u+_+I,f=G[D++],d=G[D++],R=G[D++],E=G[D],s>=h&&h>=l?(D=c+_+I,x=c+Q+I,q=c+Q+B,v=G[D++],b=G[x++],t[a++]=f+(Math.imul(v-f,s)+Math.imul(b-v,h)+Math.imul(G[q++]-b,l)+4096>>13),v=G[D++],b=G[x++],t[a++]=d+(Math.imul(v-d,s)+Math.imul(b-v,h)+Math.imul(G[q++]-b,l)+4096>>13),v=G[D++],b=G[x++],t[a++]=R+(Math.imul(v-R,s)+Math.imul(b-v,h)+Math.imul(G[q++]-b,l)+4096>>13),v=G[D],b=G[x],t[a++]=E+(Math.imul(v-E,s)+Math.imul(b-v,h)+Math.imul(G[q]-b,l)+4096>>13)):s>=l&&l>=h?(D=c+_+I,x=c+Q+B,F=c+_+B,v=G[F++],b=G[D++],t[a++]=f+(Math.imul(b-f,s)+Math.imul(G[x++]-v,h)+Math.imul(v-b,l)+4096>>13),v=G[F++],b=G[D++],t[a++]=d+(Math.imul(b-d,s)+Math.imul(G[x++]-v,h)+Math.imul(v-b,l)+4096>>13),v=G[F++],b=G[D++],t[a++]=R+(Math.imul(b-R,s)+Math.imul(G[x++]-v,h)+Math.imul(v-b,l)+4096>>13),v=G[F],b=G[D],t[a++]=E+(Math.imul(b-E,s)+Math.imul(G[x]-v,h)+Math.imul(v-b,l)+4096>>13)):s>=h&&l>=s?(D=c+_+B,x=u+_+B,F=c+Q+B,v=G[D++],b=G[x++],t[a++]=f+(Math.imul(v-b,s)+Math.imul(G[F++]-v,h)+Math.imul(b-f,l)+4096>>13),v=G[D++],b=G[x++],t[a++]=d+(Math.imul(v-b,s)+Math.imul(G[F++]-v,h)+Math.imul(b-d,l)+4096>>13),v=G[D++],b=G[x++],t[a++]=R+(Math.imul(v-b,s)+Math.imul(G[F++]-v,h)+Math.imul(b-R,l)+4096>>13),v=G[D],b=G[x],t[a++]=E+(Math.imul(v-b,s)+Math.imul(G[F]-v,h)+Math.imul(b-E,l)+4096>>13)):h>=s&&s>=l?(D=c+Q+I,x=u+Q+I,q=c+Q+B,v=G[x++],b=G[D++],t[a++]=f+(Math.imul(b-v,s)+Math.imul(v-f,h)+Math.imul(G[q++]-b,l)+4096>>13),v=G[x++],b=G[D++],t[a++]=d+(Math.imul(b-v,s)+Math.imul(v-d,h)+Math.imul(G[q++]-b,l)+4096>>13),v=G[x++],b=G[D++],t[a++]=R+(Math.imul(b-v,s)+Math.imul(v-R,h)+Math.imul(G[q++]-b,l)+4096>>13),v=G[x],b=G[D],t[a++]=E+(Math.imul(b-v,s)+Math.imul(v-E,h)+Math.imul(G[q]-b,l)+4096>>13)):h>=l&&l>=s?(D=c+Q+B,x=u+Q+B,F=u+Q+I,v=G[x++],b=G[F++],t[a++]=f+(Math.imul(G[D++]-v,s)+Math.imul(b-f,h)+Math.imul(v-b,l)+4096>>13),v=G[x++],b=G[F++],t[a++]=d+(Math.imul(G[D++]-v,s)+Math.imul(b-d,h)+Math.imul(v-b,l)+4096>>13),v=G[x++],b=G[F++],t[a++]=R+(Math.imul(G[D++]-v,s)+Math.imul(b-R,h)+Math.imul(v-b,l)+4096>>13),v=G[x],b=G[F],t[a++]=E+(Math.imul(G[D]-v,s)+Math.imul(b-E,h)+Math.imul(v-b,l)+4096>>13)):l>=h&&h>=s?(D=c+Q+B,x=u+Q+B,q=u+_+B,v=G[x++],b=G[q++],t[a++]=f+(Math.imul(G[D++]-v,s)+Math.imul(v-b,h)+Math.imul(b-f,l)+4096>>13),v=G[x++],b=G[q++],t[a++]=d+(Math.imul(G[D++]-v,s)+Math.imul(v-b,h)+Math.imul(b-d,l)+4096>>13),v=G[x++],b=G[q++],t[a++]=R+(Math.imul(G[D++]-v,s)+Math.imul(v-b,h)+Math.imul(b-R,l)+4096>>13),v=G[x],b=G[q],t[a++]=E+(Math.imul(G[D]-v,s)+Math.imul(v-b,h)+Math.imul(b-E,l)+4096>>13)):(t[a++]=f,t[a++]=d,t[a++]=R,t[a++]=E),g?t[a++]=i[e++]:(n&&e++,o&&(t[a++]=65535))},tetrahedralInterp3DArray_4Ch_16bit(i,e,t,a,A,r){for(var n,o,g,s,h,l,u,c,_,Q,I,B,m,y,X,N,L,T,D,x,F,q,f,d,R,E,v,b,k,w,G,H,U,P=r.outputScale,O=r.outputChannels,S=r.g1-1,p=r.CLUT,Z=r.go1,C=r.go2,M=0;M<A;M++){if(m=i[e++],y=i[e++],X=i[e++],Q=m*S/255,I=y*S/255,B=X*S/255,s=Math.floor(Q),n=m,h=m===255?s:s+1,l=Math.floor(I),o=y,u=y===255?l:l+1,c=Math.floor(B),g=X,_=X===255?c:c+1,c*=O,_*=O,N=s*C+l*Z+c,T=p[N++],D=p[N++],x=p[N++],F=p[N],n>=o&&o>=g)N=h*C+l*Z+c,q=p[N++]-T,f=p[N++]-D,d=p[N++]-x,R=p[N]-F,N=h*C+u*Z+c,L=h*C+l*Z+c,E=p[N++]-p[L++],v=p[N++]-p[L++],b=p[N++]-p[L++],k=p[N]-p[L],N=h*C+u*Z+_,L=h*C+u*Z+c,w=p[N++]-p[L++],G=p[N++]-p[L++],H=p[N++]-p[L++],U=p[N]-p[L];else if(n>=g&&g>=o)N=h*C+l*Z+c,q=p[N++]-T,f=p[N++]-D,d=p[N++]-x,R=p[N]-F,N=h*C+u*Z+_,L=h*C+l*Z+_,E=p[N++]-p[L++],v=p[N++]-p[L++],b=p[N++]-p[L++],k=p[N]-p[L],N=h*C+l*Z+_,L=h*C+l*Z+c,w=p[N++]-p[L++],G=p[N++]-p[L++],H=p[N++]-p[L++],U=p[N]-p[L];else if(g>=n&&n>=o)N=h*C+l*Z+_,L=s*C+l*Z+_,q=p[N++]-p[L++],f=p[N++]-p[L++],d=p[N++]-p[L++],R=p[N]-p[L],N=h*C+u*Z+_,L=h*C+l*Z+_,E=p[N++]-p[L++],v=p[N++]-p[L++],b=p[N++]-p[L++],k=p[N]-p[L],N=s*C+l*Z+_,w=p[N++]-T,G=p[N++]-D,H=p[N++]-x,U=p[N]-F;else if(o>=n&&n>=g)N=h*C+u*Z+c,L=s*C+u*Z+c,q=p[N++]-p[L++],f=p[N++]-p[L++],d=p[N++]-p[L++],R=p[N++]-p[L],N=s*C+u*Z+c,E=p[N++]-T,v=p[N++]-D,b=p[N++]-x,k=p[N]-F,N=h*C+u*Z+_,L=h*C+u*Z+c,w=p[N++]-p[L++],G=p[N++]-p[L++],H=p[N++]-p[L++],U=p[N]-p[L];else if(o>=g&&g>=n)N=h*C+u*Z+_,L=s*C+u*Z+_,q=p[N++]-p[L++],f=p[N++]-p[L++],d=p[N++]-p[L++],R=p[N]-p[L],N=s*C+u*Z+c,E=p[N++]-T,v=p[N++]-D,b=p[N++]-x,k=p[N]-F,N=s*C+u*Z+_,L=s*C+u*Z+c,w=p[N++]-p[L++],G=p[N++]-p[L++],H=p[N++]-p[L++],U=p[N]-p[L];else if(g>=o&&o>=n)N=h*C+u*Z+_,L=s*C+u*Z+_,q=p[N++]-p[L++],f=p[N++]-p[L++],d=p[N++]-p[L++],R=p[N]-p[L],N=s*C+u*Z+_,L=s*C+l*Z+_,E=p[N++]-p[L++],v=p[N++]-p[L++],b=p[N++]-p[L++],k=p[N]-p[L],N=s*C+l*Z+_,w=p[N++]-T,G=p[N++]-D,H=p[N++]-x,U=p[N]-F;else{t[a++]=T*P,t[a++]=D*P,t[a++]=x*P,t[a++]=F*P;continue}var Y;Y=q*n+E*o+w*g+32769,t[a++]=T*256+Y+(Y>>16)>>16,Y=f*n+v*o+G*g+32769,t[a++]=D*256+Y+(Y>>16)>>16,Y=d*n+b*o+H*g+32769,t[a++]=x*256+Y+(Y>>16)>>16,Y=R*n+k*o+U*g+32769,t[a++]=F*256+Y+(Y>>16)>>16}}}});var na=ae((nl,ei)=>{"use strict";ei.exports={tetrahedralInterp4DArray_NCh_loop(i,e,t,a,A,r,n,o,g){for(var s=r.outputScale,h=r.g1-1,l=h*r.inputScale,u=r.outputChannels,c=r.CLUT,_=r.go0,Q=r.go1,I=r.go2,B=r.go3,m=B-r.outputChannels,y=new Float64Array(u),X,N,L,T,D,x=0;x<A;x++){X=i[e++],N=i[e++],L=i[e++],T=i[e++];var F,q,f,d,R,E,v,b,k,w,G,H,U,P,O,S,p,Z,C,M,Y,V,W,J,z,te,ie,le,j,se;O=Math.min(Math.max(X*l,0),h),H=Math.min(Math.max(N*l,0),h),U=Math.min(Math.max(L*l,0),h),P=Math.min(Math.max(T*l,0),h),d=~~O,G=O-d,se=d!==h,d*=B,F=~~H,b=H-F,F===h?q=F*=I:(F*=I,q=F+I),f=~~U,k=U-f,f===h?R=f*=Q:(f*=Q,R=f+Q),E=~~P,w=P-E,E===h?v=E*=_:(E*=_,v=E+_);var _e=se?1:s;if(M=F+f+E+d,b>=k&&k>=w){for(Y=q+f+E+d,V=q+R+E+d,J=q+R+v+d,j=0;j<u;j++)z=c[Y++],te=c[V++],ie=c[M++],y[j]=(ie+(z-ie)*b+(te-z)*k+(c[J++]-te)*w)*_e;if(se)for(M+=m,Y+=m,V+=m,J+=m,j=0;j<u;j++)z=c[Y++],te=c[V++],ie=c[M++],le=y[j],y[j]=(le+(ie+(z-ie)*b+(te-z)*k+(c[J++]-te)*w-le)*G)*s}else if(b>=w&&w>=k){for(Y=q+f+E+d,V=q+R+v+d,W=q+f+v+d,j=0;j<u;j++)z=c[W++],te=c[Y++],ie=c[M++],y[j]=(ie+(te-ie)*b+(c[V++]-z)*k+(z-te)*w)*_e;if(se)for(M+=m,Y+=m,V+=m,W+=m,j=0;j<u;j++)z=c[W++],te=c[Y++],ie=c[M++],le=y[j],y[j]=(le+(ie+(te-ie)*b+(c[V++]-z)*k+(z-te)*w-le)*G)*s}else if(b>=k&&w>=b){for(Y=q+f+v+d,V=F+f+v+d,W=q+R+v+d,j=0;j<u;j++)z=c[Y++],te=c[V++],ie=c[M++],y[j]=(ie+(z-te)*b+(c[W++]-z)*k+(te-ie)*w)*_e;if(se)for(M+=m,Y+=m,V+=m,W+=m,j=0;j<u;j++)z=c[Y++],te=c[V++],ie=c[M++],le=y[j],y[j]=(le+(ie+(z-te)*b+(c[W++]-z)*k+(te-ie)*w-le)*G)*s}else if(k>=b&&b>=w){for(Y=q+R+E+d,V=F+R+E+d,J=q+R+v+d,j=0;j<u;j++)z=c[V++],te=c[Y++],ie=c[M++],y[j]=(ie+(te-z)*b+(z-ie)*k+(c[J++]-te)*w)*_e;if(se)for(M+=m,Y+=m,V+=m,J+=m,j=0;j<u;j++)z=c[V++],te=c[Y++],ie=c[M++],le=y[j],y[j]=(le+(ie+(te-z)*b+(z-ie)*k+(c[J++]-te)*w-le)*G)*s}else if(k>=w&&w>=b){for(Y=q+R+v+d,V=F+R+v+d,W=F+R+E+d,j=0;j<u;j++)z=c[V++],te=c[W++],ie=c[M++],y[j]=(ie+(c[Y++]-z)*b+(te-ie)*k+(z-te)*w)*_e;if(se)for(M+=m,Y+=m,V+=m,W+=m,j=0;j<u;j++)z=c[V++],te=c[W++],ie=c[M++],le=y[j],y[j]=(le+(ie+(c[Y++]-z)*b+(te-ie)*k+(z-te)*w-le)*G)*s}else if(w>=k&&k>=b){for(Y=q+R+v+d,V=F+R+v+d,J=F+f+v+d,j=0;j<u;j++)z=c[V++],te=c[J++],ie=c[M++],y[j]=(ie+(c[Y++]-z)*b+(z-te)*k+(te-ie)*w)*_e;if(se)for(M+=m,Y+=m,V+=m,J+=m,j=0;j<u;j++)z=c[V++],te=c[J++],ie=c[M++],le=y[j],y[j]=(le+(ie+(c[Y++]-z)*b+(z-te)*k+(te-ie)*w-le)*G)*s}else if(se){for(j=0;j<u;j++)y[j]=c[M++];for(M+=m,j=0;j<u;j++)ie=c[M++],y[j]=(ie+(y[j]-ie)*G)*s}else for(j=0;j<u;j++)y[j]=c[M++]*s;for(D=0;D<u;D++)t[a++]=y[D];g?t[a++]=i[e++]:(n&&e++,o&&(t[a++]=255))}},tetrahedralInterp4DArray_3Ch_loop(i,e,t,a,A,r,n,o,g){for(var s,h,l,u,c,_,Q,I,B,m,y,X,N,L,T,D,x,F,q,f,d,R,E,v,b,k,w,G,H,U,P,O,S,p,Z,C=r.outputScale,M=(r.g1-1)*r.inputScale,Y=r.CLUT,V=r.go0,W=r.go1,J=r.go2,z=r.go3,te=z-r.outputChannels+1,ie=0;ie<A;ie++)q=i[e++],D=i[e++],x=i[e++],F=i[e++],X=D*M,N=x*M,L=F*M,T=q*M,u=~~T,y=T-u,u*=z,s=~~X,I=X-s,s*=J,h=D===255?s:s+J,l=~~N,B=N-l,l*=W,c=x===255?l:l+W,_=~~L,m=L-_,_*=V,Q=F===255?_:_+V,f=s+l+_+u,v=Y[f++],b=Y[f++],k=Y[f],q===255||y===0?Z=!1:(f+=te,U=Y[f++],P=Y[f++],O=Y[f],Z=!0),I>=B&&B>=m?(f=h+l+_+u,d=h+c+_+u,E=h+c+Q+u,S=Y[f++],p=Y[d++],w=v+(S-v)*I+(p-S)*B+(Y[E++]-p)*m,S=Y[f++],p=Y[d++],G=b+(S-b)*I+(p-S)*B+(Y[E++]-p)*m,S=Y[f],p=Y[d],H=k+(S-k)*I+(p-S)*B+(Y[E]-p)*m,Z?(f+=te,d+=te,E+=te,S=Y[f++],p=Y[d++],t[a++]=(w+(U+(S-U)*I+(p-S)*B+(Y[E++]-p)*m-w)*y)*C,S=Y[f++],p=Y[d++],t[a++]=(G+(P+(S-P)*I+(p-S)*B+(Y[E++]-p)*m-G)*y)*C,S=Y[f++],p=Y[d++],t[a++]=(H+(O+(S-O)*I+(p-S)*B+(Y[E++]-p)*m-H)*y)*C):(t[a++]=w*C,t[a++]=G*C,t[a++]=H*C)):I>=m&&m>=B?(f=h+l+_+u,d=h+c+Q+u,R=h+l+Q+u,S=Y[R++],p=Y[f++],w=v+(p-v)*I+(Y[d++]-S)*B+(S-p)*m,S=Y[R++],p=Y[f++],G=b+(p-b)*I+(Y[d++]-S)*B+(S-p)*m,S=Y[R],p=Y[f],H=k+(p-k)*I+(Y[d]-S)*B+(S-p)*m,Z?(R+=te,f+=te,d+=te,S=Y[R++],p=Y[f++],t[a++]=(w+(U+(p-U)*I+(Y[d++]-S)*B+(S-p)*m-w)*y)*C,S=Y[R++],p=Y[f++],t[a++]=(G+(P+(p-P)*I+(Y[d++]-S)*B+(S-p)*m-G)*y)*C,S=Y[R++],p=Y[f++],t[a++]=(H+(O+(p-O)*I+(Y[d++]-S)*B+(S-p)*m-H)*y)*C):(t[a++]=w*C,t[a++]=G*C,t[a++]=H*C)):I>=B&&m>=I?(f=h+l+Q+u,d=s+l+Q+u,R=h+c+Q+u,S=Y[f++],p=Y[d++],w=v+(S-p)*I+(Y[R++]-S)*B+(p-v)*m,S=Y[f++],p=Y[d++],G=b+(S-p)*I+(Y[R++]-S)*B+(p-b)*m,S=Y[f],p=Y[d],H=k+(S-p)*I+(Y[R]-S)*B+(p-k)*m,Z?(f+=te,d+=te,R+=te,S=Y[f++],p=Y[d++],t[a++]=(w+(U+(S-p)*I+(Y[R++]-S)*B+(p-U)*m-w)*y)*C,S=Y[f++],p=Y[d++],t[a++]=(G+(P+(S-p)*I+(Y[R++]-S)*B+(p-P)*m-G)*y)*C,S=Y[f++],p=Y[d++],t[a++]=(H+(O+(S-p)*I+(Y[R++]-S)*B+(p-O)*m-H)*y)*C):(t[a++]=w*C,t[a++]=G*C,t[a++]=H*C)):B>=I&&I>=m?(f=h+c+_+u,d=s+c+_+u,E=h+c+Q+u,S=Y[d++],p=Y[f++],w=v+(p-S)*I+(S-v)*B+(Y[E++]-p)*m,S=Y[d++],p=Y[f++],G=b+(p-S)*I+(S-b)*B+(Y[E++]-p)*m,S=Y[d],p=Y[f],H=k+(p-S)*I+(S-k)*B+(Y[E]-p)*m,Z?(f+=te,d+=te,E+=te,S=Y[d++],p=Y[f++],t[a++]=(w+(U+(p-S)*I+(S-U)*B+(Y[E++]-p)*m-w)*y)*C,S=Y[d++],p=Y[f++],t[a++]=(G+(P+(p-S)*I+(S-P)*B+(Y[E++]-p)*m-G)*y)*C,S=Y[d++],p=Y[f++],t[a++]=(H+(O+(p-S)*I+(S-O)*B+(Y[E++]-p)*m-H)*y)*C):(t[a++]=w*C,t[a++]=G*C,t[a++]=H*C)):B>=m&&m>=I?(f=h+c+Q+u,d=s+c+Q+u,R=s+c+_+u,S=Y[d++],p=Y[R++],w=v+(Y[f++]-S)*I+(p-v)*B+(S-p)*m,S=Y[d++],p=Y[R++],G=b+(Y[f++]-S)*I+(p-b)*B+(S-p)*m,S=Y[d],p=Y[R],H=k+(Y[f]-S)*I+(p-k)*B+(S-p)*m,Z?(f+=te,d+=te,R+=te,S=Y[d++],p=Y[R++],t[a++]=(w+(U+(Y[f++]-S)*I+(p-U)*B+(S-p)*m-w)*y)*C,S=Y[d++],p=Y[R++],t[a++]=(G+(P+(Y[f++]-S)*I+(p-P)*B+(S-p)*m-G)*y)*C,S=Y[d++],p=Y[R++],t[a++]=(H+(O+(Y[f++]-S)*I+(p-O)*B+(S-p)*m-H)*y)*C):(t[a++]=w*C,t[a++]=G*C,t[a++]=H*C)):m>=B&&B>=I?(f=h+c+Q+u,d=s+c+Q+u,E=s+l+Q+u,S=Y[d++],p=Y[E++],w=v+(Y[f++]-S)*I+(S-p)*B+(p-v)*m,S=Y[d++],p=Y[E++],G=b+(Y[f++]-S)*I+(S-p)*B+(p-b)*m,S=Y[d],p=Y[E],H=k+(Y[f]-S)*I+(S-p)*B+(p-k)*m,Z?(f+=te,d+=te,E+=te,S=Y[d++],p=Y[E++],t[a++]=(w+(U+(Y[f++]-S)*I+(S-p)*B+(p-U)*m-w)*y)*C,S=Y[d++],p=Y[E++],t[a++]=(G+(P+(Y[f++]-S)*I+(S-p)*B+(p-P)*m-G)*y)*C,S=Y[d++],p=Y[E++],t[a++]=(H+(O+(Y[f++]-S)*I+(S-p)*B+(p-O)*m-H)*y)*C):(t[a++]=w*C,t[a++]=G*C,t[a++]=H*C)):Z?(t[a++]=v+(U-v)*y*C,t[a++]=b+(P-b)*y*C,t[a++]=k+(O-k)*y*C):(t[a++]=v*C,t[a++]=b*C,t[a++]=k*C),g?t[a++]=i[e++]:(n&&e++,o&&(t[a++]=255))},tetrahedralInterp4DArray_4Ch_loop(i,e,t,a,A,r,n,o,g){for(var s,h,l,u,c,_,Q,I,B,m,y,X,N,L,T,D,x,F,q,f,d,R,E,v,b,k,w,G,H,U,P,O,S,p,Z,C,M,Y,V=r.outputScale,W=(r.g1-1)*r.inputScale,J=r.CLUT,z=r.go0,te=r.go1,ie=r.go2,le=r.go3,j=le-r.outputChannels+1,se=0;se<A;se++)q=i[e++],D=i[e++],x=i[e++],F=i[e++],X=D*W,N=x*W,L=F*W,T=q*W,u=~~T,y=T-u,u*=le,s=~~X,I=X-s,s*=ie,h=D===255?s:s+ie,l=~~N,B=N-l,l*=te,c=x===255?l:l+te,_=~~L,m=L-_,_*=z,Q=F===255?_:_+z,f=s+l+_+u,f=s+l+_+u,v=J[f++],b=J[f++],k=J[f++],w=J[f],q===255||y===0?Y=!1:(f+=j,O=J[f++],S=J[f++],p=J[f++],Z=J[f],Y=!0),I>=B&&B>=m?(f=h+l+_+u,d=h+c+_+u,E=h+c+Q+u,C=J[f++],M=J[d++],G=v+(C-v)*I+(M-C)*B+(J[E++]-M)*m,C=J[f++],M=J[d++],H=b+(C-b)*I+(M-C)*B+(J[E++]-M)*m,C=J[f++],M=J[d++],U=k+(C-k)*I+(M-C)*B+(J[E++]-M)*m,C=J[f],M=J[d],P=w+(C-w)*I+(M-C)*B+(J[E]-M)*m,Y?(f+=j,d+=j,E+=j,C=J[f++],M=J[d++],t[a++]=(G+(O+(C-O)*I+(M-C)*B+(J[E++]-M)*m-G)*y)*V,C=J[f++],M=J[d++],t[a++]=(H+(S+(C-S)*I+(M-C)*B+(J[E++]-M)*m-H)*y)*V,C=J[f++],M=J[d++],t[a++]=(U+(p+(C-p)*I+(M-C)*B+(J[E++]-M)*m-U)*y)*V,C=J[f],M=J[d],t[a++]=(P+(Z+(C-Z)*I+(M-C)*B+(J[E++]-M)*m-P)*y)*V):(t[a++]=G*V,t[a++]=H*V,t[a++]=U*V,t[a++]=P*V)):I>=m&&m>=B?(f=h+l+_+u,d=h+c+Q+u,R=h+l+Q+u,C=J[R++],M=J[f++],G=v+(M-v)*I+(J[d++]-C)*B+(C-M)*m,C=J[R++],M=J[f++],H=b+(M-b)*I+(J[d++]-C)*B+(C-M)*m,C=J[R++],M=J[f++],U=k+(M-k)*I+(J[d++]-C)*B+(C-M)*m,C=J[R],M=J[f],P=w+(M-w)*I+(J[d]-C)*B+(C-M)*m,Y?(R+=j,f+=j,d+=j,C=J[R++],M=J[f++],t[a++]=(G+(O+(M-O)*I+(J[d++]-C)*B+(C-M)*m-G)*y)*V,C=J[R++],M=J[f++],t[a++]=(H+(S+(M-S)*I+(J[d++]-C)*B+(C-M)*m-H)*y)*V,C=J[R++],M=J[f++],t[a++]=(U+(p+(M-p)*I+(J[d++]-C)*B+(C-M)*m-U)*y)*V,C=J[R++],M=J[f++],t[a++]=(P+(Z+(M-Z)*I+(J[d]-C)*B+(C-M)*m-P)*y)*V):(t[a++]=G*V,t[a++]=H*V,t[a++]=U*V,t[a++]=P*V)):I>=B&&m>=I?(f=h+l+Q+u,d=s+l+Q+u,R=h+c+Q+u,C=J[f++],M=J[d++],G=v+(C-M)*I+(J[R++]-C)*B+(M-v)*m,C=J[f++],M=J[d++],H=b+(C-M)*I+(J[R++]-C)*B+(M-b)*m,C=J[f++],M=J[d++],U=k+(C-M)*I+(J[R++]-C)*B+(M-k)*m,C=J[f],M=J[d],P=w+(C-M)*I+(J[R]-C)*B+(M-w)*m,Y?(f+=j,d+=j,R+=j,C=J[f++],M=J[d++],t[a++]=(G+(O+(C-M)*I+(J[R++]-C)*B+(M-O)*m-G)*y)*V,C=J[f++],M=J[d++],t[a++]=(H+(S+(C-M)*I+(J[R++]-C)*B+(M-S)*m-H)*y)*V,C=J[f++],M=J[d++],t[a++]=(U+(p+(C-M)*I+(J[R++]-C)*B+(M-p)*m-U)*y)*V,C=J[f],M=J[d],t[a++]=(P+(Z+(C-M)*I+(J[R]-C)*B+(M-Z)*m-P)*y)*V):(t[a++]=G*V,t[a++]=H*V,t[a++]=U*V,t[a++]=P*V)):B>=I&&I>=m?(f=h+c+_+u,d=s+c+_+u,E=h+c+Q+u,C=J[d++],M=J[f++],G=v+(M-C)*I+(C-v)*B+(J[E++]-M)*m,C=J[d++],M=J[f++],H=b+(M-C)*I+(C-b)*B+(J[E++]-M)*m,C=J[d++],M=J[f++],U=k+(M-C)*I+(C-k)*B+(J[E++]-M)*m,C=J[d],M=J[f],P=w+(M-C)*I+(C-w)*B+(J[E]-M)*m,Y?(f+=j,d+=j,E+=j,C=J[d++],M=J[f++],t[a++]=(G+(O+(M-C)*I+(C-O)*B+(J[E++]-M)*m-G)*y)*V,C=J[d++],M=J[f++],t[a++]=(H+(S+(M-C)*I+(C-S)*B+(J[E++]-M)*m-H)*y)*V,C=J[d++],M=J[f++],t[a++]=(U+(p+(M-C)*I+(C-p)*B+(J[E++]-M)*m-U)*y)*V,C=J[d],M=J[f],t[a++]=(P+(Z+(M-C)*I+(C-Z)*B+(J[E]-M)*m-P)*y)*V):(t[a++]=G*V,t[a++]=H*V,t[a++]=U*V,t[a++]=P*V)):B>=m&&m>=I?(f=h+c+Q+u,d=s+c+Q+u,R=s+c+_+u,C=J[d++],M=J[R++],G=v+(J[f++]-C)*I+(M-v)*B+(C-M)*m,C=J[d++],M=J[R++],H=b+(J[f++]-C)*I+(M-b)*B+(C-M)*m,C=J[d++],M=J[R++],U=k+(J[f++]-C)*I+(M-k)*B+(C-M)*m,C=J[d],M=J[R],P=w+(J[f]-C)*I+(M-w)*B+(C-M)*m,Y?(f+=j,d+=j,R+=j,C=J[d++],M=J[R++],t[a++]=(G+(O+(J[f++]-C)*I+(M-O)*B+(C-M)*m-G)*y)*V,C=J[d++],M=J[R++],t[a++]=(H+(S+(J[f++]-C)*I+(M-S)*B+(C-M)*m-H)*y)*V,C=J[d++],M=J[R++],t[a++]=(U+(p+(J[f++]-C)*I+(M-p)*B+(C-M)*m-U)*y)*V,C=J[d],M=J[R],t[a++]=(P+(Z+(J[f++]-C)*I+(M-Z)*B+(C-M)*m-P)*y)*V):(t[a++]=G*V,t[a++]=H*V,t[a++]=U*V,t[a++]=P*V)):m>=B&&B>=I?(f=h+c+Q+u,d=s+c+Q+u,E=s+l+Q+u,C=J[d++],M=J[E++],G=v+(J[f++]-C)*I+(C-M)*B+(M-v)*m,C=J[d++],M=J[E++],H=b+(J[f++]-C)*I+(C-M)*B+(M-b)*m,C=J[d++],M=J[E++],U=k+(J[f++]-C)*I+(C-M)*B+(M-k)*m,C=J[d],M=J[E],P=w+(J[f]-C)*I+(C-M)*B+(M-w)*m,Y?(f+=j,d+=j,E+=j,C=J[d++],M=J[E++],t[a++]=(G+(O+(J[f++]-C)*I+(C-M)*B+(M-O)*m-G)*y)*V,C=J[d++],M=J[E++],t[a++]=(H+(S+(J[f++]-C)*I+(C-M)*B+(M-S)*m-H)*y)*V,C=J[d++],M=J[E++],t[a++]=(U+(p+(J[f++]-C)*I+(C-M)*B+(M-p)*m-U)*y)*V,C=J[d],M=J[E],t[a++]=(P+(Z+(J[f]-C)*I+(C-M)*B+(M-Z)*m-P)*y)*V):(t[a++]=G*V,t[a++]=H*V,t[a++]=U*V,t[a++]=P*V)):Y?(t[a++]=v+(O-v)*y*V,t[a++]=b+(S-b)*y*V,t[a++]=k+(p-k)*y*V,t[a++]=w+(Z-w)*y*V):(t[a++]=v*V,t[a++]=b*V,t[a++]=k*V,t[a++]=w*V),g?t[a++]=i[e++]:(n&&e++,o&&(t[a++]=255))},tetrahedralInterp4DArray_3Ch_intLut_loop(i,e,t,a,A,r,n,o,g){for(var s=0,h=0,l=0,u=0,c=0,_=0,Q=0,I=0,B=0,m=0,y=0,X=0,N=0,L=0,T=0,D=0,x=0,F=0,q=0,f=0,d=0,R=0,E=0,v=0,b=0,k=0,w=0,G=0,H=0,U=0,P=0,O=0,S=0,p=0,Z=!1,C=r.gridPointsScale_fixed|0,M=r.CLUT,Y=r.go0|0,V=r.go1|0,W=r.go2|0,J=r.go3|0,z=r.maxX|0,te=r.maxY|0,ie=r.maxZ|0,le=r.maxK|0,j=J-r.outputChannels+1|0,se=0;se<A;se++)q=i[e++],D=i[e++],x=i[e++],F=i[e++],T=Math.imul(q,C),q===255?(Q=le,y=0):(Q=T>>>16,y=T>>>8&255,Q=Math.imul(Q,J)),X=Math.imul(D,C),D===255?(s=z,h=z,I=0):(s=X>>>16,I=X>>>8&255,s=Math.imul(s,W),h=s+W),N=Math.imul(x,C),x===255?(l=te,u=te,B=0):(l=N>>>16,B=N>>>8&255,l=Math.imul(l,V),u=l+V),L=Math.imul(F,C),F===255?(c=ie,_=ie,m=0):(c=L>>>16,m=L>>>8&255,c=Math.imul(c,Y),_=c+Y),f=s+l+c+Q,v=M[f++],b=M[f++],k=M[f],q===255||y===0?Z=!1:(f+=j,w=M[f++],G=M[f++],H=M[f],Z=!0),I>=B&&B>=m?(f=h+l+c+Q,d=h+u+c+Q,E=h+u+_+Q,S=M[f++],p=M[d++],U=(v<<4)+(Math.imul(S-v,I)+Math.imul(p-S,B)+Math.imul(M[E++]-p,m)+8>>4),S=M[f++],p=M[d++],P=(b<<4)+(Math.imul(S-b,I)+Math.imul(p-S,B)+Math.imul(M[E++]-p,m)+8>>4),S=M[f],p=M[d],O=(k<<4)+(Math.imul(S-k,I)+Math.imul(p-S,B)+Math.imul(M[E]-p,m)+8>>4),Z?(f+=j,d+=j,E+=j,S=M[f++],p=M[d++],t[a++]=(U<<8)+Math.imul((w<<4)+(Math.imul(S-w,I)+Math.imul(p-S,B)+Math.imul(M[E++]-p,m)+8>>4)-U,y)+524288>>20,S=M[f++],p=M[d++],t[a++]=(P<<8)+Math.imul((G<<4)+(Math.imul(S-G,I)+Math.imul(p-S,B)+Math.imul(M[E++]-p,m)+8>>4)-P,y)+524288>>20,S=M[f++],p=M[d++],t[a++]=(O<<8)+Math.imul((H<<4)+(Math.imul(S-H,I)+Math.imul(p-S,B)+Math.imul(M[E++]-p,m)+8>>4)-O,y)+524288>>20):(t[a++]=U+2048>>12,t[a++]=P+2048>>12,t[a++]=O+2048>>12)):I>=m&&m>=B?(f=h+l+c+Q,d=h+u+_+Q,R=h+l+_+Q,S=M[R++],p=M[f++],U=(v<<4)+(Math.imul(p-v,I)+Math.imul(M[d++]-S,B)+Math.imul(S-p,m)+8>>4),S=M[R++],p=M[f++],P=(b<<4)+(Math.imul(p-b,I)+Math.imul(M[d++]-S,B)+Math.imul(S-p,m)+8>>4),S=M[R],p=M[f],O=(k<<4)+(Math.imul(p-k,I)+Math.imul(M[d]-S,B)+Math.imul(S-p,m)+8>>4),Z?(R+=j,f+=j,d+=j,S=M[R++],p=M[f++],t[a++]=(U<<8)+Math.imul((w<<4)+(Math.imul(p-w,I)+Math.imul(M[d++]-S,B)+Math.imul(S-p,m)+8>>4)-U,y)+524288>>20,S=M[R++],p=M[f++],t[a++]=(P<<8)+Math.imul((G<<4)+(Math.imul(p-G,I)+Math.imul(M[d++]-S,B)+Math.imul(S-p,m)+8>>4)-P,y)+524288>>20,S=M[R++],p=M[f++],t[a++]=(O<<8)+Math.imul((H<<4)+(Math.imul(p-H,I)+Math.imul(M[d++]-S,B)+Math.imul(S-p,m)+8>>4)-O,y)+524288>>20):(t[a++]=U+2048>>12,t[a++]=P+2048>>12,t[a++]=O+2048>>12)):I>=B&&m>=I?(f=h+l+_+Q,d=s+l+_+Q,R=h+u+_+Q,S=M[f++],p=M[d++],U=(v<<4)+(Math.imul(S-p,I)+Math.imul(M[R++]-S,B)+Math.imul(p-v,m)+8>>4),S=M[f++],p=M[d++],P=(b<<4)+(Math.imul(S-p,I)+Math.imul(M[R++]-S,B)+Math.imul(p-b,m)+8>>4),S=M[f],p=M[d],O=(k<<4)+(Math.imul(S-p,I)+Math.imul(M[R]-S,B)+Math.imul(p-k,m)+8>>4),Z?(f+=j,d+=j,R+=j,S=M[f++],p=M[d++],t[a++]=(U<<8)+Math.imul((w<<4)+(Math.imul(S-p,I)+Math.imul(M[R++]-S,B)+Math.imul(p-w,m)+8>>4)-U,y)+524288>>20,S=M[f++],p=M[d++],t[a++]=(P<<8)+Math.imul((G<<4)+(Math.imul(S-p,I)+Math.imul(M[R++]-S,B)+Math.imul(p-G,m)+8>>4)-P,y)+524288>>20,S=M[f++],p=M[d++],t[a++]=(O<<8)+Math.imul((H<<4)+(Math.imul(S-p,I)+Math.imul(M[R++]-S,B)+Math.imul(p-H,m)+8>>4)-O,y)+524288>>20):(t[a++]=U+2048>>12,t[a++]=P+2048>>12,t[a++]=O+2048>>12)):B>=I&&I>=m?(f=h+u+c+Q,d=s+u+c+Q,E=h+u+_+Q,S=M[d++],p=M[f++],U=(v<<4)+(Math.imul(p-S,I)+Math.imul(S-v,B)+Math.imul(M[E++]-p,m)+8>>4),S=M[d++],p=M[f++],P=(b<<4)+(Math.imul(p-S,I)+Math.imul(S-b,B)+Math.imul(M[E++]-p,m)+8>>4),S=M[d],p=M[f],O=(k<<4)+(Math.imul(p-S,I)+Math.imul(S-k,B)+Math.imul(M[E]-p,m)+8>>4),Z?(f+=j,d+=j,E+=j,S=M[d++],p=M[f++],t[a++]=(U<<8)+Math.imul((w<<4)+(Math.imul(p-S,I)+Math.imul(S-w,B)+Math.imul(M[E++]-p,m)+8>>4)-U,y)+524288>>20,S=M[d++],p=M[f++],t[a++]=(P<<8)+Math.imul((G<<4)+(Math.imul(p-S,I)+Math.imul(S-G,B)+Math.imul(M[E++]-p,m)+8>>4)-P,y)+524288>>20,S=M[d++],p=M[f++],t[a++]=(O<<8)+Math.imul((H<<4)+(Math.imul(p-S,I)+Math.imul(S-H,B)+Math.imul(M[E++]-p,m)+8>>4)-O,y)+524288>>20):(t[a++]=U+2048>>12,t[a++]=P+2048>>12,t[a++]=O+2048>>12)):B>=m&&m>=I?(f=h+u+_+Q,d=s+u+_+Q,R=s+u+c+Q,S=M[d++],p=M[R++],U=(v<<4)+(Math.imul(M[f++]-S,I)+Math.imul(p-v,B)+Math.imul(S-p,m)+8>>4),S=M[d++],p=M[R++],P=(b<<4)+(Math.imul(M[f++]-S,I)+Math.imul(p-b,B)+Math.imul(S-p,m)+8>>4),S=M[d],p=M[R],O=(k<<4)+(Math.imul(M[f]-S,I)+Math.imul(p-k,B)+Math.imul(S-p,m)+8>>4),Z?(f+=j,d+=j,R+=j,S=M[d++],p=M[R++],t[a++]=(U<<8)+Math.imul((w<<4)+(Math.imul(M[f++]-S,I)+Math.imul(p-w,B)+Math.imul(S-p,m)+8>>4)-U,y)+524288>>20,S=M[d++],p=M[R++],t[a++]=(P<<8)+Math.imul((G<<4)+(Math.imul(M[f++]-S,I)+Math.imul(p-G,B)+Math.imul(S-p,m)+8>>4)-P,y)+524288>>20,S=M[d++],p=M[R++],t[a++]=(O<<8)+Math.imul((H<<4)+(Math.imul(M[f++]-S,I)+Math.imul(p-H,B)+Math.imul(S-p,m)+8>>4)-O,y)+524288>>20):(t[a++]=U+2048>>12,t[a++]=P+2048>>12,t[a++]=O+2048>>12)):m>=B&&B>=I?(f=h+u+_+Q,d=s+u+_+Q,E=s+l+_+Q,S=M[d++],p=M[E++],U=(v<<4)+(Math.imul(M[f++]-S,I)+Math.imul(S-p,B)+Math.imul(p-v,m)+8>>4),S=M[d++],p=M[E++],P=(b<<4)+(Math.imul(M[f++]-S,I)+Math.imul(S-p,B)+Math.imul(p-b,m)+8>>4),S=M[d],p=M[E],O=(k<<4)+(Math.imul(M[f]-S,I)+Math.imul(S-p,B)+Math.imul(p-k,m)+8>>4),Z?(f+=j,d+=j,E+=j,S=M[d++],p=M[E++],t[a++]=(U<<8)+Math.imul((w<<4)+(Math.imul(M[f++]-S,I)+Math.imul(S-p,B)+Math.imul(p-w,m)+8>>4)-U,y)+524288>>20,S=M[d++],p=M[E++],t[a++]=(P<<8)+Math.imul((G<<4)+(Math.imul(M[f++]-S,I)+Math.imul(S-p,B)+Math.imul(p-G,m)+8>>4)-P,y)+524288>>20,S=M[d++],p=M[E++],t[a++]=(O<<8)+Math.imul((H<<4)+(Math.imul(M[f++]-S,I)+Math.imul(S-p,B)+Math.imul(p-H,m)+8>>4)-O,y)+524288>>20):(t[a++]=U+2048>>12,t[a++]=P+2048>>12,t[a++]=O+2048>>12)):Z?(t[a++]=(v<<8)+Math.imul(w-v,y)+32768>>16,t[a++]=(b<<8)+Math.imul(G-b,y)+32768>>16,t[a++]=(k<<8)+Math.imul(H-k,y)+32768>>16):(t[a++]=v+128>>8,t[a++]=b+128>>8,t[a++]=k+128>>8),g?t[a++]=i[e++]:(n&&e++,o&&(t[a++]=255))},tetrahedralInterp4DArray_4Ch_intLut_loop(i,e,t,a,A,r,n,o,g){for(var s=0,h=0,l=0,u=0,c=0,_=0,Q=0,I=0,B=0,m=0,y=0,X=0,N=0,L=0,T=0,D=0,x=0,F=0,q=0,f=0,d=0,R=0,E=0,v=0,b=0,k=0,w=0,G=0,H=0,U=0,P=0,O=0,S=0,p=0,Z=0,C=0,M=0,Y=!1,V=r.gridPointsScale_fixed|0,W=r.CLUT,J=r.go0|0,z=r.go1|0,te=r.go2|0,ie=r.go3|0,le=r.maxX|0,j=r.maxY|0,se=r.maxZ|0,_e=r.maxK|0,Be=ie-r.outputChannels+1|0,Ee=0;Ee<A;Ee++)q=i[e++],D=i[e++],x=i[e++],F=i[e++],T=Math.imul(q,V),q===255?(Q=_e,y=0):(Q=T>>>16,y=T>>>8&255,Q=Math.imul(Q,ie)),X=Math.imul(D,V),D===255?(s=le,h=le,I=0):(s=X>>>16,I=X>>>8&255,s=Math.imul(s,te),h=s+te),N=Math.imul(x,V),x===255?(l=j,u=j,B=0):(l=N>>>16,B=N>>>8&255,l=Math.imul(l,z),u=l+z),L=Math.imul(F,V),F===255?(c=se,_=se,m=0):(c=L>>>16,m=L>>>8&255,c=Math.imul(c,J),_=c+J),f=s+l+c+Q,v=W[f++],b=W[f++],k=W[f++],w=W[f],q===255||y===0?Y=!1:(f+=Be,G=W[f++],H=W[f++],U=W[f++],P=W[f],Y=!0),I>=B&&B>=m?(f=h+l+c+Q,d=h+u+c+Q,E=h+u+_+Q,C=W[f++],M=W[d++],O=(v<<4)+(Math.imul(C-v,I)+Math.imul(M-C,B)+Math.imul(W[E++]-M,m)+8>>4),C=W[f++],M=W[d++],S=(b<<4)+(Math.imul(C-b,I)+Math.imul(M-C,B)+Math.imul(W[E++]-M,m)+8>>4),C=W[f++],M=W[d++],p=(k<<4)+(Math.imul(C-k,I)+Math.imul(M-C,B)+Math.imul(W[E++]-M,m)+8>>4),C=W[f],M=W[d],Z=(w<<4)+(Math.imul(C-w,I)+Math.imul(M-C,B)+Math.imul(W[E]-M,m)+8>>4),Y?(f+=Be,d+=Be,E+=Be,C=W[f++],M=W[d++],t[a++]=(O<<8)+Math.imul((G<<4)+(Math.imul(C-G,I)+Math.imul(M-C,B)+Math.imul(W[E++]-M,m)+8>>4)-O,y)+524288>>20,C=W[f++],M=W[d++],t[a++]=(S<<8)+Math.imul((H<<4)+(Math.imul(C-H,I)+Math.imul(M-C,B)+Math.imul(W[E++]-M,m)+8>>4)-S,y)+524288>>20,C=W[f++],M=W[d++],t[a++]=(p<<8)+Math.imul((U<<4)+(Math.imul(C-U,I)+Math.imul(M-C,B)+Math.imul(W[E++]-M,m)+8>>4)-p,y)+524288>>20,C=W[f],M=W[d],t[a++]=(Z<<8)+Math.imul((P<<4)+(Math.imul(C-P,I)+Math.imul(M-C,B)+Math.imul(W[E]-M,m)+8>>4)-Z,y)+524288>>20):(t[a++]=O+2048>>12,t[a++]=S+2048>>12,t[a++]=p+2048>>12,t[a++]=Z+2048>>12)):I>=m&&m>=B?(f=h+l+c+Q,d=h+u+_+Q,R=h+l+_+Q,C=W[R++],M=W[f++],O=(v<<4)+(Math.imul(M-v,I)+Math.imul(W[d++]-C,B)+Math.imul(C-M,m)+8>>4),C=W[R++],M=W[f++],S=(b<<4)+(Math.imul(M-b,I)+Math.imul(W[d++]-C,B)+Math.imul(C-M,m)+8>>4),C=W[R++],M=W[f++],p=(k<<4)+(Math.imul(M-k,I)+Math.imul(W[d++]-C,B)+Math.imul(C-M,m)+8>>4),C=W[R],M=W[f],Z=(w<<4)+(Math.imul(M-w,I)+Math.imul(W[d]-C,B)+Math.imul(C-M,m)+8>>4),Y?(R+=Be,f+=Be,d+=Be,C=W[R++],M=W[f++],t[a++]=(O<<8)+Math.imul((G<<4)+(Math.imul(M-G,I)+Math.imul(W[d++]-C,B)+Math.imul(C-M,m)+8>>4)-O,y)+524288>>20,C=W[R++],M=W[f++],t[a++]=(S<<8)+Math.imul((H<<4)+(Math.imul(M-H,I)+Math.imul(W[d++]-C,B)+Math.imul(C-M,m)+8>>4)-S,y)+524288>>20,C=W[R++],M=W[f++],t[a++]=(p<<8)+Math.imul((U<<4)+(Math.imul(M-U,I)+Math.imul(W[d++]-C,B)+Math.imul(C-M,m)+8>>4)-p,y)+524288>>20,C=W[R],M=W[f],t[a++]=(Z<<8)+Math.imul((P<<4)+(Math.imul(M-P,I)+Math.imul(W[d]-C,B)+Math.imul(C-M,m)+8>>4)-Z,y)+524288>>20):(t[a++]=O+2048>>12,t[a++]=S+2048>>12,t[a++]=p+2048>>12,t[a++]=Z+2048>>12)):I>=B&&m>=I?(f=h+l+_+Q,d=s+l+_+Q,R=h+u+_+Q,C=W[f++],M=W[d++],O=(v<<4)+(Math.imul(C-M,I)+Math.imul(W[R++]-C,B)+Math.imul(M-v,m)+8>>4),C=W[f++],M=W[d++],S=(b<<4)+(Math.imul(C-M,I)+Math.imul(W[R++]-C,B)+Math.imul(M-b,m)+8>>4),C=W[f++],M=W[d++],p=(k<<4)+(Math.imul(C-M,I)+Math.imul(W[R++]-C,B)+Math.imul(M-k,m)+8>>4),C=W[f],M=W[d],Z=(w<<4)+(Math.imul(C-M,I)+Math.imul(W[R]-C,B)+Math.imul(M-w,m)+8>>4),Y?(f+=Be,d+=Be,R+=Be,C=W[f++],M=W[d++],t[a++]=(O<<8)+Math.imul((G<<4)+(Math.imul(C-M,I)+Math.imul(W[R++]-C,B)+Math.imul(M-G,m)+8>>4)-O,y)+524288>>20,C=W[f++],M=W[d++],t[a++]=(S<<8)+Math.imul((H<<4)+(Math.imul(C-M,I)+Math.imul(W[R++]-C,B)+Math.imul(M-H,m)+8>>4)-S,y)+524288>>20,C=W[f++],M=W[d++],t[a++]=(p<<8)+Math.imul((U<<4)+(Math.imul(C-M,I)+Math.imul(W[R++]-C,B)+Math.imul(M-U,m)+8>>4)-p,y)+524288>>20,C=W[f],M=W[d],t[a++]=(Z<<8)+Math.imul((P<<4)+(Math.imul(C-M,I)+Math.imul(W[R]-C,B)+Math.imul(M-P,m)+8>>4)-Z,y)+524288>>20):(t[a++]=O+2048>>12,t[a++]=S+2048>>12,t[a++]=p+2048>>12,t[a++]=Z+2048>>12)):B>=I&&I>=m?(f=h+u+c+Q,d=s+u+c+Q,E=h+u+_+Q,C=W[d++],M=W[f++],O=(v<<4)+(Math.imul(M-C,I)+Math.imul(C-v,B)+Math.imul(W[E++]-M,m)+8>>4),C=W[d++],M=W[f++],S=(b<<4)+(Math.imul(M-C,I)+Math.imul(C-b,B)+Math.imul(W[E++]-M,m)+8>>4),C=W[d++],M=W[f++],p=(k<<4)+(Math.imul(M-C,I)+Math.imul(C-k,B)+Math.imul(W[E++]-M,m)+8>>4),C=W[d],M=W[f],Z=(w<<4)+(Math.imul(M-C,I)+Math.imul(C-w,B)+Math.imul(W[E]-M,m)+8>>4),Y?(f+=Be,d+=Be,E+=Be,C=W[d++],M=W[f++],t[a++]=(O<<8)+Math.imul((G<<4)+(Math.imul(M-C,I)+Math.imul(C-G,B)+Math.imul(W[E++]-M,m)+8>>4)-O,y)+524288>>20,C=W[d++],M=W[f++],t[a++]=(S<<8)+Math.imul((H<<4)+(Math.imul(M-C,I)+Math.imul(C-H,B)+Math.imul(W[E++]-M,m)+8>>4)-S,y)+524288>>20,C=W[d++],M=W[f++],t[a++]=(p<<8)+Math.imul((U<<4)+(Math.imul(M-C,I)+Math.imul(C-U,B)+Math.imul(W[E++]-M,m)+8>>4)-p,y)+524288>>20,C=W[d],M=W[f],t[a++]=(Z<<8)+Math.imul((P<<4)+(Math.imul(M-C,I)+Math.imul(C-P,B)+Math.imul(W[E]-M,m)+8>>4)-Z,y)+524288>>20):(t[a++]=O+2048>>12,t[a++]=S+2048>>12,t[a++]=p+2048>>12,t[a++]=Z+2048>>12)):B>=m&&m>=I?(f=h+u+_+Q,d=s+u+_+Q,R=s+u+c+Q,C=W[d++],M=W[R++],O=(v<<4)+(Math.imul(W[f++]-C,I)+Math.imul(M-v,B)+Math.imul(C-M,m)+8>>4),C=W[d++],M=W[R++],S=(b<<4)+(Math.imul(W[f++]-C,I)+Math.imul(M-b,B)+Math.imul(C-M,m)+8>>4),C=W[d++],M=W[R++],p=(k<<4)+(Math.imul(W[f++]-C,I)+Math.imul(M-k,B)+Math.imul(C-M,m)+8>>4),C=W[d],M=W[R],Z=(w<<4)+(Math.imul(W[f]-C,I)+Math.imul(M-w,B)+Math.imul(C-M,m)+8>>4),Y?(f+=Be,d+=Be,R+=Be,C=W[d++],M=W[R++],t[a++]=(O<<8)+Math.imul((G<<4)+(Math.imul(W[f++]-C,I)+Math.imul(M-G,B)+Math.imul(C-M,m)+8>>4)-O,y)+524288>>20,C=W[d++],M=W[R++],t[a++]=(S<<8)+Math.imul((H<<4)+(Math.imul(W[f++]-C,I)+Math.imul(M-H,B)+Math.imul(C-M,m)+8>>4)-S,y)+524288>>20,C=W[d++],M=W[R++],t[a++]=(p<<8)+Math.imul((U<<4)+(Math.imul(W[f++]-C,I)+Math.imul(M-U,B)+Math.imul(C-M,m)+8>>4)-p,y)+524288>>20,C=W[d],M=W[R],t[a++]=(Z<<8)+Math.imul((P<<4)+(Math.imul(W[f]-C,I)+Math.imul(M-P,B)+Math.imul(C-M,m)+8>>4)-Z,y)+524288>>20):(t[a++]=O+2048>>12,t[a++]=S+2048>>12,t[a++]=p+2048>>12,t[a++]=Z+2048>>12)):m>=B&&B>=I?(f=h+u+_+Q,d=s+u+_+Q,E=s+l+_+Q,C=W[d++],M=W[E++],O=(v<<4)+(Math.imul(W[f++]-C,I)+Math.imul(C-M,B)+Math.imul(M-v,m)+8>>4),C=W[d++],M=W[E++],S=(b<<4)+(Math.imul(W[f++]-C,I)+Math.imul(C-M,B)+Math.imul(M-b,m)+8>>4),C=W[d++],M=W[E++],p=(k<<4)+(Math.imul(W[f++]-C,I)+Math.imul(C-M,B)+Math.imul(M-k,m)+8>>4),C=W[d],M=W[E],Z=(w<<4)+(Math.imul(W[f]-C,I)+Math.imul(C-M,B)+Math.imul(M-w,m)+8>>4),Y?(f+=Be,d+=Be,E+=Be,C=W[d++],M=W[E++],t[a++]=(O<<8)+Math.imul((G<<4)+(Math.imul(W[f++]-C,I)+Math.imul(C-M,B)+Math.imul(M-G,m)+8>>4)-O,y)+524288>>20,C=W[d++],M=W[E++],t[a++]=(S<<8)+Math.imul((H<<4)+(Math.imul(W[f++]-C,I)+Math.imul(C-M,B)+Math.imul(M-H,m)+8>>4)-S,y)+524288>>20,C=W[d++],M=W[E++],t[a++]=(p<<8)+Math.imul((U<<4)+(Math.imul(W[f++]-C,I)+Math.imul(C-M,B)+Math.imul(M-U,m)+8>>4)-p,y)+524288>>20,C=W[d],M=W[E],t[a++]=(Z<<8)+Math.imul((P<<4)+(Math.imul(W[f]-C,I)+Math.imul(C-M,B)+Math.imul(M-P,m)+8>>4)-Z,y)+524288>>20):(t[a++]=O+2048>>12,t[a++]=S+2048>>12,t[a++]=p+2048>>12,t[a++]=Z+2048>>12)):Y?(t[a++]=(v<<8)+Math.imul(G-v,y)+32768>>16,t[a++]=(b<<8)+Math.imul(H-b,y)+32768>>16,t[a++]=(k<<8)+Math.imul(U-k,y)+32768>>16,t[a++]=(w<<8)+Math.imul(P-w,y)+32768>>16):(t[a++]=v+128>>8,t[a++]=b+128>>8,t[a++]=k+128>>8,t[a++]=w+128>>8),g?t[a++]=i[e++]:(n&&e++,o&&(t[a++]=255))},tetrahedralInterp4DArray_3Ch_intLut16_loop(i,e,t,a,A,r,n,o,g){for(var s=0,h=0,l=0,u=0,c=0,_=0,Q=0,I=0,B=0,m=0,y=0,X=0,N=0,L=0,T=0,D=0,x=0,F=0,q=0,f=0,d=0,R=0,E=0,v=0,b=0,k=0,w=0,G=0,H=0,U=0,P=0,O=0,S=0,p=0,Z=0,C=!1,M=r.gridPointsScale_fixed_u16|0,Y=r.CLUT,V=r.go0|0,W=r.go1|0,J=r.go2|0,z=r.go3|0,te=r.maxX|0,ie=r.maxY|0,le=r.maxZ|0,j=r.maxK|0,se=z-r.outputChannels+1|0,_e=0;_e<A;_e++)q=i[e++],D=i[e++],x=i[e++],F=i[e++],T=Math.imul(q,M),q===65535?(Q=j,y=0):(Q=T>>>13,y=T&8191,Q=Math.imul(Q,z)),X=Math.imul(D,M),D===65535?(s=te,h=te,I=0):(s=X>>>13,I=X&8191,s=Math.imul(s,J),h=s+J),N=Math.imul(x,M),x===65535?(l=ie,u=ie,B=0):(l=N>>>13,B=N&8191,l=Math.imul(l,W),u=l+W),L=Math.imul(F,M),F===65535?(c=le,_=le,m=0):(c=L>>>13,m=L&8191,c=Math.imul(c,V),_=c+V),f=s+l+c+Q,v=Y[f++],b=Y[f++],k=Y[f],q===65535||y===0?C=!1:(f+=se,w=Y[f++],G=Y[f++],H=Y[f],C=!0),I>=B&&B>=m?(f=h+l+c+Q,d=h+u+c+Q,E=h+u+_+Q,S=Y[f++],p=Y[d++],U=v+(Math.imul(S-v,I)+Math.imul(p-S,B)+Math.imul(Y[E++]-p,m)+4096>>13),S=Y[f++],p=Y[d++],P=b+(Math.imul(S-b,I)+Math.imul(p-S,B)+Math.imul(Y[E++]-p,m)+4096>>13),S=Y[f],p=Y[d],O=k+(Math.imul(S-k,I)+Math.imul(p-S,B)+Math.imul(Y[E]-p,m)+4096>>13),C?(f+=se,d+=se,E+=se,S=Y[f++],p=Y[d++],Z=w+(Math.imul(S-w,I)+Math.imul(p-S,B)+Math.imul(Y[E++]-p,m)+4096>>13),t[a++]=U+(Math.imul(Z-U,y)+4096>>13),S=Y[f++],p=Y[d++],Z=G+(Math.imul(S-G,I)+Math.imul(p-S,B)+Math.imul(Y[E++]-p,m)+4096>>13),t[a++]=P+(Math.imul(Z-P,y)+4096>>13),S=Y[f],p=Y[d],Z=H+(Math.imul(S-H,I)+Math.imul(p-S,B)+Math.imul(Y[E]-p,m)+4096>>13),t[a++]=O+(Math.imul(Z-O,y)+4096>>13)):(t[a++]=U,t[a++]=P,t[a++]=O)):I>=m&&m>=B?(f=h+l+c+Q,d=h+u+_+Q,R=h+l+_+Q,S=Y[R++],p=Y[f++],U=v+(Math.imul(p-v,I)+Math.imul(Y[d++]-S,B)+Math.imul(S-p,m)+4096>>13),S=Y[R++],p=Y[f++],P=b+(Math.imul(p-b,I)+Math.imul(Y[d++]-S,B)+Math.imul(S-p,m)+4096>>13),S=Y[R],p=Y[f],O=k+(Math.imul(p-k,I)+Math.imul(Y[d]-S,B)+Math.imul(S-p,m)+4096>>13),C?(R+=se,f+=se,d+=se,S=Y[R++],p=Y[f++],Z=w+(Math.imul(p-w,I)+Math.imul(Y[d++]-S,B)+Math.imul(S-p,m)+4096>>13),t[a++]=U+(Math.imul(Z-U,y)+4096>>13),S=Y[R++],p=Y[f++],Z=G+(Math.imul(p-G,I)+Math.imul(Y[d++]-S,B)+Math.imul(S-p,m)+4096>>13),t[a++]=P+(Math.imul(Z-P,y)+4096>>13),S=Y[R],p=Y[f],Z=H+(Math.imul(p-H,I)+Math.imul(Y[d]-S,B)+Math.imul(S-p,m)+4096>>13),t[a++]=O+(Math.imul(Z-O,y)+4096>>13)):(t[a++]=U,t[a++]=P,t[a++]=O)):I>=B&&m>=I?(f=h+l+_+Q,d=s+l+_+Q,R=h+u+_+Q,S=Y[f++],p=Y[d++],U=v+(Math.imul(S-p,I)+Math.imul(Y[R++]-S,B)+Math.imul(p-v,m)+4096>>13),S=Y[f++],p=Y[d++],P=b+(Math.imul(S-p,I)+Math.imul(Y[R++]-S,B)+Math.imul(p-b,m)+4096>>13),S=Y[f],p=Y[d],O=k+(Math.imul(S-p,I)+Math.imul(Y[R]-S,B)+Math.imul(p-k,m)+4096>>13),C?(f+=se,d+=se,R+=se,S=Y[f++],p=Y[d++],Z=w+(Math.imul(S-p,I)+Math.imul(Y[R++]-S,B)+Math.imul(p-w,m)+4096>>13),t[a++]=U+(Math.imul(Z-U,y)+4096>>13),S=Y[f++],p=Y[d++],Z=G+(Math.imul(S-p,I)+Math.imul(Y[R++]-S,B)+Math.imul(p-G,m)+4096>>13),t[a++]=P+(Math.imul(Z-P,y)+4096>>13),S=Y[f],p=Y[d],Z=H+(Math.imul(S-p,I)+Math.imul(Y[R]-S,B)+Math.imul(p-H,m)+4096>>13),t[a++]=O+(Math.imul(Z-O,y)+4096>>13)):(t[a++]=U,t[a++]=P,t[a++]=O)):B>=I&&I>=m?(f=h+u+c+Q,d=s+u+c+Q,E=h+u+_+Q,S=Y[d++],p=Y[f++],U=v+(Math.imul(p-S,I)+Math.imul(S-v,B)+Math.imul(Y[E++]-p,m)+4096>>13),S=Y[d++],p=Y[f++],P=b+(Math.imul(p-S,I)+Math.imul(S-b,B)+Math.imul(Y[E++]-p,m)+4096>>13),S=Y[d],p=Y[f],O=k+(Math.imul(p-S,I)+Math.imul(S-k,B)+Math.imul(Y[E]-p,m)+4096>>13),C?(f+=se,d+=se,E+=se,S=Y[d++],p=Y[f++],Z=w+(Math.imul(p-S,I)+Math.imul(S-w,B)+Math.imul(Y[E++]-p,m)+4096>>13),t[a++]=U+(Math.imul(Z-U,y)+4096>>13),S=Y[d++],p=Y[f++],Z=G+(Math.imul(p-S,I)+Math.imul(S-G,B)+Math.imul(Y[E++]-p,m)+4096>>13),t[a++]=P+(Math.imul(Z-P,y)+4096>>13),S=Y[d],p=Y[f],Z=H+(Math.imul(p-S,I)+Math.imul(S-H,B)+Math.imul(Y[E]-p,m)+4096>>13),t[a++]=O+(Math.imul(Z-O,y)+4096>>13)):(t[a++]=U,t[a++]=P,t[a++]=O)):B>=m&&m>=I?(f=h+u+_+Q,d=s+u+_+Q,R=s+u+c+Q,S=Y[d++],p=Y[R++],U=v+(Math.imul(Y[f++]-S,I)+Math.imul(p-v,B)+Math.imul(S-p,m)+4096>>13),S=Y[d++],p=Y[R++],P=b+(Math.imul(Y[f++]-S,I)+Math.imul(p-b,B)+Math.imul(S-p,m)+4096>>13),S=Y[d],p=Y[R],O=k+(Math.imul(Y[f]-S,I)+Math.imul(p-k,B)+Math.imul(S-p,m)+4096>>13),C?(f+=se,d+=se,R+=se,S=Y[d++],p=Y[R++],Z=w+(Math.imul(Y[f++]-S,I)+Math.imul(p-w,B)+Math.imul(S-p,m)+4096>>13),t[a++]=U+(Math.imul(Z-U,y)+4096>>13),S=Y[d++],p=Y[R++],Z=G+(Math.imul(Y[f++]-S,I)+Math.imul(p-G,B)+Math.imul(S-p,m)+4096>>13),t[a++]=P+(Math.imul(Z-P,y)+4096>>13),S=Y[d],p=Y[R],Z=H+(Math.imul(Y[f]-S,I)+Math.imul(p-H,B)+Math.imul(S-p,m)+4096>>13),t[a++]=O+(Math.imul(Z-O,y)+4096>>13)):(t[a++]=U,t[a++]=P,t[a++]=O)):m>=B&&B>=I?(f=h+u+_+Q,d=s+u+_+Q,E=s+l+_+Q,S=Y[d++],p=Y[E++],U=v+(Math.imul(Y[f++]-S,I)+Math.imul(S-p,B)+Math.imul(p-v,m)+4096>>13),S=Y[d++],p=Y[E++],P=b+(Math.imul(Y[f++]-S,I)+Math.imul(S-p,B)+Math.imul(p-b,m)+4096>>13),S=Y[d],p=Y[E],O=k+(Math.imul(Y[f]-S,I)+Math.imul(S-p,B)+Math.imul(p-k,m)+4096>>13),C?(f+=se,d+=se,E+=se,S=Y[d++],p=Y[E++],Z=w+(Math.imul(Y[f++]-S,I)+Math.imul(S-p,B)+Math.imul(p-w,m)+4096>>13),t[a++]=U+(Math.imul(Z-U,y)+4096>>13),S=Y[d++],p=Y[E++],Z=G+(Math.imul(Y[f++]-S,I)+Math.imul(S-p,B)+Math.imul(p-G,m)+4096>>13),t[a++]=P+(Math.imul(Z-P,y)+4096>>13),S=Y[d],p=Y[E],Z=H+(Math.imul(Y[f]-S,I)+Math.imul(S-p,B)+Math.imul(p-H,m)+4096>>13),t[a++]=O+(Math.imul(Z-O,y)+4096>>13)):(t[a++]=U,t[a++]=P,t[a++]=O)):C?(t[a++]=v+(Math.imul(w-v,y)+4096>>13),t[a++]=b+(Math.imul(G-b,y)+4096>>13),t[a++]=k+(Math.imul(H-k,y)+4096>>13)):(t[a++]=v,t[a++]=b,t[a++]=k),g?t[a++]=i[e++]:(n&&e++,o&&(t[a++]=65535))},tetrahedralInterp4DArray_4Ch_intLut16_loop(i,e,t,a,A,r,n,o,g){for(var s=0,h=0,l=0,u=0,c=0,_=0,Q=0,I=0,B=0,m=0,y=0,X=0,N=0,L=0,T=0,D=0,x=0,F=0,q=0,f=0,d=0,R=0,E=0,v=0,b=0,k=0,w=0,G=0,H=0,U=0,P=0,O=0,S=0,p=0,Z=0,C=0,M=0,Y=0,V=!1,W=r.gridPointsScale_fixed_u16|0,J=r.CLUT,z=r.go0|0,te=r.go1|0,ie=r.go2|0,le=r.go3|0,j=r.maxX|0,se=r.maxY|0,_e=r.maxZ|0,Be=r.maxK|0,Ee=le-r.outputChannels+1|0,Na=0;Na<A;Na++)q=i[e++],D=i[e++],x=i[e++],F=i[e++],T=Math.imul(q,W),q===65535?(Q=Be,y=0):(Q=T>>>13,y=T&8191,Q=Math.imul(Q,le)),X=Math.imul(D,W),D===65535?(s=j,h=j,I=0):(s=X>>>13,I=X&8191,s=Math.imul(s,ie),h=s+ie),N=Math.imul(x,W),x===65535?(l=se,u=se,B=0):(l=N>>>13,B=N&8191,l=Math.imul(l,te),u=l+te),L=Math.imul(F,W),F===65535?(c=_e,_=_e,m=0):(c=L>>>13,m=L&8191,c=Math.imul(c,z),_=c+z),f=s+l+c+Q,v=J[f++],b=J[f++],k=J[f++],w=J[f],q===65535||y===0?V=!1:(f+=Ee,G=J[f++],H=J[f++],U=J[f++],P=J[f],V=!0),I>=B&&B>=m?(f=h+l+c+Q,d=h+u+c+Q,E=h+u+_+Q,C=J[f++],M=J[d++],O=v+(Math.imul(C-v,I)+Math.imul(M-C,B)+Math.imul(J[E++]-M,m)+4096>>13),C=J[f++],M=J[d++],S=b+(Math.imul(C-b,I)+Math.imul(M-C,B)+Math.imul(J[E++]-M,m)+4096>>13),C=J[f++],M=J[d++],p=k+(Math.imul(C-k,I)+Math.imul(M-C,B)+Math.imul(J[E++]-M,m)+4096>>13),C=J[f],M=J[d],Z=w+(Math.imul(C-w,I)+Math.imul(M-C,B)+Math.imul(J[E]-M,m)+4096>>13),V?(f+=Ee,d+=Ee,E+=Ee,C=J[f++],M=J[d++],Y=G+(Math.imul(C-G,I)+Math.imul(M-C,B)+Math.imul(J[E++]-M,m)+4096>>13),t[a++]=O+(Math.imul(Y-O,y)+4096>>13),C=J[f++],M=J[d++],Y=H+(Math.imul(C-H,I)+Math.imul(M-C,B)+Math.imul(J[E++]-M,m)+4096>>13),t[a++]=S+(Math.imul(Y-S,y)+4096>>13),C=J[f++],M=J[d++],Y=U+(Math.imul(C-U,I)+Math.imul(M-C,B)+Math.imul(J[E++]-M,m)+4096>>13),t[a++]=p+(Math.imul(Y-p,y)+4096>>13),C=J[f],M=J[d],Y=P+(Math.imul(C-P,I)+Math.imul(M-C,B)+Math.imul(J[E]-M,m)+4096>>13),t[a++]=Z+(Math.imul(Y-Z,y)+4096>>13)):(t[a++]=O,t[a++]=S,t[a++]=p,t[a++]=Z)):I>=m&&m>=B?(f=h+l+c+Q,d=h+u+_+Q,R=h+l+_+Q,C=J[R++],M=J[f++],O=v+(Math.imul(M-v,I)+Math.imul(J[d++]-C,B)+Math.imul(C-M,m)+4096>>13),C=J[R++],M=J[f++],S=b+(Math.imul(M-b,I)+Math.imul(J[d++]-C,B)+Math.imul(C-M,m)+4096>>13),C=J[R++],M=J[f++],p=k+(Math.imul(M-k,I)+Math.imul(J[d++]-C,B)+Math.imul(C-M,m)+4096>>13),C=J[R],M=J[f],Z=w+(Math.imul(M-w,I)+Math.imul(J[d]-C,B)+Math.imul(C-M,m)+4096>>13),V?(R+=Ee,f+=Ee,d+=Ee,C=J[R++],M=J[f++],Y=G+(Math.imul(M-G,I)+Math.imul(J[d++]-C,B)+Math.imul(C-M,m)+4096>>13),t[a++]=O+(Math.imul(Y-O,y)+4096>>13),C=J[R++],M=J[f++],Y=H+(Math.imul(M-H,I)+Math.imul(J[d++]-C,B)+Math.imul(C-M,m)+4096>>13),t[a++]=S+(Math.imul(Y-S,y)+4096>>13),C=J[R++],M=J[f++],Y=U+(Math.imul(M-U,I)+Math.imul(J[d++]-C,B)+Math.imul(C-M,m)+4096>>13),t[a++]=p+(Math.imul(Y-p,y)+4096>>13),C=J[R],M=J[f],Y=P+(Math.imul(M-P,I)+Math.imul(J[d]-C,B)+Math.imul(C-M,m)+4096>>13),t[a++]=Z+(Math.imul(Y-Z,y)+4096>>13)):(t[a++]=O,t[a++]=S,t[a++]=p,t[a++]=Z)):I>=B&&m>=I?(f=h+l+_+Q,d=s+l+_+Q,R=h+u+_+Q,C=J[f++],M=J[d++],O=v+(Math.imul(C-M,I)+Math.imul(J[R++]-C,B)+Math.imul(M-v,m)+4096>>13),C=J[f++],M=J[d++],S=b+(Math.imul(C-M,I)+Math.imul(J[R++]-C,B)+Math.imul(M-b,m)+4096>>13),C=J[f++],M=J[d++],p=k+(Math.imul(C-M,I)+Math.imul(J[R++]-C,B)+Math.imul(M-k,m)+4096>>13),C=J[f],M=J[d],Z=w+(Math.imul(C-M,I)+Math.imul(J[R]-C,B)+Math.imul(M-w,m)+4096>>13),V?(f+=Ee,d+=Ee,R+=Ee,C=J[f++],M=J[d++],Y=G+(Math.imul(C-M,I)+Math.imul(J[R++]-C,B)+Math.imul(M-G,m)+4096>>13),t[a++]=O+(Math.imul(Y-O,y)+4096>>13),C=J[f++],M=J[d++],Y=H+(Math.imul(C-M,I)+Math.imul(J[R++]-C,B)+Math.imul(M-H,m)+4096>>13),t[a++]=S+(Math.imul(Y-S,y)+4096>>13),C=J[f++],M=J[d++],Y=U+(Math.imul(C-M,I)+Math.imul(J[R++]-C,B)+Math.imul(M-U,m)+4096>>13),t[a++]=p+(Math.imul(Y-p,y)+4096>>13),C=J[f],M=J[d],Y=P+(Math.imul(C-M,I)+Math.imul(J[R]-C,B)+Math.imul(M-P,m)+4096>>13),t[a++]=Z+(Math.imul(Y-Z,y)+4096>>13)):(t[a++]=O,t[a++]=S,t[a++]=p,t[a++]=Z)):B>=I&&I>=m?(f=h+u+c+Q,d=s+u+c+Q,E=h+u+_+Q,C=J[d++],M=J[f++],O=v+(Math.imul(M-C,I)+Math.imul(C-v,B)+Math.imul(J[E++]-M,m)+4096>>13),C=J[d++],M=J[f++],S=b+(Math.imul(M-C,I)+Math.imul(C-b,B)+Math.imul(J[E++]-M,m)+4096>>13),C=J[d++],M=J[f++],p=k+(Math.imul(M-C,I)+Math.imul(C-k,B)+Math.imul(J[E++]-M,m)+4096>>13),C=J[d],M=J[f],Z=w+(Math.imul(M-C,I)+Math.imul(C-w,B)+Math.imul(J[E]-M,m)+4096>>13),V?(f+=Ee,d+=Ee,E+=Ee,C=J[d++],M=J[f++],Y=G+(Math.imul(M-C,I)+Math.imul(C-G,B)+Math.imul(J[E++]-M,m)+4096>>13),t[a++]=O+(Math.imul(Y-O,y)+4096>>13),C=J[d++],M=J[f++],Y=H+(Math.imul(M-C,I)+Math.imul(C-H,B)+Math.imul(J[E++]-M,m)+4096>>13),t[a++]=S+(Math.imul(Y-S,y)+4096>>13),C=J[d++],M=J[f++],Y=U+(Math.imul(M-C,I)+Math.imul(C-U,B)+Math.imul(J[E++]-M,m)+4096>>13),t[a++]=p+(Math.imul(Y-p,y)+4096>>13),C=J[d],M=J[f],Y=P+(Math.imul(M-C,I)+Math.imul(C-P,B)+Math.imul(J[E]-M,m)+4096>>13),t[a++]=Z+(Math.imul(Y-Z,y)+4096>>13)):(t[a++]=O,t[a++]=S,t[a++]=p,t[a++]=Z)):B>=m&&m>=I?(f=h+u+_+Q,d=s+u+_+Q,R=s+u+c+Q,C=J[d++],M=J[R++],O=v+(Math.imul(J[f++]-C,I)+Math.imul(M-v,B)+Math.imul(C-M,m)+4096>>13),C=J[d++],M=J[R++],S=b+(Math.imul(J[f++]-C,I)+Math.imul(M-b,B)+Math.imul(C-M,m)+4096>>13),C=J[d++],M=J[R++],p=k+(Math.imul(J[f++]-C,I)+Math.imul(M-k,B)+Math.imul(C-M,m)+4096>>13),C=J[d],M=J[R],Z=w+(Math.imul(J[f]-C,I)+Math.imul(M-w,B)+Math.imul(C-M,m)+4096>>13),V?(f+=Ee,d+=Ee,R+=Ee,C=J[d++],M=J[R++],Y=G+(Math.imul(J[f++]-C,I)+Math.imul(M-G,B)+Math.imul(C-M,m)+4096>>13),t[a++]=O+(Math.imul(Y-O,y)+4096>>13),C=J[d++],M=J[R++],Y=H+(Math.imul(J[f++]-C,I)+Math.imul(M-H,B)+Math.imul(C-M,m)+4096>>13),t[a++]=S+(Math.imul(Y-S,y)+4096>>13),C=J[d++],M=J[R++],Y=U+(Math.imul(J[f++]-C,I)+Math.imul(M-U,B)+Math.imul(C-M,m)+4096>>13),t[a++]=p+(Math.imul(Y-p,y)+4096>>13),C=J[d],M=J[R],Y=P+(Math.imul(J[f]-C,I)+Math.imul(M-P,B)+Math.imul(C-M,m)+4096>>13),t[a++]=Z+(Math.imul(Y-Z,y)+4096>>13)):(t[a++]=O,t[a++]=S,t[a++]=p,t[a++]=Z)):m>=B&&B>=I?(f=h+u+_+Q,d=s+u+_+Q,E=s+l+_+Q,C=J[d++],M=J[E++],O=v+(Math.imul(J[f++]-C,I)+Math.imul(C-M,B)+Math.imul(M-v,m)+4096>>13),C=J[d++],M=J[E++],S=b+(Math.imul(J[f++]-C,I)+Math.imul(C-M,B)+Math.imul(M-b,m)+4096>>13),C=J[d++],M=J[E++],p=k+(Math.imul(J[f++]-C,I)+Math.imul(C-M,B)+Math.imul(M-k,m)+4096>>13),C=J[d],M=J[E],Z=w+(Math.imul(J[f]-C,I)+Math.imul(C-M,B)+Math.imul(M-w,m)+4096>>13),V?(f+=Ee,d+=Ee,E+=Ee,C=J[d++],M=J[E++],Y=G+(Math.imul(J[f++]-C,I)+Math.imul(C-M,B)+Math.imul(M-G,m)+4096>>13),t[a++]=O+(Math.imul(Y-O,y)+4096>>13),C=J[d++],M=J[E++],Y=H+(Math.imul(J[f++]-C,I)+Math.imul(C-M,B)+Math.imul(M-H,m)+4096>>13),t[a++]=S+(Math.imul(Y-S,y)+4096>>13),C=J[d++],M=J[E++],Y=U+(Math.imul(J[f++]-C,I)+Math.imul(C-M,B)+Math.imul(M-U,m)+4096>>13),t[a++]=p+(Math.imul(Y-p,y)+4096>>13),C=J[d],M=J[E],Y=P+(Math.imul(J[f]-C,I)+Math.imul(C-M,B)+Math.imul(M-P,m)+4096>>13),t[a++]=Z+(Math.imul(Y-Z,y)+4096>>13)):(t[a++]=O,t[a++]=S,t[a++]=p,t[a++]=Z)):V?(t[a++]=v+(Math.imul(G-v,y)+4096>>13),t[a++]=b+(Math.imul(H-b,y)+4096>>13),t[a++]=k+(Math.imul(U-k,y)+4096>>13),t[a++]=w+(Math.imul(P-w,y)+4096>>13)):(t[a++]=v,t[a++]=b,t[a++]=k,t[a++]=w),g?t[a++]=i[e++]:(n&&e++,o&&(t[a++]=65535))}}});var qe=ae((sl,ai)=>{"use strict";var yt=class{attachStore_js_trilinearInterp3D(e,t,a){e["s"+t+"_clut"]=a.stageData.CLUT}emit_js_trilinearInterp3D(e,t){var a=t.stageData,A=a.outputChannels,r=a.g1-1,n=a.inputScale,o=r*n,g=a.outputScale,s=a.go0,h=a.go1,l=a.go2,u="s"+e+"_clut",c=["d0","d1","d2","d3","d4","d5","d6","d7"],_=c.slice(0,A),Q=[];Q.push("{"),Q.push(" const _CLUT = store."+u+";"),Q.push(" let _i0 = pcsL < 0 ? 0 : (pcsL > 1 ? 1 : pcsL);"),Q.push(" let _i1 = pcsa < 0 ? 0 : (pcsa > 1 ? 1 : pcsa);"),Q.push(" let _i2 = pcsb < 0 ? 0 : (pcsb > 1 ? 1 : pcsb);"),Q.push(" let _px = _i0 * "+o+";"),Q.push(" let _py = _i1 * "+o+";"),Q.push(" let _pz = _i2 * "+o+";"),Q.push(" let _X0 = ~~_px, _rx = _px - _X0;"),Q.push(" let _Y0 = ~~_py, _ry = _py - _Y0;"),Q.push(" let _Z0 = ~~_pz, _rz = _pz - _Z0;"),Q.push(" let _X1, _Y1, _Z1;"),Q.push(" if (_X0 === "+r+") { _X1 = _X0 *= "+l+"; } else { _X0 *= "+l+"; _X1 = _X0 + "+l+"; }"),Q.push(" if (_Y0 === "+r+") { _Y1 = _Y0 *= "+h+"; } else { _Y0 *= "+h+"; _Y1 = _Y0 + "+h+"; }"),Q.push(" if (_Z0 === "+r+") { _Z1 = _Z0 *= "+s+"; } else { _Z0 *= "+s+"; _Z1 = _Z0 + "+s+"; }");for(var I=0;I<A;I++){var B=_[I];Q.push(" {"),Q.push(" let _d000 = _CLUT[_X0 + _Y0 + _Z0 + "+I+"];"),Q.push(" let _d001 = _CLUT[_X0 + _Y0 + _Z1 + "+I+"];"),Q.push(" let _d010 = _CLUT[_X0 + _Y1 + _Z0 + "+I+"];"),Q.push(" let _d011 = _CLUT[_X0 + _Y1 + _Z1 + "+I+"];"),Q.push(" let _d100 = _CLUT[_X1 + _Y0 + _Z0 + "+I+"];"),Q.push(" let _d101 = _CLUT[_X1 + _Y0 + _Z1 + "+I+"];"),Q.push(" let _d110 = _CLUT[_X1 + _Y1 + _Z0 + "+I+"];"),Q.push(" let _d111 = _CLUT[_X1 + _Y1 + _Z1 + "+I+"];"),Q.push(" let _dx00 = _d000 + _rx * (_d100 - _d000);"),Q.push(" let _dx01 = _d001 + _rx * (_d101 - _d001);"),Q.push(" let _dx10 = _d010 + _rx * (_d110 - _d010);"),Q.push(" let _dx11 = _d011 + _rx * (_d111 - _d011);"),Q.push(" let _dxy0 = _dx00 + _ry * (_dx10 - _dx00);"),Q.push(" let _dxy1 = _dx01 + _ry * (_dx11 - _dx01);"),Q.push(" "+B+" = (_dxy0 + _rz * (_dxy1 - _dxy0)) * "+g+";"),Q.push(" }")}return Q.push("}"),Q.join(`
`)}trilinearInterp3D_NCh(e,t){var a,A,r,n,o,g,s,h,l,u,c,_,Q,I,B,m,y,X,N,L,T,D,x,F,q,f,d,R,E,v=t.outputScale,b=t.outputChannels,k=t.g1-1,w=k*t.inputScale,G=t.CLUT,H=t.go0,U=t.go1,P=t.go2;Q=Math.min(Math.max(e[0],0),1),I=Math.min(Math.max(e[1],0),1),B=Math.min(Math.max(e[2],0),1),u=Q*w,c=I*w,_=B*w,n=~~u,a=u-n,n===k?o=n*=P:(n*=P,o=n+P),g=~~c,A=c-g,g===k?s=g*=U:(g*=U,s=g+U),h=~~_,r=_-h,h===k?l=h*=H:(h*=H,l=h+H);for(var O=new Array(b),S=0;S<b;S++)m=G[n+g+h],y=G[n+g+l],X=G[n+s+h],N=G[n+s+l],L=G[o+g+h],T=G[o+g+l],D=G[o+s+h],x=G[o+s+l],F=m+a*(L-m),q=y+a*(T-y),f=X+a*(D-X),d=N+a*(x-N),R=F+A*(f-F),E=q+A*(d-q),O[S]=(R+r*(E-R))*v,n++,o++;return O}trilinearInterp3D_3or4Ch(e,t,a){a=a===void 0?0:a;var A=t.inputChannels,r=t.outputChannels,n=t.gridPoints[0],o=t.CLUT,g=n,s=n*g,h=n*s,l,u,c,_,Q,I,B,m,y,X,N,L,T,D,x,F,q,f,d,R,E,v,b,k,w=e[0]*t.inputScale,G=e[1]*t.inputScale,H=e[2]*t.inputScale;if(w=Math.min(Math.max(w,0),1),G=Math.min(Math.max(G,0),1),H=Math.min(Math.max(H,0),1),w=w*(n-1),G=G*(n-1),H=H*(n-1),l=Math.floor(w),B=w-l,u=Math.floor(G),m=G-u,c=Math.floor(H),y=H-c,_=l+(e[0]>=1?0:1),Q=u+(e[1]>=1?0:1),I=c+(e[2]>=1?0:1),X=P(l,u,c,a,o,A,r),N=P(l,u,I,a,o,A,r),L=P(l,Q,c,a,o,A,r),T=P(l,Q,I,a,o,A,r),D=P(_,u,c,a,o,A,r),x=P(_,u,I,a,o,A,r),F=P(_,Q,c,a,o,A,r),q=P(_,Q,I,a,o,A,r),f=U(B,X,D),d=U(B,N,x),R=U(B,L,F),E=U(B,T,q),v=U(m,f,R),b=U(m,d,E),k=U(y,v,b),r===3)return[k[0]*=t.outputScale,k[1]*=t.outputScale,k[2]*=t.outputScale];return[k[0]*=t.outputScale,k[1]*=t.outputScale,k[2]*=t.outputScale,k[3]*=t.outputScale];function U(O,S,p){return r===3?[S[0]+O*(p[0]-S[0]),S[1]+O*(p[1]-S[1]),S[2]+O*(p[2]-S[2])]:[S[0]+O*(p[0]-S[0]),S[1]+O*(p[1]-S[1]),S[2]+O*(p[2]-S[2]),S[3]+O*(p[3]-S[3])]}function P(O,S,p,Z,C,M,Y){var V;return M===3?V=(O*s+S*g+p)*Y:V=(Z*h+O*s+S*g+p)*Y,Y===3?[C[V],C[V+1],C[V+2]]:[C[V],C[V+1],C[V+2],C[V+3]]}}trilinearInterp4D_3or4Ch(e,t){var a,A,r,n,o;r=n=Math.max(0,Math.min(1,e[0]*t.inputScale)),n=n*(t.g1-1),a=Math.floor(n),o=n-a,A=r>=1?a:a+1;var g=[e[1],e[2],e[3]],s=this.trilinearInterp3D_3or4Ch(g,t,a);if(o===0)return s;var h=this.trilinearInterp3D_3or4Ch(g,t,A);return t.outputChannels===3?[s[0]+(h[0]-s[0])*o,s[1]+(h[1]-s[1])*o,s[2]+(h[2]-s[2])*o]:(s[0]=s[0]+(h[0]-s[0])*o,s[1]=s[1]+(h[1]-s[1])*o,s[2]=s[2]+(h[2]-s[2])*o,s[3]=s[3]+(h[3]-s[3])*o,s)}tetrahedralInterp3D_Master(e,t,a){var A=t.inputChannels,r=t.outputChannels,n=t.gridPoints[0],o=t.CLUT,g,s,h,l=n,u=n*l,c=n*u,_;t.outputChannels===3?_=[0,0,0]:_=[0,0,0,0];var Q,I,B,m,y,X,N,L,T,D,x,F,q,f,d,R;if(f=x=e[0]*t.inputScale,d=F=e[1]*t.inputScale,R=q=e[2]*t.inputScale,x=Math.min(Math.max(x,0),1),F=Math.min(Math.max(F,0),1),q=Math.min(Math.max(q,0),1),x=x*(n-1),F=F*(n-1),q=q*(n-1),y=Math.floor(x),g=x-y,X=y+(f>=1?0:1),N=Math.floor(F),s=F-N,L=N+(d>=1?0:1),T=Math.floor(q),h=q-T,D=T+(R>=1?0:1),Q=E(y,N,T,a),g>=s&&s>=h?(I=v(E(X,N,T,a),Q),B=v(E(X,L,T,a),E(X,N,T,a)),m=v(E(X,L,D,a),E(X,L,T,a))):g>=h&&h>=s?(I=v(E(X,N,T,a),Q),B=v(E(X,L,D,a),E(X,N,D,a)),m=v(E(X,N,D,a),E(X,N,T,a))):h>=g&&g>=s?(I=v(E(X,N,D,a),E(y,N,D,a)),B=v(E(X,L,D,a),E(X,N,D,a)),m=v(E(y,N,D,a),Q)):s>=g&&g>=h?(I=v(E(X,L,T,a),E(y,L,T,a)),B=v(E(y,L,T,a),Q),m=v(E(X,L,D,a),E(X,L,T,a))):s>=h&&h>=g?(I=v(E(X,L,D,a),E(y,L,D,a)),B=v(E(y,L,T,a),Q),m=v(E(y,L,D,a),E(y,L,T,a))):h>=s&&s>=g?(I=v(E(X,L,D,a),E(y,L,D,a)),B=v(E(y,L,D,a),E(y,N,D,a)),m=v(E(y,N,D,a),Q)):I=B=m=[0,0,0,0],_[0]=(Q[0]+I[0]*g+B[0]*s+m[0]*h)*t.outputScale,_[1]=(Q[1]+I[1]*g+B[1]*s+m[1]*h)*t.outputScale,_[2]=(Q[2]+I[2]*g+B[2]*s+m[2]*h)*t.outputScale,t.outputChannels===3)return _;return _[3]=(Q[3]+I[3]*g+B[3]*s+m[3]*h)*t.outputScale,_;function E(b,k,w,G){var H;return A===3?H=(b*u+k*l+w)*r:H=(G*c+b*u+k*l+w)*r,t.outputChannels===3?[o[H],o[H+1],o[H+2]]:[o[H],o[H+1],o[H+2],o[H+3]]}function v(b,k){var w=[];return w[0]=b[0]-k[0],w[1]=b[1]-k[1],w[2]=b[2]-k[2],t.outputChannels===3||(w[3]=b[3]-k[3]),w}}tetrahedralInterp3D_3or4Ch(e,t,a){var A,r,n,o=t.inputScale,g=t.outputScale,s=t.inputChannels,h=t.outputChannels,l=t.g1-1,u=t.CLUT,c=t.g1,_=t.g2,Q=t.g3,I,B,m,y,X,N,L,T,D,x,F,q,f,d,R,E;if(d=F=e[0]*o,R=q=e[1]*o,E=f=e[2]*o,F=Math.min(Math.max(F,0),1),q=Math.min(Math.max(q,0),1),f=Math.min(Math.max(f,0),1),F=F*l,q=q*l,f=f*l,X=Math.floor(F),A=F-X,N=X+(d>=1?0:1),L=Math.floor(q),r=q-L,T=L+(R>=1?0:1),D=Math.floor(f),n=f-D,x=D+(E>=1?0:1),I=v(X,L,D,a),A>=r&&r>=n?(B=b(N,L,D,a,I),m=k(N,T,D,a,N,L,D,a),y=k(N,T,x,a,N,T,D,a)):A>=n&&n>=r?(B=b(N,L,D,a,I),m=k(N,T,x,a,N,L,x,a),y=k(N,L,x,a,N,L,D,a)):n>=A&&A>=r?(B=k(N,L,x,a,X,L,x,a),m=k(N,T,x,a,N,L,x,a),y=b(X,L,x,a,I)):r>=A&&A>=n?(B=k(N,T,D,a,X,T,D,a),m=b(X,T,D,a,I),y=k(N,T,x,a,N,T,D,a)):r>=n&&n>=A?(B=k(N,T,x,a,X,T,x,a),m=b(X,T,D,a,I),y=k(X,T,x,a,X,T,D,a)):n>=r&&r>=A?(B=k(N,T,x,a,X,T,x,a),m=k(X,T,x,a,X,L,x,a),y=b(X,L,x,a,I)):B=m=y=[0,0,0,0],h===3)return[(I[0]+B[0]*A+m[0]*r+y[0]*n)*g,(I[1]+B[1]*A+m[1]*r+y[1]*n)*g,(I[2]+B[2]*A+m[2]*r+y[2]*n)*g];return[(I[0]+B[0]*A+m[0]*r+y[0]*n)*g,(I[1]+B[1]*A+m[1]*r+y[1]*n)*g,(I[2]+B[2]*A+m[2]*r+y[2]*n)*g,(I[3]+B[3]*A+m[3]*r+y[3]*n)*g];function v(w,G,H,U){var P;return s===3?P=(w*_+G*c+H)*h:P=(U*Q+w*_+G*c+H)*h,h===3?[u[P++],u[P++],u[P]]:[u[P++],u[P++],u[P++],u[P]]}function b(w,G,H,U,P){var O,S,p,Z,C;return s===3?O=(w*_+G*c+H)*h:O=(U*Q+w*_+G*c+H)*h,S=u[O++]-P[0],p=u[O++]-P[1],Z=u[O++]-P[2],h===3?[S,p,Z]:(C=u[O]-P[3],[S,p,Z,C])}function k(w,G,H,U,P,O,S,p){var Z,C,M,Y,V,W;return s===3?(Z=(w*_+G*c+H)*h,C=(P*_+O*c+S)*h):(Z=(U*Q+w*_+G*c+H)*h,C=(p*Q+P*_+O*c+S)*h),M=u[Z++]-u[C++],Y=u[Z++]-u[C++],V=u[Z++]-u[C++],h===3?[M,Y,V]:(W=u[Z]-u[C],[M,Y,V,W])}}tetrahedralInterp3D_NCh(e,t){var a,A,r,n,o,g,s,h,l,u,c,_,Q,I,B,m,y,X,N,L,T,D,x,F,q=t.outputScale,f=t.outputChannels,d=t.g1-1,R=d*t.inputScale,E=t.CLUT,v=t.go0,b=t.go1,k=t.go2;u=Math.min(Math.max(e[0]*R,0),d),c=Math.min(Math.max(e[1]*R,0),d),_=Math.min(Math.max(e[2]*R,0),d),n=~~u,a=u-n,n===d?o=n*=k:(n*=k,o=n+k),g=~~c,A=c-g,g===d?s=g*=b:(g*=b,s=g+b),h=~~_,r=_-h,h===d?l=h*=v:(h*=v,l=h+v),m=n+g+h;var w=new Array(f);if(a>=A&&A>=r)for(y=o+g+h,X=o+s+h,L=o+s+l,F=0;F<f;F++)T=E[y++],D=E[X++],x=E[m++],w[F]=(x+(T-x)*a+(D-T)*A+(E[L++]-D)*r)*q;else if(a>=r&&r>=A)for(y=o+g+h,X=o+s+l,N=o+g+l,F=0;F<f;F++)T=E[N++],D=E[y++],x=E[m++],w[F]=(x+(D-x)*a+(E[X++]-T)*A+(T-D)*r)*q;else if(a>=A&&r>=a)for(y=o+g+l,X=n+g+l,N=o+s+l,F=0;F<f;F++)T=E[y++],D=E[X++],x=E[m++],w[F]=(x+(T-D)*a+(E[N++]-T)*A+(D-x)*r)*q;else if(A>=a&&a>=r)for(y=o+s+h,X=n+s+h,L=o+s+l,F=0;F<f;F++)T=E[X++],D=E[y++],x=E[m++],w[F]=(x+(D-T)*a+(T-x)*A+(E[L++]-D)*r)*q;else if(A>=r&&r>=a)for(y=o+s+l,X=n+s+l,N=n+s+h,F=0;F<f;F++)T=E[X++],D=E[N++],x=E[m++],w[F]=(x+(E[y++]-T)*a+(D-x)*A+(T-D)*r)*q;else if(r>=A&&A>=a)for(y=o+s+l,X=n+s+l,L=n+g+l,F=0;F<f;F++)T=E[X++],D=E[L++],x=E[m++],w[F]=(x+(E[y++]-T)*a+(T-D)*A+(D-x)*r)*q;else for(F=0;F<f;F++)w[F]=E[m++]*q;return w}tetrahedralInterp3D_4Ch(e,t){var a,A,r,n,o,g,s,h,l,u,c,_,Q,I,B,m,y,X,N,L,T,D,x,F,q,f=t.outputScale,d=t.g1-1,R=d*t.inputScale,E=t.CLUT,v=t.go0,b=t.go1,k=t.go2;u=Math.min(Math.max(e[0]*R,0),d),c=Math.min(Math.max(e[1]*R,0),d),_=Math.min(Math.max(e[2]*R,0),d),n=~~u,a=u-n,n===d?o=n*=k:(n*=k,o=n+k),g=~~c,A=c-g,g===d?s=g*=b:(g*=b,s=g+b),h=~~_,r=_-h,h===d?l=h*=v:(h*=v,l=h+v),m=n+g+h,L=E[m++],T=E[m++],D=E[m++],x=E[m];var w=new Array(4);return a>=A&&A>=r?(m=o+g+h,y=o+s+h,N=o+s+l,F=E[m++],q=E[y++],w[0]=(L+(F-L)*a+(q-F)*A+(E[N++]-q)*r)*f,F=E[m++],q=E[y++],w[1]=(T+(F-T)*a+(q-F)*A+(E[N++]-q)*r)*f,F=E[m++],q=E[y++],w[2]=(D+(F-D)*a+(q-F)*A+(E[N++]-q)*r)*f,F=E[m],q=E[y],w[3]=(x+(F-x)*a+(q-F)*A+(E[N]-q)*r)*f):a>=r&&r>=A?(m=o+g+h,y=o+s+l,X=o+g+l,F=E[X++],q=E[m++],w[0]=(L+(q-L)*a+(E[y++]-F)*A+(F-q)*r)*f,F=E[X++],q=E[m++],w[1]=(T+(q-T)*a+(E[y++]-F)*A+(F-q)*r)*f,F=E[X++],q=E[m++],w[2]=(D+(q-D)*a+(E[y++]-F)*A+(F-q)*r)*f,F=E[X],q=E[m],w[3]=(x+(q-x)*a+(E[y]-F)*A+(F-q)*r)*f):a>=A&&r>=a?(m=o+g+l,y=n+g+l,X=o+s+l,F=E[m++],q=E[y++],w[0]=(L+(F-q)*a+(E[X++]-F)*A+(q-L)*r)*f,F=E[m++],q=E[y++],w[1]=(T+(F-q)*a+(E[X++]-F)*A+(q-T)*r)*f,F=E[m++],q=E[y++],w[2]=(D+(F-q)*a+(E[X++]-F)*A+(q-D)*r)*f,F=E[m++],q=E[y++],w[3]=(x+(F-q)*a+(E[X]-F)*A+(q-x)*r)*f):A>=a&&a>=r?(m=o+s+h,y=n+s+h,N=o+s+l,F=E[y++],q=E[m++],w[0]=(L+(q-F)*a+(F-L)*A+(E[N++]-q)*r)*f,F=E[y++],q=E[m++],w[1]=(T+(q-F)*a+(F-T)*A+(E[N++]-q)*r)*f,F=E[y++],q=E[m++],w[2]=(D+(q-F)*a+(F-D)*A+(E[N++]-q)*r)*f,F=E[y],q=E[m],w[3]=(x+(q-F)*a+(F-x)*A+(E[N]-q)*r)*f):A>=r&&r>=a?(m=o+s+l,y=n+s+l,X=n+s+h,F=E[y++],q=E[X++],w[0]=(L+(E[m++]-F)*a+(q-L)*A+(F-q)*r)*f,F=E[y++],q=E[X++],w[1]=(T+(E[m++]-F)*a+(q-T)*A+(F-q)*r)*f,F=E[y++],q=E[X++],w[2]=(D+(E[m++]-F)*a+(q-D)*A+(F-q)*r)*f,F=E[y++],q=E[X++],w[3]=(x+(E[m++]-F)*a+(q-x)*A+(F-q)*r)*f):r>=A&&A>=a?(m=o+s+l,y=n+s+l,N=n+g+l,F=E[y++],q=E[N++],w[0]=(L+(E[m++]-F)*a+(F-q)*A+(q-L)*r)*f,F=E[y++],q=E[N++],w[1]=(T+(E[m++]-F)*a+(F-q)*A+(q-T)*r)*f,F=E[y++],q=E[N++],w[2]=(D+(E[m++]-F)*a+(F-q)*A+(q-D)*r)*f,F=E[y],q=E[N],w[3]=(x+(E[m]-F)*a+(F-q)*A+(q-x)*r)*f):(w[0]=L*f,w[1]=T*f,w[2]=D*f,w[3]=x*f),w}tetrahedralInterp3D_3Ch(e,t){var a,A,r,n,o,g,s,h,l,u,c,_,Q,I,B,m,y,X,N,L,T,D,x,F,q=t.outputScale,f=t.g1-1,d=f*t.inputScale,R=t.CLUT,E=t.go0,v=t.go1,b=t.go2;u=Math.min(Math.max(e[0]*d,0),f),c=Math.min(Math.max(e[1]*d,0),f),_=Math.min(Math.max(e[2]*d,0),f),n=~~u,a=u-n,n===f?o=n*=b:(n*=b,o=n+b),g=~~c,A=c-g,g===f?s=g*=v:(g*=v,s=g+v),h=~~_,r=_-h,h===f?l=h*=E:(h*=E,l=h+E),m=n+g+h,L=R[m++],T=R[m++],D=R[m];var k=new Array(3);return a>=A&&A>=r?(m=o+g+h,y=o+s+h,N=o+s+l,x=R[m++],F=R[y++],k[0]=(L+(x-L)*a+(F-x)*A+(R[N++]-F)*r)*q,x=R[m++],F=R[y++],k[1]=(T+(x-T)*a+(F-x)*A+(R[N++]-F)*r)*q,x=R[m],F=R[y],k[2]=(D+(x-D)*a+(F-x)*A+(R[N]-F)*r)*q):a>=r&&r>=A?(m=o+g+h,y=o+s+l,X=o+g+l,x=R[X++],F=R[m++],k[0]=(L+(F-L)*a+(R[y++]-x)*A+(x-F)*r)*q,x=R[X++],F=R[m++],k[1]=(T+(F-T)*a+(R[y++]-x)*A+(x-F)*r)*q,x=R[X],F=R[m],k[2]=(D+(F-D)*a+(R[y]-x)*A+(x-F)*r)*q):a>=A&&r>=a?(m=o+g+l,y=n+g+l,X=o+s+l,x=R[m++],F=R[y++],k[0]=(L+(x-F)*a+(R[X++]-x)*A+(F-L)*r)*q,x=R[m++],F=R[y++],k[1]=(T+(x-F)*a+(R[X++]-x)*A+(F-T)*r)*q,x=R[m],F=R[y],k[2]=(D+(x-F)*a+(R[X]-x)*A+(F-D)*r)*q):A>=a&&a>=r?(m=o+s+h,y=n+s+h,N=o+s+l,x=R[y++],F=R[m++],k[0]=(L+(F-x)*a+(x-L)*A+(R[N++]-F)*r)*q,x=R[y++],F=R[m++],k[1]=(T+(F-x)*a+(x-T)*A+(R[N++]-F)*r)*q,x=R[y],F=R[m],k[2]=(D+(F-x)*a+(x-D)*A+(R[N]-F)*r)*q):A>=r&&r>=a?(m=o+s+l,y=n+s+l,X=n+s+h,x=R[y++],F=R[X++],k[0]=(L+(R[m++]-x)*a+(F-L)*A+(x-F)*r)*q,x=R[y++],F=R[X++],k[1]=(T+(R[m++]-x)*a+(F-T)*A+(x-F)*r)*q,x=R[y],F=R[X],k[2]=(D+(R[m]-x)*a+(F-D)*A+(x-F)*r)*q):r>=A&&A>=a?(m=o+s+l,y=n+s+l,N=n+g+l,x=R[y++],F=R[N++],k[0]=(L+(R[m++]-x)*a+(x-F)*A+(F-L)*r)*q,x=R[y++],F=R[N++],k[1]=(T+(R[m++]-x)*a+(x-F)*A+(F-T)*r)*q,x=R[y],F=R[N],k[2]=(D+(R[m]-x)*a+(x-F)*A+(F-D)*r)*q):(k[0]=L*q,k[1]=T*q,k[2]=D*q),k}tetrahedralInterp4D_3Ch(e,t){var a,A,r,n,o,g,s,h,l,u,c,_,Q,I,B,m,y,X,N,L,T,D,x,F,q,f,d,R,E,v,b,k,w,G,H,U=t.outputScale,P=t.g1-1,O=P*t.inputScale,S=t.CLUT,p=t.go0,Z=t.go1,C=t.go2,M=t.go3,Y=M-t.outputChannels+1;_=Math.min(Math.max(e[1]*O,0),P),Q=Math.min(Math.max(e[2]*O,0),P),I=Math.min(Math.max(e[3]*O,0),P),B=Math.min(Math.max(e[0]*O,0),P),n=~~B,c=B-n,H=n!==P,n*=M,a=~~_,h=_-a,a===P?A=a*=C:(a*=C,A=a+C),r=~~Q,l=Q-r,r===P?o=r*=Z:(r*=Z,o=r+Z),g=~~I,u=I-g,g===P?s=g*=p:(g*=p,s=g+p),L=a+r+g+n,F=S[L++],q=S[L++],f=S[L],H&&(L+=Y,v=S[L++],b=S[L++],k=S[L]);var V=new Array(3);return h>=l&&l>=u?(L=A+r+g+n,T=A+o+g+n,x=A+o+s+n,w=S[L++],G=S[T++],d=F+(w-F)*h+(G-w)*l+(S[x++]-G)*u,w=S[L++],G=S[T++],R=q+(w-q)*h+(G-w)*l+(S[x++]-G)*u,w=S[L],G=S[T],E=f+(w-f)*h+(G-w)*l+(S[x]-G)*u,H?(L+=Y,T+=Y,x+=Y,w=S[L++],G=S[T++],V[0]=(d+(v+(w-v)*h+(G-w)*l+(S[x++]-G)*u-d)*c)*U,w=S[L++],G=S[T++],V[1]=(R+(b+(w-b)*h+(G-w)*l+(S[x++]-G)*u-R)*c)*U,w=S[L],G=S[T],V[2]=(E+(k+(w-k)*h+(G-w)*l+(S[x]-G)*u-E)*c)*U):(V[0]=d*U,V[1]=R*U,V[2]=E*U)):h>=u&&u>=l?(L=A+r+g+n,T=A+o+s+n,D=A+r+s+n,w=S[D++],G=S[L++],d=F+(G-F)*h+(S[T++]-w)*l+(w-G)*u,w=S[D++],G=S[L++],R=q+(G-q)*h+(S[T++]-w)*l+(w-G)*u,w=S[D],G=S[L],E=f+(G-f)*h+(S[T]-w)*l+(w-G)*u,H?(D+=Y,L+=Y,T+=Y,w=S[D++],G=S[L++],V[0]=(d+(v+(G-v)*h+(S[T++]-w)*l+(w-G)*u-d)*c)*U,w=S[D++],G=S[L++],V[1]=(R+(b+(G-b)*h+(S[T++]-w)*l+(w-G)*u-R)*c)*U,w=S[D],G=S[L],V[2]=(E+(k+(G-k)*h+(S[T]-w)*l+(w-G)*u-E)*c)*U):(V[0]=d*U,V[1]=R*U,V[2]=E*U)):h>=l&&u>=h?(L=A+r+s+n,T=a+r+s+n,D=A+o+s+n,w=S[L++],G=S[T++],d=F+(w-G)*h+(S[D++]-w)*l+(G-F)*u,w=S[L++],G=S[T++],R=q+(w-G)*h+(S[D++]-w)*l+(G-q)*u,w=S[L],G=S[T],E=f+(w-G)*h+(S[D]-w)*l+(G-f)*u,H?(L+=Y,T+=Y,D+=Y,w=S[L++],G=S[T++],V[0]=(d+(v+(w-G)*h+(S[D++]-w)*l+(G-v)*u-d)*c)*U,w=S[L++],G=S[T++],V[1]=(R+(b+(w-G)*h+(S[D++]-w)*l+(G-b)*u-R)*c)*U,w=S[L],G=S[T],V[2]=(E+(k+(w-G)*h+(S[D]-w)*l+(G-k)*u-E)*c)*U):(V[0]=d*U,V[1]=R*U,V[2]=E*U)):l>=h&&h>=u?(L=A+o+g+n,T=a+o+g+n,x=A+o+s+n,w=S[T++],G=S[L++],d=F+(G-w)*h+(w-F)*l+(S[x++]-G)*u,w=S[T++],G=S[L++],R=q+(G-w)*h+(w-q)*l+(S[x++]-G)*u,w=S[T],G=S[L],E=f+(G-w)*h+(w-f)*l+(S[x]-G)*u,H?(L+=Y,T+=Y,x+=Y,w=S[T++],G=S[L++],V[0]=(d+(v+(G-w)*h+(w-v)*l+(S[x++]-G)*u-d)*c)*U,w=S[T++],G=S[L++],V[1]=(R+(b+(G-w)*h+(w-b)*l+(S[x++]-G)*u-R)*c)*U,w=S[T],G=S[L],V[2]=(E+(k+(G-w)*h+(w-k)*l+(S[x]-G)*u-E)*c)*U):(V[0]=d*U,V[1]=R*U,V[2]=E*U)):l>=u&&u>=h?(L=A+o+s+n,T=a+o+s+n,D=a+o+g+n,w=S[T++],G=S[D++],d=F+(S[L++]-w)*h+(G-F)*l+(w-G)*u,w=S[T++],G=S[D++],R=q+(S[L++]-w)*h+(G-q)*l+(w-G)*u,w=S[T],G=S[D],E=f+(S[L]-w)*h+(G-f)*l+(w-G)*u,H?(L+=Y,T+=Y,D+=Y,w=S[T++],G=S[D++],V[0]=(d+(v+(S[L++]-w)*h+(G-v)*l+(w-G)*u-d)*c)*U,w=S[T++],G=S[D++],V[1]=(R+(b+(S[L++]-w)*h+(G-b)*l+(w-G)*u-R)*c)*U,w=S[T],G=S[D],V[2]=(E+(k+(S[L]-w)*h+(G-k)*l+(w-G)*u-E)*c)*U):(V[0]=d*U,V[1]=R*U,V[2]=E*U)):u>=l&&l>=h?(L=A+o+s+n,T=a+o+s+n,x=a+r+s+n,w=S[T++],G=S[x++],d=F+(S[L++]-w)*h+(w-G)*l+(G-F)*u,w=S[T++],G=S[x++],R=q+(S[L++]-w)*h+(w-G)*l+(G-q)*u,w=S[T],G=S[x],E=f+(S[L]-w)*h+(w-G)*l+(G-f)*u,H?(L+=Y,T+=Y,x+=Y,w=S[T++],G=S[x++],V[0]=(d+(v+(S[L++]-w)*h+(w-G)*l+(G-v)*u-d)*c)*U,w=S[T++],G=S[x++],V[1]=(R+(b+(S[L++]-w)*h+(w-G)*l+(G-b)*u-R)*c)*U,w=S[T],G=S[x],V[2]=(E+(k+(S[L]-w)*h+(w-G)*l+(G-k)*u-E)*c)*U):(V[0]=d*U,V[1]=R*U,V[2]=E*U)):H?(V[0]=F+(v-F)*c*U,V[1]=q+(b-q)*c*U,V[2]=f+(k-f)*c*U):(V[0]=F*U,V[1]=q*U,V[2]=f*U),V}tetrahedralInterp4D_4Ch(e,t){var a,A,r,n,o,g,s,h,l,u,c,_,Q,I,B,m,y,X,N,L,T,D,x,F,q,f,d,R,E,v,b,k,w,G,H,U,P,O,S=t.outputScale,p=t.g1-1,Z=p*t.inputScale,C=t.CLUT,M=t.go0,Y=t.go1,V=t.go2,W=t.go3,J=W-t.outputChannels+1;_=Math.min(Math.max(e[1]*Z,0),p),Q=Math.min(Math.max(e[2]*Z,0),p),I=Math.min(Math.max(e[3]*Z,0),p),B=Math.min(Math.max(e[0]*Z,0),p),n=~~B,c=B-n,O=n!==p,n*=W,a=~~_,h=_-a,a===p?A=a*=V:(a*=V,A=a+V),r=~~Q,l=Q-r,r===p?o=r*=Y:(r*=Y,o=r+Y),g=~~I,u=I-g,g===p?s=g*=M:(g*=M,s=g+M),L=a+r+g+n,F=C[L++],q=C[L++],f=C[L++],d=C[L],O&&(L+=J,k=C[L++],w=C[L++],G=C[L++],H=C[L]);var z=new Array(4);return h>=l&&l>=u?(L=A+r+g+n,T=A+o+g+n,x=A+o+s+n,U=C[L++],P=C[T++],R=F+(U-F)*h+(P-U)*l+(C[x++]-P)*u,U=C[L++],P=C[T++],E=q+(U-q)*h+(P-U)*l+(C[x++]-P)*u,U=C[L++],P=C[T++],v=f+(U-f)*h+(P-U)*l+(C[x++]-P)*u,U=C[L],P=C[T],b=d+(U-d)*h+(P-U)*l+(C[x]-P)*u,O?(L+=J,T+=J,x+=J,U=C[L++],P=C[T++],z[0]=(R+(k+(U-k)*h+(P-U)*l+(C[x++]-P)*u-R)*c)*S,U=C[L++],P=C[T++],z[1]=(E+(w+(U-w)*h+(P-U)*l+(C[x++]-P)*u-E)*c)*S,U=C[L++],P=C[T++],z[2]=(v+(G+(U-G)*h+(P-U)*l+(C[x++]-P)*u-v)*c)*S,U=C[L],P=C[T],z[3]=(b+(H+(U-H)*h+(P-U)*l+(C[x++]-P)*u-b)*c)*S):(z[0]=R*S,z[1]=E*S,z[2]=v*S,z[3]=b*S)):h>=u&&u>=l?(L=A+r+g+n,T=A+o+s+n,D=A+r+s+n,U=C[D++],P=C[L++],R=F+(P-F)*h+(C[T++]-U)*l+(U-P)*u,U=C[D++],P=C[L++],E=q+(P-q)*h+(C[T++]-U)*l+(U-P)*u,U=C[D++],P=C[L++],v=f+(P-f)*h+(C[T++]-U)*l+(U-P)*u,U=C[D],P=C[L],b=d+(P-d)*h+(C[T]-U)*l+(U-P)*u,O?(D+=J,L+=J,T+=J,U=C[D++],P=C[L++],z[0]=(R+(k+(P-k)*h+(C[T++]-U)*l+(U-P)*u-R)*c)*S,U=C[D++],P=C[L++],z[1]=(E+(w+(P-w)*h+(C[T++]-U)*l+(U-P)*u-E)*c)*S,U=C[D++],P=C[L++],z[2]=(v+(G+(P-G)*h+(C[T++]-U)*l+(U-P)*u-v)*c)*S,U=C[D++],P=C[L++],z[3]=(b+(H+(P-H)*h+(C[T]-U)*l+(U-P)*u-b)*c)*S):(z[0]=R*S,z[1]=E*S,z[2]=v*S,z[3]=b*S)):h>=l&&u>=h?(L=A+r+s+n,T=a+r+s+n,D=A+o+s+n,U=C[L++],P=C[T++],R=F+(U-P)*h+(C[D++]-U)*l+(P-F)*u,U=C[L++],P=C[T++],E=q+(U-P)*h+(C[D++]-U)*l+(P-q)*u,U=C[L++],P=C[T++],v=f+(U-P)*h+(C[D++]-U)*l+(P-f)*u,U=C[L],P=C[T],b=d+(U-P)*h+(C[D]-U)*l+(P-d)*u,O?(L+=J,T+=J,D+=J,U=C[L++],P=C[T++],z[0]=(R+(k+(U-P)*h+(C[D++]-U)*l+(P-k)*u-R)*c)*S,U=C[L++],P=C[T++],z[1]=(E+(w+(U-P)*h+(C[D++]-U)*l+(P-w)*u-E)*c)*S,U=C[L++],P=C[T++],z[2]=(v+(G+(U-P)*h+(C[D++]-U)*l+(P-G)*u-v)*c)*S,U=C[L],P=C[T],z[3]=(b+(H+(U-P)*h+(C[D]-U)*l+(P-H)*u-b)*c)*S):(z[0]=R*S,z[1]=E*S,z[2]=v*S,z[3]=b*S)):l>=h&&h>=u?(L=A+o+g+n,T=a+o+g+n,x=A+o+s+n,U=C[T++],P=C[L++],R=F+(P-U)*h+(U-F)*l+(C[x++]-P)*u,U=C[T++],P=C[L++],E=q+(P-U)*h+(U-q)*l+(C[x++]-P)*u,U=C[T++],P=C[L++],v=f+(P-U)*h+(U-f)*l+(C[x++]-P)*u,U=C[T],P=C[L],b=d+(P-U)*h+(U-d)*l+(C[x]-P)*u,O?(L+=J,T+=J,x+=J,U=C[T++],P=C[L++],z[0]=(R+(k+(P-U)*h+(U-k)*l+(C[x++]-P)*u-R)*c)*S,U=C[T++],P=C[L++],z[1]=(E+(w+(P-U)*h+(U-w)*l+(C[x++]-P)*u-E)*c)*S,U=C[T++],P=C[L++],z[2]=(v+(G+(P-U)*h+(U-G)*l+(C[x++]-P)*u-v)*c)*S,U=C[T],P=C[L],z[3]=(b+(H+(P-U)*h+(U-H)*l+(C[x]-P)*u-b)*c)*S):(z[0]=R*S,z[1]=E*S,z[2]=v*S,z[3]=b*S)):l>=u&&u>=h?(L=A+o+s+n,T=a+o+s+n,D=a+o+g+n,U=C[T++],P=C[D++],R=F+(C[L++]-U)*h+(P-F)*l+(U-P)*u,U=C[T++],P=C[D++],E=q+(C[L++]-U)*h+(P-q)*l+(U-P)*u,U=C[T++],P=C[D++],v=f+(C[L++]-U)*h+(P-f)*l+(U-P)*u,U=C[T],P=C[D],b=d+(C[L]-U)*h+(P-d)*l+(U-P)*u,O?(L+=J,T+=J,D+=J,U=C[T++],P=C[D++],z[0]=(R+(k+(C[L++]-U)*h+(P-k)*l+(U-P)*u-R)*c)*S,U=C[T++],P=C[D++],z[1]=(E+(w+(C[L++]-U)*h+(P-w)*l+(U-P)*u-E)*c)*S,U=C[T++],P=C[D++],z[2]=(v+(G+(C[L++]-U)*h+(P-G)*l+(U-P)*u-v)*c)*S,U=C[T],P=C[D],z[3]=(b+(H+(C[L++]-U)*h+(P-H)*l+(U-P)*u-b)*c)*S):(z[0]=R*S,z[1]=E*S,z[2]=v*S,z[3]=b*S)):u>=l&&l>=h?(L=A+o+s+n,T=a+o+s+n,x=a+r+s+n,U=C[T++],P=C[x++],R=F+(C[L++]-U)*h+(U-P)*l+(P-F)*u,U=C[T++],P=C[x++],E=q+(C[L++]-U)*h+(U-P)*l+(P-q)*u,U=C[T++],P=C[x++],v=f+(C[L++]-U)*h+(U-P)*l+(P-f)*u,U=C[T],P=C[x],b=d+(C[L]-U)*h+(U-P)*l+(P-d)*u,O?(L+=J,T+=J,x+=J,U=C[T++],P=C[x++],z[0]=(R+(k+(C[L++]-U)*h+(U-P)*l+(P-k)*u-R)*c)*S,U=C[T++],P=C[x++],z[1]=(E+(w+(C[L++]-U)*h+(U-P)*l+(P-w)*u-E)*c)*S,U=C[T++],P=C[x++],z[2]=(v+(G+(C[L++]-U)*h+(U-P)*l+(P-G)*u-v)*c)*S,U=C[T],P=C[x],z[3]=(b+(H+(C[L]-U)*h+(U-P)*l+(P-H)*u-b)*c)*S):(z[0]=R*S,z[1]=E*S,z[2]=v*S,z[3]=b*S)):O?(z[0]=F+(k-F)*c*S,z[1]=q+(w-q)*c*S,z[2]=f+(G-f)*c*S,z[3]=d+(H-d)*c*S):(z[0]=F*S,z[1]=q*S,z[2]=f*S,z[3]=d*S),z}tetrahedralInterp4D_NCh(e,t){var a,A,r,n,o,g,s,h,l,u,c,_,Q,I,B,m,y,X,N,L,T,D,x,F,q,f,d,R,E,v,b=t.outputScale,k=t.g1-1,w=k*t.inputScale,G=t.outputChannels,H=t.CLUT,U=t.go0,P=t.go1,O=t.go2,S=t.go3,p=S-t.outputChannels;B=Math.min(Math.max(e[0]*w,0),k),_=Math.min(Math.max(e[1]*w,0),k),Q=Math.min(Math.max(e[2]*w,0),k),I=Math.min(Math.max(e[3]*w,0),k),n=~~B,c=B-n,v=n!==k,n*=S,a=~~_,h=_-a,a===k?A=a*=O:(a*=O,A=a+O),r=~~Q,l=Q-r,r===k?o=r*=P:(r*=P,o=r+P),g=~~I,u=I-g,g===k?s=g*=U:(g*=U,s=g+U);var Z=v?1:b;L=a+r+g+n;var C=new Array(G);if(h>=l&&l>=u){for(T=A+r+g+n,D=A+o+g+n,F=A+o+s+n,E=0;E<G;E++)q=H[T++],f=H[D++],d=H[L++],C[E]=(d+(q-d)*h+(f-q)*l+(H[F++]-f)*u)*Z;if(v)for(L+=p,T+=p,D+=p,F+=p,E=0;E<G;E++)q=H[T++],f=H[D++],d=H[L++],R=C[E],C[E]=(R+(d+(q-d)*h+(f-q)*l+(H[F++]-f)*u-R)*c)*b}else if(h>=u&&u>=l){for(T=A+r+g+n,D=A+o+s+n,x=A+r+s+n,E=0;E<G;E++)q=H[x++],f=H[T++],d=H[L++],C[E]=(d+(f-d)*h+(H[D++]-q)*l+(q-f)*u)*Z;if(v)for(L+=p,T+=p,D+=p,x+=p,E=0;E<G;E++)q=H[x++],f=H[T++],d=H[L++],R=C[E],C[E]=(R+(d+(f-d)*h+(H[D++]-q)*l+(q-f)*u-R)*c)*b}else if(h>=l&&u>=h){for(T=A+r+s+n,D=a+r+s+n,x=A+o+s+n,E=0;E<G;E++)q=H[T++],f=H[D++],d=H[L++],C[E]=(d+(q-f)*h+(H[x++]-q)*l+(f-d)*u)*Z;if(v)for(L+=p,T+=p,D+=p,x+=p,E=0;E<G;E++)q=H[T++],f=H[D++],d=H[L++],R=C[E],C[E]=(R+(d+(q-f)*h+(H[x++]-q)*l+(f-d)*u-R)*c)*b}else if(l>=h&&h>=u){for(T=A+o+g+n,D=a+o+g+n,F=A+o+s+n,E=0;E<G;E++)q=H[D++],f=H[T++],d=H[L++],C[E]=(d+(f-q)*h+(q-d)*l+(H[F++]-f)*u)*Z;if(v)for(L+=p,T+=p,D+=p,F+=p,E=0;E<G;E++)q=H[D++],f=H[T++],d=H[L++],R=C[E],C[E]=(R+(d+(f-q)*h+(q-d)*l+(H[F++]-f)*u-R)*c)*b}else if(l>=u&&u>=h){for(T=A+o+s+n,D=a+o+s+n,x=a+o+g+n,E=0;E<G;E++)q=H[D++],f=H[x++],d=H[L++],C[E]=(d+(H[T++]-q)*h+(f-d)*l+(q-f)*u)*Z;if(v)for(L+=p,T+=p,D+=p,x+=p,E=0;E<G;E++)q=H[D++],f=H[x++],d=H[L++],R=C[E],C[E]=(R+(d+(H[T++]-q)*h+(f-d)*l+(q-f)*u-R)*c)*b}else if(u>=l&&l>=h){for(T=A+o+s+n,D=a+o+s+n,F=a+r+s+n,E=0;E<G;E++)q=H[D++],f=H[F++],d=H[L++],C[E]=(d+(H[T++]-q)*h+(q-f)*l+(f-d)*u)*Z;if(v)for(L+=p,T+=p,D+=p,F+=p,E=0;E<G;E++)q=H[D++],f=H[F++],d=H[L++],R=C[E],C[E]=(R+(d+(H[T++]-q)*h+(q-f)*l+(f-d)*u-R)*c)*b}else if(v){for(E=0;E<G;E++)C[E]=H[L++];for(L+=p,E=0;E<G;E++)d=H[L++],C[E]=(d+(C[E]-d)*c)*b}else for(E=0;E<G;E++)C[E]=H[L++]*b;return C}tetrahedralInterpND_NCh(e,t){let a=t.inputChannels,A=t.outputChannels,r=t.CLUT,n=t.gridPoints,o=t.outputScale,g=t.inputScale,s=new Array(a);s[a-1]=A;for(let Q=a-2;Q>=0;Q--)s[Q]=s[Q+1]*n[Q+1];let h=new Array(a),l=new Array(a);for(let Q=0;Q<a;Q++){let I=n[Q]-1,B=Math.min(Math.max(e[Q]*g,0),1)*I,m=Math.floor(B);h[Q]=m>=I?I>0?I-1:0:m,l[Q]=B-h[Q]}let u=(Q,I,B)=>{let m=l[Q],y=l[Q+1],X=l[Q+2],N=s[Q],L=s[Q+1],T=s[Q+2],D=I+h[Q]*N+h[Q+1]*L+h[Q+2]*T;for(let x=0;x<A;x++){let F=r[D+x],q,f,d;m>=y&&y>=X?(q=r[D+N+x]-F,f=r[D+N+L+x]-r[D+N+x],d=r[D+N+L+T+x]-r[D+N+L+x]):m>=X&&X>=y?(q=r[D+N+x]-F,f=r[D+N+L+T+x]-r[D+N+T+x],d=r[D+N+T+x]-r[D+N+x]):X>=m&&m>=y?(q=r[D+N+T+x]-r[D+T+x],f=r[D+N+L+T+x]-r[D+N+T+x],d=r[D+T+x]-F):y>=m&&m>=X?(q=r[D+N+L+x]-r[D+L+x],f=r[D+L+x]-F,d=r[D+N+L+T+x]-r[D+N+L+x]):y>=X&&X>=m?(q=r[D+N+L+T+x]-r[D+L+T+x],f=r[D+L+x]-F,d=r[D+L+T+x]-r[D+L+x]):(q=r[D+N+L+T+x]-r[D+L+T+x],f=r[D+L+T+x]-r[D+T+x],d=r[D+T+x]-F),B[x]=F+q*m+f*y+d*X}},c=(Q,I,B)=>{if(a-Q===3){u(Q,I,B);return}let m=s[Q],y=new Array(A),X=new Array(A);c(Q+1,I+h[Q]*m,y),c(Q+1,I+(h[Q]+1)*m,X);let N=l[Q];for(let L=0;L<A;L++)B[L]=y[L]+(X[L]-y[L])*N},_=new Array(A);if(a>=3)c(0,0,_);else{let Q=1<<a;for(let I=0;I<A;I++)_[I]=0;for(let I=0;I<Q;I++){let B=1,m=0;for(let y=0;y<a;y++){let X=I>>y&1;B*=X?l[y]:1-l[y],m+=(h[y]+X)*s[y]}if(B!==0)for(let y=0;y<A;y++)_[y]+=B*r[m+y]}}for(let Q=0;Q<A;Q++)_[Q]*=o;return _}simplexInterpND_NCh(e,t){let a=t.inputChannels,A=t.outputChannels,r=t.CLUT,n=t.gridPoints,o=t.outputScale,g=t.inputScale,s=new Array(a);s[a-1]=A;for(let B=a-2;B>=0;B--)s[B]=s[B+1]*n[B+1];let h=new Array(a),l=new Array(a);for(let B=0;B<a;B++){let m=Math.min(1,Math.max(0,e[B]*g)),y=n[B]-1,X=m*y;h[B]=Math.min(Math.floor(X),y-1),l[B]=X-h[B]}let u=0;for(let B=0;B<a;B++)u+=h[B]*s[B];let c=Array.from({length:a},(B,m)=>m).sort((B,m)=>l[m]-l[B]),_=new Array(A).fill(0),Q=u,I=1;for(let B=0;B<a;B++){let m=c[B],y=I-l[m];I=l[m];for(let X=0;X<A;X++)_[X]+=y*r[Q+X];Q+=s[m]}for(let B=0;B<A;B++)_[B]+=I*r[Q+B];for(let B=0;B<A;B++)_[B]*=o;return _}tetrahedralInterp3D_NCh_F16(e,t){var a,A,r,n,o,g,s,h,l,u,c,_,Q,I,B,m,y,X,N,L,T,D,x,F,q=t.outputScale,f=t.outputChannels,d=t.g1-1,R=t.CLUT,E=t.go0,v=t.go1,b=t.go2;Q=Math.min(Math.max(e[0],0),65535),I=Math.min(Math.max(e[1],0),65535),B=Math.min(Math.max(e[2],0),65535),u=Q*d/65535,c=I*d/65535,_=B*d/65535,n=~~u,a=u-n,n===d?o=n*=b:(n*=b,o=n+b),g=~~c,A=c-g,g===d?s=g*=v:(g*=v,s=g+v),h=~~_,r=_-h,h===d?l=h*=E:(h*=E,l=h+E),m=n+g+h;var k=new Array(f);if(a>=A&&A>=r)for(y=o+g+h,X=o+s+h,L=o+s+l,F=0;F<f;F++)T=R[y++],D=R[X++],x=R[m++],k[F]=(x+(T-x)*a+(D-T)*A+(R[L++]-D)*r)*q;else if(a>=r&&r>=A)for(y=o+g+h,X=o+s+l,N=o+g+l,F=0;F<f;F++)T=R[N++],D=R[y++],x=R[m++],k[F]=(x+(D-x)*a+(R[X++]-T)*A+(T-D)*r)*q;else if(a>=A&&r>=a)for(y=o+g+l,X=n+g+l,N=o+s+l,F=0;F<f;F++)T=R[y++],D=R[X++],x=R[m++],k[F]=(x+(T-D)*a+(R[N++]-T)*A+(D-x)*r)*q;else if(A>=a&&a>=r)for(y=o+s+h,X=n+s+h,L=o+s+l,F=0;F<f;F++)T=R[X++],D=R[y++],x=R[m++],k[F]=(x+(D-T)*a+(T-x)*A+(R[L++]-D)*r)*q;else if(A>=r&&r>=a)for(y=o+s+l,X=n+s+l,N=n+s+h,F=0;F<f;F++)T=R[X++],D=R[N++],x=R[m++],k[F]=(x+(R[y++]-T)*a+(D-x)*A+(T-D)*r)*q;else if(r>=A&&A>=a)for(y=o+s+l,X=n+s+l,L=n+g+l,F=0;F<f;F++)T=R[X++],D=R[L++],x=R[m++],k[F]=(x+(R[y++]-T)*a+(T-D)*A+(D-x)*r)*q;else for(F=0;F<f;F++)k[F]=R[m++]*q;return k}tetrahedralInterp4D_3or4Ch_Master(e,t){var a,A,r,n,o;r=n=Math.max(0,Math.min(1,e[0]*t.inputScale)),n=n*(t.g1-1),a=Math.floor(n),o=n-a,A=r>=1?a:a+1;var g=[e[1],e[2],e[3]],s=this.tetrahedralInterp3D_Master(g,t,a);if(o===0)return s;var h=this.tetrahedralInterp3D_Master(g,t,A);return s[0]=s[0]+(h[0]-s[0])*o,s[1]=s[1]+(h[1]-s[1])*o,s[2]=s[2]+(h[2]-s[2])*o,t.outputChannels===3||(s[3]=s[3]+(h[3]-s[3])*o),s}tetrahedralInterp4D_3or4Ch(e,t){var a,A,r,n,o;r=n=Math.max(0,Math.min(1,e[0]*t.inputScale)),n=n*(t.g1-1),a=Math.floor(n),o=n-a,A=r>=1?a:a+1;var g=[e[1],e[2],e[3]],s=this.tetrahedralInterp3D_3or4Ch(g,t,a);if(o===0)return s;var h=this.tetrahedralInterp3D_3or4Ch(g,t,A);return s[0]=s[0]+(h[0]-s[0])*o,s[1]=s[1]+(h[1]-s[1])*o,s[2]=s[2]+(h[2]-s[2])*o,t.outputChannels===3||(s[3]=s[3]+(h[3]-s[3])*o),s}},ti={};Object.getOwnPropertyNames(yt.prototype).forEach(function(i){i!=="constructor"&&(ti[i]=yt.prototype[i])});ai.exports=ti});var sa=ae((hl,ii)=>{"use strict";function Fn(i,e,t){return i+(Math.imul(e-i,t)+128>>8)|0}function kn(i){var e=i+2048>>12;return e<0?e=0:e>255&&(e=255),e}function qn(i,e,t){var a=(i<<8)+Math.imul(e-i,t)+524288>>20;return a<0?a=0:a>255&&(a=255),a}function Tn(i,e,t,a,A,r,n,o,g,s,h,l,u){var c=e+a+r+o|0,_,Q,I,B,m,y,X,N,L,T;if(g>=s&&s>=h)for(_=t+a+r+o,Q=t+A+r+o,B=t+A+n+o,m=0;m<l;m++)y=i[_++],X=i[Q++],N=i[c++],L=i[B++],T=Math.imul(y-N,g)+Math.imul(X-y,s)+Math.imul(L-X,h),u[m]=(N<<4)+(T+8>>4);else if(g>=h&&h>=s)for(_=t+a+r+o,Q=t+A+n+o,I=t+a+n+o,m=0;m<l;m++)y=i[I++],X=i[_++],N=i[c++],L=i[Q++],T=Math.imul(X-N,g)+Math.imul(L-y,s)+Math.imul(y-X,h),u[m]=(N<<4)+(T+8>>4);else if(g>=s&&h>=g)for(_=t+a+n+o,Q=e+a+n+o,I=t+A+n+o,m=0;m<l;m++)y=i[_++],X=i[Q++],N=i[c++],L=i[I++],T=Math.imul(y-X,g)+Math.imul(L-y,s)+Math.imul(X-N,h),u[m]=(N<<4)+(T+8>>4);else if(s>=g&&g>=h)for(_=t+A+r+o,Q=e+A+r+o,B=t+A+n+o,m=0;m<l;m++)y=i[Q++],X=i[_++],N=i[c++],L=i[B++],T=Math.imul(X-y,g)+Math.imul(y-N,s)+Math.imul(L-X,h),u[m]=(N<<4)+(T+8>>4);else if(s>=h&&h>=g)for(_=t+A+n+o,Q=e+A+n+o,I=e+A+r+o,m=0;m<l;m++)y=i[Q++],X=i[I++],N=i[c++],L=i[_++],T=Math.imul(L-y,g)+Math.imul(X-N,s)+Math.imul(y-X,h),u[m]=(N<<4)+(T+8>>4);else if(h>=s&&s>=g)for(_=t+A+n+o,Q=e+A+n+o,B=e+a+n+o,m=0;m<l;m++)y=i[Q++],X=i[B++],N=i[c++],L=i[_++],T=Math.imul(L-y,g)+Math.imul(y-X,s)+Math.imul(X-N,h),u[m]=(N<<4)+(T+8>>4);else for(m=0;m<l;m++)u[m]=i[c++]<<4}function Un(i,e,t,a){var A=Math.imul(i,e);if(i===255)return{lo:a,hi:a,r:0};var r=A>>>16;return{lo:Math.imul(r,t),hi:Math.imul(r,t)+t,r:A>>>8&255}}function Yn(i,e,t,a){var A=Math.imul(i,e);if(i===255)return{lo:a,r:0,interp:!1};var r=A>>>8&255;return{lo:Math.imul(A>>>16,t),r,interp:r!==0}}ii.exports={lerpU20:Fn,emitU8:kn,emitU8Lerp:qn,tetraU20:Tn,decodeAxis:Un,decodePeel:Yn}});var ha=ae((ll,Ai)=>{"use strict";var Nn=qe(),Te=sa();function ri(i,e,t,a,A,r,n){return n?t[a++]=i[e++]:(A&&e++,r&&(t[a++]=255)),{inputPos:e,outputPos:a}}function Pn(i,e,t,a,A,r,n,o,g){var s=5,h=r.outputChannels,l=new Array(s),u,c,_,Q,I;for(u=0;u<A;u++){for(c=0;c<s;c++)l[c]=i[e++];for(Q=Nn.tetrahedralInterpND_NCh(l,r),_=0;_<h;_++)t[a++]=Math.round(Q[_]);I=ri(i,e,t,a,n,o,g),e=I.inputPos,a=I.outputPos}}function Jn(i,e,t,a,A,r,n,o,g){var s=r.gridPointsScale_fixed|0,h=r.CLUT,l=r.go0|0,u=r.go1|0,c=r.go2|0,_=r.go3|0,Q=r.go4|0,I=r.outputChannels|0,B=new Int32Array(I),m=new Int32Array(I),y=new Int32Array(I),X,N,L,T,D,x,F,q,f,d,R,E;for(X=0;X<A;X++){for(T=Te.decodePeel(i[e++],s,Q,r.maxE|0),D=Te.decodePeel(i[e++],s,_,r.maxK|0),x=Te.decodeAxis(i[e++],s,c,r.maxX|0),F=Te.decodeAxis(i[e++],s,u,r.maxY|0),q=Te.decodeAxis(i[e++],s,l,r.maxZ|0),R=T.interp?2:1,E=D.interp?2:1,f=0;f<R;f++)for(d=0;d<E;d++)for(L=T.lo+(f?Q:0)+D.lo+(d?_:0)|0,Te.tetraU20(h,x.lo,x.hi,F.lo,F.hi,q.lo,q.hi,L,x.r,F.r,q.r,I,y),N=0;N<I;N++){var v=y[N];if(d===0&&D.interp){B[N]=v;continue}if(d===1&&(v=Te.lerpU20(B[N],v,D.r)),f===0&&T.interp){m[N]=v;continue}t[a++]=f===1?Te.emitU8Lerp(m[N],v,T.r):Te.emitU8(v)}var b=ri(i,e,t,a,n,o,g);e=b.inputPos,a=b.outputPos}}Ai.exports={tetrahedralInterp5DArray_NCh_loop:Pn,tetrahedralInterp5DArray_NCh_intLut_loop:Jn}});var la=ae((ol,si)=>{"use strict";var Xn=qe(),Re=sa();function ni(i,e,t,a,A,r,n){return n?t[a++]=i[e++]:(A&&e++,r&&(t[a++]=255)),{inputPos:e,outputPos:a}}function Hn(i,e,t,a,A,r,n,o,g){var s=6,h=r.outputChannels,l=new Array(s),u,c,_,Q,I;for(u=0;u<A;u++){for(c=0;c<s;c++)l[c]=i[e++];for(Q=Xn.tetrahedralInterpND_NCh(l,r),_=0;_<h;_++)t[a++]=Math.round(Q[_]);I=ni(i,e,t,a,n,o,g),e=I.inputPos,a=I.outputPos}}function Kn(i,e,t,a,A,r,n,o,g){var s=r.gridPointsScale_fixed|0,h=r.CLUT,l=r.go0|0,u=r.go1|0,c=r.go2|0,_=r.go3|0,Q=r.go4|0,I=r.go5|0,B=r.outputChannels|0,m=new Int32Array(B),y=new Int32Array(B),X=new Int32Array(B),N=new Int32Array(B),L,T,D,x,F,q,f,d,R,E,v,b,k,w,G;for(L=0;L<A;L++){for(x=Re.decodePeel(i[e++],s,I,r.maxF|0),F=Re.decodePeel(i[e++],s,Q,r.maxE|0),q=Re.decodePeel(i[e++],s,_,r.maxK|0),f=Re.decodeAxis(i[e++],s,c,r.maxX|0),d=Re.decodeAxis(i[e++],s,u,r.maxY|0),R=Re.decodeAxis(i[e++],s,l,r.maxZ|0),k=x.interp?2:1,w=F.interp?2:1,G=q.interp?2:1,E=0;E<k;E++)for(v=0;v<w;v++)for(b=0;b<G;b++)for(D=x.lo+(E?I:0)+F.lo+(v?Q:0)+q.lo+(b?_:0)|0,Re.tetraU20(h,f.lo,f.hi,d.lo,d.hi,R.lo,R.hi,D,f.r,d.r,R.r,B,N),T=0;T<B;T++){var H=N[T];if(b===0&&q.interp){m[T]=H;continue}if(b===1&&(H=Re.lerpU20(m[T],H,q.r)),v===0&&F.interp){y[T]=H;continue}if(v===1&&(H=Re.lerpU20(y[T],H,F.r)),E===0&&x.interp){X[T]=H;continue}t[a++]=E===1?Re.emitU8Lerp(X[T],H,x.r):Re.emitU8(H)}var U=ni(i,e,t,a,n,o,g);e=U.inputPos,a=U.outputPos}}si.exports={tetrahedralInterp6DArray_NCh_loop:Hn,tetrahedralInterp6DArray_NCh_intLut_loop:Kn}});var Ii=ae((gl,gi)=>{"use strict";var Ce=je(),li=Ye(),ge=li.eColourType,Qe=li.illuminant;function Fe(i,e){var t=Math.pow(10,e);return Math.round(i*t)/t}var Dt=class{stage_debug(e,t){var a=null;return this.addDebugHistory(t,"stage_debug",a,e),e}emit_js_stage_debug(e,t){var a=t&&t.stageName?t.stageName:"stage_debug",A="";t&&(typeof t.stageData=="string"?A=t.stageData:typeof t.debugFormat=="string"&&(A=t.debugFormat));var r=A.replace(/\{[a-z]+\}/gi,"").replace(/\|/g," ").replace(/\s+/g," ").trim();return r.length>0?"// debug marker ("+a+"): "+r+" \u2014 compile-time no-op":"// debug marker ("+a+") \u2014 compile-time no-op"}addDebugHistory(e,t,a,A){e.indexOf("{name}")>=0&&(e=e.replace("{name}",t));for(var r=e.split("{"),n=1;n<r.length;n++){var o=r[n].split("}"),g=o[0].split(":");switch(g[0].toLowerCase()){case"last":o[0]=hi(a,g[1],this.debugHistoryDecimals);break;case"data":o[0]=hi(A,g[1],this.debugHistoryDecimals);break}r[n]=o.join("")}this.debugHistory.push(r.join(""))}stage_null(e){return e}emit_js_stage_null(e,t){return""}stage_history(e,t){return this.debugHistory.push(t),e}emit_js_stage_history(e,t){var a=t&&t.stageName?t.stageName:"stage_history",A="";t&&typeof t.stageData=="string"&&(A=t.stageData);var r=A.replace(/\s+/g," ").trim();return r.length>120&&(r=r.slice(0,117)+"..."),r.length>0?"// history marker ("+a+"): "+r+" \u2014 compile-time no-op":"// history marker ("+a+") \u2014 compile-time no-op"}stage_device_to_Gray(e){return{G:e[0]*255,type:ge.Gray}}emit_js_stage_device_to_Gray(e,t){return`return {
G: (device[0] * 255),
type: eColourType.Gray
}
`}stage_device_to_Grayf(e){return{Gf:e[0],type:ge.Grayf}}emit_js_stage_device_to_Grayf(e,t){return`return {
Gf: device[0],
type: eColourType.Grayf
}
`}stage_device_to_Gray_round(e,t){return{G:Fe(e[0]*255,t),type:ge.Gray}}emit_js_stage_device_to_Gray_round(e,t){return`return {
G: Math.round(device[0] * 255 * pp) / pp,
type: eColourType.Gray
}
`}stage_Gray_to_Device(e){if(e.type===ge.Gray)return[e.G/255];throw"stage_Gray_to_Device: cmsInput expects _cmsGray"}emit_js_stage_Gray_to_Device(e,t){return`return [G / 255]
`}stage_device_to_Duo(e){return{a:e[0]*100,b:e[1]*100,type:ge.Duo}}emit_js_stage_device_to_Duo(e,t){return`return {
a: (device[0] * 100),
a: (device[1] * 100),
type: eColourType.Duo
}
`}stage_device_to_Duof(e){return{af:e[0],bf:e[1],type:ge.Duof}}stage_device_to_Duo_round(e,t){return{a:Fe(e[0]*100,t),b:Fe(e[1]*100,t),type:ge.Duo}}stage_Duo_to_Device(e){if(e.type===ge.Duo)return[e.a/100,e.b/100];if(e.type===ge.Duof)return[e.af,e.bf];throw"stage_Duo_to_Device: cmsInput expects _cmsDuo"}stage_device_to_RGB(e){return{R:e[0]*255,G:e[1]*255,B:e[2]*255,type:ge.RGB}}stage_device_to_RGB_round(e,t){return{R:Fe(e[0]*255,t),G:Fe(e[1]*255,t),B:Fe(e[2]*255,t),type:ge.RGB}}stage_device_to_RGBf(e){return{Rf:e[0],Gf:e[1],Bf:e[2],type:ge.RGBf}}stage_RGB_to_Device(e){if(e.type===ge.RGB)return[e.R/255,e.G/255,e.B/255];if(e.type===ge.RGBf)return[e.Rf,e.Gf,e.Bf];throw"InputtoPCS: cmsInput is not of type RGB or RGBf"}stage_device_to_CMYKf(e){return{Cf:e[0],Mf:e[1],Yf:e[2],Kf:e[3],type:ge.CMYKf}}stage_device_to_CMYK(e){return{C:e[0]*100,M:e[1]*100,Y:e[2]*100,K:e[3]*100,type:ge.CMYK}}stage_device_to_CMYK_round(e,t){return{C:Fe(e[0]*100,t),M:Fe(e[1]*100,t),Y:Fe(e[2]*100,t),K:Fe(e[3]*100,t),type:ge.CMYK}}stage_CMYK_to_Device(e){if(e.type===ge.CMYK)return[e.C/100,e.M/100,e.Y/100,e.K/100];if(e.type===ge.CMYKf)return[e.Cf,e.Mf,e.Yf,e.Kf];throw"stage_CMYK_to_Device: cmsInput expects _cmsCMYK or _cmsCMYKf "}stage_NCh_to_Device(e){if(Array.isArray(e)||ArrayBuffer.isView(e))return Array.prototype.slice.call(e);if(e&&typeof e=="object"){for(var t=[],a=0;typeof e["c"+a]=="number";a++)t.push(e["c"+a]);if(t.length>0)return t}throw"stage_NCh_to_Device: expects a device array (0..1) or a {c0..cN} object"}stage_IntN_to_Device(e,t){for(var a=new Array(e.length),A=0;A<e.length;A++)a[A]=e[A]/t;return a}stage_device_to_NCh(e){return Array.prototype.slice.call(e)}stage_device1_to_int(e,t){return[Math.round(e[0]*t)]}stage_device2_to_int(e,t){return[Math.round(e[0]*t),Math.round(e[1]*t)]}stage_device3_to_int(e,t){return[Math.round(e[0]*t),Math.round(e[1]*t),Math.round(e[2]*t)]}stage_device4_to_int(e,t){return[Math.round(e[0]*t),Math.round(e[1]*t),Math.round(e[2]*t),Math.round(e[3]*t)]}stage_deviceN_to_int(e,t){for(var a=new Array(e.length),A=0;A<e.length;A++)a[A]=Math.round(e[A]*t);return a}stage_Int_to_Device(e,t){return e.length===3?[e[0]/t,e[1]/t,e[2]/t]:[e[0]/t,e[1]/t,e[2]/t,e[3]/t]}XYZ(e,t,a){return{type:ge.XYZ,X:e,Y:t,Z:a}}Lab(e,t,a,A){return{type:ge.Lab,L:e,a:t,b:a,whitePoint:A||Qe.d50}}XYZ2Lab(e,t){var a=.008856451679035631;t=t||Qe.d50;var A=e.X/t.X,r=e.Y/t.Y,n=e.Z/t.Z;return A=A<=a?841/108*A+16/116:Math.pow(A,1/3),r=r<=a?841/108*r+16/116:Math.pow(r,1/3),n=n<=a?841/108*n+16/116:Math.pow(n,1/3),{L:116*r-16,a:500*(A-r),b:200*(r-n),whitePoint:t,type:ge.Lab}}Lab2XYZ(e,t){t=t||e.whitePoint||Qe.d50;var a=24/116,A=(e.L+16)/116,r=A+.002*e.a,n=A-.005*e.b;return{X:(r<=a?108/841*(r-16/116):r*r*r)*t.X,Y:(A<=a?108/841*(A-16/116):A*A*A)*t.Y,Z:(n<=a?108/841*(n-16/116):n*n*n)*t.Z,type:ge.XYZ}}Lab2PCSv4(e){return[e.L/100,(e.a+128)/255,(e.b+128)/255]}Lab2PCSv2(e){return[e.L*652.8/65535,(e.a+128)*256/65535,(e.b+128)*256/65535]}RGBDevice_to_PCSv4_or_LabD50(e,t,a,A){var r,n,o,g,s,h,l,u;if(t.rgb.rTRC&&t.rgb.rTRC.use?(s=this.stage_curves_v4(e,[t.rgb.rTRC,t.rgb.rTRC,t.rgb.rTRC]),h=s[0],l=s[1],u=s[2]):(h=Math.min(Math.max(e[0],0),1),l=Math.min(Math.max(e[1],0),1),u=Math.min(Math.max(e[2],0),1)),t.RGBMatrix.issRGB)r=Ce.sRGBGamma(h),n=Ce.sRGBGamma(l),o=Ce.sRGBGamma(u);else{var c=1/t.RGBMatrix.gamma;r=Math.pow(h,c),n=Math.pow(l,c),o=Math.pow(u,c)}A?g=t.RGBMatrix.matrixV4:g=t.RGBMatrix.XYZMatrix;var _={X:r*g.m00+n*g.m01+o*g.m02,Y:r*g.m10+n*g.m11+o*g.m12,Z:r*g.m20+n*g.m21+o*g.m22};if(A){var Q=this.d50;this.compareWhitePoints(Q,t.mediaWhitePoint)||(_=Ce.adaptation(_,t.mediaWhitePoint,Q))}if(a)return this.XYZ2Lab(_,Qe.d50);var I=this.XYZ2Lab(_,Qe.d50);return[I.L/100,(I.a+128)/255,(I.b+128)/255]}PCSv4_to_RGBDevice(e,t,a){var A=this.Lab2XYZ({L:e[0]*100,a:e[1]*255-128,b:e[2]*255-128},Qe.d50),r,n,o,g;if(a){var s=Qe.d50;Ce.compareWhitePoints(s,t.mediaWhitePoint)||(A=Ce.adaptation(A,s,t.mediaWhitePoint)),g=t.RGBMatrix.matrixInv}else g=t.RGBMatrix.XYZMatrixInv;return r=A.X*g.m00+A.Y*g.m01+A.Z*g.m02,n=A.X*g.m10+A.Y*g.m11+A.Z*g.m12,o=A.X*g.m20+A.Y*g.m21+A.Z*g.m22,t.rgb.rTRCInv&&t.rgb.rTRCInv.use?this.stage_curves_v4([r,n,o],[t.rgb.rTRCInv,t.rgb.rTRCInv,t.rgb.rTRCInv]):(r=Math.min(Math.max(r,0),1),n=Math.min(Math.max(n,0),1),o=Math.min(Math.max(o,0),1),t.RGBMatrix.issRGB?[Ce.sRGBGammaInv(r),Ce.sRGBGammaInv(n),Ce.sRGBGammaInv(o)]:[Math.pow(r,t.RGBMatrix.gamma),Math.pow(n,t.RGBMatrix.gamma),Math.pow(o,t.RGBMatrix.gamma)])}RGBDevice_to_RGBDevice(e,t){var a,A,r,n,o,g,s,h;if(t.input.curvesInv){var l=this.stage_curves_v4(e,t.output.curvesInv);g=l[0],s=l[1],h=l[2]}else t.input.issRGB?(g=Ce.sRGBGammaInv(e[0]),s=Ce.sRGBGammaInv(e[1]),h=Ce.sRGBGammaInv(e[2])):(o=t.input.gamma,g=Math.pow(e[0],o),s=Math.pow(e[1],o),h=Math.pow(e[2],o));return n=t.matrix,a=g*n.m00+s*n.m01+h*n.m02,A=g*n.m10+s*n.m11+h*n.m12,r=g*n.m20+s*n.m21+h*n.m22,a=Math.min(Math.max(a,0),1),A=Math.min(Math.max(A,0),1),r=Math.min(Math.max(r,0),1),t.output.curves?this.stage_curves_v4([a,A,r],t.output.curves):t.output.issRGB?[Ce.sRGBGamma(a),Ce.sRGBGamma(A),Ce.sRGBGamma(r)]:[Math.pow(a,1/t.output.gamma),Math.pow(A,1/t.output.gamma),Math.pow(r,1/t.output.gamma)]}stage_gammaTable(e,t){var a=t.lut,A=t.lutMax,r=Math.min(Math.max(e[0],0),1),n=Math.min(Math.max(e[1],0),1),o=Math.min(Math.max(e[2],0),1);return[a[r*A+.5|0],a[n*A+.5|0],a[o*A+.5|0]]}_buildGammaInvLut(e,t){var a=t||4096,A=new Float64Array(a);if(e.issRGB)for(var r=0;r<a;r++){var n=r/(a-1);A[r]=n<=.04045?n/12.92:Math.pow((n+.055)/1.055,2.4)}else for(var o=e.gamma,g=0;g<a;g++)A[g]=Math.pow(g/(a-1),o);return{lut:A,lutMax:a-1}}_buildGammaFwdLut(e,t){var a=t||4096,A=new Float64Array(a);if(e.issRGB)for(var r=0;r<a;r++){var n=r/(a-1);A[r]=n<=.0031308?n*12.92:1.055*Math.pow(n,1/2.4)-.055}else for(var o=1/e.gamma,g=0;g<a;g++)A[g]=Math.pow(g/(a-1),o);return{lut:A,lutMax:a-1}}stage_Gamma(e,t){var a=Math.min(Math.max(e[0],0),1),A=Math.min(Math.max(e[1],0),1),r=Math.min(Math.max(e[2],0),1);return t.issRGB?[Ce.sRGBGamma(a),Ce.sRGBGamma(A),Ce.sRGBGamma(r)]:[Math.pow(a,1/t.gamma),Math.pow(A,1/t.gamma),Math.pow(r,1/t.gamma)]}stage_Gamma_Inverse(e,t){var a=Math.min(Math.max(e[0],0),1),A=Math.min(Math.max(e[1],0),1),r=Math.min(Math.max(e[2],0),1);return t.issRGB?[Ce.sRGBGammaInv(a),Ce.sRGBGammaInv(A),Ce.sRGBGammaInv(r)]:[Math.pow(a,t.gamma),Math.pow(A,t.gamma),Math.pow(r,t.gamma)]}attachStore_js_stage_Gamma_Inverse(e,t,a,A){if(!(!A||!A.useGammaLUT)){var r=a.stageData,n=4096,o=new Float64Array(n);if(r.issRGB)for(var g=0;g<n;g++){var s=g/(n-1);o[g]=s<=.04045?s/12.92:Math.pow((s+.055)/1.055,2.4)}else for(var h=r.gamma,l=0;l<n;l++){var u=l/(n-1);o[l]=Math.pow(u,h)}e["s"+t+"_gammaLut"]=o,e["s"+t+"_gammaLutMax"]=n-1}}emit_js_stage_Gamma_Inverse(e,t,a,A){var r=t.stageData,n=!!(A&&A.useGammaLUT),o=[];if(o.push("{"),o.push(" let _r = r < 0 ? 0 : (r > 1 ? 1 : r);"),o.push(" let _g = g < 0 ? 0 : (g > 1 ? 1 : g);"),o.push(" let _b = b < 0 ? 0 : (b > 1 ? 1 : b);"),n){var g="_gl"+e,s=a["s"+e+"_gammaLutMax"];o.push(" // LUT-based inverse gamma \u2014 issRGB="+!!r.issRGB+", gamma="+r.gamma+" (4096-entry table, ~32-bit precision per lcms convention)"),o.push(" const "+g+" = store.s"+e+"_gammaLut;"),o.push(" r = "+g+"[(_r * "+s+") | 0];"),o.push(" g = "+g+"[(_g * "+s+") | 0];"),o.push(" b = "+g+"[(_b * "+s+") | 0];")}else r.issRGB?(o.push(" r = _r <= 0.04045 ? _r / 12.92 : Math.pow((_r + 0.055) / 1.055, 2.4);"),o.push(" g = _g <= 0.04045 ? _g / 12.92 : Math.pow((_g + 0.055) / 1.055, 2.4);"),o.push(" b = _b <= 0.04045 ? _b / 12.92 : Math.pow((_b + 0.055) / 1.055, 2.4);")):(o.push(" r = Math.pow(_r, "+r.gamma+");"),o.push(" g = Math.pow(_g, "+r.gamma+");"),o.push(" b = Math.pow(_b, "+r.gamma+");"));return o.push("}"),o.join(`
`)}stage_matrix_rgb(e,t){var a,A,r,n,o,g;return a=e[0],A=e[1],r=e[2],n=a*t.m00+A*t.m01+r*t.m02,o=a*t.m10+A*t.m11+r*t.m12,g=a*t.m20+A*t.m21+r*t.m22,[n,o,g]}emit_js_stage_matrix_rgb(e,t){var a=t.stageData,A=[];return A.push("{"),A.push(" let _r = r, _g = g, _b = b;"),A.push(" X = _r * "+a.m00+" + _g * "+a.m01+" + _b * "+a.m02+";"),A.push(" Y = _r * "+a.m10+" + _g * "+a.m11+" + _b * "+a.m12+";"),A.push(" Z = _r * "+a.m20+" + _g * "+a.m21+" + _b * "+a.m22+";"),A.push("}"),A.join(`
`)}stage_chromaticAdaptation(e,t){var a=this.XYZ(e[0]*1.999969482421875,e[1]*1.999969482421875,e[2]*1.999969482421875);return a=Ce.adaptation(a,t.inWhitePoint,t.outWhitePoint),[a.X/1.999969482421875,a.Y/1.999969482421875,a.Z/1.999969482421875]}stage_absoluteAdaptationIn_PCSXYZ_to_PCSXYZ(e,t){return[e[0]*=t.absoluteAdaptationIn.Xa,e[1]*=t.absoluteAdaptationIn.Ya,e[2]*=t.absoluteAdaptationIn.Za]}stage_absoluteAdaptationOut_PCSXYZ_to_PCSXYZ(e,t){return[e[0]*=t.absoluteAdaptationOut.Xa,e[1]*=t.absoluteAdaptationOut.Ya,e[2]*=t.absoluteAdaptationOut.Za]}stage_ApplyBPCScale_PCSXYZ_to_PCSXYZ(e,t){return[(t.scale.X*(e[0]*1.999969482421875)+t.offset.X)/1.999969482421875,(t.scale.Y*(e[1]*1.999969482421875)+t.offset.Y)/1.999969482421875,(t.scale.Z*(e[2]*1.999969482421875)+t.offset.Z)/1.999969482421875]}stage_grayTRC_to_PCSXYZ_Via_Y(e,t){var a=this.stage_curves_v4([e[0]],t)[0];return[Qe.d50.X*a/1.999969482421875,Qe.d50.Y*a/1.999969482421875,Qe.d50.Z*a/1.999969482421875]}stage_grayTRC_to_PCSV4_Via_L(e,t){return[this.stage_curves_v4([e[0]],t)[0],.5,.5]}stage_PCSXYZ_to_grayTRC_via_Y(e,t){var a=e[1]*1.999969482421875;return[this.stage_curves_v4([a],t)[0]]}stage_PCSV4_to_grayTRC_via_L(e,t){var a=e[0];return[this.stage_curves_v4([a],t)[0]]}stage_PCSv4_to_PCSv2(e){return[e[0]*.9961089494163424,e[1]*.9961089494163424,e[2]*.9961089494163424]}stage_PCSv2_to_PCSv4(e){return[e[0]*1.00390625,e[1]*1.00390625,e[2]*1.00390625]}stage_LabD50_to_PCSXYZ(e){var t=this.Lab2XYZ(e);return[t.X/1.999969482421875,t.Y/1.999969482421875,t.Z/1.999969482421875]}stage_XYZ_to_PCSXYZ(e){return[e.X/1.999969482421875,e.Y/1.999969482421875,e.Z/1.999969482421875]}stage_PCSv2_to_PCSXYZ(e){var t=this.Lab2XYZ(this.Lab(e[0]*100.390625,e[1]*255.99609375-128,e[2]*255.99609375-128,Qe.d50));return[t.X/1.999969482421875,t.Y/1.999969482421875,t.Z/1.999969482421875]}stage_PCSv4_to_PCSXYZ(e){var t=this.Lab2XYZ(this.Lab(e[0]*100,e[1]*255-128,e[2]*255-128,Qe.d50));return[t.X/1.999969482421875,t.Y/1.999969482421875,t.Z/1.999969482421875]}stage_PCSXYZ_to_PCSv4(e){var t=this.XYZ(e[0]*1.999969482421875,e[1]*1.999969482421875,e[2]*1.999969482421875),a=this.XYZ2Lab(t,Qe.d50);return[a.L/100,(a.a+128)/255,(a.b+128)/255]}stage_PCSXYZ_to_LabD50(e){var t=this.XYZ(e[0]*1.999969482421875,e[1]*1.999969482421875,e[2]*1.999969482421875);return this.XYZ2Lab(t,Qe.d50)}stage_PCSXYZ_to_PCSv2(e){var t=this.XYZ(e[0]*1.999969482421875,e[1]*1.999969482421875,e[2]*1.999969482421875),a=this.XYZ2Lab(t,Qe.d50);return[a.L*652.8/65535,(a.a+128)*256/65535,(a.b+128)*256/65535]}emit_js_stage_PCSXYZ_to_PCSv2(e,t){var a=1.999969482421875,A=.96422,r=1,n=.82521,o=24/116*(24/116)*(24/116),g=841/108,s=16/116,h=652.8/65535,l=256/65535,u=[];return u.push("{"),u.push(" // PCSXYZ -> XYZ relative to D50 (k/W literals baked in)"),u.push(" let _fx = X * "+a/A+";"),u.push(" let _fy = Y * "+a/r+";"),u.push(" let _fz = Z * "+a/n+";"),u.push(" // Lab perceptual curve: f(t) = t^(1/3) for t > (6/29)^3, else linear segment"),u.push(" _fx = _fx <= "+o+" ? "+g+" * _fx + "+s+" : Math.cbrt(_fx);"),u.push(" _fy = _fy <= "+o+" ? "+g+" * _fy + "+s+" : Math.cbrt(_fy);"),u.push(" _fz = _fz <= "+o+" ? "+g+" * _fz + "+s+" : Math.cbrt(_fz);"),u.push(" // CIE Lab (L:0..100, a/b:-128..127) packed into PCSv2 (all 0..1)."),u.push(" // Inlined the (_L,_a,_b) temps; V8 collapses them to the same SSA either way."),u.push(" pcsL = (116.0 * _fy - 16.0) * "+h+"; // L"),u.push(" pcsa = (500.0 * (_fx - _fy) + 128) * "+l+"; // a"),u.push(" pcsb = (200.0 * (_fy - _fz) + 128) * "+l+"; // b"),u.push("}"),u.join(`
`)}stage_PCSv2_to_LabD50(e){return{L:e[0]*100.390625,a:e[1]*255.99609375-128,b:e[2]*255.99609375-128}}stage_PCSv2_to_cmsLab(e){return{L:e[0]*100.390625,a:e[1]*255.99609375-128,b:e[2]*255.99609375-128,type:ge.Lab,whitePoint:Qe.d50}}stage_PCSv4_to_LabD50(e){return{L:e[0]*100,a:e[1]*255-128,b:e[2]*255-128}}stage_PCSv4_to_cmsLab(e){return{L:e[0]*100,a:e[1]*255-128,b:e[2]*255-128,type:ge.Lab,whitePoint:Qe.d50}}stage_cmsLab_to_LabD50(e){if(e.type===ge.Lab)return Ce.Lab2LabD50(e);throw"stage_cmsLab_to_LabD50: input is not of type Lab"}stage_Int_to_cmsLab(e,t){if(e&&e.type===ge.Lab)return e;if(!e||typeof e.length!="number"||e.length<3)throw"stage_Int_to_cmsLab: expected a Lab object or a 3-value array";var a=t.mul;return Ce.int162Lab(e[0]*a,e[1]*a,e[2]*a,t.enc)}stage_PCSv4_to_RGBDevice(e,t){return this.PCSv4_to_RGBDevice(e,t,this.RGBMatrixWhiteAdadaptation)}stage_RGBDevice_to_PCSv4(e,t){return this.RGBDevice_to_PCSv4_or_LabD50(e,t,!1,this.RGBMatrixWhiteAdadaptation)}stage_LabD50_to_PCSv4(e){return[e.L/100,(e.a+128)/255,(e.b+128)/255]}stage_LabD50_to_PCSv2(e){return[e.L*652.8/65535,(e.a+128)*256/65535,(e.b+128)*256/65535]}stage_LabD50_to_cmsLab(e){return{L:e.L,a:e.a,b:e.b,type:ge.Lab,whitePoint:Qe.d50}}stage_matrix_v4(e,t){return[t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[9],t[3]*e[0]+t[4]*e[1]+t[5]*e[2]+t[10],t[6]*e[0]+t[7]*e[1]+t[8]*e[2]+t[11]]}stage_matrix_v4_noOffsets(e,t){return[t[0]*e[0]+t[1]*e[1]+t[2]*e[2],t[3]*e[0]+t[4]*e[1]+t[5]*e[2],t[6]*e[0]+t[7]*e[1]+t[8]*e[2]]}evalMatrix(e,t){return[t[0]*e[0]+t[1]*e[1]+t[2]*e[2],t[3]*e[0]+t[4]*e[1]+t[5]*e[2],t[6]*e[0]+t[7]*e[1]+t[8]*e[2]]}invertMatrix(e){var t=e[0]*(e[8]*e[4]-e[7]*e[5])-e[3]*(e[8]*e[1]-e[7]*e[2])+e[6]*(e[5]*e[1]-e[4]*e[2]),a=1/t;return[a*(e[8]*e[4]-e[7]*e[5]),-a*(e[8]*e[1]-e[7]*e[2]),a*(e[5]*e[1]-e[4]*e[2]),-a*(e[8]*e[3]-e[6]*e[5]),a*(e[8]*e[0]-e[6]*e[2]),-a*(e[5]*e[0]-e[3]*e[2]),a*(e[7]*e[3]-e[6]*e[4]),-a*(e[7]*e[0]-e[6]*e[1]),a*(e[4]*e[0]-e[3]*e[1])]}invertMatrix3(e){var t=e[0]*(e[9]*e[4]-e[7]*e[4])-e[3]*(e[9]*e[1]-e[7]*e[2])+e[6]*(e[4]*e[1]-e[4]*e[2]),a=1/t;return[a*(e[9]*e[4]-e[7]*e[4]),-a*(e[9]*e[1]-e[7]*e[2]),a*(e[4]*e[1]-e[4]*e[2]),-a*(e[9]*e[3]-e[6]*e[4]),a*(e[9]*e[0]-e[6]*e[2]),-a*(e[4]*e[0]-e[3]*e[2]),a*(e[7]*e[3]-e[6]*e[4]),-a*(e[7]*e[0]-e[6]*e[1]),a*(e[4]*e[0]-e[3]*e[1])]}stage_curves_parametric(e,t){for(var a=e.length,A=new Array(a),r=0;r<a;r++){var n=t[r];A[r]=n.curveFn(n.params,e[r])}return A}stage_curves_v4(e,t){var a,A=t.length;A===3?a=[0,0,0]:a=[0,0,0,0];for(var r=0;r<A;r++){var n=t[r];if(n.curveFn)a[r]=n.curveFn(n.params,e[r]);else if(n.dataf.length>0){var o=n.count-1,g=e[r];if(g>=1)a[r]=n.dataf[o];else if(g<=0)a[r]=n.dataf[0];else{var s=g*o,h=Math.floor(s),l=t[r].dataf[h];a[r]=l+(s-h)*(t[r].dataf[h+1]-l)}}else if(n.gamma>0&&n.gamma!==1){var u=e[r];u=u<0?0:u>1?1:u,a[r]=Math.pow(u,n.inverted?1/n.gamma:n.gamma)}else a[r]=e[r]}return a}stage_curve_v2(e,t){for(var a=0,A=t.channels,r=t.entries,n=r-1,o=t.tablef,g=new Array(A),s=0;s<A;s++){var h=e[s];if(h>=1)g[s]=o[a+n];else if(h<=0)g[s]=o[a];else{var l=h*n,u=Math.floor(l),c=l-u,_=o[a+u],Q=o[a+u+1];g[s]=_+(Q-_)*c}a+=r}return g}attachStore_js_stage_curve_v2(e,t,a){e["s"+t+"_table"]=a.stageData.tablef}emit_js_stage_curve_v2(e,t){var a=t.stageData,A=a.entries,r=A-1,n=a.channels,o="s"+e+"_table",g=t.inputEncoding,s=["d0","d1","d2","d3","d4","d5","d6","d7"],h;g===1||g===2?h=["pcsL","pcsa","pcsb"].slice(0,n):h=s.slice(0,n);var l=[];l.push("{"),l.push(" const _t = store."+o+";");for(var u=0,c=0;c<n;c++){var _=h[c],Q=u;l.push(" // ch "+c+" \u2192 "+_),l.push(" {"),l.push(" let _p = "+_+";"),l.push(" if (_p >= 1.0) "+_+" = _t["+(Q+r)+"];"),l.push(" else if (_p <= 0.0) "+_+" = _t["+Q+"];"),l.push(" else {"),l.push(" let _pX = _p * "+r+";"),l.push(" let _p0 = _pX | 0;"),l.push(" let _rr = _pX - _p0;"),l.push(" let _y0 = _t["+Q+" + _p0];"),l.push(" let _y1 = _t["+Q+" + _p0 + 1];"),l.push(" "+_+" = _y0 + (_y1 - _y0) * _rr;"),l.push(" }"),l.push(" }"),u+=A}return l.push("}"),l.join(`
`)}};function hi(i,e,t){if(typeof t>"u"&&(t=6),i===null)return"<NULL>";if(i.type)return Ce.cmsColor2String(i);if(i.hasOwnProperty("L"))return"LabD50: "+r(i.L)+", "+r(i.a)+", "+r(i.b);for(var a="",A=0;A<i.length;A++){switch(e){case"r":case"round":a+=Math.round(i[A]);break;case"f>16":case"float>16":a+=Math.round(i[A]*65535);break;default:a+=r(i[A],t)}A<i.length-1&&(a+=", ")}return a;function r(n){return isNaN(n)?n:n.toFixed(t)}}var oi={};Object.getOwnPropertyNames(Dt.prototype).forEach(function(i){i!=="constructor"&&(oi[i]=Dt.prototype[i])});gi.exports=oi});var fi=ae((Il,ci)=>{"use strict";var Ci=2654435761,Ei=new Float64Array(1),ui=new Int32Array(Ei.buffer),at={stage_pixelCache_single(i,e,t){var a=e.channels,A;if(e.lookups++,i.length===a){var r=e.previousKey,n=!0;for(A=0;A<a;A++)if(r[A]!==i[A]){n=!1;break}if(n)return e.hits++,t.step=e.endStep,e.copyOnHit?e.previousValue.slice():e.previousValue;var o=e.pendingKey;for(A=0;A<a;A++)o[A]=i[A];e.pendingUsable=!0}else e.pendingUsable=!1;return t.step=e.missStep,i},stage_pixelCache_keyed(i,e,t){var a=e.channels,A;if(e.lookups++,i.length!==a)return t.step=1,i;var r=0;for(A=0;A<a;A++)Ei[0]=i[A],r=Math.imul(r^(ui[0]^ui[1]),Ci)|0;var n=r>>>32-e.slotBits,o=n*a,g=e.keys,s=!0;for(A=0;A<a;A++)if(g[o+A]!==i[A]){s=!1;break}if(s){e.hits++,t.step=e.endStep;var h=e.values[n];return e.copyOnHit?h.slice():h}var l=e.pendingKey;for(A=0;A<a;A++)l[A]=i[A];return e.pendingSlot=n,e.pendingUsable=!0,t.step=e.missStep,i},stage_pixelCache_keyedInt(i,e,t){var a=e.channels,A;if(e.lookups++,i.length!==a)return t.step=1,i;var r=0;for(A=0;A<a;A++)r=Math.imul(r^i[A],Ci)|0;var n=r>>>32-e.slotBits,o=n*a,g=e.keys,s=!0;for(A=0;A<a;A++)if(g[o+A]!==i[A]){s=!1;break}if(s){e.hits++,t.step=e.endStep;var h=e.values[n];return e.copyOnHit?h.slice():h}var l=e.pendingKey;for(A=0;A<a;A++)l[A]=i[A];return e.pendingSlot=n,e.pendingUsable=!0,t.step=e.missStep,i},stage_pixelCacheStore(i,e,t){var a=e.cacheData,A=i.length,r=a.channels,n=a.pendingKey,o,g;if(!a.pendingUsable)return t.step=1,i;if(a.slots===0){for(o=a.previousValue,(o===null||o.length!==A)&&(o=a.previousValue=new Array(A)),g=0;g<A;g++)o[g]=i[g];var s=a.previousKey;for(g=0;g<r;g++)s[g]=n[g]}else{var h=a.pendingSlot;for(o=a.values[h],(o===void 0||o.length!==A)&&(o=a.values[h]=new Array(A)),g=0;g<A;g++)o[g]=i[g];var l=a.keys,u=h*r;for(g=0;g<r;g++)l[u+g]=n[g]}return t.step=1,i},_walkPipelineCached(i){for(var e=this.pipeline,t=e.length,a,A=0;A<t;)a=e[A],i=a.funct.call(this,i,a.stageData,a),A+=a.step;return i},_transformArrayCached(i,e,t,a,A,u){var n=this.inputChannels,o=this.outputChannels,g=e?n+1:n,s=a?o+1:o,h=0,l=0,u,c,_,Q,I;if(this.dataFormat==="object"||this.dataFormat==="objectFloat"){for(A===void 0&&(A=i.length),u=new Array(A),Q=0;Q<A;Q++)u[Q]=this.transform(i[Q]);return u}A===void 0&&(A=Math.floor(i.length/g));var B=A*s;for(u=u||(this.dataFormat==="int8"?new Uint8ClampedArray(B):this.dataFormat==="int16"?new Uint16Array(B):new Array(B)),Q=0;Q<A;Q++){for(_=new Array(n),I=0;I<n;I++)_[I]=i[h++];for(c=this.transform(_),I=0;I<o;I++)u[l++]=c[I];a?u[l++]=i[h++]:(e&&h++,t&&(u[l++]=255))}return u},injectPixelCacheStages(){var i=this.pipeline,e=i.length,t=this.pixelCache,a;if(!t||e===0)return!1;if(this.pipelineDebug)return console.warn("jsColorEngine: pixelCache disabled while pipelineDebug is on"),!1;if(this.customStages&&this.customStages.length>0)return console.warn("jsColorEngine: pixelCache disabled \u2014 custom stages may have side effects that cache hits would skip"),!1;var A=e;this._pcOutputFirst&&(A=i.indexOf(this._pcOutputFirst),A===-1&&(A=e));var r=this.inputChannels;if(!r||r<1)return console.warn("jsColorEngine: pixelCache disabled \u2014 input channel count unknown"),!1;var n=this._buildValidationInput(this.dataFormat);if(n===null)return console.warn("jsColorEngine: pixelCache disabled \u2014 could not build a probe colour"),!1;var o=-1;for(a=0;a<=A;a++){if(at.isCacheableColour(n,r)){o=a;break}if(a>=e)break;try{n=i[a].funct.call(this,n,i[a].stageData,i[a])}catch{break}}if(o===-1||o>A)return console.warn("jsColorEngine: pixelCache disabled \u2014 no numeric-array position found before the output conversion"),!1;var g=A>=e,s=at.buildPixelCacheStageData(t,r,g),h=s.slots===0,l=!0;for(a=0;a<r;a++)if(!Number.isInteger(n[a])){l=!1;break}var u,c;h?(u=this.stage_pixelCache_single,c="stage_pixelCache_single"):l?(u=this.stage_pixelCache_keyedInt,c="stage_pixelCache_keyedInt"):(u=this.stage_pixelCache_keyed,c="stage_pixelCache_keyed"),s.endStep=A+2-o;var _=o===0?i[0].inputEncoding:i[o-1].outputEncoding,Q=A===0?i[0].inputEncoding:i[A-1].outputEncoding,I=this.createStage(_,c,u,s,_," [PixelCache check]|({last}) > ({data})"),B=this.createStage(Q,"stage_pixelCacheStore",this.stage_pixelCacheStore,{cacheData:s},Q," [PixelCache store]|({last}) > ({data})"),m=Array.prototype.slice.call(n,0,r),y=n;try{for(a=o;a<A;a++)y=i[a].funct.call(this,y,i[a].stageData,i[a])}catch(X){return console.warn("jsColorEngine: pixelCache disabled \u2014 probe colour threw while seeding: "+X),!1}if(!at.isCacheableColour(y,y&&y.length))return console.warn("jsColorEngine: pixelCache disabled \u2014 probe produced no usable value to seed with"),!1;for(at.seedPixelCache(s,m,y),i.splice(A,0,B),i.splice(o,0,I),a=0;a<i.length;a++)i[a].step=1;return this._pixelCacheData=s,!0},isCacheableColour(i,e){if(i===null||typeof i!="object"||i.length!==e)return!1;for(var t=0;t<e;t++)if(typeof i[t]!="number")return!1;return!0},buildPixelCacheStageData(i,e,t){for(var a=0,A=i;A>1;)A>>=1,a++;var r={channels:e,copyOnHit:t===!0,endStep:1,slots:i<=1?0:1<<a,slotBits:a,hits:0,lookups:0,missStep:1,profiling:!1,pendingKey:new Float64Array(e),pendingSlot:0,pendingUsable:!1,previousKey:new Float64Array(e),previousValue:null,keys:null,values:null,seedKey:null,seedValue:null};return r.slots>0&&(r.keys=new Float64Array(r.slots*e),r.values=new Array(r.slots)),r},seedPixelCache(i,e,t){var a=i.channels,A,r;if(i.seedKey=e.slice?e.slice():Array.prototype.slice.call(e),i.seedValue=t.slice?t.slice():Array.prototype.slice.call(t),i.slots===0){for(A=0;A<a;A++)i.previousKey[A]=e[A];i.previousValue=i.seedValue.slice();return}for(r=0;r<i.slots;r++){var n=r*a;for(A=0;A<a;A++)i.keys[n+A]=e[A];i.values[r]=i.seedValue.slice()}},getPixelCacheStats(){var i=this._pixelCacheData;return i?{enabled:!0,profiling:i.profiling,slots:i.slots===0?1:i.slots,hits:i.hits,misses:i.lookups-i.hits,lookups:i.lookups,hitRate:i.lookups===0?0:i.hits/i.lookups}:{enabled:!1,slots:0,hits:0,misses:0,lookups:0,hitRate:0}},setPixelCacheProfiling(i){var e=this._pixelCacheData;return e?(e.profiling=i===!0,e.missStep=e.profiling?e.endStep-1:1,this.clearPixelCache(),this.resetPixelCacheStats(),!0):!1},resetPixelCacheStats(){this._pixelCacheData&&(this._pixelCacheData.hits=0,this._pixelCacheData.lookups=0)},clearPixelCache(){var i=this._pixelCacheData;!i||!i.seedKey||at.seedPixelCache(i,i.seedKey,i.seedValue)}};ci.exports=at});var di=ae((Cl,mi)=>{"use strict";var oa=Ye().encoding;function Bi(i){var e=i.transform.dataFormat;e==="object"||e==="objectFloat"?i.arrayFn=Wn:e==="device"?i.arrayFn=Zn:i.arrayFn=On}function On(i,e,t,a,A,r,n){var o=this.transform,g=o.inputChannels,s=g+(A?1:0),h=g+(r?1:0),l=o.dataFormat==="int16";t===void 0&&(t=Math.floor(i.length/s)),n=(n===void 0?r:n)&&A;var u=t*h;if(e||(e=l?new Uint16Array(u):new Uint8ClampedArray(u)),!A&&!r)return e.set(i.subarray(0,u)),e;for(var c=l?65535:255,_=0;_<t;_++){for(var Q=_*s,I=_*h,B=0;B<g;B++)e[I+B]=i[Q+B];r&&(e[I+g]=n&&A?i[Q+g]:c)}return e}function Zn(i,e,t,a,A,r,n){var o=this.transform.inputChannels,g=o+(A?1:0),s=o+(r?1:0);t===void 0&&(t=Math.floor(i.length/g)),n=(n===void 0?r:n)&&A;var h=t*s;if(e||(e=new Array(h)),!A&&!r){for(var l=0;l<h;l++)e[l]=i[l];return e}for(var u=0;u<t;u++){for(var c=u*g,_=u*s,Q=0;Q<o;Q++)e[_+Q]=i[c+Q];r&&(e[_+o]=n&&A?i[c+o]:1)}return e}function Wn(i,e,t){t===void 0&&(t=i.length),e||(e=new Array(t));for(var a=0;a<t;a++){var A=i[a],r={};for(var n in A)r[n]=A[n];e[a]=r}return e}mi.exports={name:"kernelIdentity",dimensions:0,init:function(i,e){var t=e.transform,a=t.convertInputOutput&&t.dataFormat!=="device",A={pcsEncoding:null};return t.pipeline=[],a?t.createPipeline_Input_to_Device(A,t.inputProfile):A.pcsEncoding=oa.device,t.dataFormat!=="object"&&t.dataFormat!=="objectFloat"&&t.addStage(oa.device,"stage_device2device",t.stage_device2device,null,oa.device," [identity copy]"),a&&t.createPipeline_Device_to_Output(A,t.outputProfile),t.optimise&&t.optimisePipeline(),Bi(this),{pipeline:t.pipeline,kernel:null,meta:{name:"kernelIdentity",dimensions:0,claimed:!1,why:"the profile chain collapsed to nothing"}}},create:function(i){return i},array:function(i,e,t,a,A,r,n){return this.arrayFn===null&&(Bi(this),this.arrayFn===null)?null:this.arrayFn(i,e,t,a,A,r,n)},release:function(){},info:function(){return{name:"kernelIdentity",dimensions:0,variant:"copy",claimed:!1,cache:"not-supported"}}}});var ga=ae((ul,vi)=>{"use strict";vi.exports=256});var Si=ae((El,Qi)=>{"use strict";function Vn(){return!0}function jn(){return!1}function zn(i,e){return!!(e&&e.intLut)}Qi.exports={alwaysOk:Vn,alwaysFalse:jn,needsIntLut:zn}});var Ca=ae((cl,Mi)=>{"use strict";var Ze=Aa();function $n(i,e,t,a,A,r,n,o){Ze.tetrahedralInterp3DArray_3Ch_loop(e,0,t,0,a,A,r,n,o)}function es(i,e,t,a,A,r,n,o){Ze.tetrahedralInterp3DArray_4Ch_loop(e,0,t,0,a,A,r,n,o)}function Ia(i,e,t,a,A,r,n,o){Ze.tetrahedralInterp3DArray_NCh_loop(e,0,t,0,a,A,r,n,o)}function ts(i,e,t,a,A,r,n,o){Ze.tetrahedralInterp3DArray_3Ch_intLut_loop(e,0,t,0,a,A.intLut,r,n,o)}function as(i,e,t,a,A,r,n,o){Ze.tetrahedralInterp3DArray_4Ch_intLut_loop(e,0,t,0,a,A.intLut,r,n,o)}function is(i,e,t,a,A,r,n,o){Ze.tetrahedralInterp3DArray_3Ch_intLut16_loop(e,0,t,0,a,A.intLut,r,n,o)}function rs(i,e,t,a,A,r,n,o){Ze.tetrahedralInterp3DArray_4Ch_intLut16_loop(e,0,t,0,a,A.intLut,r,n,o)}function As(i,e,t,a,A,r,n,o){var g=i.outputChannels,s=r?4:3,h=n?g+1:g;i.wasmTetra3D.bind(A.intLut,a,g,s,h),i.wasmTetra3D.runTetra3D(e,0,t,0,a,A.intLut,g,r,n,o)}function ns(i,e,t,a,A,r,n,o){var g=i.outputChannels,s=r?4:3,h=n?g+1:g;i.wasmTetra3DSimd.bind(A.intLut,a,g,s,h),i.wasmTetra3DSimd.runTetra3D(e,0,t,0,a,A.intLut,g,r,n,o)}function ss(i,e,t,a,A,r,n,o){var g=i.outputChannels,s=(r?4:3)*2,h=(n?g+1:g)*2;i.wasmTetra3DInt16.bind(A.intLut,a,g,s,h),i.wasmTetra3DInt16.runTetra3D(e,0,t,0,a,A.intLut,g,r,n,o)}function hs(i,e,t,a,A,r,n,o){var g=i.outputChannels,s=(r?4:3)*2,h=(n?g+1:g)*2;i.wasmTetra3DInt16Simd.bind(A.intLut,a,g,s,h),i.wasmTetra3DInt16Simd.runTetra3D(e,0,t,0,a,A.intLut,g,r,n,o)}function ls(i,e){var t=e.outputChannels,a=t===3||t===4,A=!!e.intLut,r=t===3?$n:t===4?es:Ia,n=t===3?"fl_3_3":t===4?"fl_3_4":"fl_3_n",o=t===3?ts:t===4?as:Ia,g=t===3?"i_3_3":t===4?"i_3_4":"fl_3_n",s=t===3?is:t===4?rs:Ia,h=t===3?"i16_3_3":t===4?"i16_3_4":"fl_3_n",l=function(c,_,Q,I){return{big:c,small:Q,bigName:_,smallName:I}},u=i.transform.lutMode;switch(u){case"int16-wasm-simd":if(A&&a&&i.wasmTetra3DInt16Simd)return l(hs,"i16wsi_3_"+t,s,h);case"int16-wasm-scalar":if(A&&i.wasmTetra3DInt16)return l(ss,"i16ws_3_"+(a?t:"n"),s,h);case"int16":return A||!a?l(s,h,s,h):l(r,n,r,n);case"int-wasm-simd":if(A&&a&&i.wasmTetra3DSimd)return l(ns,"i8wsi_3_"+t,o,g);case"int-wasm-scalar":if(A&&i.wasmTetra3D)return l(As,"i8ws_3_"+(a?t:"n"),o,g);case"int":if(A)return l(o,g,o,g);default:return l(r,n,r,n)}}Mi.exports={resolve:ls}});var Ea=ae((fl,pi)=>{"use strict";var We=na();function os(i,e,t,a,A,r,n,o){We.tetrahedralInterp4DArray_3Ch_loop(e,0,t,0,a,A,r,n,o)}function gs(i,e,t,a,A,r,n,o){We.tetrahedralInterp4DArray_4Ch_loop(e,0,t,0,a,A,r,n,o)}function ua(i,e,t,a,A,r,n,o){We.tetrahedralInterp4DArray_NCh_loop(e,0,t,0,a,A,r,n,o)}function Is(i,e,t,a,A,r,n,o){We.tetrahedralInterp4DArray_3Ch_intLut_loop(e,0,t,0,a,A.intLut,r,n,o)}function Cs(i,e,t,a,A,r,n,o){We.tetrahedralInterp4DArray_4Ch_intLut_loop(e,0,t,0,a,A.intLut,r,n,o)}function us(i,e,t,a,A,r,n,o){We.tetrahedralInterp4DArray_3Ch_intLut16_loop(e,0,t,0,a,A.intLut,r,n,o)}function Es(i,e,t,a,A,r,n,o){We.tetrahedralInterp4DArray_4Ch_intLut16_loop(e,0,t,0,a,A.intLut,r,n,o)}function cs(i,e,t,a,A,r,n,o){var g=i.outputChannels,s=r?5:4,h=n?g+1:g;i.wasmTetra4D.bind(A.intLut,a,g,s,h),i.wasmTetra4D.runTetra4D(e,0,t,0,a,A.intLut,g,r,n,o)}function fs(i,e,t,a,A,r,n,o){var g=i.outputChannels,s=r?5:4,h=n?g+1:g;i.wasmTetra4DSimd.bind(A.intLut,a,g,s,h),i.wasmTetra4DSimd.runTetra4D(e,0,t,0,a,A.intLut,g,r,n,o)}function Bs(i,e,t,a,A,r,n,o){var g=i.outputChannels,s=(r?5:4)*2,h=(n?g+1:g)*2;i.wasmTetra4DInt16.bind(A.intLut,a,g,s,h),i.wasmTetra4DInt16.runTetra4D(e,0,t,0,a,A.intLut,g,r,n,o)}function ms(i,e,t,a,A,r,n,o){var g=i.outputChannels,s=(r?5:4)*2,h=(n?g+1:g)*2;i.wasmTetra4DInt16Simd.bind(A.intLut,a,g,s,h),i.wasmTetra4DInt16Simd.runTetra4D(e,0,t,0,a,A.intLut,g,r,n,o)}function ds(i,e){var t=e.outputChannels,a=t===3||t===4,A=!!e.intLut,r=t===3?os:t===4?gs:ua,n=t===3?"fl_4_3":t===4?"fl_4_4":"fl_4_n",o=t===3?Is:t===4?Cs:ua,g=t===3?"i_4_3":t===4?"i_4_4":"fl_4_n",s=t===3?us:t===4?Es:ua,h=t===3?"i16_4_3":t===4?"i16_4_4":"fl_4_n",l=function(c,_,Q,I){return{big:c,small:Q,bigName:_,smallName:I}},u=i.transform.lutMode;switch(u){case"int16-wasm-simd":if(A&&a&&i.wasmTetra4DInt16Simd)return l(ms,"i16wsi_4_"+t,s,h);case"int16-wasm-scalar":if(A&&i.wasmTetra4DInt16)return l(Bs,"i16ws_4_"+(a?t:"n"),s,h);case"int16":return A||!a?l(s,h,s,h):l(r,n,r,n);case"int-wasm-simd":if(A&&a&&i.wasmTetra4DSimd)return l(fs,"i8wsi_4_"+t,o,g);case"int-wasm-scalar":if(A&&i.wasmTetra4D)return l(cs,"i8ws_4_"+(a?t:"n"),o,g);case"int":if(A)return l(o,g,o,g);default:return l(r,n,r,n)}}pi.exports={resolve:ds}});var Di=ae((vl,yi)=>{"use strict";var vs=ga(),Ba=Si(),Bl=Ba.alwaysOk,ml=Ba.alwaysFalse,dl=Ba.needsIntLut,_i=Ca(),wi=Ea(),bt={};for(ca in _i)bt[ca]=_i[ca];var ca;for(fa in wi)bt[fa]=wi[fa];var fa,Qs={float:"fl",int:"i",int16:"i16","int-wasm-scalar":"i8ws","int-wasm-simd":"i8wsi","int16-wasm-scalar":"i16ws","int16-wasm-simd":"i16wsi"};function Ss(i,e,t){var a=t===3||t===4?String(t):"n";return i+"_"+e+"_"+a}function Ms(i,e,t,a){for(var A=t,r=0;A!==null;){if(r++>16)throw new Error('lutKernelTable: fallback chain too deep starting at "'+t+'" \u2014 likely a cycle');var n=bt[A];if(n===void 0)throw new Error('lutKernelTable: missing entry "'+A+'" (chain from "'+t+'")');if(n.run!==null&&n.gate(i,e)&&a>=n.minPx)return{entry:n,key:A};A=n.fallback}throw new Error('lutKernelTable: fallback chain exhausted from "'+t+'" (no float fallback?)')}yi.exports={KERNEL:bt,LUT_MODE_SHORT:Qs,WASM_DISPATCH_MIN_PIXELS:vs,makeKey:Ss,resolveLutKernel:Ms}});var Ke=ae((Ql,Gi)=>{"use strict";var ps=Di(),bi=ga();function xi(i){var e=i.transform.constructor.WASM_DISPATCH_MIN_PIXELS;return e!==bi?e:typeof i.wasmMinPixels=="number"?i.wasmMinPixels:bi}function _s(i,e,t,a,A){var r=a?e.outputChannels+1:e.outputChannels,n=t*r,o=i._expectsU16;if(A===void 0)return o?new Uint16Array(n):new Uint8ClampedArray(n);if(o){if(!(A instanceof Uint16Array))throw new Error('transformArrayViaLUT: outputArray must be Uint16Array for lutMode="'+i.lutMode+'".')}else if(!(A instanceof Uint8ClampedArray))throw new Error('transformArrayViaLUT: outputArray must be Uint8ClampedArray for lutMode="'+i.lutMode+'".');if(A.length<n)throw new Error("transformArrayViaLUT: outputArray too small (got "+A.length+", need "+n+").");return A}function ws(i){var e=Ri(i);i.arrayFnBig=e.big,i.arrayFnSml=e.small,i.threshold=e.threshold,i.arrayFnBigName=e.bigName,i.arrayFnSmlName=e.smallName}function Ri(i){var e=i.transform,t={big:null,small:null,threshold:0,bigName:null,smallName:null},a=e.lut;if(!a)return t;if(ps.LUT_MODE_SHORT[e.lutMode]===void 0){var A=e.constructor._plugins[e.lutMode];return A?ys(i,A):t}if(!i.table||typeof i.table.resolve!="function")return t;var r=i.table.resolve(i,a),n={big:r.big,small:r.small,bigName:r.bigName,smallName:r.smallName,threshold:r.big===r.small?0:xi(i)};return e.verbose&&console.log(" "+(i.name||"kernel")+": big="+n.bigName+" small="+n.smallName+" threshold="+n.threshold),n}function ys(i,e){var t=i.transform,a=e.isSupported||function(){return!0},A=e.kernel;e.wasmKernel&&a("wasmKernel")&&(A=e.wasmKernel),e.simdKernel&&a("simdKernel")&&(A=e.simdKernel);var r=t.lutMode+":plugin";return t.verbose&&console.log(" pluginKernel: "+t.lutMode+" \u2192 "+r),{big:A,small:A,threshold:0,bigName:r,smallName:r}}function Ds(i){return i&&i.pixelCache==="auto"?1:void 0}Gi.exports={ensureOutputArray:_s,bindArrayRuns:ws,resolveThreshold:xi,resolveArrayRuns:Ri,autoPixelCacheSlots:Ds}});var ki=ae((Sl,Fi)=>{"use strict";var bs=Ke(),xs=ia(),Li=ke();function Rs(i,e){var t,a,A,r,n,o,g,s=e.outputScale,h=e.outputChannels,l=e.g1-1,u=l*e.inputScale,c=e.CLUT,_=e.go0;a=Math.min(Math.max(i[0]*u,0),l),A=~~a,t=a-A,A===l?r=A*=_:(A*=_,r=A+_);var Q=new Array(h);for(g=0;g<h;g++)n=c[A++],o=c[r++],Q[g]=(n+(o-n)*t)*s;return Q}Fi.exports={name:"kernel1D",dimensions:1,_variant:null,supports:{float:!0,int8_js:!0,int16_js:!0},floatFor:function(i,e){return{funct:Rs,stageName:"linearInterp1D"}},create:function(i){return this._variant="float",Li.settleWasmStates(this.transform,this,this.wasmLadder)},array:function(i,e,t,a,A,r,n){var o=this.transform;return t===void 0&&(t=Math.floor(i.length/(a.inputChannels+(A?1:0)))),n=(n===void 0?r:n)&&A,e=bs.ensureOutputArray(o,a,t,r,e),xs.linearInterp1DArray_NCh_loop(i,0,e,0,t,a,A,r,n),e},release:function(){Li.releaseWasmStates(this.transform)},provideLut:function(i){return null}}});var Ui=ae((Ml,Ti)=>{"use strict";var Gs=Ke(),Ls=ra(),qi=ke();function Fs(i,e){var t,a,A,r,n,o,g,s,h,l,u,c,_,Q,I,B,m,y,X=e.outputScale,N=e.outputChannels,L=e.g1-1,T=L*e.inputScale,D=e.CLUT,x=e.go0,F=e.go1;g=Math.min(Math.max(i[0]*T,0),L),s=Math.min(Math.max(i[1]*T,0),L),A=~~g,t=g-A,A===L?r=A*=F:(A*=F,r=A+F),n=~~s,a=s-n,n===L?o=n*=x:(n*=x,o=n+x);var q=new Array(N);for(h=A+n,l=A+o,u=r+n,c=r+o,y=0;y<N;y++)_=D[h++],Q=D[l++],I=D[u++],B=D[c++],m=_+(I-_)*t,q[y]=(m+(Q+(B-Q)*t-m)*a)*X;return q}Ti.exports={name:"kernel2D",dimensions:2,supports:{float:!0,int8_js:!0,int16_js:!0},floatFor:function(i,e){return{funct:Fs,stageName:"bilinearInterp2D"}},create:function(i){return this._variant="float",qi.settleWasmStates(this.transform,this,this.wasmLadder)},array:function(i,e,t,a,A,r,n){var o=this.transform;return t===void 0&&(t=Math.floor(i.length/(a.inputChannels+(A?1:0)))),n=(n===void 0?r:n)&&A,e=Gs.ensureOutputArray(o,a,t,r,e),Ls.bilinearInterp2DArray_NCh_loop(i,0,e,0,t,a,A,r,n),e},release:function(){qi.releaseWasmStates(this.transform)},provideLut:function(i){return null}}});var Pi=ae((pl,Ni)=>{"use strict";var ma=131072,Ve=ma-1;function Yi(i,e,t){return e.funct.call(i,[t,t,t],e.stageData,e)}function ks(i,e,t,a){var A=t===8?256:65536,r=A-1,n=t===8?255:65535,o=t===8?Uint8Array:Uint16Array,g,s,h,l,u=[],c=[],_=a?1:3;for(s=0;s<_;s++){var Q=new Float64Array(A);for(g=0;g<A;g++)Q[g]=Yi(i,e.inv,g/r)[s];u.push(Q);var I=new o(ma);for(g=0;g<ma;g++)l=g/Ve,l*=l,l*=l,h=Math.round(Yi(i,e.fwd,l)[s]*n),I[g]=h<0?0:h>n?n:h;c.push(I)}return a&&(u[1]=u[2]=u[0],c[1]=c[2]=c[0]),{iT:u,oT:c}}function qs(i,e){var t=e.bits,a=ks(i,e.stages,t,!e.perChannel),A=a.iT[0],r=a.iT[1],n=a.iT[2],o=a.oT[0],g=a.oT[1],s=a.oT[2],h=e.stages.mat.stageData,l=h.m00,u=h.m01,c=h.m02,_=h.m10,Q=h.m11,I=h.m12,B=h.m20,m=h.m21,y=h.m22,X=t===8?255:65535;return{variant:t+"-js",bits:t,simd:!1,js:!0,perChannel:!!e.perChannel,run:function(N,L,T,D,x,F){var q=D?4:3,f=x?4:3,d,R,E,v,b,k;if(q===3&&f===3){for(d=0,R=T*3;d<R;d+=3)E=A[N[d]],v=r[N[d+1]],b=n[N[d+2]],k=l*E+u*v+c*b,k=k<0?0:k>1?1:k,L[d]=o[Math.sqrt(Math.sqrt(k))*Ve+.5|0],k=_*E+Q*v+I*b,k=k<0?0:k>1?1:k,L[d+1]=g[Math.sqrt(Math.sqrt(k))*Ve+.5|0],k=B*E+m*v+y*b,k=k<0?0:k>1?1:k,L[d+2]=s[Math.sqrt(Math.sqrt(k))*Ve+.5|0];return L}var w=f===4&&q===4&&F;for(d=0;d<T;d++){var G=d*q,H=d*f;E=A[N[G]],v=r[N[G+1]],b=n[N[G+2]],k=l*E+u*v+c*b,k=k<0?0:k>1?1:k,L[H]=o[Math.sqrt(Math.sqrt(k))*Ve+.5|0],k=_*E+Q*v+I*b,k=k<0?0:k>1?1:k,L[H+1]=g[Math.sqrt(Math.sqrt(k))*Ve+.5|0],k=B*E+m*v+y*b,k=k<0?0:k>1?1:k,L[H+2]=s[Math.sqrt(Math.sqrt(k))*Ve+.5|0],f===4&&(L[H+3]=w?N[G+3]:X)}return L}}}Ni.exports={build:qs}});var Ji=ae((_l,da)=>{"use strict";var Ts="AGFzbQEAAAABBwFgA39/fwADBgUAAAAAAAUDAQACB0EGBm1lbW9yeQIAA3J1bgAACHJ1bl9hX2luAAEJcnVuX2Ffb3V0AAIKcnVuX2FfY29weQADCnJ1bl9hX2ZpbGwABAqqKwW5CAMEfxN7D30gACEEIAEhBUEAKgKAiAQhGkEAKgKEiAQhG0EAKgKIiAQhHEEAKgKMiAQhHUEAKgKQiAQhHkEAKgKUiAQhH0EAKgKYiAQhIEEAKgKciAQhIUEAKgKgiAQhIkMAAAAA/RMhFkMAAIA//RMhF0MA/39H/RMhGEMAAAA//RMhGSAa/RMhDSAb/RMhDiAc/RMhDyAd/RMhECAe/RMhESAf/RMhEiAg/RMhEyAh/RMhFCAi/RMhFQJAA0AgA0EEaiACSg0BIAQtAABBAnQqAgD9EyAELQADQQJ0KgIA/SABIAQtAAZBAnQqAgD9IAIgBC0ACUECdCoCAP0gAyEHIAQtAAFBAnQqAgD9EyAELQAEQQJ0KgIA/SABIAQtAAdBAnQqAgD9IAIgBC0ACkECdCoCAP0gAyEIIAQtAAJBAnQqAgD9EyAELQAFQQJ0KgIA/SABIAQtAAhBAnQqAgD9IAIgBC0AC0ECdCoCAP0gAyEJIARBDGohBCAHIA395gEgCCAO/eYB/eQBIAkgD/3mAf3kASEKIAcgEP3mASAIIBH95gH95AEgCSAS/eYB/eQBIQsgByAT/eYBIAggFP3mAf3kASAJIBX95gH95AEhDCAKIBb96QEgF/3oASAY/eYBIBn95AH9+QEhCiALIBb96QEgF/3oASAY/eYBIBn95AH9+QEhCyAMIBb96QEgF/3oASAY/eYBIBn95AH9+QEhDCAK/RsAIQYgBUGACCAGai0AADoAACAL/RsAIQYgBUGACCAGai0AADoAASAM/RsAIQYgBUGACCAGai0AADoAAiAK/RsBIQYgBUGACCAGai0AADoAAyAL/RsBIQYgBUGACCAGai0AADoABCAM/RsBIQYgBUGACCAGai0AADoABSAK/RsCIQYgBUGACCAGai0AADoABiAL/RsCIQYgBUGACCAGai0AADoAByAM/RsCIQYgBUGACCAGai0AADoACCAK/RsDIQYgBUGACCAGai0AADoACSAL/RsDIQYgBUGACCAGai0AADoACiAM/RsDIQYgBUGACCAGai0AADoACyAFQQxqIQUgA0EEaiEDDAALCwJAA0AgAyACTg0BIAQtAABBAnQqAgAhIyAELQABQQJ0KgIAISQgBC0AAkECdCoCACElIARBA2ohBCAjIBqUICQgG5SSICUgHJSSISYgIyAdlCAkIB6UkiAlIB+UkiEnICMgIJQgJCAhlJIgJSAilJIhKCAmQwAAAACXQwAAgD+WQwD/f0eUQwAAAD+S/AEhBiAFQYAIIAZqLQAAOgAAICdDAAAAAJdDAACAP5ZDAP9/R5RDAAAAP5L8ASEGIAVBgAggBmotAAA6AAEgKEMAAAAAl0MAAIA/lkMA/39HlEMAAAA/kvwBIQYgBUGACCAGai0AADoAAiAFQQNqIQUgA0EBaiEDDAALCwu5CAMEfxN7D30gACEEIAEhBUEAKgKAiAQhGkEAKgKEiAQhG0EAKgKIiAQhHEEAKgKMiAQhHUEAKgKQiAQhHkEAKgKUiAQhH0EAKgKYiAQhIEEAKgKciAQhIUEAKgKgiAQhIkMAAAAA/RMhFkMAAIA//RMhF0MA/39H/RMhGEMAAAA//RMhGSAa/RMhDSAb/RMhDiAc/RMhDyAd/RMhECAe/RMhESAf/RMhEiAg/RMhEyAh/RMhFCAi/RMhFQJAA0AgA0EEaiACSg0BIAQtAABBAnQqAgD9EyAELQAEQQJ0KgIA/SABIAQtAAhBAnQqAgD9IAIgBC0ADEECdCoCAP0gAyEHIAQtAAFBAnQqAgD9EyAELQAFQQJ0KgIA/SABIAQtAAlBAnQqAgD9IAIgBC0ADUECdCoCAP0gAyEIIAQtAAJBAnQqAgD9EyAELQAGQQJ0KgIA/SABIAQtAApBAnQqAgD9IAIgBC0ADkECdCoCAP0gAyEJIARBEGohBCAHIA395gEgCCAO/eYB/eQBIAkgD/3mAf3kASEKIAcgEP3mASAIIBH95gH95AEgCSAS/eYB/eQBIQsgByAT/eYBIAggFP3mAf3kASAJIBX95gH95AEhDCAKIBb96QEgF/3oASAY/eYBIBn95AH9+QEhCiALIBb96QEgF/3oASAY/eYBIBn95AH9+QEhCyAMIBb96QEgF/3oASAY/eYBIBn95AH9+QEhDCAK/RsAIQYgBUGACCAGai0AADoAACAL/RsAIQYgBUGACCAGai0AADoAASAM/RsAIQYgBUGACCAGai0AADoAAiAK/RsBIQYgBUGACCAGai0AADoAAyAL/RsBIQYgBUGACCAGai0AADoABCAM/RsBIQYgBUGACCAGai0AADoABSAK/RsCIQYgBUGACCAGai0AADoABiAL/RsCIQYgBUGACCAGai0AADoAByAM/RsCIQYgBUGACCAGai0AADoACCAK/RsDIQYgBUGACCAGai0AADoACSAL/RsDIQYgBUGACCAGai0AADoACiAM/RsDIQYgBUGACCAGai0AADoACyAFQQxqIQUgA0EEaiEDDAALCwJAA0AgAyACTg0BIAQtAABBAnQqAgAhIyAELQABQQJ0KgIAISQgBC0AAkECdCoCACElIARBBGohBCAjIBqUICQgG5SSICUgHJSSISYgIyAdlCAkIB6UkiAlIB+UkiEnICMgIJQgJCAhlJIgJSAilJIhKCAmQwAAAACXQwAAgD+WQwD/f0eUQwAAAD+S/AEhBiAFQYAIIAZqLQAAOgAAICdDAAAAAJdDAACAP5ZDAP9/R5RDAAAAP5L8ASEGIAVBgAggBmotAAA6AAEgKEMAAAAAl0MAAIA/lkMA/39HlEMAAAA/kvwBIQYgBUGACCAGai0AADoAAiAFQQNqIQUgA0EBaiEDDAALCwvhCAMEfxN7D30gACEEIAEhBUEAKgKAiAQhGkEAKgKEiAQhG0EAKgKIiAQhHEEAKgKMiAQhHUEAKgKQiAQhHkEAKgKUiAQhH0EAKgKYiAQhIEEAKgKciAQhIUEAKgKgiAQhIkMAAAAA/RMhFkMAAIA//RMhF0MA/39H/RMhGEMAAAA//RMhGSAa/RMhDSAb/RMhDiAc/RMhDyAd/RMhECAe/RMhESAf/RMhEiAg/RMhEyAh/RMhFCAi/RMhFQJAA0AgA0EEaiACSg0BIAQtAABBAnQqAgD9EyAELQADQQJ0KgIA/SABIAQtAAZBAnQqAgD9IAIgBC0ACUECdCoCAP0gAyEHIAQtAAFBAnQqAgD9EyAELQAEQQJ0KgIA/SABIAQtAAdBAnQqAgD9IAIgBC0ACkECdCoCAP0gAyEIIAQtAAJBAnQqAgD9EyAELQAFQQJ0KgIA/SABIAQtAAhBAnQqAgD9IAIgBC0AC0ECdCoCAP0gAyEJIAVB/wE6AAMgBUH/AToAByAFQf8BOgALIAVB/wE6AA8gBEEMaiEEIAcgDf3mASAIIA795gH95AEgCSAP/eYB/eQBIQogByAQ/eYBIAggEf3mAf3kASAJIBL95gH95AEhCyAHIBP95gEgCCAU/eYB/eQBIAkgFf3mAf3kASEMIAogFv3pASAX/egBIBj95gEgGf3kAf35ASEKIAsgFv3pASAX/egBIBj95gEgGf3kAf35ASELIAwgFv3pASAX/egBIBj95gEgGf3kAf35ASEMIAr9GwAhBiAFQYAIIAZqLQAAOgAAIAv9GwAhBiAFQYAIIAZqLQAAOgABIAz9GwAhBiAFQYAIIAZqLQAAOgACIAr9GwEhBiAFQYAIIAZqLQAAOgAEIAv9GwEhBiAFQYAIIAZqLQAAOgAFIAz9GwEhBiAFQYAIIAZqLQAAOgAGIAr9GwIhBiAFQYAIIAZqLQAAOgAIIAv9GwIhBiAFQYAIIAZqLQAAOgAJIAz9GwIhBiAFQYAIIAZqLQAAOgAKIAr9GwMhBiAFQYAIIAZqLQAAOgAMIAv9GwMhBiAFQYAIIAZqLQAAOgANIAz9GwMhBiAFQYAIIAZqLQAAOgAOIAVBEGohBSADQQRqIQMMAAsLAkADQCADIAJODQEgBC0AAEECdCoCACEjIAQtAAFBAnQqAgAhJCAELQACQQJ0KgIAISUgBUH/AToAAyAEQQNqIQQgIyAalCAkIBuUkiAlIByUkiEmICMgHZQgJCAelJIgJSAflJIhJyAjICCUICQgIZSSICUgIpSSISggJkMAAAAAl0MAAIA/lkMA/39HlEMAAAA/kvwBIQYgBUGACCAGai0AADoAACAnQwAAAACXQwAAgD+WQwD/f0eUQwAAAD+S/AEhBiAFQYAIIAZqLQAAOgABIChDAAAAAJdDAACAP5ZDAP9/R5RDAAAAP5L8ASEGIAVBgAggBmotAAA6AAIgBUEEaiEFIANBAWohAwwACwsL6wgDBH8Tew99IAAhBCABIQVBACoCgIgEIRpBACoChIgEIRtBACoCiIgEIRxBACoCjIgEIR1BACoCkIgEIR5BACoClIgEIR9BACoCmIgEISBBACoCnIgEISFBACoCoIgEISJDAAAAAP0TIRZDAACAP/0TIRdDAP9/R/0TIRhDAAAAP/0TIRkgGv0TIQ0gG/0TIQ4gHP0TIQ8gHf0TIRAgHv0TIREgH/0TIRIgIP0TIRMgIf0TIRQgIv0TIRUCQANAIANBBGogAkoNASAELQAAQQJ0KgIA/RMgBC0ABEECdCoCAP0gASAELQAIQQJ0KgIA/SACIAQtAAxBAnQqAgD9IAMhByAELQABQQJ0KgIA/RMgBC0ABUECdCoCAP0gASAELQAJQQJ0KgIA/SACIAQtAA1BAnQqAgD9IAMhCCAELQACQQJ0KgIA/RMgBC0ABkECdCoCAP0gASAELQAKQQJ0KgIA/SACIAQtAA5BAnQqAgD9IAMhCSAFIAQtAAM6AAMgBSAELQAHOgAHIAUgBC0ACzoACyAFIAQtAA86AA8gBEEQaiEEIAcgDf3mASAIIA795gH95AEgCSAP/eYB/eQBIQogByAQ/eYBIAggEf3mAf3kASAJIBL95gH95AEhCyAHIBP95gEgCCAU/eYB/eQBIAkgFf3mAf3kASEMIAogFv3pASAX/egBIBj95gEgGf3kAf35ASEKIAsgFv3pASAX/egBIBj95gEgGf3kAf35ASELIAwgFv3pASAX/egBIBj95gEgGf3kAf35ASEMIAr9GwAhBiAFQYAIIAZqLQAAOgAAIAv9GwAhBiAFQYAIIAZqLQAAOgABIAz9GwAhBiAFQYAIIAZqLQAAOgACIAr9GwEhBiAFQYAIIAZqLQAAOgAEIAv9GwEhBiAFQYAIIAZqLQAAOgAFIAz9GwEhBiAFQYAIIAZqLQAAOgAGIAr9GwIhBiAFQYAIIAZqLQAAOgAIIAv9GwIhBiAFQYAIIAZqLQAAOgAJIAz9GwIhBiAFQYAIIAZqLQAAOgAKIAr9GwMhBiAFQYAIIAZqLQAAOgAMIAv9GwMhBiAFQYAIIAZqLQAAOgANIAz9GwMhBiAFQYAIIAZqLQAAOgAOIAVBEGohBSADQQRqIQMMAAsLAkADQCADIAJODQEgBC0AAEECdCoCACEjIAQtAAFBAnQqAgAhJCAELQACQQJ0KgIAISUgBSAELQADOgADIARBBGohBCAjIBqUICQgG5SSICUgHJSSISYgIyAdlCAkIB6UkiAlIB+UkiEnICMgIJQgJCAhlJIgJSAilJIhKCAmQwAAAACXQwAAgD+WQwD/f0eUQwAAAD+S/AEhBiAFQYAIIAZqLQAAOgAAICdDAAAAAJdDAACAP5ZDAP9/R5RDAAAAP5L8ASEGIAVBgAggBmotAAA6AAEgKEMAAAAAl0MAAIA/lkMA/39HlEMAAAA/kvwBIQYgBUGACCAGai0AADoAAiAFQQRqIQUgA0EBaiEDDAALCwvhCAMEfxN7D30gACEEIAEhBUEAKgKAiAQhGkEAKgKEiAQhG0EAKgKIiAQhHEEAKgKMiAQhHUEAKgKQiAQhHkEAKgKUiAQhH0EAKgKYiAQhIEEAKgKciAQhIUEAKgKgiAQhIkMAAAAA/RMhFkMAAIA//RMhF0MA/39H/RMhGEMAAAA//RMhGSAa/RMhDSAb/RMhDiAc/RMhDyAd/RMhECAe/RMhESAf/RMhEiAg/RMhEyAh/RMhFCAi/RMhFQJAA0AgA0EEaiACSg0BIAQtAABBAnQqAgD9EyAELQAEQQJ0KgIA/SABIAQtAAhBAnQqAgD9IAIgBC0ADEECdCoCAP0gAyEHIAQtAAFBAnQqAgD9EyAELQAFQQJ0KgIA/SABIAQtAAlBAnQqAgD9IAIgBC0ADUECdCoCAP0gAyEIIAQtAAJBAnQqAgD9EyAELQAGQQJ0KgIA/SABIAQtAApBAnQqAgD9IAIgBC0ADkECdCoCAP0gAyEJIAVB/wE6AAMgBUH/AToAByAFQf8BOgALIAVB/wE6AA8gBEEQaiEEIAcgDf3mASAIIA795gH95AEgCSAP/eYB/eQBIQogByAQ/eYBIAggEf3mAf3kASAJIBL95gH95AEhCyAHIBP95gEgCCAU/eYB/eQBIAkgFf3mAf3kASEMIAogFv3pASAX/egBIBj95gEgGf3kAf35ASEKIAsgFv3pASAX/egBIBj95gEgGf3kAf35ASELIAwgFv3pASAX/egBIBj95gEgGf3kAf35ASEMIAr9GwAhBiAFQYAIIAZqLQAAOgAAIAv9GwAhBiAFQYAIIAZqLQAAOgABIAz9GwAhBiAFQYAIIAZqLQAAOgACIAr9GwEhBiAFQYAIIAZqLQAAOgAEIAv9GwEhBiAFQYAIIAZqLQAAOgAFIAz9GwEhBiAFQYAIIAZqLQAAOgAGIAr9GwIhBiAFQYAIIAZqLQAAOgAIIAv9GwIhBiAFQYAIIAZqLQAAOgAJIAz9GwIhBiAFQYAIIAZqLQAAOgAKIAr9GwMhBiAFQYAIIAZqLQAAOgAMIAv9GwMhBiAFQYAIIAZqLQAAOgANIAz9GwMhBiAFQYAIIAZqLQAAOgAOIAVBEGohBSADQQRqIQMMAAsLAkADQCADIAJODQEgBC0AAEECdCoCACEjIAQtAAFBAnQqAgAhJCAELQACQQJ0KgIAISUgBUH/AToAAyAEQQRqIQQgIyAalCAkIBuUkiAlIByUkiEmICMgHZQgJCAelJIgJSAflJIhJyAjICCUICQgIZSSICUgIpSSISggJkMAAAAAl0MAAIA/lkMA/39HlEMAAAA/kvwBIQYgBUGACCAGai0AADoAACAnQwAAAACXQwAAgD+WQwD/f0eUQwAAAD+S/AEhBiAFQYAIIAZqLQAAOgABIChDAAAAAJdDAACAP5ZDAP9/R5RDAAAAP5L8ASEGIAVBgAggBmotAAA6AAIgBUEEaiEFIANBAWohAwwACwsL";function Us(i){if(typeof Buffer<"u")return new Uint8Array(Buffer.from(i,"base64"));if(typeof atob<"u"){for(var e=atob(i),t=new Uint8Array(e.length),a=0;a<e.length;a++)t[a]=e.charCodeAt(a);return t}throw new Error("No base64 decoder available (need Buffer or atob).")}da.exports=Us(Ts);da.exports.LAYOUT={bits:8,gammaInByte:0,gammaOutByte:1024,matrixByte:66560,pixelByte:66624,inEntries:256,outIndexMax:65535,outValueMax:255,outEntryBytes:1,indexRoot:1}});var Xi=ae((wl,va)=>{"use strict";var Ys="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";function Ns(i){if(typeof Buffer<"u")return new Uint8Array(Buffer.from(i,"base64"));if(typeof atob<"u"){for(var e=atob(i),t=new Uint8Array(e.length),a=0;a<e.length;a++)t[a]=e.charCodeAt(a);return t}throw new Error("No base64 decoder available (need Buffer or atob).")}va.exports=Ns(Ys);va.exports.LAYOUT={bits:8,gammaInByte:0,gammaOutByte:1024,matrixByte:66560,pixelByte:66624,inEntries:256,outIndexMax:65535,outValueMax:255,outEntryBytes:1,indexRoot:1}});var Hi=ae((yl,Qa)=>{"use strict";var Ps="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";function Js(i){if(typeof Buffer<"u")return new Uint8Array(Buffer.from(i,"base64"));if(typeof atob<"u"){for(var e=atob(i),t=new Uint8Array(e.length),a=0;a<e.length;a++)t[a]=e.charCodeAt(a);return t}throw new Error("No base64 decoder available (need Buffer or atob).")}Qa.exports=Js(Ps);Qa.exports.LAYOUT={bits:16,gammaInByte:0,gammaOutByte:262144,matrixByte:524288,pixelByte:524352,inEntries:65536,outIndexMax:131071,outValueMax:65535,outEntryBytes:2,indexRoot:4}});var Ki=ae((Dl,Sa)=>{"use strict";var Xs="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";function Hs(i){if(typeof Buffer<"u")return new Uint8Array(Buffer.from(i,"base64"));if(typeof atob<"u"){for(var e=atob(i),t=new Uint8Array(e.length),a=0;a<e.length;a++)t[a]=e.charCodeAt(a);return t}throw new Error("No base64 decoder available (need Buffer or atob).")}Sa.exports=Hs(Xs);Sa.exports.LAYOUT={bits:16,gammaInByte:0,gammaOutByte:262144,matrixByte:524288,pixelByte:524352,inEntries:65536,outIndexMax:131071,outValueMax:65535,outEntryBytes:2,indexRoot:4}});var wa=ae((bl,zi)=>{"use strict";var Ks=Pi(),Oi=Jt(),Ma=Oi.compile,Os=Oi.instantiate,Oe={"8-simd":Ji(),"8-scalar":Xi(),"16-simd":Hi(),"16-scalar":Ki()},Zs=65536;function Zi(i){return"__jsColorEngine_matrix_"+i+"__"}function pa(i,e){return{cache:e,cacheKey:Zi(i)}}var it=Ot().readEnum("JSCE_MATRIX_SHAPER_VARIANT",["simd","scalar","js"])||null;function _a(i,e){return it==="js"?null:it?Ma(Oe[i+"-"+it],pa(i+"-"+it,e))?i+"-"+it:null:Ma(Oe[i+"-simd"],pa(i+"-simd",e))?i+"-simd":Ma(Oe[i+"-scalar"],pa(i+"-scalar",e))?i+"-scalar":null}function Ws(i){it=i==="simd"||i==="scalar"||i==="js"?i:null}function Wi(i){return i==="int8"?8:i==="int16"?16:0}function ct(i,e){if(!i||!i.pipeline)return null;for(var t=0;t<i.pipeline.length;t++)if(i.pipeline[t].stageName===e)return i.pipeline[t];return null}function xt(i,e,t){return e.funct.call(i,[t,t,t],e.stageData,e)}function Vi(i,e,t){for(var a=0;a<=32;a++){var A=a/32,r=xt(i,e,A),n=xt(i,t,A);if(Math.abs(r[0]-r[1])>1e-12||Math.abs(r[0]-r[2])>1e-12)return"input";if(Math.abs(n[0]-n[1])>1e-12||Math.abs(n[0]-n[2])>1e-12)return"output"}return null}function ji(i){if(!i||!i.pipelineCreated)return{ok:!1,why:"no pipeline"};var e=Wi(i.dataFormat);if(!e)return{ok:!1,why:"dataFormat is not int8 or int16"};if(i.inputChannels!==3||i.outputChannels!==3)return{ok:!1,why:"not 3-channel in and out"};if(i.lut)return{ok:!1,why:"a LUT was built; the CLUT path owns this"};var t=ct(i,"stage_Int_to_Device"),a=ct(i,"stage_Gamma_Inverse"),A=ct(i,"stage_matrix_rgb"),r=ct(i,"stage_Gamma"),n=ct(i,"stage_device_to_int");if(!t||!a||!A||!r||!n)return{ok:!1,why:"not a matrix-shaper pipeline"};var o=["stage_Int_to_Device","stage_Gamma_Inverse","stage_matrix_rgb","stage_Gamma","stage_device_to_int"];if(i.pipeline.length!==o.length)return{ok:!1,why:"extra pipeline stages"};for(var g=0;g<o.length;g++)if(i.pipeline[g].stageName!==o[g])return{ok:!1,why:"unexpected stage order"};var s=Vi(i,a,r),h=s?null:_a(e,i.wasmCache);return!h&&typeof WebAssembly>"u"&&(h=null),{ok:!0,why:null,bits:e,variant:h,perChannel:s,stages:{inv:a,mat:A,fwd:r}}}function Vs(i){if(!i)return!1;var e=Wi(i.dataFormat);if(!e||i.preferMatrixShaperOverLUT!==!0||i._lutInputHooks&&i._lutInputHooks.length||i._lutOutputHooks&&i._lutOutputHooks.length||i.lutGamutMode&&i.lutGamutMode!=="none"||i.inputChannels!==3||i.outputChannels!==3||i.convertInputOutput!==!0||!_a(e,i.wasmCache))return!1;var t=["stage_Gamma_Inverse","stage_matrix_rgb","stage_Gamma"],a=i.pipeline;if(!a||a.length!==t.length)return!1;for(var A=0;A<t.length;A++)if(a[A].stageName!==t[A])return!1;return!Vi(i,a[0],a[2])}function js(i){var e=ji(i);if(!e.ok)return null;if(!e.variant)try{return Ks.build(i,e)}catch{return null}var t=Os(Oe[e.variant],{cache:i.wasmCache,cacheKey:Zi(e.variant),exportName:"run"});if(!t)return null;var a=t.instance,A=t.exports,r=A.memory,n=Oe[e.variant].LAYOUT,o=n.bits===8?1:2,g=n.inEntries-1,s,h,l=new Float32Array(r.buffer,n.gammaInByte,n.inEntries);for(s=0;s<n.inEntries;s++)l[s]=xt(i,e.stages.inv,s/g)[0];var u=n.outEntryBytes===1?Uint8Array:Uint16Array,c=new u(r.buffer,n.gammaOutByte,n.outIndexMax+1);for(s=0;s<=n.outIndexMax;s++){var _=s/n.outIndexMax;n.indexRoot===4&&(_=_*_,_=_*_),h=Math.round(xt(i,e.stages.fwd,_)[0]*n.outValueMax),c[s]=h<0?0:h>n.outValueMax?n.outValueMax:h}var Q=e.stages.mat.stageData,I=new Float32Array(r.buffer,n.matrixByte,9);I[0]=Q.m00,I[1]=Q.m01,I[2]=Q.m02,I[3]=Q.m10,I[4]=Q.m11,I[5]=Q.m12,I[6]=Q.m20,I[7]=Q.m21,I[8]=Q.m22;var B=n.bits===8?Uint8Array:Uint16Array,m={instance:a,memory:r,variant:e.variant,bits:n.bits,simd:e.variant.indexOf("simd")!==-1,capacityPx:0,inPtr:n.pixelByte,outPtr:0,reserve:function(y){if(!(y<=this.capacityPx)){var X=y*4*o,N=n.pixelByte+(X+63&-64),L=N+X,T=this.memory.buffer.byteLength;L>T&&this.memory.grow(Math.ceil((L-T)/Zs)),this.outPtr=N,this.capacityPx=y}},run:function(y,X,N,L,T,D){this.reserve(N);var x=L?4:3,F=T?4:3,q=A.run;x===4&&F===3?q=A.run_a_in:x===3&&F===4?q=A.run_a_out:x===4&&F===4&&(q=D?A.run_a_copy:A.run_a_fill);var f=N*x,d=N*F;return new B(this.memory.buffer,this.inPtr,f).set(y.subarray(0,f)),q(this.inPtr,this.outPtr,N),X.set(new B(this.memory.buffer,this.outPtr,d),0),X}};return m}zi.exports={build:js,inspect:ji,wantsInsteadOfLut:Vs,variantFor:_a,useVariant:Ws,LAYOUT:Oe["8-simd"].LAYOUT,LAYOUTS:{8:Oe["8-simd"].LAYOUT,16:Oe["16-simd"].LAYOUT}}});var er=ae((xl,$i)=>{"use strict";var zs=wa();$i.exports={name:"matrix-shaper",dimensions:3,supports:{int8_simd:!0,int8_scalar:!0,int16_simd:!0,int16_scalar:!0,float:!1},info:function(){var i={name:"matrix-shaper",dimensions:3,claimed:!0,built:!!this._impl,cache:"not-supported"};return this._impl&&(i.variant=this._impl.variant,i.bits=this._impl.bits,i.simd=this._impl.simd),i},create:function(i){return this._impl=void 0,i},array:function(i,e,t,a,A,r,n){if(this._impl===void 0)try{this._impl=zs.build(this.transform)}catch{this._impl=null}if(!this._impl)return null;t==null&&(t=Math.floor(i.length/(A?4:3))),n=(n===void 0?r:n)&&A;var o=t*(r?4:3),g=e;return(!g||g.length<o)&&(g=this.transform.dataFormat==="int16"?new Uint16Array(o):new Uint8ClampedArray(o)),this._impl.run(i,g,t,A,r,n)},release:function(){this._impl=void 0},provideLut:function(i){return null}}});var rr=ae((Rl,ir)=>{"use strict";var ya=Ke(),$s=Ca(),Da=ke(),rt=$e(),ft=qe(),tr=wa(),eh=er(),ar=Ye().encoding;ir.exports={name:"kernel3D",table:$s,dimensions:3,provideLut:function(i){try{return tr.wantsInsteadOfLut(this.transform)?!1:null}catch{return null}},init:function(i,e){var t=function(r,n){var o={pipeline:i,kernel:null,meta:{name:"kernel3D",dimensions:3,claimed:!1,why:r}};return n&&n.pixelCache!==void 0&&(o.pixelCache=n.pixelCache),o},a;try{a=tr.inspect(e.transform)}catch(r){return t("inspect threw: "+r)}if(a&&a.ok===!0){if(e.wasmMatrixShaper==="off")return t("wasmMatrixShaper is off",{pixelCache:0});var A=Object.create(eh);return A.transform=e.transform,A.claimed=!0,A._impl=void 0,A._variant=null,{pipeline:i,kernel:A,meta:A.info(),pixelCache:0}}return e.wasmMatrixShaper==="off"?t("wasmMatrixShaper is off"):t(a?a.why:null)},floatFor:function(i,e){e=e||{};var t=e.useTrilinearFor3ChInput&&(e.inputEncoding===ar.PCSv4||e.inputEncoding===ar.PCSv2)?"trilinear":e.interpolation3D;switch(t){case"tetrahedral":if(e.fast===!1)return{funct:ft.tetrahedralInterp3D_3or4Ch,stageName:"tetrahedralInterp3D"};switch(i.outputChannels){case 3:return{funct:ft.tetrahedralInterp3D_3Ch,stageName:"tetrahedralInterp3D"};case 4:return{funct:ft.tetrahedralInterp3D_4Ch,stageName:"tetrahedralInterp3D"};default:return{funct:ft.tetrahedralInterp3D_NCh,stageName:"tetrahedralInterp3D"}}case"trilinear":return{funct:ft.trilinearInterp3D_NCh,stageName:"trilinearInterp3D"};default:throw'Unknown 3D interpolation method "'+t+'"'}},wasmLadder:{"int-wasm-simd":{load:rt.createTetra3DSimdState,slot:"wasmTetra3DSimd",alsoLoad:rt.createTetra3DState,alsoSlot:"wasmTetra3D",demoteTo:"int-wasm-scalar"},"int-wasm-scalar":{load:rt.createTetra3DState,slot:"wasmTetra3D",demoteTo:"int"},"int16-wasm-simd":{load:rt.createTetra3DInt16SimdState,slot:"wasmTetra3DInt16Simd",alsoLoad:rt.createTetra3DInt16State,alsoSlot:"wasmTetra3DInt16",demoteTo:"int16-wasm-scalar"},"int16-wasm-scalar":{load:rt.createTetra3DInt16State,slot:"wasmTetra3DInt16",demoteTo:"int16"}},create:function(i){this._variant=null;var e=Da.settleWasmStates(this.transform,this,this.wasmLadder);return ya.bindArrayRuns(this),e},array:function(i,e,t,a,A,r,n){var o=this.transform;if(t===void 0&&(t=Math.floor(i.length/(a.inputChannels+(A?1:0)))),n=(n===void 0?r:n)&&A,e=ya.ensureOutputArray(o,a,t,r,e),this.arrayFnBig===null&&(ya.bindArrayRuns(this),this.arrayFnBig===null))throw"kernel3D: failed to resolve the image path for inputChannels="+a.inputChannels+", outputChannels="+a.outputChannels+", lutMode="+o.lutMode;var g=t>=this.threshold?this.arrayFnBig:this.arrayFnSml;return g(o,i,e,t,a,A,r,n),Da.compactIfNeeded(this,o._wasmMaxMemory,o._wasmShrinkRatio),e},release:function(){Da.releaseWasmStates(this.transform)}}});var nr=ae((Gl,Ar)=>{"use strict";var Rt=Ke(),th=Ea(),ba=ke(),At=$e(),Bt=qe();Ar.exports={name:"kernel4D",table:th,dimensions:4,supports:{float:!0,int8_js:!0,int8_scalar:!0,int8_simd:!0,int16_js:!0,int16_scalar:!0,int16_simd:!0},floatFor:function(i,e){switch(e=e||{},e.interpolation4D){case"tetrahedral":if(e.fast===!1)return{funct:Bt.tetrahedralInterp4D_3or4Ch,stageName:"tetrahedralInterp4D"};switch(i.outputChannels){case 3:return{funct:Bt.tetrahedralInterp4D_3Ch,stageName:"tetrahedralInterp4D"};case 4:return{funct:Bt.tetrahedralInterp4D_4Ch,stageName:"tetrahedralInterp4D"};default:return{funct:Bt.tetrahedralInterp4D_NCh,stageName:"tetrahedralInterp4D"}}case"trilinear":return{funct:Bt.trilinearInterp4D_3or4Ch,stageName:"trilinearInterp4D"};default:throw'Unknown 4D interpolation method "'+e.interpolation4D+'"'}},init:function(i,e){var t=Rt.autoPixelCacheSlots(e);if(t!==void 0)return{pixelCache:t}},wasmLadder:{"int-wasm-simd":{load:At.createTetra4DSimdState,slot:"wasmTetra4DSimd",alsoLoad:At.createTetra4DState,alsoSlot:"wasmTetra4D",demoteTo:"int-wasm-scalar"},"int-wasm-scalar":{load:At.createTetra4DState,slot:"wasmTetra4D",demoteTo:"int"},"int16-wasm-simd":{load:At.createTetra4DInt16SimdState,slot:"wasmTetra4DInt16Simd",alsoLoad:At.createTetra4DInt16State,alsoSlot:"wasmTetra4DInt16",demoteTo:"int16-wasm-scalar"},"int16-wasm-scalar":{load:At.createTetra4DInt16State,slot:"wasmTetra4DInt16",demoteTo:"int16"}},create:function(i){this._variant=null;var e=ba.settleWasmStates(this.transform,this,this.wasmLadder);return Rt.bindArrayRuns(this),e},array:function(i,e,t,a,A,r,n){var o=this.transform;if(t===void 0&&(t=Math.floor(i.length/(a.inputChannels+(A?1:0)))),n=(n===void 0?r:n)&&A,e=Rt.ensureOutputArray(o,a,t,r,e),this.arrayFnBig===null&&(Rt.bindArrayRuns(this),this.arrayFnBig===null))throw"kernel4D: failed to resolve the image path for inputChannels="+a.inputChannels+", outputChannels="+a.outputChannels+", lutMode="+o.lutMode;var g=t>=this.threshold?this.arrayFnBig:this.arrayFnSml;return g(o,i,e,t,a,A,r,n),ba.compactIfNeeded(this,o._wasmMaxMemory,o._wasmShrinkRatio),e},release:function(){ba.releaseWasmStates(this.transform)},provideLut:function(i){return null}}});var or=ae((Ll,lr)=>{"use strict";var hr=ha();function sr(i,e,t,a,A,r,n,o){hr.tetrahedralInterp5DArray_NCh_loop(e,0,t,0,a,A,r,n,o)}function xa(i,e,t,a,A,r,n,o){hr.tetrahedralInterp5DArray_NCh_intLut_loop(e,0,t,0,a,A.intLut,r,n,o)}function ah(i,e,t,a,A,r,n,o){var g=i.outputChannels,s=r?6:5,h=n?g+1:g;i.wasmTetra5D.bind(A.intLut,a,g,s,h),i.wasmTetra5D.runTetra5D(e,0,t,0,a,A.intLut,g,r,n,o)}function ih(i,e){var t=!!e.intLut,a=function(r,n,o,g){return{big:r,small:o,bigName:n,smallName:g}},A=i.transform.lutMode;switch(A){case"int-wasm-simd":case"int-wasm-scalar":if(t&&i.wasmTetra5D)return a(ah,"i8ws_5_n",xa,"i_5_n");case"int":if(t)return a(xa,"i_5_n",xa,"i_5_n");default:return a(sr,"fl_5_n",sr,"fl_5_n")}}lr.exports={resolve:ih}});var Ir=ae((Fl,gr)=>{"use strict";var Gt=Ke(),rh=or(),Ra=ke(),Ah=$e(),nh=qe();function sh(){return null}gr.exports={name:"kernel5D",table:rh,dimensions:5,supports:{float:!0,int8_js:!0,int8_scalar:!0},floatFor:function(i,e){return{funct:nh.tetrahedralInterpND_NCh,stageName:"tetrahedralInterpND"}},init:function(i,e){var t=Gt.autoPixelCacheSlots(e);if(t!==void 0)return{pixelCache:t}},wasmLadder:{"int-wasm-simd":{load:sh,slot:"wasmTetra5D",demoteTo:"int-wasm-scalar"},"int-wasm-scalar":{load:Ah.createTetra5DState,slot:"wasmTetra5D",demoteTo:"int"}},create:function(i){this._variant=null;var e=Ra.settleWasmStates(this.transform,this,this.wasmLadder);return Gt.bindArrayRuns(this),e},array:function(i,e,t,a,A,r,n){var o=this.transform;if(t===void 0&&(t=Math.floor(i.length/(a.inputChannels+(A?1:0)))),n=(n===void 0?r:n)&&A,e=Gt.ensureOutputArray(o,a,t,r,e),this.arrayFnBig===null&&(Gt.bindArrayRuns(this),this.arrayFnBig===null))throw"kernel5D: failed to resolve the image path for inputChannels="+a.inputChannels+", outputChannels="+a.outputChannels+", lutMode="+o.lutMode;var g=t>=this.threshold?this.arrayFnBig:this.arrayFnSml;return g(o,i,e,t,a,A,r,n),Ra.compactIfNeeded(this,o._wasmMaxMemory,o._wasmShrinkRatio),e},release:function(){Ra.releaseWasmStates(this.transform)},provideLut:function(i){return null}}});var cr=ae((kl,Er)=>{"use strict";var ur=la();function Cr(i,e,t,a,A,r,n,o){ur.tetrahedralInterp6DArray_NCh_loop(e,0,t,0,a,A,r,n,o)}function Ga(i,e,t,a,A,r,n,o){ur.tetrahedralInterp6DArray_NCh_intLut_loop(e,0,t,0,a,A.intLut,r,n,o)}function hh(i,e,t,a,A,r,n,o){var g=i.outputChannels,s=r?7:6,h=n?g+1:g;i.wasmTetra6D.bind(A.intLut,a,g,s,h),i.wasmTetra6D.runTetra6D(e,0,t,0,a,A.intLut,g,r,n,o)}function lh(i,e){var t=!!e.intLut,a=function(r,n,o,g){return{big:r,small:o,bigName:n,smallName:g}},A=i.transform.lutMode;switch(A){case"int-wasm-simd":case"int-wasm-scalar":if(t&&i.wasmTetra6D)return a(hh,"i8ws_6_n",Ga,"i_6_n");case"int":if(t)return a(Ga,"i_6_n",Ga,"i_6_n");default:return a(Cr,"fl_6_n",Cr,"fl_6_n")}}Er.exports={resolve:lh}});var Br=ae((ql,fr)=>{"use strict";var Lt=Ke(),oh=cr(),La=ke(),gh=$e(),Ih=qe();function Ch(){return null}fr.exports={name:"kernel6D",table:oh,dimensions:6,supports:{float:!0,int8_js:!0,int8_scalar:!0},floatFor:function(i,e){return{funct:Ih.tetrahedralInterpND_NCh,stageName:"tetrahedralInterpND"}},init:function(i,e){var t=Lt.autoPixelCacheSlots(e);if(t!==void 0)return{pixelCache:t}},wasmLadder:{"int-wasm-simd":{load:Ch,slot:"wasmTetra6D",demoteTo:"int-wasm-scalar"},"int-wasm-scalar":{load:gh.createTetra6DState,slot:"wasmTetra6D",demoteTo:"int"}},create:function(i){this._variant=null;var e=La.settleWasmStates(this.transform,this,this.wasmLadder);return Lt.bindArrayRuns(this),e},array:function(i,e,t,a,A,r,n){var o=this.transform;if(t===void 0&&(t=Math.floor(i.length/(a.inputChannels+(A?1:0)))),n=(n===void 0?r:n)&&A,e=Lt.ensureOutputArray(o,a,t,r,e),this.arrayFnBig===null&&(Lt.bindArrayRuns(this),this.arrayFnBig===null))throw"kernel6D: failed to resolve the image path for inputChannels="+a.inputChannels+", outputChannels="+a.outputChannels+", lutMode="+o.lutMode;var g=t>=this.threshold?this.arrayFnBig:this.arrayFnSml;return g(o,i,e,t,a,A,r,n),La.compactIfNeeded(this,o._wasmMaxMemory,o._wasmShrinkRatio),e},release:function(){La.releaseWasmStates(this.transform)},provideLut:function(i){return null}}});var Qr=ae((Ul,vr)=>{"use strict";var Tl=Ke(),mr=ke(),Ft=qe(),Fa="auto",dr=11;vr.exports={name:"kernelND",dimensions:[7,15],supports:{float:!0},ndInterpolator:Fa,simplexFrom:dr,interpolatorFor:function(i){return Fa==="simplex"?"simplex":Fa==="tetrahedral"?"tetrahedral":i>=dr?"simplex":"tetrahedral"},floatFor:function(i,e){return{funct:this.interpolatorFor(i.inputChannels)==="simplex"?Ft.simplexInterpND_NCh:Ft.tetrahedralInterpND_NCh,stageName:"tetrahedralInterpND"}},create:function(i){return this._variant="float",mr.settleWasmStates(this.transform,this,this.wasmLadder)},array:function(i,e,t,a,A,r,n){let o=this.transform,g=o.inputChannels,s=o.outputChannels,h=s+(r?1:0);t===void 0&&(t=Math.floor(i.length/(a.inputChannels+(A?1:0)))),n=(n===void 0?r:n)&&A,e||(e=new Uint8ClampedArray(t*h));for(var l=this.interpolatorFor(g)==="simplex"?Ft.simplexInterpND_NCh:Ft.tetrahedralInterpND_NCh,u=0,c=0,_=0;_<t;_++){for(var Q=new Array(g),I=0;I<g;I++)Q[I]=i[u++];for(var B=l.call(o,Q,a),m=0;m<s;m++)e[c++]=Math.round(B[m]);n?e[c++]=i[u++]:(A&&u++,r&&(e[c++]=255))}return e},release:function(){mr.releaseWasmStates(this.transform)},provideLut:function(i){return console.warn("jsColorEngine: buildLut ignored for "+this.transform.inputChannels+"-channel input \u2014 an N-D CLUT bake is impractical (grid^N cells) and the profile's own A2B grid is authoritative. Using the per-pixel pipeline."),!1}}});var br=ae((Yl,Dr)=>{"use strict";var Ge=Mt(),me=je(),nt=Ye(),Sr=ke(),fe=V0(),oe=nt.eIntent,$=nt.eProfileType,ue=nt.eColourType,kt=nt.illuminant,K=nt.encoding,ce=nt.encodingStr,ne=class i{static kernels=[];static MAX_KERNEL_DIMENSIONS=15;static _compatDefaults=null;static enablePool(e){var t=i._normalisePoolOptions(e),a=t.restart===!0,A=t.cancelQueue===!0;if(delete t.restart,delete t.cancelQueue,i._poolDefault&&!a)return i._poolOptionsDiffer(t,i._poolDefault)&&!i._warnedPoolReconfig&&(i._warnedPoolReconfig=!0,console.warn("jsColorEngine: enablePool() called again with different options \u2014 ignored, the pool is already running. Use enablePool({restart: true, ...}) to reconfigure it, or restartPool(...).")),Promise.resolve(i._poolInfo?Object.assign({alreadyEnabled:!0},i._poolInfo):{alreadyEnabled:!0});var r=Promise.resolve();if(a&&i._poolDefault){if(A)try{fe.cancelAll()}catch{}r=fe.onQueueFree()}return r.then(function(){return i.disablePool(),fe.enable(t)}).then(function(n){return i._poolDefault=t,i._poolInfo=n,n})}static restartPool(e){var t={};for(var a in e||{})t[a]=e[a];return t.restart=!0,i.enablePool(t)}static _poolOptionsDiffer(e,t){var a={};for(var A in e)a[A]=!0;for(var r in t)a[r]=!0;for(var n in a)if(e[n]!==t[n])return!0;return!1}static disablePool(){i._poolDefault=null,i._poolInfo=null,i._warnedPoolReconfig=!1,fe.destroyAll()}static workerStats(){return fe.workerStats()}static poolMemory(){return fe.memorySummary()}static _normalisePoolOptions(e){var t={};for(var a in e||{})t[a]=e[a];return t.workers!==void 0&&t.cores===void 0&&(t.cores=t.workers),t.maxWorkers!==void 0&&t.maxThreads===void 0&&(t.maxThreads=t.maxWorkers),t.minWorkers!==void 0&&t.minThreads===void 0&&(t.minThreads=t.minWorkers),delete t.workers,delete t.maxWorkers,delete t.minWorkers,t.url!==void 0&&t.workerUrl===void 0&&(t.workerUrl=t.url),t}static compatibility(e){if(e===void 0)return i._compatVersion||null;if(e===null||e==="latest"||e===!1)return i._compatDefaults=null,i._compatVersion=null,null;var t=String(e).split(".").slice(0,2).join("."),a=i.COMPAT_DEFAULTS[t];if(!a)throw new Error('Transform.compatibility: unknown version "'+e+'". Known: '+Object.keys(i.COMPAT_DEFAULTS).join(", ")+", or null for current defaults.");return i._compatDefaults=a,i._compatVersion=t,t}constructor(e){if(e=e||{},i._compatDefaults){var t={};for(var a in i._compatDefaults)t[a]=i._compatDefaults[a];for(var A in e)e[A]!==void 0&&(t[A]=e[A]);e=t}this.kernel=null,this.lastUsedKernel=null,this._originalOptions=e,this.plugin=Object.create(null),this.builtLut=e.builtLut===!0||e.buildLut===!0,this._buildLutRequested=this.builtLut;var r=e.wasmMatrixShaper;r===void 0&&(r=e.matrixShaper),e.preferMatrixShaperOverLUT===!0&&(r="prefer"),r===!0&&(r="prefer"),(r===!1||r==="off"||r==="none")&&(r="off"),r!=="prefer"&&r!=="off"&&(r="auto"),this.wasmMatrixShaper=r,this.multicore=e.multicore===void 0?!1:e.multicore,this.preferMatrixShaperOverLUT=r==="prefer",e.lutGamutMode&&e.lutGamutMode!=="none"?this.lutGamutMode=e.lutGamutMode:this.lutGamutMode=e.bakeLutGamut===!0?"color":"none",this.lutGamutLimit=e.lutGamutLimit||5,this.lutGamutMapScale=e.lutGamutMapScale||25.5,this.lutGamutColor=e.lutGamutColor||this.Lab(0,127,127),this.gamutDeFn=e.gamutDeFn||me.deltaE1976,this.gamutTransforms={},this.gamutColorDevice=[],this.gamutWhiteDevice=[],this.lutGridPoints3D=isNaN(Number(e.lutGridPoints3D))?33:Number(e.lutGridPoints3D),this.lutGridPoints4D=isNaN(Number(e.lutGridPoints4D))?17:Number(e.lutGridPoints4D);var n=e.lutMode===void 0?"auto":""+e.lutMode;switch(n){case"float":case"int":case"int16":case"int-wasm-scalar":case"int-wasm-simd":case"int16-wasm-scalar":case"int16-wasm-simd":this.lutMode=n,this.lutModeRequested=n;break;case"auto":e.dataFormat==="int8"&&this.builtLut?this.lutMode="int-wasm-simd":e.dataFormat==="int16"&&this.builtLut?this.lutMode="int16-wasm-simd":this.lutMode="float",this.lutModeRequested="auto";break;default:if(i._plugins[n]){this.lutMode=n,this.lutModeRequested=n;var o=i._plugins[n];o&&o.initialise&&o.initialise(this,e)}else e.verbose===!0&&console.warn('Unknown lutMode "'+n+'" \u2014 falling back to "auto". Valid values: auto, float, int, int16, int-wasm-scalar, int-wasm-simd, int16-wasm-scalar, int16-wasm-simd.'),e.dataFormat==="int8"&&this.builtLut?this.lutMode="int-wasm-simd":e.dataFormat==="int16"&&this.builtLut?this.lutMode="int16-wasm-simd":this.lutMode="float",this.lutModeRequested="auto"}this.wasmCache=e.wasmCache||null,this.kernelOptions=e.kernelOptions||null,this._wasmShrinkRatio=e.wasmShrinkRatio||0,this._wasmMaxMemory=e.wasmMaxMemory!==void 0?e.wasmMaxMemory:128*1024*1024,this._expectsU16=!1,this._isIntegerMode=!1,this._lutInputHooks=[],this._lutOutputHooks=[],typeof e.lutInputHook=="function"&&this._lutInputHooks.push(e.lutInputHook),typeof e.lutOutputHook=="function"&&this._lutOutputHooks.push(e.lutOutputHook),this.interpolation3D=e.interpolation3D?e.interpolation3D.toLowerCase():"tetrahedral",this.interpolation4D=e.interpolation4D?e.interpolation4D.toLowerCase():"tetrahedral",this.interpolationFast=e.interpolationFast!==!1,this.LUTinterpolation3D=e.LUTinterpolation3D?e.LUTinterpolation3D.toLowerCase():this.interpolation3D,this.LUTinterpolation4D=e.LUTinterpolation4D?e.LUTinterpolation4D.toLowerCase():this.interpolation4D,this.labAdaptation=e.labAdaptation===!0,this.displayChromaticAdaptation=e.displayChromaticAdaptation===!0,this.labInputAdaptation=e.labInputAdaptation!==!1,this.dataFormat=e.dataFormat||"object",e.dataFormat||e.useFloats&&(console.log("useFloats is obsolete, use dataFormat instead"),this.dataFormat="objectFloat");var g=!0;switch(this.dataFormat){case"object":g=!0;break;case"objectFloat":g=!0,this.useFloats=!0;break;case"int8":case"int16":g=!0;break;case"device":g=!1;break;default:throw'Invalid dataFormat "'+this.dataFormat+'". Must be "object", "objectFloat", "int8", "int16" or "device"'}this.convertInputOutput=g,this.validateOnCreate=e.validateOnCreate!==!1,this.detectIdentity=e.detectIdentity!==!1,this.isIdentity=!1,this.useCurveLut=e.useCurveLut===!0;var s=e.pixelCache;s===void 0||s==="auto"?this.pixelCache="auto":s===!0?this.pixelCache=1:(this.pixelCache=Number(s)||0,(this.pixelCache<0||isNaN(this.pixelCache))&&(this.pixelCache=0)),this._pixelCacheRequested=this.pixelCache,this.pixelCacheUsed=0,this._pixelCacheData=null,this.verbose=e.verbose===!0,this.verboseTiming=e.verboseTiming===!0,this.pipelineDebug=e.pipelineDebug===!0,this.optimise=e.optimise!==!1,this.optimiseDebug=[],this.roundOutput=e.roundOutput!==!1;var h=e.precision!==void 0?e.precision:e.precession;this.precision=isNaN(Number(h))?0:Number(h),this.precession=this.precision,Array.isArray(e.BPC)?this.useBPC=e.BPC:this.useBPC=e.BPC===!0,this._BPCAutoEnable=!0,this.usesBPC=!1,this.usesAdaptation=!1,this._expandRGBStages=!0,this._RGBMatrixWhiteAdadaptation=!1,this.clipRGBinPipeline=e.clipRGBinPipeline===!0,this.pipeline=[],this.pipelineHistory=[],this.pipelineCreated=!1,this.debugHistory=[],this.debugHistoryDecimals=6,this.lut=!1,this.inputProfile=null,this.outputProfile=null,this.chain=[],this.customStages=!1,this._workerKey=null,this._multicoreSafe=void 0,this._kernelClaim=null,this.inputChannels=0,this.outputChannels=0}static registerKernel(e){var t=i.MAX_KERNEL_DIMENSIONS,a=e?e.dimensions:void 0,A,r;typeof a=="string"&&a.toLowerCase()==="nd"?(A=5,r=t):Array.isArray(a)&&a.length===2&&typeof a[0]=="number"&&typeof a[1]=="number"?(A=a[0],r=a[1]):typeof a=="number"?A=r=a:A=r=NaN;var n=e&&isFinite(A)&&isFinite(r)&&A===Math.floor(A)&&r===Math.floor(r)&&A>=0&&r<=t&&A<=r;if(!n)throw new Error("Transform.registerKernel: descriptor.dimensions must be 0-"+t+", or [from, to] within that range");for(var o=A;o<=r;o++)i.kernels[o]=e}_releaseKernel(){if(this.kernel&&typeof this.kernel.release=="function")try{this.kernel.release()}catch{}this.kernel=null}_kernelOpts(){return{transform:this,lutMode:this.lutMode,dataFormat:this.dataFormat,verbose:this.verbose,wasmMatrixShaper:this.wasmMatrixShaper,pixelCache:this.pixelCache,pixelCacheActive:typeof this.pixelCache=="number"&&this.pixelCache>0,kernelOptions:this.kernelOptions||null}}_initKernel(){this._kernelClaim=null,this.pixelCache=this._pixelCacheRequested;var e=this.kernel;if(!(!e||typeof e.init!="function")){var t;try{t=e.init(this.pipeline,this._kernelOpts())}catch(a){i._warnedKernelInit||(i._warnedKernelInit=!0,console.warn('jsColorEngine: kernel "'+(e.name||"?")+'" threw from init() and was ignored \u2014 the dimension kept its default path. This is a bug in that kernel: '+a));return}if(t){if(t.pixelCache!==void 0&&(this.pixelCache=t.pixelCache),t.pipeline&&t.pipeline!==this.pipeline&&(this.pipeline=t.pipeline,this.optimisePipeline(),this.validateOnCreate&&!this.validatePipeline()))throw new Error('jsColorEngine: a kernel rewrote the pipeline and it no longer validates. See kernel "'+e.name+'".');this._kernelClaim=t.meta&&t.meta.claimed?t.meta:null,this.verbose&&this._kernelClaim&&console.log('Kernel "'+this._kernelClaim.name+'" took this transform'),t.kernel&&(this.kernel=t.kernel)}}}_applyPixelCache(){if(this.pixelCacheUsed=0,!(typeof this.pixelCache!="number"||this.pixelCache<=0)&&this.injectPixelCacheStages()){var e=this._pixelCacheData;this.pixelCacheUsed=!e||e.slots===0?1:e.slots,this.verifyPipeline()}}kernelInfo(){if(!this.kernel)return null;var e=typeof this.kernel.info=="function"?this.kernel.info():{name:this.kernel.name||"kernel"+(Array.isArray(this.kernel.dimensions)?"ND":this.kernel.dimensions+"D"),dimensions:this.kernel.dimensions,claimed:!1};if(e.lutMode=this.lutMode,e.hasLut=this.lut!==!1&&!!this.lut,e.cache==null){var t=e.dimensions;this.kernel&&this.kernel.inKernelCache?e.cache=1:this.pixelCacheUsed?e.cache=this.pixelCacheUsed:e.cache=t>=3&&t<=6?"off":"not-supported"}return e}setKernel(e){var t=i.kernels[e];if(!t){this.kernel=null;return}var a=Object.create(t);a.transform=this,a._variant=null,a.arrayFn=null,a.arrayFnBig=null,a.arrayFnSml=null,a.threshold=0,a.arrayFnBigName=null,a.arrayFnSmlName=null,a.claimed=!1,a.enableForArrays=!1,a._matrixShaper=null,a.wasmTetra3D=null,a.wasmTetra3DSimd=null,a.wasmTetra3DInt16=null,a.wasmTetra3DInt16Simd=null,a.wasmTetra4D=null,a.wasmTetra4DSimd=null,a.wasmTetra4DInt16=null,a.wasmTetra4DInt16Simd=null,a.wasmTetra5D=null,a.wasmTetra6D=null,this.kernel=a}_enableKernelForArrays(){var e=this.kernel;if(e){var t=this.dataFormat==="object"||this.dataFormat==="objectFloat";e.enableForArrays=this.isIdentity||!t&&(e.claimed===!0||!!this.lut&&(this.dataFormat==="int8"||this.dataFormat==="int16"))}}getLut(e){var t;if(e===void 0||e===!1)t=this.lut.CLUT;else{var a=Math.pow(10,e);t=this.lut.CLUT.map(function(r){return Math.round(r*a)/a})}var A=this.cloneLut([]);return A.CLUT=t,A.precision=null,A.inputScale=1,A.outputScale=1,A}getLut16(){for(var e=new Uint16Array(this.lut.CLUT.length),t=0;t<this.lut.CLUT.length;t++)e[t]=this.lut.CLUT[t]*65535;var a=this.cloneLut(_r(e),"base64");return a.precision=16,a.inputScale=1,a.outputScale=1/65535,a}getLut8(){for(var e=new Uint8Array(this.lut.CLUT.length),t=0;t<this.lut.CLUT.length;t++)e[t]=Math.round(this.lut.CLUT[t]*255);var a=this.cloneLut(pr(e),"base64");return a.precision=8,a.inputScale=1,a.outputScale=1/255,a}setLut(e,t){if(this.lut=e,!Array.isArray(e.chain)||e.chain.length<3||e.chain.length%2===0)throw"Invalid LUT - chain must be [profile, intent, profile, ...] with odd length >= 3";for(var a=[],A=0;A<e.chain.length;A++){var r=e.chain[A];if(A%2===0)if(r&&typeof r=="object"&&r.hasOwnProperty("header"))a.push(r);else if(r&&typeof r=="object"&&r.hasOwnProperty("profile"))a.push(r.profile);else throw"Invalid LUT - chain["+A+"] is not a profile descriptor";else if(typeof r=="number")a.push(r);else if(r&&typeof r=="object"&&r.hasOwnProperty("intent"))a.push(r.intent);else throw"Invalid LUT - chain["+A+"] is not an intent"}e.chain=a,this.chain=a;var n=a[0],o=a[a.length-2],g=a[a.length-1];wr(this.lut);var s=i._plugins[this.lutMode];if(s&&s.deserializer&&(this.lut=s.deserializer(this.lut)),t&&t.verify===!0&&this.lut.originalSignature){var h=mt(this.lut);if(h!==this.lut.originalSignature)throw"Transform.setLut: signature mismatch \u2014 LUT has been mutated since it was stamped. Expected "+this.lut.originalSignature+", got "+h+". See `lut.meta.adjustments` for the edit history (if recorded)."}this.builtLut=!0,this.lutModeRequested==="auto"&&(this.dataFormat==="int8"?this.lutMode="int-wasm-simd":this.dataFormat==="int16"?this.lutMode="int16-wasm-simd":this.lutMode="float"),this.create(n,g,o)}toJSON(e){if(!this.lut||!this.lut.CLUT)throw this._buildLutRequested&&this.preferMatrixShaperOverLUT?'Transform.toJSON: no LUT to serialise \u2014 `wasmMatrixShaper: "prefer"` took this transform, so no CLUT was built even though `buildLut: true` was requested. The matrix-shaper kernel is not a LUT and has nothing to export. Drop to `wasmMatrixShaper: "auto"` (the default) if you need the CLUT for toJSON(); the kernel still runs wherever there is no LUT to displace.':"Transform.toJSON: no LUT to serialise. Construct the Transform with `buildLut: true` so a LUT is built during create(), or call setLut() to install one. Auto-building on demand is intentionally not supported \u2014 it would silently swap the f64 pipeline (lossless) for a grid-sampled LUT path (~0.06 \u0394E76 grid error).";var t=yr(this.lut,e),a=i._plugins[this.lutMode];return a&&a.serializer&&(t=a.serializer(t,this.lut)),t}verifyLut(){return this.lut?i.verifyLut(this.lut):null}registeredMeta(){var e=i._plugins[this.lutMode];return!e||!e.meta?null:typeof e.meta=="function"?e.meta.call(this):e.meta}signLut(){return this.lut?mt(this.lut):null}addLutInputHook(e,t){if(typeof e!="function")throw"addLutInputHook: fn must be a function";return t==="before"?this._lutInputHooks.unshift(e):this._lutInputHooks.push(e),this}addLutOutputHook(e,t){if(typeof e!="function")throw"addLutOutputHook: fn must be a function";return t==="before"?this._lutOutputHooks.unshift(e):this._lutOutputHooks.push(e),this}clearLutHooks(){return this._lutInputHooks.length=0,this._lutOutputHooks.length=0,this}use(e,t){var a=Object.assign({},this._originalOptions,t),A,r;if(typeof e=="string"){if(r=e,A=i._behaviours[r],!A)throw new Error('Transform.use: no behaviour registered as "'+r+'"')}else if(e&&typeof e.apply=="function")A=e,r=A.name||null;else throw new Error("Transform.use: argument must be a behaviour descriptor or a registered name");return r&&!this.plugin[r]&&(this.plugin[r]=Object.create(null)),A.initialise&&A.initialise(this,a),A.apply(this,a),this}_applyLutHooks(e,t,a){for(var A=0;A<e.length;A++)t=e[A](t,a);return t}cloneLut(e,t){return JSON.parse(JSON.stringify(this.lut,function(a,A){return a==="CLUT"?e:a==="encoding"&&t!==void 0?t:A}))}create(e,t,a,A){return this.createMultiStage([e,a,t],A)}createMultiStage(e,t){if(t=t||[],this.pipelineCreated)throw"This Transform already has a pipeline. Build a new Transform for a new conversion \u2014 re-creating would reuse the existing LUT and silently produce the old colour space. To deliberately rebuild this one, call transform.clear() first.";if(this._workerKey){var a=this._workerKey;this._workerKey=null;try{fe.forgetEverywhere(a)}catch{}}if(this._multicoreSafe=void 0,this._kernelClaim=null,!Array.isArray(e))throw"Invalid profileChain, must be an array";var A,r,n=e.length-1,o=1,g=1;for(r=0;r<e.length;r++)if(r%2===0){if(A=e[r],typeof A=="string")if(A.substring(0,1)==="*")e[r]=new Ge(A);else throw"Profile "+o+' is a string. Virtual profiles must be prefixed with "*"';o++}this.inputProfile=null,this.outputProfile=null,this.usesBPC=!1,this.usesAdaptation=!1;var s=e.length>0&&e[0]instanceof Ge&&e[0].loaded&&e[0].header.pClass==="link";if(s){for(r=1;r<e.length;r++)if(e[r]!==void 0&&e[r]!==null)throw"DeviceLink profiles are a complete device-to-device transform \u2014 pass the DeviceLink profile alone to create()";e.length=1,n=0}if(this.lut===!1){if(!Array.isArray(e))throw"Invalid profileChain, must be an array";if(!s&&e.length<3)throw"Invalid profileChain, must have at least 3 items [profile, intent, profile]";for(o=1,g=1,r=0;r<e.length;r++)if(A=e[r],r%2===0){if(!(A instanceof Ge))throw"Profile "+o+" in chain is not a Profile";if(!A.loaded)throw"Profile "+o+" in chain is not loaded";o++}else{if(typeof A!="number")throw"Intent "+g+" in chain is not a number";if(!(A===oe.absolute||A===oe.perceptual||A===oe.relative||A===oe.saturation))throw"Intent "+g+" in chain is not a valid intent";g++}if(!(e[0]instanceof Ge))throw"First step in chain is not a Profile";if(!(e[n]instanceof Ge))throw"Last step in chain is not a Profile"}else if(!this.lut||this.lut.CLUT===void 0||this.lut.CLUT===null)throw"Invalid LUT";if(this.chain=e,this.inputProfile=e[0],this.outputProfile=e[n],s?(this.inputChannels=this.inputProfile.deviceLinkInputChannels,this.outputChannels=this.inputProfile.outputChannels):(this.inputChannels=this.getProfileChannels(this.inputProfile),this.outputChannels=this.getProfileChannels(this.outputProfile)),this.customStages=t,this.isIdentity=!1,this.detectIdentity&&this.lut===!1&&!s){this._collapseIdentityChain(e),e.length<=1&&(this.isIdentity=!0);var h=e.length-1;this.inputProfile=e[0]||this.inputProfile,this.outputProfile=e[h]||this.outputProfile,this.inputChannels=this.getProfileChannels(this.inputProfile),this.outputChannels=this.getProfileChannels(this.outputProfile),this.chain=e}if(this.inputDimension=this.isIdentity?0:this.inputChannels,this.setKernel(this.inputDimension),this.isIdentity){this._initKernel(),this._applyPixelCache(),this.pipelineCreated=this.pipeline.length>0,this._enableKernelForArrays();return}var l=!1;if(this.builtLut||this.lut!==!1){if(this.lut===!1){if(this.createPipeline(e,!1,!1,!1),this.verbose&&(this.optimise?console.log(this.optimiseInfo()):console.log(this.getStageNames(!1,!1)),console.log("Temp Pipeline Created, Building LUT ....")),this.pipelineCreated=!0,this.validateOnCreate&&!this.validatePipeline("device"))throw new Error("jsColorEngine: pipeline validation failed (validateOnCreate). A mid-grey test colour produced NaN, undefined, or wrong output type. Check profile integrity or disable with validateOnCreate:false.");if(typeof this.kernel.provideLut=="function"){var u=this.kernel.provideLut(this.lutMode);u===!1?(l=!0,this.builtLut=!1,this.lut=!1,this.verbose&&console.log('Kernel "'+this.kernel.name+'" declined the CLUT; none built')):u!=null&&(l=!0,this.builtLut=!0,this.lut=u,this.verbose&&console.log('Kernel "'+this.kernel.name+'" provided a custom LUT'))}var c=i._plugins[this.lutMode];l||(this.lut=c&&c.builder?c.builder(this):this.createLut())}if(l)this.createPipeline(e,this.convertInputOutput,this.convertInputOutput,!1),this.lut=!1;else{var _=this.interpolation3D,Q=this.interpolation4D;this.interpolation3D=this.LUTinterpolation3D,this.interpolation4D=this.LUTinterpolation4D,this.createPipeline(e,this.convertInputOutput,this.convertInputOutput,!0),this.interpolation3D=_,this.interpolation4D=Q}}else this.createPipeline(e,this.convertInputOutput,this.convertInputOutput,!1),this.lut=!1;if(this.pipelineCreated=!0,this.validateOnCreate&&!this.builtLut&&!this.validatePipeline())throw new Error("jsColorEngine: pipeline validation failed (validateOnCreate). A mid-grey test colour produced NaN, undefined, or wrong output type. Check profile integrity or disable with validateOnCreate:false.");(this.lutMode==="int"||this.lutMode==="int16"||this.lutMode==="int-wasm-scalar"||this.lutMode==="int-wasm-simd"||this.lutMode==="int16-wasm-scalar"||this.lutMode==="int16-wasm-simd")&&this.lut&&(this.dataFormat==="int8"||this.dataFormat==="int16")&&this.buildIntLut(this.lut),this.lutGamutMode!=="none"&&(this.gamutTransforms={},this.gamutColorDevice=[]),this._initKernel(),this._applyPixelCache(),this.kernel&&(this.lutMode=this.kernel.create(this.lutMode)),this._enableKernelForArrays(),this._propagateWasmMemorySettings();var I=this.lutMode;if(this._expectsU16=I==="int16"||I==="int16-wasm-scalar"||I==="int16-wasm-simd",this._isIntegerMode=I==="int"||I==="int16"||I==="int-wasm-scalar"||I==="int-wasm-simd"||I==="int16-wasm-scalar"||I==="int16-wasm-simd",this._isIntegerMode&&this.lut&&this.lut.intLut&&!this.isIntLutCompatible(this.lut.intLut))throw new Error("jsColorEngine: intLut format tag incompatible with this version. Got {version:"+this.lut.intLut.version+", dataType:"+JSON.stringify(this.lut.intLut.dataType)+", scale:"+this.lut.intLut.scale+", gpsPrecisionBits:"+this.lut.intLut.gpsPrecisionBits+", accWidth:"+this.lut.intLut.accWidth+'}. Rebuild the Transform via create() or set lutMode:"float".');this.verbose&&(this.optimise?console.log(this.optimiseInfo()):console.log(this.getStageNames(!1,!1)))}_propagateWasmMemorySettings(){for(var e=[this.wasmTetra3D,this.wasmTetra3DSimd,this.wasmTetra3DInt16,this.wasmTetra3DInt16Simd,this.wasmTetra4D,this.wasmTetra4DSimd,this.wasmTetra4DInt16,this.wasmTetra4DInt16Simd,this.wasmTetra5D,this.wasmTetra6D],t=this._wasmShrinkRatio,a=this._wasmMaxMemory,A=0;A<e.length;A++)e[A]&&(e[A].shrinkRatio=t,e[A].maxMemory=a)}setWasmShrinkRatio(e){this._wasmShrinkRatio=e||0,this._propagateWasmMemorySettings()}setWasmMaxMemory(e){this._wasmMaxMemory=e||0,this._propagateWasmMemorySettings()}_postRunWasmCheck(){Sr.compactIfNeeded(this,this._wasmMaxMemory,this._wasmShrinkRatio)}compactWasmMemory(){for(var e=[this.wasmTetra3D,this.wasmTetra3DSimd,this.wasmTetra3DInt16,this.wasmTetra3DInt16Simd,this.wasmTetra4D,this.wasmTetra4DSimd,this.wasmTetra4DInt16,this.wasmTetra4DInt16Simd,this.wasmTetra5D,this.wasmTetra6D],t=0;t<e.length;t++)e[t]&&e[t].compact()}getOptions(){var e={dataFormat:this.dataFormat,buildLut:this.builtLut===!0,lutMode:this.lutMode,lutModeRequested:this.lutModeRequested,lutGridPoints:this.lutGridPoints,BPC:this.BPC,interpolation:this.interpolation,interpolationFast:this.interpolationFast,labAdaptation:this.labAdaptation,labInputAdaptation:this.labInputAdaptation,displayChromaticAdaptation:this.displayChromaticAdaptation,lutGamutMode:this.lutGamutMode,lutGamutLimit:this.lutGamutLimit,lutGamutMapScale:this.lutGamutMapScale,lutGamutColor:this.lutGamutColor,pixelCache:this.pixelCacheUsed,roundOutput:this.roundOutput,precision:this.precision,optimise:this.optimise,detectIdentity:this.detectIdentity,clipRGBinPipeline:this.clipRGBinPipeline,useCurveLut:this.useCurveLut,pipelineDebug:this.pipelineDebug,wasmMatrixShaper:this.wasmMatrixShaper,validateOnCreate:this.validateOnCreate,wasmShrinkRatio:this._wasmShrinkRatio,wasmMaxMemory:this._wasmMaxMemory},t=[];return typeof this.gamutDeFn=="function"&&this.gamutDeFn!==me.deltaE1976&&t.push("gamutDeFn"),this._lutInputHooks&&this._lutInputHooks.length&&t.push("lutInputHook"),this._lutOutputHooks&&this._lutOutputHooks.length&&t.push("lutOutputHook"),e.functions=t,e}_multicoreHandoff(e,t){e=e||{},t=t||{inputHasAlpha:e.inputHasAlpha||!1,outputHasAlpha:e.outputHasAlpha||!1,preserveAlpha:e.preserveAlpha||!1};var a=e.multicore!==void 0?e.multicore:this.multicore?this.multicore:i._poolDefault||!1,A={payload:null,signature:null,multicore:a};if(!a)return A;var r=this.getOptions(),n=this._workerKey;return this.lut&&(this._multicoreSafe===void 0&&(this._multicoreSafe=Qh(this,t)),this._multicoreSafe)?(n||(n=this._workerKey=fe.nextKey()),{payload:{mode:"lut",lut:this.lut,lutMode:this.lutMode},signature:n,multicore:a}):Array.isArray(this.chain)&&this.chain.length>=3?r.buildLut&&r.functions.length?(typeof console<"u"&&console.warn&&console.warn("jsColorEngine: transformImages fell back to single-threaded. This Transform has no reusable LUT (its output needs the pipeline), so a worker would have to re-bake it \u2014 but "+r.functions.join(", ")+" cannot cross a worker boundary, so the re-bake would differ. Drop the hook to parallelise."),A):(n||(n=this._workerKey=fe.nextKey()),{payload:{mode:"chain",chain:this.chain,options:r},signature:n,multicore:a}):A}getInfo(){var e={inputChannels:this.inputChannels,outputChannels:this.outputChannels,dataFormat:this.dataFormat,chain:mh(this.chain),options:this.getOptions(),lut:dh(this.lut,this.signLut())};return e}getWorkerInfo(e){var t=this.getInfo(),a={};for(var A in e||{})a[A]=e[A];a.multicore===void 0&&(a.multicore=!0);var r=this._multicoreHandoff(a,null);if(!r||!r.payload)return Promise.resolve({master:t,workers:[],inSync:!0,differences:[]});var n=r.multicore===!0?{}:r.multicore,o;try{o=fe.acquire(n)}catch{o=null}return o?o.workerInfo(r.signature,r.payload).then(function(g){fe.release(o);var s=r.payload.mode,h=[];g.forEach(function(c,_){ka(t,c,"",_,h)});var l=[],u=[];return h.forEach(function(c){var _=vh(s,c.path);_?(c.reason=_,u.push(c)):l.push(c)}),{master:t,workers:g,mode:s,inSync:l.length===0,differences:l,expected:u}},function(g){throw fe.release(o),g}):Promise.resolve({master:t,workers:[],inSync:!0,differences:[]})}transformImages(e,t){var a=this;if(t=t||{},!this.pipelineCreated)throw"No Pipeline";if(!Array.isArray(e)||!e.length)return Promise.resolve({images:[],workersUsed:0,tasks:0});var A={inputHasAlpha:t.inputHasAlpha||!1,outputHasAlpha:t.outputHasAlpha||!1,preserveAlpha:t.preserveAlpha||!1,_preserveStated:t.preserveAlpha!==void 0},r=typeof t.onImage=="function"?t.onImage:null,n=e.map(function(d,R){return d&&d.id!==void 0&&d.id!==null?d.id:"image-"+R}),o;try{o=e.map(function(d,R){return Sh(a,d,A,n[R])})}catch(d){return Promise.reject(d)}var g=new Array(e.length),s=Date.now(),h=function(d,R,E){var v={id:n[d],index:d,pixelCount:o[d].pixelCount,outputChannels:a.outputChannels,ms:Date.now()-s,computeMs:E&&E.computeMs!==void 0?E.computeMs:null,fragments:E&&E.fragments!==void 0?E.fragments:null,cancelled:!!(E&&E.cancelled),source:e[d]};if(g[d]=v,!!r)try{r(d,R,v)}catch(b){typeof console<"u"&&console.warn&&console.warn("jsColorEngine: transformImages onImage callback threw for image "+d+" ("+n[d]+") \u2014 the conversion itself succeeded.",b)}},l=function(){var d=e.map(function(R,E){var v=Date.now(),b=o[E],k=b.flags,w=a.transformArray(b.data,k.inputHasAlpha,k.outputHasAlpha,k.preserveAlpha,b.pixelCount);return h(E,w,{computeMs:Date.now()-v,fragments:1}),w});return Promise.resolve({images:d,imageInfo:g,cancelled:e.map(function(){return!1}),workersUsed:0,tasks:e.length})},u=t.multicore!==void 0?t.multicore:this.multicore?this.multicore:i._poolDefault||!1;if(!u)return l();var c=this._multicoreHandoff(t,A);if(!c.payload)return c.multicore?Mr(this,t,l):l();var _=c.payload,Q=c.signature,I=u===!0?{}:u,B;try{B=fe.acquire(I)}catch{B=null}if(!B)return Mr(this,t,l);for(var m=a.inputChannels+(A.inputHasAlpha?1:0),y=a.outputChannels+(A.outputHasAlpha?1:0),X=a.dataFormat==="int16"?2:1,N=0,L=0;L<e.length;L++)N+=o[L].pixelCount*(o[L].inChannels+o[L].outChannels)*X;fe.enterQueue(N);var T=!0,D=function(){T&&(T=!1,fe.leaveQueue(N))},x=function(d){return D(),d},F=function(d){throw D(),d},q=o.reduce(function(d,R){return d+R.pixelCount},0);if(q<B.opts.parallelFloorPx)return fe.release(B),D(),l();var f=o;return B.start().then(function(){var d=fe.planBatch(f,B.all.length,B.opts),R=function(){return f.map(function(E){return new Uint8ClampedArray(E.pixelCount*E.outChannels)})};return B.run(d,f,R,Q,_,A,h,n).then(function(E){fe.release(B);var v=E.outputs.map(function(b,k){return E.cancelled&&E.cancelled[k]?null:b});return{images:v,imageInfo:g,cancelled:E.cancelled||[],workersUsed:E.workersUsed,tasks:d.length}})}).catch(function(){return fe.release(B),l()}).then(x,F)}releaseWorkers(){fe.destroyAll()}clear(){this.forgetWorkers(),this._workerKey=null,this._multicoreSafe=void 0,this._releaseKernel(),this._kernelClaim=null;try{this.releaseWasmMemory()}catch{}return this.lut=!1,this.builtLut=this._buildLutRequested,this.pipeline=[],this.pipelineCreated=!1,this.pipelineHistory=[],this.debugHistory=[],this}forgetWorkers(){var e=this._multicoreHandoff({multicore:!0},null);return e.signature?fe.forgetEverywhere(e.signature):Promise.resolve(0)}releaseWasmMemory(){Sr.releaseWasmStates(this),this.kernel&&(this.kernel.arrayFnBig=null)}wasmMemoryBytes(){for(var e=0,t=[this.wasmTetra3D,this.wasmTetra3DSimd,this.wasmTetra3DInt16,this.wasmTetra3DInt16Simd,this.wasmTetra4D,this.wasmTetra4DSimd,this.wasmTetra4DInt16,this.wasmTetra4DInt16Simd,this.wasmTetra5D,this.wasmTetra6D],a=0;a<t.length;a++)t[a]&&(e+=t[a].memory.buffer.byteLength);return e}inputLab2Int16(e,t,a){if(!this.lut||!this.lut.inLab)throw"inputLab2Int16: input PCS is not Lab";return me.lab2Int16(e,t,a,this.lut.inLab)}outputLab2Int16(e,t,a){if(!this.lut||!this.lut.outLab)throw"outputLab2Int16: output PCS is not Lab";return me.lab2Int16(e,t,a,this.lut.outLab)}inputInt162Lab(e,t,a){if(!this.lut||!this.lut.inLab)throw"inputInt162Lab: input PCS is not Lab";return me.int162Lab(e,t,a,this.lut.inLab)}outputInt162Lab(e,t,a){if(!this.lut||!this.lut.outLab)throw"outputInt162Lab: output PCS is not Lab";return me.int162Lab(e,t,a,this.lut.outLab)}gamutCheck(e,t,a){let A=this.gamutTransforms.src2Lab.transform(this._gamutDeviceToObj(e,!0)),r=this.gamutTransforms.dest2Lab.transform(this._gamutDeviceToObj(t,!1)),n=this.gamutDeFn(A,r);if(this.lutGamutMode==="map"){let o=Math.min(n/this.lutGamutMapScale,1),g=new Array(a);for(let s=0;s<a;s++)g[s]=o;return g}if(this.lutGamutMode==="colorMap"){let o=Math.min(n/this.lutGamutMapScale,1),g=this.gamutWhiteDevice,s=this.gamutColorDevice,h=new Array(a);for(let l=0;l<a;l++)h[l]=g[l]*(1-o)+s[l]*o;return h}return n>this.lutGamutLimit?this.gamutColorDevice:t}_gamutDeviceToObj(e,t){let a=t?this.inputProfile:this.outputProfile;return a.type===$.Lab?{type:ue.Lab,L:e[0]*100,a:e[1]*255-128,b:e[2]*255-128,whitePoint:kt.d50}:a.type===$.CMYK?{type:ue.CMYK,C:e[0]*100,M:e[1]*100,Y:e[2]*100,K:e[3]*100}:a.type===$.Gray?{type:ue.Gray,G:e[0]*255}:{type:ue.RGB,R:e[0]*255,G:e[1]*255,B:e[2]*255}}createGamutTransforms(){if(!this.inputProfile||!this.outputProfile)return!1;let e=this.inputProfile,t=this.outputProfile;if(!e.loaded||!t.loaded)return!1;let a=new i({dataFormat:"object"});a.create(e,"*lab",oe.relative);let A=new i({dataFormat:"object"});if(A.create(t,"*lab",oe.relative),this.gamutTransforms={src2Lab:a,dest2Lab:A},this.lutGamutMode==="color"||this.lutGamutMode==="colorMap"){let r=new i({dataFormat:"object"});r.create("*lab",t,oe.relative);let n=r.transform(this.lutGamutColor),o=this.getProfileChannels(t);if(o===4?this.gamutColorDevice=[n.C/100,n.M/100,n.Y/100,n.K/100]:o===3?this.gamutColorDevice=[n.R/255,n.G/255,n.B/255]:this.gamutColorDevice=[n.G/255],this.lutGamutMode==="colorMap"){let g=this.Lab(100,0,0),s=r.transform(g);o===4?this.gamutWhiteDevice=[s.C/100,s.M/100,s.Y/100,s.K/100]:o===3?this.gamutWhiteDevice=[s.R/255,s.G/255,s.B/255]:this.gamutWhiteDevice=[s.G/255]}}return!0}createLut(){this.lutGamutMode!=="none"&&(this.verboseTiming&&console.time("create Gamut Check Transforms"),this.createGamutTransforms(),this.verboseTiming&&console.timeEnd("create Gamut Check Transforms")),this.verboseTiming&&console.time("create Prebuilt Lut");var e,t,a,A;switch(this.outputProfile.type){case $.Gray:A=1;break;case $.Duo:A=2;break;case $.Lab:case $.RGBMatrix:case $.RGBLut:A=3;break;case $.CMYK:A=4;break;case $.NChannel:A=this.outputProfile.outputChannels;break;default:throw"Create Lut Invalid output profile type "+this.outputProfile.type}switch(this.inputProfile.type){case $.Gray:a=1,e=this.create1DDeviceLUT(A,this.lutGridPoints3D),t=[this.lutGridPoints3D];break;case $.Duo:a=2,e=this.create2DDeviceLUT(A,this.lutGridPoints3D),t=[this.lutGridPoints3D,this.lutGridPoints3D];break;case $.Lab:case $.RGBMatrix:case $.RGBLut:a=3,e=this.create3DDeviceLUT(A,this.lutGridPoints3D),t=[this.lutGridPoints3D,this.lutGridPoints3D,this.lutGridPoints3D];break;case $.CMYK:a=4,e=this.create4DDeviceLUT(A,this.lutGridPoints4D),t=[this.lutGridPoints4D,this.lutGridPoints4D,this.lutGridPoints4D,this.lutGridPoints4D];break;case $.NChannel:a=this.getProfileChannels(this.inputProfile);var r=this.inputProfile.A2B&&(this.inputProfile.A2B[1]||this.inputProfile.A2B[0]),n=r&&r.gridPoints&&r.gridPoints[0]?r.gridPoints[0]:Ge.gridFor(a);e=this.createNDDeviceLUT(A,n,a),t=[];for(var o=0;o<a;o++)t.push(n);break;default:throw"Create Lut Invalid input profile type "+this.inputProfile.type}this.verboseTiming&&console.timeEnd("create Prebuilt Lut");for(var g=[],s=0;s<this.chain.length;s++)this.chain[s]instanceof Ge?g.push(Q(this.chain[s])):g.push(this.chain[s]);var h=t[0],l=h*(t[1]||0),u=l*(t[2]||0),c=u*(t[3]||0),_=c*(t[4]||0);return{chain:g,version:1,inputChannels:a,outputChannels:A,gridPoints:t,g1:h,g2:l,g3:u,g4:c,g5:_,go0:A,go1:h*A,go2:l*A,go3:u*A,go4:c*A,go5:_*A,CLUT:e,dataType:"f64",encoding:"number",precision:null,outputScale:1,inputScale:1,gamutMode:this.lutGamutMode,gamutLimit:this.lutGamutMode==="color"?this.lutGamutLimit:0,gamutMapScale:this.lutGamutMode==="map"||this.lutGamutMode==="colorMap"?this.lutGamutMapScale:0,inLab:this.inputProfile&&this.inputProfile.type===$.Lab?me.labEncoding[this.inputProfile.version===2?"v2":"v4"]:null,outLab:this.outputProfile&&this.outputProfile.type===$.Lab?me.labEncoding[this.outputProfile.version===2?"v2":"v4"]:null};function Q(I){return{header:I.header,name:I.name,type:I.type,intent:I.intent,whitePoint:I.whitePoint,description:I.description,viewingConditions:I.viewingConditions,mediaWhitePoint:I.mediaWhitePoint,PCSEncode:I.PCSEncode,PCSDecode:I.PCSDecode,PCS8BitScale:I.PCS8BitScale,version:I.version}}}isIntLutCompatible(e){if(!e||e.version!==1||e.dataType!=="u16")return!1;var t=e.scale===65280&&e.gpsPrecisionBits===16,a=e.scale===65535&&e.gpsPrecisionBits===13;return!(!t&&!a||e.accWidth!==16&&e.accWidth!==20)}buildIntLut(e){if(!(!e||!e.CLUT)){var t=e.inputChannels,a=e.outputChannels,A=e.g1,r=t===3&&(a===3||a===4),n=t===4&&(a===3||a===4),o=t===5||t===6;if(!(!r&&!n&&!o)){var g=this.lutMode==="int16"||this.lutMode==="int16-wasm-scalar"||this.lutMode==="int16-wasm-simd";if(!(o&&g)){for(var s=g?65535:65280,h=g?13:16,l=e.CLUT,u=new Uint16Array(l.length),c=0;c<l.length;c++){var _=l[c]*s;_<0?_=0:_>s&&(_=s),u[c]=_+.5|0}var Q=g?0:Math.round((A-1<<16)/255),I=g?Math.round((A-1<<13)/65535):0,B=(A-1)*e.go2,m=(A-1)*e.go1,y=(A-1)*e.go0,X=n||o?(A-1)*e.go3:0,N=o?(A-1)*e.go4:0,L=t===6?(A-1)*e.go5:0;if(e.intLut={version:1,dataType:"u16",scale:s,gpsPrecisionBits:h,accWidth:n||o?g?16:20:16,CLUT:u,gridPointsScale_fixed:Q,gridPointsScale_fixed_u16:I,maxX:B,maxY:m,maxZ:y,maxK:X,inputChannels:t,outputChannels:a,g1:A,go0:e.go0,go1:e.go1,go2:e.go2,go3:n||o?e.go3:0,go4:o&&e.go4||0,go5:t===6&&e.go5||0,maxE:N,maxF:L,gamutMode:e.gamutMode||"none",gamutLimit:e.gamutLimit||0,gamutMapScale:e.gamutMapScale||0},this.verboseTiming){var T=n?"4D":"3D",D=n?"maxX/Y/Z/K="+B+"/"+m+"/"+y+"/"+X:"maxX/Y/Z="+B+"/"+m+"/"+y,x=g?"gps_u13="+I+" (Q0.13)":"gps_u16="+Q+" (Q0.16)";console.log(" lutMode="+this.lutMode+": built u16 mirror ("+T+", scale="+s+") \u2014 "+(u.byteLength/1024).toFixed(1)+" KB ("+(l.byteLength/1024).toFixed(1)+" KB float source), "+x+", "+D)}}}}}create1DDeviceLUT(e,t){var a=new Float64Array(this.outputProfile.outputChannels*t),A=0,r=1/(t-1),n,o,g=0,s=this._lutInputHooks,h=this._lutOutputHooks,l=s.length>0,u=h.length>0;for(n=0;n<t;n++){var c=[n*r];l&&(c=this._applyLutHooks(s,c));var _=this.transform(c);for(u&&(_=this._applyLutHooks(h,_,c)),o=0;o<e;o++)a[A++]=_[o];g++}return a}create2DDeviceLUT(e,t){var a=t*t,A=new Float64Array(this.outputProfile.outputChannels*a),r=0,n=1/(t-1),o,g,s,h,l=0,u=this._lutInputHooks,c=this._lutOutputHooks,_=u.length>0,Q=c.length>0;for(o=0;o<t;o++)for(h=o*n,g=0;g<t;g++){var I=[h,g*n];_&&(I=this._applyLutHooks(u,I));var B=this.transform(I);for(Q&&(B=this._applyLutHooks(c,B,I)),this.lutGamutMode!=="none"&&(B=this.gamutCheck(I,B,e)),s=0;s<e;s++)A[r++]=B[s];l++}return A}create3DDeviceLUT(e,t){var a=t*t*t,A=new Float64Array(this.outputProfile.outputChannels*a),r=0,n=1/(t-1),o,g,s,h,l,u,c=0,_=this._lutInputHooks,Q=this._lutOutputHooks,I=_.length>0,B=Q.length>0;for(o=0;o<t;o++)for(l=o*n,g=0;g<t;g++)for(u=g*n,s=0;s<t;s++){let y=[l,u,s*n];I&&(y=this._applyLutHooks(_,y));var m=this.transform(y);for(B&&(m=this._applyLutHooks(Q,m,y)),this.lutGamutMode!=="none"&&(m=this.gamutCheck(y,m,e)),h=0;h<e;h++)A[r++]=m[h];c++}return this.verbose&&console.log("3D LUT size : "+c+" points @ "+t+" "+t+" "+t),A}create4DDeviceLUT(e,t){var a=t*t*t*t,A=new Float64Array(this.outputProfile.outputChannels*a),r=0,n=1/(t-1),o,g,s,h,l,u,c,_,Q=0,I,B=this._lutInputHooks,m=this._lutOutputHooks,y=B.length>0,X=m.length>0;for(o=0;o<t;o++)for(u=o*n,g=0;g<t;g++)for(c=g*n,s=0;s<t;s++)for(_=s*n,h=0;h<t;h++){let N=[u,c,_,h*n];for(y&&(N=this._applyLutHooks(B,N)),I=this.transform(N),X&&(I=this._applyLutHooks(m,I,N)),this.lutGamutMode!=="none"&&(I=this.gamutCheck(N,I,e)),l=0;l<e;l++)A[r++]=I[l];Q++}return A}createNDDeviceLUT(e,t,a){var A=1,r;for(r=0;r<a;r++)A*=t;var n=new Float64Array(e*A),o=1/(t-1),g=new Array(a);for(r=0;r<a;r++)g[r]=0;for(var s=0,h=this._lutInputHooks,l=this._lutOutputHooks,u=h.length>0,c=l.length>0,_=!1;!_;){var Q=new Array(a);for(r=0;r<a;r++)Q[r]=g[r]*o;u&&(Q=this._applyLutHooks(h,Q));var I=this.transform(Q);c&&(I=this._applyLutHooks(l,I,Q)),this.lutGamutMode!=="none"&&(I=this.gamutCheck(Q,I,e));var B;for(B=0;B<e;B++)n[s++]=I[B];for(r=a-1;r>=0&&(g[r]++,!(g[r]<t));)g[r]=0,r--;r<0&&(_=!0)}return n}transform(e){if(!this.pipelineCreated)throw"No Pipeline";if(this.lut===!1&&e!==null&&typeof e=="object"&&typeof e.length!="number"&&(this.dataFormat==="int8"||this.dataFormat==="int16"||this.dataFormat==="device")&&(this.dataFormat==="device"||this.inputProfile&&this.inputProfile.type!==$.Lab&&this.inputProfile.type!==$.XYZ))throw'transform: this Transform has dataFormat "'+this.dataFormat+'" and no LUT, so it cannot take a colour object \u2014 the pipeline would return NaN. Pass a number array such as [128, 128, 128], or create the Transform with dataFormat "object", or with buildLut:true.';var t=this.pipeline,a=t.length,A,r=e,n,o;if(this.pipelineDebug)for(this.pipelineHistory=[r],this.debugHistory=[],n=0;n<a;n++)o=t[n],A=o.funct.call(this,r,o.stageData,o),o.debugFormat!==""&&this.addDebugHistory(o.debugFormat,o.stageName,r,A),this.pipelineHistory.push(A),r=A;else if(this._pixelCacheData)for(n=0;n<a;)o=t[n],r=o.funct.call(this,r,o.stageData,o),n+=o.step;else for(n=0;n<a;n++)r=t[n].funct.call(this,r,t[n].stageData,t[n]);return r}forward(e){return console.warn("jsColorEngine: forward is deprecated"),this.transform(e)}array(e,t,a,A,r,n){if(!this.pipelineCreated&&!this.lut)throw"No Pipeline";if(A=(A===void 0?a:A)&&t,this.lut&&this.kernel===null&&(this.setKernel(this.lut.inputChannels),this.kernel===null))throw"Invalid inputChannels "+this.lut.inputChannels;if(this.lut&&this._enableKernelForArrays(),this.kernel&&this.kernel.enableForArrays){var o=this.kernel.array(e,n,r,this.lut||null,t,a,A);if(o)return this.lastUsedKernel=this.kernel.name||"kernel",o}if(this._pixelCacheData!==null)return this.lastUsedKernel="cache",this._transformArrayCached(e,t,a,A,r);var g=this.pipeline,s=g.length,h,l,u,c,_=0,Q=0,I,B,m,y;if(this.dataFormat==="object"||this.dataFormat==="objectFloat"){for(r===void 0&&(r=e.length),n=new Array(r),c=0;c<r;c++){for(h=e[c],l=0;l<s;l++)h=g[l].funct.call(this,h,g[l].stageData,g[l]);n[c]=h}return this.lastUsedKernel="pipeline",n}I=this.inputChannels,B=this.outputChannels,m=t?this.inputChannels+1:this.inputChannels,y=this.outputChannels+(A||a?1:0),r===void 0&&(r=Math.floor(e.length/m)),n=n||(this.dataFormat==="int8"?new Uint8ClampedArray(r*y):this.dataFormat==="int16"?new Uint16Array(r*y):new Array(r*y));var X=this.dataFormat==="int16"?65535:255;switch(I){case 1:for(c=0;c<r;c++){for(h=[e[_++]],l=0;l<s;l++)h=g[l].funct.call(this,h,g[l].stageData,g[l]);for(u=0;u<B;u++)n[Q++]=h[u];A?n[Q++]=e[_++]:(t&&_++,a&&(n[Q++]=X))}break;case 2:for(c=0;c<r;c++){for(h=[e[_++],e[_++]],l=0;l<s;l++)h=g[l].funct.call(this,h,g[l].stageData,g[l]);for(u=0;u<B;u++)n[Q++]=h[u];A?n[Q++]=e[_++]:(t&&_++,a&&(n[Q++]=X))}break;case 3:for(c=0;c<r;c++){for(h=[e[_++],e[_++],e[_++]],l=0;l<s;l++)h=g[l].funct.call(this,h,g[l].stageData,g[l]);for(u=0;u<B;u++)n[Q++]=h[u];A?n[Q++]=e[_++]:(t&&_++,a&&(n[Q++]=X))}break;case 4:for(c=0;c<r;c++){for(h=[e[_++],e[_++],e[_++],e[_++]],l=0;l<s;l++)h=g[l].funct.call(this,h,g[l].stageData,g[l]);for(u=0;u<B;u++)n[Q++]=h[u];A?n[Q++]=e[_++]:(t&&_++,a&&(n[Q++]=X))}break;default:for(c=0;c<r;c++){for(h=new Array(I),u=0;u<I;u++)h[u]=e[_++];for(l=0;l<s;l++)h=g[l].funct.call(this,h,g[l].stageData,g[l]);for(u=0;u<B;u++)n[Q++]=h[u];A?n[Q++]=e[_++]:(t&&_++,a&&(n[Q++]=X))}}return this.lastUsedKernel="pipeline",n}static reformat(e,t,a,A){let r={int8:255,int16:65535,float32:1,float64:1,device:1},n={int8:h=>new Uint8ClampedArray(h),int16:h=>new Uint16Array(h),float32:h=>new Float32Array(h),float64:h=>new Float64Array(h),device:h=>new Array(h)};if(!(t in r))throw new Error('Transform.reformat: unknown fromFormat "'+t+'"');if(!(a in r))throw new Error('Transform.reformat: unknown toFormat "'+a+'"');if(A){if(A.length<e.length)throw new Error("Transform.reformat: out is "+A.length+" long, needs "+e.length)}else A=n[a](e.length);if(t===a){if(typeof A.set=="function")A.set(e);else for(var o=0;o<e.length;o++)A[o]=e[o];return A}let g=r[a]/r[t],s=a==="int8"||a==="int16";for(let h=0;h<e.length;h++){let l=e[h]*g;A[h]=s?Math.round(l):l}return A}transformArray(e,t,a,A,r,n,o){var g=n&&n!==this.dataFormat,s=this.array(e,t,a,A,r,g?void 0:o);return g?i.reformat(s,this.dataFormat,n,o):s}transformArrayViaLUT(e,t,a,A,r,n){if(!this.lut)throw"No LUT loaded";return this.array(e,t,a,A,r,n)}intent2LUTIndex(e){var t=[oe.perceptual,oe.relative,oe.saturation,oe.relative];return t[e]}intent2String(e){return["perceptual","relative","saturation","relative"][e]||"unknown "+e}chainInfo(){for(var e=`--------- PROFILE CHAIN ---------
`,t=0;t<this.chain.length;t++)this.chain[t]instanceof Ge?e+="Profile: "+this.chain[t].name+`
`:e+="Intent: "+this.intent2String(this.chain[t])+`
`;return e}historyInfo(){var e=0,t=["--------- PIPELINE HISTORY ---------"],a;for(a=0;a<this.debugHistory.length;a++)this.debugHistory[a].indexOf("|")>e&&(e=this.debugHistory[a].indexOf("|"));for(a=0;a<this.debugHistory.length;a++){var A=this.debugHistory[a].split("|");A.length>1&&(A[0]=(A[0]+" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .").substring(0,e)+" ",A[1]=A[1].trim()),t.push(A.join(""))}return t.join(`
`)}optimiseInfo=function(){return this.optimiseDebug.join(`
`)};debugInfo(){return this.chainInfo()+`
`+this.optimiseInfo()+`
`+this.getStageNames(!0,!1)+(this.pipelineDebug?`
`+this.historyInfo():"")}getStageNames(e,t){for(var a=[],A,r=0;r<this.pipeline.length;r++)e&&this.pipeline[r].inputEncoding!==!1?A=ce[this.pipeline[r].inputEncoding]+" > "+this.pipeline[r].stageName+" > "+ce[this.pipeline[r].outputEncoding]:A=this.pipeline[r].stageName,t&&(A+=" "+this.pipeline[r].debugFormat),a.push(r+": "+A);return a.join(`
`)}createPipeline(e,t,a,A){this.pipeline=[],this._pixelCacheData=null;var r=e.length-1,n={pcsEncoding:null};if(this.pipelineDebug&&this.addStage(!1,"Start",this.stage_debug,"[PipeLine Input]| {data}",!1),t&&this.dataFormat!=="device"?(A||this.insertCustomStage("beforeInput2Device",n,!1),this.createPipeline_Input_to_Device(n,e[0])):n.pcsEncoding=this.getInput2DevicePCSInfo(e[0]),A){if(this.lut===!1)throw"No LUT";if(!Array.isArray(this.lut.chain))throw"LUT has no profile chain";if(this.lut.chain.length<1)throw"LUT chain is too short";var o=this.lut.chain[0],g=this.lut.chain[this.lut.chain.length-1];if(!(o.hasOwnProperty("header")&&o.hasOwnProperty("name")))throw"LUT Chain does not start with a profile";if(!(g.hasOwnProperty("header")&&g.hasOwnProperty("name")))throw"LUT Chain does not end with a profile";this.createPipeline_Device_to_Device_via_LUT(n,o,g)}else{var s=0;e.length===1&&e[0].header.pClass==="link"&&this.createPipeline_DeviceLink(n,e[0]);for(var h=0;h<e.length-1;h+=2){var l={inputProfile:e[h],intent:e[h+1],outputProfile:e[h+2]};if(this.insertCustomStage("beforeDevice2PCS",n,s),this.createPipeline_Device_to_PCS(n,l.inputProfile,l.outputProfile,l.intent),this.insertCustomStage("afterDevice2PCS",n,s),n.pcsEncoding===K.PCSXYZ||n.pcsEncoding===K.PCSv4||n.pcsEncoding===K.PCSv2){var u;if(Array.isArray(this.useBPC)?u=this.useBPC[s]:u=this.useBPC,this._BPCAutoEnable)switch(l.intent){case oe.saturation:case oe.perceptual:(l.inputProfile.version===4||l.outputProfile.version===4)&&(u=!0),this.isGreyTRCwithNOLUT(l.inputProfile,l.intent)&&(u=!0);break;case oe.absolute:u=!1}u&&this.createPipeline_BlackPointCompensation(n,l.inputProfile,l.outputProfile,l.intent),this.insertCustomStage("PCS",n,s),this.createPipeline_chromaticAdaptation(n,l.inputProfile,l.outputProfile,l.intent)}this.insertCustomStage("beforePCS2Device",n,s),this.createPipeline_PCS_to_Device(n,l.inputProfile,l.outputProfile,l.intent),this.insertCustomStage("afterPCS2Device",n,s),s++}}var c=this.pipeline.length;a&&this.dataFormat!=="device"&&(this.createPipeline_Device_to_Output(n,e[r]),A||this.insertCustomStage("afterDevice2Output",n,!1)),this.pixelCache&&(this._pcOutputFirst=c<this.pipeline.length?this.pipeline[c]:null),this.pipelineDebug&&this.addStage(!1,"END",this.stage_debug,"[PipeLine Output]| {data}",!1),this.optimise&&this.optimisePipeline(),this.verifyPipeline()}verifyPipeline(){for(var e=this.pipeline.length-1,t=0;t<e;t++)if(this.pipeline[t].outputEncoding!==!1&&this.pipeline[t+1].inputEncoding!==!1){if(typeof this.pipeline[t].funct!="function")throw"No Function on stage @ "+t+" "+this.pipeline[t].stageName;if(this.pipeline[t].outputEncoding!==this.pipeline[t+1].inputEncoding)throw console.log(this.getStageNames(!0,!0)),"Incompatible Stages @ Stage "+t+" ("+this.pipeline[t].stageName+" "+ce[this.pipeline[t].outputEncoding]+" > "+ce[this.pipeline[t+1].inputEncoding]+" "+this.pipeline[t+1].stageName+")"}}optimisePipeline(){for(var e=this,t=!0,a=this.pipeline.length,A=this.getStageNames(),r=["linearInterp1D","bilinearInterp2D","trilinearInterp3D","tetrahedralInterp3D","trilinearInterp4D","tetrahedralInterp4D","tetrahedralInterpND"];t===!0;){t=!1,t|=this.optimiseFindPattern("stage_null",!1,function(s,h,l){return l.outputEncoding=h.inputEncoding,l.stageName+=" >> ALIAS "+ce[h.inputEncoding],l.optimised=!0,[h]}),t|=this.optimiseFindPattern("stage_LabD50_to_PCSv4","stage_PCSv4_to_LabD50",function(){return[]}),t|=this.optimiseFindPattern("stage_PCSv4_to_LabD50","stage_LabD50_to_PCSv4",function(){return[]}),t|=this.optimiseFindPattern("stage_PCSv2_to_PCSv4","stage_PCSv4_to_PCSv2",function(){return[]}),t|=this.optimiseFindPattern("stage_PCSv4_to_PCSv2","stage_PCSv2_to_PCSv4",function(){return[]}),t|=this.optimiseFindPattern("stage_PCSXYZ_to_PCSv4","stage_PCSv4_to_PCSXYZ",function(){return[]}),t|=this.optimiseFindPattern("stage_PCSXYZ_to_PCSv4","stage_PCSv4_to_PCSv2",function(s,h){return[e.createStage(s.inputEncoding,"stage_PCSXYZ_to_PCSv2",e.stage_PCSXYZ_to_PCSv2,null,h.outputEncoding," *[optimised : {name}]|({last}) > ({data})",!0)]}),t|=this.optimiseFindPattern("stage_LabD50_to_PCSv4","stage_PCSv4_to_PCSXYZ",function(s,h){return[e.createStage(s.inputEncoding,"stage_LabD50_to_PCSXYZ",e.stage_LabD50_to_PCSXYZ,null,h.outputEncoding," *[optimised : {name}]|({last}) > ({data})",!0)]}),t|=this.optimiseFindPattern("stage_PCSv2_to_PCSv4","stage_PCSv4_to_cmsLab",function(s,h){return[e.createStage(s.inputEncoding,"stage_PCSv2_to_cmsLab",e.stage_PCSv2_to_cmsLab,null,h.outputEncoding," *[optimised : {name}]|({last}) > ({data})",!0)]}),t|=this.optimiseFindPattern("stage_LabD50_to_PCSv2","stage_PCSv2_to_PCSv4",function(s,h){return[e.createStage(s.inputEncoding,"stage_LabD50_to_PCSv4",e.stage_LabD50_to_PCSv4,null,h.outputEncoding," *[optimised : {name}]|({last}) > ({data})",!0)]}),t|=this.optimiseFindPattern("stage_LabD50_to_PCSv4","stage_PCSv4_to_PCSv2",function(s,h){return[e.createStage(s.inputEncoding,"stage_LabD50_to_PCSv2",e.stage_LabD50_to_PCSv2,null,h.outputEncoding," *[optimised : {name}]|({last}) > ({data})",!0)]}),t|=this.optimiseFindPattern("stage_LabD50_to_PCSv4","stage_PCSv4_to_cmsLab",function(s,h){return[e.createStage(s.inputEncoding,"stage_LabD50_to_cmsLab",e.stage_LabD50_to_cmsLab,null,h.outputEncoding," *[optimised : {name}]|({last}) > ({data})",!0)]}),t|=this.optimiseFindPattern("stage_LabD50_to_PCSv2","stage_PCSv2_to_cmsLab",function(s,h){return[e.createStage(s.inputEncoding,"stage_LabD50_to_cmsLab",e.stage_LabD50_to_cmsLab,null,h.outputEncoding," *[optimised : {name}]|({last}) > ({data})",!0)]}),t|=this.optimiseFindPattern("stage_matrix_rgb","stage_matrix_rgb",function(s,h){var l=s.stageData,u=h.stageData,c=me.multiplyMatrices(u,l);return[e.createStage(s.inputEncoding,"stage_matrix_rgb",e.stage_matrix_rgb,c,h.outputEncoding," *[optimised : {name}]|({last}) > ({data})",!0)]});for(var n=0;n<r.length;n++){var o=r[n],g=function(s,h){var l=h.stageData,u=s.stageData;return l.inputScale=1/u,[e.createStage(s.inputEncoding,o,h.funct,l,h.outputEncoding," *[optimised : {name}]|({last}) > ({data})",!0)]};t|=this.optimiseFindPattern("stage_Int_to_Device",o,g),t|=this.optimiseFindPattern("stage_IntN_to_Device",o,g),t|=this.optimiseFindPattern(o,"stage_device_to_int",function(s,h){var l=s.stageData,u=h.stageData;l.outputScale=l.outputScale*u,l.outputScale>.99&&l.outputScale<1.01&&(l.outputScale=1);var c="stage_device"+l.outputChannels+"_to_int";return typeof e[c]!="function"&&(c="stage_deviceN_to_int"),[e.createStage(s.inputEncoding,o,s.funct,l,h.outputEncoding," *[optimised : {name}]|({last}) > ({data})",!0),e.createStage(h.outputEncoding,c,e[c],1,h.outputEncoding," *[optimised : {name}]|({last}) > ({data})",!0)]})}}this.optimiseDebug=["==========================================================================================","** OPTIMISED PIPELINE - REMOVED "+(a-this.pipeline.length)+" STAGES **",`BEFORE OPTIMISE
`+A,"------------------------------------------------------------------------------------------",`AFTER OPTIMISE
`+this.getStageNames(),"=========================================================================================="]}optimiseFindPattern(e,t,a){for(var A=0;A<this.pipeline.length-1;A++)if(this.pipeline[A].stageName===e&&(this.pipeline[A+1].stageName===t||t===!1)){var r=A>1?this.pipeline[A-1]:!1,n=this.pipeline[A+1],o=a(this.pipeline[A],n,r),g=this.pipeline.slice(0,A),s=this.pipeline.slice(A+2);return this.pipeline=g.concat(o,s),!0}return!1}createPipeline_Device_to_Device_via_LUT(e,t,a){if(!this.lut)throw"No LUT";switch(this.lut.inputChannels){case 1:this.addStageLUT(!1,this.getInput2DevicePCSInfo(t),this.lut,this.getDevice2OutputPCSInfo(a)," [Prebuilt LUT1D : {name}]|({last}) > ({data})");break;case 2:this.addStageLUT(!1,this.getInput2DevicePCSInfo(t),this.lut,this.getDevice2OutputPCSInfo(a)," [Prebuilt LUT2D : {name}]|({last}) > ({data})");break;case 3:this.addStageLUT(!1,this.getInput2DevicePCSInfo(t),this.lut,this.getDevice2OutputPCSInfo(a)," [Prebuilt LUT3D : {name}]|({last}) > ({data})");break;case 4:this.addStageLUT(!1,this.getInput2DevicePCSInfo(t),this.lut,this.getDevice2OutputPCSInfo(a)," [Prebuilt LUT4D : {name}]|({last}) > ({data})");break;case 5:case 6:this.addStageLUT(!1,this.getInput2DevicePCSInfo(t),this.lut,this.getDevice2OutputPCSInfo(a)," [Prebuilt LUT"+this.lut.inputChannels+"D : {name}]|({last}) > ({data})");break;default:throw"Can not use Prebuilt LUT - Unknown LUT inputChannels "+this.lut.inputChannels}e.pcsEncoding=this.getDevice2OutputPCSInfo(a)}createPipeline_Input_to_Device(e,t){switch(t.type){case $.XYZ:this.addStage(K.cmsXYZ,"stage_XYZ_to_PCSXYZ",this.stage_XYZ_to_PCSXYZ,null,K.PCSXYZ," [Input2Device : XYZ : {name}]|({last}) > ({data})"),e.pcsEncoding=K.PCSXYZ;break;case $.Lab:if(this.dataFormat==="int8"||this.dataFormat==="int16"||this.dataFormat==="device"){var a=me.labEncoding[this.inputProfile.version===2?"v2":"v4"],A=this.dataFormat==="int8"?255:this.dataFormat==="int16"?a.labNumerator:1;this.addStage(K.cmsLab,"stage_Int_to_cmsLab",this.stage_Int_to_cmsLab,{mul:a.labNumerator/A,enc:a},K.cmsLab," [Input2Device : Lab : {name}]|({last}) > ({data})")}this.labInputAdaptation?(this.addStage(K.cmsLab,"stage_cmsLab_to_LabD50",this.stage_cmsLab_to_LabD50,null,K.LabD50," [Input2Device : Lab : {name}]| ({last}) > ({data})"),this.addStage(K.LabD50,"stage_LabD50_to_PCSv4",this.stage_LabD50_to_PCSv4,null,K.PCSv4," [Input2Device : Lab : {name}]|({last}) > ({data})")):this.addStage(K.cmsLab,"stage_LabD50_to_PCSv4",this.stage_LabD50_to_PCSv4,null,K.PCSv4," [Input2Device : Lab : {name}]|({last}) > ({data})"),e.pcsEncoding=K.PCSv4;break;case $.RGBMatrix:switch(e.pcsEncoding=K.device,this.dataFormat){case"object":case"objectFloat":this.addStage(K.cmsLab,"stage_RGB_to_Device",this.stage_RGB_to_Device,null,e.pcsEncoding," [Input2Device : RGBMatrix : {name}]|({last}) > ({data})");break;case"int8":this.addStage(K.cmsLab,"stage_Int_to_Device",this.stage_Int_to_Device,255,e.pcsEncoding," [int8 to Device : RGBMatrix : {name}]|({last}) > ({data})");break;case"int16":this.addStage(K.cmsLab,"stage_Int_to_Device",this.stage_Int_to_Device,65535,e.pcsEncoding," [int16 to Device : RGBMatrix : {name}]|({last}) > ({data})");break}break;case $.Gray:switch(e.pcsEncoding=K.device,this.dataFormat){case"object":case"objectFloat":this.addStage(K.cmsRGB,"stage_Gray_to_Device",this.stage_Gray_to_Device,null,e.pcsEncoding," [Input2Device : Gray : {name}]|({last}) > ({data})");break;case"int8":this.addStage(K.cmsLab,"stage_Int_to_Device",this.stage_Int_to_Device,255,e.pcsEncoding," [in8 2Device : Gray : {name}]|({last}) > ({data})");break;case"int16":this.addStage(K.cmsLab,"stage_Int_to_Device",this.stage_Int_to_Device,65535,e.pcsEncoding," [in16 2Device : Gray : {name}]|({last}) > ({data})");break}break;case $.Duo:switch(e.pcsEncoding=K.device,this.dataFormat){case"object":case"objectFloat":this.addStage(K.cmsRGB,"stage_Duo_to_Device",this.stage_Duo_to_Device,null,e.pcsEncoding," [Input2Device : Duo : {name}]|({last}) > ({data})");break;case"int8":this.addStage(K.cmsLab,"stage_Int_to_Device",this.stage_Int_to_Device,255,e.pcsEncoding," [in8 2Device : Duo : {name}]|({last}) > ({data})");break;case"int16":this.addStage(K.cmsLab,"stage_Int_to_Device",this.stage_Int_to_Device,65535,e.pcsEncoding," [in16 2Device : Duo : {name}]|({last}) > ({data})");break}break;case $.RGBLut:switch(e.pcsEncoding=K.device,this.dataFormat){case"object":case"objectFloat":this.addStage(K.cmsRGB,"stage_RGB_to_Device",this.stage_RGB_to_Device,null,e.pcsEncoding," [Input2Device : RGBLut : {name}]|({last}) > ({data})");break;case"int8":this.addStage(K.cmsLab,"stage_Int_to_Device",this.stage_Int_to_Device,255,e.pcsEncoding," [in8 2Device : RGBLut : {name}]|({last}) > ({data})");break;case"int16":this.addStage(K.cmsLab,"stage_Int_to_Device",this.stage_Int_to_Device,65535,e.pcsEncoding," [in16 2Device : RGBLut : {name}]|({last}) > ({data})");break}break;case $.CMYK:switch(e.pcsEncoding=K.device,this.dataFormat){case"object":case"objectFloat":this.addStage(K.cmsCMYK,"stage_CMYK_to_Device",this.stage_CMYK_to_Device,null,e.pcsEncoding," [Input2Device : CMYK : {name}]|({last}) > ({data})");break;case"int8":this.addStage(K.cmsCMYK,"stage_Int_to_Device",this.stage_Int_to_Device,255,e.pcsEncoding," [in8 2Device : CMYK : {name}]|({last}) > ({data})");break;case"int16":this.addStage(K.cmsCMYK,"stage_Int_to_Device",this.stage_Int_to_Device,65535,e.pcsEncoding," [in16 2Device : CMYK : {name}]|({last}) > ({data})");break}break;case $.NChannel:switch(e.pcsEncoding=K.device,this.dataFormat){case"object":case"objectFloat":this.addStage(K.device,"stage_NCh_to_Device",this.stage_NCh_to_Device,null,e.pcsEncoding," [Input2Device : NChannel : {name}]|({last}) > ({data})");break;case"int8":this.addStage(K.device,"stage_IntN_to_Device",this.stage_IntN_to_Device,255,e.pcsEncoding," [in8 2Device : NChannel : {name}]|({last}) > ({data})");break;case"int16":this.addStage(K.device,"stage_IntN_to_Device",this.stage_IntN_to_Device,65535,e.pcsEncoding," [in16 2Device : NChannel : {name}]|({last}) > ({data})");break}break}}hasLut(){return this.lut!==!1&&this.lut!==null&&this.lut!==void 0}stage_device2device(e){return e.slice()}_collapseIdentityChain(e){for(var t=!0;t;){t=!1;for(var a=0;a<e.length-2;a+=2){var A=e[a],r=e[a+2];if(this._areProfilesTheSame(A,r)){var n=a/2;e.splice(a,2),Array.isArray(this.useBPC)&&this.useBPC.splice(n,1),t=!0;break}}}}_areProfilesTheSame(e,t){return this._areSameType(e,t)&&(this._areSameVirtual(e,t)||this._areSameHash(e,t)||this._areSameMatrix(e,t))}_areSameType(e,t){return e.type===t.type&&e.outputChannels===t.outputChannels&&e.pcs===t.pcs&&e.version===t.version}_areSameVirtual(e,t){return!!(e.virtualName&&t.virtualName&&e.virtualName===t.virtualName)}_areSameHash(e,t){return!!(e.binaryHash&&t.binaryHash&&e.binaryHash===t.binaryHash)}_areSameMatrix(e,t){if(e.type!==$.RGBMatrix||t.type!==$.RGBMatrix)return!1;var a=e.RGBMatrix.XYZMatrix,A=t.RGBMatrix.XYZMatrix;if(!a||!A)return!1;for(var r=1e-10,n=["m00","m01","m02","m10","m11","m12","m20","m21","m22"],o=0;o<n.length;o++){var g=n[o];if(Math.abs(a[g]-A[g])>r)return!1}return!(e.RGBMatrix.issRGB!==t.RGBMatrix.issRGB||!e.RGBMatrix.issRGB&&Math.abs((e.RGBMatrix.gamma||0)-(t.RGBMatrix.gamma||0))>r)}getProfileChannels(e){switch(e.type){case $.Gray:return 1;case $.Duo:return 2;case $.XYZ:case $.Lab:case $.RGBMatrix:case $.RGBLut:return 3;case $.CMYK:return 4;case $.NChannel:return e.outputChannels}throw"Unknown profile type "+e.type+"in getProfileChannels"}validatePipeline(e){if(!this.pipelineCreated)return!1;var t=e!==void 0?e:this.dataFormat,a=this._buildValidationInput(t);if(a===null)return!1;var A;try{A=this.transform(a)}catch{return!1}return A==null?!1:this._isValidPipelineOutput(A,t)}_buildValidationInput(e){var t=this.inputChannels;if(!this.inputProfile||t===0)return null;if(e!=="device"){var a=this.inputProfile.type;if(a===$.Lab)return{type:ue.Lab,L:50,a:0,b:0,whitePoint:kt.d50};if(a===$.XYZ)return{type:ue.XYZ,X:.5,Y:.5,Z:.5}}switch(e){case"int8":return new Array(t).fill(128);case"int16":return new Array(t).fill(32768);case"object":return this._buildValidationObject(!1);case"objectFloat":return this._buildValidationObject(!0);default:return new Array(t).fill(.5)}}_buildValidationObject(e){var t=this.inputProfile;if(!t)return null;switch(t.type){case $.Lab:return{type:ue.Lab,L:50,a:0,b:0,whitePoint:kt.d50};case $.XYZ:return{type:ue.XYZ,X:.5,Y:.5,Z:.5};case $.CMYK:return e?{type:ue.CMYKf,Cf:.5,Mf:.5,Yf:.5,Kf:.5}:{type:ue.CMYK,C:50,M:50,Y:50,K:50};case $.Gray:return e?{type:ue.Gray,G:128}:{type:ue.Gray,G:128};case $.Duo:return{type:ue.Duo,a:50,b:50};case $.NChannel:return new Array(this.inputChannels).fill(.5);default:return e?{type:ue.RGBf,Rf:.5,Gf:.5,Bf:.5}:{type:ue.RGB,R:128,G:128,B:128}}}_isValidPipelineOutput(e,t){if(e==null)return!1;if(t==="object"){if(typeof e!="object")return!1;var a=this._getExpectedOutputType(!1);if(a!==null&&e.type!==a)return!1;for(var A=Object.keys(e),r=0;r<A.length;r++){var n=A[r];if(!(n==="type"||n==="whitePoint")&&typeof e[n]=="number"&&!isFinite(e[n]))return!1}return!0}if(t==="objectFloat"){if(typeof e!="object")return!1;for(var o=Object.keys(e),g=0;g<o.length;g++){var s=o[g];if(!(s==="type"||s==="whitePoint")&&typeof e[s]=="number"&&!isFinite(e[s]))return!1}return!0}if(!Array.isArray(e)||e.length!==this.outputChannels)return!1;for(var h=0;h<e.length;h++)if(typeof e[h]!="number"||!isFinite(e[h]))return!1;return!0}_getExpectedOutputType(e){if(!this.outputProfile)return null;switch(this.outputProfile.type){case $.Lab:return ue.Lab;case $.XYZ:return ue.XYZ;case $.CMYK:return e?ue.CMYKf:ue.CMYK;case $.Gray:return ue.Gray;case $.Duo:return ue.Duo;case $.NChannel:return null;default:return e?ue.RGBf:ue.RGB}}getInput2DevicePCSInfo(e){switch(e.type){case $.Lab:return K.PCSv4;case $.XYZ:return K.PCSXYZ;case $.Gray:case $.Duo:case $.RGBMatrix:case $.RGBLut:case $.CMYK:case $.NChannel:return K.device}throw"Unknown profile type "+e.type+"in getInput2DevicePCSInfo"}getDevice2OutputPCSInfo(e){switch(e.type){case $.Lab:return e.version===2?K.PCSv2:K.PCSv4;case $.XYZ:return K.PCSXYZ;case $.Gray:case $.Duo:case $.RGBMatrix:case $.RGBLut:case $.CMYK:case $.NChannel:return K.device}throw"Unknown profile type "+e.type+"in getDevice2OutputPCSInfo"}isGreyTRCwithNOLUT(e,t){return e.Gray.kTRC&&!e.A2B[this.intent2LUTIndex(t)]}insertCustomStage(e,t,a){if(this.customStages&&this.customStages.length>0)for(var A=0;A<this.customStages.length;A++){var r=this.customStages[A];r.location===e&&this.addStage(t.pcsEncoding,"Custom:"+r.description,r.stageFn,r.stageData,t.pcsEncoding),a!==!1&&r.location+"("+a+")"===e&&this.addStage(t.pcsEncoding,"Custom:"+r.description,r.stageFn,r.stageData,t.pcsEncoding)}}createPipeline_chromaticAdaptation(e,t,a){var A=this.displayChromaticAdaptation;A&&(me.compareWhitePoints(t.mediaWhitePoint,a.mediaWhitePoint)||(this.pipeline_Convert_PCS_to(e,K.PCSXYZ),this.addStage(K.PCSXYZ,"stage_ChromaticAdaptation",this.stage_chromaticAdaptation,{inputWhitePoint:t.mediaWhitePoint,outputWhitePoint:a.mediaWhitePoint},K.PCSXYZ," [ChromaticAdaptation : {name}]|({last}) > ({data})")))}createPipeline_BlackPointCompensation(e,t,a,A){if(!(a.type===$.Duo||t.type===$.Duo)&&!(t.type===$.RGBMatrix&&a.type===$.RGBMatrix)){var r=this.detectBlackpoint(t,A),n=this.detectOutputBlackpoint(a,A);if(r!==!1&&n!==!1){var o=r.X===n.X&&r.Y===n.Y&&r.Z===n.Z;if(!o){this.pipeline_Convert_PCS_to(e,K.PCSXYZ);var g,s,h,l,u,c,_,Q,I;_=r.X-.9642,Q=r.Y-1,I=r.Z-.8249,g=(n.X-.9642)/_,s=(n.Y-1)/Q,h=(n.Z-.8249)/I,l=-.9642*(n.X-r.X)/_,u=-1*(n.Y-r.Y)/Q,c=-.8249*(n.Z-r.Z)/I;var B={scale:{X:g,Y:s,Z:h},offset:{X:l,Y:u,Z:c}};if(this.pipelineDebug){var m=this.debugHistoryDecimals;this.addStage(K.PCSXYZ,"Black Point Info:",this.stage_history,+" [Black Point Info] ................................. "+" scale.ax = "+g.toFixed(m)+" scale.ay = "+s.toFixed(m)+" scale.az = "+h.toFixed(m)+" offset.bx = "+l.toFixed(m)+" offset.by = "+u.toFixed(m)+" offset.bz = "+c.toFixed(m),K.PCSXYZ,"")}this.addStage(K.PCSXYZ,"stage_BPC",this.stage_ApplyBPCScale_PCSXYZ_to_PCSXYZ,B,K.PCSXYZ," [BPC : ApplyBPCScale : {name}]| ({last}) > {data}"),e.pcsEncoding=K.PCSXYZ,this.usesBPC=!0}}}}createPipeline_DeviceLink(e,t){var a=this.intent2LUTIndex(t.header.intent),A=t.A2B[a]||t.A2B[oe.relative]||t.A2B[0];if(!A)throw"DeviceLink profile has no A2B tag";A.inputCurve&&this.addStage(K.device,"stage_curve_v2",this.stage_curve_v2,A.inputCurve,K.device," [DeviceLink : inputCurve : {name}]|({last}) > ({data})"),A.aCurves&&!this.isPassThrough(A.aCurves)&&this.addStage(K.device,"stage_curves_v4",this.stage_curves_v4,A.aCurves,K.device," [DeviceLink : aCurves : {name}]|({last}) > ({data})"),A.CLUT&&A.gridPoints&&A.gridPoints.length>0&&this.addStageLUT(!1,K.device,A,K.device," [DeviceLink : {name}]|({last}) > ({data})"),A.mCurves&&!this.isPassThrough(A.mCurves)&&this.addStage(K.device,"stage_curves_v4",this.stage_curves_v4,A.mCurves,K.device," [DeviceLink : mCurves : {name}]|({last}) > ({data})"),A.type==="mAB "&&A.matrix&&!this.isIdentityMatrix(A.matrix)&&this.addStage(K.device,"stage_Matrix",this.matrixHasOffsets(A.matrix)?this.stage_matrix_v4:this.stage_matrix_v4_noOffsets,A.matrix,K.device," [DeviceLink : Matrix : {name}]|({last}) > ({data})"),A.bCurves&&!this.isPassThrough(A.bCurves)&&this.addStage(K.device,"stage_curves_v4",this.stage_curves_v4,A.bCurves,K.device," [DeviceLink : bCurves : {name}]|({last}) > ({data})"),A.outputCurve&&this.addStage(K.device,"stage_curve_v2",this.stage_curve_v2,A.outputCurve,K.device," [DeviceLink : outputCurve : {name}]|({last}) > ({data})"),e.pcsEncoding=K.device}createPipeline_Device_to_PCS(e,t,a,A){switch(t.type){case $.Lab:this.createPipeline_Device_to_PCS_via_Lab(e,t);break;case $.RGBMatrix:this.createPipeline_Device_to_PCS_via_RGBMatrix(e,t,a);break;case $.Gray:if(this.isGreyTRCwithNOLUT(t,A)){this.createPipeline_Gray_to_PCS(e,t,a,A);return}case $.Duo:case $.RGBLut:case $.CMYK:case $.NChannel:t.version===2?this.createPipeline_Device_to_PCS_via_V2Lut(e,t,a,A):this.createPipeline_Device_to_PCS_via_V4Lut(e,t,a,A);break;default:throw"Unknown profile type "+t.type+"in createPipeline_Device_to_PCS"}return t.pcs==="XYZ"&&e.pcsEncoding===K.PCSXYZ&&(this.addStage(K.PCSXYZ,"stage_PCSXYZ_to_PCSv4",this.stage_PCSXYZ_to_PCSv4,null,K.PCSv4," [PCSv4_to_Device : XYZ : {name}]|({last}) > ({data})"),e.pcsEncoding=K.PCSv4),e}createPipeline_Device_to_PCS_via_Lab(e,t){switch(t.pcs){case"XYZ":this.pipeline_Convert_PCS_to(e,K.PCSXYZ);break;case"LAB":this.pipeline_Convert_PCS_to(e,K.PCSv4);break;default:throw"Unknown PCS "+t.pcs+" in createPipeline_Device_to_PCS_via_Lab"}}createPipeline_Device_to_PCS_via_RGBMatrix(e,t){if(e.pcsEncoding!==K.device)throw"Device to PSC RGBMatrix expects device encoding";if(this._expandRGBStages){var a=t.RGBMatrix.XYZMatrix,A=me.matrixScaleValues(a,1/1.999969482421875);t.rgb.rTRC&&t.rgb.rTRC.use?this.addStage(K.device,"stage_curves_v4",this.stage_curves_v4,[t.rgb.rTRC,t.rgb.gTRC,t.rgb.bTRC],K.device," *[optimised : {name}]|({last}) > ({data})",!0):this.useCurveLut?this.addStage(K.device,"stage_Gamma_Inverse_Table",this.stage_gammaTable,this._buildGammaInvLut(t.RGBMatrix),K.device," *[optimised : {name}]|({last}) > ({data})",!0):this.addStage(K.device,"stage_Gamma_Inverse",this.stage_Gamma_Inverse,t.RGBMatrix,K.device," *[optimised : {name}]|({last}) > ({data})",!0),this.addStage(K.device,"stage_matrix_rgb",this.stage_matrix_rgb,A,K.PCSXYZ," *[optimised : {name}]|({last}) > ({data})",!0),e.pcsEncoding=K.PCSXYZ}else this.addStage(K.device,"stage_RGBDevice_to_PCSv4",this.stage_RGBDevice_to_PCSv4,t,K.PCSXYZ," [DevicetoPCS : RGBMatrix : {name}]|({last}) > ({data})"),e.pcsEncoding=K.PCSXYZ}createPipeline_Device_to_PCS_via_V2Lut(e,t,a,A){if(e.pcsEncoding!==K.device)throw console.log(this.getStageNames(!0)),"createPipeline_Version2_CH4toPCSv4: expects device encoding not "+ce[e.pcsEncoding];var r=t.A2B[this.intent2LUTIndex(A)];switch(this.addStage(K.device,"stage_curve_v2",this.stage_curve_v2,r.inputCurve,K.device," [V2_Device_to_PCSv4 : {name}]| ({last}) > ({data})"),t.pcs==="XYZ"?e.pcsEncoding=K.PCSXYZ:e.pcsEncoding=t.PCSDecode===2?K.PCSv2:K.PCSv4,r.inputChannels){default:this.addStageLUT(!1,K.device,r,e.pcsEncoding," [V2_Device_to_PCSv4 : {name}]|({last}) > ({data})");break}this.addStage(e.pcsEncoding,"stage_curve_v2",this.stage_curve_v2,r.outputCurve,e.pcsEncoding," [V2_Device_to_PCSv4 : {name}]|({last}) > ({data}) ({data:f>16})"),this.createPipeline_Absolute_Adaptation_Input(e,t,A)}createPipeline_Device_to_PCS_via_V4Lut(e,t,a,A){if(e.pcsEncoding!==K.device)throw console.log(this.getStageNames(!0)),"V4_CH4_to_PCSv4: expects device encoding not "+ce[e.pcsEncoding];var r=t.A2B[this.intent2LUTIndex(A)];if(!r)throw"No LUT in createPipeline_Device_to_PCS_via_V4Lut for the intent "+A;if(r.aCurves!==!1&&!this.isPassThrough(r.aCurves)&&this.addStage(K.device,"stage_curves_v4",this.stage_curves_v4,r.aCurves,K.device," [V4_Device_to_PCSv4 : aCurves : {name}]|({last}) > ({data}) ({data:f>16})"),t.pcs==="XYZ"?e.pcsEncoding=K.PCSXYZ:e.pcsEncoding=K.PCSv4,r.CLUT4!==!1)switch(r.inputChannels){default:this.addStageLUT(!1,K.device,r,e.pcsEncoding," [V4_Device_to_PCSv4 : {name}]|({last}) > ({data})");break}r.mCurves!==!1&&!this.isPassThrough(r.mCurves)&&this.addStage(e.pcsEncoding,"stage_curves_v4",this.stage_curves_v4,r.mCurves,e.pcsEncoding," [V4_Device_to_PCSv4 : mCurves : {name}]|({last}) > ({data}) ({data:f>16})"),r.matrix!==!1&&(this.isIdentityMatrix(r.matrix)||this.addStage(e.pcsEncoding,"stage_Matrix",this.matrixHasOffsets(r.matrix)?this.stage_matrix_v4:this.stage_matrix_v4_noOffsets,r.matrix,e.pcsEncoding," [V4_Device_to_PCSv4 : Matrix : {name}]|({last}) > ({data}) ({data:f>16})")),r.bCurves!==!1&&!this.isPassThrough(r.bCurves)&&this.addStage(e.pcsEncoding,"stage_curves_v4",this.stage_curves_v4,r.bCurves,e.pcsEncoding," [V4_Device_to_PCSv4 : bCurves : {name}]|({last}) > ({data}) ({data:f>16})"),this.createPipeline_Absolute_Adaptation_Input(e,t,A)}createPipeline_Gray_to_PCS(e,t,a,A){if(e.pcsEncoding!==K.device)throw console.log(this.getStageNames(!0)),"Gray_to_PCSv4: expects device encoding not "+ce[e.pcsEncoding];t.pcs==="XYZ"?(this.addStage(K.device,"stage_grayTRC_to_PCSXYZ_Via_Y",this.stage_grayTRC_to_PCSXYZ_Via_Y,[t.Gray.kTRC],K.PCSXYZ," [Gray_to_PCSv4 : {name}]|({last}) > ({data}) ({data:f>16})"),A===oe.absolute&&this.addStage(K.PCSXYZ,"stage_absoluteAdaptationIn_PCSXYZ_to_PCSXYZ",this.stage_absoluteAdaptationIn_PCSXYZ_to_PCSXYZ,t,K.PCSXYZ," [Gray_to_PCSv4 : {name}]|({last}) > ({data}) ({data:f>16})"),e.pcsEncoding=K.PCSXYZ):(this.addStage(K.device,"stage_curves_v4",this.stage_grayTRC_to_PCSV4_Via_L,[t.Gray.kTRC],K.PCSv4," [Gray_to_PCSv4 : {name}]|({last}) > ({data}) ({data:f>16})"),e.pcsEncoding=K.PCSv4,this.createPipeline_Absolute_Adaptation_Input(e,t,A))}isPassThrough(e){for(var t=!0,a=0;a<e.length;a++)t=t&&e[a].passThrough;return t}createPipeline_PCS_to_Device(e,t,a,A){if(!(e.pcsEncoding!==K.PCSv4||e.pcsEncoding!==K.PCSXYZ))throw console.log(this.getStageNames(!0)),"createPipeline_PCS_to_Device: expects PCSv4 or PCSXYZ not "+ce[e.pcsEncoding];switch(a.type){case $.Lab:this.createPipeline_PCS_to_Lab(e);return;case $.RGBMatrix:this.createPipeline_PCS_to_Device_via_RGBMatrix(e,t,a);return;case $.Gray:if(this.isGreyTRCwithNOLUT(a,A)){this.createPipeline_PCS_to_Gray_via_kTRC(e,t,a,A);return}case $.Duo:case $.RGBLut:case $.CMYK:case $.NChannel:if(a.version===2){this.createPipeline_PCS_to_Device_via_V2LUT(e,t,a,A);return}this.createPipeline_PCS_to_Device_via_V4LUT(e,t,a,A);return;default:throw"Unknown profile type "+a.type+"in createPipeline_PCS_to_Device"}}createPipeline_PCS_to_Lab(e){this.pipeline_Convert_PCS_to(e,K.PCSv4)}createPipeline_PCS_to_Device_via_RGBMatrix(e,t,a){if(this._expandRGBStages){var A=a.RGBMatrix.XYZMatrixInv,r=me.matrixScaleValues(A,1.999969482421875);this.pipeline_Convert_PCS_to(e,K.PCSXYZ),this.addStage(K.PCSXYZ,"stage_matrix_rgb",this.stage_matrix_rgb,r,K.device," *[PCS_to_RGBDevice : {name}]|({last}) > ({data})",!0),a.rgb.rTRCInv&&a.rgb.rTRCInv.use?this.addStage(K.device,"stage_curves_v4",this.stage_curves_v4,[a.rgb.rTRCInv,a.rgb.gTRCInv,a.rgb.bTRCInv],K.device," *[optimised : {name}]|({last}) > ({data})",!0):this.useCurveLut?this.addStage(K.device,"stage_Gamma_Table",this.stage_gammaTable,this._buildGammaFwdLut(a.RGBMatrix),K.device," *[optimised : {name}]|({last}) > ({data})",!0):this.addStage(K.device,"stage_Gamma",this.stage_Gamma,a.RGBMatrix,K.device," *[optimised : {name}]|({last}) > ({data})",!0)}else this.pipeline_Convert_PCS_to(e,K.PCSv4),this.addStage(K.PCSv4,"stage_PCSv4_to_RGBDevice",this.stage_PCSv4_to_RGBDevice,a,K.device," [PCS_to_RGBDevice : {name}]|({last}) > ({data})");e.pcsEncoding=K.device}createPipeline_PCS_to_Device_via_V4LUT(e,t,a,A){this.createPipeline_Absolute_Adaptation_Output_Any_to_PCSv4(e,a,A);var r=a.B2A[this.intent2LUTIndex(A)];this.pipelineConvert_PCSV4_to_OutputProfile_PCS(e,r,a),r.bCurves!==!1&&!this.isPassThrough(r.bCurves)&&this.addStage(e.pcsEncoding,"stage_curves_v4",this.stage_curves_v4,r.bCurves,e.pcsEncoding," [PCSv4_to_Device_via_V4LUT : bCurves : {name}]|({last}) > ({data}) ({data:f>16})"),r.matrix!==!1&&(this.isIdentityMatrix(r.matrix)||this.addStage(e.pcsEncoding,"stage_Matrix",this.matrixHasOffsets(r.matrix)?this.stage_matrix_v4:this.stage_matrix_v4_noOffsets,r.matrix,e.pcsEncoding," [PCSv4_to_Device_via_V4LUT : Matrix : {name}]|({last}) > ({data}) ({data:f>16})")),r.mCurves!==!1&&!this.isPassThrough(r.mCurves)&&this.addStage(e.pcsEncoding,"stage_curves_v4",this.stage_curves_v4,r.mCurves,e.pcsEncoding," [PCSv4_to_Device_via_V4LUT : mCurves : {name}]|({last}) > ({data}) ({data:f>16})"),r.CLUT4!==!1?this.addStageLUT(!0,e.pcsEncoding,r,K.device," [PCSv4_to_Device_via_V4LUT : LUT : {name}]|({last}) > ({data})"):e.pcsEncoding=K.device,r.aCurves!==!1&&!this.isPassThrough(r.aCurves)&&this.addStage(K.device,"stage_curves_v4",this.stage_curves_v4,r.aCurves,K.device," [PCSv4_to_Device_via_V4LUT : aCurves : {name}]|({last}) > ({data}) ({data:f>16})"),e.pcsEncoding=K.device}isIdentityMatrix(e){return e[0]===1&&e[1]===0&&e[2]===0&&e[3]===0&&e[4]===1&&e[5]===0&&e[6]===0&&e[7]===0&&e[8]===1&&e[9]===0&&e[10]===0&&e[11]===0}matrixHasOffsets(e){return e[9]!==0||e[10]!==0||e[11]!==0}createPipeline_PCS_to_Device_via_V2LUT(e,t,a,A){this.createPipeline_Absolute_Adaptation_Output_Any_to_PCSv4(e,a,A);var r=a.B2A[this.intent2LUTIndex(A)];if(this.pipelineConvert_PCSV4_to_OutputProfile_PCS(e,r,a),!(e.pcsEncoding===K.PCSv2||e.pcsEncoding===K.PCSXYZ))throw console.log(this.getStageNames(!0)),"createPipeline_PCS_to_Device_via_V2LUT: expects PCSv2 or PCSXYZ not "+ce[e.pcsEncoding];this.addStage(e.pcsEncoding,"stage_curve_v2",this.stage_curve_v2,r.inputCurve,e.pcsEncoding," [PCSv4_to_Device_via_V2LUT : {name}]| ({last}) > ({data})"),this.addStageLUT(!0,e.pcsEncoding,r,K.device," [PCSv4_to_Device_via_V2LUT : {name}]|({last}) > ({data})"),e.pcsEncoding=K.device,this.addStage(K.device,"stage_curve_v2",this.stage_curve_v2,r.outputCurve,e.pcsEncoding," [PCSv4_to_Device_via_V2LUT : {name}]|({last}) > ({data}) ({data:f>16})")}createPipeline_PCS_to_Gray_via_kTRC(e,t,a,A){if(!(e.pcsEncoding===K.PCSv2||e.pcsEncoding===K.PCSv4||e.pcsEncoding===K.PCSXYZ))throw console.log(this.getStageNames(!0)),"PCSv4_to_Gray: expects PCSv2,PCSv4,PCSXYZ encoding not "+ce[e.pcsEncoding];a.pcs==="XYZ"?(this.pipeline_Convert_PCS_to(e,K.PCSXYZ),A===oe.absolute&&this.addStage(K.PCSXYZ,"stage_absoluteAdaptationOut_PCSXYZ_to_PCSXYZ",this.stage_absoluteAdaptationOut_PCSXYZ_to_PCSXYZ,a,K.PCSXYZ," [PCSv4_to_Gray : {name}]|({last}) > ({data})"),this.addStage(K.PCSXYZ,"stage_PCSXYZ_to_grayTRC_via_Y",this.stage_PCSXYZ_to_grayTRC_via_Y,[a.Gray.inv_kTRC],K.device," [PCSv4_to_Gray : {name}]|({last}) > ({data}) ({data:f>16})"),e.pcsEncoding=K.device):(this.createPipeline_Absolute_Adaptation_Output_Any_to_PCSv4(e,a,A),this.addStage(e.pcsEncoding,"stage_PCSV4_to_grayTRC_via_L",this.stage_PCSV4_to_grayTRC_via_L,[a.Gray.inv_kTRC],K.device," [PCSv4_to_Gray : {name}]|({last}) > ({data}) ({data:f>16})"),e.pcsEncoding=K.device)}createPipeline_Absolute_Adaptation_Input(e,t,a){a===oe.absolute&&(this.pipeline_Convert_PCS_to(e,K.PCSXYZ),this.pipelineDebug&&this.addStage(K.PCSXYZ,"Input_Absolute_Adaptation:",this.stage_history," [Input_Absolute_Adaptation] .................................. Xa = "+t.absoluteAdaptationIn.Xa+", Ya = "+t.absoluteAdaptationIn.Ya+", Za = "+t.absoluteAdaptationIn.Za,K.PCSXYZ,""),this.usesAdaptation=!0,this.addStage(K.PCSXYZ,"stage_absoluteAdaptationIn_PCSXYZ_to_PCSXYZ",this.stage_absoluteAdaptationIn_PCSXYZ_to_PCSXYZ,t,K.PCSXYZ," [InputAdaptation : {name}]| ({last}) > ({data})"),e.pcsEncoding=K.PCSXYZ)}createPipeline_Absolute_Adaptation_Output_Any_to_PCSv4(e,t,a){if(a===oe.absolute){if(!(e.pcsEncoding===K.PCSv2||e.pcsEncoding===K.PCSv4||e.pcsEncoding===K.PCSXYZ))throw"createPipeline_Absolute_Adaptation_Output_Any_to_PCSv4, Encoding must be PCSXYZ, PCSv2 or PVCSv4 not "+ce[e.pcsEncoding];this.pipeline_Convert_PCS_to(e,K.PCSXYZ),this.pipelineDebug&&this.addStage(K.PCSXYZ,"Output_Absolute_Adaptation:",this.stage_history,+" [Output_Absolute_Adaptation] ................................. "+"Xa = "+t.absoluteAdaptationOut.Xa+", Ya = "+t.absoluteAdaptationOut.Ya+", Za = "+t.absoluteAdaptationOut.Za,K.PCSXYZ,""),this.usesAdaptation=!0,this.addStage(K.PCSXYZ,"stage_absoluteAdaptationOut_PCSXYZ_to_PCSXYZ",this.stage_absoluteAdaptationOut_PCSXYZ_to_PCSXYZ,t,K.PCSXYZ," [OutputAdaptation : {name}]| ({last}) > ({data})"),this.addStage(K.PCSXYZ,"stage_PCSXYZ_to_PCSv4",this.stage_PCSXYZ_to_PCSv4,null,K.PCSv4," [OutputAdaptation : {name}]| ({last}) > ({data})"),e.pcsEncoding=K.PCSv4}}pipeline_Convert_PCS_to(e,t){var a=this.createConvert_PCS_stage(e,t);a&&this.pushStage(a)}createConvert_PCS_stage(e,t){switch(t){case K.PCSXYZ:switch(e.pcsEncoding){case K.PCSv2:return e.pcsEncoding=K.PCSXYZ,this.createStage(K.PCSv2,"stage_PCSv2_to_PCSXYZ",this.stage_PCSv2_to_PCSXYZ,null,K.PCSXYZ," [Convert PCS : stage_PCSv2_to_PCSXYZ] ({last}) > ({data})");case K.PCSv4:return e.pcsEncoding=K.PCSXYZ,this.createStage(K.PCSv4,"stage_PCSv4_to_PCSXYZ",this.stage_PCSv4_to_PCSXYZ,null,K.PCSXYZ," [Convert PCS : stage_PCSv4_to_PCSXYZ] ({last}) > ({data})");case K.PCSXYZ:return!1;default:throw"pipelineConvert_PCSV4_to_OutputProfile_PCS, unexpected XYZ encoding "+ce[e.pcsEncoding]}case K.PCSv2:switch(e.pcsEncoding){case K.PCSv2:return!1;case K.PCSv4:return e.pcsEncoding=K.PCSv2,this.createStage(K.PCSv4,"stage_PCSv4_to_PCSv2",this.stage_PCSv4_to_PCSv2,null,e.pcsEncoding," [Convert PCS : {name}] ({last}) > ({data})");case K.PCSXYZ:return e.pcsEncoding=K.PCSv2,this.createStage(K.PCSXYZ,"stage_PCSXYZ_to_PCSv2",this.stage_PCSXYZ_to_PCSv2,null,K.PCSv2," [Convert PCS : {name}] ({last}) > ({data})");default:throw"CheckPCSVersion, Unexpected LAB Encoding "+ce[e.pcsEncoding]}case K.PCSv4:switch(e.pcsEncoding){case K.PCSXYZ:return e.pcsEncoding=K.PCSv4,this.createStage(K.PCSXYZ,"stage_PCSXYZ_to_PCSv4",this.stage_PCSXYZ_to_PCSv4,null,K.PCSv4," [Convert PCS : {name}] ({last}) > ({data})");case K.PCSv2:return e.pcsEncoding=K.PCSv4,this.createStage(K.PCSv2,"stage_PCSv2_to_PCSv4",this.stage_PCSv2_to_PCSv4,null,K.PCSv4," [Convert PCS : {name}] ({last}) > ({data})");case K.PCSv4:return!1;default:throw"Convert PCS, Unexpected LAB Encoding "+ce[e.pcsEncoding]}default:throw"pipelineConvert_PCS, unexpected destination PCS encoding "+ce[t]}}pipelineConvert_PCSV4_to_OutputProfile_PCS(e,t,a){var A;switch(a.pcs){case"XYZ":this.pipeline_Convert_PCS_to(e,K.PCSXYZ);break;case"LAB":switch(a.version){case 2:t.precision===8?(A=this.createConvert_PCS_stage(e,K.PCSv4),A?(e.pcsEncoding=K.PCSv2,A.outputEncoding=K.PCSv2):(e.pcsEncoding=K.PCSv2,this.addStage(K.PCSv4,"stage_null",this.stage_null,null,e.pcsEncoding," [CheckPCSVersion : {name}] ({last}) > ({data})"))):A=this.createConvert_PCS_stage(e,K.PCSv2),A&&this.pushStage(A);break;case 4:this.pipeline_Convert_PCS_to(e,K.PCSv4);break;default:throw"pipelineConvert_PCSV4_to_OutputProfile_PCS, unexpected profile version "+a.version}}}createPipeline_Device_to_Output(e,t){var a,A,r;if(this.dataFormat==="int8"||this.dataFormat==="int16"){switch(t.outputChannels){case 1:A=this.stage_device1_to_int,r="[stage_device1_to_int "+this.dataFormat+" : {name}]| ({last}) > {data}";break;case 2:A=this.stage_device2_to_int,r="[stage_device2_to_int "+this.dataFormat+" : {name}]| ({last}) > {data}";break;case 3:A=this.stage_device3_to_int,r="[stage_device3_to_int "+this.dataFormat+" : {name}]| ({last}) > {data}";break;case 4:A=this.stage_device4_to_int,r="[stage_device4_to_int "+this.dataFormat+" : {name}]| ({last}) > {data}";break;default:A=this.stage_deviceN_to_int,r="[stage_deviceN_to_int "+this.dataFormat+" : {name}]| ({last}) > {data}"}a=this.dataFormat==="int8"?255:65535}switch(t.type){case $.Gray:if(e.pcsEncoding!==K.device)throw console.log(this.getStageNames(!0)),"[Device2Output: Gray ] Input must be Device not "+ce[e.pcsEncoding];switch(this.dataFormat){case"object":this.addStage(K.device,(this.roundOutput,"stage_device_to_Gray"),this.roundOutput?this.stage_device_to_Gray_round:this.stage_device_to_Gray,this.precision,K.cmsRGB," [Device2Output : Gray : {name}]| ({last}) > {data}");break;case"objectFloat":this.addStage(K.device,"stage_device_to_Grayf",this.stage_device_to_Grayf,this.precision,K.cmsRGB," [Device2Output : Gray : {name}]| ({last}) > {data}");break;case"int8":case"int16":this.addStage(K.device,"stage_device_to_int",A,a,K.device,r);break}break;case $.Duo:if(e.pcsEncoding!==K.device)throw console.log(this.getStageNames(!0)),"[Device2Output: Duo ] Input must be Device not "+ce[e.pcsEncoding];switch(this.dataFormat){case"object":this.addStage(K.device,(this.roundOutput,"stage_device_to_Duo"),this.roundOutput?this.stage_device_to_Duo_round:this.stage_device_to_Duo,this.precision,K.cmsRGB," [Device2Output : Duo : {name}]| ({last}) > {data}");break;case"objectFloat":this.addStage(K.device,"stage_device_to_Duof",this.stage_device_to_Duof,this.precision,K.cmsRGB," [Device2Output : Duo : {name}]| ({last}) > {data}");break;case"int8":case"int16":this.addStage(K.device,"stage_device_to_int",A,a,K.device,r);break}break;case $.Lab:if(!(e.pcsEncoding===K.PCSv2||e.pcsEncoding===K.PCSv4))throw console.log(this.getStageNames(!0)),"[Device2Output: Lab ] Input must be PCS/V2 or PCS/V4 not "+ce[e.pcsEncoding];switch(this.dataFormat){case"object":case"objectFloat":e.pcsEncoding===K.PCSv2?this.addStage(K.PCSv2,"stage_PCSv2_to_cmsLab",this.stage_PCSv2_to_cmsLab,null,K.cmsLab," [Device2Output : Lab : {name}]|({last:r}) / ({last}) > {data}"):this.addStage(K.PCSv4,"stage_PCSv4_to_cmsLab",this.stage_PCSv4_to_cmsLab,null,K.cmsLab," [Device2Output : Lab : {name}]| ({last}) > {data}");break;case"int8":case"int16":this.addStage(e.pcsEncoding,"stage_device_to_int",A,a,K.device,r);break}break;case $.RGBMatrix:case $.RGBLut:if(e.pcsEncoding!==K.device)throw console.log(this.getStageNames(!0)),"[Device2Output: RGB ] Input must be Device not "+ce[e.pcsEncoding];switch(this.dataFormat){case"object":this.addStage(K.device,(this.roundOutput,"stage_device_to_RGB"),this.roundOutput?this.stage_device_to_RGB_round:this.stage_device_to_RGB,this.precision,K.cmsRGB," [Device2Output : RGB : {name}]| ({last}) > {data}");break;case"objectFloat":this.addStage(K.device,"stage_device_to_RGBf",this.stage_device_to_RGBf,this.precision,K.cmsRGB," [Device2Output : RGB : {name}]| ({last}) > {data}");break;case"int8":case"int16":this.addStage(K.device,"stage_device_to_int",A,a,K.device,r);break}break;case $.CMYK:if(e.pcsEncoding!==K.device)throw console.log(this.getStageNames(!0)),"[Device2Output: CMYK ] Input must be Device not "+ce[e.pcsEncoding];switch(this.dataFormat){case"object":this.addStage(K.device,(this.roundOutput,"stage_device_to_CMYK"),this.roundOutput?this.stage_device_to_CMYK_round:this.stage_device_to_CMYK,this.precision,K.cmsCMYK," [Device2Output : CMYK : {name}]| ({last}) > {data}");break;case"objectFloat":this.addStage(K.device,"stage_device_to_CMYKf",this.stage_device_to_CMYKf,this.precision,K.cmsCMYK," [Device2Output : CMYK : {name}]| ({last}) > {data}");break;case"int8":case"int16":this.addStage(K.device,"stage_device_to_int",A,a,K.device,r);break}break;case $.NChannel:if(e.pcsEncoding!==K.device)throw console.log(this.getStageNames(!0)),"[Device2Output: NChannel ] Input must be Device not "+ce[e.pcsEncoding];switch(this.dataFormat){case"object":case"objectFloat":this.addStage(K.device,"stage_device_to_NCh",this.stage_device_to_NCh,this.precision,K.device," [Device2Output : NChannel : {name}]| ({last}) > {data}");break;case"int8":case"int16":this.addStage(K.device,"stage_device_to_int",A,a,K.device,r);break}break}}addStageLUT(e,t,a,A,r){var n=i.kernels[a.inputChannels];if(!n||typeof n.floatFor!="function")throw'Unsupported number of input channels "'+a.inputChannels+'"';var o=n.floatFor(a,{inputEncoding:t,useTrilinearFor3ChInput:e,interpolation3D:this.interpolation3D,interpolation4D:this.interpolation4D,fast:this.interpolationFast,kernelOptions:this.kernelOptions||null});this.addStage(t,o.stageName,o.funct,a,A,r)}pushStage(e){this.pipeline.push(e)}addStage(e,t,a,A,r,n){this.pushStage(this.createStage(e,t,a,A,r,n,!1))}createStage(e,t,a,A,r,n,o){return n=n||"",{inputEncoding:e,funct:a,stageData:A,outputEncoding:r,stageName:t,debugFormat:n,optimised:o}}detectOutputBlackpoint(e,t){var a,A=this,r=this.XYZ(0,0,0);if(!e||e.header.pClass==="link"||e.header.pClass==="abst"||e.header.pClass==="nmcl"||t===oe.absolute||e.type===$.RGBMatrix)return r;if(e.version===4&&(t===oe.perceptual||t===oe.saturation))return e.type===$.RGBMatrix?(a=this.RGBDevice_to_PCSv4_or_LabD50([0,0,0],e,!0),this.Lab2XYZ(a)):this.XYZ(.00336,.0034731,.00287);var n=!!e.B2A[this.intent2LUTIndex(t)],o=e.type===$.Gray||e.type===$.RGBLut||e.type===$.CMYK;if(!o||!n)return this.detectBlackpoint(e,t);var g;t===oe.relative?g=this.XYZ2Lab(this.detectBlackpoint(e,t),kt.d50):g=this.Lab(0,0,0);var s=new Ge("*Lab"),h=new i({precision:3}),l=new i({precision:3});h._BPCAutoEnable=!1,l._BPCAutoEnable=!1,h.create(s,e,t),l.create(e,s,oe.relative);var u=[],c=[],_=this.Lab(0,0,0);_.a=Math.min(50,Math.max(-50,g.a)),_.b=Math.min(50,Math.max(-50,g.b));for(var Q=0;Q<256;Q++){_.L=Q*100/255;var I=h.transform(_),B=l.transform(I);u[Q]=_.L,c[Q]=B.L}for(Q=254;Q>0;--Q)c[Q]=Math.min(c[Q],c[Q+1]);if(!(c[0]<c[255]))return r;var m=!0,y=c[0],X=c[255];if(t===oe.relative){for(Q=0;Q<256;Q++)if(!(u[Q]<=y+.2*(X-y)||u[Q]-c[Q]<4)){m=!1;break}if(m)return this.Lab2XYZ(g)}var N=[],L,T;for(Q=0;Q<256;Q++)N[Q]=(c[Q]-y)/(X-y);t===oe.relative?(T=.1,L=.5):(T=.03,L=.25);var D=0,x=[],F=[];for(Q=0;Q<256;Q++){var q=N[Q];q>=T&&q<L&&(x[D]=u[Q],F[D]=N[Q],D++)}if(D<3)return r;return _.L=f(D,x,F),_.L<0&&(_.L=0),_.a=g.a,_.b=g.b,this.Lab2XYZ(_);function f(d,R,E){var v=0,b=0,k=0,w=0,G=0,H=0,U=0,P,O,S,p,Z;if(d<4)return 0;for(Z=0;Z<d;Z++){var C=R[Z],M=E[Z];v+=C,b+=C*C,k+=C*C*C,w+=C*C*C*C,G+=M,H+=M*C,U+=M*C*C}var Y=[d,v,b,v,b,k,b,k,w],V=A.invertMatrix(Y),W=A.evalMatrix([G,H,U],V);if(O=W[2],S=W[1],p=W[0],O<1e-10)return Math.min(0,Math.max(50,-p/S));if(P=S*S-4*O*p,P<=0)return 0;var J=(-S+Math.sqrt(P))/(2*O);return Math.max(0,Math.min(50,J))}}detectBlackpoint(e,t){var a=this.XYZ(0,0,0);return!e||e.header.pClass==="link"||e.header.pClass==="abst"||e.header.pClass==="nmcl"||t===oe.absolute||e.type===$.RGBMatrix?a:e.version===4&&(t===oe.perceptual||t===oe.saturation)?e.type===$.RGBMatrix?this.Lab2XYZ(this.RGBDevice_to_PCSv4_or_LabD50([0,0,0],e,!0)):this.XYZ(.00336,.0034731,.00287):e.header.pClass==="prtr"&&e.type===$.CMYK&&t===oe.relative?this.Lab2XYZ(this.findInkLimitedBlackpoint(e)):this.Lab2XYZ(this.findMaxColourantBlackpoint(e,t))}findMaxColourantBlackpoint(e,t){var a,A;switch(e.type){case $.Gray:a=me.Gray(100),A=me.Gray(0);break;case $.Duo:a=me.Duo(100,100),A=me.Duo(0,0);break;case $.RGBLut:a=me.RGB(255,255,255),A=me.RGB(0,0,0);break;case $.CMYK:a=me.CMYK(0,0,0,0),A=me.CMYK(100,100,100,100);break;case $.Lab:throw new Error("Lab profiles not supported by Black Point Compensation");default:throw new Error(e.type+" not supported by Black Point Compensation")}var r=new Ge("*Lab"),n=new i({precision:3});n._BPCAutoEnable=!1,n.create(e,r,t);var o=n.transform(A),g=n.transform(a);return g.L<o.L&&(o=g),o.a=0,o.b=0,(o.L>50||o.L<0)&&(o.L=0),o}findInkLimitedBlackpoint(e){var t=new Ge("*Lab"),a=new i({precision:3}),A=new i({precision:3});A._BPCAutoEnable=!1,A._BPCAutoEnable=!1,a.create(t,e,oe.perceptual),A.create(e,t,oe.relative);var r=a.transform(this.Lab(0,0,0)),n=A.transform(r);return n.L>50&&(n.L=50),n.a=n.b=0,n}compile(e){e=e||{};var t=e.target||"js",a=e.instrument===!0,A=e.profilable===!0,r=e.useGammaLUT!==!1,n=e.strict!==!1,o=e.hotLoop===!0;if(a&&A)throw new Error("compile(): instrument and profilable are mutually exclusive");if(o&&A)throw new Error("compile(): hotLoop and profilable are mutually exclusive");if(o&&a)throw new Error("compile(): hotLoop and instrument are mutually exclusive");var g={target:t,instrument:a,profilable:A,useGammaLUT:r,strict:n,hotLoop:o};if(!this.pipelineCreated||this.pipeline.length===0)throw"No pipeline to compile";var s={_version:"1.2.0-poc"},h=[],l={emitted:[],fallback:[]};if(a){var u=typeof process<"u"&&process.hrtime&&process.hrtime.bigint?process.hrtime.bigint:function(){return BigInt(Math.round((typeof performance<"u"?performance.now():Date.now())*1e6))};s._instHr=u,s._instCount=0,s._instTime=new Float64Array(this.pipeline.length),s._instCalls=new Uint32Array(this.pipeline.length),s._instLabels=new Array(this.pipeline.length)}for(var c=0;c<this.pipeline.length;c++){var _=this.pipeline[c],Q=_.stageName,I=Q;_.funct===this.stage_debug?I="stage_debug":_.funct===this.stage_history&&(I="stage_history");var B="attachStore_"+t+"_"+I,m="emit_"+t+"_"+I;typeof this[B]=="function"&&this[B](s,c,_,g),a&&(s._instLabels[c]=Q);var y="// ----- stage "+c+" : "+Q+" -----",X;if(typeof this[m]=="function")l.emitted.push(c+":"+Q),X=this[m](c,_,s,g);else{if(l.fallback.push(c+":"+Q),n)throw new Error("compile(): no JS emitter for stage '"+Q+"' (index "+c+"). Add Transform.prototype.emit_"+t+"_"+I+" (and optionally attachStore_"+t+"_"+I+") or pass { strict: false } to use the runtime fallback (best-effort, may produce wrong output across encoding boundaries).");s["_fb_"+c+"_funct"]=_.funct,s["_fb_"+c+"_stageData"]=_.stageData,s["_fb_"+c+"_self"]=this,y="// ----- stage "+c+" : "+Q+" (RUNTIME FALLBACK \u2014 best-effort) -----",X=this._compile_emit_runtime_fallback(c,_)}h.push({idx:c,sname:Q,header:y,body:X})}var N=this.pipeline[this.pipeline.length-1],L=this._compile_emit_return(N),T="// jsColorEngine compiled transform \u2014 target="+t+(a?" [INSTRUMENTED \u2014 perf measurements only, do not ship]":"")+(A?" [PROFILABLE \u2014 named per-stage fns for CPU profiler attribution]":"")+(o?" [HOTLOOP \u2014 array-in / array-out tight loop wrapper]":"")+(r?" [GAMMA-LUT \u2014 4096-entry LUT replacing Math.pow (lcms parity, ~32-bit precision)]":"")+`
// chain: `+this.pipeline.map(function(Y){return Y.stageName}).join(" > ")+`
// inputs assumed: device RGB floats in input[0..2], 0..1
`,D,x,F=A?"profilable":o?"hotLoop":a?"instrument":"plain";if(o){for(var q=this._compile_output_basis(),f=q.length,d=3,R=[],E=0;E<h.length;E++){var v=h[E];R.push(" "+v.header),R.push(v.body)}for(var b=[],k=0;k<q.length;k++)b.push(" output[_oi + "+k+"] = "+q[k]+";");D=T+`"use strict";
return function compiledTransformLoop(input, output, n) {
let r = 0, g = 0, b = 0;
let X = 0, Y = 0, Z = 0;
let pcsL = 0, pcsa = 0, pcsb = 0;
let d0 = 0, d1 = 0, d2 = 0, d3 = 0, d4 = 0, d5 = 0, d6 = 0, d7 = 0;
for (let _i = 0; _i < n; _i++) {
const _ii = _i * `+d+`;
const _oi = _i * `+f+`;
r = input[_ii]; g = input[_ii + 1]; b = input[_ii + 2];
`+R.join(`
`)+`
`+b.join(`
`)+`
}
return output;
};
`,x=new Function("store",D)(s)}else if(A){for(var w=function(Y){return Y.replace(/[^A-Za-z0-9_]/g,"_")},G=[],H=[],U=0;U<h.length;U++){var P=h[U],O="_s"+P.idx+"_"+w(P.sname);G.push(" "+P.header),G.push(" function "+O+"() {"),G.push(P.body),G.push(" }"),G.push(""),H.push(" "+O+"();")}var S=T+`"use strict";
// shared state at factory scope \u2014 closed over by both stage fns and the per-pixel entry
var r = 0, g = 0, b = 0;
var X = 0, Y = 0, Z = 0;
var pcsL = 0, pcsa = 0, pcsb = 0;
var d0 = 0, d1 = 0, d2 = 0, d3 = 0, d4 = 0, d5 = 0, d6 = 0, d7 = 0;
`+G.join(`
`)+`
return function compiledTransform(input) {
r = input[0]; g = input[1]; b = input[2];
`+H.join(`
`)+`
`+L+`
};
`;D=S,x=new Function("store",S)(s)}else{for(var p=a?`// instrumentation aliases (per-stage hrtime taps)
const _hr = store._instHr;
const _instTime = store._instTime;
const _instCalls = store._instCalls;
store._instCount++;
`:"",Z=[],C=0;C<h.length;C++){var M=h[C];Z.push(M.header),a?(Z.push("{ const _tB = _hr();"),Z.push(M.body),Z.push(" const _tA = _hr(); _instTime["+M.idx+"] += Number(_tA - _tB); _instCalls["+M.idx+"]++; }")):Z.push(M.body)}D=T+`"use strict";
var r = input[0], g = input[1], b = input[2];
var X = 0, Y = 0, Z = 0;
var pcsL = 0, pcsa = 0, pcsb = 0;
var d0 = 0, d1 = 0, d2 = 0, d3 = 0, d4 = 0, d5 = 0, d6 = 0, d7 = 0;
`+p+Z.join(`
`)+`
`+L+`
`,x=new Function("store","input",D).bind(null,s)}return{source:D,store:s,fn:x,mode:F,options:g,coverage:l}}static instrumentReport(e){var t=e&&e.store;if(!t||!t._instTime)return"instrumentReport: this compiled fn was not built with { instrument: true }";for(var a=t._instCount|0,A=t._instLabels||[],r=t._instTime,n=t._instCalls,o=0,g=0;g<r.length;g++)o+=r[g];var s=[],h=[];s.push("===== per-stage instrumentation report ====="),s.push("runs: "+a+" calls of compiled fn"),s.push("total time: "+(o/1e6).toFixed(2)+" ms across all stages"),s.push("per-call: "+(a>0?(o/a).toFixed(1):"?")+" ns/pixel (sum of stages, includes timer overhead)"),s.push(""),s.push(" idx stage calls % ns/call"),s.push(" --- ------------------------------------------ ---------- ------- --------");for(var g=0;g<r.length;g++){var l=o>0?100*r[g]/o:0,u=n[g]>0?r[g]/n[g]:0,c=A[g]||"?";c.length>42&&(c=c.slice(0,39)+"..."),c=c.padEnd(42," ");var _=String(g).padStart(3," "),Q=String(n[g]).padStart(10," "),I=l.toFixed(2).padStart(6," ")+"%",B=u.toFixed(1).padStart(8," ");s.push(" "+_+" "+c+" "+Q+" "+I+" "+B),h.push({stageName:A[g],calls:n[g],totalNs:r[g],perCallNs:u,percent:l})}return{text:s.join(`
`),rows:h,totalNs:o,runs:a}}static instrumentReset(e){var t=e&&e.store;!t||!t._instTime||(t._instCount=0,t._instTime.fill(0),t._instCalls.fill(0))}_compile_emit_runtime_fallback(e,t){var a=t.inputEncoding,A=t.outputEncoding,r=this._compile_basis_for(a),n=this._compile_basis_for(A),o=[];o.push("{"),o.push(" var _in = ["+r.join(", ")+"];"),o.push(" var _out = store._fb_"+e+"_funct.call(store._fb_"+e+"_self, _in, store._fb_"+e+"_stageData, null);");for(var g=0;g<n.length;g++)o.push(" "+n[g]+" = _out["+g+"];");return o.push("}"),o.join(`
`)}_compile_basis_for(e){return e===3?["X","Y","Z"]:e===1?["pcsL","pcsa","pcsb"]:e===2?["pcsL","pcsa","pcsb"]:["d0","d1","d2","d3"]}_compile_output_basis(){var e=this.pipeline[this.pipeline.length-1],t=e&&e.outputEncoding,a=this._compile_basis_for(t);if(t===!1||t==null){for(var A=this.pipeline.length-1;A>=0;A--)if(this.pipeline[A].outputEncoding!==!1&&this.pipeline[A].outputEncoding!=null){a=this._compile_basis_for(this.pipeline[A].outputEncoding);break}}return a}_compile_emit_return(e){var t=this._compile_output_basis();return"return ["+t.join(", ")+"];"}};function pr(i){var e="";for(var t of i)e+=String.fromCharCode(t);return btoa(e)}function _r(i){var e=new Uint8Array(i.buffer),t="";for(var a of e)t+=String.fromCharCode(a);return btoa(t)}function uh(i){let e=atob(i),t=e.length,a=new Uint8Array(t);for(let A=0;A<t;A++)a[A]=e.charCodeAt(A);return new Uint16Array(a.buffer)}function Eh(i){let e=atob(i),t=e.length,a=new Uint8ClampedArray(t);for(let A=0;A<t;A++)a[A]=e.charCodeAt(A);return a}function wr(i){i.encoding==="base64"&&(i.precision===16||i.dataType==="u16"?i.CLUT=uh(i.CLUT):i.CLUT=Eh(i.CLUT),i.encoding="number");var e=i.CLUT;if(e instanceof Uint16Array){for(var t=new Float64Array(e.length),a=0;a<e.length;a++)t[a]=e[a]/65535;i.CLUT=t}else if(e instanceof Uint8Array||e instanceof Uint8ClampedArray){for(var t=new Float64Array(e.length),a=0;a<e.length;a++)t[a]=e[a]/255;i.CLUT=t}if(i.dataType="f64",i.gridPoints&&i.outputChannels!==void 0){var A=i.gridPoints,r=i.outputChannels,n=A[0],o=A.length>=2?n*A[1]:0,g=A.length>=3?o*A[2]:0;i.g1=n,i.g2=o,i.g3=g,i.g4=A.length>=4?g*A[3]:0,i.g5=A.length>=5?i.g4*A[4]:0,i.go0=r,i.go1=n*r,i.go2=o*r,i.go3=g*r,i.go4=i.g4*r,i.go5=i.g5*r}return i}function yr(i,e){if(!i||!i.CLUT)throw"lutToJSON: input has no CLUT";e=e||{};var t=e.dataType||"u16";if(t!=="u16"&&t!=="u8")throw'lutToJSON: dataType must be "u16" or "u8", got "'+t+'"';var a=i.CLUT,A=a.length,r,n;if(t==="u16"){var o=new Uint16Array(A);if(a instanceof Uint16Array)o.set(a);else if(a instanceof Uint8Array||a instanceof Uint8ClampedArray)for(var g=0;g<A;g++)o[g]=a[g]*257;else for(var g=0;g<A;g++)o[g]=Math.round(Math.min(1,Math.max(0,a[g]))*65535);r=_r(o),n=16}else{var s=new Uint8Array(A);if(a instanceof Uint8Array||a instanceof Uint8ClampedArray)s.set(a);else if(a instanceof Uint16Array)for(var g=0;g<A;g++)s[g]=Math.round(a[g]/65535*255);else for(var g=0;g<A;g++)s[g]=Math.round(Math.min(1,Math.max(0,a[g]))*255);r=pr(s),n=8}var h={g1:1,g2:1,g3:1,g4:1,g5:1,go0:1,go1:1,go2:1,go3:1,go4:1,go5:1,inputScale:1,outputScale:1},l={created:new Date().toISOString(),generator:e.generator||"jsColorEngine"};for(var u in i)u!=="CLUT"&&u!=="intLut"&&!h[u]&&(l[u]=i[u]);return l.dataType=t,l.precision=n,l.encoding="base64",l.inputScale=1,l.outputScale=1,l.CLUT=r,l.originalSignature=i.originalSignature||mt(i),l}function ch(i){for(var e=2166136261,t=16777619,a=0;a<i.length;a++)e=Math.imul(e^i[a],t);return(e>>>0).toString(16).padStart(8,"0")}function fh(i){for(var e=new Uint8Array(i.length),t=0;t<i.length;t++)e[t]=i.charCodeAt(t)&255;return e}function Bh(i){var e="";if(Array.isArray(i.chain)){for(var t=[],a=0;a<i.chain.length;a++){var A=i.chain[a];typeof A=="number"?t.push("I"+A):A&&(A.header||A.name)&&t.push((A.name||"")+"|"+(A.type|0)+"|"+(A.version|0))}e=t.join("::")}var r="IO:"+(i.inputChannels|0)+":"+(i.outputChannels|0)+";GP:"+(i.gridPoints?i.gridPoints.join(","):"")+";CH:"+e+";CLUT:",n=fh(r),o=i.CLUT,g;if(o instanceof Uint16Array)g=new Uint8Array(o.buffer,o.byteOffset,o.byteLength);else if(o instanceof Uint8Array||o instanceof Uint8ClampedArray){for(var s=new Uint16Array(o.length),a=0;a<o.length;a++)s[a]=o[a]*257;g=new Uint8Array(s.buffer)}else{for(var h=new Uint16Array(o.length),a=0;a<o.length;a++)h[a]=Math.round(Math.min(1,Math.max(0,o[a]))*65535);g=new Uint8Array(h.buffer)}var l=new Uint8Array(n.length+g.length);return l.set(n,0),l.set(g,n.length),l}function mh(i){return Array.isArray(i)?i.map(function(e,t){return t%2?{intent:e}:typeof e=="string"?{virtual:e}:{name:e&&e.name,type:e&&e.type,channels:e&&e.outputChannels,bytes:e&&e.header&&e.header.profileSize}}):[]}function dh(i,e){if(!i)return!1;var t={signature:e,version:i.version,inputChannels:i.inputChannels,outputChannels:i.outputChannels,gridPoints:Array.isArray(i.gridPoints)?i.gridPoints.slice():i.gridPoints,dataType:i.dataType,encoding:i.encoding,precision:i.precision,inputScale:i.inputScale,outputScale:i.outputScale,gamutMode:i.gamutMode,gamutLimit:i.gamutLimit,gamutMapScale:i.gamutMapScale,inLab:i.inLab,outLab:i.outLab,cells:i.CLUT?i.CLUT.length:0,bytes:i.CLUT?i.CLUT.byteLength:0,intLut:!1};return i.intLut&&(t.intLut={dataType:i.intLut.dataType,scale:i.intLut.scale,accWidth:i.intLut.accWidth,gpsPrecisionBits:i.intLut.gpsPrecisionBits,inputChannels:i.intLut.inputChannels,outputChannels:i.intLut.outputChannels,cells:i.intLut.CLUT?i.intLut.CLUT.length:0,bytes:i.intLut.CLUT?i.intLut.CLUT.byteLength:0}),t}function vh(i,e){if(e==="options.lutModeRequested")return'master resolved this from "auto"; the worker was handed the resolved value';if(i==="lut"){if(e==="chain"||e.indexOf("chain[")===0||e.indexOf("chain.")===0)return"worker rebuilt from the LUT alone and holds no profiles";if(e==="lut.outputScale"||e==="lut.inputScale"||e==="lut.dataType"||e==="lut.encoding")return"setLut() decodes the table in place, changing its encoding";if(e==="options.buildLut")return"the worker builds from a supplied LUT rather than baking one"}return null}function ka(i,e,t,a,A){if(i!==e){var r=Object.prototype.toString.call(i),n=Object.prototype.toString.call(e);if(r!==n||r!=="[object Object]"){if(r==="[object Array]"&&n==="[object Array]"){if(i.length!==e.length){A.push({worker:a,path:t+".length",master:i.length,value:e.length});return}for(var o=0;o<i.length;o++)ka(i[o],e[o],t+"["+o+"]",a,A);return}A.push({worker:a,path:t||"(root)",master:i,value:e});return}for(var g=Object.keys(i),s=0;s<g.length;s++){var h=g[s];ka(i[h],e[h],t?t+"."+h:h,a,A)}}}function Qh(i,e){try{var t=i.inputChannels+(e.inputHasAlpha?1:0);if(!t||t<1)return!1;for(var a=256,A=new Uint8ClampedArray(a*t),r=324508639,n=0;n<A.length;n++)r=Math.imul(r,1103515245)+12345&2147483647,A[n]=r>>>23&255;var o=i.transformArray(A,e.inputHasAlpha,e.outputHasAlpha,e.preserveAlpha,a),g=typeof structuredClone=="function"?structuredClone(i.lut):null;if(!g)return!1;var s=new ne({dataFormat:"int8",lutMode:i.lutMode,buildLut:!0});s.setLut(g);var h=s.transformArray(A,e.inputHasAlpha,e.outputHasAlpha,e.preserveAlpha,a);if(!o||!h||o.length!==h.length)return!1;for(var l=0;l<o.length;l++)if(o[l]!==h[l])return!1;return!0}catch{return!1}}function mt(i){return"FNV1A:"+ch(Bh(i))}ne.WASM_DISPATCH_MIN_PIXELS=256;ne.COMPAT_DEFAULTS={"1.5":{wasmMatrixShaper:!1}};ne._compatVersion=null;function Sh(i,e,t,a){if(!e||!e.data)throw new Error('transformImages: image "'+a+'" has no `data`.');var A=Mh(e,t),r=i.inputChannels+(A.inputHasAlpha?1:0),n=i.outputChannels+(A.outputHasAlpha?1:0),o=e.data.length,g=e.pixelCount;if(g==null){if(g=o/r,g!==Math.floor(g))throw new Error('transformImages: image "'+a+'" has '+o+" values, which is not a whole number of "+r+"-channel pixels"+(A.inputHasAlpha?" (including alpha)":"")+". Pass `pixelCount` explicitly, or check the alpha flags.")}else if(g*r>o)throw new Error('transformImages: image "'+a+'" declares pixelCount '+g+" x "+r+" channels = "+g*r+" values, but `data` holds "+o+". Reading it would overrun the buffer.");return{data:e.data,pixelCount:g,inChannels:r,outChannels:n,flags:A}}function Mh(i,e){var t=i&&i.inputHasAlpha!==void 0?!!i.inputHasAlpha:!!e.inputHasAlpha,a=i&&i.outputHasAlpha!==void 0?!!i.outputHasAlpha:!!e.outputHasAlpha,A;return i&&i.preserveAlpha!==void 0?A=!!i.preserveAlpha:e._preserveStated?A=!!e.preserveAlpha:A=t&&a,{inputHasAlpha:t,outputHasAlpha:a,preserveAlpha:A&&t}}function Mr(i,e,t){var a=fe.unavailableReason();return e&&e.requireWorkers===!0?Promise.reject(new Error("jsColorEngine: transformImages was called with requireWorkers:true and no workers are available. "+a+" Drop requireWorkers to run sequentially instead \u2014 the results are identical either way.")):(ne._warnedNoWorkers||(ne._warnedNoWorkers=!0,console.warn("jsColorEngine: transformImages is running SEQUENTIALLY. "+a+" The results are identical and your onImage callbacks still fire \u2014 only the speed differs. Pass requireWorkers:true if you would rather this were an error.")),t())}ne._warnedNoWorkers=!1;ne._poolDefault=null;ne._poolInfo=null;ne._warnedPoolReconfig=!1;ne._plugins=Object.create(null);ne.register=function(i){if(!i||typeof i!="object")throw new Error("Transform.register: descriptor must be an object");if(!i.name||typeof i.name!="string")throw new Error("Transform.register: descriptor.name must be a non-empty string");if(!i.lutMode||typeof i.lutMode!="string")throw new Error("Transform.register: descriptor.lutMode must be a non-empty string");if(typeof i.kernel!="function")throw new Error("Transform.register: descriptor.kernel (run closure) is required");if(i.wasmKernel!=null&&typeof i.wasmKernel!="function")throw new Error("Transform.register: descriptor.wasmKernel must be a function");if(i.simdKernel!=null&&typeof i.simdKernel!="function")throw new Error("Transform.register: descriptor.simdKernel must be a function");if(i.isSupported!=null&&typeof i.isSupported!="function")throw new Error("Transform.register: descriptor.isSupported must be a function");if(i.builder!=null&&typeof i.builder!="function")throw new Error("Transform.register: descriptor.builder must be a function");if(i.initialise!=null&&typeof i.initialise!="function")throw new Error("Transform.register: descriptor.initialise must be a function");if(i.serializer!=null&&typeof i.serializer!="function")throw new Error("Transform.register: descriptor.serializer must be a function");if(i.deserializer!=null&&typeof i.deserializer!="function")throw new Error("Transform.register: descriptor.deserializer must be a function");if(i.meta!=null&&typeof i.meta!="object"&&typeof i.meta!="function")throw new Error("Transform.register: descriptor.meta must be a plain object or function");return ne._plugins[i.lutMode]?!1:(ne._plugins[i.lutMode]={name:i.name,lutMode:i.lutMode,kernel:i.kernel,wasmKernel:i.wasmKernel||null,simdKernel:i.simdKernel||null,isSupported:i.isSupported||null,builder:i.builder||null,initialise:i.initialise||null,serializer:i.serializer||null,deserializer:i.deserializer||null,meta:i.meta||null},!0)};ne.registered=function(){return Object.keys(ne._plugins).map(function(i){var e=ne._plugins[i];return{name:e.name,lutMode:e.lutMode,meta:e.meta}})};ne._behaviours=Object.create(null);ne.behaviour=function(i){if(!i||typeof i!="object")throw new Error("Transform.behaviour: descriptor must be an object");if(!i.name||typeof i.name!="string")throw new Error("Transform.behaviour: descriptor.name must be a non-empty string");if(typeof i.apply!="function")throw new Error("Transform.behaviour: descriptor.apply must be a function");return ne._behaviours[i.name]?!1:(ne._behaviours[i.name]=i,!0)};ne.lutToJSON=function(i,e){return yr(i,e)};ne.jsonToLut=function(i){if(i==null)throw"Transform.jsonToLut: input is required";var e=typeof i=="string"?JSON.parse(i):i;if(!e.CLUT)throw"Transform.jsonToLut: input has no CLUT";var t=Object.assign({},e);return wr(t),t};ne.fromJSON=function(i,e){if(i==null)throw"Transform.fromJSON: input is required";var t=typeof i=="string"?JSON.parse(i):i,a=Object.assign({},t),A=e||{};!A.lutMode&&t.lutMode&&ne._plugins[t.lutMode]&&(A=Object.assign({},A,{lutMode:t.lutMode}));var r=new ne(A);return r.setLut(a,A),r};ne.signLut=function(i){return mt(i)};ne.verifyLut=function(i){if(i==null)return null;var e=typeof i=="string"?JSON.parse(i):i;if(!e.originalSignature)return null;var t=e.encoding==="base64"?ne.jsonToLut(Object.assign({},e)):e;return mt(t)===e.originalSignature};function Ue(i){Object.keys(i).forEach(function(e){Object.defineProperty(ne.prototype,e,{value:i[e],writable:!0,configurable:!0,enumerable:!1})})}Ue(ia());Ue(ra());Ue(Aa());Ue(na());Ue(ha());Ue(la());Ue(Ii());Ue(qe());Ue(fi());["wasmTetra3D","wasmTetra3DSimd","wasmTetra3DInt16","wasmTetra3DInt16Simd","wasmTetra4D","wasmTetra4DSimd","wasmTetra4DInt16","wasmTetra4DInt16Simd","wasmTetra5D","wasmTetra6D"].forEach(function(i){Object.defineProperty(ne.prototype,i,{configurable:!0,enumerable:!1,get:function(){return this.kernel?this.kernel[i]:null},set:function(e){this.kernel&&(this.kernel[i]=e)}})});ne.registerKernel(di());ne.registerKernel(ki());ne.registerKernel(Ui());ne.registerKernel(rr());ne.registerKernel(nr());ne.registerKernel(Ir());ne.registerKernel(Br());ne.registerKernel(Qr());Dr.exports=ne});var Rr=ae((Nl,xr)=>{"use strict";var st=je(),qt=[{name:"A",description:"# CIE standard Illuminant A, a typical tungsten-filament light with relative spectral power distribution of 2856K, at 1nm resolution",startnm:300,endnm:830,step:1,range:1e3,temp:2856.1,whitePoint:st.a,data:[.930483,.967643,1.00597,1.04549,1.08623,1.12821,1.17147,1.21602,1.26188,1.3091,1.35769,1.40768,1.4591,1.51198,1.56633,1.62219,1.67959,1.73855,1.7991,1.86127,1.92508,1.99057,2.05776,2.12667,2.19734,2.2698,2.34406,2.42017,2.49814,2.57801,2.65981,2.74355,2.82928,2.91701,3.00678,3.09861,3.19253,3.28857,3.38676,3.48712,3.58968,3.69447,3.80152,3.91085,4.0225,4.13648,4.25282,4.37156,4.49272,4.61631,4.74238,4.87095,5.00204,5.13568,5.27189,5.4107,5.55213,5.69622,5.84298,5.99244,6.14462,6.29955,6.45724,6.61774,6.78105,6.9472,7.11621,7.28811,7.46292,7.64066,7.82135,8.00501,8.19167,8.38134,8.57404,8.7698,8.96864,9.17056,9.37561,9.58378,9.7951,10.0096,10.2273,10.4481,10.6722,10.8996,11.1302,11.364,11.6012,11.8416,12.0853,12.3324,12.5828,12.8366,13.0938,13.3543,13.6182,13.8855,14.1563,14.4304,14.708,14.9891,15.2736,15.5616,15.853,16.148,16.4464,16.7484,17.0538,17.3628,17.6753,17.9913,18.3108,18.6339,18.9605,19.2907,19.6244,19.9617,20.3026,20.647,20.995,21.3465,21.7016,22.0603,22.4225,22.7883,23.1577,23.5307,23.9072,24.2873,24.6709,25.0581,25.4489,25.8432,26.2411,26.6425,27.0475,27.456,27.8681,28.2836,28.7027,29.1253,29.5515,29.9811,30.4142,30.8508,31.2909,31.7345,32.1815,32.632,33.0859,33.5432,34.004,34.4682,34.9358,35.4068,35.8811,36.3588,36.8399,37.3243,37.8121,38.3031,38.7975,39.2951,39.796,40.3002,40.8076,41.3182,41.832,42.3491,42.8693,43.3926,43.9192,44.4488,44.9816,45.5174,46.0563,46.5983,47.1433,47.6913,48.2423,48.7963,49.3533,49.9132,50.476,51.0418,51.6104,52.1818,52.7561,53.3332,53.9132,54.4958,55.0813,55.6694,56.2603,56.8539,57.4501,58.0489,58.6504,59.2545,59.8611,60.4703,61.082,61.6962,62.3128,62.932,63.5535,64.1775,64.8038,65.4325,66.0635,66.6968,67.3324,67.9702,68.6102,69.2525,69.8969,70.5435,71.1922,71.843,72.4959,73.1508,73.8077,74.4666,75.1275,75.7903,76.4551,77.1217,77.7902,78.4605,79.1326,79.8065,80.4821,81.1595,81.8386,82.5193,83.2017,83.8856,84.5712,85.2584,85.947,86.6372,87.3288,88.0219,88.7165,89.4124,90.1097,90.8083,91.5082,92.2095,92.912,93.6157,94.3206,95.0267,95.7339,96.4423,97.1518,97.8623,98.5739,99.2864,100,100.715,101.43,102.146,102.864,103.582,104.301,105.02,105.741,106.462,107.184,107.906,108.63,109.354,110.078,110.803,111.529,112.255,112.982,113.709,114.436,115.164,115.893,116.622,117.351,118.08,118.81,119.54,120.27,121.001,121.731,122.462,123.193,123.924,124.655,125.386,126.118,126.849,127.58,128.312,129.043,129.774,130.505,131.236,131.966,132.697,133.427,134.157,134.887,135.617,136.346,137.075,137.804,138.532,139.26,139.988,140.715,141.441,142.167,142.893,143.618,144.343,145.067,145.79,146.513,147.235,147.957,148.678,149.398,150.117,150.836,151.554,152.271,152.988,153.704,154.418,155.132,155.845,156.558,157.269,157.979,158.689,159.397,160.104,160.811,161.516,162.221,162.924,163.626,164.327,165.028,165.726,166.424,167.121,167.816,168.51,169.203,169.895,170.586,171.275,171.963,172.65,173.335,174.019,174.702,175.383,176.063,176.741,177.419,178.094,178.769,179.441,180.113,180.783,181.451,182.118,182.783,183.447,184.109,184.77,185.429,186.087,186.743,187.397,188.05,188.701,189.35,189.998,190.644,191.288,191.931,192.572,193.211,193.849,194.484,195.118,195.75,196.381,197.009,197.636,198.261,198.884,199.506,200.125,200.743,201.359,201.972,202.584,203.195,203.803,204.409,205.013,205.616,206.216,206.815,207.411,208.006,208.599,209.189,209.778,210.365,210.949,211.532,212.112,212.691,213.268,213.842,214.415,214.985,215.553,216.12,216.684,217.246,217.806,218.364,218.92,219.473,220.025,220.574,221.122,221.667,222.21,222.751,223.29,223.826,224.361,224.893,225.423,225.951,226.477,227,227.522,228.041,228.558,229.073,229.585,230.096,230.604,231.11,231.614,232.115,232.615,233.112,233.606,234.099,234.589,235.078,235.564,236.047,236.529,237.008,237.485,237.959,238.432,238.902,239.37,239.836,240.299,240.76,241.219,241.675,242.13,242.582,243.031,243.479,243.924,244.367,244.808,245.246,245.682,246.116,246.548,246.977,247.404,247.829,248.251,248.671,249.089,249.505,249.918,250.329,250.738,251.144,251.548,251.95,252.35,252.747,253.142,253.535,253.925,254.314,254.7,255.083,255.465,255.844,256.221,256.595,256.968,257.338,257.706,258.071,258.434,258.795,259.154,259.511,259.865,260.217,260.567,260.914,261.259,261.602]},{name:"C",description:"CIE deprecated standard Illuminant C, approximately 6774K, at 5nm resolution",startnm:380,endnm:780,step:5,range:1e3,temp:6769.2,whitePoint:st.c,data:[33,39.92,47.4,55.17,63.3,71.81,80.6,89.53,98.1,105.8,112.4,117.75,121.5,123.45,124,123.6,123.1,123.3,123.8,124.09,123.9,122.92,120.7,116.9,112.1,106.98,102.3,98.81,96.9,96.78,98,99.94,102.1,103.95,105.2,105.67,105.3,104.11,102.3,100.15,97.8,95.43,93.2,91.22,89.7,88.83,88.4,88.19,88.1,88.06,88,87.86,87.8,87.99,88.2,88.2,87.9,87.22,86.3,85.3,84,82.21,80.2,78.24,76.3,74.36,72.4,70.4,68.3,66.3,64.4,62.8,61.5,60.2,59.2,58.5,58.1,58,58.2,58.5,59.1]},{name:"D50",description:"CIE standard D50 illuminator, approximating light at the horizon at 5nm resolution",isDefault:!0,startnm:380,endnm:780,step:5,range:1e3,temp:5e3,whitePoint:st.d50,data:[24.5,27.2,29.8,39.6,49.3,52.9,56.5,58.3,60,58.9,57.8,66.3,74.8,81,87.2,88.9,90.6,91,91.4,93.3,95.2,93.6,92,93.9,95.7,96.2,96.6,96.9,97.1,99.6,102.1,101.5,100.8,101.6,102.3,101.2,100,98.9,97.7,98.3,98.9,96.2,93.5,95.6,97.7,98.5,99.3,99.2,99,97.4,95.7,97.3,98.8,97.3,95.7,97,98.2,100.6,103,101.1,99.1,93.3,87.4,89.5,91.6,92.3,92.9,84.9,76.8,81.7,86.6,89.6,92.6,85.4,78.2,68,57.7,70.3,82.9,80.6,78.3]},{name:"D55",description:"CIE standard Illuminant D55, mid-morning/mid-afternoon daylight, at 5nm resolution",startnm:380,endnm:780,step:5,range:1e3,temp:5500,whitePoint:st.d55,data:[32.58,35.34,38.09,49.52,60.95,64.75,68.55,70.07,71.58,69.75,67.91,76.76,85.61,91.8,97.99,99.23,100.46,100.19,99.91,101.33,102.74,100.41,98.08,99.38,100.68,100.69,100.7,100.34,99.99,102.1,104.21,103.16,102.1,102.53,102.97,101.48,100,98.61,97.22,97.48,97.75,94.59,91.43,92.93,94.42,94.78,95.14,94.68,94.22,92.33,90.45,91.39,92.33,90.59,88.85,89.59,90.32,92.13,93.95,91.95,89.96,84.82,79.68,81.26,82.84,83.84,84.84,77.54,70.24,74.77,79.3,82.15,84.99,78.44,71.88,62.34,52.79,64.36,75.93,73.87,71.82]},{name:"D65",description:"CIE standard Illuminant D65, at 5nm resolution",startnm:300,endnm:830,step:5,range:1e3,temp:6500,whitePoint:st.d65,data:[.0341,1.6643,3.2945,11.7652,20.236,28.6447,37.0535,38.5011,39.9488,42.4302,44.9117,45.775,46.6383,49.3637,52.0891,51.0323,49.9755,52.3118,54.6482,68.7015,82.7549,87.1204,91.486,92.4589,93.4318,90.057,86.6823,95.7736,104.865,110.936,117.008,117.41,117.812,116.336,114.861,115.392,115.923,112.367,108.811,109.082,109.354,108.578,107.802,106.296,104.79,106.239,107.689,106.047,104.405,104.225,104.046,102.023,100,98.1671,96.3342,96.0611,95.788,92.2368,88.6856,89.3459,90.0062,89.8026,89.5991,88.6489,87.6987,85.4936,83.2886,83.4939,83.6992,81.863,80.0268,80.1207,80.2146,81.2462,82.2778,80.281,78.2842,74.0027,69.7213,70.6652,71.6091,72.979,74.349,67.9765,61.604,65.7448,69.8856,72.4863,75.087,69.3398,63.5927,55.0054,46.4182,56.6118,66.8054,65.0941,63.3828,63.8434,64.304,61.8779,59.4519,55.7054,51.959,54.6998,57.4406,58.8765,60.3125]}],Tt=[{name:"2",description:"CIE 1931 standard 2\xB0 observer tristimulus response values",isDefault:!0,startnm:360,endnm:830,step:1,range:1e3,X:[1299e-7,1458e-7,1638e-7,184e-6,2067e-7,2321e-7,2607e-7,2931e-7,3294e-7,3699e-7,4149e-7,4642e-7,519e-6,5819e-7,6552e-7,7416e-7,845e-6,9645e-7,.0010949,.0012312,.001368,.0015021,.0016423,.0018024,.0019958,.002236,.0025354,.0028926,.0033008,.0037532,.004243,.0047624,.00533,.0059787,.0067411,.00765,.0087514,.0100289,.0114217,.012869,.01431,.0157044,.0171474,.0187812,.020748,.02319,.0262074,.0297825,.0338809,.0384682,.04351,.0489956,.0550226,.0617188,.069212,.07763,.0869581,.0971767,.1084063,.1207672,.13438,.1493582,.1653957,.1819831,.198611,.21477,.2301868,.2448797,.2587773,.2718079,.2839,.2949438,.3048965,.3137873,.3216454,.3285,.3343513,.3392101,.3431213,.3461296,.34828,.3495999,.3501474,.350013,.349287,.34806,.3463733,.3442624,.3418088,.3390941,.3362,.3331977,.3300411,.3266357,.3228868,.3187,.3140251,.308884,.3032904,.2972579,.2908,.2839701,.2767214,.2689178,.2604227,.2511,.2408475,.2298512,.2184072,.2068115,.19536,.1842136,.1733273,.1626881,.1522833,.1421,.1321786,.1225696,.1132752,.1042979,.09564,.0872996,.079308,.0717178,.064581,.05795,.0518621,.0462815,.0411509,.0364128,.03201,.0279172,.0241444,.020687,.0175404,.0147,.0121618,.00992,.0079672,.0062963,.0049,.0037772,.0029453,.0024249,.0022363,.0024,.0029255,.0038366,.0051748,.0069821,.0093,.0121495,.0155359,.0194775,.0239928,.0291,.0348149,.0411202,.047985,.0553786,.06327,.071635,.0804622,.08974,.0994565,.1096,.1201674,.1311145,.1423679,.1538542,.1655,.1772571,.18914,.2011694,.2133658,.2257499,.2383209,.2510668,.2639922,.2771017,.2904,.3038912,.3175726,.3314384,.3454828,.3597,.3740839,.3886396,.4033784,.4183115,.4334499,.4487953,.464336,.480064,.4959713,.5120501,.5282959,.5446916,.5612094,.5778215,.5945,.6112209,.6279758,.6447602,.6615697,.6784,.6952392,.7120586,.7288284,.7455188,.7621,.7785432,.7948256,.8109264,.8268248,.8425,.8579325,.8730816,.8878944,.9023181,.9163,.9297995,.9427984,.9552776,.9672179,.9786,.9893856,.9995488,1.0090892,1.0180064,1.0263,1.0339827,1.040986,1.047188,1.0524667,1.0567,1.0597944,1.0617992,1.0628068,1.0629096,1.0622,1.0607352,1.0584436,1.0552244,1.0509768,1.0456,1.0390369,1.0313608,1.0226662,1.0130477,1.0026,.9913675,.9793314,.9664916,.9528479,.9384,.923194,.907244,.890502,.87292,.8544499,.835084,.814946,.794186,.772954,.7514,.7295836,.7075888,.6856022,.6638104,.6424,.6215149,.6011138,.5811052,.5613977,.5419,.5225995,.5035464,.4847436,.4661939,.4479,.4298613,.412098,.394644,.3775333,.3608,.3444563,.3285168,.3130192,.2980011,.2835,.2695448,.2561184,.2431896,.2307272,.2187,.2070971,.1959232,.1851708,.1748323,.1649,.1553667,.14623,.13749,.1291467,.1212,.1136397,.106465,.0996904,.0933306,.0874,.081901,.0768043,.0720771,.0676866,.0636,.0598069,.0562822,.052971,.0498186,.04677,.0437841,.0408754,.0380726,.0354046,.0329,.0305642,.0283806,.0263448,.0244528,.0227,.0210843,.0195999,.0182373,.0169872,.01584,.0147906,.0138313,.0129487,.0121292,.0113592,.0106294,.0099388,.0092884,.0086789,.0081109,.0075824,.0070887,.0066273,.0061954,.0057903,.0054098,.0050526,.0047175,.0044035,.0041095,.0038339,.0035757,.0033343,.0031091,.0028993,.0027043,.002523,.0023542,.0021966,.0020492,.001911,.0017814,.0016601,.0015465,.00144,.00134,.0012463,.0011585,.0010764,9999e-7,9287e-7,8624e-7,8008e-7,7434e-7,6901e-7,6405e-7,5945e-7,5519e-7,5124e-7,476e-6,4425e-7,4115e-7,383e-6,3566e-7,3323e-7,3098e-7,2889e-7,2695e-7,2516e-7,2348e-7,2192e-7,2045e-7,1908e-7,1781e-7,1662e-7,155e-6,1446e-7,1349e-7,1259e-7,1174e-7,1096e-7,1022e-7,9539e-8,8902e-8,8308e-8,7751e-8,7231e-8,6746e-8,6293e-8,5871e-8,5477e-8,511e-7,4768e-8,4449e-8,4151e-8,3873e-8,3614e-8,3372e-8,3146e-8,2935e-8,2738e-8,2552e-8,2379e-8,2218e-8,2067e-8,1927e-8,1797e-8,1675e-8,1562e-8,1456e-8,1357e-8,1265e-8,118e-7,11e-6,1025e-8,956e-8,8912e-9,8308e-9,7746e-9,7221e-9,6732e-9,6276e-9,5851e-9,5455e-9,5086e-9,4741e-9,442e-8,4121e-9,3842e-9,3582e-9,3339e-9,3113e-9,2902e-9,2706e-9,2523e-9,2352e-9,2192e-9,2044e-9,1905e-9,1777e-9,1656e-9,1544e-9,1439e-9,1342e-9,1251e-9],Y:[3917e-9,4394e-9,493e-8,5532e-9,6208e-9,6965e-9,7813e-9,8767e-9,984e-8,1104e-8,1239e-8,1389e-8,1556e-8,1744e-8,1958e-8,2202e-8,2484e-8,2804e-8,3153e-8,3522e-8,39e-6,4283e-8,4691e-8,5159e-8,5718e-8,64e-6,7234e-8,8221e-8,9351e-8,1061e-7,12e-5,135e-6,1515e-7,1702e-7,1918e-7,217e-6,2469e-7,2812e-7,3185e-7,3573e-7,396e-6,4337e-7,473e-6,5179e-7,5722e-7,64e-5,7246e-7,8255e-7,9412e-7,.0010699,.00121,.0013621,.0015308,.0017204,.0019353,.00218,.0024548,.002764,.0031178,.0035264,.004,.0045462,.0051593,.0058293,.0065462,.0073,.0080865,.0089087,.0097677,.0106644,.0116,.0125732,.0135827,.0146297,.0157151,.01684,.0180074,.0192145,.0204539,.0217182,.023,.0242946,.0256102,.0269586,.0283513,.0298,.0313108,.0328837,.0345211,.0362257,.038,.0398467,.041768,.043766,.0458427,.048,.0502437,.052573,.0549806,.0574587,.06,.062602,.0652775,.0680421,.0709111,.0739,.077016,.0802664,.0836668,.0872328,.09098,.0949176,.0990458,.1033674,.1078846,.1126,.117532,.1226744,.1279928,.1334528,.13902,.1446764,.1504693,.1564619,.1627177,.1693,.1762431,.1835581,.1912735,.199418,.20802,.2171199,.2267345,.2368571,.2474812,.2586,.2701849,.2822939,.2950505,.308578,.323,.3384021,.3546858,.3716986,.3892875,.4073,.4256299,.4443096,.4633944,.4829395,.503,.5235693,.544512,.56569,.5869653,.6082,.6293456,.6503068,.6708752,.6908424,.71,.7281852,.7454636,.7619694,.7778368,.7932,.8081104,.8224962,.8363068,.8494916,.862,.8738108,.8849624,.8954936,.9054432,.9148501,.9237348,.9320924,.9399226,.9472252,.954,.9602561,.9660074,.9712606,.9760225,.9803,.9840924,.9874182,.9903128,.9928116,.9949501,.9967108,.9980983,.999112,.9997482,1,.9998567,.9993046,.9983255,.9968987,.995,.9926005,.9897426,.9864444,.9827241,.9786,.9740837,.9691712,.9638568,.9581349,.952,.9454504,.9384992,.9311628,.9234576,.9154,.9070064,.8982772,.8892048,.8797816,.87,.8598613,.849392,.838622,.8275813,.8163,.8047947,.793082,.781192,.7691547,.757,.7447541,.7324224,.7200036,.7074965,.6949,.6822192,.6694716,.6566744,.6438448,.631,.6181555,.6053144,.5924756,.5796379,.5668,.5539611,.5411372,.5283528,.5156323,.503,.4904688,.4780304,.4656776,.4534032,.4412,.42908,.417036,.405032,.393032,.381,.3689184,.3568272,.3447768,.3328176,.321,.3093381,.2978504,.2865936,.2756245,.265,.2547632,.2448896,.2353344,.2260528,.217,.2081616,.1995488,.1911552,.1829744,.175,.1672235,.1596464,.1522776,.1451259,.1382,.1315003,.1250248,.1187792,.1127691,.107,.1014762,.0961886,.091123,.0862649,.0816,.0771206,.0728255,.0687101,.0647698,.061,.0573962,.053955,.0506738,.0475497,.04458,.0417587,.039085,.0365638,.0342005,.032,.0299626,.0280766,.0263294,.0247081,.0232,.0218008,.0205011,.0192811,.0181207,.017,.0159038,.0148372,.0138107,.0128348,.01192,.0110683,.0102734,.0095333,.0088462,.00821,.0076238,.0070854,.0065915,.0061385,.005723,.0053431,.0049958,.0046764,.0043801,.004102,.0038385,.0035891,.0033542,.0031341,.002929,.0027381,.0025599,.0023932,.0022373,.002091,.0019536,.0018246,.0017036,.0015902,.001484,.0013845,.0012913,.0012041,.0011227,.001047,9766e-7,9111e-7,8501e-7,7932e-7,74e-5,6901e-7,6433e-7,5995e-7,5585e-7,52e-5,4839e-7,4501e-7,4183e-7,3887e-7,3611e-7,3354e-7,3114e-7,2892e-7,2685e-7,2492e-7,2313e-7,2147e-7,1993e-7,185e-6,1719e-7,1598e-7,1486e-7,1383e-7,1288e-7,12e-5,1119e-7,1043e-7,9734e-8,9085e-8,848e-7,7915e-8,7386e-8,6892e-8,643e-7,6e-5,5598e-8,5223e-8,4872e-8,4545e-8,424e-7,3956e-8,3692e-8,3445e-8,3215e-8,3e-5,2799e-8,2611e-8,2436e-8,2272e-8,212e-7,1978e-8,1845e-8,1722e-8,1606e-8,1499e-8,1399e-8,1305e-8,1218e-8,1136e-8,106e-7,9886e-9,9217e-9,8592e-9,8009e-9,7466e-9,696e-8,6488e-9,6049e-9,5639e-9,5258e-9,4902e-9,457e-8,426e-8,3972e-9,3703e-9,3452e-9,3218e-9,3e-6,2797e-9,2608e-9,2431e-9,2267e-9,2113e-9,197e-8,1837e-9,1712e-9,1596e-9,1488e-9,1387e-9,1293e-9,1206e-9,1124e-9,1048e-9,9771e-10,9109e-10,8493e-10,7917e-10,7381e-10,6881e-10,6415e-10,5981e-10,5576e-10,5198e-10,4846e-10,4518e-10],Z:[6061e-7,6809e-7,7651e-7,86e-5,9666e-7,.001086,.0012206,.0013727,.0015436,.0017343,.001946,.0021778,.0024358,.002732,.0030781,.003486,.0039752,.0045409,.0051583,.0058029,.00645,.0070832,.0077455,.0085012,.0094145,.01055,.0119658,.0136559,.0155881,.0177302,.02005,.0225114,.0252029,.0282797,.031897,.03621,.0414377,.0475037,.0541199,.060998,.06785,.0744863,.0813616,.0891536,.0985405,.1102,.1246133,.1417017,.1613035,.1832568,.2074,.2336921,.2626114,.2947746,.3307985,.3713,.4162091,.4654642,.5196948,.5795303,.6456,.7184838,.7967133,.8778459,.959439,1.0390501,1.1153673,1.1884971,1.2581233,1.3239296,1.3856,1.4426352,1.4948035,1.5421903,1.5848807,1.62296,1.6564048,1.6852959,1.7098745,1.7303821,1.74706,1.7600446,1.7696233,1.7762637,1.7804334,1.7826,1.7829682,1.7816998,1.7791982,1.7758671,1.77211,1.7682589,1.764039,1.7589438,1.7524663,1.7441,1.7335595,1.7208581,1.7059369,1.6887372,1.6692,1.6475287,1.6234127,1.5960223,1.564528,1.5281,1.4861114,1.4395215,1.3898799,1.3387362,1.28764,1.2374223,1.1878243,1.1387611,1.090148,1.0419,.9941976,.9473473,.9014531,.8566193,.8129501,.7705173,.7294448,.6899136,.6521049,.6162,.5823286,.5504162,.5203376,.4919673,.46518,.4399246,.4161836,.3938822,.3729459,.3533,.3348578,.3175521,.3013375,.2861686,.272,.2588171,.2464838,.2347718,.2234533,.2123,.2011692,.1901196,.1792254,.1685608,.1582,.1481383,.1383758,.1289942,.1200751,.1117,.1039048,.0966675,.0899827,.0838453,.07825,.073209,.0686782,.0645678,.0607884,.05725,.0539044,.0507466,.0477528,.0448986,.04216,.0395073,.0369356,.0344584,.0320887,.02984,.0277118,.0256944,.0237872,.0219893,.0203,.0187181,.0172404,.0158636,.0145846,.0134,.0123072,.0113019,.0103779,.0095293,.00875,.0080352,.0073816,.0067854,.0062428,.00575,.0053036,.0048998,.0045342,.0042024,.0039,.0036232,.0033706,.0031414,.0029348,.00275,.0025852,.0024386,.0023094,.0021968,.0021,.0020177,.0019482,.0018898,.0018409,.0018,.0017663,.0017378,.0017112,.0016831,.00165,.0016101,.0015644,.0015136,.0014585,.0014,.0013367,.00127,.001205,.0011467,.0011,.0010688,.0010494,.0010356,.0010212,.001,9686e-7,9299e-7,8869e-7,8426e-7,8e-4,761e-6,7237e-7,6859e-7,6454e-7,6e-4,5479e-7,4916e-7,4354e-7,3835e-7,34e-5,3073e-7,2832e-7,2654e-7,2518e-7,24e-5,2295e-7,2206e-7,212e-6,2022e-7,19e-5,1742e-7,1556e-7,136e-6,1169e-7,1e-4,8613e-8,746e-7,65e-6,5693e-8,5e-5,4416e-8,3948e-8,3572e-8,3264e-8,3e-5,2765e-8,2556e-8,2364e-8,2181e-8,2e-5,1813e-8,162e-7,142e-7,1213e-8,1e-5,7733e-9,54e-7,32e-7,1333e-9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},{name:"10",description:"CIE 1964 10\xB0 standard observer tristimulus response values",startnm:360,endnm:830,step:1,range:1e3,X:[122e-9,185e-9,279e-9,417e-9,621e-9,919e-9,1352e-9,1977e-9,2872e-9,415e-8,5959e-9,8506e-9,12069e-9,17023e-9,23868e-9,33266e-9,46087e-9,63472e-9,86892e-9,118246e-9,159952e-9,21508e-8,28749e-8,38199e-8,50455e-8,66244e-8,8645e-7,.0011215,.00144616,.00185359,.0023616,.0029906,.0037645,.0047102,.0058581,.0072423,.0088996,.0108709,.0131989,.0159292,.0191097,.022788,.027011,.031829,.037278,.0434,.050223,.057764,.066038,.075033,.084736,.095041,.105836,.117066,.128682,.140638,.152893,.165416,.178191,.191214,.204492,.21765,.230267,.242311,.253793,.264737,.275195,.285301,.295143,.304869,.314679,.324355,.33357,.342243,.350312,.357719,.364482,.370493,.375727,.380158,.383734,.386327,.387858,.388396,.387978,.386726,.384696,.382006,.378709,.374915,.370702,.366089,.361045,.355518,.349486,.342957,.335893,.328284,.32015,.311475,.302273,.292858,.283502,.274044,.264263,.254085,.243392,.232187,.220488,.208198,.195618,.183034,.170222,.157348,.14465,.132349,.120584,.109456,.099042,.089388,.080507,.072034,.06371,.055694,.048117,.041072,.034642,.028896,.023876,.019628,.016172,.0133,.010759,.008542,.006661,.005132,.003982,.003239,.002934,.003114,.003816,.005095,.006936,.009299,.012147,.015444,.019156,.02325,.02769,.032444,.037465,.042956,.049114,.05592,.063349,.071358,.079901,.088909,.098293,.107949,.117749,.127839,.13845,.149516,.161041,.172953,.185209,.197755,.210538,.22346,.236491,.249633,.262972,.276515,.290269,.304213,.318361,.332705,.347232,.361926,.376772,.391683,.406594,.421539,.436517,.451584,.466782,.482147,.497738,.513606,.529826,.54644,.563426,.580726,.59829,.616053,.633948,.651901,.669824,.687632,.705224,.722773,.740483,.758273,.776083,.793832,.811436,.828822,.845879,.862525,.878655,.894208,.909206,.923672,.937638,.951162,.964283,.977068,.98959,1.002,1.014,1.026,1.039,1.051,1.063,1.074,1.085,1.095,1.104,1.112,1.119,1.124,1.128,1.131,1.133,1.134,1.134,1.133,1.131,1.128,1.124,1.119,1.113,1.106,1.098,1.089,1.079,1.068,1.057,1.044,1.03,1.016,1.001,.98479,.96808,.95074,.9328,.91434,.89539,.87603,.856297,.83635,.81629,.79605,.77561,.75493,.73399,.71278,.69129,.66952,.647467,.62511,.60252,.57989,.55737,.53511,.51324,.49186,.47108,.45096,.431567,.41287,.39475,.37721,.36019,.34369,.32769,.31217,.29711,.2825,.268329,.25459,.2413,.22848,.21614,.2043,.19295,.18211,.17177,.16192,.152568,.14367,.1352,.12713,.11948,.11221,.10531,.098786,.09261,.086773,.0812606,.076048,.071114,.066454,.062062,.05793,.05405,.050412,.047006,.043823,.0408508,.038072,.035468,.033031,.030753,.028623,.026635,.024781,.023052,.021441,.0199413,.018544,.017241,.016027,.014896,.013842,.012862,.011949,.0111,.010311,.00957688,.008894,.0082581,.0076664,.0071163,.0066052,.0061306,.0056903,.0052819,.0049033,.00455263,.0042275,.0039258,.0036457,.0033859,.0031447,.0029208,.002713,.0025202,.0023411,.00217496,.0020206,.0018773,.0017441,.0016205,.0015057,.0013992,.0013004,.0012087,.0011236,.00104476,97156e-8,9036e-7,84048e-8,78187e-8,72745e-8,6769e-7,62996e-8,58637e-8,54587e-8,508258e-9,4733e-7,4408e-7,41058e-8,38249e-8,35638e-8,33211e-8,30955e-8,28858e-8,26909e-8,250969e-9,23413e-8,21847e-8,20391e-8,19035e-8,17773e-8,16597e-8,15502e-8,1448e-7,13528e-8,12639e-8,1181e-7,11037e-8,10315e-8,96427e-9,90151e-9,84294e-9,7883e-8,73729e-9,68969e-9,64526e-9,60376e-9,565e-7,5288e-8,49498e-9,46339e-9,43389e-9,40634e-9,3806e-8,35657e-9,33412e-9,31315e-9,29355e-9,27524e-9,25811e-9,24209e-9,22711e-9,21308e-9,19994e-9,18764e-9,17612e-9,16532e-9,15521e-9,14574e-9,13686e-9,12855e-9,12075e-9,11345e-9,10659e-9,10017e-9,9414e-9,8848e-9,8317e-9,7819e-9,7352e-9,6913e-9,6502e-9,6115e-9,5753e-9,5413e-9,5093e-9,4794e-9,4512e-9,4248e-9,4e-6,3767e-9,3548e-9,3342e-9,3148e-9,2966e-9,2795e-9,2634e-9,2483e-9,2341e-9,2208e-9,2082e-9,1964e-9,1852e-9,1746e-9,1647e-9,1553e-9],Y:[13e-9,2e-8,31e-9,46e-9,68e-9,101e-9,148e-9,216e-9,314e-9,454e-9,651e-9,929e-9,1318e-9,1857e-9,2602e-9,3625e-9,5019e-9,6907e-9,9449e-9,12848e-9,17364e-9,23327e-9,3115e-8,4135e-8,5456e-8,7156e-8,933e-7,12087e-8,15564e-8,1992e-7,2534e-7,3202e-7,4024e-7,5023e-7,6232e-7,7685e-7,9417e-7,.0011478,.0013903,.001674,.0020044,.002386,.002822,.003319,.00388,.004509,.005209,.005985,.006833,.007757,.008756,.009816,.010918,.012058,.013237,.014456,.015717,.017025,.018399,.019848,.021391,.022992,.024598,.026213,.027841,.029497,.031195,.032927,.034738,.036654,.038676,.040792,.042946,.045114,.047333,.049602,.051934,.054337,.056822,.059399,.062077,.064737,.067285,.069764,.072218,.074704,.077272,.079979,.082874,.086,.089456,.092947,.096275,.099535,.102829,.106256,.109901,.113835,.118167,.122932,.128201,.133457,.138323,.143042,.147787,.152761,.158102,.163941,.170362,.177425,.18519,.193025,.200313,.207156,.213644,.21994,.22617,.232467,.239025,.245997,.253589,.261876,.270643,.279645,.288694,.297665,.306469,.315035,.323335,.331366,.339133,.34786,.358326,.370001,.382464,.395379,.408482,.421588,.434619,.447601,.460777,.47434,.4882,.50234,.51674,.53136,.54619,.56118,.57629,.5915,.606741,.62215,.63783,.65371,.66968,.68566,.70155,.71723,.73257,.74746,.761757,.77534,.78822,.80046,.81214,.82333,.83412,.8446,.85487,.86504,.875211,.88537,.89537,.90515,.91465,.92381,.93255,.94081,.94852,.9556,.961988,.96754,.97223,.97617,.97946,.9822,.98452,.98652,.98832,.99002,.991761,.99353,.99523,.99677,.99809,.99911,.99977,1,.99971,.99885,.99734,.99526,.99274,.98975,.9863,.98238,.97798,.97311,.96774,.96189,.955552,.948601,.940981,.932798,.924158,.915175,.905954,.896608,.887249,.877986,.868934,.860164,.851519,.842963,.834393,.825623,.816764,.807544,.797947,.787893,.777405,.76649,.755309,.743845,.73219,.720353,.708281,.696055,.683621,.671048,.658341,.645545,.632718,.619815,.606887,.593878,.580781,.567653,.55449,.541228,.527963,.514634,.501363,.488124,.474935,.461834,.448823,.435917,.423153,.410526,.398057,.385835,.373951,.362311,.350863,.339554,.328309,.317118,.305936,.294737,.283493,.272222,.26099,.249877,.238946,.228254,.217853,.20778,.198072,.188748,.179828,.171285,.163059,.155151,.147535,.140211,.13317,.1264,.119892,.11364,.107633,.10187,.096347,.091063,.08601,.081187,.076583,.072198,.068024,.064052,.060281,.056697,.053292,.050059,.046998,.044096,.041345,.0387507,.0362978,.0339832,.0318004,.0297395,.0277918,.0259551,.0242263,.0226017,.0210779,.0196505,.0183153,.0170686,.0159051,.0148183,.0138008,.0128495,.0119607,.0111303,.0103555,.0096332,.0089599,.0083324,.0077488,.0072046,.0066975,.0062251,.005785,.0053751,.0049941,.0046392,.0043093,.0040028,.00371774,.00345262,.00320583,.00297623,.00276281,.00256456,.00238048,.00220971,.00205132,.00190449,.00176847,.00164236,.00152535,.00141672,.00131595,.00122239,.00113555,.00105494,98014e-8,91066e-8,84619e-8,78629e-8,73068e-8,67899e-8,63101e-8,58644e-8,54511e-8,50672e-8,47111e-8,43805e-8,40741e-8,378962e-9,352543e-9,328001e-9,305208e-9,284041e-9,264375e-9,246109e-9,229143e-9,213376e-9,19873e-8,185115e-9,172454e-9,160678e-9,14973e-8,13955e-8,130086e-9,12129e-8,113106e-9,105501e-9,98428e-9,91853e-9,85738e-9,80048e-9,74751e-9,69819e-9,65222e-9,60939e-9,56942e-9,53217e-9,49737e-9,46491e-9,43464e-9,40635e-9,38e-6,3554e-8,33245e-9,31101e-9,29099e-9,27231e-9,25486e-9,23856e-9,22333e-9,2091e-8,19581e-9,18338e-9,17178e-9,16093e-9,1508e-8,14134e-9,13249e-9,12423e-9,1165e-8,10928e-9,10252e-9,962e-8,9028e-9,8474e-9,7955e-9,7469e-9,7013e-9,6586e-9,6186e-9,5811e-9,5459e-9,513e-8,4821e-9,4531e-9,4259e-9,4004e-9,3765e-9,354e-8,3329e-9,3131e-9,2945e-9,2771e-9,2607e-9,2453e-9,2309e-9,2173e-9,2046e-9,1927e-9,1814e-9,1709e-9,161e-8,1517e-9,1429e-9,1347e-9,1269e-9,1197e-9,1128e-9,1064e-9,1003e-9,946e-9,893e-9,842e-9,795e-9,75e-8,707e-9,667e-9,63e-8],Z:[535e-9,811e-9,1221e-9,1829e-9,2722e-9,4028e-9,5926e-9,8665e-9,12596e-9,18201e-9,26144e-9,3733e-8,52987e-9,74764e-9,10487e-8,14622e-8,20266e-8,27923e-8,38245e-8,52072e-8,704776e-9,94823e-8,.0012682,.0016861,.0022285,.0029278,.0038237,.0049642,.0064067,.0082193,.0104822,.013289,.016747,.02098,.026127,.032344,.039802,.048691,.05921,.071576,.0860109,.10274,.122,.14402,.16899,.19712,.22857,.26347,.3019,.34387,.389366,.43797,.48922,.5429,.59881,.65676,.71658,.77812,.84131,.90611,.972542,1.039,1.103,1.165,1.225,1.282,1.338,1.393,1.446,1.499,1.553,1.607,1.659,1.708,1.755,1.798,1.839,1.877,1.91,1.941,1.967,1.989,2.006,2.017,2.024,2.027,2.026,2.022,2.015,2.006,1.995,1.981,1.965,1.946,1.925,1.901,1.874,1.845,1.814,1.781,1.745,1.709,1.672,1.635,1.596,1.555,1.512,1.467,1.42,1.37,1.318,1.262,1.205,1.147,1.088,1.03,.97383,.91943,.86746,.81828,.772125,.72829,.68604,.64553,.60685,.57006,.53522,.50234,.4714,.44239,.415254,.390024,.366399,.344015,.322689,.302356,.283036,.264816,.247848,.232318,.218502,.205851,.193596,.181736,.170281,.159249,.148673,.138609,.129096,.120215,.112044,.10471,.098196,.092361,.087088,.082248,.077744,.073456,.069268,.06506,.060709,.056457,.052609,.049122,.045954,.04305,.040368,.037839,.035384,.032949,.030451,.028029,.025862,.02392,.022174,.020584,.019127,.01774,.016403,.015064,.013676,.012308,.011056,.009915,.008872,.007918,.00703,.006223,.005453,.004714,.003988,.003289,.002646,.002063,.001533,.001091,711e-6,407e-6,184e-6,47e-6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}],qa=class{constructor(){this.version="0.0.1",this.name="Spectral",this.description="Spectral data and calculations"}getIlluminants=function(){return qt};getIlluminant=function(e){for(var t=0;t<qt.length;t++)if(e===qt[t].name)return qt[t];return!1};getObservers=function(){return Tt};getObserver=function(e){for(var t=0;t<Tt.length;t++)if(e===Tt[t].name)return Tt[t];return!1};toSpectral=function(e,t,a,A){return A||(A=(e-t)/(a.length-1)),{startnm:e,endnm:t,step:A,data:a}};calculateXYZ=function(e,t,a){var A=e.startnm,r=e.endnm,n,o,g,s,h,l=0,u=0,c=0,_=0,Q,I,B,m,y,X,N,L,T,D,x,F;A<t.startnm&&(A=t.startnm),A<a.startnm&&(A=a.startnm),r>t.endnm&&(r=t.endnm),r>a.endnm&&(r=a.endnm),g=(r-A)/e.step,n=(A-e.startnm)/e.step,o=n+g;for(var q=A,f=n;f<=o;f++){var d=(q-a.startnm)/a.step;d%1!==0?(s=Math.floor(d),h=d-s,T=a.X[s]*(1-h)+a.X[s+1]*h,D=a.Y[s]*(1-h)+a.Y[s+1]*h,x=a.Z[s]*(1-h)+a.Z[s+1]*h):(T=a.X[d],D=a.Y[d],x=a.Z[d]);var R=(q-t.startnm)/t.step;R%1!==0?(s=Math.floor(R),h=R-s,F=t.data[s]*(1-h)+t.data[s+1]*h):F=t.data[R],Q=F*D,I=T*F*e.data[f],B=D*F*e.data[f],m=x*F*e.data[f],l+=I,u+=B,c+=m,_+=Q,q+=e.step}return y=100/_,X=l*y/100,N=u*y/100,L=c*y/100,st.XYZ(X,N,L,t.whitePoint)}};xr.exports=qa});var Lr=ae((Pl,Gr)=>{var ph=Mt(),Ta=class{constructor(){this.profiles=[],this.loadCount=0,this.errorCount=0}add(e,t,a){let A=new ph;return this.profiles.push({profile:A,url:e,preload:a===!0,key:typeof t>"u"?e:t}),A}async loadProfileIndex(e){let t=this.profiles[e].profile;if(t.loaded)return!0;if(!t.loadError)try{return await t.load(this.profiles[e].url)}catch{return!1}return!1}async loadAll(){for(let t of this.profiles)t.preload&&!t.profile.loaded&&await t.profile.loadPromise(t.url);this.loadCount=0,this.errorCount=0;let e=0;for(let t=0;t<this.profiles.length;t++)if(this.profiles[t].preload){e++;let a=this.profiles[t].profile;a.loadError?this.errorCount++:a.loaded&&this.loadCount++}console.log("Loaded "+this.loadCount+" profiles with "+this.errorCount+" errors out of "+e+" profiles")}async get(e){let t=-1;for(let r=0;r<this.profiles.length;r++)if(this.profiles[r].key===e){t=r;break}if(t===-1)throw new Error("Loader.get: no profile registered under key '"+e+"'");let a=this.profiles[t].profile;if(a.loaded||(await this.loadProfileIndex(t),a.loaded))return a;let A=a.lastError&&a.lastError.text?a.lastError.text:"unknown error";throw new Error("Loader.get: failed to load profile '"+e+"': "+A)}findByKey(e){for(let t=0;t<this.profiles.length;t++)if(this.profiles[t].key===e)return this.profiles[t].profile;return!1}findByURL(e){for(let t=0;t<this.profiles.length;t++)if(this.profiles[t].url===e)return this.profiles[t].profile;return!1}};Gr.exports=Ta});var kr=ae((Jl,Fr)=>{"use strict";function Ua(i){if(i instanceof Uint16Array)return 65535;if(i instanceof Uint8ClampedArray||i instanceof Uint8Array)return 255;throw"alpha: expected a Uint8ClampedArray, Uint8Array or Uint16Array, got "+(i&&i.constructor?i.constructor.name:typeof i)}function Ya(i,e){return i instanceof Uint16Array?new Uint16Array(e):i instanceof Uint8Array?new Uint8Array(e):new Uint8ClampedArray(e)}function ht(i,e,t,a){if(!(e>=0))throw"alpha: pixelCount must be a number";if(i.length<e*t)throw"alpha."+a+": array holds "+i.length+" values, which is less than pixelCount "+e+" x "+t+" channels"}function _h(i,e,t){var a=Ua(i);ht(i,e,4,"unpremultiply"),t?ht(t,e,4,"unpremultiply (out)"):t=Ya(i,e*4);for(var A=0;A<e;A++){var r=A*4,n=i[r+3];if(n===0){t[r]=0,t[r+1]=0,t[r+2]=0,t[r+3]=0;continue}if(n===a){t[r]=i[r],t[r+1]=i[r+1],t[r+2]=i[r+2],t[r+3]=n;continue}var o=a/n,g=Math.round(i[r]*o);t[r]=g>a?a:g;var s=Math.round(i[r+1]*o);t[r+1]=s>a?a:s;var h=Math.round(i[r+2]*o);t[r+2]=h>a?a:h,t[r+3]=n}return t}function wh(i,e,t){var a=Ua(i);ht(i,e,4,"premultiply"),t?ht(t,e,4,"premultiply (out)"):t=Ya(i,e*4);for(var A=0;A<e;A++){var r=A*4,n=i[r+3];if(n===a){t[r]=i[r],t[r+1]=i[r+1],t[r+2]=i[r+2],t[r+3]=n;continue}var o=n/a;t[r]=Math.round(i[r]*o),t[r+1]=Math.round(i[r+1]*o),t[r+2]=Math.round(i[r+2]*o),t[r+3]=n}return t}function yh(i,e,t){t=t||{};var a=Ua(i);ht(i,e,4,"flatten");var A=t.background;if(!A||A.length<3)throw"alpha.flatten: opts.background is required \u2014 [r, g, b] in the SOURCE encoding, 0.."+a+". There is no safe default: white and black differ everywhere the image is not opaque.";var r=t.outputChannels===void 0?3:t.outputChannels;if(r!==3&&r!==4)throw"alpha.flatten: outputChannels must be 3 or 4";var n=t.out;n?ht(n,e,r,"flatten (out)"):n=Ya(i,e*r);for(var o=t.premultiplied===!0,g=A[0],s=A[1],h=A[2],l=0;l<e;l++){var u=l*4,c=l*r,_=i[u+3];if(_===a)n[c]=i[u],n[c+1]=i[u+1],n[c+2]=i[u+2];else{var Q=(a-_)/a;if(o)n[c]=Math.round(i[u]+g*Q),n[c+1]=Math.round(i[u+1]+s*Q),n[c+2]=Math.round(i[u+2]+h*Q);else{var I=_/a;n[c]=Math.round(i[u]*I+g*Q),n[c+1]=Math.round(i[u+1]*I+s*Q),n[c+2]=Math.round(i[u+2]*I+h*Q)}}r===4&&(n[c+3]=a)}return n}Fr.exports={unpremultiply:_h,premultiply:wh,flatten:yh}});var qr=ae((Xl,Dh)=>{Dh.exports={name:"jscolorengine",version:"1.6.0",description:"Fast ICC colour engine for JavaScript. WASM-SIMD LUT kernels (~80\u2013120 MPx/s on photographs) and a fused matrix-shaper kernel (~330 MPx/s) on one core, plus a worker pool for batches of images. Accurate to within 1 LSB of LittleCMS, and 3.1\u20133.6x faster than lcms-wasm. Full f64 accuracy pipeline, portable LUT JSON, TIFF visual editing. ICC v2/v4, all intents, BPC, N-channel 5\u20136CLR WASM, pixel cache, soft-proof, prepress, zero native deps, browser + Node.",author:"Glenn Wilton <support@o2creative.co.nz>",main:"src/main.js",browser:{child_process:!1,fs:!1,os:!1,path:!1,util:!1,worker_threads:!1},keywords:["icc profile","color management","color analysis","color engine"],license:"mpl-2.0",repository:{type:"git",url:"git+https://github.com/glennwilton/jsColorEngine.git"},scripts:{dev:"esbuild src/main.js --bundle --platform=node --format=cjs --sourcemap --outfile=dev/jsColorEngine.js",watch:"esbuild src/main.js --bundle --platform=node --format=cjs --sourcemap --outfile=dev/jsColorEngine.js --watch",build:"esbuild src/main.js --bundle --platform=node --format=cjs --minify --outfile=build/jsColorEngine.js",prepublishOnly:"node scripts/check_release_snapshot.js",publish:"node scripts/check_release_snapshot.js && npm run browser && npm run build","release-snapshot":"node scripts/release_snapshot.js","bench-compare":"node scripts/bench_compare.js","bench-pin":"node scripts/pin_baseline.js",browser:"esbuild src/main.js --bundle --platform=browser --format=iife --global-name=jsColorEngine --minify --external:http --external:https --external:fs --external:path --external:util --external:child_process --outfile=browser/jsColorEngineWeb.js && npm run browser-worker && npm run copy-browser","browser-worker":"esbuild src/poolWorker.js --bundle --platform=browser --format=iife --minify --external:http --external:https --external:fs --external:path --external:util --external:child_process --outfile=browser/jsColorEngineWorker.js","browser-watch":"esbuild src/main.js --bundle --platform=browser --format=iife --global-name=jsColorEngine --sourcemap --external:http --external:https --external:fs --external:path --external:util --external:child_process --outfile=browser-dev/jsColorEngineWeb.js --watch","copy-browser":`node -e "const fs=require('fs');fs.mkdirSync('samples/browser',{recursive:true});['jsColorEngineWeb.js','jsColorEngineWorker.js'].forEach(f=>{const s='browser/'+f;if(fs.existsSync(s)){fs.copyFileSync(s,'samples/browser/'+f);console.log('copied \u2192 samples/browser/'+f);}});"`,test:"jest --verbose",serve:"node samples/serve.js","tiff-samples":"node samples/lut-tiff-cli.js --make-samples",archive:"node scripts/pull-bundle.js","bench-browser":"esbuild samples/benchmark/browser-entry.js --bundle --platform=browser --format=iife --global-name=_jsceBench --outfile=samples/benchmark/bench.bundle.js --external:http --external:https --external:fs --external:path --external:util --external:child_process","bench-browser-watch":"esbuild samples/benchmark/browser-entry.js --bundle --platform=browser --format=iife --global-name=_jsceBench --outfile=samples/benchmark/bench.bundle.js --external:http --external:https --external:fs --external:path --external:util --external:child_process --watch"},jest:{testPathIgnorePatterns:["/node_modules/","/__tests__/helpers/"]},type:"commonjs",devDependencies:{canvas:"^3.2.3",esbuild:"^0.28.0",jest:"^29.7.0",utif:"^3.1.0",wabt:"^1.0.39"}}});var xh=ae((Hl,Ur)=>{var dt=Ye(),Tr=je(),bh=br();Ur.exports={convert:Tr,color:Tr,Spectral:Rr(),Loader:Lr(),Profile:Mt(),Transform:bh,alpha:kr(),eColourType:dt.eColourType,eProfileType:dt.eProfileType,eIntent:dt.eIntent,encoding:dt.encoding,encodingStr:dt.encodingStr,version:qr().version}});return xh();})();
/*************************************************************************
* @license
*
*
* Copyright © 2019, 2024 Glenn Wilton
* O2 Creative Limited
* www.o2creative.co.nz
* support@o2creative.co.nz
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*
*/
/*************************************************************************
* @license
*
* Copyright © 2019, 2026 Glenn Wilton
* O2 Creative Limited
*************************************************************************/
/*************************************************************************
* @license
*
* Copyright © 2019, 2026 Glenn Wilton
* O2 Creative Limited
* www.o2creative.co.nz
* support@o2creative.co.nz
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*
*/
/*************************************************************************
* @license
*
* Copyright © 2019, 2026 Glenn Wilton
* O2 Creative Limited
* www.o2creative.co.nz
* support@o2creative.co.nz
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*
*/