//>>built define(["./_base","dojo/_base/lang","./matrix"],function(r,m,h){function l(a,b){return Math.abs(a-b)<=1E-6*(Math.abs(a)+Math.abs(b))}function k(a,b,d,c){if(!isFinite(a))return d;if(!isFinite(d))return a;b=Math.abs(b);c=Math.abs(c);return(b*a+c*d)/(b+c)}function n(a){a=h.normalize(a);var b=-a.xx-a.yy,d=a.xx*a.yy-a.xy*a.yx,c=Math.sqrt(b*b-4*d),b=-(b+(0>b?-c:c))/2,d=d/b,c=a.xy/(b-a.xx),f=1,e=a.xy/(d-a.xx),g=1;l(b,d)&&(c=1,e=f=0,g=1);isFinite(c)||(c=1,f=(b-a.xx)/a.xy,isFinite(f)||(c=(b-a.yy)/a.yx,f=1, isFinite(c)||(c=1,f=a.yx/(b-a.yy))));isFinite(e)||(e=1,g=(d-a.xx)/a.xy,isFinite(g)||(e=(d-a.yy)/a.yx,g=1,isFinite(e)||(e=1,g=a.yx/(d-a.yy))));a=Math.sqrt(c*c+f*f);var k=Math.sqrt(e*e+g*g);isFinite(c/=a)||(c=0);isFinite(f/=a)||(f=0);isFinite(e/=k)||(e=0);isFinite(g/=k)||(g=0);return{value1:b,value2:d,vector1:{x:c,y:f},vector2:{x:e,y:g}}}function p(a,b){var d=0>a.xx*a.yy||0a.xx*a.yy||0