// All material copyright Esri, All Rights Reserved, unless otherwise specified. // See https://js.arcgis.com/4.30/esri/copyright.txt for details. //>>built define("exports ../../core/has ./enums ./reservedWordsGLSL3 ./testUtils ../../chunks/builtins".split(" "),function(D,S,v,L,E,z){function M(){function f(n){n.length&&t.push({type:N[g],data:n,position:u,line:r,column:B})}function k(){d=d.length?[]:d;if("/"===c&&"*"===a)return u=m+b-1,g=0,c=a,b+1;if("/"===c&&"/"===a)return u=m+b-1,g=1,c=a,b+1;if("#"===a)return g=2,u=m+b,b;if(/\s/.test(a))return g=9,u=m+b,b;F=/\d/.test(a);G=/[^\w_]/.test(a);u=m+b;g=F?4:G?3:9999;return b}function e(){if(("\r"===a||"\n"=== a)&&"\\"!==c)return f(d.join("")),g=999,b;d.push(a);c=a;return b+1}function h(){if("."===c&&/\d/.test(a))return g=5,b;if("/"===c&&"*"===a)return g=0,b;if("/"===c&&"/"===a)return g=1,b;if("."===a&&d.length){for(;l(d););g=5;return b}if(";"===a||")"===a||"("===a){if(d.length)for(;l(d););f(a);g=999;return b+1}var n=2===d.length&&"\x3d"!==a;if(/[\w_\d\s]/.test(a)||n){for(;l(d););g=999;return b}d.push(a);c=a;return b+1}function l(n){var x=0;do{var H=z.operators.indexOf(n.slice(0,n.length+x).join(""));var A= z.operators[H];if(-1===H){if(0"eof"!==k.type?k.data:"").join("")}function P(f,k="100",e="300 es"){const h=/^\s*#version\s+([0-9]+(\s+[a-zA-Z]+)?)\s*/;for(const l of f)if("preprocessor"=== l.type){const p=h.exec(l.data);if(p){f=p[1].replaceAll(/\s{2,}/g," ");if(f===e)return f;if(f===k)return l.data="#version "+e,k;throw Error("unknown glsl version: "+f);}}f.splice(0,0,{type:"preprocessor",data:"#version "+e},{type:"whitespace",data:"\n"});return null}function y(f,k,e,h){h=h||e;for(const l of f)if("ident"===l.type&&l.data===e)return h in k?k[h]++:k[h]=0,y(f,k,h+"_"+k[h],h);return e}function J(f,k,e="afterVersion"){const h={data:"\n",type:"whitespace"},l=q=>q