| static constexpr char SKSL_MINIFIED_sksl_graphite_frag[] = |
| "$pure half4 sk_error(){return half4(1.,0.,1.,1.);}$pure half4 sk_passthrough" |
| "(half4 a){return a;}$pure half4 sk_solid_shader(float4 a){return half4(a);}" |
| "$pure float $k(int a,float b,float c,float d){switch(a){case 0:return clamp" |
| "(b,c,d);case 1:{float e=d-c;return mod(b-c,e)+c;}case 2:{float e=d-c;float g" |
| "=2.*e;float h=mod(b-c,g);return mix(h,g-h,step(e,h))+c;}default:return b;}}" |
| "$pure half4 $l(float2 a,float2 b,float4 c,int d,int e,int f,sampler2D g){if" |
| "(d==3&&f==0){float h=floor(a.x)+.5;if(h<c.x||h>c.z){return half4(0.);}}if(e" |
| "==3&&f==0){float h=floor(a.y)+.5;if(h<c.y||h>c.w){return half4(0.);}}a.x=$k" |
| "(d,a.x,c.x,c.z);a.y=$k(e,a.y,c.y,c.w);float4 h;if(f==0){h=float4(floor(c.xy" |
| ")+.5,ceil(c.zw)-.5);}else{h=float4(c.xy+.5,c.zw-.5);}float2 i=clamp(a,h.xy," |
| "h.zw);half4 j=sample(g,i/b);if(f==1){half2 k=half2(a-i);half2 l=abs(k);bool" |
| " m=d==1;bool n=e==1;if(m||n){float o;float p;half4 q;half4 r;if(m){o=k.x>0." |
| "?h.x:h.z;q=sample(g,float2(o,i.y)/b);}if(n){p=k.y>0.?h.y:h.w;r=sample(g,float2" |
| "(i.x,p)/b);}if(m&&n){half4 t=sample(g,float2(o,p)/b);j=mix(mix(j,q,l.x),mix" |
| "(r,t,l.x),l.y);}else if(m){j=mix(j,q,l.x);}else if(n){j=mix(j,r,l.y);}}if(d" |
| "==3){j*=max(1.-l.x,0.);}if(e==3){j*=max(1.-l.y,0.);}}return j;}$pure half4 $m" |
| "(float2 a,float2 b,float4 c,int d,int e,float4x4 g,sampler2D h){float2 i=fract" |
| "(a-.5);a-=1.5;a=floor(a)+.5;float4 j=g*float4(1.,i.x,i.x*i.x,(i.x*i.x)*i.x)" |
| ";float4 k=g*float4(1.,i.y,i.y*i.y,(i.y*i.y)*i.y);float4 l=float4(0.);for(int" |
| " m=0;m<4;++m){float4 n=float4(0.);for(int o=0;o<4;++o){n+=j[o]*float4($l(a+" |
| "float2(float(o),float(m)),b,c,d,e,0,h));}l+=k[m]*n;}return half4(l);}$pure half4" |
| " sk_image_shader(float2 a,float2 b,float4 c,int d,int e,int f,int g,float4x4" |
| " h,sampler2D i){return g!=0?$m(a,b,c,d,e,h,i):$l(a,b,c,d,e,f,i);}$pure float2" |
| " $n(int a,float2 b){switch(a){case 0:b.x=clamp(b.x,0.,1.);break;case 1:b.x=" |
| "fract(b.x);break;case 2:{float c=b.x-1.;b.x=(c-2.*floor(c*.5))-1.;if(sk_Caps" |
| ".mustDoOpBetweenFloorAndAbs){b.x=clamp(b.x,-1.,1.);}b.x=abs(b.x);break;}case" |
| " 3:if(b.x<0.||b.x>1.){return float2(0.,-1.);}break;}return b;}$pure half4 $o" |
| "(float4[4]a,float[4]b,float2 c){if(c.y<0.){return half4(0.);}else if(c.x<=b" |
| "[0]){return half4(a[0]);}else if(c.x<b[1]){return half4(mix(a[0],a[1],(c.x-" |
| "b[0])/(b[1]-b[0])));}else if(c.x<b[2]){return half4(mix(a[1],a[2],(c.x-b[1]" |
| ")/(b[2]-b[1])));}else if(c.x<b[3]){return half4(mix(a[2],a[3],(c.x-b[2])/(b" |
| "[3]-b[2])));}else{return half4(a[3]);}}$pure half4 $p(float4[8]a,float[8]b," |
| "float2 c){if(c.y<0.){return half4(0.);}else if(c.x<b[4]){if(c.x<b[2]){if(c." |
| "x<=b[0]){return half4(a[0]);}else if(c.x<b[1]){return half4(mix(a[0],a[1],(" |
| "c.x-b[0])/(b[1]-b[0])));}else{return half4(mix(a[1],a[2],(c.x-b[1])/(b[2]-b" |
| "[1])));}}else{if(c.x<b[3]){return half4(mix(a[2],a[3],(c.x-b[2])/(b[3]-b[2]" |
| ")));}else{return half4(mix(a[3],a[4],(c.x-b[3])/(b[4]-b[3])));}}}else{if(c." |
| "x<b[6]){if(c.x<b[5]){return half4(mix(a[4],a[5],(c.x-b[4])/(b[5]-b[4])));}else" |
| "{return half4(mix(a[5],a[6],(c.x-b[5])/(b[6]-b[5])));}}else{if(c.x<b[7]){return" |
| " half4(mix(a[6],a[7],(c.x-b[6])/(b[7]-b[6])));}else{return half4(a[7]);}}}}" |
| "$pure float2 $q(float2 a,float2 b,float2 c){c-=a;float2 d=b-a;float e=dot(c" |
| ",d)/dot(d,d);return float2(e,1.);}$pure float2 $r(float2 a,float b,float2 c" |
| "){float d=distance(c,a)/b;return float2(d,1.);}$pure float2 $s(float2 a,float" |
| " b,float c,float2 d){d-=a;float e=sk_Caps.atan2ImplementedAsAtanYOverX?2.*atan" |
| "(-d.y,length(d)-d.x):atan(-d.y,-d.x);float f=((e*.159154937+.5)+b)*c;return" |
| " float2(f,1.);}$pure float3x3 $t(float2 a,float2 b){return float3x3(0.,-1.," |
| "0.,1.,0.,0.,0.,0.,1.)*inverse(float3x3(b.y-a.y,a.x-b.x,0.,b.x-a.x,b.y-a.y,0." |
| ",a.x,a.y,1.));}$pure float2 $u(float2 a,float2 b,float c,float d,float2 e){" |
| "const float f=.000244140625;float g=distance(a,b);float h=d-c;bool i=g<f;bool" |
| " j=abs(h)<f;if(i){if(j){return float2(0.,-1.);}float k=1./h;float l=sign(h)" |
| ";float m=c/h;float2 n=(e-a)*k;float o=length(n)*l-m;return float2(o,1.);}else" |
| " if(j){float3x3 k=$t(a,b);float l=c/g;float m=l*l;float2 n=(k*float3(e,1.))" |
| ".xy;float o=m-n.y*n.y;if(o<0.){return float2(0.,-1.);}o=n.x+sqrt(o);return float2" |
| "(o,1.);}else{float k=c/(c-d);bool l=abs(k-1.)<f;if(l){float2 m=a;a=b;b=m;k=" |
| "0.;}float2 m=a*(1.-k)+b*k;float3x3 n=$t(m,b);float o=abs(1.-k);float p=o;float" |
| " q=abs(d-c)/g;bool r=abs(q-1.)<f;if(r){o*=.5;p*=.5;}else{o*=q/(q*q-1.);p/=sqrt" |
| "(abs(q*q-1.));}n=float3x3(o,0.,0.,0.,p,0.,0.,0.,1.)*n;float2 s=(n*float3(e," |
| "1.)).xy;float u=1./q;float v=sign(1.-k);bool w=!r&&q>1.;float x=-1.;if(r){x" |
| "=dot(s,s)/s.x;}else if(w){x=length(s)-s.x*u;}else{float y=s.x*s.x-s.y*s.y;if" |
| "(y>=0.){if(l||v<0.){x=-sqrt(y)-s.x*u;}else{x=sqrt(y)-s.x*u;}}}if(!w&&x<0.){" |
| "return float2(0.,-1.);}float y=k+v*x;if(l){y=1.-y;}return float2(y,1.);}}$pure" |
| " half4 sk_linear_grad_4_shader(float2 a,float4[4]b,float[4]c,float2 d,float2" |
| " e,int f){float2 g=$q(d,e,a);g=$n(f,g);return $o(b,c,g);}$pure half4 sk_linear_grad_8_shader" |
| "(float2 a,float4[8]b,float[8]c,float2 d,float2 e,int f){float2 g=$q(d,e,a);" |
| "g=$n(f,g);return $p(b,c,g);}$pure half4 sk_radial_grad_4_shader(float2 a,float4" |
| "[4]b,float[4]c,float2 d,float e,int f){float2 g=$r(d,e,a);g=$n(f,g);return $o" |
| "(b,c,g);}$pure half4 sk_radial_grad_8_shader(float2 a,float4[8]b,float[8]c," |
| "float2 d,float e,int f){float2 g=$r(d,e,a);g=$n(f,g);return $p(b,c,g);}$pure" |
| " half4 sk_sweep_grad_4_shader(float2 a,float4[4]b,float[4]c,float2 d,float e" |
| ",float f,int g){float2 h=$s(d,e,f,a);h=$n(g,h);return $o(b,c,h);}$pure half4" |
| " sk_sweep_grad_8_shader(float2 a,float4[8]b,float[8]c,float2 d,float e,float" |
| " f,int g){float2 h=$s(d,e,f,a);h=$n(g,h);return $p(b,c,h);}$pure half4 sk_conical_grad_4_shader" |
| "(float2 a,float4[4]b,float[4]c,float2 d,float2 e,float f,float g,int h){float2" |
| " i=$u(d,e,f,g,a);i=$n(h,i);return $o(b,c,i);}$pure half4 sk_conical_grad_8_shader" |
| "(float2 a,float4[8]b,float[8]c,float2 d,float2 e,float f,float g,int h){float2" |
| " i=$u(d,e,f,g,a);i=$n(h,i);return $p(b,c,i);}$pure half4 sk_matrix_colorfilter" |
| "(half4 a,float4x4 b,float4 c,int d){if(bool(d)){a=$rgb_to_hsl(a.xyz,a.w);}else" |
| "{a=unpremul(a);}half4 e=half4(b*float4(a)+c);if(bool(d)){e=$hsl_to_rgb(e.xyz" |
| ",e.w);}else{e=saturate(e);e.xyz*=e.w;}return e;}$pure half4 sk_blend(int a," |
| "half4 b,half4 c){switch(a){case 0:{return blend_clear(b,c);}case 1:{return blend_src" |
| "(b,c);}case 2:{return blend_dst(b,c);}case 3:{return blend_porter_duff(half4" |
| "(1.,0.,0.,-1.),b,c);}case 4:{return blend_porter_duff(half4(0.,1.,-1.,0.),b" |
| ",c);}case 5:{return blend_porter_duff(half4(0.,0.,1.,0.),b,c);}case 6:{return" |
| " blend_porter_duff(half4(0.,0.,0.,1.),b,c);}case 7:{return blend_porter_duff" |
| "(half4(0.,0.,-1.,0.),b,c);}case 8:{return blend_porter_duff(half4(0.,0.,0.," |
| "-1.),b,c);}case 9:{return blend_porter_duff(half4(0.,0.,1.,-1.),b,c);}case 10" |
| ":{return blend_porter_duff(half4(0.,0.,-1.,1.),b,c);}case 11:{return blend_porter_duff" |
| "(half4(0.,0.,-1.,-1.),b,c);}case 12:{return blend_porter_duff(half4(1.,1.,0." |
| ",0.),b,c);}case 13:{return blend_modulate(b,c);}case 14:{return blend_screen" |
| "(b,c);}case 15:{return blend_overlay(0.,b,c);}case 16:{return blend_darken(" |
| "1.,b,c);}case 17:{return blend_darken(-1.,b,c);}case 18:{return blend_color_dodge" |
| "(b,c);}case 19:{return blend_color_burn(b,c);}case 20:{return blend_overlay" |
| "(1.,b,c);}case 21:{return blend_soft_light(b,c);}case 22:{return blend_difference" |
| "(b,c);}case 23:{return blend_exclusion(b,c);}case 24:{return blend_multiply" |
| "(b,c);}case 25:{return blend_hslc(half2(0.,1.),b,c);}case 26:{return blend_hslc" |
| "(half2(1.),b,c);}case 27:{return blend_hslc(half2(0.),b,c);}case 28:{return" |
| " blend_hslc(half2(1.,0.),b,c);}default:return half4(0.);}}$pure half4 sk_blend_shader" |
| "(int a,half4 b,half4 c){return sk_blend(a,b,c);}$pure half4 sk_blend_colorfilter" |
| "(half4 a,int b,float4 c){return sk_blend(b,half4(c),a);}$pure half4 sk_table_colorfilter" |
| "(half4 a,sampler2D b){half4 c=(unpremul(a)*255.)/256.+.001953125;half4 d=half4" |
| "(sample(b,float2(half2(c.x,.375))).x,sample(b,float2(half2(c.y,.625))).x,sample" |
| "(b,float2(half2(c.z,.875))).x,1.);return d*sample(b,float2(half2(c.w,.125))" |
| ").x;}$pure half4 sk_gaussian_colorfilter(half4 a){half b=1.-a.w;b=exp((-b*b" |
| ")*4.)-.018;return half4(b);}$pure half $v(int a,half b,half[7]c){half d=c[0" |
| "];half e=c[1];half f=c[2];half g=c[3];half h=c[4];half i=c[5];half j=c[6];half" |
| " k=sign(b);b=abs(b);switch(a){case 1:b=b<h?g*b+j:pow(e*b+f,d)+i;break;case 2" |
| ":b=pow(max(e+f*pow(b,g),0.)/(h+i*pow(b,g)),j);break;case 3:b=b*e<=1.?pow(b*" |
| "e,f):exp((b-i)*g)+h;b*=j+1.;break;case 4:b/=j+1.;b=b<=1.?e*pow(b,f):g*log(b" |
| "-h)+i;break;}return k*b;}half4 sk_color_space_transform(half4 a,int b,int c" |
| ",int d,half[7]e,half[7]f,half3x3 g){if(bool(b&1)){a=unpremul(a);}if(bool(b&" |
| "2)){a.x=$v(c,a.x,e);a.y=$v(c,a.y,e);a.z=$v(c,a.z,e);}if(bool(b&4)){a.xyz=g*" |
| "a.xyz;}if(bool(b&8)){a.x=$v(d,a.x,f);a.y=$v(d,a.y,f);a.z=$v(d,a.z,f);}if(bool" |
| "(b&16)){a.xyz*=a.w;}return a;}"; |