//>>built define(["dojo/_base/kernel","dojo/_base/lang"],function(p,x){var n=function(q,n,f){f||(f={});var u=[],p=function(a){return u[a]}.name;if("PATH"==f.resultType&&"RESULT"==f.evalType)throw Error("RESULT based evaluation not supported with PATH based results");var d={resultType:f.resultType||"VALUE",normalize:function(a){var b=[];a=a.replace(/'([^']|'')*'/g,function(a){return p+"("+(u.push(eval(a))-1)+")"});for(var c=-1;c!=b.length;)c=b.length,a=a.replace(/(\??\([^\(\)]*\))/g,function(a){return"#"+(b.push(a)- 1)});a=a.replace(/[\['](#[0-9]+)[\]']/g,"[$1]").replace(/'?\.'?|\['?/g,";").replace(/;;;|;;/g,";..;").replace(/;$|'?\]|'$/g,"");for(c=-1;c!=a;)c=a,a=a.replace(/#([0-9]+)/g,function(a,c){return b[c]});return a.split(";")},asPaths:function(a){var b,c,d,r,f;for(c=0;cb?Math.max(0,b+e):Math.min(e,b);l=0>l?Math.max(0,l+e):Math.min(e,l);for(a=b;a