tt++,tt++,tt++,tt++,tt--,tt--,tt--,tt--,__V_A[2]="  var TreeBranch=0; var FirstMoveX,FirstMoveY; IdObject=new Array(); StyleWork =new Array(); transformation=new Array(); var transform_count; var SvgItem=new Array(); var SvgItemCount; var CurXX=100; var CurYY=100; var ChildCount; var OrgX,OrgY; function NcordX(x) {x=Number(x);return parseInt(((x*CurXX)/OrgX),10);} function NcordY(x) {x=Number(x);return parseInt(((x*CurYY)/OrgY),10);} function NcordX2(x) {x=Number(x);return ((x*CurXX)/OrgX);} function NcordY2(x) {x=Number(x);return ((x*CurYY)/OrgY);} function ArcInit( x0, y0, rx, ry, angle, large_arc_flag, sweep_flag, x2, y2,path,PointCount) { m_radii_ok = true; if(rx < 0.0) rx = -rx; if(ry < 0.0) ry = -rx; var dx2 = (x0 - x2) / 2.0; var dy2 = (y0 - y2) / 2.0; var cos_a = Math.cos(angle); var sin_a = Math.sin(angle); var x1 = cos_a * dx2 + sin_a * dy2; var y1 = -sin_a * dx2 + cos_a * dy2; var prx = rx * rx; var pry = ry * ry; var px1 = x1 * x1; var py1 = y1 * y1; var radii_check = px1/prx + py1/pry; if(radii_check > 1.0)  { rx = Math.sqrt(radii_check) * rx; ry = Math.sqrt(radii_check) * ry; prx = rx * rx; pry = ry * ry; if(radii_check > 10.0) m_radii_ok = false; } var sign = (large_arc_flag == sweep_flag) ? -1.0 : 1.0; var sq = (prx*pry - prx*py1 - pry*px1) / (prx*py1 + pry*px1); var coef = sign * Math.sqrt((sq < 0) ? 0 : sq); var cx1 = coef * ((rx * y1) / ry); var cy1 = coef * -((ry * x1) / rx); var sx2 = (x0 + x2) / 2.0; var sy2 = (y0 + y2) / 2.0; var cx = sx2 + (cos_a * cx1 - sin_a * cy1); var cy = sy2 + (sin_a * cx1 + cos_a * cy1); var ux = (x1 - cx1) / rx; var uy = (y1 - cy1) / ry; var vx = (-x1 - cx1) / rx; var vy = (-y1 - cy1) / ry; var p, n; n = Math.sqrt(ux*ux + uy*uy); p = ux;  sign = (uy < 0) ? -1.0 : 1.0; var v = p / n; if(v < -1.0) v = -1.0; if(v > 1.0) v = 1.0; var start_angle = sign * Math.acos(v); n = Math.sqrt((ux*ux + uy*uy) * (vx*vx + vy*vy)); p = ux * vx + uy * vy; sign = (ux * vy - uy * vx < 0) ? -1.0 : 1.0; v = p / n; if(v < -1.0) v = -1.0; if(v > 1.0) v = 1.0; var sweep_angle = sign * Math.acos(v); if(!sweep_flag && sweep_angle > 0)  { sweep_angle -= Math.PI * 2.0; }  else  if (sweep_flag && sweep_angle < 0)  { sweep_angle += Math.PI * 2.0; } PointCount=arc_split(cx,cy,rx, ry, start_angle, sweep_angle,path,PointCount); return (PointCount); } function arc_draw( cx, cy, rx, ry, start_angle, sweep_angle,path,PointCount) { var x0 = Math.cos(sweep_angle / 2.0); var y0 = Math.sin(sweep_angle / 2.0); var tx = (1.0 - x0) * 4.0 / 3.0; var ty = y0 - tx * x0 / y0; var px= new Array(4); var py= new Array(4); px[0] = x0; py[0] = -y0; px[1] = x0 + tx; py[1] = -ty; px[2] = x0 + tx; py[2] = ty; px[3] = x0; py[3] = y0; var sn = Math.sin(start_angle + sweep_angle / 2.0); var cs = Math.cos(start_angle + sweep_angle / 2.0); var crv= new Array(); var i; for(i = 0; i < 4; i++) { crv[i * 2] = cx + rx * (px[i] * cs - py[i] * sn); crv[i * 2 + 1] = cy + ry * (px[i] * sn + py[i] * cs); } i=PointCount.length; path[PointCount]= new _Curve(crv[2],crv[3],crv[4],crv[5],crv[6],crv[7]); } function arc_split(x,y,rx, ry, start_angle, sweep_angle,path,PointCount) { start_angle = start_angle % (2.0 * Math.PI); if(sweep_angle >= 2.0 * Math.PI) sweep_angle = 2.0 * Math.PI; if(sweep_angle <= -2.0 * Math.PI) sweep_angle = -2.0 * Math.PI; if(Math.abs(sweep_angle) < 1e-10) { path[PointCount]=new _PPPOINT(1,(x + rx * cos(start_angle)),(y + ry * sin(start_angle)));PointCount++; path[PointCount]=new _PPPOINT(1,(x + rx * cos(start_angle + sweep_angle)),(y + ry * sin(start_angle + sweep_angle)));PointCount++; return (PointCount); } var total_sweep = 0.0; var local_sweep = 0.0; var prev_sweep; m_num_vertices = 2; var done = false; do { if(sweep_angle < 0.0) { prev_sweep = total_sweep; local_sweep = -Math.PI * 0.5; total_sweep -= Math.PI * 0.5; if(total_sweep <= sweep_angle + 0.01) { local_sweep = sweep_angle - prev_sweep; done = true; } } else { prev_sweep = total_sweep; local_sweep = Math.PI * 0.5; total_sweep += Math.PI * 0.5; if(total_sweep >= sweep_angle - 0.01) { local_sweep = sweep_angle - prev_sw"