{"version":3,"sources":["raphaeljs-infobox.js","raphael-min.js","raphael.js","reference.js","eve.js","euroviaRosace.jquery.js"],"names":["Infobox","r","options","attrs","this","paper","x","y","width","height","rounding","show_border","with_border","container","rect","attr","container_id","node","parentNode","id","raph_container","jQuery","color","hide","div","insertAfter","offset","css","top","left","document","bind","event","data","update","window","a","b","c","d","e","f","g","h","i","j","n","k","String","Array","prototype","slice","call","arguments","listeners","l","m","o","p","q","length","push","zIndex","sort","apply","_events","split","concat","on","hasOwnProperty","stop","nt","RegExp","test","nts","off","unbind","splice","once","version","toString","module","exports","define","eve","amd","require","is","u","V","_engine","create","D","T","add","pop","Object","constructor","z","join","cache","count","shift","hex","s","t","N","sqrt","Q","O","P","toFixed","bezierBBox","isBBoxIntersect","findDotsAtSegment","v","w","A","B","t1","t2","_path2curve","segment1","segment2","bez1","bez2","H","ms","times","_","lb","anim","percents","ic","el","percent","totalOrigin","initstatus","start","Date","db","customAttributes","cb","getRGB","Kb","C","F","G","Pb","from","to","real","K","matrix","L","transform","getBBox","Nb","M","I","J","E","easing","easing_formulas","match","Z","nb","timestamp","del","status","diff","callback","prev","next","repeat","origin","kc","jc","circle","path","ellipse","text","image","doc","win","was","Raphael","ca","DocumentTouch","mousedown","mousemove","mouseup","toLowerCase","Math","max","min","abs","R","pow","S","PI","U","W","X","_ISURL","Y","NaN","Infinity","-Infinity","$","round","parseFloat","ab","parseInt","bb","toUpperCase","_availableAttrs","arrow-end","arrow-start","blur","clip-rect","cursor","cx","cy","fill","fill-opacity","font","font-family","font-size","font-style","font-weight","gradient","href","letter-spacing","opacity","rx","ry","src","stroke","stroke-dasharray","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","target","text-anchor","title","_availableAnimAttrs","eb","fb","hs","rg","gb","hb","ib","jb","kb","_radial_gradient","mb","ob","_rectPath","pb","qb","_getPath","_getBBox","set","rb","mapPath","_g","type","SVGAngle","implementation","hasFeature","sb","tb","createElement","innerHTML","firstChild","style","behavior","adj","svg","vml","_Paper","fn","_id","_oid","isArray","angle","atan2","rad","deg","snapTo","createUUID","replace","random","setWindow","initWin","ub","ActiveXObject","write","close","body","createPopup","createTextRange","queryCommandValue","display","appendChild","defaultView","getComputedStyle","getPropertyValue","vb","wb","xb","yb","zb","rgb","hsb2rgb","hsl2rgb","rgb2hsl","rgb2hsb","_path2string","_preload","cssText","onload","removeChild","onerror","indexOf","error","substring","charAt","hsb","hsl","getColor","reset","parsePathString","Ab","arr","Cb","parseTransformString","ps","sleep","setTimeout","end","alpha","Jb","x2","y2","isPointInsideBBox","pathIntersection","pathIntersectionNumber","isPointInsidePath","pathBBox","_removedFactory","Bb","bbox","Db","_pathToRelative","rel","Eb","_pathToAbsolute","Fb","Gb","Hb","cos","sin","asin","tan","Ib","curve","bx","by","qx","qy","Lb","_parseDots","_tear","bottom","Mb","_tofront","_toback","_insertafter","_insertbefore","toMatrix","transformPath","_extractTransform","invert","translate","rotate","scale","dirtyT","sx","sy","dx","dy","Ob","_equaliseTransform","_getContainer","getElementById","tagName","pixelWidth","offsetWidth","pixelHeight","offsetHeight","pathToRelative","path2curve","clone","get","fromCharCode","toFilter","scalex","shear","scaley","acos","isSimple","isSuperSimple","noRotation","toTransformString","Qb","navigator","userAgent","safari","vendor","platform","remove","Rb","returnValue","Sb","originalEvent","preventDefault","Tb","cancelBubble","Ub","stopPropagation","Vb","documentElement","scrollTop","scrollLeft","clientX","clientY","Wb","addEventListener","targetTouches","removeEventListener","attachEvent","detachEvent","Xb","Yb","touches","identifier","_drag","nextSibling","opera","getElementByPoint","insertBefore","move_scope","Zb","unmousemove","unmouseup","end_scope","start_scope","$b","_b","events","name","shape","removeData","getData","hover","mouseover","mouseout","unhover","unmouseover","unmouseout","ac","drag","onDragOver","undrag","unmousedown","__set__","format","mc","setStart","setFinish","getSize","canvas","setSize","setViewBox","raphael","bc","getBoundingClientRect","ownerDocument","clientTop","clientLeft","pageYOffset","pageXOffset","elementFromPoint","createSVGRect","getIntersectionList","getById","raphaelid","getElementsByBBox","forEach","getElementsByPoint","isPointInside","realPath","removed","dirty","bboxwt","glow","offsetx","offsety","cc","dc","ec","fc","gc","getTotalLength","getPointAtLength","getSubpath","getPath","hc","linear","<",">","<>","backIn","backOut","elastic","bounce","easeIn","easeOut","easeInOut","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","paused","lc","animateWith","animation","onAnimation","delay","floor","100","animate","setTime","pause","resume","items","nc","oc","clear","exclude","registerFont","face","fonts","glyphs","getFont","normal","bold","lighter","bolder","print","descent","fullfill","ninja","st","readyState","block","classic","diamond","open","oval","setAttributeNS","setAttribute","createElementNS","webkitTapHighlightColor","isNaN","defs","fx","fy","x1","y1","gradientTransform","stop-color","location","fillOpacity","pattern","patternTransform","arrows","endPath","endMarker","startPath","startMarker","getElementsByTagName","markerHeight","markerWidth","orient","refX","refY","xlink:href","startdx","enddx","","none","-",".","-.","-..",". ","- ","--","- .","--.","--..","square","butt","visibility","nodeValue","createTextNode","clip","clip-path","getAttribute","startString","endString","patternUnits","stop-opacity","show","parentElement","clientWidth","clientHeight","def","toFront","toBack","stdDeviation","_blur","filter","removeAttribute","preserveAspectRatio","_viewBox","Error","xmlns","xmlns:xlink","_left","_top","renderfix","_vbSize","viewBox","getScreenCTM","createSVGMatrix","desc","fillpos","coordsize","rotation","flip","coordorigin","fillsize","position","size","clipRect","textpath","fontFamily","fontSize","fontWeight","fontStyle","weight","joinstyle","miterlimit","endcap","dashstyle","span","string","right","bbx","method","color2","colors","focus","focussize","focusposition","_viewBoxShift","skew","auxGetBBox","runtimeStyle","margin","Path","textpathok","styleSheets","createStyleSheet","addRule","namespaces","rvml","glob","current_event","has","separator","wildcard","fun","numsort","scope","oldstop","args","indexed","queue","out","ce","ii","item","jj","nes","names","es","subname","key","cur","funcs","f2","factory","first","loaded","array","nu","obj","res","repush","cacher","postprocessor","newf","arg","clrToString","catmullRom2bezier","crp","iLen","base3","p1","p2","p3","p4","bezlen","x3","y3","x4","y4","z2","Tvalues","Cvalues","sum","ct","xbase","ybase","comb","math","getTatLen","ll","step","intersect","mmax","mmin","nx","ny","denominator","px","py","px2","py2","interHelper","justCount","bbox1","bbox2","l1","l2","n1","n2","dots1","dots2","xy","di","di1","dj","dj1","ci","cj","interPathHelper","path1","path2","x1m","y1m","x2m","y2m","pi","pj","intr","kk","Matrix","x_y_w_h","CubicBezierAtTime","p1x","p1y","p2x","p2y","duration","sampleCurveX","ax","solve","epsilon","solveCurveX","ay","t0","d2","Animation","newAnim","toFloat","sortByNumber","runAnimation","element","params","isInAnim","isInAnimSet","animationElements","availableAnimAttrs","availableAttrs","toColour","pathes","toPath","eq","equaliseTransform","to2","extractTransform","values","Str","from2","easyeasy","bezierrg","pipe","requestAnimFrame","stopAnimation","paperproto","elements","formatrg","oldRaphael","Paper","supportsTouch","touchMap","lowerCase","objectToString","colourRegExp","isnan","toInt","upperCase","commaSpaces","hsrg","p2s","pathCommand","tCommand","pathValues","eldata","rectPath","ellipsePath","pathi","value","tolerance","rem","uuidRegEx","uuidReplacer","newwin","toHex","bod","trim","docum","range","hsbtoString","hsltoString","rgbtoString","prepareRGB","clr","packageRGB","img","colour","red","green","blue","pathString","pth","paths","pathClone","paramCounts","TString","c1x","c1y","c2x","c2y","t13","t12","t3","mx","my","curveDim","methodname","pathDimensions","dim","xmin","ymin","xmax","ymax","pathArray","pa","len","pathToAbsolute","crz","dots","l2c","q2c","_13","_23","a2c","large_arc_flag","sweep_flag","recursive","_120","f1","rx2","ry2","df","f2old","x2old","y2old","c1","s1","c2","s2","hx","hy","m1","m2","m3","m4","newres","findDotAtSegment","dot","attrs2","processPath","pcom","tq","fixArc","pp","pcoms1","pcoms2","fixM","a1","a2","pfirst","seg","seg2","seglen","seg2len","tear","par","el2","tstr","tdata","tlen","command","absolute","inver","getEmpty","tt1","tt2","maxlength","matrixproto","norm","normalize","mag","me","row","shorter","preventTouch","stopTouch","getEventPosition","scrollY","scrollX","addEvent","pos","_f","olde","detacher","dragMove","dragi","touch","parent","dragUp","elproto","eventName","f_in","f_out","scope_in","scope_out","draggable","onmove","onstart","onend","itemsArray","Set","fit","getOffset","elem","box","docElem","so","sr","hits","bot","thisArg","rp","isWithoutTransform","getPointAtSegmentLength","getLengthFactory","istotal","subpath","onlystart","point","sp","subpaths","getSubpathsAtLength","ef","Now","now","time","that","init","upto255","json","lastKey","setproto","index","insertion","tail","todel","arglen","collector","glowConfig","ret","shape2","index2","fontcopy","family","prop","glyph","stretch","fontName","thefont","letter_spacing","line_spacing","letters","notfirst","lineHeight","shifty","curr","token","str","tokenRegex","objNotationRegex","replacer","all","quote","quotedName","isFunc","isLoaded","xlink","markers","markerCounter","addGradientFill","SVG","_fx","_fy","dir","vector","updatePosition","addArrow","isEnd","se","pathId","markerId","use","marker","delta","dasharray","addDashes","dashes","setFillAndStroke","vis","att","val","pn","hl","rc","isURL","ig","stops","cssrule","tuneText","leading","tspan","texts","tspans","dif","getRealNode","Element","sw","containerStyle","canvasHidden","subkey","afterNode","beforeNode","fltr","con","isFloating","cnvs","paperSize","aspectRatio","fillString","map","bites","blurregexp","cssDot","zoom","pathTypes","ovalTypes","path2vml","total","vals","isMove","compensation","setCoords","kx","ky","newpath","isOval","dstyle","textpathStyle","newfill","createNode","newstroke","strokeColor","brect","dirtyattrs","dd","fxfy","clrs","oldt","vbs","vbt","isGrad","isPatt","bbt","cs","prepare","ol","li","isABBR","abbr","score","search","chunk","lis","rgName","input","marginTop","onclick","onchange","onkeydown","onkeyup","line","there","click","along","comaseparator","firstDefined","lastDefined","objtos","ar","sep","exist","FocusElt1","each","idx","removeClass","addClass","ProcessAjax","url","ajax","success","console","log","infobox","addHtml","settings","welcomeText","ProcessJson","externalLink","children","html","rosace","elts","euroviaRosace","extend","pointFocus","mode","radius","pointRadius","pointFillColor","nbPoints","overflow","shown","text-overflow","white-space","offsetX","offsetY","textWidth","removeAttr","nWidth","pLeft","needMove","needExpand","clearQueue","velocity","hash","org","append","fadeIn","fadeOut"],"mappings":"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","file":"../euroviaRosace-bundle.js","sourcesContent":["// Copyright 2012: Kelley Reynolds, RubyScale\r\n// http://rubyscale.com/blog/2010/11/22/embedding-arbitrary-html-into-raphaeljs/\r\n\r\n// Takes a raphaeljs object, some options, and some container attributes\r\nfunction Infobox(r, options, attrs) {\r\n options = options || {};\r\n attrs = attrs || {};\r\n this.paper = r;\r\n this.x = options.x || 0;\r\n this.y = options.y || 0;\r\n this.width = options.width || this.paper.width;\r\n this.height = options.height || this.paper.height;\r\n this.rounding = options.rounding || 0;\r\n this.show_border = options.with_border || false;\r\n this.container = this.paper.rect(this.x, this.y, this.width, this.height, this.rounding).attr(attrs);\r\n var container_id = this.container.node.parentNode.parentNode.id;\r\n container_id = container_id || this.container.node.parentNode.parentNode.parentNode.id;\r\n this.raph_container = jQuery('#' + container_id);\r\n this.color = options.color || \"#fff\";\r\n\r\n if (!this.show_border) { this.container.hide(); }\r\n\r\n this.div = jQuery('
').insertAfter(this.raph_container);\r\n var offset = this.raph_container.offset();\r\n this.div.css({\r\n 'top': (this.y + (this.rounding) + (offset.top)) + 'px',\r\n 'left': (this.x + (this.rounding) + (offset.left)) + 'px',\r\n 'height': (this.height - (this.rounding * 2) + 'px'),\r\n 'width': (this.width - (this.rounding * 2) + 'px')\r\n });\r\n jQuery(document).bind('ready', this, function (event) { event.data.update(); });\r\n jQuery(window).bind('resize', this, function (event) { event.data.update(); });\r\n}\r\n\r\nInfobox.prototype.update = function () {\r\n var offset = this.raph_container.offset();\r\n this.div.css({\r\n 'top': (this.y + (this.rounding) + (offset.top)) + 'px',\r\n 'left': (this.x + (this.rounding) + (offset.left)) + 'px',\r\n 'height': (this.height - (this.rounding * 2) + 'px'),\r\n 'width': (this.width - (this.rounding * 2) + 'px')\r\n });\r\n}\r\n\r\nInfobox.prototype.addHtml = function (data) {\r\n var obj = this;\r\n this.div.html(\"
\" + data + \"
\");\r\n $.each(this.div.children(0).children(), function (i, o) {\r\n $(o).css(\"color\", obj.color);\r\n });\r\n}\r\n\r\n// Note that the fadein/outs for the content div are at double speed. With frequent animations, it gives the best behavior\r\nInfobox.prototype.show = function () {\r\n this.container.animate({ opacity: 1 }, 400, \">\");\r\n this.div.fadeIn(200);\r\n}\r\n\r\nInfobox.prototype.hide = function () {\r\n this.container.animate({ opacity: 0 }, 400, \">\");\r\n this.div.fadeOut(200);\r\n}","// ┌────────────────────────────────────────────────────────────────────┐ \\\\\n// │ Raphaël 2.1.3 - JavaScript Vector Library │ \\\\\n// ├────────────────────────────────────────────────────────────────────┤ \\\\\n// │ Copyright © 2008-2012 Dmitry Baranovskiy (http://raphaeljs.com) │ \\\\\n// │ Copyright © 2008-2012 Sencha Labs (http://sencha.com) │ \\\\\n// ├────────────────────────────────────────────────────────────────────┤ \\\\\n// │ Licensed under the MIT (http://raphaeljs.com/license.html) license.│ \\\\\n// └────────────────────────────────────────────────────────────────────┘ \\\\\n!function(a){var b,c,d=\"0.4.2\",e=\"hasOwnProperty\",f=/[\\.\\/]/,g=\"*\",h=function(){},i=function(a,b){return a-b},j={n:{}},k=function(a,d){a=String(a);var e,f=c,g=Array.prototype.slice.call(arguments,2),h=k.listeners(a),j=0,l=[],m={},n=[],o=b;b=a,c=0;for(var p=0,q=h.length;q>p;p++)\"zIndex\"in h[p]&&(l.push(h[p].zIndex),h[p].zIndex<0&&(m[h[p].zIndex]=h[p]));for(l.sort(i);l[j]<0;)if(e=m[l[j++]],n.push(e.apply(d,g)),c)return c=f,n;for(p=0;q>p;p++)if(e=h[p],\"zIndex\"in e)if(e.zIndex==l[j]){if(n.push(e.apply(d,g)),c)break;do if(j++,e=m[l[j]],e&&n.push(e.apply(d,g)),c)break;while(e)}else m[e.zIndex]=e;else if(n.push(e.apply(d,g)),c)break;return c=f,b=o,n.length?n:null};k._events=j,k.listeners=function(a){var b,c,d,e,h,i,k,l,m=a.split(f),n=j,o=[n],p=[];for(e=0,h=m.length;h>e;e++){for(l=[],i=0,k=o.length;k>i;i++)for(n=o[i].n,c=[n[m[e]],n[g]],d=2;d--;)b=c[d],b&&(l.push(b),p=p.concat(b.f||[]));o=l}return p},k.on=function(a,b){if(a=String(a),\"function\"!=typeof b)return function(){};for(var c=a.split(f),d=j,e=0,g=c.length;g>e;e++)d=d.n,d=d.hasOwnProperty(c[e])&&d[c[e]]||(d[c[e]]={n:{}});for(d.f=d.f||[],e=0,g=d.f.length;g>e;e++)if(d.f[e]==b)return h;return d.f.push(b),function(a){+a==+a&&(b.zIndex=+a)}},k.f=function(a){var b=[].slice.call(arguments,1);return function(){k.apply(null,[a,null].concat(b).concat([].slice.call(arguments,0)))}},k.stop=function(){c=1},k.nt=function(a){return a?new RegExp(\"(?:\\\\.|\\\\/|^)\"+a+\"(?:\\\\.|\\\\/|$)\").test(b):b},k.nts=function(){return b.split(f)},k.off=k.unbind=function(a,b){if(!a)return void(k._events=j={n:{}});var c,d,h,i,l,m,n,o=a.split(f),p=[j];for(i=0,l=o.length;l>i;i++)for(m=0;mi;i++)for(c=p[i];c.n;){if(b){if(c.f){for(m=0,n=c.f.length;n>m;m++)if(c.f[m]==b){c.f.splice(m,1);break}!c.f.length&&delete c.f}for(d in c.n)if(c.n[e](d)&&c.n[d].f){var q=c.n[d].f;for(m=0,n=q.length;n>m;m++)if(q[m]==b){q.splice(m,1);break}!q.length&&delete c.n[d].f}}else{delete c.f;for(d in c.n)c.n[e](d)&&c.n[d].f&&delete c.n[d].f}c=c.n}},k.once=function(a,b){var c=function(){return k.unbind(a,c),b.apply(this,arguments)};return k.on(a,c)},k.version=d,k.toString=function(){return\"You are running Eve \"+d},\"undefined\"!=typeof module&&module.exports?module.exports=k:\"undefined\"!=typeof define?define(\"eve\",[],function(){return k}):a.eve=k}(window||this),function(a,b){\"function\"==typeof define&&define.amd?define([\"eve\"],function(c){return b(a,c)}):b(a,a.eve||\"function\"==typeof require&&require(\"eve\"))}(this,function(a,b){function c(a){if(c.is(a,\"function\"))return u?a():b.on(\"raphael.DOMload\",a);if(c.is(a,V))return c._engine.create[D](c,a.splice(0,3+c.is(a[0],T))).add(a);var d=Array.prototype.slice.call(arguments,0);if(c.is(d[d.length-1],\"function\")){var e=d.pop();return u?e.call(c._engine.create[D](c,d)):b.on(\"raphael.DOMload\",function(){e.call(c._engine.create[D](c,d))})}return c._engine.create[D](c,arguments)}function d(a){if(\"function\"==typeof a||Object(a)!==a)return a;var b=new a.constructor;for(var c in a)a[z](c)&&(b[c]=d(a[c]));return b}function e(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return a.push(a.splice(c,1)[0])}function f(a,b,c){function d(){var f=Array.prototype.slice.call(arguments,0),g=f.join(\"␀\"),h=d.cache=d.cache||{},i=d.count=d.count||[];return h[z](g)?(e(i,g),c?c(h[g]):h[g]):(i.length>=1e3&&delete h[i.shift()],i.push(g),h[g]=a[D](b,f),c?c(h[g]):h[g])}return d}function g(){return this.hex}function h(a,b){for(var c=[],d=0,e=a.length;e-2*!b>d;d+=2){var f=[{x:+a[d-2],y:+a[d-1]},{x:+a[d],y:+a[d+1]},{x:+a[d+2],y:+a[d+3]},{x:+a[d+4],y:+a[d+5]}];b?d?e-4==d?f[3]={x:+a[0],y:+a[1]}:e-2==d&&(f[2]={x:+a[0],y:+a[1]},f[3]={x:+a[2],y:+a[3]}):f[0]={x:+a[e-2],y:+a[e-1]}:e-4==d?f[3]=f[2]:d||(f[0]={x:+a[d],y:+a[d+1]}),c.push([\"C\",(-f[0].x+6*f[1].x+f[2].x)/6,(-f[0].y+6*f[1].y+f[2].y)/6,(f[1].x+6*f[2].x-f[3].x)/6,(f[1].y+6*f[2].y-f[3].y)/6,f[2].x,f[2].y])}return c}function i(a,b,c,d,e){var f=-3*b+9*c-9*d+3*e,g=a*f+6*b-12*c+6*d;return a*g-3*b+3*c}function j(a,b,c,d,e,f,g,h,j){null==j&&(j=1),j=j>1?1:0>j?0:j;for(var k=j/2,l=12,m=[-.1252,.1252,-.3678,.3678,-.5873,.5873,-.7699,.7699,-.9041,.9041,-.9816,.9816],n=[.2491,.2491,.2335,.2335,.2032,.2032,.1601,.1601,.1069,.1069,.0472,.0472],o=0,p=0;l>p;p++){var q=k*m[p]+k,r=i(q,a,c,e,g),s=i(q,b,d,f,h),t=r*r+s*s;o+=n[p]*N.sqrt(t)}return k*o}function k(a,b,c,d,e,f,g,h,i){if(!(0>i||j(a,b,c,d,e,f,g,h)o;)m/=2,n+=(i>k?1:-1)*m,k=j(a,b,c,d,e,f,g,h,n);return n}}function l(a,b,c,d,e,f,g,h){if(!(O(a,c)O(e,g)||O(b,d)O(f,h))){var i=(a*d-b*c)*(e-g)-(a-c)*(e*h-f*g),j=(a*d-b*c)*(f-h)-(b-d)*(e*h-f*g),k=(a-c)*(f-h)-(b-d)*(e-g);if(k){var l=i/k,m=j/k,n=+l.toFixed(2),o=+m.toFixed(2);if(!(n<+P(a,c).toFixed(2)||n>+O(a,c).toFixed(2)||n<+P(e,g).toFixed(2)||n>+O(e,g).toFixed(2)||o<+P(b,d).toFixed(2)||o>+O(b,d).toFixed(2)||o<+P(f,h).toFixed(2)||o>+O(f,h).toFixed(2)))return{x:l,y:m}}}}function m(a,b,d){var e=c.bezierBBox(a),f=c.bezierBBox(b);if(!c.isBBoxIntersect(e,f))return d?0:[];for(var g=j.apply(0,a),h=j.apply(0,b),i=O(~~(g/5),1),k=O(~~(h/5),1),m=[],n=[],o={},p=d?0:[],q=0;i+1>q;q++){var r=c.findDotsAtSegment.apply(c,a.concat(q/i));m.push({x:r.x,y:r.y,t:q/i})}for(q=0;k+1>q;q++)r=c.findDotsAtSegment.apply(c,b.concat(q/k)),n.push({x:r.x,y:r.y,t:q/k});for(q=0;i>q;q++)for(var s=0;k>s;s++){var t=m[q],u=m[q+1],v=n[s],w=n[s+1],x=Q(u.x-t.x)<.001?\"y\":\"x\",y=Q(w.x-v.x)<.001?\"y\":\"x\",z=l(t.x,t.y,u.x,u.y,v.x,v.y,w.x,w.y);if(z){if(o[z.x.toFixed(4)]==z.y.toFixed(4))continue;o[z.x.toFixed(4)]=z.y.toFixed(4);var A=t.t+Q((z[x]-t[x])/(u[x]-t[x]))*(u.t-t.t),B=v.t+Q((z[y]-v[y])/(w[y]-v[y]))*(w.t-v.t);A>=0&&1.001>=A&&B>=0&&1.001>=B&&(d?p++:p.push({x:z.x,y:z.y,t1:P(A,1),t2:P(B,1)}))}}return p}function n(a,b,d){a=c._path2curve(a),b=c._path2curve(b);for(var e,f,g,h,i,j,k,l,n,o,p=d?0:[],q=0,r=a.length;r>q;q++){var s=a[q];if(\"M\"==s[0])e=i=s[1],f=j=s[2];else{\"C\"==s[0]?(n=[e,f].concat(s.slice(1)),e=n[6],f=n[7]):(n=[e,f,e,f,i,j,i,j],e=i,f=j);for(var t=0,u=b.length;u>t;t++){var v=b[t];if(\"M\"==v[0])g=k=v[1],h=l=v[2];else{\"C\"==v[0]?(o=[g,h].concat(v.slice(1)),g=o[6],h=o[7]):(o=[g,h,g,h,k,l,k,l],g=k,h=l);var w=m(n,o,d);if(d)p+=w;else{for(var x=0,y=w.length;y>x;x++)w[x].segment1=q,w[x].segment2=t,w[x].bez1=n,w[x].bez2=o;p=p.concat(w)}}}}}return p}function o(a,b,c,d,e,f){null!=a?(this.a=+a,this.b=+b,this.c=+c,this.d=+d,this.e=+e,this.f=+f):(this.a=1,this.b=0,this.c=0,this.d=1,this.e=0,this.f=0)}function p(){return this.x+H+this.y+H+this.width+\" × \"+this.height}function q(a,b,c,d,e,f){function g(a){return((l*a+k)*a+j)*a}function h(a,b){var c=i(a,b);return((o*c+n)*c+m)*c}function i(a,b){var c,d,e,f,h,i;for(e=a,i=0;8>i;i++){if(f=g(e)-a,Q(f)e)return c;if(e>d)return d;for(;d>c;){if(f=g(e),Q(f-a)f?c=e:d=e,e=(d-c)/2+c}return e}var j=3*b,k=3*(d-b)-j,l=1-j-k,m=3*c,n=3*(e-c)-m,o=1-m-n;return h(a,1/(200*f))}function r(a,b){var c=[],d={};if(this.ms=b,this.times=1,a){for(var e in a)a[z](e)&&(d[_(e)]=a[e],c.push(_(e)));c.sort(lb)}this.anim=d,this.top=c[c.length-1],this.percents=c}function s(a,d,e,f,g,h){e=_(e);var i,j,k,l,m,n,p=a.ms,r={},s={},t={};if(f)for(v=0,x=ic.length;x>v;v++){var u=ic[v];if(u.el.id==d.id&&u.anim==a){u.percent!=e?(ic.splice(v,1),k=1):j=u,d.attr(u.totalOrigin);break}}else f=+s;for(var v=0,x=a.percents.length;x>v;v++){if(a.percents[v]==e||a.percents[v]>f*a.top){e=a.percents[v],m=a.percents[v-1]||0,p=p/a.top*(e-m),l=a.percents[v+1],i=a.anim[e];break}f&&d.attr(a.anim[a.percents[v]])}if(i){if(j)j.initstatus=f,j.start=new Date-j.ms*f;else{for(var y in i)if(i[z](y)&&(db[z](y)||d.paper.customAttributes[z](y)))switch(r[y]=d.attr(y),null==r[y]&&(r[y]=cb[y]),s[y]=i[y],db[y]){case T:t[y]=(s[y]-r[y])/p;break;case\"colour\":r[y]=c.getRGB(r[y]);var A=c.getRGB(s[y]);t[y]={r:(A.r-r[y].r)/p,g:(A.g-r[y].g)/p,b:(A.b-r[y].b)/p};break;case\"path\":var B=Kb(r[y],s[y]),C=B[1];for(r[y]=B[0],t[y]=[],v=0,x=r[y].length;x>v;v++){t[y][v]=[0];for(var D=1,F=r[y][v].length;F>D;D++)t[y][v][D]=(C[v][D]-r[y][v][D])/p}break;case\"transform\":var G=d._,H=Pb(G[y],s[y]);if(H)for(r[y]=H.from,s[y]=H.to,t[y]=[],t[y].real=!0,v=0,x=r[y].length;x>v;v++)for(t[y][v]=[r[y][v][0]],D=1,F=r[y][v].length;F>D;D++)t[y][v][D]=(s[y][v][D]-r[y][v][D])/p;else{var K=d.matrix||new o,L={_:{transform:G.transform},getBBox:function(){return d.getBBox(1)}};r[y]=[K.a,K.b,K.c,K.d,K.e,K.f],Nb(L,s[y]),s[y]=L._.transform,t[y]=[(L.matrix.a-K.a)/p,(L.matrix.b-K.b)/p,(L.matrix.c-K.c)/p,(L.matrix.d-K.d)/p,(L.matrix.e-K.e)/p,(L.matrix.f-K.f)/p]}break;case\"csv\":var M=I(i[y])[J](w),N=I(r[y])[J](w);if(\"clip-rect\"==y)for(r[y]=N,t[y]=[],v=N.length;v--;)t[y][v]=(M[v]-r[y][v])/p;s[y]=M;break;default:for(M=[][E](i[y]),N=[][E](r[y]),t[y]=[],v=d.paper.customAttributes[y].length;v--;)t[y][v]=((M[v]||0)-(N[v]||0))/p}var O=i.easing,P=c.easing_formulas[O];if(!P)if(P=I(O).match(Z),P&&5==P.length){var Q=P;P=function(a){return q(a,+Q[1],+Q[2],+Q[3],+Q[4],p)}}else P=nb;if(n=i.start||a.start||+new Date,u={anim:a,percent:e,timestamp:n,start:n+(a.del||0),status:0,initstatus:f||0,stop:!1,ms:p,easing:P,from:r,diff:t,to:s,el:d,callback:i.callback,prev:m,next:l,repeat:h||a.times,origin:d.attr(),totalOrigin:g},ic.push(u),f&&!j&&!k&&(u.stop=!0,u.start=new Date-p*f,1==ic.length))return kc();k&&(u.start=new Date-u.ms*f),1==ic.length&&jc(kc)}b(\"raphael.anim.start.\"+d.id,d,a)}}function t(a){for(var b=0;be;e++)for(i=a[e],f=1,h=i.length;h>f;f+=2)c=b.x(i[f],i[f+1]),d=b.y(i[f],i[f+1]),i[f]=c,i[f+1]=d;return a};if(c._g=A,c.type=A.win.SVGAngle||A.doc.implementation.hasFeature(\"http://www.w3.org/TR/SVG11/feature#BasicStructure\",\"1.1\")?\"SVG\":\"VML\",\"VML\"==c.type){var sb,tb=A.doc.createElement(\"div\");if(tb.innerHTML='',sb=tb.firstChild,sb.style.behavior=\"url(#default#VML)\",!sb||\"object\"!=typeof sb.adj)return c.type=G;tb=null}c.svg=!(c.vml=\"VML\"==c.type),c._Paper=C,c.fn=v=C.prototype=c.prototype,c._id=0,c._oid=0,c.is=function(a,b){return b=M.call(b),\"finite\"==b?!Y[z](+a):\"array\"==b?a instanceof Array:\"null\"==b&&null===a||b==typeof a&&null!==a||\"object\"==b&&a===Object(a)||\"array\"==b&&Array.isArray&&Array.isArray(a)||W.call(a).slice(8,-1).toLowerCase()==b},c.angle=function(a,b,d,e,f,g){if(null==f){var h=a-d,i=b-e;return h||i?(180+180*N.atan2(-i,-h)/S+360)%360:0}return c.angle(a,b,f,g)-c.angle(d,e,f,g)},c.rad=function(a){return a%360*S/180},c.deg=function(a){return Math.round(180*a/S%360*1e3)/1e3},c.snapTo=function(a,b,d){if(d=c.is(d,\"finite\")?d:10,c.is(a,V)){for(var e=a.length;e--;)if(Q(a[e]-b)<=d)return a[e]}else{a=+a;var f=b%a;if(d>f)return b-f;if(f>a-d)return b-f+a}return b};c.createUUID=function(a,b){return function(){return\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(a,b).toUpperCase()}}(/[xy]/g,function(a){var b=16*N.random()|0,c=\"x\"==a?b:3&b|8;return c.toString(16)});c.setWindow=function(a){b(\"raphael.setWindow\",c,A.win,a),A.win=a,A.doc=A.win.document,c._engine.initWin&&c._engine.initWin(A.win)};var ub=function(a){if(c.vml){var b,d=/^\\s+|\\s+$/g;try{var e=new ActiveXObject(\"htmlfile\");e.write(\"\"),e.close(),b=e.body}catch(g){b=createPopup().document.body}var h=b.createTextRange();ub=f(function(a){try{b.style.color=I(a).replace(d,G);var c=h.queryCommandValue(\"ForeColor\");return c=(255&c)<<16|65280&c|(16711680&c)>>>16,\"#\"+(\"000000\"+c.toString(16)).slice(-6)}catch(e){return\"none\"}})}else{var i=A.doc.createElement(\"i\");i.title=\"Raphaël Colour Picker\",i.style.display=\"none\",A.doc.body.appendChild(i),ub=f(function(a){return i.style.color=a,A.doc.defaultView.getComputedStyle(i,G).getPropertyValue(\"color\")})}return ub(a)},vb=function(){return\"hsb(\"+[this.h,this.s,this.b]+\")\"},wb=function(){return\"hsl(\"+[this.h,this.s,this.l]+\")\"},xb=function(){return this.hex},yb=function(a,b,d){if(null==b&&c.is(a,\"object\")&&\"r\"in a&&\"g\"in a&&\"b\"in a&&(d=a.b,b=a.g,a=a.r),null==b&&c.is(a,U)){var e=c.getRGB(a);a=e.r,b=e.g,d=e.b}return(a>1||b>1||d>1)&&(a/=255,b/=255,d/=255),[a,b,d]},zb=function(a,b,d,e){a*=255,b*=255,d*=255;var f={r:a,g:b,b:d,hex:c.rgb(a,b,d),toString:xb};return c.is(e,\"finite\")&&(f.opacity=e),f};c.color=function(a){var b;return c.is(a,\"object\")&&\"h\"in a&&\"s\"in a&&\"b\"in a?(b=c.hsb2rgb(a),a.r=b.r,a.g=b.g,a.b=b.b,a.hex=b.hex):c.is(a,\"object\")&&\"h\"in a&&\"s\"in a&&\"l\"in a?(b=c.hsl2rgb(a),a.r=b.r,a.g=b.g,a.b=b.b,a.hex=b.hex):(c.is(a,\"string\")&&(a=c.getRGB(a)),c.is(a,\"object\")&&\"r\"in a&&\"g\"in a&&\"b\"in a?(b=c.rgb2hsl(a),a.h=b.h,a.s=b.s,a.l=b.l,b=c.rgb2hsb(a),a.v=b.b):(a={hex:\"none\"},a.r=a.g=a.b=a.h=a.s=a.v=a.l=-1)),a.toString=xb,a},c.hsb2rgb=function(a,b,c,d){this.is(a,\"object\")&&\"h\"in a&&\"s\"in a&&\"b\"in a&&(c=a.b,b=a.s,d=a.o,a=a.h),a*=360;var e,f,g,h,i;return a=a%360/60,i=c*b,h=i*(1-Q(a%2-1)),e=f=g=c-i,a=~~a,e+=[i,h,0,0,h,i][a],f+=[h,i,i,h,0,0][a],g+=[0,0,h,i,i,h][a],zb(e,f,g,d)},c.hsl2rgb=function(a,b,c,d){this.is(a,\"object\")&&\"h\"in a&&\"s\"in a&&\"l\"in a&&(c=a.l,b=a.s,a=a.h),(a>1||b>1||c>1)&&(a/=360,b/=100,c/=100),a*=360;var e,f,g,h,i;return a=a%360/60,i=2*b*(.5>c?c:1-c),h=i*(1-Q(a%2-1)),e=f=g=c-i/2,a=~~a,e+=[i,h,0,0,h,i][a],f+=[h,i,i,h,0,0][a],g+=[0,0,h,i,i,h][a],zb(e,f,g,d)},c.rgb2hsb=function(a,b,c){c=yb(a,b,c),a=c[0],b=c[1],c=c[2];var d,e,f,g;return f=O(a,b,c),g=f-P(a,b,c),d=0==g?null:f==a?(b-c)/g:f==b?(c-a)/g+2:(a-b)/g+4,d=(d+360)%6*60/360,e=0==g?0:g/f,{h:d,s:e,b:f,toString:vb}},c.rgb2hsl=function(a,b,c){c=yb(a,b,c),a=c[0],b=c[1],c=c[2];var d,e,f,g,h,i;return g=O(a,b,c),h=P(a,b,c),i=g-h,d=0==i?null:g==a?(b-c)/i:g==b?(c-a)/i+2:(a-b)/i+4,d=(d+360)%6*60/360,f=(g+h)/2,e=0==i?0:.5>f?i/(2*f):i/(2-2*f),{h:d,s:e,l:f,toString:wb}},c._path2string=function(){return this.join(\",\").replace(gb,\"$1\")};c._preload=function(a,b){var c=A.doc.createElement(\"img\");c.style.cssText=\"position:absolute;left:-9999em;top:-9999em\",c.onload=function(){b.call(this),this.onload=null,A.doc.body.removeChild(this)},c.onerror=function(){A.doc.body.removeChild(this)},A.doc.body.appendChild(c),c.src=a};c.getRGB=f(function(a){if(!a||(a=I(a)).indexOf(\"-\")+1)return{r:-1,g:-1,b:-1,hex:\"none\",error:1,toString:g};if(\"none\"==a)return{r:-1,g:-1,b:-1,hex:\"none\",toString:g};!(fb[z](a.toLowerCase().substring(0,2))||\"#\"==a.charAt())&&(a=ub(a));var b,d,e,f,h,i,j=a.match(X);return j?(j[2]&&(e=ab(j[2].substring(5),16),d=ab(j[2].substring(3,5),16),b=ab(j[2].substring(1,3),16)),j[3]&&(e=ab((h=j[3].charAt(3))+h,16),d=ab((h=j[3].charAt(2))+h,16),b=ab((h=j[3].charAt(1))+h,16)),j[4]&&(i=j[4][J](eb),b=_(i[0]),\"%\"==i[0].slice(-1)&&(b*=2.55),d=_(i[1]),\"%\"==i[1].slice(-1)&&(d*=2.55),e=_(i[2]),\"%\"==i[2].slice(-1)&&(e*=2.55),\"rgba\"==j[1].toLowerCase().slice(0,4)&&(f=_(i[3])),i[3]&&\"%\"==i[3].slice(-1)&&(f/=100)),j[5]?(i=j[5][J](eb),b=_(i[0]),\"%\"==i[0].slice(-1)&&(b*=2.55),d=_(i[1]),\"%\"==i[1].slice(-1)&&(d*=2.55),e=_(i[2]),\"%\"==i[2].slice(-1)&&(e*=2.55),(\"deg\"==i[0].slice(-3)||\"°\"==i[0].slice(-1))&&(b/=360),\"hsba\"==j[1].toLowerCase().slice(0,4)&&(f=_(i[3])),i[3]&&\"%\"==i[3].slice(-1)&&(f/=100),c.hsb2rgb(b,d,e,f)):j[6]?(i=j[6][J](eb),b=_(i[0]),\"%\"==i[0].slice(-1)&&(b*=2.55),d=_(i[1]),\"%\"==i[1].slice(-1)&&(d*=2.55),e=_(i[2]),\"%\"==i[2].slice(-1)&&(e*=2.55),(\"deg\"==i[0].slice(-3)||\"°\"==i[0].slice(-1))&&(b/=360),\"hsla\"==j[1].toLowerCase().slice(0,4)&&(f=_(i[3])),i[3]&&\"%\"==i[3].slice(-1)&&(f/=100),c.hsl2rgb(b,d,e,f)):(j={r:b,g:d,b:e,toString:g},j.hex=\"#\"+(16777216|e|d<<8|b<<16).toString(16).slice(1),c.is(f,\"finite\")&&(j.opacity=f),j)):{r:-1,g:-1,b:-1,hex:\"none\",error:1,toString:g}},c),c.hsb=f(function(a,b,d){return c.hsb2rgb(a,b,d).hex}),c.hsl=f(function(a,b,d){return c.hsl2rgb(a,b,d).hex}),c.rgb=f(function(a,b,c){return\"#\"+(16777216|c|b<<8|a<<16).toString(16).slice(1)}),c.getColor=function(a){var b=this.getColor.start=this.getColor.start||{h:0,s:1,b:a||.75},c=this.hsb2rgb(b.h,b.s,b.b);return b.h+=.075,b.h>1&&(b.h=0,b.s-=.2,b.s<=0&&(this.getColor.start={h:0,s:1,b:b.b})),c.hex},c.getColor.reset=function(){delete this.start},c.parsePathString=function(a){if(!a)return null;var b=Ab(a);if(b.arr)return Cb(b.arr);var d={a:7,c:6,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,z:0},e=[];return c.is(a,V)&&c.is(a[0],V)&&(e=Cb(a)),e.length||I(a).replace(hb,function(a,b,c){var f=[],g=b.toLowerCase();if(c.replace(jb,function(a,b){b&&f.push(+b)}),\"m\"==g&&f.length>2&&(e.push([b][E](f.splice(0,2))),g=\"l\",b=\"m\"==b?\"l\":\"L\"),\"r\"==g)e.push([b][E](f));else for(;f.length>=d[g]&&(e.push([b][E](f.splice(0,d[g]))),d[g]););}),e.toString=c._path2string,b.arr=Cb(e),e},c.parseTransformString=f(function(a){if(!a)return null;var b=[];return c.is(a,V)&&c.is(a[0],V)&&(b=Cb(a)),b.length||I(a).replace(ib,function(a,c,d){{var e=[];M.call(c)}d.replace(jb,function(a,b){b&&e.push(+b)}),b.push([c][E](e))}),b.toString=c._path2string,b});var Ab=function(a){var b=Ab.ps=Ab.ps||{};return b[a]?b[a].sleep=100:b[a]={sleep:100},setTimeout(function(){for(var c in b)b[z](c)&&c!=a&&(b[c].sleep--,!b[c].sleep&&delete b[c])}),b[a]};c.findDotsAtSegment=function(a,b,c,d,e,f,g,h,i){var j=1-i,k=R(j,3),l=R(j,2),m=i*i,n=m*i,o=k*a+3*l*i*c+3*j*i*i*e+n*g,p=k*b+3*l*i*d+3*j*i*i*f+n*h,q=a+2*i*(c-a)+m*(e-2*c+a),r=b+2*i*(d-b)+m*(f-2*d+b),s=c+2*i*(e-c)+m*(g-2*e+c),t=d+2*i*(f-d)+m*(h-2*f+d),u=j*a+i*c,v=j*b+i*d,w=j*e+i*g,x=j*f+i*h,y=90-180*N.atan2(q-s,r-t)/S;return(q>s||t>r)&&(y+=180),{x:o,y:p,m:{x:q,y:r},n:{x:s,y:t},start:{x:u,y:v},end:{x:w,y:x},alpha:y}},c.bezierBBox=function(a,b,d,e,f,g,h,i){c.is(a,\"array\")||(a=[a,b,d,e,f,g,h,i]);var j=Jb.apply(null,a);return{x:j.min.x,y:j.min.y,x2:j.max.x,y2:j.max.y,width:j.max.x-j.min.x,height:j.max.y-j.min.y}},c.isPointInsideBBox=function(a,b,c){return b>=a.x&&b<=a.x2&&c>=a.y&&c<=a.y2},c.isBBoxIntersect=function(a,b){var d=c.isPointInsideBBox;return d(b,a.x,a.y)||d(b,a.x2,a.y)||d(b,a.x,a.y2)||d(b,a.x2,a.y2)||d(a,b.x,b.y)||d(a,b.x2,b.y)||d(a,b.x,b.y2)||d(a,b.x2,b.y2)||(a.xb.x||b.xa.x)&&(a.yb.y||b.ya.y)},c.pathIntersection=function(a,b){return n(a,b)},c.pathIntersectionNumber=function(a,b){return n(a,b,1)},c.isPointInsidePath=function(a,b,d){var e=c.pathBBox(a);return c.isPointInsideBBox(e,b,d)&&n(a,[[\"M\",b,d],[\"H\",e.x2+10]],1)%2==1},c._removedFactory=function(a){return function(){b(\"raphael.log\",null,\"Raphaël: you are calling to method “\"+a+\"” of removed object\",a)}};var Bb=c.pathBBox=function(a){var b=Ab(a);if(b.bbox)return d(b.bbox);if(!a)return{x:0,y:0,width:0,height:0,x2:0,y2:0};a=Kb(a);for(var c,e=0,f=0,g=[],h=[],i=0,j=a.length;j>i;i++)if(c=a[i],\"M\"==c[0])e=c[1],f=c[2],g.push(e),h.push(f);else{var k=Jb(e,f,c[1],c[2],c[3],c[4],c[5],c[6]);g=g[E](k.min.x,k.max.x),h=h[E](k.min.y,k.max.y),e=c[5],f=c[6]}var l=P[D](0,g),m=P[D](0,h),n=O[D](0,g),o=O[D](0,h),p=n-l,q=o-m,r={x:l,y:m,x2:n,y2:o,width:p,height:q,cx:l+p/2,cy:m+q/2};return b.bbox=d(r),r},Cb=function(a){var b=d(a);return b.toString=c._path2string,b},Db=c._pathToRelative=function(a){var b=Ab(a);if(b.rel)return Cb(b.rel);c.is(a,V)&&c.is(a&&a[0],V)||(a=c.parsePathString(a));var d=[],e=0,f=0,g=0,h=0,i=0;\"M\"==a[0][0]&&(e=a[0][1],f=a[0][2],g=e,h=f,i++,d.push([\"M\",e,f]));for(var j=i,k=a.length;k>j;j++){var l=d[j]=[],m=a[j];if(m[0]!=M.call(m[0]))switch(l[0]=M.call(m[0]),l[0]){case\"a\":l[1]=m[1],l[2]=m[2],l[3]=m[3],l[4]=m[4],l[5]=m[5],l[6]=+(m[6]-e).toFixed(3),l[7]=+(m[7]-f).toFixed(3);break;case\"v\":l[1]=+(m[1]-f).toFixed(3);break;case\"m\":g=m[1],h=m[2];default:for(var n=1,o=m.length;o>n;n++)l[n]=+(m[n]-(n%2?e:f)).toFixed(3)}else{l=d[j]=[],\"m\"==m[0]&&(g=m[1]+e,h=m[2]+f);for(var p=0,q=m.length;q>p;p++)d[j][p]=m[p]}var r=d[j].length;switch(d[j][0]){case\"z\":e=g,f=h;break;case\"h\":e+=+d[j][r-1];break;case\"v\":f+=+d[j][r-1];break;default:e+=+d[j][r-2],f+=+d[j][r-1]}}return d.toString=c._path2string,b.rel=Cb(d),d},Eb=c._pathToAbsolute=function(a){var b=Ab(a);if(b.abs)return Cb(b.abs);if(c.is(a,V)&&c.is(a&&a[0],V)||(a=c.parsePathString(a)),!a||!a.length)return[[\"M\",0,0]];var d=[],e=0,f=0,g=0,i=0,j=0;\"M\"==a[0][0]&&(e=+a[0][1],f=+a[0][2],g=e,i=f,j++,d[0]=[\"M\",e,f]);for(var k,l,m=3==a.length&&\"M\"==a[0][0]&&\"R\"==a[1][0].toUpperCase()&&\"Z\"==a[2][0].toUpperCase(),n=j,o=a.length;o>n;n++){if(d.push(k=[]),l=a[n],l[0]!=bb.call(l[0]))switch(k[0]=bb.call(l[0]),k[0]){case\"A\":k[1]=l[1],k[2]=l[2],k[3]=l[3],k[4]=l[4],k[5]=l[5],k[6]=+(l[6]+e),k[7]=+(l[7]+f);break;case\"V\":k[1]=+l[1]+f;break;case\"H\":k[1]=+l[1]+e;break;case\"R\":for(var p=[e,f][E](l.slice(1)),q=2,r=p.length;r>q;q++)p[q]=+p[q]+e,p[++q]=+p[q]+f;d.pop(),d=d[E](h(p,m));break;case\"M\":g=+l[1]+e,i=+l[2]+f;default:for(q=1,r=l.length;r>q;q++)k[q]=+l[q]+(q%2?e:f)}else if(\"R\"==l[0])p=[e,f][E](l.slice(1)),d.pop(),d=d[E](h(p,m)),k=[\"R\"][E](l.slice(-2));else for(var s=0,t=l.length;t>s;s++)k[s]=l[s];switch(k[0]){case\"Z\":e=g,f=i;break;case\"H\":e=k[1];break;case\"V\":f=k[1];break;case\"M\":g=k[k.length-2],i=k[k.length-1];default:e=k[k.length-2],f=k[k.length-1]}}return d.toString=c._path2string,b.abs=Cb(d),d},Fb=function(a,b,c,d){return[a,b,c,d,c,d]},Gb=function(a,b,c,d,e,f){var g=1/3,h=2/3;return[g*a+h*c,g*b+h*d,g*e+h*c,g*f+h*d,e,f]},Hb=function(a,b,c,d,e,g,h,i,j,k){var l,m=120*S/180,n=S/180*(+e||0),o=[],p=f(function(a,b,c){var d=a*N.cos(c)-b*N.sin(c),e=a*N.sin(c)+b*N.cos(c);return{x:d,y:e}});if(k)y=k[0],z=k[1],w=k[2],x=k[3];else{l=p(a,b,-n),a=l.x,b=l.y,l=p(i,j,-n),i=l.x,j=l.y;var q=(N.cos(S/180*e),N.sin(S/180*e),(a-i)/2),r=(b-j)/2,s=q*q/(c*c)+r*r/(d*d);s>1&&(s=N.sqrt(s),c=s*c,d=s*d);var t=c*c,u=d*d,v=(g==h?-1:1)*N.sqrt(Q((t*u-t*r*r-u*q*q)/(t*r*r+u*q*q))),w=v*c*r/d+(a+i)/2,x=v*-d*q/c+(b+j)/2,y=N.asin(((b-x)/d).toFixed(9)),z=N.asin(((j-x)/d).toFixed(9));y=w>a?S-y:y,z=w>i?S-z:z,0>y&&(y=2*S+y),0>z&&(z=2*S+z),h&&y>z&&(y-=2*S),!h&&z>y&&(z-=2*S)}var A=z-y;if(Q(A)>m){var B=z,C=i,D=j;z=y+m*(h&&z>y?1:-1),i=w+c*N.cos(z),j=x+d*N.sin(z),o=Hb(i,j,c,d,e,0,h,C,D,[z,B,w,x])}A=z-y;var F=N.cos(y),G=N.sin(y),H=N.cos(z),I=N.sin(z),K=N.tan(A/4),L=4/3*c*K,M=4/3*d*K,O=[a,b],P=[a+L*G,b-M*F],R=[i+L*I,j-M*H],T=[i,j];if(P[0]=2*O[0]-P[0],P[1]=2*O[1]-P[1],k)return[P,R,T][E](o);o=[P,R,T][E](o).join()[J](\",\");for(var U=[],V=0,W=o.length;W>V;V++)U[V]=V%2?p(o[V-1],o[V],n).y:p(o[V],o[V+1],n).x;return U},Ib=function(a,b,c,d,e,f,g,h,i){var j=1-i;return{x:R(j,3)*a+3*R(j,2)*i*c+3*j*i*i*e+R(i,3)*g,y:R(j,3)*b+3*R(j,2)*i*d+3*j*i*i*f+R(i,3)*h}},Jb=f(function(a,b,c,d,e,f,g,h){var i,j=e-2*c+a-(g-2*e+c),k=2*(c-a)-2*(e-c),l=a-c,m=(-k+N.sqrt(k*k-4*j*l))/2/j,n=(-k-N.sqrt(k*k-4*j*l))/2/j,o=[b,h],p=[a,g];return Q(m)>\"1e12\"&&(m=.5),Q(n)>\"1e12\"&&(n=.5),m>0&&1>m&&(i=Ib(a,b,c,d,e,f,g,h,m),p.push(i.x),o.push(i.y)),n>0&&1>n&&(i=Ib(a,b,c,d,e,f,g,h,n),p.push(i.x),o.push(i.y)),j=f-2*d+b-(h-2*f+d),k=2*(d-b)-2*(f-d),l=b-d,m=(-k+N.sqrt(k*k-4*j*l))/2/j,n=(-k-N.sqrt(k*k-4*j*l))/2/j,Q(m)>\"1e12\"&&(m=.5),Q(n)>\"1e12\"&&(n=.5),m>0&&1>m&&(i=Ib(a,b,c,d,e,f,g,h,m),p.push(i.x),o.push(i.y)),n>0&&1>n&&(i=Ib(a,b,c,d,e,f,g,h,n),p.push(i.x),o.push(i.y)),{min:{x:P[D](0,p),y:P[D](0,o)},max:{x:O[D](0,p),y:O[D](0,o)}}}),Kb=c._path2curve=f(function(a,b){var c=!b&&Ab(a);if(!b&&c.curve)return Cb(c.curve);for(var d=Eb(a),e=b&&Eb(b),f={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},g={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},h=(function(a,b,c){var d,e,f={T:1,Q:1};if(!a)return[\"C\",b.x,b.y,b.x,b.y,b.x,b.y];switch(!(a[0]in f)&&(b.qx=b.qy=null),a[0]){case\"M\":b.X=a[1],b.Y=a[2];break;case\"A\":a=[\"C\"][E](Hb[D](0,[b.x,b.y][E](a.slice(1))));break;case\"S\":\"C\"==c||\"S\"==c?(d=2*b.x-b.bx,e=2*b.y-b.by):(d=b.x,e=b.y),a=[\"C\",d,e][E](a.slice(1));break;case\"T\":\"Q\"==c||\"T\"==c?(b.qx=2*b.x-b.qx,b.qy=2*b.y-b.qy):(b.qx=b.x,b.qy=b.y),a=[\"C\"][E](Gb(b.x,b.y,b.qx,b.qy,a[1],a[2]));break;case\"Q\":b.qx=a[1],b.qy=a[2],a=[\"C\"][E](Gb(b.x,b.y,a[1],a[2],a[3],a[4]));break;case\"L\":a=[\"C\"][E](Fb(b.x,b.y,a[1],a[2]));break;case\"H\":a=[\"C\"][E](Fb(b.x,b.y,a[1],b.y));break;case\"V\":a=[\"C\"][E](Fb(b.x,b.y,b.x,a[1]));break;case\"Z\":a=[\"C\"][E](Fb(b.x,b.y,b.X,b.Y))}return a}),i=function(a,b){if(a[b].length>7){a[b].shift();for(var c=a[b];c.length;)k[b]=\"A\",e&&(l[b]=\"A\"),a.splice(b++,0,[\"C\"][E](c.splice(0,6)));a.splice(b,1),p=O(d.length,e&&e.length||0)}},j=function(a,b,c,f,g){a&&b&&\"M\"==a[g][0]&&\"M\"!=b[g][0]&&(b.splice(g,0,[\"M\",f.x,f.y]),c.bx=0,c.by=0,c.x=a[g][1],c.y=a[g][2],p=O(d.length,e&&e.length||0))},k=[],l=[],m=\"\",n=\"\",o=0,p=O(d.length,e&&e.length||0);p>o;o++){d[o]&&(m=d[o][0]),\"C\"!=m&&(k[o]=m,o&&(n=k[o-1])),d[o]=h(d[o],f,n),\"A\"!=k[o]&&\"C\"==m&&(k[o]=\"C\"),i(d,o),e&&(e[o]&&(m=e[o][0]),\"C\"!=m&&(l[o]=m,o&&(n=l[o-1])),e[o]=h(e[o],g,n),\"A\"!=l[o]&&\"C\"==m&&(l[o]=\"C\"),i(e,o)),j(d,e,f,g,o),j(e,d,g,f,o);var q=d[o],r=e&&e[o],s=q.length,t=e&&r.length;f.x=q[s-2],f.y=q[s-1],f.bx=_(q[s-4])||f.x,f.by=_(q[s-3])||f.y,g.bx=e&&(_(r[t-4])||g.x),g.by=e&&(_(r[t-3])||g.y),g.x=e&&r[t-2],g.y=e&&r[t-1]}return e||(c.curve=Cb(d)),e?[d,e]:d},null,Cb),Lb=(c._parseDots=f(function(a){for(var b=[],d=0,e=a.length;e>d;d++){var f={},g=a[d].match(/^([^:]*):?([\\d\\.]*)/);if(f.color=c.getRGB(g[1]),f.color.error)return null;f.color=f.color.hex,g[2]&&(f.offset=g[2]+\"%\"),b.push(f)}for(d=1,e=b.length-1;e>d;d++)if(!b[d].offset){for(var h=_(b[d-1].offset||0),i=0,j=d+1;e>j;j++)if(b[j].offset){i=b[j].offset;break}i||(i=100,j=e),i=_(i);for(var k=(i-h)/(j-d+1);j>d;d++)h+=k,b[d].offset=h+\"%\"}return b}),c._tear=function(a,b){a==b.top&&(b.top=a.prev),a==b.bottom&&(b.bottom=a.next),a.next&&(a.next.prev=a.prev),a.prev&&(a.prev.next=a.next)}),Mb=(c._tofront=function(a,b){b.top!==a&&(Lb(a,b),a.next=null,a.prev=b.top,b.top.next=a,b.top=a)},c._toback=function(a,b){b.bottom!==a&&(Lb(a,b),a.next=b.bottom,a.prev=null,b.bottom.prev=a,b.bottom=a)},c._insertafter=function(a,b,c){Lb(a,c),b==c.top&&(c.top=a),b.next&&(b.next.prev=a),a.next=b.next,a.prev=b,b.next=a},c._insertbefore=function(a,b,c){Lb(a,c),b==c.bottom&&(c.bottom=a),b.prev&&(b.prev.next=a),a.prev=b.prev,b.prev=a,a.next=b},c.toMatrix=function(a,b){var c=Bb(a),d={_:{transform:G},getBBox:function(){return c}};return Nb(d,b),d.matrix}),Nb=(c.transformPath=function(a,b){return rb(a,Mb(a,b))},c._extractTransform=function(a,b){if(null==b)return a._.transform;b=I(b).replace(/\\.{3}|\\u2026/g,a._.transform||G);var d=c.parseTransformString(b),e=0,f=0,g=0,h=1,i=1,j=a._,k=new o;if(j.transform=d||[],d)for(var l=0,m=d.length;m>l;l++){var n,p,q,r,s,t=d[l],u=t.length,v=I(t[0]).toLowerCase(),w=t[0]!=v,x=w?k.invert():0;\"t\"==v&&3==u?w?(n=x.x(0,0),p=x.y(0,0),q=x.x(t[1],t[2]),r=x.y(t[1],t[2]),k.translate(q-n,r-p)):k.translate(t[1],t[2]):\"r\"==v?2==u?(s=s||a.getBBox(1),k.rotate(t[1],s.x+s.width/2,s.y+s.height/2),e+=t[1]):4==u&&(w?(q=x.x(t[2],t[3]),r=x.y(t[2],t[3]),k.rotate(t[1],q,r)):k.rotate(t[1],t[2],t[3]),e+=t[1]):\"s\"==v?2==u||3==u?(s=s||a.getBBox(1),k.scale(t[1],t[u-1],s.x+s.width/2,s.y+s.height/2),h*=t[1],i*=t[u-1]):5==u&&(w?(q=x.x(t[3],t[4]),r=x.y(t[3],t[4]),k.scale(t[1],t[2],q,r)):k.scale(t[1],t[2],t[3],t[4]),h*=t[1],i*=t[2]):\"m\"==v&&7==u&&k.add(t[1],t[2],t[3],t[4],t[5],t[6]),j.dirtyT=1,a.matrix=k}a.matrix=k,j.sx=h,j.sy=i,j.deg=e,j.dx=f=k.e,j.dy=g=k.f,1==h&&1==i&&!e&&j.bbox?(j.bbox.x+=+f,j.bbox.y+=+g):j.dirtyT=1}),Ob=function(a){var b=a[0];switch(b.toLowerCase()){case\"t\":return[b,0,0];case\"m\":return[b,1,0,0,1,0,0];case\"r\":return 4==a.length?[b,0,a[2],a[3]]:[b,0];case\"s\":return 5==a.length?[b,1,1,a[3],a[4]]:3==a.length?[b,1,1]:[b,1]}},Pb=c._equaliseTransform=function(a,b){b=I(b).replace(/\\.{3}|\\u2026/g,a),a=c.parseTransformString(a)||[],b=c.parseTransformString(b)||[];\nfor(var d,e,f,g,h=O(a.length,b.length),i=[],j=[],k=0;h>k;k++){if(f=a[k]||Ob(b[k]),g=b[k]||Ob(f),f[0]!=g[0]||\"r\"==f[0].toLowerCase()&&(f[2]!=g[2]||f[3]!=g[3])||\"s\"==f[0].toLowerCase()&&(f[3]!=g[3]||f[4]!=g[4]))return;for(i[k]=[],j[k]=[],d=0,e=O(f.length,g.length);e>d;d++)d in f&&(i[k][d]=f[d]),d in g&&(j[k][d]=g[d])}return{from:i,to:j}};c._getContainer=function(a,b,d,e){var f;return f=null!=e||c.is(a,\"object\")?a:A.doc.getElementById(a),null!=f?f.tagName?null==b?{container:f,width:f.style.pixelWidth||f.offsetWidth,height:f.style.pixelHeight||f.offsetHeight}:{container:f,width:b,height:d}:{container:1,x:a,y:b,width:d,height:e}:void 0},c.pathToRelative=Db,c._engine={},c.path2curve=Kb,c.matrix=function(a,b,c,d,e,f){return new o(a,b,c,d,e,f)},function(a){function b(a){return a[0]*a[0]+a[1]*a[1]}function d(a){var c=N.sqrt(b(a));a[0]&&(a[0]/=c),a[1]&&(a[1]/=c)}a.add=function(a,b,c,d,e,f){var g,h,i,j,k=[[],[],[]],l=[[this.a,this.c,this.e],[this.b,this.d,this.f],[0,0,1]],m=[[a,c,e],[b,d,f],[0,0,1]];for(a&&a instanceof o&&(m=[[a.a,a.c,a.e],[a.b,a.d,a.f],[0,0,1]]),g=0;3>g;g++)for(h=0;3>h;h++){for(j=0,i=0;3>i;i++)j+=l[g][i]*m[i][h];k[g][h]=j}this.a=k[0][0],this.b=k[1][0],this.c=k[0][1],this.d=k[1][1],this.e=k[0][2],this.f=k[1][2]},a.invert=function(){var a=this,b=a.a*a.d-a.b*a.c;return new o(a.d/b,-a.b/b,-a.c/b,a.a/b,(a.c*a.f-a.d*a.e)/b,(a.b*a.e-a.a*a.f)/b)},a.clone=function(){return new o(this.a,this.b,this.c,this.d,this.e,this.f)},a.translate=function(a,b){this.add(1,0,0,1,a,b)},a.scale=function(a,b,c,d){null==b&&(b=a),(c||d)&&this.add(1,0,0,1,c,d),this.add(a,0,0,b,0,0),(c||d)&&this.add(1,0,0,1,-c,-d)},a.rotate=function(a,b,d){a=c.rad(a),b=b||0,d=d||0;var e=+N.cos(a).toFixed(9),f=+N.sin(a).toFixed(9);this.add(e,f,-f,e,b,d),this.add(1,0,0,1,-b,-d)},a.x=function(a,b){return a*this.a+b*this.c+this.e},a.y=function(a,b){return a*this.b+b*this.d+this.f},a.get=function(a){return+this[I.fromCharCode(97+a)].toFixed(4)},a.toString=function(){return c.svg?\"matrix(\"+[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)].join()+\")\":[this.get(0),this.get(2),this.get(1),this.get(3),0,0].join()},a.toFilter=function(){return\"progid:DXImageTransform.Microsoft.Matrix(M11=\"+this.get(0)+\", M12=\"+this.get(2)+\", M21=\"+this.get(1)+\", M22=\"+this.get(3)+\", Dx=\"+this.get(4)+\", Dy=\"+this.get(5)+\", sizingmethod='auto expand')\"},a.offset=function(){return[this.e.toFixed(4),this.f.toFixed(4)]},a.split=function(){var a={};a.dx=this.e,a.dy=this.f;var e=[[this.a,this.c],[this.b,this.d]];a.scalex=N.sqrt(b(e[0])),d(e[0]),a.shear=e[0][0]*e[1][0]+e[0][1]*e[1][1],e[1]=[e[1][0]-e[0][0]*a.shear,e[1][1]-e[0][1]*a.shear],a.scaley=N.sqrt(b(e[1])),d(e[1]),a.shear/=a.scaley;var f=-e[0][1],g=e[1][1];return 0>g?(a.rotate=c.deg(N.acos(g)),0>f&&(a.rotate=360-a.rotate)):a.rotate=c.deg(N.asin(f)),a.isSimple=!(+a.shear.toFixed(9)||a.scalex.toFixed(9)!=a.scaley.toFixed(9)&&a.rotate),a.isSuperSimple=!+a.shear.toFixed(9)&&a.scalex.toFixed(9)==a.scaley.toFixed(9)&&!a.rotate,a.noRotation=!+a.shear.toFixed(9)&&!a.rotate,a},a.toTransformString=function(a){var b=a||this[J]();return b.isSimple?(b.scalex=+b.scalex.toFixed(4),b.scaley=+b.scaley.toFixed(4),b.rotate=+b.rotate.toFixed(4),(b.dx||b.dy?\"t\"+[b.dx,b.dy]:G)+(1!=b.scalex||1!=b.scaley?\"s\"+[b.scalex,b.scaley,0,0]:G)+(b.rotate?\"r\"+[b.rotate,0,0]:G)):\"m\"+[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)]}}(o.prototype);var Qb=navigator.userAgent.match(/Version\\/(.*?)\\s/)||navigator.userAgent.match(/Chrome\\/(\\d+)/);v.safari=\"Apple Computer, Inc.\"==navigator.vendor&&(Qb&&Qb[1]<4||\"iP\"==navigator.platform.slice(0,2))||\"Google Inc.\"==navigator.vendor&&Qb&&Qb[1]<8?function(){var a=this.rect(-99,-99,this.width+99,this.height+99).attr({stroke:\"none\"});setTimeout(function(){a.remove()})}:mb;for(var Rb=function(){this.returnValue=!1},Sb=function(){return this.originalEvent.preventDefault()},Tb=function(){this.cancelBubble=!0},Ub=function(){return this.originalEvent.stopPropagation()},Vb=function(a){var b=A.doc.documentElement.scrollTop||A.doc.body.scrollTop,c=A.doc.documentElement.scrollLeft||A.doc.body.scrollLeft;return{x:a.clientX+c,y:a.clientY+b}},Wb=function(){return A.doc.addEventListener?function(a,b,c,d){var e=function(a){var b=Vb(a);return c.call(d,a,b.x,b.y)};if(a.addEventListener(b,e,!1),F&&L[b]){var f=function(b){for(var e=Vb(b),f=b,g=0,h=b.targetTouches&&b.targetTouches.length;h>g;g++)if(b.targetTouches[g].target==a){b=b.targetTouches[g],b.originalEvent=f,b.preventDefault=Sb,b.stopPropagation=Ub;break}return c.call(d,b,e.x,e.y)};a.addEventListener(L[b],f,!1)}return function(){return a.removeEventListener(b,e,!1),F&&L[b]&&a.removeEventListener(L[b],f,!1),!0}}:A.doc.attachEvent?function(a,b,c,d){var e=function(a){a=a||A.win.event;var b=A.doc.documentElement.scrollTop||A.doc.body.scrollTop,e=A.doc.documentElement.scrollLeft||A.doc.body.scrollLeft,f=a.clientX+e,g=a.clientY+b;return a.preventDefault=a.preventDefault||Rb,a.stopPropagation=a.stopPropagation||Tb,c.call(d,a,f,g)};a.attachEvent(\"on\"+b,e);var f=function(){return a.detachEvent(\"on\"+b,e),!0};return f}:void 0}(),Xb=[],Yb=function(a){for(var c,d=a.clientX,e=a.clientY,f=A.doc.documentElement.scrollTop||A.doc.body.scrollTop,g=A.doc.documentElement.scrollLeft||A.doc.body.scrollLeft,h=Xb.length;h--;){if(c=Xb[h],F&&a.touches){for(var i,j=a.touches.length;j--;)if(i=a.touches[j],i.identifier==c.el._drag.id){d=i.clientX,e=i.clientY,(a.originalEvent?a.originalEvent:a).preventDefault();break}}else a.preventDefault();var k,l=c.el.node,m=l.nextSibling,n=l.parentNode,o=l.style.display;A.win.opera&&n.removeChild(l),l.style.display=\"none\",k=c.el.paper.getElementByPoint(d,e),l.style.display=o,A.win.opera&&(m?n.insertBefore(l,m):n.appendChild(l)),k&&b(\"raphael.drag.over.\"+c.el.id,c.el,k),d+=g,e+=f,b(\"raphael.drag.move.\"+c.el.id,c.move_scope||c.el,d-c.el._drag.x,e-c.el._drag.y,d,e,a)}},Zb=function(a){c.unmousemove(Yb).unmouseup(Zb);for(var d,e=Xb.length;e--;)d=Xb[e],d.el._drag={},b(\"raphael.drag.end.\"+d.el.id,d.end_scope||d.start_scope||d.move_scope||d.el,a);Xb=[]},$b=c.el={},_b=K.length;_b--;)!function(a){c[a]=$b[a]=function(b,d){return c.is(b,\"function\")&&(this.events=this.events||[],this.events.push({name:a,f:b,unbind:Wb(this.shape||this.node||A.doc,a,b,d||this)})),this},c[\"un\"+a]=$b[\"un\"+a]=function(b){for(var d=this.events||[],e=d.length;e--;)d[e].name!=a||!c.is(b,\"undefined\")&&d[e].f!=b||(d[e].unbind(),d.splice(e,1),!d.length&&delete this.events);return this}}(K[_b]);$b.data=function(a,d){var e=kb[this.id]=kb[this.id]||{};if(0==arguments.length)return e;if(1==arguments.length){if(c.is(a,\"object\")){for(var f in a)a[z](f)&&this.data(f,a[f]);return this}return b(\"raphael.data.get.\"+this.id,this,e[a],a),e[a]}return e[a]=d,b(\"raphael.data.set.\"+this.id,this,d,a),this},$b.removeData=function(a){return null==a?kb[this.id]={}:kb[this.id]&&delete kb[this.id][a],this},$b.getData=function(){return d(kb[this.id]||{})},$b.hover=function(a,b,c,d){return this.mouseover(a,c).mouseout(b,d||c)},$b.unhover=function(a,b){return this.unmouseover(a).unmouseout(b)};var ac=[];$b.drag=function(a,d,e,f,g,h){function i(i){(i.originalEvent||i).preventDefault();var j=i.clientX,k=i.clientY,l=A.doc.documentElement.scrollTop||A.doc.body.scrollTop,m=A.doc.documentElement.scrollLeft||A.doc.body.scrollLeft;if(this._drag.id=i.identifier,F&&i.touches)for(var n,o=i.touches.length;o--;)if(n=i.touches[o],this._drag.id=n.identifier,n.identifier==this._drag.id){j=n.clientX,k=n.clientY;break}this._drag.x=j+m,this._drag.y=k+l,!Xb.length&&c.mousemove(Yb).mouseup(Zb),Xb.push({el:this,move_scope:f,start_scope:g,end_scope:h}),d&&b.on(\"raphael.drag.start.\"+this.id,d),a&&b.on(\"raphael.drag.move.\"+this.id,a),e&&b.on(\"raphael.drag.end.\"+this.id,e),b(\"raphael.drag.start.\"+this.id,g||f||this,i.clientX+m,i.clientY+l,i)}return this._drag={},ac.push({el:this,start:i}),this.mousedown(i),this},$b.onDragOver=function(a){a?b.on(\"raphael.drag.over.\"+this.id,a):b.unbind(\"raphael.drag.over.\"+this.id)},$b.undrag=function(){for(var a=ac.length;a--;)ac[a].el==this&&(this.unmousedown(ac[a].start),ac.splice(a,1),b.unbind(\"raphael.drag.*.\"+this.id));!ac.length&&c.unmousemove(Yb).unmouseup(Zb),Xb=[]},v.circle=function(a,b,d){var e=c._engine.circle(this,a||0,b||0,d||0);return this.__set__&&this.__set__.push(e),e},v.rect=function(a,b,d,e,f){var g=c._engine.rect(this,a||0,b||0,d||0,e||0,f||0);return this.__set__&&this.__set__.push(g),g},v.ellipse=function(a,b,d,e){var f=c._engine.ellipse(this,a||0,b||0,d||0,e||0);return this.__set__&&this.__set__.push(f),f},v.path=function(a){a&&!c.is(a,U)&&!c.is(a[0],V)&&(a+=G);var b=c._engine.path(c.format[D](c,arguments),this);return this.__set__&&this.__set__.push(b),b},v.image=function(a,b,d,e,f){var g=c._engine.image(this,a||\"about:blank\",b||0,d||0,e||0,f||0);return this.__set__&&this.__set__.push(g),g},v.text=function(a,b,d){var e=c._engine.text(this,a||0,b||0,I(d));return this.__set__&&this.__set__.push(e),e},v.set=function(a){!c.is(a,\"array\")&&(a=Array.prototype.splice.call(arguments,0,arguments.length));var b=new mc(a);return this.__set__&&this.__set__.push(b),b.paper=this,b.type=\"set\",b},v.setStart=function(a){this.__set__=a||this.set()},v.setFinish=function(){var a=this.__set__;return delete this.__set__,a},v.getSize=function(){var a=this.canvas.parentNode;return{width:a.offsetWidth,height:a.offsetHeight}},v.setSize=function(a,b){return c._engine.setSize.call(this,a,b)},v.setViewBox=function(a,b,d,e,f){return c._engine.setViewBox.call(this,a,b,d,e,f)},v.top=v.bottom=null,v.raphael=c;var bc=function(a){var b=a.getBoundingClientRect(),c=a.ownerDocument,d=c.body,e=c.documentElement,f=e.clientTop||d.clientTop||0,g=e.clientLeft||d.clientLeft||0,h=b.top+(A.win.pageYOffset||e.scrollTop||d.scrollTop)-f,i=b.left+(A.win.pageXOffset||e.scrollLeft||d.scrollLeft)-g;return{y:h,x:i}};v.getElementByPoint=function(a,b){var c=this,d=c.canvas,e=A.doc.elementFromPoint(a,b);if(A.win.opera&&\"svg\"==e.tagName){var f=bc(d),g=d.createSVGRect();g.x=a-f.x,g.y=b-f.y,g.width=g.height=1;var h=d.getIntersectionList(g,null);h.length&&(e=h[h.length-1])}if(!e)return null;for(;e.parentNode&&e!=d.parentNode&&!e.raphael;)e=e.parentNode;return e==c.canvas.parentNode&&(e=d),e=e&&e.raphael?c.getById(e.raphaelid):null},v.getElementsByBBox=function(a){var b=this.set();return this.forEach(function(d){c.isBBoxIntersect(d.getBBox(),a)&&b.push(d)}),b},v.getById=function(a){for(var b=this.bottom;b;){if(b.id==a)return b;b=b.next}return null},v.forEach=function(a,b){for(var c=this.bottom;c;){if(a.call(b,c)===!1)return this;c=c.next}return this},v.getElementsByPoint=function(a,b){var c=this.set();return this.forEach(function(d){d.isPointInside(a,b)&&c.push(d)}),c},$b.isPointInside=function(a,b){var d=this.realPath=qb[this.type](this);return this.attr(\"transform\")&&this.attr(\"transform\").length&&(d=c.transformPath(d,this.attr(\"transform\"))),c.isPointInsidePath(d,a,b)},$b.getBBox=function(a){if(this.removed)return{};var b=this._;return a?((b.dirty||!b.bboxwt)&&(this.realPath=qb[this.type](this),b.bboxwt=Bb(this.realPath),b.bboxwt.toString=p,b.dirty=0),b.bboxwt):((b.dirty||b.dirtyT||!b.bbox)&&((b.dirty||!this.realPath)&&(b.bboxwt=0,this.realPath=qb[this.type](this)),b.bbox=Bb(rb(this.realPath,this.matrix)),b.bbox.toString=p,b.dirty=b.dirtyT=0),b.bbox)},$b.clone=function(){if(this.removed)return null;var a=this.paper[this.type]().attr(this.attr());return this.__set__&&this.__set__.push(a),a},$b.glow=function(a){if(\"text\"==this.type)return null;a=a||{};var b={width:(a.width||10)+(+this.attr(\"stroke-width\")||1),fill:a.fill||!1,opacity:a.opacity||.5,offsetx:a.offsetx||0,offsety:a.offsety||0,color:a.color||\"#000\"},c=b.width/2,d=this.paper,e=d.set(),f=this.realPath||qb[this.type](this);f=this.matrix?rb(f,this.matrix):f;for(var g=1;c+1>g;g++)e.push(d.path(f).attr({stroke:b.color,fill:b.fill?b.color:\"none\",\"stroke-linejoin\":\"round\",\"stroke-linecap\":\"round\",\"stroke-width\":+(b.width/c*g).toFixed(3),opacity:+(b.opacity/c).toFixed(3)}));return e.insertBefore(this).translate(b.offsetx,b.offsety)};var cc=function(a,b,d,e,f,g,h,i,l){return null==l?j(a,b,d,e,f,g,h,i):c.findDotsAtSegment(a,b,d,e,f,g,h,i,k(a,b,d,e,f,g,h,i,l))},dc=function(a,b){return function(d,e,f){d=Kb(d);for(var g,h,i,j,k,l=\"\",m={},n=0,o=0,p=d.length;p>o;o++){if(i=d[o],\"M\"==i[0])g=+i[1],h=+i[2];else{if(j=cc(g,h,i[1],i[2],i[3],i[4],i[5],i[6]),n+j>e){if(b&&!m.start){if(k=cc(g,h,i[1],i[2],i[3],i[4],i[5],i[6],e-n),l+=[\"C\"+k.start.x,k.start.y,k.m.x,k.m.y,k.x,k.y],f)return l;m.start=l,l=[\"M\"+k.x,k.y+\"C\"+k.n.x,k.n.y,k.end.x,k.end.y,i[5],i[6]].join(),n+=j,g=+i[5],h=+i[6];continue}if(!a&&!b)return k=cc(g,h,i[1],i[2],i[3],i[4],i[5],i[6],e-n),{x:k.x,y:k.y,alpha:k.alpha}}n+=j,g=+i[5],h=+i[6]}l+=i.shift()+i}return m.end=l,k=a?n:b?m:c.findDotsAtSegment(g,h,i[0],i[1],i[2],i[3],i[4],i[5],1),k.alpha&&(k={x:k.x,y:k.y,alpha:k.alpha}),k}},ec=dc(1),fc=dc(),gc=dc(0,1);c.getTotalLength=ec,c.getPointAtLength=fc,c.getSubpath=function(a,b,c){if(this.getTotalLength(a)-c<1e-6)return gc(a,b).end;var d=gc(a,c,1);return b?gc(d,b).end:d},$b.getTotalLength=function(){var a=this.getPath();if(a)return this.node.getTotalLength?this.node.getTotalLength():ec(a)},$b.getPointAtLength=function(a){var b=this.getPath();if(b)return fc(b,a)},$b.getPath=function(){var a,b=c._getPath[this.type];if(\"text\"!=this.type&&\"set\"!=this.type)return b&&(a=b(this)),a},$b.getSubpath=function(a,b){var d=this.getPath();if(d)return c.getSubpath(d,a,b)};var hc=c.easing_formulas={linear:function(a){return a},\"<\":function(a){return R(a,1.7)},\">\":function(a){return R(a,.48)},\"<>\":function(a){var b=.48-a/1.04,c=N.sqrt(.1734+b*b),d=c-b,e=R(Q(d),1/3)*(0>d?-1:1),f=-c-b,g=R(Q(f),1/3)*(0>f?-1:1),h=e+g+.5;return 3*(1-h)*h*h+h*h*h},backIn:function(a){var b=1.70158;return a*a*((b+1)*a-b)},backOut:function(a){a-=1;var b=1.70158;return a*a*((b+1)*a+b)+1},elastic:function(a){return a==!!a?a:R(2,-10*a)*N.sin(2*(a-.075)*S/.3)+1},bounce:function(a){var b,c=7.5625,d=2.75;return 1/d>a?b=c*a*a:2/d>a?(a-=1.5/d,b=c*a*a+.75):2.5/d>a?(a-=2.25/d,b=c*a*a+.9375):(a-=2.625/d,b=c*a*a+.984375),b}};hc.easeIn=hc[\"ease-in\"]=hc[\"<\"],hc.easeOut=hc[\"ease-out\"]=hc[\">\"],hc.easeInOut=hc[\"ease-in-out\"]=hc[\"<>\"],hc[\"back-in\"]=hc.backIn,hc[\"back-out\"]=hc.backOut;var ic=[],jc=a.requestAnimationFrame||a.webkitRequestAnimationFrame||a.mozRequestAnimationFrame||a.oRequestAnimationFrame||a.msRequestAnimationFrame||function(a){setTimeout(a,16)},kc=function(){for(var a=+new Date,d=0;dh))if(i>h){var q=j(h/i);for(var r in k)if(k[z](r)){switch(db[r]){case T:f=+k[r]+q*i*l[r];break;case\"colour\":f=\"rgb(\"+[lc($(k[r].r+q*i*l[r].r)),lc($(k[r].g+q*i*l[r].g)),lc($(k[r].b+q*i*l[r].b))].join(\",\")+\")\";break;case\"path\":f=[];for(var t=0,u=k[r].length;u>t;t++){f[t]=[k[r][t][0]];for(var v=1,w=k[r][t].length;w>v;v++)f[t][v]=+k[r][t][v]+q*i*l[r][t][v];f[t]=f[t].join(H)}f=f.join(H);break;case\"transform\":if(l[r].real)for(f=[],t=0,u=k[r].length;u>t;t++)for(f[t]=[k[r][t][0]],v=1,w=k[r][t].length;w>v;v++)f[t][v]=k[r][t][v]+q*i*l[r][t][v];else{var x=function(a){return+k[r][a]+q*i*l[r][a]};f=[[\"m\",x(0),x(1),x(2),x(3),x(4),x(5)]]}break;case\"csv\":if(\"clip-rect\"==r)for(f=[],t=4;t--;)f[t]=+k[r][t]+q*i*l[r][t];break;default:var y=[][E](k[r]);for(f=[],t=n.paper.customAttributes[r].length;t--;)f[t]=+y[t]+q*i*l[r][t]}o[r]=f}n.attr(o),function(a,c,d){setTimeout(function(){b(\"raphael.anim.frame.\"+a,c,d)})}(n.id,n,e.anim)}else{if(function(a,d,e){setTimeout(function(){b(\"raphael.anim.frame.\"+d.id,d,e),b(\"raphael.anim.finish.\"+d.id,d,e),c.is(a,\"function\")&&a.call(d)})}(e.callback,n,e.anim),n.attr(m),ic.splice(d--,1),e.repeat>1&&!e.next){for(g in m)m[z](g)&&(p[g]=e.totalOrigin[g]);e.el.attr(p),s(e.anim,e.el,e.anim.percents[0],null,e.totalOrigin,e.repeat-1)}e.next&&!e.stop&&s(e.anim,e.el,e.next,null,e.totalOrigin,e.repeat)}}}c.svg&&n&&n.paper&&n.paper.safari(),ic.length&&jc(kc)},lc=function(a){return a>255?255:0>a?0:a};$b.animateWith=function(a,b,d,e,f,g){var h=this;if(h.removed)return g&&g.call(h),h;var i=d instanceof r?d:c.animation(d,e,f,g);s(i,h,i.percents[0],null,h.attr());for(var j=0,k=ic.length;k>j;j++)if(ic[j].anim==b&&ic[j].el==a){ic[k-1].start=ic[j].start;break}return h},$b.onAnimation=function(a){return a?b.on(\"raphael.anim.frame.\"+this.id,a):b.unbind(\"raphael.anim.frame.\"+this.id),this},r.prototype.delay=function(a){var b=new r(this.anim,this.ms);return b.times=this.times,b.del=+a||0,b},r.prototype.repeat=function(a){var b=new r(this.anim,this.ms);return b.del=this.del,b.times=N.floor(O(a,0))||1,b},c.animation=function(a,b,d,e){if(a instanceof r)return a;(c.is(d,\"function\")||!d)&&(e=e||d||null,d=null),a=Object(a),b=+b||0;var f,g,h={};for(g in a)a[z](g)&&_(g)!=g&&_(g)+\"%\"!=g&&(f=!0,h[g]=a[g]);if(f)return d&&(h.easing=d),e&&(h.callback=e),new r({100:h},b);if(e){var i=0;for(var j in a){var k=ab(j);a[z](j)&&k>i&&(i=k)}i+=\"%\",!a[i].callback&&(a[i].callback=e)}return new r(a,b)},$b.animate=function(a,b,d,e){var f=this;if(f.removed)return e&&e.call(f),f;var g=a instanceof r?a:c.animation(a,b,d,e);return s(g,f,g.percents[0],null,f.attr()),f},$b.setTime=function(a,b){return a&&null!=b&&this.status(a,P(b,a.ms)/a.ms),this},$b.status=function(a,b){var c,d,e=[],f=0;if(null!=b)return s(a,this,-1,P(b,1)),this;for(c=ic.length;c>f;f++)if(d=ic[f],d.el.id==this.id&&(!a||d.anim==a)){if(a)return d.status;e.push({anim:d.anim,status:d.status})}return a?0:e},$b.pause=function(a){for(var c=0;cb;b++)!a[b]||a[b].constructor!=$b.constructor&&a[b].constructor!=mc||(this[this.items.length]=this.items[this.items.length]=a[b],this.length++)},nc=mc.prototype;nc.push=function(){for(var a,b,c=0,d=arguments.length;d>c;c++)a=arguments[c],!a||a.constructor!=$b.constructor&&a.constructor!=mc||(b=this.items.length,this[b]=this.items[b]=a,this.length++);return this},nc.pop=function(){return this.length&&delete this[this.length--],this.items.pop()},nc.forEach=function(a,b){for(var c=0,d=this.items.length;d>c;c++)if(a.call(b,this.items[c],c)===!1)return this;return this};for(var oc in $b)$b[z](oc)&&(nc[oc]=function(a){return function(){var b=arguments;return this.forEach(function(c){c[a][D](c,b)})}}(oc));return nc.attr=function(a,b){if(a&&c.is(a,V)&&c.is(a[0],\"object\"))for(var d=0,e=a.length;e>d;d++)this.items[d].attr(a[d]);else for(var f=0,g=this.items.length;g>f;f++)this.items[f].attr(a,b);return this},nc.clear=function(){for(;this.length;)this.pop()},nc.splice=function(a,b){a=0>a?O(this.length+a,0):a,b=O(0,P(this.length-a,b));var c,d=[],e=[],f=[];for(c=2;cc;c++)e.push(this[a+c]);for(;cc?f[c]:d[c-g];for(c=this.items.length=this.length-=b-g;this[c];)delete this[c++];return new mc(e)},nc.exclude=function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]==a)return this.splice(b,1),!0},nc.animate=function(a,b,d,e){(c.is(d,\"function\")||!d)&&(e=d||null);var f,g,h=this.items.length,i=h,j=this;if(!h)return this;e&&(g=function(){!--h&&e.call(j)}),d=c.is(d,U)?d:g;var k=c.animation(a,b,d,g);for(f=this.items[--i].animate(k);i--;)this.items[i]&&!this.items[i].removed&&this.items[i].animateWith(f,k,k),this.items[i]&&!this.items[i].removed||h--;return this},nc.insertAfter=function(a){for(var b=this.items.length;b--;)this.items[b].insertAfter(a);return this},nc.getBBox=function(){for(var a=[],b=[],c=[],d=[],e=this.items.length;e--;)if(!this.items[e].removed){var f=this.items[e].getBBox();a.push(f.x),b.push(f.y),c.push(f.x+f.width),d.push(f.y+f.height)}return a=P[D](0,a),b=P[D](0,b),c=O[D](0,c),d=O[D](0,d),{x:a,y:b,x2:c,y2:d,width:c-a,height:d-b}},nc.clone=function(a){a=this.paper.set();for(var b=0,c=this.items.length;c>b;b++)a.push(this.items[b].clone());return a},nc.toString=function(){return\"Raphaël‘s set\"},nc.glow=function(a){var b=this.paper.set();return this.forEach(function(c){var d=c.glow(a);null!=d&&d.forEach(function(a){b.push(a)})}),b},nc.isPointInside=function(a,b){var c=!1;return this.forEach(function(d){return d.isPointInside(a,b)?(c=!0,!1):void 0}),c},c.registerFont=function(a){if(!a.face)return a;this.fonts=this.fonts||{};var b={w:a.w,face:{},glyphs:{}},c=a.face[\"font-family\"];for(var d in a.face)a.face[z](d)&&(b.face[d]=a.face[d]);if(this.fonts[c]?this.fonts[c].push(b):this.fonts[c]=[b],!a.svg){b.face[\"units-per-em\"]=ab(a.face[\"units-per-em\"],10);for(var e in a.glyphs)if(a.glyphs[z](e)){var f=a.glyphs[e];if(b.glyphs[e]={w:f.w,k:{},d:f.d&&\"M\"+f.d.replace(/[mlcxtrv]/g,function(a){return{l:\"L\",c:\"C\",x:\"z\",t:\"m\",r:\"l\",v:\"c\"}[a]||\"M\"})+\"z\"},f.k)for(var g in f.k)f[z](g)&&(b.glyphs[e].k[g]=f.k[g])}}return a},v.getFont=function(a,b,d,e){if(e=e||\"normal\",d=d||\"normal\",b=+b||{normal:400,bold:700,lighter:300,bolder:800}[b]||400,c.fonts){var f=c.fonts[a];if(!f){var g=new RegExp(\"(^|\\\\s)\"+a.replace(/[^\\w\\d\\s+!~.:_-]/g,G)+\"(\\\\s|$)\",\"i\");for(var h in c.fonts)if(c.fonts[z](h)&&g.test(h)){f=c.fonts[h];break}}var i;if(f)for(var j=0,k=f.length;k>j&&(i=f[j],i.face[\"font-weight\"]!=b||i.face[\"font-style\"]!=d&&i.face[\"font-style\"]||i.face[\"font-stretch\"]!=e);j++);return i}},v.print=function(a,b,d,e,f,g,h,i){g=g||\"middle\",h=O(P(h||0,1),-1),i=O(P(i||1,3),1);var j,k=I(d)[J](G),l=0,m=0,n=G;if(c.is(e,\"string\")&&(e=this.getFont(e)),e){j=(f||16)/e.face[\"units-per-em\"];for(var o=e.face.bbox[J](w),p=+o[0],q=o[3]-o[1],r=0,s=+o[1]+(\"baseline\"==g?q+ +e.face.descent:q/2),t=0,u=k.length;u>t;t++){if(\"\\n\"==k[t])l=0,x=0,m=0,r+=q*i;else{var v=m&&e.glyphs[k[t-1]]||{},x=e.glyphs[k[t]];l+=m?(v.w||e.w)+(v.k&&v.k[k[t]]||0)+e.w*h:0,m=1}x&&x.d&&(n+=c.transformPath(x.d,[\"t\",l*j,r*j,\"s\",j,j,p,s,\"t\",(a-p)/j,(b-s)/j]))}}return this.path(n).attr({fill:\"#000\",stroke:\"none\"})},v.add=function(a){if(c.is(a,\"array\"))for(var b,d=this.set(),e=0,f=a.length;f>e;e++)b=a[e]||{},x[z](b.type)&&d.push(this[b.type]().attr(b));return d},c.format=function(a,b){var d=c.is(b,V)?[0][E](b):arguments;return a&&c.is(a,U)&&d.length-1&&(a=a.replace(y,function(a,b){return null==d[++b]?G:d[b]})),a||G},c.fullfill=function(){var a=/\\{([^\\}]+)\\}/g,b=/(?:(?:^|\\.)(.+?)(?=\\[|\\.|$|\\()|\\[('|\")(.+?)\\2\\])(\\(\\))?/g,c=function(a,c,d){var e=d;return c.replace(b,function(a,b,c,d,f){b=b||d,e&&(b in e&&(e=e[b]),\"function\"==typeof e&&f&&(e=e()))}),e=(null==e||e==d?a:e)+\"\"};return function(b,d){return String(b).replace(a,function(a,b){return c(a,b,d)})}}(),c.ninja=function(){return B.was?A.win.Raphael=B.is:delete Raphael,c},c.st=nc,b.on(\"raphael.DOMload\",function(){u=!0}),function(a,b,d){function e(){/in/.test(a.readyState)?setTimeout(e,9):c.eve(\"raphael.DOMload\")}null==a.readyState&&a.addEventListener&&(a.addEventListener(b,d=function(){a.removeEventListener(b,d,!1),a.readyState=\"complete\"},!1),a.readyState=\"loading\"),e()}(document,\"DOMContentLoaded\"),function(){if(c.svg){var a=\"hasOwnProperty\",b=String,d=parseFloat,e=parseInt,f=Math,g=f.max,h=f.abs,i=f.pow,j=/[, ]+/,k=c.eve,l=\"\",m=\" \",n=\"http://www.w3.org/1999/xlink\",o={block:\"M5,0 0,2.5 5,5z\",classic:\"M5,0 0,2.5 5,5 3.5,3 3.5,2z\",diamond:\"M2.5,0 5,2.5 2.5,5 0,2.5z\",open:\"M6,1 1,3.5 6,6\",oval:\"M2.5,0A2.5,2.5,0,0,1,2.5,5 2.5,2.5,0,0,1,2.5,0z\"},p={};c.toString=function(){return\"Your browser supports SVG.\\nYou are running Raphaël \"+this.version};var q=function(d,e){if(e){\"string\"==typeof d&&(d=q(d));for(var f in e)e[a](f)&&(\"xlink:\"==f.substring(0,6)?d.setAttributeNS(n,f.substring(6),b(e[f])):d.setAttribute(f,b(e[f])))}else d=c._g.doc.createElementNS(\"http://www.w3.org/2000/svg\",d),d.style&&(d.style.webkitTapHighlightColor=\"rgba(0,0,0,0)\");return d},r=function(a,e){var j=\"linear\",k=a.id+e,m=.5,n=.5,o=a.node,p=a.paper,r=o.style,s=c._g.doc.getElementById(k);if(!s){if(e=b(e).replace(c._radial_gradient,function(a,b,c){if(j=\"radial\",b&&c){m=d(b),n=d(c);var e=2*(n>.5)-1;i(m-.5,2)+i(n-.5,2)>.25&&(n=f.sqrt(.25-i(m-.5,2))*e+.5)&&.5!=n&&(n=n.toFixed(5)-1e-5*e)}return l}),e=e.split(/\\s*\\-\\s*/),\"linear\"==j){var t=e.shift();if(t=-d(t),isNaN(t))return null;var u=[0,0,f.cos(c.rad(t)),f.sin(c.rad(t))],v=1/(g(h(u[2]),h(u[3]))||1);u[2]*=v,u[3]*=v,u[2]<0&&(u[0]=-u[2],u[2]=0),u[3]<0&&(u[1]=-u[3],u[3]=0)}var w=c._parseDots(e);if(!w)return null;if(k=k.replace(/[\\(\\)\\s,\\xb0#]/g,\"_\"),a.gradient&&k!=a.gradient.id&&(p.defs.removeChild(a.gradient),delete a.gradient),!a.gradient){s=q(j+\"Gradient\",{id:k}),a.gradient=s,q(s,\"radial\"==j?{fx:m,fy:n}:{x1:u[0],y1:u[1],x2:u[2],y2:u[3],gradientTransform:a.matrix.invert()}),p.defs.appendChild(s);for(var x=0,y=w.length;y>x;x++)s.appendChild(q(\"stop\",{offset:w[x].offset?w[x].offset:x?\"100%\":\"0%\",\"stop-color\":w[x].color||\"#fff\"}))}}return q(o,{fill:\"url('\"+document.location+\"#\"+k+\"')\",opacity:1,\"fill-opacity\":1}),r.fill=l,r.opacity=1,r.fillOpacity=1,1},s=function(a){var b=a.getBBox(1);q(a.pattern,{patternTransform:a.matrix.invert()+\" translate(\"+b.x+\",\"+b.y+\")\"})},t=function(d,e,f){if(\"path\"==d.type){for(var g,h,i,j,k,m=b(e).toLowerCase().split(\"-\"),n=d.paper,r=f?\"end\":\"start\",s=d.node,t=d.attrs,u=t[\"stroke-width\"],v=m.length,w=\"classic\",x=3,y=3,z=5;v--;)switch(m[v]){case\"block\":case\"classic\":case\"oval\":case\"diamond\":case\"open\":case\"none\":w=m[v];break;case\"wide\":y=5;break;case\"narrow\":y=2;break;case\"long\":x=5;break;case\"short\":x=2}if(\"open\"==w?(x+=2,y+=2,z+=2,i=1,j=f?4:1,k={fill:\"none\",stroke:t.stroke}):(j=i=x/2,k={fill:t.stroke,stroke:\"none\"}),d._.arrows?f?(d._.arrows.endPath&&p[d._.arrows.endPath]--,d._.arrows.endMarker&&p[d._.arrows.endMarker]--):(d._.arrows.startPath&&p[d._.arrows.startPath]--,d._.arrows.startMarker&&p[d._.arrows.startMarker]--):d._.arrows={},\"none\"!=w){var A=\"raphael-marker-\"+w,B=\"raphael-marker-\"+r+w+x+y+\"-obj\"+d.id;c._g.doc.getElementById(A)?p[A]++:(n.defs.appendChild(q(q(\"path\"),{\"stroke-linecap\":\"round\",d:o[w],id:A})),p[A]=1);var C,D=c._g.doc.getElementById(B);D?(p[B]++,C=D.getElementsByTagName(\"use\")[0]):(D=q(q(\"marker\"),{id:B,markerHeight:y,markerWidth:x,orient:\"auto\",refX:j,refY:y/2}),C=q(q(\"use\"),{\"xlink:href\":\"#\"+A,transform:(f?\"rotate(180 \"+x/2+\" \"+y/2+\") \":l)+\"scale(\"+x/z+\",\"+y/z+\")\",\"stroke-width\":(1/((x/z+y/z)/2)).toFixed(4)}),D.appendChild(C),n.defs.appendChild(D),p[B]=1),q(C,k);var E=i*(\"diamond\"!=w&&\"oval\"!=w);f?(g=d._.arrows.startdx*u||0,h=c.getTotalLength(t.path)-E*u):(g=E*u,h=c.getTotalLength(t.path)-(d._.arrows.enddx*u||0)),k={},k[\"marker-\"+r]=\"url(#\"+B+\")\",(h||g)&&(k.d=c.getSubpath(t.path,g,h)),q(s,k),d._.arrows[r+\"Path\"]=A,d._.arrows[r+\"Marker\"]=B,d._.arrows[r+\"dx\"]=E,d._.arrows[r+\"Type\"]=w,d._.arrows[r+\"String\"]=e}else f?(g=d._.arrows.startdx*u||0,h=c.getTotalLength(t.path)-g):(g=0,h=c.getTotalLength(t.path)-(d._.arrows.enddx*u||0)),d._.arrows[r+\"Path\"]&&q(s,{d:c.getSubpath(t.path,g,h)}),delete d._.arrows[r+\"Path\"],delete d._.arrows[r+\"Marker\"],delete d._.arrows[r+\"dx\"],delete d._.arrows[r+\"Type\"],delete d._.arrows[r+\"String\"];for(k in p)if(p[a](k)&&!p[k]){var F=c._g.doc.getElementById(k);F&&F.parentNode.removeChild(F)}}},u={\"\":[0],none:[0],\"-\":[3,1],\".\":[1,1],\"-.\":[3,1,1,1],\"-..\":[3,1,1,1,1,1],\". \":[1,3],\"- \":[4,3],\"--\":[8,3],\"- .\":[4,3,1,3],\"--.\":[8,3,1,3],\"--..\":[8,3,1,3,1,3]},v=function(a,c,d){if(c=u[b(c).toLowerCase()]){for(var e=a.attrs[\"stroke-width\"]||\"1\",f={round:e,square:e,butt:0}[a.attrs[\"stroke-linecap\"]||d[\"stroke-linecap\"]]||0,g=[],h=c.length;h--;)g[h]=c[h]*e+(h%2?1:-1)*f;q(a.node,{\"stroke-dasharray\":g.join(\",\")})}},w=function(d,f){var i=d.node,k=d.attrs,m=i.style.visibility;i.style.visibility=\"hidden\";for(var o in f)if(f[a](o)){if(!c._availableAttrs[a](o))continue;var p=f[o];switch(k[o]=p,o){case\"blur\":d.blur(p);break;case\"title\":var u=i.getElementsByTagName(\"title\");if(u.length&&(u=u[0]))u.firstChild.nodeValue=p;else{u=q(\"title\");var w=c._g.doc.createTextNode(p);u.appendChild(w),i.appendChild(u)}break;case\"href\":case\"target\":var x=i.parentNode;if(\"a\"!=x.tagName.toLowerCase()){var z=q(\"a\");x.insertBefore(z,i),z.appendChild(i),x=z}\"target\"==o?x.setAttributeNS(n,\"show\",\"blank\"==p?\"new\":p):x.setAttributeNS(n,o,p);break;case\"cursor\":i.style.cursor=p;break;case\"transform\":d.transform(p);break;case\"arrow-start\":t(d,p);break;case\"arrow-end\":t(d,p,1);break;case\"clip-rect\":var A=b(p).split(j);if(4==A.length){d.clip&&d.clip.parentNode.parentNode.removeChild(d.clip.parentNode);var B=q(\"clipPath\"),C=q(\"rect\");B.id=c.createUUID(),q(C,{x:A[0],y:A[1],width:A[2],height:A[3]}),B.appendChild(C),d.paper.defs.appendChild(B),q(i,{\"clip-path\":\"url(#\"+B.id+\")\"}),d.clip=C}if(!p){var D=i.getAttribute(\"clip-path\");if(D){var E=c._g.doc.getElementById(D.replace(/(^url\\(#|\\)$)/g,l));E&&E.parentNode.removeChild(E),q(i,{\"clip-path\":l}),delete d.clip}}break;case\"path\":\"path\"==d.type&&(q(i,{d:p?k.path=c._pathToAbsolute(p):\"M0,0\"}),d._.dirty=1,d._.arrows&&(\"startString\"in d._.arrows&&t(d,d._.arrows.startString),\"endString\"in d._.arrows&&t(d,d._.arrows.endString,1)));break;case\"width\":if(i.setAttribute(o,p),d._.dirty=1,!k.fx)break;o=\"x\",p=k.x;case\"x\":k.fx&&(p=-k.x-(k.width||0));case\"rx\":if(\"rx\"==o&&\"rect\"==d.type)break;case\"cx\":i.setAttribute(o,p),d.pattern&&s(d),d._.dirty=1;break;case\"height\":if(i.setAttribute(o,p),d._.dirty=1,!k.fy)break;o=\"y\",p=k.y;case\"y\":k.fy&&(p=-k.y-(k.height||0));case\"ry\":if(\"ry\"==o&&\"rect\"==d.type)break;case\"cy\":i.setAttribute(o,p),d.pattern&&s(d),d._.dirty=1;break;case\"r\":\"rect\"==d.type?q(i,{rx:p,ry:p}):i.setAttribute(o,p),d._.dirty=1;break;case\"src\":\"image\"==d.type&&i.setAttributeNS(n,\"href\",p);break;case\"stroke-width\":(1!=d._.sx||1!=d._.sy)&&(p/=g(h(d._.sx),h(d._.sy))||1),i.setAttribute(o,p),k[\"stroke-dasharray\"]&&v(d,k[\"stroke-dasharray\"],f),d._.arrows&&(\"startString\"in d._.arrows&&t(d,d._.arrows.startString),\"endString\"in d._.arrows&&t(d,d._.arrows.endString,1));break;case\"stroke-dasharray\":v(d,p,f);break;case\"fill\":var F=b(p).match(c._ISURL);if(F){B=q(\"pattern\");var G=q(\"image\");B.id=c.createUUID(),q(B,{x:0,y:0,patternUnits:\"userSpaceOnUse\",height:1,width:1}),q(G,{x:0,y:0,\"xlink:href\":F[1]}),B.appendChild(G),function(a){c._preload(F[1],function(){var b=this.offsetWidth,c=this.offsetHeight;q(a,{width:b,height:c}),q(G,{width:b,height:c}),d.paper.safari()})}(B),d.paper.defs.appendChild(B),q(i,{fill:\"url(#\"+B.id+\")\"}),d.pattern=B,d.pattern&&s(d);break}var H=c.getRGB(p);if(H.error){if((\"circle\"==d.type||\"ellipse\"==d.type||\"r\"!=b(p).charAt())&&r(d,p)){if(\"opacity\"in k||\"fill-opacity\"in k){var I=c._g.doc.getElementById(i.getAttribute(\"fill\").replace(/^url\\(#|\\)$/g,l));if(I){var J=I.getElementsByTagName(\"stop\");q(J[J.length-1],{\"stop-opacity\":(\"opacity\"in k?k.opacity:1)*(\"fill-opacity\"in k?k[\"fill-opacity\"]:1)})}}k.gradient=p,k.fill=\"none\";break}}else delete f.gradient,delete k.gradient,!c.is(k.opacity,\"undefined\")&&c.is(f.opacity,\"undefined\")&&q(i,{opacity:k.opacity}),!c.is(k[\"fill-opacity\"],\"undefined\")&&c.is(f[\"fill-opacity\"],\"undefined\")&&q(i,{\"fill-opacity\":k[\"fill-opacity\"]});H[a](\"opacity\")&&q(i,{\"fill-opacity\":H.opacity>1?H.opacity/100:H.opacity});case\"stroke\":H=c.getRGB(p),i.setAttribute(o,H.hex),\"stroke\"==o&&H[a](\"opacity\")&&q(i,{\"stroke-opacity\":H.opacity>1?H.opacity/100:H.opacity}),\"stroke\"==o&&d._.arrows&&(\"startString\"in d._.arrows&&t(d,d._.arrows.startString),\"endString\"in d._.arrows&&t(d,d._.arrows.endString,1));break;case\"gradient\":(\"circle\"==d.type||\"ellipse\"==d.type||\"r\"!=b(p).charAt())&&r(d,p);break;\ncase\"opacity\":k.gradient&&!k[a](\"stroke-opacity\")&&q(i,{\"stroke-opacity\":p>1?p/100:p});case\"fill-opacity\":if(k.gradient){I=c._g.doc.getElementById(i.getAttribute(\"fill\").replace(/^url\\(#|\\)$/g,l)),I&&(J=I.getElementsByTagName(\"stop\"),q(J[J.length-1],{\"stop-opacity\":p}));break}default:\"font-size\"==o&&(p=e(p,10)+\"px\");var K=o.replace(/(\\-.)/g,function(a){return a.substring(1).toUpperCase()});i.style[K]=p,d._.dirty=1,i.setAttribute(o,p)}}y(d,f),i.style.visibility=m},x=1.2,y=function(d,f){if(\"text\"==d.type&&(f[a](\"text\")||f[a](\"font\")||f[a](\"font-size\")||f[a](\"x\")||f[a](\"y\"))){var g=d.attrs,h=d.node,i=h.firstChild?e(c._g.doc.defaultView.getComputedStyle(h.firstChild,l).getPropertyValue(\"font-size\"),10):10;if(f[a](\"text\")){for(g.text=f.text;h.firstChild;)h.removeChild(h.firstChild);for(var j,k=b(f.text).split(\"\\n\"),m=[],n=0,o=k.length;o>n;n++)j=q(\"tspan\"),n&&q(j,{dy:i*x,x:g.x}),j.appendChild(c._g.doc.createTextNode(k[n])),h.appendChild(j),m[n]=j}else for(m=h.getElementsByTagName(\"tspan\"),n=0,o=m.length;o>n;n++)n?q(m[n],{dy:i*x,x:g.x}):q(m[0],{dy:0});q(h,{x:g.x,y:g.y}),d._.dirty=1;var p=d._getBBox(),r=g.y-(p.y+p.height/2);r&&c.is(r,\"finite\")&&q(m[0],{dy:r})}},z=function(a){return a.parentNode&&\"a\"===a.parentNode.tagName.toLowerCase()?a.parentNode:a},A=function(a,b){this[0]=this.node=a,a.raphael=!0,this.id=c._oid++,a.raphaelid=this.id,this.matrix=c.matrix(),this.realPath=null,this.paper=b,this.attrs=this.attrs||{},this._={transform:[],sx:1,sy:1,deg:0,dx:0,dy:0,dirty:1},!b.bottom&&(b.bottom=this),this.prev=b.top,b.top&&(b.top.next=this),b.top=this,this.next=null},B=c.el;A.prototype=B,B.constructor=A,c._engine.path=function(a,b){var c=q(\"path\");b.canvas&&b.canvas.appendChild(c);var d=new A(c,b);return d.type=\"path\",w(d,{fill:\"none\",stroke:\"#000\",path:a}),d},B.rotate=function(a,c,e){if(this.removed)return this;if(a=b(a).split(j),a.length-1&&(c=d(a[1]),e=d(a[2])),a=d(a[0]),null==e&&(c=e),null==c||null==e){var f=this.getBBox(1);c=f.x+f.width/2,e=f.y+f.height/2}return this.transform(this._.transform.concat([[\"r\",a,c,e]])),this},B.scale=function(a,c,e,f){if(this.removed)return this;if(a=b(a).split(j),a.length-1&&(c=d(a[1]),e=d(a[2]),f=d(a[3])),a=d(a[0]),null==c&&(c=a),null==f&&(e=f),null==e||null==f)var g=this.getBBox(1);return e=null==e?g.x+g.width/2:e,f=null==f?g.y+g.height/2:f,this.transform(this._.transform.concat([[\"s\",a,c,e,f]])),this},B.translate=function(a,c){return this.removed?this:(a=b(a).split(j),a.length-1&&(c=d(a[1])),a=d(a[0])||0,c=+c||0,this.transform(this._.transform.concat([[\"t\",a,c]])),this)},B.transform=function(b){var d=this._;if(null==b)return d.transform;if(c._extractTransform(this,b),this.clip&&q(this.clip,{transform:this.matrix.invert()}),this.pattern&&s(this),this.node&&q(this.node,{transform:this.matrix}),1!=d.sx||1!=d.sy){var e=this.attrs[a](\"stroke-width\")?this.attrs[\"stroke-width\"]:1;this.attr({\"stroke-width\":e})}return this},B.hide=function(){return!this.removed&&this.paper.safari(this.node.style.display=\"none\"),this},B.show=function(){return!this.removed&&this.paper.safari(this.node.style.display=\"\"),this},B.remove=function(){var a=z(this.node);if(!this.removed&&a.parentNode){var b=this.paper;b.__set__&&b.__set__.exclude(this),k.unbind(\"raphael.*.*.\"+this.id),this.gradient&&b.defs.removeChild(this.gradient),c._tear(this,b),a.parentNode.removeChild(a),this.removeData();for(var d in this)this[d]=\"function\"==typeof this[d]?c._removedFactory(d):null;this.removed=!0}},B._getBBox=function(){if(\"none\"==this.node.style.display){this.show();var a=!0}var b,c=!1;this.paper.canvas.parentElement?b=this.paper.canvas.parentElement.style:this.paper.canvas.parentNode&&(b=this.paper.canvas.parentNode.style),b&&\"none\"==b.display&&(c=!0,b.display=\"\");var d={};try{d=this.node.getBBox()}catch(e){d={x:this.node.clientLeft,y:this.node.clientTop,width:this.node.clientWidth,height:this.node.clientHeight}}finally{d=d||{},c&&(b.display=\"none\")}return a&&this.hide(),d},B.attr=function(b,d){if(this.removed)return this;if(null==b){var e={};for(var f in this.attrs)this.attrs[a](f)&&(e[f]=this.attrs[f]);return e.gradient&&\"none\"==e.fill&&(e.fill=e.gradient)&&delete e.gradient,e.transform=this._.transform,e}if(null==d&&c.is(b,\"string\")){if(\"fill\"==b&&\"none\"==this.attrs.fill&&this.attrs.gradient)return this.attrs.gradient;if(\"transform\"==b)return this._.transform;for(var g=b.split(j),h={},i=0,l=g.length;l>i;i++)b=g[i],h[b]=b in this.attrs?this.attrs[b]:c.is(this.paper.customAttributes[b],\"function\")?this.paper.customAttributes[b].def:c._availableAttrs[b];return l-1?h:h[g[0]]}if(null==d&&c.is(b,\"array\")){for(h={},i=0,l=b.length;l>i;i++)h[b[i]]=this.attr(b[i]);return h}if(null!=d){var m={};m[b]=d}else null!=b&&c.is(b,\"object\")&&(m=b);for(var n in m)k(\"raphael.attr.\"+n+\".\"+this.id,this,m[n]);for(n in this.paper.customAttributes)if(this.paper.customAttributes[a](n)&&m[a](n)&&c.is(this.paper.customAttributes[n],\"function\")){var o=this.paper.customAttributes[n].apply(this,[].concat(m[n]));this.attrs[n]=m[n];for(var p in o)o[a](p)&&(m[p]=o[p])}return w(this,m),this},B.toFront=function(){if(this.removed)return this;var a=z(this.node);a.parentNode.appendChild(a);var b=this.paper;return b.top!=this&&c._tofront(this,b),this},B.toBack=function(){if(this.removed)return this;var a=z(this.node),b=a.parentNode;b.insertBefore(a,b.firstChild),c._toback(this,this.paper);this.paper;return this},B.insertAfter=function(a){if(this.removed||!a)return this;var b=z(this.node),d=z(a.node||a[a.length-1].node);return d.nextSibling?d.parentNode.insertBefore(b,d.nextSibling):d.parentNode.appendChild(b),c._insertafter(this,a,this.paper),this},B.insertBefore=function(a){if(this.removed||!a)return this;var b=z(this.node),d=z(a.node||a[0].node);return d.parentNode.insertBefore(b,d),c._insertbefore(this,a,this.paper),this},B.blur=function(a){var b=this;if(0!==+a){var d=q(\"filter\"),e=q(\"feGaussianBlur\");b.attrs.blur=a,d.id=c.createUUID(),q(e,{stdDeviation:+a||1.5}),d.appendChild(e),b.paper.defs.appendChild(d),b._blur=d,q(b.node,{filter:\"url(#\"+d.id+\")\"})}else b._blur&&(b._blur.parentNode.removeChild(b._blur),delete b._blur,delete b.attrs.blur),b.node.removeAttribute(\"filter\");return b},c._engine.circle=function(a,b,c,d){var e=q(\"circle\");a.canvas&&a.canvas.appendChild(e);var f=new A(e,a);return f.attrs={cx:b,cy:c,r:d,fill:\"none\",stroke:\"#000\"},f.type=\"circle\",q(e,f.attrs),f},c._engine.rect=function(a,b,c,d,e,f){var g=q(\"rect\");a.canvas&&a.canvas.appendChild(g);var h=new A(g,a);return h.attrs={x:b,y:c,width:d,height:e,rx:f||0,ry:f||0,fill:\"none\",stroke:\"#000\"},h.type=\"rect\",q(g,h.attrs),h},c._engine.ellipse=function(a,b,c,d,e){var f=q(\"ellipse\");a.canvas&&a.canvas.appendChild(f);var g=new A(f,a);return g.attrs={cx:b,cy:c,rx:d,ry:e,fill:\"none\",stroke:\"#000\"},g.type=\"ellipse\",q(f,g.attrs),g},c._engine.image=function(a,b,c,d,e,f){var g=q(\"image\");q(g,{x:c,y:d,width:e,height:f,preserveAspectRatio:\"none\"}),g.setAttributeNS(n,\"href\",b),a.canvas&&a.canvas.appendChild(g);var h=new A(g,a);return h.attrs={x:c,y:d,width:e,height:f,src:b},h.type=\"image\",h},c._engine.text=function(a,b,d,e){var f=q(\"text\");a.canvas&&a.canvas.appendChild(f);var g=new A(f,a);return g.attrs={x:b,y:d,\"text-anchor\":\"middle\",text:e,\"font-family\":c._availableAttrs[\"font-family\"],\"font-size\":c._availableAttrs[\"font-size\"],stroke:\"none\",fill:\"#000\"},g.type=\"text\",w(g,g.attrs),g},c._engine.setSize=function(a,b){return this.width=a||this.width,this.height=b||this.height,this.canvas.setAttribute(\"width\",this.width),this.canvas.setAttribute(\"height\",this.height),this._viewBox&&this.setViewBox.apply(this,this._viewBox),this},c._engine.create=function(){var a=c._getContainer.apply(0,arguments),b=a&&a.container,d=a.x,e=a.y,f=a.width,g=a.height;if(!b)throw new Error(\"SVG container not found.\");var h,i=q(\"svg\"),j=\"overflow:hidden;\";return d=d||0,e=e||0,f=f||512,g=g||342,q(i,{height:g,version:1.1,width:f,xmlns:\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\"}),1==b?(i.style.cssText=j+\"position:absolute;left:\"+d+\"px;top:\"+e+\"px\",c._g.doc.body.appendChild(i),h=1):(i.style.cssText=j+\"position:relative\",b.firstChild?b.insertBefore(i,b.firstChild):b.appendChild(i)),b=new c._Paper,b.width=f,b.height=g,b.canvas=i,b.clear(),b._left=b._top=0,h&&(b.renderfix=function(){}),b.renderfix(),b},c._engine.setViewBox=function(a,b,c,d,e){k(\"raphael.setViewBox\",this,this._viewBox,[a,b,c,d,e]);var f,h,i=this.getSize(),j=g(c/i.width,d/i.height),l=this.top,n=e?\"xMidYMid meet\":\"xMinYMin\";for(null==a?(this._vbSize&&(j=1),delete this._vbSize,f=\"0 0 \"+this.width+m+this.height):(this._vbSize=j,f=a+m+b+m+c+m+d),q(this.canvas,{viewBox:f,preserveAspectRatio:n});j&&l;)h=\"stroke-width\"in l.attrs?l.attrs[\"stroke-width\"]:1,l.attr({\"stroke-width\":h}),l._.dirty=1,l._.dirtyT=1,l=l.prev;return this._viewBox=[a,b,c,d,!!e],this},c.prototype.renderfix=function(){var a,b=this.canvas,c=b.style;try{a=b.getScreenCTM()||b.createSVGMatrix()}catch(d){a=b.createSVGMatrix()}var e=-a.e%1,f=-a.f%1;(e||f)&&(e&&(this._left=(this._left+e)%1,c.left=this._left+\"px\"),f&&(this._top=(this._top+f)%1,c.top=this._top+\"px\"))},c.prototype.clear=function(){c.eve(\"raphael.clear\",this);for(var a=this.canvas;a.firstChild;)a.removeChild(a.firstChild);this.bottom=this.top=null,(this.desc=q(\"desc\")).appendChild(c._g.doc.createTextNode(\"Created with Raphaël \"+c.version)),a.appendChild(this.desc),a.appendChild(this.defs=q(\"defs\"))},c.prototype.remove=function(){k(\"raphael.remove\",this),this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas);for(var a in this)this[a]=\"function\"==typeof this[a]?c._removedFactory(a):null};var C=c.st;for(var D in B)B[a](D)&&!C[a](D)&&(C[D]=function(a){return function(){var b=arguments;return this.forEach(function(c){c[a].apply(c,b)})}}(D))}}(),function(){if(c.vml){var a=\"hasOwnProperty\",b=String,d=parseFloat,e=Math,f=e.round,g=e.max,h=e.min,i=e.abs,j=\"fill\",k=/[, ]+/,l=c.eve,m=\" progid:DXImageTransform.Microsoft\",n=\" \",o=\"\",p={M:\"m\",L:\"l\",C:\"c\",Z:\"x\",m:\"t\",l:\"r\",c:\"v\",z:\"x\"},q=/([clmz]),?([^clmz]*)/gi,r=/ progid:\\S+Blur\\([^\\)]+\\)/g,s=/-?[^,\\s-]+/g,t=\"position:absolute;left:0;top:0;width:1px;height:1px;behavior:url(#default#VML)\",u=21600,v={path:1,rect:1,image:1},w={circle:1,ellipse:1},x=function(a){var d=/[ahqstv]/gi,e=c._pathToAbsolute;if(b(a).match(d)&&(e=c._path2curve),d=/[clmz]/g,e==c._pathToAbsolute&&!b(a).match(d)){var g=b(a).replace(q,function(a,b,c){var d=[],e=\"m\"==b.toLowerCase(),g=p[b];return c.replace(s,function(a){e&&2==d.length&&(g+=d+p[\"m\"==b?\"l\":\"L\"],d=[]),d.push(f(a*u))}),g+d});return g}var h,i,j=e(a);g=[];for(var k=0,l=j.length;l>k;k++){h=j[k],i=j[k][0].toLowerCase(),\"z\"==i&&(i=\"x\");for(var m=1,r=h.length;r>m;m++)i+=f(h[m]*u)+(m!=r-1?\",\":o);g.push(i)}return g.join(n)},y=function(a,b,d){var e=c.matrix();return e.rotate(-a,.5,.5),{dx:e.x(b,d),dy:e.y(b,d)}},z=function(a,b,c,d,e,f){var g=a._,h=a.matrix,k=g.fillpos,l=a.node,m=l.style,o=1,p=\"\",q=u/b,r=u/c;if(m.visibility=\"hidden\",b&&c){if(l.coordsize=i(q)+n+i(r),m.rotation=f*(0>b*c?-1:1),f){var s=y(f,d,e);d=s.dx,e=s.dy}if(0>b&&(p+=\"x\"),0>c&&(p+=\" y\")&&(o=-1),m.flip=p,l.coordorigin=d*-q+n+e*-r,k||g.fillsize){var t=l.getElementsByTagName(j);t=t&&t[0],l.removeChild(t),k&&(s=y(f,h.x(k[0],k[1]),h.y(k[0],k[1])),t.position=s.dx*o+n+s.dy*o),g.fillsize&&(t.size=g.fillsize[0]*i(b)+n+g.fillsize[1]*i(c)),l.appendChild(t)}m.visibility=\"visible\"}};c.toString=function(){return\"Your browser doesn’t support SVG. Falling down to VML.\\nYou are running Raphaël \"+this.version};var A=function(a,c,d){for(var e=b(c).toLowerCase().split(\"-\"),f=d?\"end\":\"start\",g=e.length,h=\"classic\",i=\"medium\",j=\"medium\";g--;)switch(e[g]){case\"block\":case\"classic\":case\"oval\":case\"diamond\":case\"open\":case\"none\":h=e[g];break;case\"wide\":case\"narrow\":j=e[g];break;case\"long\":case\"short\":i=e[g]}var k=a.node.getElementsByTagName(\"stroke\")[0];k[f+\"arrow\"]=h,k[f+\"arrowlength\"]=i,k[f+\"arrowwidth\"]=j},B=function(e,i){e.attrs=e.attrs||{};var l=e.node,m=e.attrs,p=l.style,q=v[e.type]&&(i.x!=m.x||i.y!=m.y||i.width!=m.width||i.height!=m.height||i.cx!=m.cx||i.cy!=m.cy||i.rx!=m.rx||i.ry!=m.ry||i.r!=m.r),r=w[e.type]&&(m.cx!=i.cx||m.cy!=i.cy||m.r!=i.r||m.rx!=i.rx||m.ry!=i.ry),s=e;for(var t in i)i[a](t)&&(m[t]=i[t]);if(q&&(m.path=c._getPath[e.type](e),e._.dirty=1),i.href&&(l.href=i.href),i.title&&(l.title=i.title),i.target&&(l.target=i.target),i.cursor&&(p.cursor=i.cursor),\"blur\"in i&&e.blur(i.blur),(i.path&&\"path\"==e.type||q)&&(l.path=x(~b(m.path).toLowerCase().indexOf(\"r\")?c._pathToAbsolute(m.path):m.path),e._.dirty=1,\"image\"==e.type&&(e._.fillpos=[m.x,m.y],e._.fillsize=[m.width,m.height],z(e,1,1,0,0,0))),\"transform\"in i&&e.transform(i.transform),r){var y=+m.cx,B=+m.cy,D=+m.rx||+m.r||0,E=+m.ry||+m.r||0;l.path=c.format(\"ar{0},{1},{2},{3},{4},{1},{4},{1}x\",f((y-D)*u),f((B-E)*u),f((y+D)*u),f((B+E)*u),f(y*u)),e._.dirty=1}if(\"clip-rect\"in i){var G=b(i[\"clip-rect\"]).split(k);if(4==G.length){G[2]=+G[2]+ +G[0],G[3]=+G[3]+ +G[1];var H=l.clipRect||c._g.doc.createElement(\"div\"),I=H.style;I.clip=c.format(\"rect({1}px {2}px {3}px {0}px)\",G),l.clipRect||(I.position=\"absolute\",I.top=0,I.left=0,I.width=e.paper.width+\"px\",I.height=e.paper.height+\"px\",l.parentNode.insertBefore(H,l),H.appendChild(l),l.clipRect=H)}i[\"clip-rect\"]||l.clipRect&&(l.clipRect.style.clip=\"auto\")}if(e.textpath){var J=e.textpath.style;i.font&&(J.font=i.font),i[\"font-family\"]&&(J.fontFamily='\"'+i[\"font-family\"].split(\",\")[0].replace(/^['\"]+|['\"]+$/g,o)+'\"'),i[\"font-size\"]&&(J.fontSize=i[\"font-size\"]),i[\"font-weight\"]&&(J.fontWeight=i[\"font-weight\"]),i[\"font-style\"]&&(J.fontStyle=i[\"font-style\"])}if(\"arrow-start\"in i&&A(s,i[\"arrow-start\"]),\"arrow-end\"in i&&A(s,i[\"arrow-end\"],1),null!=i.opacity||null!=i[\"stroke-width\"]||null!=i.fill||null!=i.src||null!=i.stroke||null!=i[\"stroke-width\"]||null!=i[\"stroke-opacity\"]||null!=i[\"fill-opacity\"]||null!=i[\"stroke-dasharray\"]||null!=i[\"stroke-miterlimit\"]||null!=i[\"stroke-linejoin\"]||null!=i[\"stroke-linecap\"]){var K=l.getElementsByTagName(j),L=!1;if(K=K&&K[0],!K&&(L=K=F(j)),\"image\"==e.type&&i.src&&(K.src=i.src),i.fill&&(K.on=!0),(null==K.on||\"none\"==i.fill||null===i.fill)&&(K.on=!1),K.on&&i.fill){var M=b(i.fill).match(c._ISURL);if(M){K.parentNode==l&&l.removeChild(K),K.rotate=!0,K.src=M[1],K.type=\"tile\";var N=e.getBBox(1);K.position=N.x+n+N.y,e._.fillpos=[N.x,N.y],c._preload(M[1],function(){e._.fillsize=[this.offsetWidth,this.offsetHeight]})}else K.color=c.getRGB(i.fill).hex,K.src=o,K.type=\"solid\",c.getRGB(i.fill).error&&(s.type in{circle:1,ellipse:1}||\"r\"!=b(i.fill).charAt())&&C(s,i.fill,K)&&(m.fill=\"none\",m.gradient=i.fill,K.rotate=!1)}if(\"fill-opacity\"in i||\"opacity\"in i){var O=((+m[\"fill-opacity\"]+1||2)-1)*((+m.opacity+1||2)-1)*((+c.getRGB(i.fill).o+1||2)-1);O=h(g(O,0),1),K.opacity=O,K.src&&(K.color=\"none\")}l.appendChild(K);var P=l.getElementsByTagName(\"stroke\")&&l.getElementsByTagName(\"stroke\")[0],Q=!1;!P&&(Q=P=F(\"stroke\")),(i.stroke&&\"none\"!=i.stroke||i[\"stroke-width\"]||null!=i[\"stroke-opacity\"]||i[\"stroke-dasharray\"]||i[\"stroke-miterlimit\"]||i[\"stroke-linejoin\"]||i[\"stroke-linecap\"])&&(P.on=!0),(\"none\"==i.stroke||null===i.stroke||null==P.on||0==i.stroke||0==i[\"stroke-width\"])&&(P.on=!1);var R=c.getRGB(i.stroke);P.on&&i.stroke&&(P.color=R.hex),O=((+m[\"stroke-opacity\"]+1||2)-1)*((+m.opacity+1||2)-1)*((+R.o+1||2)-1);var S=.75*(d(i[\"stroke-width\"])||1);if(O=h(g(O,0),1),null==i[\"stroke-width\"]&&(S=m[\"stroke-width\"]),i[\"stroke-width\"]&&(P.weight=S),S&&1>S&&(O*=S)&&(P.weight=1),P.opacity=O,i[\"stroke-linejoin\"]&&(P.joinstyle=i[\"stroke-linejoin\"]||\"miter\"),P.miterlimit=i[\"stroke-miterlimit\"]||8,i[\"stroke-linecap\"]&&(P.endcap=\"butt\"==i[\"stroke-linecap\"]?\"flat\":\"square\"==i[\"stroke-linecap\"]?\"square\":\"round\"),\"stroke-dasharray\"in i){var T={\"-\":\"shortdash\",\".\":\"shortdot\",\"-.\":\"shortdashdot\",\"-..\":\"shortdashdotdot\",\". \":\"dot\",\"- \":\"dash\",\"--\":\"longdash\",\"- .\":\"dashdot\",\"--.\":\"longdashdot\",\"--..\":\"longdashdotdot\"};P.dashstyle=T[a](i[\"stroke-dasharray\"])?T[i[\"stroke-dasharray\"]]:o}Q&&l.appendChild(P)}if(\"text\"==s.type){s.paper.canvas.style.display=o;var U=s.paper.span,V=100,W=m.font&&m.font.match(/\\d+(?:\\.\\d*)?(?=px)/);p=U.style,m.font&&(p.font=m.font),m[\"font-family\"]&&(p.fontFamily=m[\"font-family\"]),m[\"font-weight\"]&&(p.fontWeight=m[\"font-weight\"]),m[\"font-style\"]&&(p.fontStyle=m[\"font-style\"]),W=d(m[\"font-size\"]||W&&W[0])||10,p.fontSize=W*V+\"px\",s.textpath.string&&(U.innerHTML=b(s.textpath.string).replace(/\"));var X=U.getBoundingClientRect();s.W=m.w=(X.right-X.left)/V,s.H=m.h=(X.bottom-X.top)/V,s.X=m.x,s.Y=m.y+s.H/2,(\"x\"in i||\"y\"in i)&&(s.path.v=c.format(\"m{0},{1}l{2},{1}\",f(m.x*u),f(m.y*u),f(m.x*u)+1));for(var Y=[\"x\",\"y\",\"text\",\"font\",\"font-family\",\"font-weight\",\"font-style\",\"font-size\"],Z=0,$=Y.length;$>Z;Z++)if(Y[Z]in i){s._.dirty=1;break}switch(m[\"text-anchor\"]){case\"start\":s.textpath.style[\"v-text-align\"]=\"left\",s.bbx=s.W/2;break;case\"end\":s.textpath.style[\"v-text-align\"]=\"right\",s.bbx=-s.W/2;break;default:s.textpath.style[\"v-text-align\"]=\"center\",s.bbx=0}s.textpath.style[\"v-text-kern\"]=!0}},C=function(a,f,g){a.attrs=a.attrs||{};var h=(a.attrs,Math.pow),i=\"linear\",j=\".5 .5\";if(a.attrs.gradient=f,f=b(f).replace(c._radial_gradient,function(a,b,c){return i=\"radial\",b&&c&&(b=d(b),c=d(c),h(b-.5,2)+h(c-.5,2)>.25&&(c=e.sqrt(.25-h(b-.5,2))*(2*(c>.5)-1)+.5),j=b+n+c),o}),f=f.split(/\\s*\\-\\s*/),\"linear\"==i){var k=f.shift();if(k=-d(k),isNaN(k))return null}var l=c._parseDots(f);if(!l)return null;if(a=a.shape||a.node,l.length){a.removeChild(g),g.on=!0,g.method=\"none\",g.color=l[0].color,g.color2=l[l.length-1].color;for(var m=[],p=0,q=l.length;q>p;p++)l[p].offset&&m.push(l[p].offset+n+l[p].color);g.colors=m.length?m.join():\"0% \"+g.color,\"radial\"==i?(g.type=\"gradientTitle\",g.focus=\"100%\",g.focussize=\"0 0\",g.focusposition=j,g.angle=0):(g.type=\"gradient\",g.angle=(270-k)%360),a.appendChild(g)}return 1},D=function(a,b){this[0]=this.node=a,a.raphael=!0,this.id=c._oid++,a.raphaelid=this.id,this.X=0,this.Y=0,this.attrs={},this.paper=b,this.matrix=c.matrix(),this._={transform:[],sx:1,sy:1,dx:0,dy:0,deg:0,dirty:1,dirtyT:1},!b.bottom&&(b.bottom=this),this.prev=b.top,b.top&&(b.top.next=this),b.top=this,this.next=null},E=c.el;D.prototype=E,E.constructor=D,E.transform=function(a){if(null==a)return this._.transform;var d,e=this.paper._viewBoxShift,f=e?\"s\"+[e.scale,e.scale]+\"-1-1t\"+[e.dx,e.dy]:o;e&&(d=a=b(a).replace(/\\.{3}|\\u2026/g,this._.transform||o)),c._extractTransform(this,f+a);var g,h=this.matrix.clone(),i=this.skew,j=this.node,k=~b(this.attrs.fill).indexOf(\"-\"),l=!b(this.attrs.fill).indexOf(\"url(\");if(h.translate(1,1),l||k||\"image\"==this.type)if(i.matrix=\"1 0 0 1\",i.offset=\"0 0\",g=h.split(),k&&g.noRotation||!g.isSimple){j.style.filter=h.toFilter();var m=this.getBBox(),p=this.getBBox(1),q=m.x-p.x,r=m.y-p.y;j.coordorigin=q*-u+n+r*-u,z(this,1,1,q,r,0)}else j.style.filter=o,z(this,g.scalex,g.scaley,g.dx,g.dy,g.rotate);else j.style.filter=o,i.matrix=b(h),i.offset=h.offset();return null!==d&&(this._.transform=d,c._extractTransform(this,d)),this},E.rotate=function(a,c,e){if(this.removed)return this;if(null!=a){if(a=b(a).split(k),a.length-1&&(c=d(a[1]),e=d(a[2])),a=d(a[0]),null==e&&(c=e),null==c||null==e){var f=this.getBBox(1);c=f.x+f.width/2,e=f.y+f.height/2}return this._.dirtyT=1,this.transform(this._.transform.concat([[\"r\",a,c,e]])),this}},E.translate=function(a,c){return this.removed?this:(a=b(a).split(k),a.length-1&&(c=d(a[1])),a=d(a[0])||0,c=+c||0,this._.bbox&&(this._.bbox.x+=a,this._.bbox.y+=c),this.transform(this._.transform.concat([[\"t\",a,c]])),this)},E.scale=function(a,c,e,f){if(this.removed)return this;if(a=b(a).split(k),a.length-1&&(c=d(a[1]),e=d(a[2]),f=d(a[3]),isNaN(e)&&(e=null),isNaN(f)&&(f=null)),a=d(a[0]),null==c&&(c=a),null==f&&(e=f),null==e||null==f)var g=this.getBBox(1);return e=null==e?g.x+g.width/2:e,f=null==f?g.y+g.height/2:f,this.transform(this._.transform.concat([[\"s\",a,c,e,f]])),this._.dirtyT=1,this},E.hide=function(){return!this.removed&&(this.node.style.display=\"none\"),this},E.show=function(){return!this.removed&&(this.node.style.display=o),this},E.auxGetBBox=c.el.getBBox,E.getBBox=function(){var a=this.auxGetBBox();if(this.paper&&this.paper._viewBoxShift){var b={},c=1/this.paper._viewBoxShift.scale;return b.x=a.x-this.paper._viewBoxShift.dx,b.x*=c,b.y=a.y-this.paper._viewBoxShift.dy,b.y*=c,b.width=a.width*c,b.height=a.height*c,b.x2=b.x+b.width,b.y2=b.y+b.height,b}return a},E._getBBox=function(){return this.removed?{}:{x:this.X+(this.bbx||0)-this.W/2,y:this.Y-this.H,width:this.W,height:this.H}},E.remove=function(){if(!this.removed&&this.node.parentNode){this.paper.__set__&&this.paper.__set__.exclude(this),c.eve.unbind(\"raphael.*.*.\"+this.id),c._tear(this,this.paper),this.node.parentNode.removeChild(this.node),this.shape&&this.shape.parentNode.removeChild(this.shape);for(var a in this)this[a]=\"function\"==typeof this[a]?c._removedFactory(a):null;this.removed=!0}},E.attr=function(b,d){if(this.removed)return this;if(null==b){var e={};for(var f in this.attrs)this.attrs[a](f)&&(e[f]=this.attrs[f]);return e.gradient&&\"none\"==e.fill&&(e.fill=e.gradient)&&delete e.gradient,e.transform=this._.transform,e}if(null==d&&c.is(b,\"string\")){if(b==j&&\"none\"==this.attrs.fill&&this.attrs.gradient)return this.attrs.gradient;for(var g=b.split(k),h={},i=0,m=g.length;m>i;i++)b=g[i],h[b]=b in this.attrs?this.attrs[b]:c.is(this.paper.customAttributes[b],\"function\")?this.paper.customAttributes[b].def:c._availableAttrs[b];return m-1?h:h[g[0]]}if(this.attrs&&null==d&&c.is(b,\"array\")){for(h={},i=0,m=b.length;m>i;i++)h[b[i]]=this.attr(b[i]);return h}var n;null!=d&&(n={},n[b]=d),null==d&&c.is(b,\"object\")&&(n=b);for(var o in n)l(\"raphael.attr.\"+o+\".\"+this.id,this,n[o]);if(n){for(o in this.paper.customAttributes)if(this.paper.customAttributes[a](o)&&n[a](o)&&c.is(this.paper.customAttributes[o],\"function\")){var p=this.paper.customAttributes[o].apply(this,[].concat(n[o]));this.attrs[o]=n[o];for(var q in p)p[a](q)&&(n[q]=p[q])}n.text&&\"text\"==this.type&&(this.textpath.string=n.text),B(this,n)}return this},E.toFront=function(){return!this.removed&&this.node.parentNode.appendChild(this.node),this.paper&&this.paper.top!=this&&c._tofront(this,this.paper),this},E.toBack=function(){return this.removed?this:(this.node.parentNode.firstChild!=this.node&&(this.node.parentNode.insertBefore(this.node,this.node.parentNode.firstChild),c._toback(this,this.paper)),this)},E.insertAfter=function(a){return this.removed?this:(a.constructor==c.st.constructor&&(a=a[a.length-1]),a.node.nextSibling?a.node.parentNode.insertBefore(this.node,a.node.nextSibling):a.node.parentNode.appendChild(this.node),c._insertafter(this,a,this.paper),this)},E.insertBefore=function(a){return this.removed?this:(a.constructor==c.st.constructor&&(a=a[0]),a.node.parentNode.insertBefore(this.node,a.node),c._insertbefore(this,a,this.paper),this)},E.blur=function(a){var b=this.node.runtimeStyle,d=b.filter;return d=d.replace(r,o),0!==+a?(this.attrs.blur=a,b.filter=d+n+m+\".Blur(pixelradius=\"+(+a||1.5)+\")\",b.margin=c.format(\"-{0}px 0 0 -{0}px\",f(+a||1.5))):(b.filter=d,b.margin=0,delete this.attrs.blur),this},c._engine.path=function(a,b){var c=F(\"shape\");c.style.cssText=t,c.coordsize=u+n+u,c.coordorigin=b.coordorigin;var d=new D(c,b),e={fill:\"none\",stroke:\"#000\"};a&&(e.path=a),d.type=\"path\",d.path=[],d.Path=o,B(d,e),b.canvas.appendChild(c);var f=F(\"skew\");return f.on=!0,c.appendChild(f),d.skew=f,d.transform(o),d},c._engine.rect=function(a,b,d,e,f,g){var h=c._rectPath(b,d,e,f,g),i=a.path(h),j=i.attrs;return i.X=j.x=b,i.Y=j.y=d,i.W=j.width=e,i.H=j.height=f,j.r=g,j.path=h,i.type=\"rect\",i},c._engine.ellipse=function(a,b,c,d,e){{var f=a.path();f.attrs}return f.X=b-d,f.Y=c-e,f.W=2*d,f.H=2*e,f.type=\"ellipse\",B(f,{cx:b,cy:c,rx:d,ry:e}),f},c._engine.circle=function(a,b,c,d){{var e=a.path();e.attrs}return e.X=b-d,e.Y=c-d,e.W=e.H=2*d,e.type=\"circle\",B(e,{cx:b,cy:c,r:d}),e},c._engine.image=function(a,b,d,e,f,g){var h=c._rectPath(d,e,f,g),i=a.path(h).attr({stroke:\"none\"}),k=i.attrs,l=i.node,m=l.getElementsByTagName(j)[0];return k.src=b,i.X=k.x=d,i.Y=k.y=e,i.W=k.width=f,i.H=k.height=g,k.path=h,i.type=\"image\",m.parentNode==l&&l.removeChild(m),m.rotate=!0,m.src=b,m.type=\"tile\",i._.fillpos=[d,e],i._.fillsize=[f,g],l.appendChild(m),z(i,1,1,0,0,0),i},c._engine.text=function(a,d,e,g){var h=F(\"shape\"),i=F(\"path\"),j=F(\"textpath\");d=d||0,e=e||0,g=g||\"\",i.v=c.format(\"m{0},{1}l{2},{1}\",f(d*u),f(e*u),f(d*u)+1),i.textpathok=!0,j.string=b(g),j.on=!0,h.style.cssText=t,h.coordsize=u+n+u,h.coordorigin=\"0 0\";var k=new D(h,a),l={fill:\"#000\",stroke:\"none\",font:c._availableAttrs.font,text:g};k.shape=h,k.path=i,k.textpath=j,k.type=\"text\",k.attrs.text=b(g),k.attrs.x=d,k.attrs.y=e,k.attrs.w=1,k.attrs.h=1,B(k,l),h.appendChild(j),h.appendChild(i),a.canvas.appendChild(h);var m=F(\"skew\");return m.on=!0,h.appendChild(m),k.skew=m,k.transform(o),k},c._engine.setSize=function(a,b){var d=this.canvas.style;return this.width=a,this.height=b,a==+a&&(a+=\"px\"),b==+b&&(b+=\"px\"),d.width=a,d.height=b,d.clip=\"rect(0 \"+a+\" \"+b+\" 0)\",this._viewBox&&c._engine.setViewBox.apply(this,this._viewBox),this},c._engine.setViewBox=function(a,b,d,e,f){c.eve(\"raphael.setViewBox\",this,this._viewBox,[a,b,d,e,f]);var g,h,i=this.getSize(),j=i.width,k=i.height;return f&&(g=k/e,h=j/d,j>d*g&&(a-=(j-d*g)/2/g),k>e*h&&(b-=(k-e*h)/2/h)),this._viewBox=[a,b,d,e,!!f],this._viewBoxShift={dx:-a,dy:-b,scale:i},this.forEach(function(a){a.transform(\"...\")}),this};var F;c._engine.initWin=function(a){var b=a.document;b.styleSheets.length<31?b.createStyleSheet().addRule(\".rvml\",\"behavior:url(#default#VML)\"):b.styleSheets[0].addRule(\".rvml\",\"behavior:url(#default#VML)\");try{!b.namespaces.rvml&&b.namespaces.add(\"rvml\",\"urn:schemas-microsoft-com:vml\"),F=function(a){return b.createElement(\"')}}catch(c){F=function(a){return b.createElement(\"<\"+a+' xmlns=\"urn:schemas-microsoft.com:vml\" class=\"rvml\">')}}},c._engine.initWin(c._g.win),c._engine.create=function(){var a=c._getContainer.apply(0,arguments),b=a.container,d=a.height,e=a.width,f=a.x,g=a.y;if(!b)throw new Error(\"VML container not found.\");var h=new c._Paper,i=h.canvas=c._g.doc.createElement(\"div\"),j=i.style;return f=f||0,g=g||0,e=e||512,d=d||342,h.width=e,h.height=d,e==+e&&(e+=\"px\"),d==+d&&(d+=\"px\"),h.coordsize=1e3*u+n+1e3*u,h.coordorigin=\"0 0\",h.span=c._g.doc.createElement(\"span\"),h.span.style.cssText=\"position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;\",i.appendChild(h.span),j.cssText=c.format(\"top:0;left:0;width:{0};height:{1};display:inline-block;position:relative;clip:rect(0 {0} {1} 0);overflow:hidden\",e,d),1==b?(c._g.doc.body.appendChild(i),j.left=f+\"px\",j.top=g+\"px\",j.position=\"absolute\"):b.firstChild?b.insertBefore(i,b.firstChild):b.appendChild(i),h.renderfix=function(){},h},c.prototype.clear=function(){c.eve(\"raphael.clear\",this),this.canvas.innerHTML=o,this.span=c._g.doc.createElement(\"span\"),this.span.style.cssText=\"position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;display:inline;\",this.canvas.appendChild(this.span),this.bottom=this.top=null},c.prototype.remove=function(){c.eve(\"raphael.remove\",this),this.canvas.parentNode.removeChild(this.canvas);for(var a in this)this[a]=\"function\"==typeof this[a]?c._removedFactory(a):null;return!0};var G=c.st;for(var H in E)E[a](H)&&!G[a](H)&&(G[H]=function(a){return function(){var b=arguments;return this.forEach(function(c){c[a].apply(c,b)})}}(H))}}(),B.was?A.win.Raphael=c:Raphael=c,\"object\"==typeof exports&&(module.exports=c),c});","// ┌────────────────────────────────────────────────────────────────────┐ \\\\\n// │ Raphaël 2.1.3 - JavaScript Vector Library │ \\\\\n// ├────────────────────────────────────────────────────────────────────┤ \\\\\n// │ Copyright © 2008-2012 Dmitry Baranovskiy (http://raphaeljs.com) │ \\\\\n// │ Copyright © 2008-2012 Sencha Labs (http://sencha.com) │ \\\\\n// ├────────────────────────────────────────────────────────────────────┤ \\\\\n// │ Licensed under the MIT (http://raphaeljs.com/license.html) license.│ \\\\\n// └────────────────────────────────────────────────────────────────────┘ \\\\\n// Copyright (c) 2013 Adobe Systems Incorporated. All rights reserved.\n// \n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n// \n// http://www.apache.org/licenses/LICENSE-2.0\n// \n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n// ┌────────────────────────────────────────────────────────────┐ \\\\\n// │ Eve 0.4.2 - JavaScript Events Library │ \\\\\n// ├────────────────────────────────────────────────────────────┤ \\\\\n// │ Author Dmitry Baranovskiy (http://dmitry.baranovskiy.com/) │ \\\\\n// └────────────────────────────────────────────────────────────┘ \\\\\n\n(function (glob) {\n var version = \"0.4.2\",\n has = \"hasOwnProperty\",\n separator = /[\\.\\/]/,\n wildcard = \"*\",\n fun = function () {},\n numsort = function (a, b) {\n return a - b;\n },\n current_event,\n stop,\n events = {n: {}},\n /*\\\n * eve\n [ method ]\n\n * Fires event with given `name`, given scope and other parameters.\n\n > Arguments\n\n - name (string) name of the *event*, dot (`.`) or slash (`/`) separated\n - scope (object) context for the event handlers\n - varargs (...) the rest of arguments will be sent to event handlers\n\n = (object) array of returned values from the listeners\n \\*/\n eve = function (name, scope) {\n\t\t\tname = String(name);\n var e = events,\n oldstop = stop,\n args = Array.prototype.slice.call(arguments, 2),\n listeners = eve.listeners(name),\n z = 0,\n f = false,\n l,\n indexed = [],\n queue = {},\n out = [],\n ce = current_event,\n errors = [];\n current_event = name;\n stop = 0;\n for (var i = 0, ii = listeners.length; i < ii; i++) if (\"zIndex\" in listeners[i]) {\n indexed.push(listeners[i].zIndex);\n if (listeners[i].zIndex < 0) {\n queue[listeners[i].zIndex] = listeners[i];\n }\n }\n indexed.sort(numsort);\n while (indexed[z] < 0) {\n l = queue[indexed[z++]];\n out.push(l.apply(scope, args));\n if (stop) {\n stop = oldstop;\n return out;\n }\n }\n for (i = 0; i < ii; i++) {\n l = listeners[i];\n if (\"zIndex\" in l) {\n if (l.zIndex == indexed[z]) {\n out.push(l.apply(scope, args));\n if (stop) {\n break;\n }\n do {\n z++;\n l = queue[indexed[z]];\n l && out.push(l.apply(scope, args));\n if (stop) {\n break;\n }\n } while (l)\n } else {\n queue[l.zIndex] = l;\n }\n } else {\n out.push(l.apply(scope, args));\n if (stop) {\n break;\n }\n }\n }\n stop = oldstop;\n current_event = ce;\n return out.length ? out : null;\n };\n\t\t// Undocumented. Debug only.\n\t\teve._events = events;\n /*\\\n * eve.listeners\n [ method ]\n\n * Internal method which gives you array of all event handlers that will be triggered by the given `name`.\n\n > Arguments\n\n - name (string) name of the event, dot (`.`) or slash (`/`) separated\n\n = (array) array of event handlers\n \\*/\n eve.listeners = function (name) {\n var names = name.split(separator),\n e = events,\n item,\n items,\n k,\n i,\n ii,\n j,\n jj,\n nes,\n es = [e],\n out = [];\n for (i = 0, ii = names.length; i < ii; i++) {\n nes = [];\n for (j = 0, jj = es.length; j < jj; j++) {\n e = es[j].n;\n items = [e[names[i]], e[wildcard]];\n k = 2;\n while (k--) {\n item = items[k];\n if (item) {\n nes.push(item);\n out = out.concat(item.f || []);\n }\n }\n }\n es = nes;\n }\n return out;\n };\n \n /*\\\n * eve.on\n [ method ]\n **\n * Binds given event handler with a given name. You can use wildcards “`*`” for the names:\n | eve.on(\"*.under.*\", f);\n | eve(\"mouse.under.floor\"); // triggers f\n * Use @eve to trigger the listener.\n **\n > Arguments\n **\n - name (string) name of the event, dot (`.`) or slash (`/`) separated, with optional wildcards\n - f (function) event handler function\n **\n = (function) returned function accepts a single numeric parameter that represents z-index of the handler. It is an optional feature and only used when you need to ensure that some subset of handlers will be invoked in a given order, despite of the order of assignment. \n > Example:\n | eve.on(\"mouse\", eatIt)(2);\n | eve.on(\"mouse\", scream);\n | eve.on(\"mouse\", catchIt)(1);\n * This will ensure that `catchIt()` function will be called before `eatIt()`.\n\t *\n * If you want to put your handler before non-indexed handlers, specify a negative value.\n * Note: I assume most of the time you don’t need to worry about z-index, but it’s nice to have this feature “just in case”.\n \\*/\n eve.on = function (name, f) {\n\t\tname = String(name);\n\t\tif (typeof f != \"function\") {\n\t\t\treturn function () {};\n\t\t}\n var names = name.split(separator),\n e = events;\n for (var i = 0, ii = names.length; i < ii; i++) {\n e = e.n;\n e = e.hasOwnProperty(names[i]) && e[names[i]] || (e[names[i]] = {n: {}});\n }\n e.f = e.f || [];\n for (i = 0, ii = e.f.length; i < ii; i++) if (e.f[i] == f) {\n return fun;\n }\n e.f.push(f);\n return function (zIndex) {\n if (+zIndex == +zIndex) {\n f.zIndex = +zIndex;\n }\n };\n };\n /*\\\n * eve.f\n [ method ]\n **\n * Returns function that will fire given event with optional arguments.\n\t * Arguments that will be passed to the result function will be also\n\t * concated to the list of final arguments.\n \t | el.onclick = eve.f(\"click\", 1, 2);\n \t | eve.on(\"click\", function (a, b, c) {\n \t | console.log(a, b, c); // 1, 2, [event object]\n \t | });\n > Arguments\n\t - event (string) event name\n\t - varargs (…) and any other arguments\n\t = (function) possible event handler function\n \\*/\n\teve.f = function (event) {\n\t\tvar attrs = [].slice.call(arguments, 1);\n\t\treturn function () {\n\t\t\teve.apply(null, [event, null].concat(attrs).concat([].slice.call(arguments, 0)));\n\t\t};\n\t};\n /*\\\n * eve.stop\n [ method ]\n **\n * Is used inside an event handler to stop the event, preventing any subsequent listeners from firing.\n \\*/\n eve.stop = function () {\n stop = 1;\n };\n /*\\\n * eve.nt\n [ method ]\n **\n * Could be used inside event handler to figure out actual name of the event.\n **\n > Arguments\n **\n - subname (string) #optional subname of the event\n **\n = (string) name of the event, if `subname` is not specified\n * or\n = (boolean) `true`, if current event’s name contains `subname`\n \\*/\n eve.nt = function (subname) {\n if (subname) {\n return new RegExp(\"(?:\\\\.|\\\\/|^)\" + subname + \"(?:\\\\.|\\\\/|$)\").test(current_event);\n }\n return current_event;\n };\n /*\\\n * eve.nts\n [ method ]\n **\n * Could be used inside event handler to figure out actual name of the event.\n **\n **\n = (array) names of the event\n \\*/\n eve.nts = function () {\n return current_event.split(separator);\n };\n /*\\\n * eve.off\n [ method ]\n **\n * Removes given function from the list of event listeners assigned to given name.\n\t * If no arguments specified all the events will be cleared.\n **\n > Arguments\n **\n - name (string) name of the event, dot (`.`) or slash (`/`) separated, with optional wildcards\n - f (function) event handler function\n \\*/\n /*\\\n * eve.unbind\n [ method ]\n **\n * See @eve.off\n \\*/\n eve.off = eve.unbind = function (name, f) {\n\t\tif (!name) {\n\t\t eve._events = events = {n: {}};\n\t\t\treturn;\n\t\t}\n var names = name.split(separator),\n e,\n key,\n splice,\n i, ii, j, jj,\n cur = [events];\n for (i = 0, ii = names.length; i < ii; i++) {\n for (j = 0; j < cur.length; j += splice.length - 2) {\n splice = [j, 1];\n e = cur[j].n;\n if (names[i] != wildcard) {\n if (e[names[i]]) {\n splice.push(e[names[i]]);\n }\n } else {\n for (key in e) if (e[has](key)) {\n splice.push(e[key]);\n }\n }\n cur.splice.apply(cur, splice);\n }\n }\n for (i = 0, ii = cur.length; i < ii; i++) {\n e = cur[i];\n while (e.n) {\n if (f) {\n if (e.f) {\n for (j = 0, jj = e.f.length; j < jj; j++) if (e.f[j] == f) {\n e.f.splice(j, 1);\n break;\n }\n !e.f.length && delete e.f;\n }\n for (key in e.n) if (e.n[has](key) && e.n[key].f) {\n var funcs = e.n[key].f;\n for (j = 0, jj = funcs.length; j < jj; j++) if (funcs[j] == f) {\n funcs.splice(j, 1);\n break;\n }\n !funcs.length && delete e.n[key].f;\n }\n } else {\n delete e.f;\n for (key in e.n) if (e.n[has](key) && e.n[key].f) {\n delete e.n[key].f;\n }\n }\n e = e.n;\n }\n }\n };\n /*\\\n * eve.once\n [ method ]\n **\n * Binds given event handler with a given name to only run once then unbind itself.\n | eve.once(\"login\", f);\n | eve(\"login\"); // triggers f\n | eve(\"login\"); // no listeners\n * Use @eve to trigger the listener.\n **\n > Arguments\n **\n - name (string) name of the event, dot (`.`) or slash (`/`) separated, with optional wildcards\n - f (function) event handler function\n **\n = (function) same return function as @eve.on\n \\*/\n eve.once = function (name, f) {\n var f2 = function () {\n eve.unbind(name, f2);\n return f.apply(this, arguments);\n };\n return eve.on(name, f2);\n };\n /*\\\n * eve.version\n [ property (string) ]\n **\n * Current version of the library.\n \\*/\n eve.version = version;\n eve.toString = function () {\n return \"You are running Eve \" + version;\n };\n (typeof module != \"undefined\" && module.exports) ? (module.exports = eve) : (typeof define != \"undefined\" ? (define(\"eve\", [], function() { return eve; })) : (glob.eve = eve));\n})(window || this);\n// ┌─────────────────────────────────────────────────────────────────────┐ \\\\\n// │ \"Raphaël 2.1.2\" - JavaScript Vector Library │ \\\\\n// ├─────────────────────────────────────────────────────────────────────┤ \\\\\n// │ Copyright (c) 2008-2011 Dmitry Baranovskiy (http://raphaeljs.com) │ \\\\\n// │ Copyright (c) 2008-2011 Sencha Labs (http://sencha.com) │ \\\\\n// │ Licensed under the MIT (http://raphaeljs.com/license.html) license. │ \\\\\n// └─────────────────────────────────────────────────────────────────────┘ \\\\\n\n(function (glob, factory) {\n // AMD support\n if (typeof define === \"function\" && define.amd) {\n // Define as an anonymous module\n define([\"eve\"], function( eve ) {\n return factory(glob, eve);\n });\n } else {\n // Browser globals (glob is window)\n // Raphael adds itself to window\n factory(glob, glob.eve || (typeof require == \"function\" && require('eve')) );\n }\n}(this, function (window, eve) {\n /*\\\n * Raphael\n [ method ]\n **\n * Creates a canvas object on which to draw.\n * You must do this first, as all future calls to drawing methods\n * from this instance will be bound to this canvas.\n > Parameters\n **\n - container (HTMLElement|string) DOM element or its ID which is going to be a parent for drawing surface\n - width (number)\n - height (number)\n - callback (function) #optional callback function which is going to be executed in the context of newly created paper\n * or\n - x (number)\n - y (number)\n - width (number)\n - height (number)\n - callback (function) #optional callback function which is going to be executed in the context of newly created paper\n * or\n - all (array) (first 3 or 4 elements in the array are equal to [containerID, width, height] or [x, y, width, height]. The rest are element descriptions in format {type: type, }). See @Paper.add.\n - callback (function) #optional callback function which is going to be executed in the context of newly created paper\n * or\n - onReadyCallback (function) function that is going to be called on DOM ready event. You can also subscribe to this event via Eve’s “DOMLoad” event. In this case method returns `undefined`.\n = (object) @Paper\n > Usage\n | // Each of the following examples create a canvas\n | // that is 320px wide by 200px high.\n | // Canvas is created at the viewport’s 10,50 coordinate.\n | var paper = Raphael(10, 50, 320, 200);\n | // Canvas is created at the top left corner of the #notepad element\n | // (or its top right corner in dir=\"rtl\" elements)\n | var paper = Raphael(document.getElementById(\"notepad\"), 320, 200);\n | // Same as above\n | var paper = Raphael(\"notepad\", 320, 200);\n | // Image dump\n | var set = Raphael([\"notepad\", 320, 200, {\n | type: \"rect\",\n | x: 10,\n | y: 10,\n | width: 25,\n | height: 25,\n | stroke: \"#f00\"\n | }, {\n | type: \"text\",\n | x: 30,\n | y: 40,\n | text: \"Dump\"\n | }]);\n \\*/\n function R(first) {\n if (R.is(first, \"function\")) {\n return loaded ? first() : eve.on(\"raphael.DOMload\", first);\n } else if (R.is(first, array)) {\n return R._engine.create[apply](R, first.splice(0, 3 + R.is(first[0], nu))).add(first);\n } else {\n var args = Array.prototype.slice.call(arguments, 0);\n if (R.is(args[args.length - 1], \"function\")) {\n var f = args.pop();\n return loaded ? f.call(R._engine.create[apply](R, args)) : eve.on(\"raphael.DOMload\", function () {\n f.call(R._engine.create[apply](R, args));\n });\n } else {\n return R._engine.create[apply](R, arguments);\n }\n }\n }\n R.version = \"2.1.2\";\n R.eve = eve;\n var loaded,\n separator = /[, ]+/,\n elements = {circle: 1, rect: 1, path: 1, ellipse: 1, text: 1, image: 1},\n formatrg = /\\{(\\d+)\\}/g,\n proto = \"prototype\",\n has = \"hasOwnProperty\",\n g = {\n doc: document,\n win: window\n },\n oldRaphael = {\n was: Object.prototype[has].call(g.win, \"Raphael\"),\n is: g.win.Raphael\n },\n Paper = function () {\n /*\\\n * Paper.ca\n [ property (object) ]\n **\n * Shortcut for @Paper.customAttributes\n \\*/\n /*\\\n * Paper.customAttributes\n [ property (object) ]\n **\n * If you have a set of attributes that you would like to represent\n * as a function of some number you can do it easily with custom attributes:\n > Usage\n | paper.customAttributes.hue = function (num) {\n | num = num % 1;\n | return {fill: \"hsb(\" + num + \", 0.75, 1)\"};\n | };\n | // Custom attribute “hue” will change fill\n | // to be given hue with fixed saturation and brightness.\n | // Now you can use it like this:\n | var c = paper.circle(10, 10, 10).attr({hue: .45});\n | // or even like this:\n | c.animate({hue: 1}, 1e3);\n |\n | // You could also create custom attribute\n | // with multiple parameters:\n | paper.customAttributes.hsb = function (h, s, b) {\n | return {fill: \"hsb(\" + [h, s, b].join(\",\") + \")\"};\n | };\n | c.attr({hsb: \"0.5 .8 1\"});\n | c.animate({hsb: [1, 0, 0.5]}, 1e3);\n \\*/\n this.ca = this.customAttributes = {};\n },\n paperproto,\n appendChild = \"appendChild\",\n apply = \"apply\",\n concat = \"concat\",\n supportsTouch = ('ontouchstart' in g.win) || g.win.DocumentTouch && g.doc instanceof DocumentTouch, //taken from Modernizr touch test\n E = \"\",\n S = \" \",\n Str = String,\n split = \"split\",\n events = \"click dblclick mousedown mousemove mouseout mouseover mouseup touchstart touchmove touchend touchcancel\"[split](S),\n touchMap = {\n mousedown: \"touchstart\",\n mousemove: \"touchmove\",\n mouseup: \"touchend\"\n },\n lowerCase = Str.prototype.toLowerCase,\n math = Math,\n mmax = math.max,\n mmin = math.min,\n abs = math.abs,\n pow = math.pow,\n PI = math.PI,\n nu = \"number\",\n string = \"string\",\n array = \"array\",\n toString = \"toString\",\n fillString = \"fill\",\n objectToString = Object.prototype.toString,\n paper = {},\n push = \"push\",\n ISURL = R._ISURL = /^url\\(['\"]?(.+?)['\"]?\\)$/i,\n colourRegExp = /^\\s*((#[a-f\\d]{6})|(#[a-f\\d]{3})|rgba?\\(\\s*([\\d\\.]+%?\\s*,\\s*[\\d\\.]+%?\\s*,\\s*[\\d\\.]+%?(?:\\s*,\\s*[\\d\\.]+%?)?)\\s*\\)|hsba?\\(\\s*([\\d\\.]+(?:deg|\\xb0|%)?\\s*,\\s*[\\d\\.]+%?\\s*,\\s*[\\d\\.]+(?:%?\\s*,\\s*[\\d\\.]+)?)%?\\s*\\)|hsla?\\(\\s*([\\d\\.]+(?:deg|\\xb0|%)?\\s*,\\s*[\\d\\.]+%?\\s*,\\s*[\\d\\.]+(?:%?\\s*,\\s*[\\d\\.]+)?)%?\\s*\\))\\s*$/i,\n isnan = {\"NaN\": 1, \"Infinity\": 1, \"-Infinity\": 1},\n bezierrg = /^(?:cubic-)?bezier\\(([^,]+),([^,]+),([^,]+),([^\\)]+)\\)/,\n round = math.round,\n setAttribute = \"setAttribute\",\n toFloat = parseFloat,\n toInt = parseInt,\n upperCase = Str.prototype.toUpperCase,\n availableAttrs = R._availableAttrs = {\n \"arrow-end\": \"none\",\n \"arrow-start\": \"none\",\n blur: 0,\n \"clip-rect\": \"0 0 1e9 1e9\",\n cursor: \"default\",\n cx: 0,\n cy: 0,\n fill: \"#fff\",\n \"fill-opacity\": 1,\n font: '10px \"Arial\"',\n \"font-family\": '\"Arial\"',\n \"font-size\": \"10\",\n \"font-style\": \"normal\",\n \"font-weight\": 400,\n gradient: 0,\n height: 0,\n href: \"http://raphaeljs.com/\",\n \"letter-spacing\": 0,\n opacity: 1,\n path: \"M0,0\",\n r: 0,\n rx: 0,\n ry: 0,\n src: \"\",\n stroke: \"#000\",\n \"stroke-dasharray\": \"\",\n \"stroke-linecap\": \"butt\",\n \"stroke-linejoin\": \"butt\",\n \"stroke-miterlimit\": 0,\n \"stroke-opacity\": 1,\n \"stroke-width\": 1,\n target: \"_blank\",\n \"text-anchor\": \"middle\",\n title: \"Raphael\",\n transform: \"\",\n width: 0,\n x: 0,\n y: 0\n },\n availableAnimAttrs = R._availableAnimAttrs = {\n blur: nu,\n \"clip-rect\": \"csv\",\n cx: nu,\n cy: nu,\n fill: \"colour\",\n \"fill-opacity\": nu,\n \"font-size\": nu,\n height: nu,\n opacity: nu,\n path: \"path\",\n r: nu,\n rx: nu,\n ry: nu,\n stroke: \"colour\",\n \"stroke-opacity\": nu,\n \"stroke-width\": nu,\n transform: \"transform\",\n width: nu,\n x: nu,\n y: nu\n },\n whitespace = /[\\x09\\x0a\\x0b\\x0c\\x0d\\x20\\xa0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]/g,\n commaSpaces = /[\\x09\\x0a\\x0b\\x0c\\x0d\\x20\\xa0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*,[\\x09\\x0a\\x0b\\x0c\\x0d\\x20\\xa0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*/,\n hsrg = {hs: 1, rg: 1},\n p2s = /,?([achlmqrstvxz]),?/gi,\n pathCommand = /([achlmrqstvz])[\\x09\\x0a\\x0b\\x0c\\x0d\\x20\\xa0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029,]*((-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?[\\x09\\x0a\\x0b\\x0c\\x0d\\x20\\xa0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*,?[\\x09\\x0a\\x0b\\x0c\\x0d\\x20\\xa0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*)+)/ig,\n tCommand = /([rstm])[\\x09\\x0a\\x0b\\x0c\\x0d\\x20\\xa0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029,]*((-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?[\\x09\\x0a\\x0b\\x0c\\x0d\\x20\\xa0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*,?[\\x09\\x0a\\x0b\\x0c\\x0d\\x20\\xa0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*)+)/ig,\n pathValues = /(-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?)[\\x09\\x0a\\x0b\\x0c\\x0d\\x20\\xa0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*,?[\\x09\\x0a\\x0b\\x0c\\x0d\\x20\\xa0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*/ig,\n radial_gradient = R._radial_gradient = /^r(?:\\(([^,]+?)[\\x09\\x0a\\x0b\\x0c\\x0d\\x20\\xa0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*,[\\x09\\x0a\\x0b\\x0c\\x0d\\x20\\xa0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*([^\\)]+?)\\))?/,\n eldata = {},\n sortByKey = function (a, b) {\n return a.key - b.key;\n },\n sortByNumber = function (a, b) {\n return toFloat(a) - toFloat(b);\n },\n fun = function () {},\n pipe = function (x) {\n return x;\n },\n rectPath = R._rectPath = function (x, y, w, h, r) {\n if (r) {\n return [[\"M\", x + r, y], [\"l\", w - r * 2, 0], [\"a\", r, r, 0, 0, 1, r, r], [\"l\", 0, h - r * 2], [\"a\", r, r, 0, 0, 1, -r, r], [\"l\", r * 2 - w, 0], [\"a\", r, r, 0, 0, 1, -r, -r], [\"l\", 0, r * 2 - h], [\"a\", r, r, 0, 0, 1, r, -r], [\"z\"]];\n }\n return [[\"M\", x, y], [\"l\", w, 0], [\"l\", 0, h], [\"l\", -w, 0], [\"z\"]];\n },\n ellipsePath = function (x, y, rx, ry) {\n if (ry == null) {\n ry = rx;\n }\n return [[\"M\", x, y], [\"m\", 0, -ry], [\"a\", rx, ry, 0, 1, 1, 0, 2 * ry], [\"a\", rx, ry, 0, 1, 1, 0, -2 * ry], [\"z\"]];\n },\n getPath = R._getPath = {\n path: function (el) {\n return el.attr(\"path\");\n },\n circle: function (el) {\n var a = el.attrs;\n return ellipsePath(a.cx, a.cy, a.r);\n },\n ellipse: function (el) {\n var a = el.attrs;\n return ellipsePath(a.cx, a.cy, a.rx, a.ry);\n },\n rect: function (el) {\n var a = el.attrs;\n return rectPath(a.x, a.y, a.width, a.height, a.r);\n },\n image: function (el) {\n var a = el.attrs;\n return rectPath(a.x, a.y, a.width, a.height);\n },\n text: function (el) {\n var bbox = el._getBBox();\n return rectPath(bbox.x, bbox.y, bbox.width, bbox.height);\n },\n set : function(el) {\n var bbox = el._getBBox();\n return rectPath(bbox.x, bbox.y, bbox.width, bbox.height);\n }\n },\n /*\\\n * Raphael.mapPath\n [ method ]\n **\n * Transform the path string with given matrix.\n > Parameters\n - path (string) path string\n - matrix (object) see @Matrix\n = (string) transformed path string\n \\*/\n mapPath = R.mapPath = function (path, matrix) {\n if (!matrix) {\n return path;\n }\n var x, y, i, j, ii, jj, pathi;\n path = path2curve(path);\n for (i = 0, ii = path.length; i < ii; i++) {\n pathi = path[i];\n for (j = 1, jj = pathi.length; j < jj; j += 2) {\n x = matrix.x(pathi[j], pathi[j + 1]);\n y = matrix.y(pathi[j], pathi[j + 1]);\n pathi[j] = x;\n pathi[j + 1] = y;\n }\n }\n return path;\n };\n\n R._g = g;\n /*\\\n * Raphael.type\n [ property (string) ]\n **\n * Can be “SVG”, “VML” or empty, depending on browser support.\n \\*/\n R.type = (g.win.SVGAngle || g.doc.implementation.hasFeature(\"http://www.w3.org/TR/SVG11/feature#BasicStructure\", \"1.1\") ? \"SVG\" : \"VML\");\n if (R.type == \"VML\") {\n var d = g.doc.createElement(\"div\"),\n b;\n d.innerHTML = '';\n b = d.firstChild;\n b.style.behavior = \"url(#default#VML)\";\n if (!(b && typeof b.adj == \"object\")) {\n return (R.type = E);\n }\n d = null;\n }\n /*\\\n * Raphael.svg\n [ property (boolean) ]\n **\n * `true` if browser supports SVG.\n \\*/\n /*\\\n * Raphael.vml\n [ property (boolean) ]\n **\n * `true` if browser supports VML.\n \\*/\n R.svg = !(R.vml = R.type == \"VML\");\n R._Paper = Paper;\n /*\\\n * Raphael.fn\n [ property (object) ]\n **\n * You can add your own method to the canvas. For example if you want to draw a pie chart,\n * you can create your own pie chart function and ship it as a Raphaël plugin. To do this\n * you need to extend the `Raphael.fn` object. You should modify the `fn` object before a\n * Raphaël instance is created, otherwise it will take no effect. Please note that the\n * ability for namespaced plugins was removed in Raphael 2.0. It is up to the plugin to\n * ensure any namespacing ensures proper context.\n > Usage\n | Raphael.fn.arrow = function (x1, y1, x2, y2, size) {\n | return this.path( ... );\n | };\n | // or create namespace\n | Raphael.fn.mystuff = {\n | arrow: function () {…},\n | star: function () {…},\n | // etc…\n | };\n | var paper = Raphael(10, 10, 630, 480);\n | // then use it\n | paper.arrow(10, 10, 30, 30, 5).attr({fill: \"#f00\"});\n | paper.mystuff.arrow();\n | paper.mystuff.star();\n \\*/\n R.fn = paperproto = Paper.prototype = R.prototype;\n R._id = 0;\n R._oid = 0;\n /*\\\n * Raphael.is\n [ method ]\n **\n * Handful of replacements for `typeof` operator.\n > Parameters\n - o (…) any object or primitive\n - type (string) name of the type, i.e. “string”, “function”, “number”, etc.\n = (boolean) is given value is of given type\n \\*/\n R.is = function (o, type) {\n type = lowerCase.call(type);\n if (type == \"finite\") {\n return !isnan[has](+o);\n }\n if (type == \"array\") {\n return o instanceof Array;\n }\n return (type == \"null\" && o === null) ||\n (type == typeof o && o !== null) ||\n (type == \"object\" && o === Object(o)) ||\n (type == \"array\" && Array.isArray && Array.isArray(o)) ||\n objectToString.call(o).slice(8, -1).toLowerCase() == type;\n };\n\n function clone(obj) {\n if (typeof obj == \"function\" || Object(obj) !== obj) {\n return obj;\n }\n var res = new obj.constructor;\n for (var key in obj) if (obj[has](key)) {\n res[key] = clone(obj[key]);\n }\n return res;\n }\n\n /*\\\n * Raphael.angle\n [ method ]\n **\n * Returns angle between two or three points\n > Parameters\n - x1 (number) x coord of first point\n - y1 (number) y coord of first point\n - x2 (number) x coord of second point\n - y2 (number) y coord of second point\n - x3 (number) #optional x coord of third point\n - y3 (number) #optional y coord of third point\n = (number) angle in degrees.\n \\*/\n R.angle = function (x1, y1, x2, y2, x3, y3) {\n if (x3 == null) {\n var x = x1 - x2,\n y = y1 - y2;\n if (!x && !y) {\n return 0;\n }\n return (180 + math.atan2(-y, -x) * 180 / PI + 360) % 360;\n } else {\n return R.angle(x1, y1, x3, y3) - R.angle(x2, y2, x3, y3);\n }\n };\n /*\\\n * Raphael.rad\n [ method ]\n **\n * Transform angle to radians\n > Parameters\n - deg (number) angle in degrees\n = (number) angle in radians.\n \\*/\n R.rad = function (deg) {\n return deg % 360 * PI / 180;\n };\n /*\\\n * Raphael.deg\n [ method ]\n **\n * Transform angle to degrees\n > Parameters\n - rad (number) angle in radians\n = (number) angle in degrees.\n \\*/\n R.deg = function (rad) {\n return Math.round ((rad * 180 / PI% 360)* 1000) / 1000;\n };\n /*\\\n * Raphael.snapTo\n [ method ]\n **\n * Snaps given value to given grid.\n > Parameters\n - values (array|number) given array of values or step of the grid\n - value (number) value to adjust\n - tolerance (number) #optional tolerance for snapping. Default is `10`.\n = (number) adjusted value.\n \\*/\n R.snapTo = function (values, value, tolerance) {\n tolerance = R.is(tolerance, \"finite\") ? tolerance : 10;\n if (R.is(values, array)) {\n var i = values.length;\n while (i--) if (abs(values[i] - value) <= tolerance) {\n return values[i];\n }\n } else {\n values = +values;\n var rem = value % values;\n if (rem < tolerance) {\n return value - rem;\n }\n if (rem > values - tolerance) {\n return value - rem + values;\n }\n }\n return value;\n };\n\n /*\\\n * Raphael.createUUID\n [ method ]\n **\n * Returns RFC4122, version 4 ID\n \\*/\n var createUUID = R.createUUID = (function (uuidRegEx, uuidReplacer) {\n return function () {\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(uuidRegEx, uuidReplacer).toUpperCase();\n };\n })(/[xy]/g, function (c) {\n var r = math.random() * 16 | 0,\n v = c == \"x\" ? r : (r & 3 | 8);\n return v.toString(16);\n });\n\n /*\\\n * Raphael.setWindow\n [ method ]\n **\n * Used when you need to draw in `<iframe>`. Switched window to the iframe one.\n > Parameters\n - newwin (window) new window object\n \\*/\n R.setWindow = function (newwin) {\n eve(\"raphael.setWindow\", R, g.win, newwin);\n g.win = newwin;\n g.doc = g.win.document;\n if (R._engine.initWin) {\n R._engine.initWin(g.win);\n }\n };\n var toHex = function (color) {\n if (R.vml) {\n // http://dean.edwards.name/weblog/2009/10/convert-any-colour-value-to-hex-in-msie/\n var trim = /^\\s+|\\s+$/g;\n var bod;\n try {\n var docum = new ActiveXObject(\"htmlfile\");\n docum.write(\"\");\n docum.close();\n bod = docum.body;\n } catch(e) {\n bod = createPopup().document.body;\n }\n var range = bod.createTextRange();\n toHex = cacher(function (color) {\n try {\n bod.style.color = Str(color).replace(trim, E);\n var value = range.queryCommandValue(\"ForeColor\");\n value = ((value & 255) << 16) | (value & 65280) | ((value & 16711680) >>> 16);\n return \"#\" + (\"000000\" + value.toString(16)).slice(-6);\n } catch(e) {\n return \"none\";\n }\n });\n } else {\n var i = g.doc.createElement(\"i\");\n i.title = \"Rapha\\xebl Colour Picker\";\n i.style.display = \"none\";\n g.doc.body.appendChild(i);\n toHex = cacher(function (color) {\n i.style.color = color;\n return g.doc.defaultView.getComputedStyle(i, E).getPropertyValue(\"color\");\n });\n }\n return toHex(color);\n },\n hsbtoString = function () {\n return \"hsb(\" + [this.h, this.s, this.b] + \")\";\n },\n hsltoString = function () {\n return \"hsl(\" + [this.h, this.s, this.l] + \")\";\n },\n rgbtoString = function () {\n return this.hex;\n },\n prepareRGB = function (r, g, b) {\n if (g == null && R.is(r, \"object\") && \"r\" in r && \"g\" in r && \"b\" in r) {\n b = r.b;\n g = r.g;\n r = r.r;\n }\n if (g == null && R.is(r, string)) {\n var clr = R.getRGB(r);\n r = clr.r;\n g = clr.g;\n b = clr.b;\n }\n if (r > 1 || g > 1 || b > 1) {\n r /= 255;\n g /= 255;\n b /= 255;\n }\n\n return [r, g, b];\n },\n packageRGB = function (r, g, b, o) {\n r *= 255;\n g *= 255;\n b *= 255;\n var rgb = {\n r: r,\n g: g,\n b: b,\n hex: R.rgb(r, g, b),\n toString: rgbtoString\n };\n R.is(o, \"finite\") && (rgb.opacity = o);\n return rgb;\n };\n\n /*\\\n * Raphael.color\n [ method ]\n **\n * Parses the color string and returns object with all values for the given color.\n > Parameters\n - clr (string) color string in one of the supported formats (see @Raphael.getRGB)\n = (object) Combined RGB & HSB object in format:\n o {\n o r (number) red,\n o g (number) green,\n o b (number) blue,\n o hex (string) color in HTML/CSS format: #••••••,\n o error (boolean) `true` if string can’t be parsed,\n o h (number) hue,\n o s (number) saturation,\n o v (number) value (brightness),\n o l (number) lightness\n o }\n \\*/\n R.color = function (clr) {\n var rgb;\n if (R.is(clr, \"object\") && \"h\" in clr && \"s\" in clr && \"b\" in clr) {\n rgb = R.hsb2rgb(clr);\n clr.r = rgb.r;\n clr.g = rgb.g;\n clr.b = rgb.b;\n clr.hex = rgb.hex;\n } else if (R.is(clr, \"object\") && \"h\" in clr && \"s\" in clr && \"l\" in clr) {\n rgb = R.hsl2rgb(clr);\n clr.r = rgb.r;\n clr.g = rgb.g;\n clr.b = rgb.b;\n clr.hex = rgb.hex;\n } else {\n if (R.is(clr, \"string\")) {\n clr = R.getRGB(clr);\n }\n if (R.is(clr, \"object\") && \"r\" in clr && \"g\" in clr && \"b\" in clr) {\n rgb = R.rgb2hsl(clr);\n clr.h = rgb.h;\n clr.s = rgb.s;\n clr.l = rgb.l;\n rgb = R.rgb2hsb(clr);\n clr.v = rgb.b;\n } else {\n clr = {hex: \"none\"};\n clr.r = clr.g = clr.b = clr.h = clr.s = clr.v = clr.l = -1;\n }\n }\n clr.toString = rgbtoString;\n return clr;\n };\n /*\\\n * Raphael.hsb2rgb\n [ method ]\n **\n * Converts HSB values to RGB object.\n > Parameters\n - h (number) hue\n - s (number) saturation\n - v (number) value or brightness\n = (object) RGB object in format:\n o {\n o r (number) red,\n o g (number) green,\n o b (number) blue,\n o hex (string) color in HTML/CSS format: #••••••\n o }\n \\*/\n R.hsb2rgb = function (h, s, v, o) {\n if (this.is(h, \"object\") && \"h\" in h && \"s\" in h && \"b\" in h) {\n v = h.b;\n s = h.s;\n o = h.o;\n h = h.h;\n }\n h *= 360;\n var R, G, B, X, C;\n h = (h % 360) / 60;\n C = v * s;\n X = C * (1 - abs(h % 2 - 1));\n R = G = B = v - C;\n\n h = ~~h;\n R += [C, X, 0, 0, X, C][h];\n G += [X, C, C, X, 0, 0][h];\n B += [0, 0, X, C, C, X][h];\n return packageRGB(R, G, B, o);\n };\n /*\\\n * Raphael.hsl2rgb\n [ method ]\n **\n * Converts HSL values to RGB object.\n > Parameters\n - h (number) hue\n - s (number) saturation\n - l (number) luminosity\n = (object) RGB object in format:\n o {\n o r (number) red,\n o g (number) green,\n o b (number) blue,\n o hex (string) color in HTML/CSS format: #••••••\n o }\n \\*/\n R.hsl2rgb = function (h, s, l, o) {\n if (this.is(h, \"object\") && \"h\" in h && \"s\" in h && \"l\" in h) {\n l = h.l;\n s = h.s;\n h = h.h;\n }\n if (h > 1 || s > 1 || l > 1) {\n h /= 360;\n s /= 100;\n l /= 100;\n }\n h *= 360;\n var R, G, B, X, C;\n h = (h % 360) / 60;\n C = 2 * s * (l < .5 ? l : 1 - l);\n X = C * (1 - abs(h % 2 - 1));\n R = G = B = l - C / 2;\n\n h = ~~h;\n R += [C, X, 0, 0, X, C][h];\n G += [X, C, C, X, 0, 0][h];\n B += [0, 0, X, C, C, X][h];\n return packageRGB(R, G, B, o);\n };\n /*\\\n * Raphael.rgb2hsb\n [ method ]\n **\n * Converts RGB values to HSB object.\n > Parameters\n - r (number) red\n - g (number) green\n - b (number) blue\n = (object) HSB object in format:\n o {\n o h (number) hue\n o s (number) saturation\n o b (number) brightness\n o }\n \\*/\n R.rgb2hsb = function (r, g, b) {\n b = prepareRGB(r, g, b);\n r = b[0];\n g = b[1];\n b = b[2];\n\n var H, S, V, C;\n V = mmax(r, g, b);\n C = V - mmin(r, g, b);\n H = (C == 0 ? null :\n V == r ? (g - b) / C :\n V == g ? (b - r) / C + 2 :\n (r - g) / C + 4\n );\n H = ((H + 360) % 6) * 60 / 360;\n S = C == 0 ? 0 : C / V;\n return {h: H, s: S, b: V, toString: hsbtoString};\n };\n /*\\\n * Raphael.rgb2hsl\n [ method ]\n **\n * Converts RGB values to HSL object.\n > Parameters\n - r (number) red\n - g (number) green\n - b (number) blue\n = (object) HSL object in format:\n o {\n o h (number) hue\n o s (number) saturation\n o l (number) luminosity\n o }\n \\*/\n R.rgb2hsl = function (r, g, b) {\n b = prepareRGB(r, g, b);\n r = b[0];\n g = b[1];\n b = b[2];\n\n var H, S, L, M, m, C;\n M = mmax(r, g, b);\n m = mmin(r, g, b);\n C = M - m;\n H = (C == 0 ? null :\n M == r ? (g - b) / C :\n M == g ? (b - r) / C + 2 :\n (r - g) / C + 4);\n H = ((H + 360) % 6) * 60 / 360;\n L = (M + m) / 2;\n S = (C == 0 ? 0 :\n L < .5 ? C / (2 * L) :\n C / (2 - 2 * L));\n return {h: H, s: S, l: L, toString: hsltoString};\n };\n R._path2string = function () {\n return this.join(\",\").replace(p2s, \"$1\");\n };\n function repush(array, item) {\n for (var i = 0, ii = array.length; i < ii; i++) if (array[i] === item) {\n return array.push(array.splice(i, 1)[0]);\n }\n }\n function cacher(f, scope, postprocessor) {\n function newf() {\n var arg = Array.prototype.slice.call(arguments, 0),\n args = arg.join(\"\\u2400\"),\n cache = newf.cache = newf.cache || {},\n count = newf.count = newf.count || [];\n if (cache[has](args)) {\n repush(count, args);\n return postprocessor ? postprocessor(cache[args]) : cache[args];\n }\n count.length >= 1e3 && delete cache[count.shift()];\n count.push(args);\n cache[args] = f[apply](scope, arg);\n return postprocessor ? postprocessor(cache[args]) : cache[args];\n }\n return newf;\n }\n\n var preload = R._preload = function (src, f) {\n var img = g.doc.createElement(\"img\");\n img.style.cssText = \"position:absolute;left:-9999em;top:-9999em\";\n img.onload = function () {\n f.call(this);\n this.onload = null;\n g.doc.body.removeChild(this);\n };\n img.onerror = function () {\n g.doc.body.removeChild(this);\n };\n g.doc.body.appendChild(img);\n img.src = src;\n };\n\n function clrToString() {\n return this.hex;\n }\n\n /*\\\n * Raphael.getRGB\n [ method ]\n **\n * Parses colour string as RGB object\n > Parameters\n - colour (string) colour string in one of formats:\n #
    \n #
  • Colour name (“red”, “green”, “cornflowerblue”, etc)
  • \n #
  • #••• — shortened HTML colour: (“#000”, “#fc0”, etc)
  • \n #
  • #•••••• — full length HTML colour: (“#000000”, “#bd2300”)
  • \n #
  • rgb(•••, •••, •••) — red, green and blue channels’ values: (“rgb(200, 100, 0)”)
  • \n #
  • rgb(•••%, •••%, •••%) — same as above, but in %: (“rgb(100%, 175%, 0%)”)
  • \n #
  • hsb(•••, •••, •••) — hue, saturation and brightness values: (“hsb(0.5, 0.25, 1)”)
  • \n #
  • hsb(•••%, •••%, •••%) — same as above, but in %
  • \n #
  • hsl(•••, •••, •••) — same as hsb
  • \n #
  • hsl(•••%, •••%, •••%) — same as hsb
  • \n #
\n = (object) RGB object in format:\n o {\n o r (number) red,\n o g (number) green,\n o b (number) blue\n o hex (string) color in HTML/CSS format: #••••••,\n o error (boolean) true if string can’t be parsed\n o }\n \\*/\n R.getRGB = cacher(function (colour) {\n if (!colour || !!((colour = Str(colour)).indexOf(\"-\") + 1)) {\n return {r: -1, g: -1, b: -1, hex: \"none\", error: 1, toString: clrToString};\n }\n if (colour == \"none\") {\n return {r: -1, g: -1, b: -1, hex: \"none\", toString: clrToString};\n }\n !(hsrg[has](colour.toLowerCase().substring(0, 2)) || colour.charAt() == \"#\") && (colour = toHex(colour));\n var res,\n red,\n green,\n blue,\n opacity,\n t,\n values,\n rgb = colour.match(colourRegExp);\n if (rgb) {\n if (rgb[2]) {\n blue = toInt(rgb[2].substring(5), 16);\n green = toInt(rgb[2].substring(3, 5), 16);\n red = toInt(rgb[2].substring(1, 3), 16);\n }\n if (rgb[3]) {\n blue = toInt((t = rgb[3].charAt(3)) + t, 16);\n green = toInt((t = rgb[3].charAt(2)) + t, 16);\n red = toInt((t = rgb[3].charAt(1)) + t, 16);\n }\n if (rgb[4]) {\n values = rgb[4][split](commaSpaces);\n red = toFloat(values[0]);\n values[0].slice(-1) == \"%\" && (red *= 2.55);\n green = toFloat(values[1]);\n values[1].slice(-1) == \"%\" && (green *= 2.55);\n blue = toFloat(values[2]);\n values[2].slice(-1) == \"%\" && (blue *= 2.55);\n rgb[1].toLowerCase().slice(0, 4) == \"rgba\" && (opacity = toFloat(values[3]));\n values[3] && values[3].slice(-1) == \"%\" && (opacity /= 100);\n }\n if (rgb[5]) {\n values = rgb[5][split](commaSpaces);\n red = toFloat(values[0]);\n values[0].slice(-1) == \"%\" && (red *= 2.55);\n green = toFloat(values[1]);\n values[1].slice(-1) == \"%\" && (green *= 2.55);\n blue = toFloat(values[2]);\n values[2].slice(-1) == \"%\" && (blue *= 2.55);\n (values[0].slice(-3) == \"deg\" || values[0].slice(-1) == \"\\xb0\") && (red /= 360);\n rgb[1].toLowerCase().slice(0, 4) == \"hsba\" && (opacity = toFloat(values[3]));\n values[3] && values[3].slice(-1) == \"%\" && (opacity /= 100);\n return R.hsb2rgb(red, green, blue, opacity);\n }\n if (rgb[6]) {\n values = rgb[6][split](commaSpaces);\n red = toFloat(values[0]);\n values[0].slice(-1) == \"%\" && (red *= 2.55);\n green = toFloat(values[1]);\n values[1].slice(-1) == \"%\" && (green *= 2.55);\n blue = toFloat(values[2]);\n values[2].slice(-1) == \"%\" && (blue *= 2.55);\n (values[0].slice(-3) == \"deg\" || values[0].slice(-1) == \"\\xb0\") && (red /= 360);\n rgb[1].toLowerCase().slice(0, 4) == \"hsla\" && (opacity = toFloat(values[3]));\n values[3] && values[3].slice(-1) == \"%\" && (opacity /= 100);\n return R.hsl2rgb(red, green, blue, opacity);\n }\n rgb = {r: red, g: green, b: blue, toString: clrToString};\n rgb.hex = \"#\" + (16777216 | blue | (green << 8) | (red << 16)).toString(16).slice(1);\n R.is(opacity, \"finite\") && (rgb.opacity = opacity);\n return rgb;\n }\n return {r: -1, g: -1, b: -1, hex: \"none\", error: 1, toString: clrToString};\n }, R);\n /*\\\n * Raphael.hsb\n [ method ]\n **\n * Converts HSB values to hex representation of the colour.\n > Parameters\n - h (number) hue\n - s (number) saturation\n - b (number) value or brightness\n = (string) hex representation of the colour.\n \\*/\n R.hsb = cacher(function (h, s, b) {\n return R.hsb2rgb(h, s, b).hex;\n });\n /*\\\n * Raphael.hsl\n [ method ]\n **\n * Converts HSL values to hex representation of the colour.\n > Parameters\n - h (number) hue\n - s (number) saturation\n - l (number) luminosity\n = (string) hex representation of the colour.\n \\*/\n R.hsl = cacher(function (h, s, l) {\n return R.hsl2rgb(h, s, l).hex;\n });\n /*\\\n * Raphael.rgb\n [ method ]\n **\n * Converts RGB values to hex representation of the colour.\n > Parameters\n - r (number) red\n - g (number) green\n - b (number) blue\n = (string) hex representation of the colour.\n \\*/\n R.rgb = cacher(function (r, g, b) {\n return \"#\" + (16777216 | b | (g << 8) | (r << 16)).toString(16).slice(1);\n });\n /*\\\n * Raphael.getColor\n [ method ]\n **\n * On each call returns next colour in the spectrum. To reset it back to red call @Raphael.getColor.reset\n > Parameters\n - value (number) #optional brightness, default is `0.75`\n = (string) hex representation of the colour.\n \\*/\n R.getColor = function (value) {\n var start = this.getColor.start = this.getColor.start || {h: 0, s: 1, b: value || .75},\n rgb = this.hsb2rgb(start.h, start.s, start.b);\n start.h += .075;\n if (start.h > 1) {\n start.h = 0;\n start.s -= .2;\n start.s <= 0 && (this.getColor.start = {h: 0, s: 1, b: start.b});\n }\n return rgb.hex;\n };\n /*\\\n * Raphael.getColor.reset\n [ method ]\n **\n * Resets spectrum position for @Raphael.getColor back to red.\n \\*/\n R.getColor.reset = function () {\n delete this.start;\n };\n\n // http://schepers.cc/getting-to-the-point\n function catmullRom2bezier(crp, z) {\n var d = [];\n for (var i = 0, iLen = crp.length; iLen - 2 * !z > i; i += 2) {\n var p = [\n {x: +crp[i - 2], y: +crp[i - 1]},\n {x: +crp[i], y: +crp[i + 1]},\n {x: +crp[i + 2], y: +crp[i + 3]},\n {x: +crp[i + 4], y: +crp[i + 5]}\n ];\n if (z) {\n if (!i) {\n p[0] = {x: +crp[iLen - 2], y: +crp[iLen - 1]};\n } else if (iLen - 4 == i) {\n p[3] = {x: +crp[0], y: +crp[1]};\n } else if (iLen - 2 == i) {\n p[2] = {x: +crp[0], y: +crp[1]};\n p[3] = {x: +crp[2], y: +crp[3]};\n }\n } else {\n if (iLen - 4 == i) {\n p[3] = p[2];\n } else if (!i) {\n p[0] = {x: +crp[i], y: +crp[i + 1]};\n }\n }\n d.push([\"C\",\n (-p[0].x + 6 * p[1].x + p[2].x) / 6,\n (-p[0].y + 6 * p[1].y + p[2].y) / 6,\n (p[1].x + 6 * p[2].x - p[3].x) / 6,\n (p[1].y + 6*p[2].y - p[3].y) / 6,\n p[2].x,\n p[2].y\n ]);\n }\n\n return d;\n }\n /*\\\n * Raphael.parsePathString\n [ method ]\n **\n * Utility method\n **\n * Parses given path string into an array of arrays of path segments.\n > Parameters\n - pathString (string|array) path string or array of segments (in the last case it will be returned straight away)\n = (array) array of segments.\n \\*/\n R.parsePathString = function (pathString) {\n if (!pathString) {\n return null;\n }\n var pth = paths(pathString);\n if (pth.arr) {\n return pathClone(pth.arr);\n }\n\n var paramCounts = {a: 7, c: 6, h: 1, l: 2, m: 2, r: 4, q: 4, s: 4, t: 2, v: 1, z: 0},\n data = [];\n if (R.is(pathString, array) && R.is(pathString[0], array)) { // rough assumption\n data = pathClone(pathString);\n }\n if (!data.length) {\n Str(pathString).replace(pathCommand, function (a, b, c) {\n var params = [],\n name = b.toLowerCase();\n c.replace(pathValues, function (a, b) {\n b && params.push(+b);\n });\n if (name == \"m\" && params.length > 2) {\n data.push([b][concat](params.splice(0, 2)));\n name = \"l\";\n b = b == \"m\" ? \"l\" : \"L\";\n }\n if (name == \"r\") {\n data.push([b][concat](params));\n } else while (params.length >= paramCounts[name]) {\n data.push([b][concat](params.splice(0, paramCounts[name])));\n if (!paramCounts[name]) {\n break;\n }\n }\n });\n }\n data.toString = R._path2string;\n pth.arr = pathClone(data);\n return data;\n };\n /*\\\n * Raphael.parseTransformString\n [ method ]\n **\n * Utility method\n **\n * Parses given path string into an array of transformations.\n > Parameters\n - TString (string|array) transform string or array of transformations (in the last case it will be returned straight away)\n = (array) array of transformations.\n \\*/\n R.parseTransformString = cacher(function (TString) {\n if (!TString) {\n return null;\n }\n var paramCounts = {r: 3, s: 4, t: 2, m: 6},\n data = [];\n if (R.is(TString, array) && R.is(TString[0], array)) { // rough assumption\n data = pathClone(TString);\n }\n if (!data.length) {\n Str(TString).replace(tCommand, function (a, b, c) {\n var params = [],\n name = lowerCase.call(b);\n c.replace(pathValues, function (a, b) {\n b && params.push(+b);\n });\n data.push([b][concat](params));\n });\n }\n data.toString = R._path2string;\n return data;\n });\n // PATHS\n var paths = function (ps) {\n var p = paths.ps = paths.ps || {};\n if (p[ps]) {\n p[ps].sleep = 100;\n } else {\n p[ps] = {\n sleep: 100\n };\n }\n setTimeout(function () {\n for (var key in p) if (p[has](key) && key != ps) {\n p[key].sleep--;\n !p[key].sleep && delete p[key];\n }\n });\n return p[ps];\n };\n /*\\\n * Raphael.findDotsAtSegment\n [ method ]\n **\n * Utility method\n **\n * Find dot coordinates on the given cubic bezier curve at the given t.\n > Parameters\n - p1x (number) x of the first point of the curve\n - p1y (number) y of the first point of the curve\n - c1x (number) x of the first anchor of the curve\n - c1y (number) y of the first anchor of the curve\n - c2x (number) x of the second anchor of the curve\n - c2y (number) y of the second anchor of the curve\n - p2x (number) x of the second point of the curve\n - p2y (number) y of the second point of the curve\n - t (number) position on the curve (0..1)\n = (object) point information in format:\n o {\n o x: (number) x coordinate of the point\n o y: (number) y coordinate of the point\n o m: {\n o x: (number) x coordinate of the left anchor\n o y: (number) y coordinate of the left anchor\n o }\n o n: {\n o x: (number) x coordinate of the right anchor\n o y: (number) y coordinate of the right anchor\n o }\n o start: {\n o x: (number) x coordinate of the start of the curve\n o y: (number) y coordinate of the start of the curve\n o }\n o end: {\n o x: (number) x coordinate of the end of the curve\n o y: (number) y coordinate of the end of the curve\n o }\n o alpha: (number) angle of the curve derivative at the point\n o }\n \\*/\n R.findDotsAtSegment = function (p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, t) {\n var t1 = 1 - t,\n t13 = pow(t1, 3),\n t12 = pow(t1, 2),\n t2 = t * t,\n t3 = t2 * t,\n x = t13 * p1x + t12 * 3 * t * c1x + t1 * 3 * t * t * c2x + t3 * p2x,\n y = t13 * p1y + t12 * 3 * t * c1y + t1 * 3 * t * t * c2y + t3 * p2y,\n mx = p1x + 2 * t * (c1x - p1x) + t2 * (c2x - 2 * c1x + p1x),\n my = p1y + 2 * t * (c1y - p1y) + t2 * (c2y - 2 * c1y + p1y),\n nx = c1x + 2 * t * (c2x - c1x) + t2 * (p2x - 2 * c2x + c1x),\n ny = c1y + 2 * t * (c2y - c1y) + t2 * (p2y - 2 * c2y + c1y),\n ax = t1 * p1x + t * c1x,\n ay = t1 * p1y + t * c1y,\n cx = t1 * c2x + t * p2x,\n cy = t1 * c2y + t * p2y,\n alpha = (90 - math.atan2(mx - nx, my - ny) * 180 / PI);\n (mx > nx || my < ny) && (alpha += 180);\n return {\n x: x,\n y: y,\n m: {x: mx, y: my},\n n: {x: nx, y: ny},\n start: {x: ax, y: ay},\n end: {x: cx, y: cy},\n alpha: alpha\n };\n };\n /*\\\n * Raphael.bezierBBox\n [ method ]\n **\n * Utility method\n **\n * Return bounding box of a given cubic bezier curve\n > Parameters\n - p1x (number) x of the first point of the curve\n - p1y (number) y of the first point of the curve\n - c1x (number) x of the first anchor of the curve\n - c1y (number) y of the first anchor of the curve\n - c2x (number) x of the second anchor of the curve\n - c2y (number) y of the second anchor of the curve\n - p2x (number) x of the second point of the curve\n - p2y (number) y of the second point of the curve\n * or\n - bez (array) array of six points for bezier curve\n = (object) point information in format:\n o {\n o min: {\n o x: (number) x coordinate of the left point\n o y: (number) y coordinate of the top point\n o }\n o max: {\n o x: (number) x coordinate of the right point\n o y: (number) y coordinate of the bottom point\n o }\n o }\n \\*/\n R.bezierBBox = function (p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y) {\n if (!R.is(p1x, \"array\")) {\n p1x = [p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y];\n }\n var bbox = curveDim.apply(null, p1x);\n return {\n x: bbox.min.x,\n y: bbox.min.y,\n x2: bbox.max.x,\n y2: bbox.max.y,\n width: bbox.max.x - bbox.min.x,\n height: bbox.max.y - bbox.min.y\n };\n };\n /*\\\n * Raphael.isPointInsideBBox\n [ method ]\n **\n * Utility method\n **\n * Returns `true` if given point is inside bounding boxes.\n > Parameters\n - bbox (string) bounding box\n - x (string) x coordinate of the point\n - y (string) y coordinate of the point\n = (boolean) `true` if point inside\n \\*/\n R.isPointInsideBBox = function (bbox, x, y) {\n return x >= bbox.x && x <= bbox.x2 && y >= bbox.y && y <= bbox.y2;\n };\n /*\\\n * Raphael.isBBoxIntersect\n [ method ]\n **\n * Utility method\n **\n * Returns `true` if two bounding boxes intersect\n > Parameters\n - bbox1 (string) first bounding box\n - bbox2 (string) second bounding box\n = (boolean) `true` if they intersect\n \\*/\n R.isBBoxIntersect = function (bbox1, bbox2) {\n var i = R.isPointInsideBBox;\n return i(bbox2, bbox1.x, bbox1.y)\n || i(bbox2, bbox1.x2, bbox1.y)\n || i(bbox2, bbox1.x, bbox1.y2)\n || i(bbox2, bbox1.x2, bbox1.y2)\n || i(bbox1, bbox2.x, bbox2.y)\n || i(bbox1, bbox2.x2, bbox2.y)\n || i(bbox1, bbox2.x, bbox2.y2)\n || i(bbox1, bbox2.x2, bbox2.y2)\n || (bbox1.x < bbox2.x2 && bbox1.x > bbox2.x || bbox2.x < bbox1.x2 && bbox2.x > bbox1.x)\n && (bbox1.y < bbox2.y2 && bbox1.y > bbox2.y || bbox2.y < bbox1.y2 && bbox2.y > bbox1.y);\n };\n function base3(t, p1, p2, p3, p4) {\n var t1 = -3 * p1 + 9 * p2 - 9 * p3 + 3 * p4,\n t2 = t * t1 + 6 * p1 - 12 * p2 + 6 * p3;\n return t * t2 - 3 * p1 + 3 * p2;\n }\n function bezlen(x1, y1, x2, y2, x3, y3, x4, y4, z) {\n if (z == null) {\n z = 1;\n }\n z = z > 1 ? 1 : z < 0 ? 0 : z;\n var z2 = z / 2,\n n = 12,\n Tvalues = [-0.1252,0.1252,-0.3678,0.3678,-0.5873,0.5873,-0.7699,0.7699,-0.9041,0.9041,-0.9816,0.9816],\n Cvalues = [0.2491,0.2491,0.2335,0.2335,0.2032,0.2032,0.1601,0.1601,0.1069,0.1069,0.0472,0.0472],\n sum = 0;\n for (var i = 0; i < n; i++) {\n var ct = z2 * Tvalues[i] + z2,\n xbase = base3(ct, x1, x2, x3, x4),\n ybase = base3(ct, y1, y2, y3, y4),\n comb = xbase * xbase + ybase * ybase;\n sum += Cvalues[i] * math.sqrt(comb);\n }\n return z2 * sum;\n }\n function getTatLen(x1, y1, x2, y2, x3, y3, x4, y4, ll) {\n if (ll < 0 || bezlen(x1, y1, x2, y2, x3, y3, x4, y4) < ll) {\n return;\n }\n var t = 1,\n step = t / 2,\n t2 = t - step,\n l,\n e = .01;\n l = bezlen(x1, y1, x2, y2, x3, y3, x4, y4, t2);\n while (abs(l - ll) > e) {\n step /= 2;\n t2 += (l < ll ? 1 : -1) * step;\n l = bezlen(x1, y1, x2, y2, x3, y3, x4, y4, t2);\n }\n return t2;\n }\n function intersect(x1, y1, x2, y2, x3, y3, x4, y4) {\n if (\n mmax(x1, x2) < mmin(x3, x4) ||\n mmin(x1, x2) > mmax(x3, x4) ||\n mmax(y1, y2) < mmin(y3, y4) ||\n mmin(y1, y2) > mmax(y3, y4)\n ) {\n return;\n }\n var nx = (x1 * y2 - y1 * x2) * (x3 - x4) - (x1 - x2) * (x3 * y4 - y3 * x4),\n ny = (x1 * y2 - y1 * x2) * (y3 - y4) - (y1 - y2) * (x3 * y4 - y3 * x4),\n denominator = (x1 - x2) * (y3 - y4) - (y1 - y2) * (x3 - x4);\n\n if (!denominator) {\n return;\n }\n var px = nx / denominator,\n py = ny / denominator,\n px2 = +px.toFixed(2),\n py2 = +py.toFixed(2);\n if (\n px2 < +mmin(x1, x2).toFixed(2) ||\n px2 > +mmax(x1, x2).toFixed(2) ||\n px2 < +mmin(x3, x4).toFixed(2) ||\n px2 > +mmax(x3, x4).toFixed(2) ||\n py2 < +mmin(y1, y2).toFixed(2) ||\n py2 > +mmax(y1, y2).toFixed(2) ||\n py2 < +mmin(y3, y4).toFixed(2) ||\n py2 > +mmax(y3, y4).toFixed(2)\n ) {\n return;\n }\n return {x: px, y: py};\n }\n function inter(bez1, bez2) {\n return interHelper(bez1, bez2);\n }\n function interCount(bez1, bez2) {\n return interHelper(bez1, bez2, 1);\n }\n function interHelper(bez1, bez2, justCount) {\n var bbox1 = R.bezierBBox(bez1),\n bbox2 = R.bezierBBox(bez2);\n if (!R.isBBoxIntersect(bbox1, bbox2)) {\n return justCount ? 0 : [];\n }\n var l1 = bezlen.apply(0, bez1),\n l2 = bezlen.apply(0, bez2),\n n1 = mmax(~~(l1 / 5), 1),\n n2 = mmax(~~(l2 / 5), 1),\n dots1 = [],\n dots2 = [],\n xy = {},\n res = justCount ? 0 : [];\n for (var i = 0; i < n1 + 1; i++) {\n var p = R.findDotsAtSegment.apply(R, bez1.concat(i / n1));\n dots1.push({x: p.x, y: p.y, t: i / n1});\n }\n for (i = 0; i < n2 + 1; i++) {\n p = R.findDotsAtSegment.apply(R, bez2.concat(i / n2));\n dots2.push({x: p.x, y: p.y, t: i / n2});\n }\n for (i = 0; i < n1; i++) {\n for (var j = 0; j < n2; j++) {\n var di = dots1[i],\n di1 = dots1[i + 1],\n dj = dots2[j],\n dj1 = dots2[j + 1],\n ci = abs(di1.x - di.x) < .001 ? \"y\" : \"x\",\n cj = abs(dj1.x - dj.x) < .001 ? \"y\" : \"x\",\n is = intersect(di.x, di.y, di1.x, di1.y, dj.x, dj.y, dj1.x, dj1.y);\n if (is) {\n if (xy[is.x.toFixed(4)] == is.y.toFixed(4)) {\n continue;\n }\n xy[is.x.toFixed(4)] = is.y.toFixed(4);\n var t1 = di.t + abs((is[ci] - di[ci]) / (di1[ci] - di[ci])) * (di1.t - di.t),\n t2 = dj.t + abs((is[cj] - dj[cj]) / (dj1[cj] - dj[cj])) * (dj1.t - dj.t);\n if (t1 >= 0 && t1 <= 1.001 && t2 >= 0 && t2 <= 1.001) {\n if (justCount) {\n res++;\n } else {\n res.push({\n x: is.x,\n y: is.y,\n t1: mmin(t1, 1),\n t2: mmin(t2, 1)\n });\n }\n }\n }\n }\n }\n return res;\n }\n /*\\\n * Raphael.pathIntersection\n [ method ]\n **\n * Utility method\n **\n * Finds intersections of two paths\n > Parameters\n - path1 (string) path string\n - path2 (string) path string\n = (array) dots of intersection\n o [\n o {\n o x: (number) x coordinate of the point\n o y: (number) y coordinate of the point\n o t1: (number) t value for segment of path1\n o t2: (number) t value for segment of path2\n o segment1: (number) order number for segment of path1\n o segment2: (number) order number for segment of path2\n o bez1: (array) eight coordinates representing beziér curve for the segment of path1\n o bez2: (array) eight coordinates representing beziér curve for the segment of path2\n o }\n o ]\n \\*/\n R.pathIntersection = function (path1, path2) {\n return interPathHelper(path1, path2);\n };\n R.pathIntersectionNumber = function (path1, path2) {\n return interPathHelper(path1, path2, 1);\n };\n function interPathHelper(path1, path2, justCount) {\n path1 = R._path2curve(path1);\n path2 = R._path2curve(path2);\n var x1, y1, x2, y2, x1m, y1m, x2m, y2m, bez1, bez2,\n res = justCount ? 0 : [];\n for (var i = 0, ii = path1.length; i < ii; i++) {\n var pi = path1[i];\n if (pi[0] == \"M\") {\n x1 = x1m = pi[1];\n y1 = y1m = pi[2];\n } else {\n if (pi[0] == \"C\") {\n bez1 = [x1, y1].concat(pi.slice(1));\n x1 = bez1[6];\n y1 = bez1[7];\n } else {\n bez1 = [x1, y1, x1, y1, x1m, y1m, x1m, y1m];\n x1 = x1m;\n y1 = y1m;\n }\n for (var j = 0, jj = path2.length; j < jj; j++) {\n var pj = path2[j];\n if (pj[0] == \"M\") {\n x2 = x2m = pj[1];\n y2 = y2m = pj[2];\n } else {\n if (pj[0] == \"C\") {\n bez2 = [x2, y2].concat(pj.slice(1));\n x2 = bez2[6];\n y2 = bez2[7];\n } else {\n bez2 = [x2, y2, x2, y2, x2m, y2m, x2m, y2m];\n x2 = x2m;\n y2 = y2m;\n }\n var intr = interHelper(bez1, bez2, justCount);\n if (justCount) {\n res += intr;\n } else {\n for (var k = 0, kk = intr.length; k < kk; k++) {\n intr[k].segment1 = i;\n intr[k].segment2 = j;\n intr[k].bez1 = bez1;\n intr[k].bez2 = bez2;\n }\n res = res.concat(intr);\n }\n }\n }\n }\n }\n return res;\n }\n /*\\\n * Raphael.isPointInsidePath\n [ method ]\n **\n * Utility method\n **\n * Returns `true` if given point is inside a given closed path.\n > Parameters\n - path (string) path string\n - x (number) x of the point\n - y (number) y of the point\n = (boolean) true, if point is inside the path\n \\*/\n R.isPointInsidePath = function (path, x, y) {\n var bbox = R.pathBBox(path);\n return R.isPointInsideBBox(bbox, x, y) &&\n interPathHelper(path, [[\"M\", x, y], [\"H\", bbox.x2 + 10]], 1) % 2 == 1;\n };\n R._removedFactory = function (methodname) {\n return function () {\n eve(\"raphael.log\", null, \"Rapha\\xebl: you are calling to method \\u201c\" + methodname + \"\\u201d of removed object\", methodname);\n };\n };\n /*\\\n * Raphael.pathBBox\n [ method ]\n **\n * Utility method\n **\n * Return bounding box of a given path\n > Parameters\n - path (string) path string\n = (object) bounding box\n o {\n o x: (number) x coordinate of the left top point of the box\n o y: (number) y coordinate of the left top point of the box\n o x2: (number) x coordinate of the right bottom point of the box\n o y2: (number) y coordinate of the right bottom point of the box\n o width: (number) width of the box\n o height: (number) height of the box\n o cx: (number) x coordinate of the center of the box\n o cy: (number) y coordinate of the center of the box\n o }\n \\*/\n var pathDimensions = R.pathBBox = function (path) {\n var pth = paths(path);\n if (pth.bbox) {\n return clone(pth.bbox);\n }\n if (!path) {\n return {x: 0, y: 0, width: 0, height: 0, x2: 0, y2: 0};\n }\n path = path2curve(path);\n var x = 0,\n y = 0,\n X = [],\n Y = [],\n p;\n for (var i = 0, ii = path.length; i < ii; i++) {\n p = path[i];\n if (p[0] == \"M\") {\n x = p[1];\n y = p[2];\n X.push(x);\n Y.push(y);\n } else {\n var dim = curveDim(x, y, p[1], p[2], p[3], p[4], p[5], p[6]);\n X = X[concat](dim.min.x, dim.max.x);\n Y = Y[concat](dim.min.y, dim.max.y);\n x = p[5];\n y = p[6];\n }\n }\n var xmin = mmin[apply](0, X),\n ymin = mmin[apply](0, Y),\n xmax = mmax[apply](0, X),\n ymax = mmax[apply](0, Y),\n width = xmax - xmin,\n height = ymax - ymin,\n bb = {\n x: xmin,\n y: ymin,\n x2: xmax,\n y2: ymax,\n width: width,\n height: height,\n cx: xmin + width / 2,\n cy: ymin + height / 2\n };\n pth.bbox = clone(bb);\n return bb;\n },\n pathClone = function (pathArray) {\n var res = clone(pathArray);\n res.toString = R._path2string;\n return res;\n },\n pathToRelative = R._pathToRelative = function (pathArray) {\n var pth = paths(pathArray);\n if (pth.rel) {\n return pathClone(pth.rel);\n }\n if (!R.is(pathArray, array) || !R.is(pathArray && pathArray[0], array)) { // rough assumption\n pathArray = R.parsePathString(pathArray);\n }\n var res = [],\n x = 0,\n y = 0,\n mx = 0,\n my = 0,\n start = 0;\n if (pathArray[0][0] == \"M\") {\n x = pathArray[0][1];\n y = pathArray[0][2];\n mx = x;\n my = y;\n start++;\n res.push([\"M\", x, y]);\n }\n for (var i = start, ii = pathArray.length; i < ii; i++) {\n var r = res[i] = [],\n pa = pathArray[i];\n if (pa[0] != lowerCase.call(pa[0])) {\n r[0] = lowerCase.call(pa[0]);\n switch (r[0]) {\n case \"a\":\n r[1] = pa[1];\n r[2] = pa[2];\n r[3] = pa[3];\n r[4] = pa[4];\n r[5] = pa[5];\n r[6] = +(pa[6] - x).toFixed(3);\n r[7] = +(pa[7] - y).toFixed(3);\n break;\n case \"v\":\n r[1] = +(pa[1] - y).toFixed(3);\n break;\n case \"m\":\n mx = pa[1];\n my = pa[2];\n default:\n for (var j = 1, jj = pa.length; j < jj; j++) {\n r[j] = +(pa[j] - ((j % 2) ? x : y)).toFixed(3);\n }\n }\n } else {\n r = res[i] = [];\n if (pa[0] == \"m\") {\n mx = pa[1] + x;\n my = pa[2] + y;\n }\n for (var k = 0, kk = pa.length; k < kk; k++) {\n res[i][k] = pa[k];\n }\n }\n var len = res[i].length;\n switch (res[i][0]) {\n case \"z\":\n x = mx;\n y = my;\n break;\n case \"h\":\n x += +res[i][len - 1];\n break;\n case \"v\":\n y += +res[i][len - 1];\n break;\n default:\n x += +res[i][len - 2];\n y += +res[i][len - 1];\n }\n }\n res.toString = R._path2string;\n pth.rel = pathClone(res);\n return res;\n },\n pathToAbsolute = R._pathToAbsolute = function (pathArray) {\n var pth = paths(pathArray);\n if (pth.abs) {\n return pathClone(pth.abs);\n }\n if (!R.is(pathArray, array) || !R.is(pathArray && pathArray[0], array)) { // rough assumption\n pathArray = R.parsePathString(pathArray);\n }\n if (!pathArray || !pathArray.length) {\n return [[\"M\", 0, 0]];\n }\n var res = [],\n x = 0,\n y = 0,\n mx = 0,\n my = 0,\n start = 0;\n if (pathArray[0][0] == \"M\") {\n x = +pathArray[0][1];\n y = +pathArray[0][2];\n mx = x;\n my = y;\n start++;\n res[0] = [\"M\", x, y];\n }\n var crz = pathArray.length == 3 && pathArray[0][0] == \"M\" && pathArray[1][0].toUpperCase() == \"R\" && pathArray[2][0].toUpperCase() == \"Z\";\n for (var r, pa, i = start, ii = pathArray.length; i < ii; i++) {\n res.push(r = []);\n pa = pathArray[i];\n if (pa[0] != upperCase.call(pa[0])) {\n r[0] = upperCase.call(pa[0]);\n switch (r[0]) {\n case \"A\":\n r[1] = pa[1];\n r[2] = pa[2];\n r[3] = pa[3];\n r[4] = pa[4];\n r[5] = pa[5];\n r[6] = +(pa[6] + x);\n r[7] = +(pa[7] + y);\n break;\n case \"V\":\n r[1] = +pa[1] + y;\n break;\n case \"H\":\n r[1] = +pa[1] + x;\n break;\n case \"R\":\n var dots = [x, y][concat](pa.slice(1));\n for (var j = 2, jj = dots.length; j < jj; j++) {\n dots[j] = +dots[j] + x;\n dots[++j] = +dots[j] + y;\n }\n res.pop();\n res = res[concat](catmullRom2bezier(dots, crz));\n break;\n case \"M\":\n mx = +pa[1] + x;\n my = +pa[2] + y;\n default:\n for (j = 1, jj = pa.length; j < jj; j++) {\n r[j] = +pa[j] + ((j % 2) ? x : y);\n }\n }\n } else if (pa[0] == \"R\") {\n dots = [x, y][concat](pa.slice(1));\n res.pop();\n res = res[concat](catmullRom2bezier(dots, crz));\n r = [\"R\"][concat](pa.slice(-2));\n } else {\n for (var k = 0, kk = pa.length; k < kk; k++) {\n r[k] = pa[k];\n }\n }\n switch (r[0]) {\n case \"Z\":\n x = mx;\n y = my;\n break;\n case \"H\":\n x = r[1];\n break;\n case \"V\":\n y = r[1];\n break;\n case \"M\":\n mx = r[r.length - 2];\n my = r[r.length - 1];\n default:\n x = r[r.length - 2];\n y = r[r.length - 1];\n }\n }\n res.toString = R._path2string;\n pth.abs = pathClone(res);\n return res;\n },\n l2c = function (x1, y1, x2, y2) {\n return [x1, y1, x2, y2, x2, y2];\n },\n q2c = function (x1, y1, ax, ay, x2, y2) {\n var _13 = 1 / 3,\n _23 = 2 / 3;\n return [\n _13 * x1 + _23 * ax,\n _13 * y1 + _23 * ay,\n _13 * x2 + _23 * ax,\n _13 * y2 + _23 * ay,\n x2,\n y2\n ];\n },\n a2c = function (x1, y1, rx, ry, angle, large_arc_flag, sweep_flag, x2, y2, recursive) {\n // for more information of where this math came from visit:\n // http://www.w3.org/TR/SVG11/implnote.html#ArcImplementationNotes\n var _120 = PI * 120 / 180,\n rad = PI / 180 * (+angle || 0),\n res = [],\n xy,\n rotate = cacher(function (x, y, rad) {\n var X = x * math.cos(rad) - y * math.sin(rad),\n Y = x * math.sin(rad) + y * math.cos(rad);\n return {x: X, y: Y};\n });\n if (!recursive) {\n xy = rotate(x1, y1, -rad);\n x1 = xy.x;\n y1 = xy.y;\n xy = rotate(x2, y2, -rad);\n x2 = xy.x;\n y2 = xy.y;\n var cos = math.cos(PI / 180 * angle),\n sin = math.sin(PI / 180 * angle),\n x = (x1 - x2) / 2,\n y = (y1 - y2) / 2;\n var h = (x * x) / (rx * rx) + (y * y) / (ry * ry);\n if (h > 1) {\n h = math.sqrt(h);\n rx = h * rx;\n ry = h * ry;\n }\n var rx2 = rx * rx,\n ry2 = ry * ry,\n k = (large_arc_flag == sweep_flag ? -1 : 1) *\n math.sqrt(abs((rx2 * ry2 - rx2 * y * y - ry2 * x * x) / (rx2 * y * y + ry2 * x * x))),\n cx = k * rx * y / ry + (x1 + x2) / 2,\n cy = k * -ry * x / rx + (y1 + y2) / 2,\n f1 = math.asin(((y1 - cy) / ry).toFixed(9)),\n f2 = math.asin(((y2 - cy) / ry).toFixed(9));\n\n f1 = x1 < cx ? PI - f1 : f1;\n f2 = x2 < cx ? PI - f2 : f2;\n f1 < 0 && (f1 = PI * 2 + f1);\n f2 < 0 && (f2 = PI * 2 + f2);\n if (sweep_flag && f1 > f2) {\n f1 = f1 - PI * 2;\n }\n if (!sweep_flag && f2 > f1) {\n f2 = f2 - PI * 2;\n }\n } else {\n f1 = recursive[0];\n f2 = recursive[1];\n cx = recursive[2];\n cy = recursive[3];\n }\n var df = f2 - f1;\n if (abs(df) > _120) {\n var f2old = f2,\n x2old = x2,\n y2old = y2;\n f2 = f1 + _120 * (sweep_flag && f2 > f1 ? 1 : -1);\n x2 = cx + rx * math.cos(f2);\n y2 = cy + ry * math.sin(f2);\n res = a2c(x2, y2, rx, ry, angle, 0, sweep_flag, x2old, y2old, [f2, f2old, cx, cy]);\n }\n df = f2 - f1;\n var c1 = math.cos(f1),\n s1 = math.sin(f1),\n c2 = math.cos(f2),\n s2 = math.sin(f2),\n t = math.tan(df / 4),\n hx = 4 / 3 * rx * t,\n hy = 4 / 3 * ry * t,\n m1 = [x1, y1],\n m2 = [x1 + hx * s1, y1 - hy * c1],\n m3 = [x2 + hx * s2, y2 - hy * c2],\n m4 = [x2, y2];\n m2[0] = 2 * m1[0] - m2[0];\n m2[1] = 2 * m1[1] - m2[1];\n if (recursive) {\n return [m2, m3, m4][concat](res);\n } else {\n res = [m2, m3, m4][concat](res).join()[split](\",\");\n var newres = [];\n for (var i = 0, ii = res.length; i < ii; i++) {\n newres[i] = i % 2 ? rotate(res[i - 1], res[i], rad).y : rotate(res[i], res[i + 1], rad).x;\n }\n return newres;\n }\n },\n findDotAtSegment = function (p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, t) {\n var t1 = 1 - t;\n return {\n x: pow(t1, 3) * p1x + pow(t1, 2) * 3 * t * c1x + t1 * 3 * t * t * c2x + pow(t, 3) * p2x,\n y: pow(t1, 3) * p1y + pow(t1, 2) * 3 * t * c1y + t1 * 3 * t * t * c2y + pow(t, 3) * p2y\n };\n },\n curveDim = cacher(function (p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y) {\n var a = (c2x - 2 * c1x + p1x) - (p2x - 2 * c2x + c1x),\n b = 2 * (c1x - p1x) - 2 * (c2x - c1x),\n c = p1x - c1x,\n t1 = (-b + math.sqrt(b * b - 4 * a * c)) / 2 / a,\n t2 = (-b - math.sqrt(b * b - 4 * a * c)) / 2 / a,\n y = [p1y, p2y],\n x = [p1x, p2x],\n dot;\n abs(t1) > \"1e12\" && (t1 = .5);\n abs(t2) > \"1e12\" && (t2 = .5);\n if (t1 > 0 && t1 < 1) {\n dot = findDotAtSegment(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, t1);\n x.push(dot.x);\n y.push(dot.y);\n }\n if (t2 > 0 && t2 < 1) {\n dot = findDotAtSegment(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, t2);\n x.push(dot.x);\n y.push(dot.y);\n }\n a = (c2y - 2 * c1y + p1y) - (p2y - 2 * c2y + c1y);\n b = 2 * (c1y - p1y) - 2 * (c2y - c1y);\n c = p1y - c1y;\n t1 = (-b + math.sqrt(b * b - 4 * a * c)) / 2 / a;\n t2 = (-b - math.sqrt(b * b - 4 * a * c)) / 2 / a;\n abs(t1) > \"1e12\" && (t1 = .5);\n abs(t2) > \"1e12\" && (t2 = .5);\n if (t1 > 0 && t1 < 1) {\n dot = findDotAtSegment(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, t1);\n x.push(dot.x);\n y.push(dot.y);\n }\n if (t2 > 0 && t2 < 1) {\n dot = findDotAtSegment(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, t2);\n x.push(dot.x);\n y.push(dot.y);\n }\n return {\n min: {x: mmin[apply](0, x), y: mmin[apply](0, y)},\n max: {x: mmax[apply](0, x), y: mmax[apply](0, y)}\n };\n }),\n path2curve = R._path2curve = cacher(function (path, path2) {\n var pth = !path2 && paths(path);\n if (!path2 && pth.curve) {\n return pathClone(pth.curve);\n }\n var p = pathToAbsolute(path),\n p2 = path2 && pathToAbsolute(path2),\n attrs = {x: 0, y: 0, bx: 0, by: 0, X: 0, Y: 0, qx: null, qy: null},\n attrs2 = {x: 0, y: 0, bx: 0, by: 0, X: 0, Y: 0, qx: null, qy: null},\n processPath = function (path, d, pcom) {\n var nx, ny, tq = {T:1, Q:1};\n if (!path) {\n return [\"C\", d.x, d.y, d.x, d.y, d.x, d.y];\n }\n !(path[0] in tq) && (d.qx = d.qy = null);\n switch (path[0]) {\n case \"M\":\n d.X = path[1];\n d.Y = path[2];\n break;\n case \"A\":\n path = [\"C\"][concat](a2c[apply](0, [d.x, d.y][concat](path.slice(1))));\n break;\n case \"S\":\n if (pcom == \"C\" || pcom == \"S\") { // In \"S\" case we have to take into account, if the previous command is C/S.\n nx = d.x * 2 - d.bx; // And reflect the previous\n ny = d.y * 2 - d.by; // command's control point relative to the current point.\n }\n else { // or some else or nothing\n nx = d.x;\n ny = d.y;\n }\n path = [\"C\", nx, ny][concat](path.slice(1));\n break;\n case \"T\":\n if (pcom == \"Q\" || pcom == \"T\") { // In \"T\" case we have to take into account, if the previous command is Q/T.\n d.qx = d.x * 2 - d.qx; // And make a reflection similar\n d.qy = d.y * 2 - d.qy; // to case \"S\".\n }\n else { // or something else or nothing\n d.qx = d.x;\n d.qy = d.y;\n }\n path = [\"C\"][concat](q2c(d.x, d.y, d.qx, d.qy, path[1], path[2]));\n break;\n case \"Q\":\n d.qx = path[1];\n d.qy = path[2];\n path = [\"C\"][concat](q2c(d.x, d.y, path[1], path[2], path[3], path[4]));\n break;\n case \"L\":\n path = [\"C\"][concat](l2c(d.x, d.y, path[1], path[2]));\n break;\n case \"H\":\n path = [\"C\"][concat](l2c(d.x, d.y, path[1], d.y));\n break;\n case \"V\":\n path = [\"C\"][concat](l2c(d.x, d.y, d.x, path[1]));\n break;\n case \"Z\":\n path = [\"C\"][concat](l2c(d.x, d.y, d.X, d.Y));\n break;\n }\n return path;\n },\n fixArc = function (pp, i) {\n if (pp[i].length > 7) {\n pp[i].shift();\n var pi = pp[i];\n while (pi.length) {\n pcoms1[i]=\"A\"; // if created multiple C:s, their original seg is saved\n p2 && (pcoms2[i]=\"A\"); // the same as above\n pp.splice(i++, 0, [\"C\"][concat](pi.splice(0, 6)));\n }\n pp.splice(i, 1);\n ii = mmax(p.length, p2 && p2.length || 0);\n }\n },\n fixM = function (path1, path2, a1, a2, i) {\n if (path1 && path2 && path1[i][0] == \"M\" && path2[i][0] != \"M\") {\n path2.splice(i, 0, [\"M\", a2.x, a2.y]);\n a1.bx = 0;\n a1.by = 0;\n a1.x = path1[i][1];\n a1.y = path1[i][2];\n ii = mmax(p.length, p2 && p2.length || 0);\n }\n },\n pcoms1 = [], // path commands of original path p\n pcoms2 = [], // path commands of original path p2\n pfirst = \"\", // temporary holder for original path command\n pcom = \"\"; // holder for previous path command of original path\n for (var i = 0, ii = mmax(p.length, p2 && p2.length || 0); i < ii; i++) {\n p[i] && (pfirst = p[i][0]); // save current path command\n\n if (pfirst != \"C\") // C is not saved yet, because it may be result of conversion\n {\n pcoms1[i] = pfirst; // Save current path command\n i && ( pcom = pcoms1[i-1]); // Get previous path command pcom\n }\n p[i] = processPath(p[i], attrs, pcom); // Previous path command is inputted to processPath\n\n if (pcoms1[i] != \"A\" && pfirst == \"C\") pcoms1[i] = \"C\"; // A is the only command\n // which may produce multiple C:s\n // so we have to make sure that C is also C in original path\n\n fixArc(p, i); // fixArc adds also the right amount of A:s to pcoms1\n\n if (p2) { // the same procedures is done to p2\n p2[i] && (pfirst = p2[i][0]);\n if (pfirst != \"C\")\n {\n pcoms2[i] = pfirst;\n i && (pcom = pcoms2[i-1]);\n }\n p2[i] = processPath(p2[i], attrs2, pcom);\n\n if (pcoms2[i]!=\"A\" && pfirst==\"C\") pcoms2[i]=\"C\";\n\n fixArc(p2, i);\n }\n fixM(p, p2, attrs, attrs2, i);\n fixM(p2, p, attrs2, attrs, i);\n var seg = p[i],\n seg2 = p2 && p2[i],\n seglen = seg.length,\n seg2len = p2 && seg2.length;\n attrs.x = seg[seglen - 2];\n attrs.y = seg[seglen - 1];\n attrs.bx = toFloat(seg[seglen - 4]) || attrs.x;\n attrs.by = toFloat(seg[seglen - 3]) || attrs.y;\n attrs2.bx = p2 && (toFloat(seg2[seg2len - 4]) || attrs2.x);\n attrs2.by = p2 && (toFloat(seg2[seg2len - 3]) || attrs2.y);\n attrs2.x = p2 && seg2[seg2len - 2];\n attrs2.y = p2 && seg2[seg2len - 1];\n }\n if (!p2) {\n pth.curve = pathClone(p);\n }\n return p2 ? [p, p2] : p;\n }, null, pathClone),\n parseDots = R._parseDots = cacher(function (gradient) {\n var dots = [];\n for (var i = 0, ii = gradient.length; i < ii; i++) {\n var dot = {},\n par = gradient[i].match(/^([^:]*):?([\\d\\.]*)/);\n dot.color = R.getRGB(par[1]);\n if (dot.color.error) {\n return null;\n }\n dot.color = dot.color.hex;\n par[2] && (dot.offset = par[2] + \"%\");\n dots.push(dot);\n }\n for (i = 1, ii = dots.length - 1; i < ii; i++) {\n if (!dots[i].offset) {\n var start = toFloat(dots[i - 1].offset || 0),\n end = 0;\n for (var j = i + 1; j < ii; j++) {\n if (dots[j].offset) {\n end = dots[j].offset;\n break;\n }\n }\n if (!end) {\n end = 100;\n j = ii;\n }\n end = toFloat(end);\n var d = (end - start) / (j - i + 1);\n for (; i < j; i++) {\n start += d;\n dots[i].offset = start + \"%\";\n }\n }\n }\n return dots;\n }),\n tear = R._tear = function (el, paper) {\n el == paper.top && (paper.top = el.prev);\n el == paper.bottom && (paper.bottom = el.next);\n el.next && (el.next.prev = el.prev);\n el.prev && (el.prev.next = el.next);\n },\n tofront = R._tofront = function (el, paper) {\n if (paper.top === el) {\n return;\n }\n tear(el, paper);\n el.next = null;\n el.prev = paper.top;\n paper.top.next = el;\n paper.top = el;\n },\n toback = R._toback = function (el, paper) {\n if (paper.bottom === el) {\n return;\n }\n tear(el, paper);\n el.next = paper.bottom;\n el.prev = null;\n paper.bottom.prev = el;\n paper.bottom = el;\n },\n insertafter = R._insertafter = function (el, el2, paper) {\n tear(el, paper);\n el2 == paper.top && (paper.top = el);\n el2.next && (el2.next.prev = el);\n el.next = el2.next;\n el.prev = el2;\n el2.next = el;\n },\n insertbefore = R._insertbefore = function (el, el2, paper) {\n tear(el, paper);\n el2 == paper.bottom && (paper.bottom = el);\n el2.prev && (el2.prev.next = el);\n el.prev = el2.prev;\n el2.prev = el;\n el.next = el2;\n },\n /*\\\n * Raphael.toMatrix\n [ method ]\n **\n * Utility method\n **\n * Returns matrix of transformations applied to a given path\n > Parameters\n - path (string) path string\n - transform (string|array) transformation string\n = (object) @Matrix\n \\*/\n toMatrix = R.toMatrix = function (path, transform) {\n var bb = pathDimensions(path),\n el = {\n _: {\n transform: E\n },\n getBBox: function () {\n return bb;\n }\n };\n extractTransform(el, transform);\n return el.matrix;\n },\n /*\\\n * Raphael.transformPath\n [ method ]\n **\n * Utility method\n **\n * Returns path transformed by a given transformation\n > Parameters\n - path (string) path string\n - transform (string|array) transformation string\n = (string) path\n \\*/\n transformPath = R.transformPath = function (path, transform) {\n return mapPath(path, toMatrix(path, transform));\n },\n extractTransform = R._extractTransform = function (el, tstr) {\n if (tstr == null) {\n return el._.transform;\n }\n tstr = Str(tstr).replace(/\\.{3}|\\u2026/g, el._.transform || E);\n var tdata = R.parseTransformString(tstr),\n deg = 0,\n dx = 0,\n dy = 0,\n sx = 1,\n sy = 1,\n _ = el._,\n m = new Matrix;\n _.transform = tdata || [];\n if (tdata) {\n for (var i = 0, ii = tdata.length; i < ii; i++) {\n var t = tdata[i],\n tlen = t.length,\n command = Str(t[0]).toLowerCase(),\n absolute = t[0] != command,\n inver = absolute ? m.invert() : 0,\n x1,\n y1,\n x2,\n y2,\n bb;\n if (command == \"t\" && tlen == 3) {\n if (absolute) {\n x1 = inver.x(0, 0);\n y1 = inver.y(0, 0);\n x2 = inver.x(t[1], t[2]);\n y2 = inver.y(t[1], t[2]);\n m.translate(x2 - x1, y2 - y1);\n } else {\n m.translate(t[1], t[2]);\n }\n } else if (command == \"r\") {\n if (tlen == 2) {\n bb = bb || el.getBBox(1);\n m.rotate(t[1], bb.x + bb.width / 2, bb.y + bb.height / 2);\n deg += t[1];\n } else if (tlen == 4) {\n if (absolute) {\n x2 = inver.x(t[2], t[3]);\n y2 = inver.y(t[2], t[3]);\n m.rotate(t[1], x2, y2);\n } else {\n m.rotate(t[1], t[2], t[3]);\n }\n deg += t[1];\n }\n } else if (command == \"s\") {\n if (tlen == 2 || tlen == 3) {\n bb = bb || el.getBBox(1);\n m.scale(t[1], t[tlen - 1], bb.x + bb.width / 2, bb.y + bb.height / 2);\n sx *= t[1];\n sy *= t[tlen - 1];\n } else if (tlen == 5) {\n if (absolute) {\n x2 = inver.x(t[3], t[4]);\n y2 = inver.y(t[3], t[4]);\n m.scale(t[1], t[2], x2, y2);\n } else {\n m.scale(t[1], t[2], t[3], t[4]);\n }\n sx *= t[1];\n sy *= t[2];\n }\n } else if (command == \"m\" && tlen == 7) {\n m.add(t[1], t[2], t[3], t[4], t[5], t[6]);\n }\n _.dirtyT = 1;\n el.matrix = m;\n }\n }\n\n /*\\\n * Element.matrix\n [ property (object) ]\n **\n * Keeps @Matrix object, which represents element transformation\n \\*/\n el.matrix = m;\n\n _.sx = sx;\n _.sy = sy;\n _.deg = deg;\n _.dx = dx = m.e;\n _.dy = dy = m.f;\n\n if (sx == 1 && sy == 1 && !deg && _.bbox) {\n _.bbox.x += +dx;\n _.bbox.y += +dy;\n } else {\n _.dirtyT = 1;\n }\n },\n getEmpty = function (item) {\n var l = item[0];\n switch (l.toLowerCase()) {\n case \"t\": return [l, 0, 0];\n case \"m\": return [l, 1, 0, 0, 1, 0, 0];\n case \"r\": if (item.length == 4) {\n return [l, 0, item[2], item[3]];\n } else {\n return [l, 0];\n }\n case \"s\": if (item.length == 5) {\n return [l, 1, 1, item[3], item[4]];\n } else if (item.length == 3) {\n return [l, 1, 1];\n } else {\n return [l, 1];\n }\n }\n },\n equaliseTransform = R._equaliseTransform = function (t1, t2) {\n t2 = Str(t2).replace(/\\.{3}|\\u2026/g, t1);\n t1 = R.parseTransformString(t1) || [];\n t2 = R.parseTransformString(t2) || [];\n var maxlength = mmax(t1.length, t2.length),\n from = [],\n to = [],\n i = 0, j, jj,\n tt1, tt2;\n for (; i < maxlength; i++) {\n tt1 = t1[i] || getEmpty(t2[i]);\n tt2 = t2[i] || getEmpty(tt1);\n if ((tt1[0] != tt2[0]) ||\n (tt1[0].toLowerCase() == \"r\" && (tt1[2] != tt2[2] || tt1[3] != tt2[3])) ||\n (tt1[0].toLowerCase() == \"s\" && (tt1[3] != tt2[3] || tt1[4] != tt2[4]))\n ) {\n return;\n }\n from[i] = [];\n to[i] = [];\n for (j = 0, jj = mmax(tt1.length, tt2.length); j < jj; j++) {\n j in tt1 && (from[i][j] = tt1[j]);\n j in tt2 && (to[i][j] = tt2[j]);\n }\n }\n return {\n from: from,\n to: to\n };\n };\n R._getContainer = function (x, y, w, h) {\n var container;\n container = h == null && !R.is(x, \"object\") ? g.doc.getElementById(x) : x;\n if (container == null) {\n return;\n }\n if (container.tagName) {\n if (y == null) {\n return {\n container: container,\n width: container.style.pixelWidth || container.offsetWidth,\n height: container.style.pixelHeight || container.offsetHeight\n };\n } else {\n return {\n container: container,\n width: y,\n height: w\n };\n }\n }\n return {\n container: 1,\n x: x,\n y: y,\n width: w,\n height: h\n };\n };\n /*\\\n * Raphael.pathToRelative\n [ method ]\n **\n * Utility method\n **\n * Converts path to relative form\n > Parameters\n - pathString (string|array) path string or array of segments\n = (array) array of segments.\n \\*/\n R.pathToRelative = pathToRelative;\n R._engine = {};\n /*\\\n * Raphael.path2curve\n [ method ]\n **\n * Utility method\n **\n * Converts path to a new path where all segments are cubic bezier curves.\n > Parameters\n - pathString (string|array) path string or array of segments\n = (array) array of segments.\n \\*/\n R.path2curve = path2curve;\n /*\\\n * Raphael.matrix\n [ method ]\n **\n * Utility method\n **\n * Returns matrix based on given parameters.\n > Parameters\n - a (number)\n - b (number)\n - c (number)\n - d (number)\n - e (number)\n - f (number)\n = (object) @Matrix\n \\*/\n R.matrix = function (a, b, c, d, e, f) {\n return new Matrix(a, b, c, d, e, f);\n };\n function Matrix(a, b, c, d, e, f) {\n if (a != null) {\n this.a = +a;\n this.b = +b;\n this.c = +c;\n this.d = +d;\n this.e = +e;\n this.f = +f;\n } else {\n this.a = 1;\n this.b = 0;\n this.c = 0;\n this.d = 1;\n this.e = 0;\n this.f = 0;\n }\n }\n (function (matrixproto) {\n /*\\\n * Matrix.add\n [ method ]\n **\n * Adds given matrix to existing one.\n > Parameters\n - a (number)\n - b (number)\n - c (number)\n - d (number)\n - e (number)\n - f (number)\n or\n - matrix (object) @Matrix\n \\*/\n matrixproto.add = function (a, b, c, d, e, f) {\n var out = [[], [], []],\n m = [[this.a, this.c, this.e], [this.b, this.d, this.f], [0, 0, 1]],\n matrix = [[a, c, e], [b, d, f], [0, 0, 1]],\n x, y, z, res;\n\n if (a && a instanceof Matrix) {\n matrix = [[a.a, a.c, a.e], [a.b, a.d, a.f], [0, 0, 1]];\n }\n\n for (x = 0; x < 3; x++) {\n for (y = 0; y < 3; y++) {\n res = 0;\n for (z = 0; z < 3; z++) {\n res += m[x][z] * matrix[z][y];\n }\n out[x][y] = res;\n }\n }\n this.a = out[0][0];\n this.b = out[1][0];\n this.c = out[0][1];\n this.d = out[1][1];\n this.e = out[0][2];\n this.f = out[1][2];\n };\n /*\\\n * Matrix.invert\n [ method ]\n **\n * Returns inverted version of the matrix\n = (object) @Matrix\n \\*/\n matrixproto.invert = function () {\n var me = this,\n x = me.a * me.d - me.b * me.c;\n return new Matrix(me.d / x, -me.b / x, -me.c / x, me.a / x, (me.c * me.f - me.d * me.e) / x, (me.b * me.e - me.a * me.f) / x);\n };\n /*\\\n * Matrix.clone\n [ method ]\n **\n * Returns copy of the matrix\n = (object) @Matrix\n \\*/\n matrixproto.clone = function () {\n return new Matrix(this.a, this.b, this.c, this.d, this.e, this.f);\n };\n /*\\\n * Matrix.translate\n [ method ]\n **\n * Translate the matrix\n > Parameters\n - x (number)\n - y (number)\n \\*/\n matrixproto.translate = function (x, y) {\n this.add(1, 0, 0, 1, x, y);\n };\n /*\\\n * Matrix.scale\n [ method ]\n **\n * Scales the matrix\n > Parameters\n - x (number)\n - y (number) #optional\n - cx (number) #optional\n - cy (number) #optional\n \\*/\n matrixproto.scale = function (x, y, cx, cy) {\n y == null && (y = x);\n (cx || cy) && this.add(1, 0, 0, 1, cx, cy);\n this.add(x, 0, 0, y, 0, 0);\n (cx || cy) && this.add(1, 0, 0, 1, -cx, -cy);\n };\n /*\\\n * Matrix.rotate\n [ method ]\n **\n * Rotates the matrix\n > Parameters\n - a (number)\n - x (number)\n - y (number)\n \\*/\n matrixproto.rotate = function (a, x, y) {\n a = R.rad(a);\n x = x || 0;\n y = y || 0;\n var cos = +math.cos(a).toFixed(9),\n sin = +math.sin(a).toFixed(9);\n this.add(cos, sin, -sin, cos, x, y);\n this.add(1, 0, 0, 1, -x, -y);\n };\n /*\\\n * Matrix.x\n [ method ]\n **\n * Return x coordinate for given point after transformation described by the matrix. See also @Matrix.y\n > Parameters\n - x (number)\n - y (number)\n = (number) x\n \\*/\n matrixproto.x = function (x, y) {\n return x * this.a + y * this.c + this.e;\n };\n /*\\\n * Matrix.y\n [ method ]\n **\n * Return y coordinate for given point after transformation described by the matrix. See also @Matrix.x\n > Parameters\n - x (number)\n - y (number)\n = (number) y\n \\*/\n matrixproto.y = function (x, y) {\n return x * this.b + y * this.d + this.f;\n };\n matrixproto.get = function (i) {\n return +this[Str.fromCharCode(97 + i)].toFixed(4);\n };\n matrixproto.toString = function () {\n return R.svg ?\n \"matrix(\" + [this.get(0), this.get(1), this.get(2), this.get(3), this.get(4), this.get(5)].join() + \")\" :\n [this.get(0), this.get(2), this.get(1), this.get(3), 0, 0].join();\n };\n matrixproto.toFilter = function () {\n return \"progid:DXImageTransform.Microsoft.Matrix(M11=\" + this.get(0) +\n \", M12=\" + this.get(2) + \", M21=\" + this.get(1) + \", M22=\" + this.get(3) +\n \", Dx=\" + this.get(4) + \", Dy=\" + this.get(5) + \", sizingmethod='auto expand')\";\n };\n matrixproto.offset = function () {\n return [this.e.toFixed(4), this.f.toFixed(4)];\n };\n function norm(a) {\n return a[0] * a[0] + a[1] * a[1];\n }\n function normalize(a) {\n var mag = math.sqrt(norm(a));\n a[0] && (a[0] /= mag);\n a[1] && (a[1] /= mag);\n }\n /*\\\n * Matrix.split\n [ method ]\n **\n * Splits matrix into primitive transformations\n = (object) in format:\n o dx (number) translation by x\n o dy (number) translation by y\n o scalex (number) scale by x\n o scaley (number) scale by y\n o shear (number) shear\n o rotate (number) rotation in deg\n o isSimple (boolean) could it be represented via simple transformations\n \\*/\n matrixproto.split = function () {\n var out = {};\n // translation\n out.dx = this.e;\n out.dy = this.f;\n\n // scale and shear\n var row = [[this.a, this.c], [this.b, this.d]];\n out.scalex = math.sqrt(norm(row[0]));\n normalize(row[0]);\n\n out.shear = row[0][0] * row[1][0] + row[0][1] * row[1][1];\n row[1] = [row[1][0] - row[0][0] * out.shear, row[1][1] - row[0][1] * out.shear];\n\n out.scaley = math.sqrt(norm(row[1]));\n normalize(row[1]);\n out.shear /= out.scaley;\n\n // rotation\n var sin = -row[0][1],\n cos = row[1][1];\n if (cos < 0) {\n out.rotate = R.deg(math.acos(cos));\n if (sin < 0) {\n out.rotate = 360 - out.rotate;\n }\n } else {\n out.rotate = R.deg(math.asin(sin));\n }\n\n out.isSimple = !+out.shear.toFixed(9) && (out.scalex.toFixed(9) == out.scaley.toFixed(9) || !out.rotate);\n out.isSuperSimple = !+out.shear.toFixed(9) && out.scalex.toFixed(9) == out.scaley.toFixed(9) && !out.rotate;\n out.noRotation = !+out.shear.toFixed(9) && !out.rotate;\n return out;\n };\n /*\\\n * Matrix.toTransformString\n [ method ]\n **\n * Return transform string that represents given matrix\n = (string) transform string\n \\*/\n matrixproto.toTransformString = function (shorter) {\n var s = shorter || this[split]();\n if (s.isSimple) {\n s.scalex = +s.scalex.toFixed(4);\n s.scaley = +s.scaley.toFixed(4);\n s.rotate = +s.rotate.toFixed(4);\n return (s.dx || s.dy ? \"t\" + [s.dx, s.dy] : E) +\n (s.scalex != 1 || s.scaley != 1 ? \"s\" + [s.scalex, s.scaley, 0, 0] : E) +\n (s.rotate ? \"r\" + [s.rotate, 0, 0] : E);\n } else {\n return \"m\" + [this.get(0), this.get(1), this.get(2), this.get(3), this.get(4), this.get(5)];\n }\n };\n })(Matrix.prototype);\n\n // WebKit rendering bug workaround method\n var version = navigator.userAgent.match(/Version\\/(.*?)\\s/) || navigator.userAgent.match(/Chrome\\/(\\d+)/);\n if ((navigator.vendor == \"Apple Computer, Inc.\") && (version && version[1] < 4 || navigator.platform.slice(0, 2) == \"iP\") ||\n (navigator.vendor == \"Google Inc.\" && version && version[1] < 8)) {\n /*\\\n * Paper.safari\n [ method ]\n **\n * There is an inconvenient rendering bug in Safari (WebKit):\n * sometimes the rendering should be forced.\n * This method should help with dealing with this bug.\n \\*/\n paperproto.safari = function () {\n var rect = this.rect(-99, -99, this.width + 99, this.height + 99).attr({stroke: \"none\"});\n setTimeout(function () {rect.remove();});\n };\n } else {\n paperproto.safari = fun;\n }\n\n var preventDefault = function () {\n this.returnValue = false;\n },\n preventTouch = function () {\n return this.originalEvent.preventDefault();\n },\n stopPropagation = function () {\n this.cancelBubble = true;\n },\n stopTouch = function () {\n return this.originalEvent.stopPropagation();\n },\n getEventPosition = function (e) {\n var scrollY = g.doc.documentElement.scrollTop || g.doc.body.scrollTop,\n scrollX = g.doc.documentElement.scrollLeft || g.doc.body.scrollLeft;\n\n return {\n x: e.clientX + scrollX,\n y: e.clientY + scrollY\n };\n },\n addEvent = (function () {\n if (g.doc.addEventListener) {\n return function (obj, type, fn, element) {\n var f = function (e) {\n var pos = getEventPosition(e);\n return fn.call(element, e, pos.x, pos.y);\n };\n obj.addEventListener(type, f, false);\n\n if (supportsTouch && touchMap[type]) {\n var _f = function (e) {\n var pos = getEventPosition(e),\n olde = e;\n\n for (var i = 0, ii = e.targetTouches && e.targetTouches.length; i < ii; i++) {\n if (e.targetTouches[i].target == obj) {\n e = e.targetTouches[i];\n e.originalEvent = olde;\n e.preventDefault = preventTouch;\n e.stopPropagation = stopTouch;\n break;\n }\n }\n\n return fn.call(element, e, pos.x, pos.y);\n };\n obj.addEventListener(touchMap[type], _f, false);\n }\n\n return function () {\n obj.removeEventListener(type, f, false);\n\n if (supportsTouch && touchMap[type])\n obj.removeEventListener(touchMap[type], _f, false);\n\n return true;\n };\n };\n } else if (g.doc.attachEvent) {\n return function (obj, type, fn, element) {\n var f = function (e) {\n e = e || g.win.event;\n var scrollY = g.doc.documentElement.scrollTop || g.doc.body.scrollTop,\n scrollX = g.doc.documentElement.scrollLeft || g.doc.body.scrollLeft,\n x = e.clientX + scrollX,\n y = e.clientY + scrollY;\n e.preventDefault = e.preventDefault || preventDefault;\n e.stopPropagation = e.stopPropagation || stopPropagation;\n return fn.call(element, e, x, y);\n };\n obj.attachEvent(\"on\" + type, f);\n var detacher = function () {\n obj.detachEvent(\"on\" + type, f);\n return true;\n };\n return detacher;\n };\n }\n })(),\n drag = [],\n dragMove = function (e) {\n var x = e.clientX,\n y = e.clientY,\n scrollY = g.doc.documentElement.scrollTop || g.doc.body.scrollTop,\n scrollX = g.doc.documentElement.scrollLeft || g.doc.body.scrollLeft,\n dragi,\n j = drag.length;\n while (j--) {\n dragi = drag[j];\n if (supportsTouch && e.touches) {\n var i = e.touches.length,\n touch;\n while (i--) {\n touch = e.touches[i];\n if (touch.identifier == dragi.el._drag.id) {\n x = touch.clientX;\n y = touch.clientY;\n (e.originalEvent ? e.originalEvent : e).preventDefault();\n break;\n }\n }\n } else {\n e.preventDefault();\n }\n var node = dragi.el.node,\n o,\n next = node.nextSibling,\n parent = node.parentNode,\n display = node.style.display;\n g.win.opera && parent.removeChild(node);\n node.style.display = \"none\";\n o = dragi.el.paper.getElementByPoint(x, y);\n node.style.display = display;\n g.win.opera && (next ? parent.insertBefore(node, next) : parent.appendChild(node));\n o && eve(\"raphael.drag.over.\" + dragi.el.id, dragi.el, o);\n x += scrollX;\n y += scrollY;\n eve(\"raphael.drag.move.\" + dragi.el.id, dragi.move_scope || dragi.el, x - dragi.el._drag.x, y - dragi.el._drag.y, x, y, e);\n }\n },\n dragUp = function (e) {\n R.unmousemove(dragMove).unmouseup(dragUp);\n var i = drag.length,\n dragi;\n while (i--) {\n dragi = drag[i];\n dragi.el._drag = {};\n eve(\"raphael.drag.end.\" + dragi.el.id, dragi.end_scope || dragi.start_scope || dragi.move_scope || dragi.el, e);\n }\n drag = [];\n },\n /*\\\n * Raphael.el\n [ property (object) ]\n **\n * You can add your own method to elements. This is usefull when you want to hack default functionality or\n * want to wrap some common transformation or attributes in one method. In difference to canvas methods,\n * you can redefine element method at any time. Expending element methods wouldn’t affect set.\n > Usage\n | Raphael.el.red = function () {\n | this.attr({fill: \"#f00\"});\n | };\n | // then use it\n | paper.circle(100, 100, 20).red();\n \\*/\n elproto = R.el = {};\n /*\\\n * Element.click\n [ method ]\n **\n * Adds event handler for click for the element.\n > Parameters\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n /*\\\n * Element.unclick\n [ method ]\n **\n * Removes event handler for click for the element.\n > Parameters\n - handler (function) #optional handler for the event\n = (object) @Element\n \\*/\n\n /*\\\n * Element.dblclick\n [ method ]\n **\n * Adds event handler for double click for the element.\n > Parameters\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n /*\\\n * Element.undblclick\n [ method ]\n **\n * Removes event handler for double click for the element.\n > Parameters\n - handler (function) #optional handler for the event\n = (object) @Element\n \\*/\n\n /*\\\n * Element.mousedown\n [ method ]\n **\n * Adds event handler for mousedown for the element.\n > Parameters\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n /*\\\n * Element.unmousedown\n [ method ]\n **\n * Removes event handler for mousedown for the element.\n > Parameters\n - handler (function) #optional handler for the event\n = (object) @Element\n \\*/\n\n /*\\\n * Element.mousemove\n [ method ]\n **\n * Adds event handler for mousemove for the element.\n > Parameters\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n /*\\\n * Element.unmousemove\n [ method ]\n **\n * Removes event handler for mousemove for the element.\n > Parameters\n - handler (function) #optional handler for the event\n = (object) @Element\n \\*/\n\n /*\\\n * Element.mouseout\n [ method ]\n **\n * Adds event handler for mouseout for the element.\n > Parameters\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n /*\\\n * Element.unmouseout\n [ method ]\n **\n * Removes event handler for mouseout for the element.\n > Parameters\n - handler (function) #optional handler for the event\n = (object) @Element\n \\*/\n\n /*\\\n * Element.mouseover\n [ method ]\n **\n * Adds event handler for mouseover for the element.\n > Parameters\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n /*\\\n * Element.unmouseover\n [ method ]\n **\n * Removes event handler for mouseover for the element.\n > Parameters\n - handler (function) #optional handler for the event\n = (object) @Element\n \\*/\n\n /*\\\n * Element.mouseup\n [ method ]\n **\n * Adds event handler for mouseup for the element.\n > Parameters\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n /*\\\n * Element.unmouseup\n [ method ]\n **\n * Removes event handler for mouseup for the element.\n > Parameters\n - handler (function) #optional handler for the event\n = (object) @Element\n \\*/\n\n /*\\\n * Element.touchstart\n [ method ]\n **\n * Adds event handler for touchstart for the element.\n > Parameters\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n /*\\\n * Element.untouchstart\n [ method ]\n **\n * Removes event handler for touchstart for the element.\n > Parameters\n - handler (function) #optional handler for the event\n = (object) @Element\n \\*/\n\n /*\\\n * Element.touchmove\n [ method ]\n **\n * Adds event handler for touchmove for the element.\n > Parameters\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n /*\\\n * Element.untouchmove\n [ method ]\n **\n * Removes event handler for touchmove for the element.\n > Parameters\n - handler (function) #optional handler for the event\n = (object) @Element\n \\*/\n\n /*\\\n * Element.touchend\n [ method ]\n **\n * Adds event handler for touchend for the element.\n > Parameters\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n /*\\\n * Element.untouchend\n [ method ]\n **\n * Removes event handler for touchend for the element.\n > Parameters\n - handler (function) #optional handler for the event\n = (object) @Element\n \\*/\n\n /*\\\n * Element.touchcancel\n [ method ]\n **\n * Adds event handler for touchcancel for the element.\n > Parameters\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n /*\\\n * Element.untouchcancel\n [ method ]\n **\n * Removes event handler for touchcancel for the element.\n > Parameters\n - handler (function) #optional handler for the event\n = (object) @Element\n \\*/\n for (var i = events.length; i--;) {\n (function (eventName) {\n R[eventName] = elproto[eventName] = function (fn, scope) {\n if (R.is(fn, \"function\")) {\n this.events = this.events || [];\n this.events.push({name: eventName, f: fn, unbind: addEvent(this.shape || this.node || g.doc, eventName, fn, scope || this)});\n }\n return this;\n };\n R[\"un\" + eventName] = elproto[\"un\" + eventName] = function (fn) {\n var events = this.events || [],\n l = events.length;\n while (l--){\n if (events[l].name == eventName && (R.is(fn, \"undefined\") || events[l].f == fn)) {\n events[l].unbind();\n events.splice(l, 1);\n !events.length && delete this.events;\n }\n }\n return this;\n };\n })(events[i]);\n }\n\n /*\\\n * Element.data\n [ method ]\n **\n * Adds or retrieves given value asociated with given key.\n **\n * See also @Element.removeData\n > Parameters\n - key (string) key to store data\n - value (any) #optional value to store\n = (object) @Element\n * or, if value is not specified:\n = (any) value\n * or, if key and value are not specified:\n = (object) Key/value pairs for all the data associated with the element.\n > Usage\n | for (var i = 0, i < 5, i++) {\n | paper.circle(10 + 15 * i, 10, 10)\n | .attr({fill: \"#000\"})\n | .data(\"i\", i)\n | .click(function () {\n | alert(this.data(\"i\"));\n | });\n | }\n \\*/\n elproto.data = function (key, value) {\n var data = eldata[this.id] = eldata[this.id] || {};\n if (arguments.length == 0) {\n return data;\n }\n if (arguments.length == 1) {\n if (R.is(key, \"object\")) {\n for (var i in key) if (key[has](i)) {\n this.data(i, key[i]);\n }\n return this;\n }\n eve(\"raphael.data.get.\" + this.id, this, data[key], key);\n return data[key];\n }\n data[key] = value;\n eve(\"raphael.data.set.\" + this.id, this, value, key);\n return this;\n };\n /*\\\n * Element.removeData\n [ method ]\n **\n * Removes value associated with an element by given key.\n * If key is not provided, removes all the data of the element.\n > Parameters\n - key (string) #optional key\n = (object) @Element\n \\*/\n elproto.removeData = function (key) {\n if (key == null) {\n eldata[this.id] = {};\n } else {\n eldata[this.id] && delete eldata[this.id][key];\n }\n return this;\n };\n /*\\\n * Element.getData\n [ method ]\n **\n * Retrieves the element data\n = (object) data\n \\*/\n elproto.getData = function () {\n return clone(eldata[this.id] || {});\n };\n /*\\\n * Element.hover\n [ method ]\n **\n * Adds event handlers for hover for the element.\n > Parameters\n - f_in (function) handler for hover in\n - f_out (function) handler for hover out\n - icontext (object) #optional context for hover in handler\n - ocontext (object) #optional context for hover out handler\n = (object) @Element\n \\*/\n elproto.hover = function (f_in, f_out, scope_in, scope_out) {\n return this.mouseover(f_in, scope_in).mouseout(f_out, scope_out || scope_in);\n };\n /*\\\n * Element.unhover\n [ method ]\n **\n * Removes event handlers for hover for the element.\n > Parameters\n - f_in (function) handler for hover in\n - f_out (function) handler for hover out\n = (object) @Element\n \\*/\n elproto.unhover = function (f_in, f_out) {\n return this.unmouseover(f_in).unmouseout(f_out);\n };\n var draggable = [];\n /*\\\n * Element.drag\n [ method ]\n **\n * Adds event handlers for drag of the element.\n > Parameters\n - onmove (function) handler for moving\n - onstart (function) handler for drag start\n - onend (function) handler for drag end\n - mcontext (object) #optional context for moving handler\n - scontext (object) #optional context for drag start handler\n - econtext (object) #optional context for drag end handler\n * Additionaly following `drag` events will be triggered: `drag.start.` on start,\n * `drag.end.` on end and `drag.move.` on every move. When element will be dragged over another element\n * `drag.over.` will be fired as well.\n *\n * Start event and start handler will be called in specified context or in context of the element with following parameters:\n o x (number) x position of the mouse\n o y (number) y position of the mouse\n o event (object) DOM event object\n * Move event and move handler will be called in specified context or in context of the element with following parameters:\n o dx (number) shift by x from the start point\n o dy (number) shift by y from the start point\n o x (number) x position of the mouse\n o y (number) y position of the mouse\n o event (object) DOM event object\n * End event and end handler will be called in specified context or in context of the element with following parameters:\n o event (object) DOM event object\n = (object) @Element\n \\*/\n elproto.drag = function (onmove, onstart, onend, move_scope, start_scope, end_scope) {\n function start(e) {\n (e.originalEvent || e).preventDefault();\n var x = e.clientX,\n y = e.clientY,\n scrollY = g.doc.documentElement.scrollTop || g.doc.body.scrollTop,\n scrollX = g.doc.documentElement.scrollLeft || g.doc.body.scrollLeft;\n this._drag.id = e.identifier;\n if (supportsTouch && e.touches) {\n var i = e.touches.length, touch;\n while (i--) {\n touch = e.touches[i];\n this._drag.id = touch.identifier;\n if (touch.identifier == this._drag.id) {\n x = touch.clientX;\n y = touch.clientY;\n break;\n }\n }\n }\n this._drag.x = x + scrollX;\n this._drag.y = y + scrollY;\n !drag.length && R.mousemove(dragMove).mouseup(dragUp);\n drag.push({el: this, move_scope: move_scope, start_scope: start_scope, end_scope: end_scope});\n onstart && eve.on(\"raphael.drag.start.\" + this.id, onstart);\n onmove && eve.on(\"raphael.drag.move.\" + this.id, onmove);\n onend && eve.on(\"raphael.drag.end.\" + this.id, onend);\n eve(\"raphael.drag.start.\" + this.id, start_scope || move_scope || this, e.clientX + scrollX, e.clientY + scrollY, e);\n }\n this._drag = {};\n draggable.push({el: this, start: start});\n this.mousedown(start);\n return this;\n };\n /*\\\n * Element.onDragOver\n [ method ]\n **\n * Shortcut for assigning event handler for `drag.over.` event, where id is id of the element (see @Element.id).\n > Parameters\n - f (function) handler for event, first argument would be the element you are dragging over\n \\*/\n elproto.onDragOver = function (f) {\n f ? eve.on(\"raphael.drag.over.\" + this.id, f) : eve.unbind(\"raphael.drag.over.\" + this.id);\n };\n /*\\\n * Element.undrag\n [ method ]\n **\n * Removes all drag event handlers from given element.\n \\*/\n elproto.undrag = function () {\n var i = draggable.length;\n while (i--) if (draggable[i].el == this) {\n this.unmousedown(draggable[i].start);\n draggable.splice(i, 1);\n eve.unbind(\"raphael.drag.*.\" + this.id);\n }\n !draggable.length && R.unmousemove(dragMove).unmouseup(dragUp);\n drag = [];\n };\n /*\\\n * Paper.circle\n [ method ]\n **\n * Draws a circle.\n **\n > Parameters\n **\n - x (number) x coordinate of the centre\n - y (number) y coordinate of the centre\n - r (number) radius\n = (object) Raphaël element object with type “circle”\n **\n > Usage\n | var c = paper.circle(50, 50, 40);\n \\*/\n paperproto.circle = function (x, y, r) {\n var out = R._engine.circle(this, x || 0, y || 0, r || 0);\n this.__set__ && this.__set__.push(out);\n return out;\n };\n /*\\\n * Paper.rect\n [ method ]\n *\n * Draws a rectangle.\n **\n > Parameters\n **\n - x (number) x coordinate of the top left corner\n - y (number) y coordinate of the top left corner\n - width (number) width\n - height (number) height\n - r (number) #optional radius for rounded corners, default is 0\n = (object) Raphaël element object with type “rect”\n **\n > Usage\n | // regular rectangle\n | var c = paper.rect(10, 10, 50, 50);\n | // rectangle with rounded corners\n | var c = paper.rect(40, 40, 50, 50, 10);\n \\*/\n paperproto.rect = function (x, y, w, h, r) {\n var out = R._engine.rect(this, x || 0, y || 0, w || 0, h || 0, r || 0);\n this.__set__ && this.__set__.push(out);\n return out;\n };\n /*\\\n * Paper.ellipse\n [ method ]\n **\n * Draws an ellipse.\n **\n > Parameters\n **\n - x (number) x coordinate of the centre\n - y (number) y coordinate of the centre\n - rx (number) horizontal radius\n - ry (number) vertical radius\n = (object) Raphaël element object with type “ellipse”\n **\n > Usage\n | var c = paper.ellipse(50, 50, 40, 20);\n \\*/\n paperproto.ellipse = function (x, y, rx, ry) {\n var out = R._engine.ellipse(this, x || 0, y || 0, rx || 0, ry || 0);\n this.__set__ && this.__set__.push(out);\n return out;\n };\n /*\\\n * Paper.path\n [ method ]\n **\n * Creates a path element by given path data string.\n > Parameters\n - pathString (string) #optional path string in SVG format.\n * Path string consists of one-letter commands, followed by comma seprarated arguments in numercal form. Example:\n | \"M10,20L30,40\"\n * Here we can see two commands: “M”, with arguments `(10, 20)` and “L” with arguments `(30, 40)`. Upper case letter mean command is absolute, lower case—relative.\n *\n #

Here is short list of commands available, for more details see SVG path string format.

\n # \n # \n # \n # \n # \n # \n # \n # \n # \n # \n # \n #
CommandNameParameters
Mmoveto(x y)+
Zclosepath(none)
Llineto(x y)+
Hhorizontal linetox+
Vvertical linetoy+
Ccurveto(x1 y1 x2 y2 x y)+
Ssmooth curveto(x2 y2 x y)+
Qquadratic Bézier curveto(x1 y1 x y)+
Tsmooth quadratic Bézier curveto(x y)+
Aelliptical arc(rx ry x-axis-rotation large-arc-flag sweep-flag x y)+
RCatmull-Rom curveto*x1 y1 (x y)+
\n * * “Catmull-Rom curveto” is a not standard SVG command and added in 2.0 to make life easier.\n * Note: there is a special case when path consist of just three commands: “M10,10R…z”. In this case path will smoothly connects to its beginning.\n > Usage\n | var c = paper.path(\"M10 10L90 90\");\n | // draw a diagonal line:\n | // move to 10,10, line to 90,90\n * For example of path strings, check out these icons: http://raphaeljs.com/icons/\n \\*/\n paperproto.path = function (pathString) {\n pathString && !R.is(pathString, string) && !R.is(pathString[0], array) && (pathString += E);\n var out = R._engine.path(R.format[apply](R, arguments), this);\n this.__set__ && this.__set__.push(out);\n return out;\n };\n /*\\\n * Paper.image\n [ method ]\n **\n * Embeds an image into the surface.\n **\n > Parameters\n **\n - src (string) URI of the source image\n - x (number) x coordinate position\n - y (number) y coordinate position\n - width (number) width of the image\n - height (number) height of the image\n = (object) Raphaël element object with type “image”\n **\n > Usage\n | var c = paper.image(\"apple.png\", 10, 10, 80, 80);\n \\*/\n paperproto.image = function (src, x, y, w, h) {\n var out = R._engine.image(this, src || \"about:blank\", x || 0, y || 0, w || 0, h || 0);\n this.__set__ && this.__set__.push(out);\n return out;\n };\n /*\\\n * Paper.text\n [ method ]\n **\n * Draws a text string. If you need line breaks, put “\\n” in the string.\n **\n > Parameters\n **\n - x (number) x coordinate position\n - y (number) y coordinate position\n - text (string) The text string to draw\n = (object) Raphaël element object with type “text”\n **\n > Usage\n | var t = paper.text(50, 50, \"Raphaël\\nkicks\\nbutt!\");\n \\*/\n paperproto.text = function (x, y, text) {\n var out = R._engine.text(this, x || 0, y || 0, Str(text));\n this.__set__ && this.__set__.push(out);\n return out;\n };\n /*\\\n * Paper.set\n [ method ]\n **\n * Creates array-like object to keep and operate several elements at once.\n * Warning: it doesn’t create any elements for itself in the page, it just groups existing elements.\n * Sets act as pseudo elements — all methods available to an element can be used on a set.\n = (object) array-like object that represents set of elements\n **\n > Usage\n | var st = paper.set();\n | st.push(\n | paper.circle(10, 10, 5),\n | paper.circle(30, 10, 5)\n | );\n | st.attr({fill: \"red\"}); // changes the fill of both circles\n \\*/\n paperproto.set = function (itemsArray) {\n !R.is(itemsArray, \"array\") && (itemsArray = Array.prototype.splice.call(arguments, 0, arguments.length));\n var out = new Set(itemsArray);\n this.__set__ && this.__set__.push(out);\n out[\"paper\"] = this;\n out[\"type\"] = \"set\";\n return out;\n };\n /*\\\n * Paper.setStart\n [ method ]\n **\n * Creates @Paper.set. All elements that will be created after calling this method and before calling\n * @Paper.setFinish will be added to the set.\n **\n > Usage\n | paper.setStart();\n | paper.circle(10, 10, 5),\n | paper.circle(30, 10, 5)\n | var st = paper.setFinish();\n | st.attr({fill: \"red\"}); // changes the fill of both circles\n \\*/\n paperproto.setStart = function (set) {\n this.__set__ = set || this.set();\n };\n /*\\\n * Paper.setFinish\n [ method ]\n **\n * See @Paper.setStart. This method finishes catching and returns resulting set.\n **\n = (object) set\n \\*/\n paperproto.setFinish = function (set) {\n var out = this.__set__;\n delete this.__set__;\n return out;\n };\n /*\\\n * Paper.getSize\n [ method ]\n **\n * Obtains current paper actual size.\n **\n = (object)\n \\*/\n paperproto.getSize = function () {\n var container = this.canvas.parentNode;\n return {\n width: container.offsetWidth,\n height: container.offsetHeight\n };\n };\n /*\\\n * Paper.setSize\n [ method ]\n **\n * If you need to change dimensions of the canvas call this method\n **\n > Parameters\n **\n - width (number) new width of the canvas\n - height (number) new height of the canvas\n \\*/\n paperproto.setSize = function (width, height) {\n return R._engine.setSize.call(this, width, height);\n };\n /*\\\n * Paper.setViewBox\n [ method ]\n **\n * Sets the view box of the paper. Practically it gives you ability to zoom and pan whole paper surface by\n * specifying new boundaries.\n **\n > Parameters\n **\n - x (number) new x position, default is `0`\n - y (number) new y position, default is `0`\n - w (number) new width of the canvas\n - h (number) new height of the canvas\n - fit (boolean) `true` if you want graphics to fit into new boundary box\n \\*/\n paperproto.setViewBox = function (x, y, w, h, fit) {\n return R._engine.setViewBox.call(this, x, y, w, h, fit);\n };\n /*\\\n * Paper.top\n [ property ]\n **\n * Points to the topmost element on the paper\n \\*/\n /*\\\n * Paper.bottom\n [ property ]\n **\n * Points to the bottom element on the paper\n \\*/\n paperproto.top = paperproto.bottom = null;\n /*\\\n * Paper.raphael\n [ property ]\n **\n * Points to the @Raphael object/function\n \\*/\n paperproto.raphael = R;\n var getOffset = function (elem) {\n var box = elem.getBoundingClientRect(),\n doc = elem.ownerDocument,\n body = doc.body,\n docElem = doc.documentElement,\n clientTop = docElem.clientTop || body.clientTop || 0, clientLeft = docElem.clientLeft || body.clientLeft || 0,\n top = box.top + (g.win.pageYOffset || docElem.scrollTop || body.scrollTop ) - clientTop,\n left = box.left + (g.win.pageXOffset || docElem.scrollLeft || body.scrollLeft) - clientLeft;\n return {\n y: top,\n x: left\n };\n };\n /*\\\n * Paper.getElementByPoint\n [ method ]\n **\n * Returns you topmost element under given point.\n **\n = (object) Raphaël element object\n > Parameters\n **\n - x (number) x coordinate from the top left corner of the window\n - y (number) y coordinate from the top left corner of the window\n > Usage\n | paper.getElementByPoint(mouseX, mouseY).attr({stroke: \"#f00\"});\n \\*/\n paperproto.getElementByPoint = function (x, y) {\n var paper = this,\n svg = paper.canvas,\n target = g.doc.elementFromPoint(x, y);\n if (g.win.opera && target.tagName == \"svg\") {\n var so = getOffset(svg),\n sr = svg.createSVGRect();\n sr.x = x - so.x;\n sr.y = y - so.y;\n sr.width = sr.height = 1;\n var hits = svg.getIntersectionList(sr, null);\n if (hits.length) {\n target = hits[hits.length - 1];\n }\n }\n if (!target) {\n return null;\n }\n while (target.parentNode && target != svg.parentNode && !target.raphael) {\n target = target.parentNode;\n }\n target == paper.canvas.parentNode && (target = svg);\n target = target && target.raphael ? paper.getById(target.raphaelid) : null;\n return target;\n };\n\n /*\\\n * Paper.getElementsByBBox\n [ method ]\n **\n * Returns set of elements that have an intersecting bounding box\n **\n > Parameters\n **\n - bbox (object) bbox to check with\n = (object) @Set\n \\*/\n paperproto.getElementsByBBox = function (bbox) {\n var set = this.set();\n this.forEach(function (el) {\n if (R.isBBoxIntersect(el.getBBox(), bbox)) {\n set.push(el);\n }\n });\n return set;\n };\n\n /*\\\n * Paper.getById\n [ method ]\n **\n * Returns you element by its internal ID.\n **\n > Parameters\n **\n - id (number) id\n = (object) Raphaël element object\n \\*/\n paperproto.getById = function (id) {\n var bot = this.bottom;\n while (bot) {\n if (bot.id == id) {\n return bot;\n }\n bot = bot.next;\n }\n return null;\n };\n /*\\\n * Paper.forEach\n [ method ]\n **\n * Executes given function for each element on the paper\n *\n * If callback function returns `false` it will stop loop running.\n **\n > Parameters\n **\n - callback (function) function to run\n - thisArg (object) context object for the callback\n = (object) Paper object\n > Usage\n | paper.forEach(function (el) {\n | el.attr({ stroke: \"blue\" });\n | });\n \\*/\n paperproto.forEach = function (callback, thisArg) {\n var bot = this.bottom;\n while (bot) {\n if (callback.call(thisArg, bot) === false) {\n return this;\n }\n bot = bot.next;\n }\n return this;\n };\n /*\\\n * Paper.getElementsByPoint\n [ method ]\n **\n * Returns set of elements that have common point inside\n **\n > Parameters\n **\n - x (number) x coordinate of the point\n - y (number) y coordinate of the point\n = (object) @Set\n \\*/\n paperproto.getElementsByPoint = function (x, y) {\n var set = this.set();\n this.forEach(function (el) {\n if (el.isPointInside(x, y)) {\n set.push(el);\n }\n });\n return set;\n };\n function x_y() {\n return this.x + S + this.y;\n }\n function x_y_w_h() {\n return this.x + S + this.y + S + this.width + \" \\xd7 \" + this.height;\n }\n /*\\\n * Element.isPointInside\n [ method ]\n **\n * Determine if given point is inside this element’s shape\n **\n > Parameters\n **\n - x (number) x coordinate of the point\n - y (number) y coordinate of the point\n = (boolean) `true` if point inside the shape\n \\*/\n elproto.isPointInside = function (x, y) {\n var rp = this.realPath = getPath[this.type](this);\n if (this.attr('transform') && this.attr('transform').length) {\n rp = R.transformPath(rp, this.attr('transform'));\n }\n return R.isPointInsidePath(rp, x, y);\n };\n /*\\\n * Element.getBBox\n [ method ]\n **\n * Return bounding box for a given element\n **\n > Parameters\n **\n - isWithoutTransform (boolean) flag, `true` if you want to have bounding box before transformations. Default is `false`.\n = (object) Bounding box object:\n o {\n o x: (number) top left corner x\n o y: (number) top left corner y\n o x2: (number) bottom right corner x\n o y2: (number) bottom right corner y\n o width: (number) width\n o height: (number) height\n o }\n \\*/\n elproto.getBBox = function (isWithoutTransform) {\n if (this.removed) {\n return {};\n }\n var _ = this._;\n if (isWithoutTransform) {\n if (_.dirty || !_.bboxwt) {\n this.realPath = getPath[this.type](this);\n _.bboxwt = pathDimensions(this.realPath);\n _.bboxwt.toString = x_y_w_h;\n _.dirty = 0;\n }\n return _.bboxwt;\n }\n if (_.dirty || _.dirtyT || !_.bbox) {\n if (_.dirty || !this.realPath) {\n _.bboxwt = 0;\n this.realPath = getPath[this.type](this);\n }\n _.bbox = pathDimensions(mapPath(this.realPath, this.matrix));\n _.bbox.toString = x_y_w_h;\n _.dirty = _.dirtyT = 0;\n }\n return _.bbox;\n };\n /*\\\n * Element.clone\n [ method ]\n **\n = (object) clone of a given element\n **\n \\*/\n elproto.clone = function () {\n if (this.removed) {\n return null;\n }\n var out = this.paper[this.type]().attr(this.attr());\n this.__set__ && this.__set__.push(out);\n return out;\n };\n /*\\\n * Element.glow\n [ method ]\n **\n * Return set of elements that create glow-like effect around given element. See @Paper.set.\n *\n * Note: Glow is not connected to the element. If you change element attributes it won’t adjust itself.\n **\n > Parameters\n **\n - glow (object) #optional parameters object with all properties optional:\n o {\n o width (number) size of the glow, default is `10`\n o fill (boolean) will it be filled, default is `false`\n o opacity (number) opacity, default is `0.5`\n o offsetx (number) horizontal offset, default is `0`\n o offsety (number) vertical offset, default is `0`\n o color (string) glow colour, default is `black`\n o }\n = (object) @Paper.set of elements that represents glow\n \\*/\n elproto.glow = function (glow) {\n if (this.type == \"text\") {\n return null;\n }\n glow = glow || {};\n var s = {\n width: (glow.width || 10) + (+this.attr(\"stroke-width\") || 1),\n fill: glow.fill || false,\n opacity: glow.opacity || .5,\n offsetx: glow.offsetx || 0,\n offsety: glow.offsety || 0,\n color: glow.color || \"#000\"\n },\n c = s.width / 2,\n r = this.paper,\n out = r.set(),\n path = this.realPath || getPath[this.type](this);\n path = this.matrix ? mapPath(path, this.matrix) : path;\n for (var i = 1; i < c + 1; i++) {\n out.push(r.path(path).attr({\n stroke: s.color,\n fill: s.fill ? s.color : \"none\",\n \"stroke-linejoin\": \"round\",\n \"stroke-linecap\": \"round\",\n \"stroke-width\": +(s.width / c * i).toFixed(3),\n opacity: +(s.opacity / c).toFixed(3)\n }));\n }\n return out.insertBefore(this).translate(s.offsetx, s.offsety);\n };\n var curveslengths = {},\n getPointAtSegmentLength = function (p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, length) {\n if (length == null) {\n return bezlen(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y);\n } else {\n return R.findDotsAtSegment(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, getTatLen(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, length));\n }\n },\n getLengthFactory = function (istotal, subpath) {\n return function (path, length, onlystart) {\n path = path2curve(path);\n var x, y, p, l, sp = \"\", subpaths = {}, point,\n len = 0;\n for (var i = 0, ii = path.length; i < ii; i++) {\n p = path[i];\n if (p[0] == \"M\") {\n x = +p[1];\n y = +p[2];\n } else {\n l = getPointAtSegmentLength(x, y, p[1], p[2], p[3], p[4], p[5], p[6]);\n if (len + l > length) {\n if (subpath && !subpaths.start) {\n point = getPointAtSegmentLength(x, y, p[1], p[2], p[3], p[4], p[5], p[6], length - len);\n sp += [\"C\" + point.start.x, point.start.y, point.m.x, point.m.y, point.x, point.y];\n if (onlystart) {return sp;}\n subpaths.start = sp;\n sp = [\"M\" + point.x, point.y + \"C\" + point.n.x, point.n.y, point.end.x, point.end.y, p[5], p[6]].join();\n len += l;\n x = +p[5];\n y = +p[6];\n continue;\n }\n if (!istotal && !subpath) {\n point = getPointAtSegmentLength(x, y, p[1], p[2], p[3], p[4], p[5], p[6], length - len);\n return {x: point.x, y: point.y, alpha: point.alpha};\n }\n }\n len += l;\n x = +p[5];\n y = +p[6];\n }\n sp += p.shift() + p;\n }\n subpaths.end = sp;\n point = istotal ? len : subpath ? subpaths : R.findDotsAtSegment(x, y, p[0], p[1], p[2], p[3], p[4], p[5], 1);\n point.alpha && (point = {x: point.x, y: point.y, alpha: point.alpha});\n return point;\n };\n };\n var getTotalLength = getLengthFactory(1),\n getPointAtLength = getLengthFactory(),\n getSubpathsAtLength = getLengthFactory(0, 1);\n /*\\\n * Raphael.getTotalLength\n [ method ]\n **\n * Returns length of the given path in pixels.\n **\n > Parameters\n **\n - path (string) SVG path string.\n **\n = (number) length.\n \\*/\n R.getTotalLength = getTotalLength;\n /*\\\n * Raphael.getPointAtLength\n [ method ]\n **\n * Return coordinates of the point located at the given length on the given path.\n **\n > Parameters\n **\n - path (string) SVG path string\n - length (number)\n **\n = (object) representation of the point:\n o {\n o x: (number) x coordinate\n o y: (number) y coordinate\n o alpha: (number) angle of derivative\n o }\n \\*/\n R.getPointAtLength = getPointAtLength;\n /*\\\n * Raphael.getSubpath\n [ method ]\n **\n * Return subpath of a given path from given length to given length.\n **\n > Parameters\n **\n - path (string) SVG path string\n - from (number) position of the start of the segment\n - to (number) position of the end of the segment\n **\n = (string) pathstring for the segment\n \\*/\n R.getSubpath = function (path, from, to) {\n if (this.getTotalLength(path) - to < 1e-6) {\n return getSubpathsAtLength(path, from).end;\n }\n var a = getSubpathsAtLength(path, to, 1);\n return from ? getSubpathsAtLength(a, from).end : a;\n };\n /*\\\n * Element.getTotalLength\n [ method ]\n **\n * Returns length of the path in pixels. Only works for element of “path” type.\n = (number) length.\n \\*/\n elproto.getTotalLength = function () {\n var path = this.getPath();\n if (!path) {\n return;\n }\n\n if (this.node.getTotalLength) {\n return this.node.getTotalLength();\n }\n\n return getTotalLength(path);\n };\n /*\\\n * Element.getPointAtLength\n [ method ]\n **\n * Return coordinates of the point located at the given length on the given path. Only works for element of “path” type.\n **\n > Parameters\n **\n - length (number)\n **\n = (object) representation of the point:\n o {\n o x: (number) x coordinate\n o y: (number) y coordinate\n o alpha: (number) angle of derivative\n o }\n \\*/\n elproto.getPointAtLength = function (length) {\n var path = this.getPath();\n if (!path) {\n return;\n }\n\n return getPointAtLength(path, length);\n };\n /*\\\n * Element.getPath\n [ method ]\n **\n * Returns path of the element. Only works for elements of “path” type and simple elements like circle.\n = (object) path\n **\n \\*/\n elproto.getPath = function () {\n var path,\n getPath = R._getPath[this.type];\n\n if (this.type == \"text\" || this.type == \"set\") {\n return;\n }\n\n if (getPath) {\n path = getPath(this);\n }\n\n return path;\n };\n /*\\\n * Element.getSubpath\n [ method ]\n **\n * Return subpath of a given element from given length to given length. Only works for element of “path” type.\n **\n > Parameters\n **\n - from (number) position of the start of the segment\n - to (number) position of the end of the segment\n **\n = (string) pathstring for the segment\n \\*/\n elproto.getSubpath = function (from, to) {\n var path = this.getPath();\n if (!path) {\n return;\n }\n\n return R.getSubpath(path, from, to);\n };\n /*\\\n * Raphael.easing_formulas\n [ property ]\n **\n * Object that contains easing formulas for animation. You could extend it with your own. By default it has following list of easing:\n #
    \n #
  • “linear”
  • \n #
  • “<” or “easeIn” or “ease-in”
  • \n #
  • “>” or “easeOut” or “ease-out”
  • \n #
  • “<>” or “easeInOut” or “ease-in-out”
  • \n #
  • “backIn” or “back-in”
  • \n #
  • “backOut” or “back-out”
  • \n #
  • “elastic”
  • \n #
  • “bounce”
  • \n #
\n #

See also Easing demo.

\n \\*/\n var ef = R.easing_formulas = {\n linear: function (n) {\n return n;\n },\n \"<\": function (n) {\n return pow(n, 1.7);\n },\n \">\": function (n) {\n return pow(n, .48);\n },\n \"<>\": function (n) {\n var q = .48 - n / 1.04,\n Q = math.sqrt(.1734 + q * q),\n x = Q - q,\n X = pow(abs(x), 1 / 3) * (x < 0 ? -1 : 1),\n y = -Q - q,\n Y = pow(abs(y), 1 / 3) * (y < 0 ? -1 : 1),\n t = X + Y + .5;\n return (1 - t) * 3 * t * t + t * t * t;\n },\n backIn: function (n) {\n var s = 1.70158;\n return n * n * ((s + 1) * n - s);\n },\n backOut: function (n) {\n n = n - 1;\n var s = 1.70158;\n return n * n * ((s + 1) * n + s) + 1;\n },\n elastic: function (n) {\n if (n == !!n) {\n return n;\n }\n return pow(2, -10 * n) * math.sin((n - .075) * (2 * PI) / .3) + 1;\n },\n bounce: function (n) {\n var s = 7.5625,\n p = 2.75,\n l;\n if (n < (1 / p)) {\n l = s * n * n;\n } else {\n if (n < (2 / p)) {\n n -= (1.5 / p);\n l = s * n * n + .75;\n } else {\n if (n < (2.5 / p)) {\n n -= (2.25 / p);\n l = s * n * n + .9375;\n } else {\n n -= (2.625 / p);\n l = s * n * n + .984375;\n }\n }\n }\n return l;\n }\n };\n ef.easeIn = ef[\"ease-in\"] = ef[\"<\"];\n ef.easeOut = ef[\"ease-out\"] = ef[\">\"];\n ef.easeInOut = ef[\"ease-in-out\"] = ef[\"<>\"];\n ef[\"back-in\"] = ef.backIn;\n ef[\"back-out\"] = ef.backOut;\n\n var animationElements = [],\n requestAnimFrame = window.requestAnimationFrame ||\n window.webkitRequestAnimationFrame ||\n window.mozRequestAnimationFrame ||\n window.oRequestAnimationFrame ||\n window.msRequestAnimationFrame ||\n function (callback) {\n setTimeout(callback, 16);\n },\n animation = function () {\n var Now = +new Date,\n l = 0;\n for (; l < animationElements.length; l++) {\n var e = animationElements[l];\n if (e.el.removed || e.paused) {\n continue;\n }\n var time = Now - e.start,\n ms = e.ms,\n easing = e.easing,\n from = e.from,\n diff = e.diff,\n to = e.to,\n t = e.t,\n that = e.el,\n set = {},\n now,\n init = {},\n key;\n if (e.initstatus) {\n time = (e.initstatus * e.anim.top - e.prev) / (e.percent - e.prev) * ms;\n e.status = e.initstatus;\n delete e.initstatus;\n e.stop && animationElements.splice(l--, 1);\n } else {\n e.status = (e.prev + (e.percent - e.prev) * (time / ms)) / e.anim.top;\n }\n if (time < 0) {\n continue;\n }\n if (time < ms) {\n var pos = easing(time / ms);\n for (var attr in from) if (from[has](attr)) {\n switch (availableAnimAttrs[attr]) {\n case nu:\n now = +from[attr] + pos * ms * diff[attr];\n break;\n case \"colour\":\n now = \"rgb(\" + [\n upto255(round(from[attr].r + pos * ms * diff[attr].r)),\n upto255(round(from[attr].g + pos * ms * diff[attr].g)),\n upto255(round(from[attr].b + pos * ms * diff[attr].b))\n ].join(\",\") + \")\";\n break;\n case \"path\":\n now = [];\n for (var i = 0, ii = from[attr].length; i < ii; i++) {\n now[i] = [from[attr][i][0]];\n for (var j = 1, jj = from[attr][i].length; j < jj; j++) {\n now[i][j] = +from[attr][i][j] + pos * ms * diff[attr][i][j];\n }\n now[i] = now[i].join(S);\n }\n now = now.join(S);\n break;\n case \"transform\":\n if (diff[attr].real) {\n now = [];\n for (i = 0, ii = from[attr].length; i < ii; i++) {\n now[i] = [from[attr][i][0]];\n for (j = 1, jj = from[attr][i].length; j < jj; j++) {\n now[i][j] = from[attr][i][j] + pos * ms * diff[attr][i][j];\n }\n }\n } else {\n var get = function (i) {\n return +from[attr][i] + pos * ms * diff[attr][i];\n };\n // now = [[\"r\", get(2), 0, 0], [\"t\", get(3), get(4)], [\"s\", get(0), get(1), 0, 0]];\n now = [[\"m\", get(0), get(1), get(2), get(3), get(4), get(5)]];\n }\n break;\n case \"csv\":\n if (attr == \"clip-rect\") {\n now = [];\n i = 4;\n while (i--) {\n now[i] = +from[attr][i] + pos * ms * diff[attr][i];\n }\n }\n break;\n default:\n var from2 = [][concat](from[attr]);\n now = [];\n i = that.paper.customAttributes[attr].length;\n while (i--) {\n now[i] = +from2[i] + pos * ms * diff[attr][i];\n }\n break;\n }\n set[attr] = now;\n }\n that.attr(set);\n (function (id, that, anim) {\n setTimeout(function () {\n eve(\"raphael.anim.frame.\" + id, that, anim);\n });\n })(that.id, that, e.anim);\n } else {\n (function(f, el, a) {\n setTimeout(function() {\n eve(\"raphael.anim.frame.\" + el.id, el, a);\n eve(\"raphael.anim.finish.\" + el.id, el, a);\n R.is(f, \"function\") && f.call(el);\n });\n })(e.callback, that, e.anim);\n that.attr(to);\n animationElements.splice(l--, 1);\n if (e.repeat > 1 && !e.next) {\n for (key in to) if (to[has](key)) {\n init[key] = e.totalOrigin[key];\n }\n e.el.attr(init);\n runAnimation(e.anim, e.el, e.anim.percents[0], null, e.totalOrigin, e.repeat - 1);\n }\n if (e.next && !e.stop) {\n runAnimation(e.anim, e.el, e.next, null, e.totalOrigin, e.repeat);\n }\n }\n }\n R.svg && that && that.paper && that.paper.safari();\n animationElements.length && requestAnimFrame(animation);\n },\n upto255 = function (color) {\n return color > 255 ? 255 : color < 0 ? 0 : color;\n };\n /*\\\n * Element.animateWith\n [ method ]\n **\n * Acts similar to @Element.animate, but ensure that given animation runs in sync with another given element.\n **\n > Parameters\n **\n - el (object) element to sync with\n - anim (object) animation to sync with\n - params (object) #optional final attributes for the element, see also @Element.attr\n - ms (number) #optional number of milliseconds for animation to run\n - easing (string) #optional easing type. Accept on of @Raphael.easing_formulas or CSS format: `cubic‐bezier(XX, XX, XX, XX)`\n - callback (function) #optional callback function. Will be called at the end of animation.\n * or\n - element (object) element to sync with\n - anim (object) animation to sync with\n - animation (object) #optional animation object, see @Raphael.animation\n **\n = (object) original element\n \\*/\n elproto.animateWith = function (el, anim, params, ms, easing, callback) {\n var element = this;\n if (element.removed) {\n callback && callback.call(element);\n return element;\n }\n var a = params instanceof Animation ? params : R.animation(params, ms, easing, callback),\n x, y;\n runAnimation(a, element, a.percents[0], null, element.attr());\n for (var i = 0, ii = animationElements.length; i < ii; i++) {\n if (animationElements[i].anim == anim && animationElements[i].el == el) {\n animationElements[ii - 1].start = animationElements[i].start;\n break;\n }\n }\n return element;\n //\n //\n // var a = params ? R.animation(params, ms, easing, callback) : anim,\n // status = element.status(anim);\n // return this.animate(a).status(a, status * anim.ms / a.ms);\n };\n function CubicBezierAtTime(t, p1x, p1y, p2x, p2y, duration) {\n var cx = 3 * p1x,\n bx = 3 * (p2x - p1x) - cx,\n ax = 1 - cx - bx,\n cy = 3 * p1y,\n by = 3 * (p2y - p1y) - cy,\n ay = 1 - cy - by;\n function sampleCurveX(t) {\n return ((ax * t + bx) * t + cx) * t;\n }\n function solve(x, epsilon) {\n var t = solveCurveX(x, epsilon);\n return ((ay * t + by) * t + cy) * t;\n }\n function solveCurveX(x, epsilon) {\n var t0, t1, t2, x2, d2, i;\n for(t2 = x, i = 0; i < 8; i++) {\n x2 = sampleCurveX(t2) - x;\n if (abs(x2) < epsilon) {\n return t2;\n }\n d2 = (3 * ax * t2 + 2 * bx) * t2 + cx;\n if (abs(d2) < 1e-6) {\n break;\n }\n t2 = t2 - x2 / d2;\n }\n t0 = 0;\n t1 = 1;\n t2 = x;\n if (t2 < t0) {\n return t0;\n }\n if (t2 > t1) {\n return t1;\n }\n while (t0 < t1) {\n x2 = sampleCurveX(t2);\n if (abs(x2 - x) < epsilon) {\n return t2;\n }\n if (x > x2) {\n t0 = t2;\n } else {\n t1 = t2;\n }\n t2 = (t1 - t0) / 2 + t0;\n }\n return t2;\n }\n return solve(t, 1 / (200 * duration));\n }\n elproto.onAnimation = function (f) {\n f ? eve.on(\"raphael.anim.frame.\" + this.id, f) : eve.unbind(\"raphael.anim.frame.\" + this.id);\n return this;\n };\n function Animation(anim, ms) {\n var percents = [],\n newAnim = {};\n this.ms = ms;\n this.times = 1;\n if (anim) {\n for (var attr in anim) if (anim[has](attr)) {\n newAnim[toFloat(attr)] = anim[attr];\n percents.push(toFloat(attr));\n }\n percents.sort(sortByNumber);\n }\n this.anim = newAnim;\n this.top = percents[percents.length - 1];\n this.percents = percents;\n }\n /*\\\n * Animation.delay\n [ method ]\n **\n * Creates a copy of existing animation object with given delay.\n **\n > Parameters\n **\n - delay (number) number of ms to pass between animation start and actual animation\n **\n = (object) new altered Animation object\n | var anim = Raphael.animation({cx: 10, cy: 20}, 2e3);\n | circle1.animate(anim); // run the given animation immediately\n | circle2.animate(anim.delay(500)); // run the given animation after 500 ms\n \\*/\n Animation.prototype.delay = function (delay) {\n var a = new Animation(this.anim, this.ms);\n a.times = this.times;\n a.del = +delay || 0;\n return a;\n };\n /*\\\n * Animation.repeat\n [ method ]\n **\n * Creates a copy of existing animation object with given repetition.\n **\n > Parameters\n **\n - repeat (number) number iterations of animation. For infinite animation pass `Infinity`\n **\n = (object) new altered Animation object\n \\*/\n Animation.prototype.repeat = function (times) {\n var a = new Animation(this.anim, this.ms);\n a.del = this.del;\n a.times = math.floor(mmax(times, 0)) || 1;\n return a;\n };\n function runAnimation(anim, element, percent, status, totalOrigin, times) {\n percent = toFloat(percent);\n var params,\n isInAnim,\n isInAnimSet,\n percents = [],\n next,\n prev,\n timestamp,\n ms = anim.ms,\n from = {},\n to = {},\n diff = {};\n if (status) {\n for (i = 0, ii = animationElements.length; i < ii; i++) {\n var e = animationElements[i];\n if (e.el.id == element.id && e.anim == anim) {\n if (e.percent != percent) {\n animationElements.splice(i, 1);\n isInAnimSet = 1;\n } else {\n isInAnim = e;\n }\n element.attr(e.totalOrigin);\n break;\n }\n }\n } else {\n status = +to; // NaN\n }\n for (var i = 0, ii = anim.percents.length; i < ii; i++) {\n if (anim.percents[i] == percent || anim.percents[i] > status * anim.top) {\n percent = anim.percents[i];\n prev = anim.percents[i - 1] || 0;\n ms = ms / anim.top * (percent - prev);\n next = anim.percents[i + 1];\n params = anim.anim[percent];\n break;\n } else if (status) {\n element.attr(anim.anim[anim.percents[i]]);\n }\n }\n if (!params) {\n return;\n }\n if (!isInAnim) {\n for (var attr in params) if (params[has](attr)) {\n if (availableAnimAttrs[has](attr) || element.paper.customAttributes[has](attr)) {\n from[attr] = element.attr(attr);\n (from[attr] == null) && (from[attr] = availableAttrs[attr]);\n to[attr] = params[attr];\n switch (availableAnimAttrs[attr]) {\n case nu:\n diff[attr] = (to[attr] - from[attr]) / ms;\n break;\n case \"colour\":\n from[attr] = R.getRGB(from[attr]);\n var toColour = R.getRGB(to[attr]);\n diff[attr] = {\n r: (toColour.r - from[attr].r) / ms,\n g: (toColour.g - from[attr].g) / ms,\n b: (toColour.b - from[attr].b) / ms\n };\n break;\n case \"path\":\n var pathes = path2curve(from[attr], to[attr]),\n toPath = pathes[1];\n from[attr] = pathes[0];\n diff[attr] = [];\n for (i = 0, ii = from[attr].length; i < ii; i++) {\n diff[attr][i] = [0];\n for (var j = 1, jj = from[attr][i].length; j < jj; j++) {\n diff[attr][i][j] = (toPath[i][j] - from[attr][i][j]) / ms;\n }\n }\n break;\n case \"transform\":\n var _ = element._,\n eq = equaliseTransform(_[attr], to[attr]);\n if (eq) {\n from[attr] = eq.from;\n to[attr] = eq.to;\n diff[attr] = [];\n diff[attr].real = true;\n for (i = 0, ii = from[attr].length; i < ii; i++) {\n diff[attr][i] = [from[attr][i][0]];\n for (j = 1, jj = from[attr][i].length; j < jj; j++) {\n diff[attr][i][j] = (to[attr][i][j] - from[attr][i][j]) / ms;\n }\n }\n } else {\n var m = (element.matrix || new Matrix),\n to2 = {\n _: {transform: _.transform},\n getBBox: function () {\n return element.getBBox(1);\n }\n };\n from[attr] = [\n m.a,\n m.b,\n m.c,\n m.d,\n m.e,\n m.f\n ];\n extractTransform(to2, to[attr]);\n to[attr] = to2._.transform;\n diff[attr] = [\n (to2.matrix.a - m.a) / ms,\n (to2.matrix.b - m.b) / ms,\n (to2.matrix.c - m.c) / ms,\n (to2.matrix.d - m.d) / ms,\n (to2.matrix.e - m.e) / ms,\n (to2.matrix.f - m.f) / ms\n ];\n // from[attr] = [_.sx, _.sy, _.deg, _.dx, _.dy];\n // var to2 = {_:{}, getBBox: function () { return element.getBBox(); }};\n // extractTransform(to2, to[attr]);\n // diff[attr] = [\n // (to2._.sx - _.sx) / ms,\n // (to2._.sy - _.sy) / ms,\n // (to2._.deg - _.deg) / ms,\n // (to2._.dx - _.dx) / ms,\n // (to2._.dy - _.dy) / ms\n // ];\n }\n break;\n case \"csv\":\n var values = Str(params[attr])[split](separator),\n from2 = Str(from[attr])[split](separator);\n if (attr == \"clip-rect\") {\n from[attr] = from2;\n diff[attr] = [];\n i = from2.length;\n while (i--) {\n diff[attr][i] = (values[i] - from[attr][i]) / ms;\n }\n }\n to[attr] = values;\n break;\n default:\n values = [][concat](params[attr]);\n from2 = [][concat](from[attr]);\n diff[attr] = [];\n i = element.paper.customAttributes[attr].length;\n while (i--) {\n diff[attr][i] = ((values[i] || 0) - (from2[i] || 0)) / ms;\n }\n break;\n }\n }\n }\n var easing = params.easing,\n easyeasy = R.easing_formulas[easing];\n if (!easyeasy) {\n easyeasy = Str(easing).match(bezierrg);\n if (easyeasy && easyeasy.length == 5) {\n var curve = easyeasy;\n easyeasy = function (t) {\n return CubicBezierAtTime(t, +curve[1], +curve[2], +curve[3], +curve[4], ms);\n };\n } else {\n easyeasy = pipe;\n }\n }\n timestamp = params.start || anim.start || +new Date;\n e = {\n anim: anim,\n percent: percent,\n timestamp: timestamp,\n start: timestamp + (anim.del || 0),\n status: 0,\n initstatus: status || 0,\n stop: false,\n ms: ms,\n easing: easyeasy,\n from: from,\n diff: diff,\n to: to,\n el: element,\n callback: params.callback,\n prev: prev,\n next: next,\n repeat: times || anim.times,\n origin: element.attr(),\n totalOrigin: totalOrigin\n };\n animationElements.push(e);\n if (status && !isInAnim && !isInAnimSet) {\n e.stop = true;\n e.start = new Date - ms * status;\n if (animationElements.length == 1) {\n return animation();\n }\n }\n if (isInAnimSet) {\n e.start = new Date - e.ms * status;\n }\n animationElements.length == 1 && requestAnimFrame(animation);\n } else {\n isInAnim.initstatus = status;\n isInAnim.start = new Date - isInAnim.ms * status;\n }\n eve(\"raphael.anim.start.\" + element.id, element, anim);\n }\n /*\\\n * Raphael.animation\n [ method ]\n **\n * Creates an animation object that can be passed to the @Element.animate or @Element.animateWith methods.\n * See also @Animation.delay and @Animation.repeat methods.\n **\n > Parameters\n **\n - params (object) final attributes for the element, see also @Element.attr\n - ms (number) number of milliseconds for animation to run\n - easing (string) #optional easing type. Accept one of @Raphael.easing_formulas or CSS format: `cubic‐bezier(XX, XX, XX, XX)`\n - callback (function) #optional callback function. Will be called at the end of animation.\n **\n = (object) @Animation\n \\*/\n R.animation = function (params, ms, easing, callback) {\n if (params instanceof Animation) {\n return params;\n }\n if (R.is(easing, \"function\") || !easing) {\n callback = callback || easing || null;\n easing = null;\n }\n params = Object(params);\n ms = +ms || 0;\n var p = {},\n json,\n attr;\n for (attr in params) if (params[has](attr) && toFloat(attr) != attr && toFloat(attr) + \"%\" != attr) {\n json = true;\n p[attr] = params[attr];\n }\n if (!json) {\n // if percent-like syntax is used and end-of-all animation callback used\n if(callback){\n // find the last one\n var lastKey = 0;\n for(var i in params){\n var percent = toInt(i);\n if(params[has](i) && percent > lastKey){\n lastKey = percent;\n }\n }\n lastKey += '%';\n // if already defined callback in the last keyframe, skip\n !params[lastKey].callback && (params[lastKey].callback = callback);\n }\n return new Animation(params, ms);\n } else {\n easing && (p.easing = easing);\n callback && (p.callback = callback);\n return new Animation({100: p}, ms);\n }\n };\n /*\\\n * Element.animate\n [ method ]\n **\n * Creates and starts animation for given element.\n **\n > Parameters\n **\n - params (object) final attributes for the element, see also @Element.attr\n - ms (number) number of milliseconds for animation to run\n - easing (string) #optional easing type. Accept one of @Raphael.easing_formulas or CSS format: `cubic‐bezier(XX, XX, XX, XX)`\n - callback (function) #optional callback function. Will be called at the end of animation.\n * or\n - animation (object) animation object, see @Raphael.animation\n **\n = (object) original element\n \\*/\n elproto.animate = function (params, ms, easing, callback) {\n var element = this;\n if (element.removed) {\n callback && callback.call(element);\n return element;\n }\n var anim = params instanceof Animation ? params : R.animation(params, ms, easing, callback);\n runAnimation(anim, element, anim.percents[0], null, element.attr());\n return element;\n };\n /*\\\n * Element.setTime\n [ method ]\n **\n * Sets the status of animation of the element in milliseconds. Similar to @Element.status method.\n **\n > Parameters\n **\n - anim (object) animation object\n - value (number) number of milliseconds from the beginning of the animation\n **\n = (object) original element if `value` is specified\n * Note, that during animation following events are triggered:\n *\n * On each animation frame event `anim.frame.`, on start `anim.start.` and on end `anim.finish.`.\n \\*/\n elproto.setTime = function (anim, value) {\n if (anim && value != null) {\n this.status(anim, mmin(value, anim.ms) / anim.ms);\n }\n return this;\n };\n /*\\\n * Element.status\n [ method ]\n **\n * Gets or sets the status of animation of the element.\n **\n > Parameters\n **\n - anim (object) #optional animation object\n - value (number) #optional 0 – 1. If specified, method works like a setter and sets the status of a given animation to the value. This will cause animation to jump to the given position.\n **\n = (number) status\n * or\n = (array) status if `anim` is not specified. Array of objects in format:\n o {\n o anim: (object) animation object\n o status: (number) status\n o }\n * or\n = (object) original element if `value` is specified\n \\*/\n elproto.status = function (anim, value) {\n var out = [],\n i = 0,\n len,\n e;\n if (value != null) {\n runAnimation(anim, this, -1, mmin(value, 1));\n return this;\n } else {\n len = animationElements.length;\n for (; i < len; i++) {\n e = animationElements[i];\n if (e.el.id == this.id && (!anim || e.anim == anim)) {\n if (anim) {\n return e.status;\n }\n out.push({\n anim: e.anim,\n status: e.status\n });\n }\n }\n if (anim) {\n return 0;\n }\n return out;\n }\n };\n /*\\\n * Element.pause\n [ method ]\n **\n * Stops animation of the element with ability to resume it later on.\n **\n > Parameters\n **\n - anim (object) #optional animation object\n **\n = (object) original element\n \\*/\n elproto.pause = function (anim) {\n for (var i = 0; i < animationElements.length; i++) if (animationElements[i].el.id == this.id && (!anim || animationElements[i].anim == anim)) {\n if (eve(\"raphael.anim.pause.\" + this.id, this, animationElements[i].anim) !== false) {\n animationElements[i].paused = true;\n }\n }\n return this;\n };\n /*\\\n * Element.resume\n [ method ]\n **\n * Resumes animation if it was paused with @Element.pause method.\n **\n > Parameters\n **\n - anim (object) #optional animation object\n **\n = (object) original element\n \\*/\n elproto.resume = function (anim) {\n for (var i = 0; i < animationElements.length; i++) if (animationElements[i].el.id == this.id && (!anim || animationElements[i].anim == anim)) {\n var e = animationElements[i];\n if (eve(\"raphael.anim.resume.\" + this.id, this, e.anim) !== false) {\n delete e.paused;\n this.status(e.anim, e.status);\n }\n }\n return this;\n };\n /*\\\n * Element.stop\n [ method ]\n **\n * Stops animation of the element.\n **\n > Parameters\n **\n - anim (object) #optional animation object\n **\n = (object) original element\n \\*/\n elproto.stop = function (anim) {\n for (var i = 0; i < animationElements.length; i++) if (animationElements[i].el.id == this.id && (!anim || animationElements[i].anim == anim)) {\n if (eve(\"raphael.anim.stop.\" + this.id, this, animationElements[i].anim) !== false) {\n animationElements.splice(i--, 1);\n }\n }\n return this;\n };\n function stopAnimation(paper) {\n for (var i = 0; i < animationElements.length; i++) if (animationElements[i].el.paper == paper) {\n animationElements.splice(i--, 1);\n }\n }\n eve.on(\"raphael.remove\", stopAnimation);\n eve.on(\"raphael.clear\", stopAnimation);\n elproto.toString = function () {\n return \"Rapha\\xebl\\u2019s object\";\n };\n\n // Set\n var Set = function (items) {\n this.items = [];\n this.length = 0;\n this.type = \"set\";\n if (items) {\n for (var i = 0, ii = items.length; i < ii; i++) {\n if (items[i] && (items[i].constructor == elproto.constructor || items[i].constructor == Set)) {\n this[this.items.length] = this.items[this.items.length] = items[i];\n this.length++;\n }\n }\n }\n },\n setproto = Set.prototype;\n /*\\\n * Set.push\n [ method ]\n **\n * Adds each argument to the current set.\n = (object) original element\n \\*/\n setproto.push = function () {\n var item,\n len;\n for (var i = 0, ii = arguments.length; i < ii; i++) {\n item = arguments[i];\n if (item && (item.constructor == elproto.constructor || item.constructor == Set)) {\n len = this.items.length;\n this[len] = this.items[len] = item;\n this.length++;\n }\n }\n return this;\n };\n /*\\\n * Set.pop\n [ method ]\n **\n * Removes last element and returns it.\n = (object) element\n \\*/\n setproto.pop = function () {\n this.length && delete this[this.length--];\n return this.items.pop();\n };\n /*\\\n * Set.forEach\n [ method ]\n **\n * Executes given function for each element in the set.\n *\n * If function returns `false` it will stop loop running.\n **\n > Parameters\n **\n - callback (function) function to run\n - thisArg (object) context object for the callback\n = (object) Set object\n \\*/\n setproto.forEach = function (callback, thisArg) {\n for (var i = 0, ii = this.items.length; i < ii; i++) {\n if (callback.call(thisArg, this.items[i], i) === false) {\n return this;\n }\n }\n return this;\n };\n for (var method in elproto) if (elproto[has](method)) {\n setproto[method] = (function (methodname) {\n return function () {\n var arg = arguments;\n return this.forEach(function (el) {\n el[methodname][apply](el, arg);\n });\n };\n })(method);\n }\n setproto.attr = function (name, value) {\n if (name && R.is(name, array) && R.is(name[0], \"object\")) {\n for (var j = 0, jj = name.length; j < jj; j++) {\n this.items[j].attr(name[j]);\n }\n } else {\n for (var i = 0, ii = this.items.length; i < ii; i++) {\n this.items[i].attr(name, value);\n }\n }\n return this;\n };\n /*\\\n * Set.clear\n [ method ]\n **\n * Removes all elements from the set\n \\*/\n setproto.clear = function () {\n while (this.length) {\n this.pop();\n }\n };\n /*\\\n * Set.splice\n [ method ]\n **\n * Removes given element from the set\n **\n > Parameters\n **\n - index (number) position of the deletion\n - count (number) number of element to remove\n - insertion… (object) #optional elements to insert\n = (object) set elements that were deleted\n \\*/\n setproto.splice = function (index, count, insertion) {\n index = index < 0 ? mmax(this.length + index, 0) : index;\n count = mmax(0, mmin(this.length - index, count));\n var tail = [],\n todel = [],\n args = [],\n i;\n for (i = 2; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n for (i = 0; i < count; i++) {\n todel.push(this[index + i]);\n }\n for (; i < this.length - index; i++) {\n tail.push(this[index + i]);\n }\n var arglen = args.length;\n for (i = 0; i < arglen + tail.length; i++) {\n this.items[index + i] = this[index + i] = i < arglen ? args[i] : tail[i - arglen];\n }\n i = this.items.length = this.length -= count - arglen;\n while (this[i]) {\n delete this[i++];\n }\n return new Set(todel);\n };\n /*\\\n * Set.exclude\n [ method ]\n **\n * Removes given element from the set\n **\n > Parameters\n **\n - element (object) element to remove\n = (boolean) `true` if object was found & removed from the set\n \\*/\n setproto.exclude = function (el) {\n for (var i = 0, ii = this.length; i < ii; i++) if (this[i] == el) {\n this.splice(i, 1);\n return true;\n }\n };\n setproto.animate = function (params, ms, easing, callback) {\n (R.is(easing, \"function\") || !easing) && (callback = easing || null);\n var len = this.items.length,\n i = len,\n item,\n set = this,\n collector;\n if (!len) {\n return this;\n }\n callback && (collector = function () {\n !--len && callback.call(set);\n });\n easing = R.is(easing, string) ? easing : collector;\n var anim = R.animation(params, ms, easing, collector);\n item = this.items[--i].animate(anim);\n while (i--) {\n this.items[i] && !this.items[i].removed && this.items[i].animateWith(item, anim, anim);\n (this.items[i] && !this.items[i].removed) || len--;\n }\n return this;\n };\n setproto.insertAfter = function (el) {\n var i = this.items.length;\n while (i--) {\n this.items[i].insertAfter(el);\n }\n return this;\n };\n setproto.getBBox = function () {\n var x = [],\n y = [],\n x2 = [],\n y2 = [];\n for (var i = this.items.length; i--;) if (!this.items[i].removed) {\n var box = this.items[i].getBBox();\n x.push(box.x);\n y.push(box.y);\n x2.push(box.x + box.width);\n y2.push(box.y + box.height);\n }\n x = mmin[apply](0, x);\n y = mmin[apply](0, y);\n x2 = mmax[apply](0, x2);\n y2 = mmax[apply](0, y2);\n return {\n x: x,\n y: y,\n x2: x2,\n y2: y2,\n width: x2 - x,\n height: y2 - y\n };\n };\n setproto.clone = function (s) {\n s = this.paper.set();\n for (var i = 0, ii = this.items.length; i < ii; i++) {\n s.push(this.items[i].clone());\n }\n return s;\n };\n setproto.toString = function () {\n return \"Rapha\\xebl\\u2018s set\";\n };\n\n setproto.glow = function(glowConfig) {\n var ret = this.paper.set();\n this.forEach(function(shape, index){\n var g = shape.glow(glowConfig);\n if(g != null){\n g.forEach(function(shape2, index2){\n ret.push(shape2);\n });\n }\n });\n return ret;\n };\n\n\n /*\\\n * Set.isPointInside\n [ method ]\n **\n * Determine if given point is inside this set’s elements\n **\n > Parameters\n **\n - x (number) x coordinate of the point\n - y (number) y coordinate of the point\n = (boolean) `true` if point is inside any of the set's elements\n \\*/\n setproto.isPointInside = function (x, y) {\n var isPointInside = false;\n this.forEach(function (el) {\n if (el.isPointInside(x, y)) {\n isPointInside = true;\n return false; // stop loop\n }\n });\n return isPointInside;\n };\n\n /*\\\n * Raphael.registerFont\n [ method ]\n **\n * Adds given font to the registered set of fonts for Raphaël. Should be used as an internal call from within Cufón’s font file.\n * Returns original parameter, so it could be used with chaining.\n # More about Cufón and how to convert your font form TTF, OTF, etc to JavaScript file.\n **\n > Parameters\n **\n - font (object) the font to register\n = (object) the font you passed in\n > Usage\n | Cufon.registerFont(Raphael.registerFont({…}));\n \\*/\n R.registerFont = function (font) {\n if (!font.face) {\n return font;\n }\n this.fonts = this.fonts || {};\n var fontcopy = {\n w: font.w,\n face: {},\n glyphs: {}\n },\n family = font.face[\"font-family\"];\n for (var prop in font.face) if (font.face[has](prop)) {\n fontcopy.face[prop] = font.face[prop];\n }\n if (this.fonts[family]) {\n this.fonts[family].push(fontcopy);\n } else {\n this.fonts[family] = [fontcopy];\n }\n if (!font.svg) {\n fontcopy.face[\"units-per-em\"] = toInt(font.face[\"units-per-em\"], 10);\n for (var glyph in font.glyphs) if (font.glyphs[has](glyph)) {\n var path = font.glyphs[glyph];\n fontcopy.glyphs[glyph] = {\n w: path.w,\n k: {},\n d: path.d && \"M\" + path.d.replace(/[mlcxtrv]/g, function (command) {\n return {l: \"L\", c: \"C\", x: \"z\", t: \"m\", r: \"l\", v: \"c\"}[command] || \"M\";\n }) + \"z\"\n };\n if (path.k) {\n for (var k in path.k) if (path[has](k)) {\n fontcopy.glyphs[glyph].k[k] = path.k[k];\n }\n }\n }\n }\n return font;\n };\n /*\\\n * Paper.getFont\n [ method ]\n **\n * Finds font object in the registered fonts by given parameters. You could specify only one word from the font name, like “Myriad” for “Myriad Pro”.\n **\n > Parameters\n **\n - family (string) font family name or any word from it\n - weight (string) #optional font weight\n - style (string) #optional font style\n - stretch (string) #optional font stretch\n = (object) the font object\n > Usage\n | paper.print(100, 100, \"Test string\", paper.getFont(\"Times\", 800), 30);\n \\*/\n paperproto.getFont = function (family, weight, style, stretch) {\n stretch = stretch || \"normal\";\n style = style || \"normal\";\n weight = +weight || {normal: 400, bold: 700, lighter: 300, bolder: 800}[weight] || 400;\n if (!R.fonts) {\n return;\n }\n var font = R.fonts[family];\n if (!font) {\n var name = new RegExp(\"(^|\\\\s)\" + family.replace(/[^\\w\\d\\s+!~.:_-]/g, E) + \"(\\\\s|$)\", \"i\");\n for (var fontName in R.fonts) if (R.fonts[has](fontName)) {\n if (name.test(fontName)) {\n font = R.fonts[fontName];\n break;\n }\n }\n }\n var thefont;\n if (font) {\n for (var i = 0, ii = font.length; i < ii; i++) {\n thefont = font[i];\n if (thefont.face[\"font-weight\"] == weight && (thefont.face[\"font-style\"] == style || !thefont.face[\"font-style\"]) && thefont.face[\"font-stretch\"] == stretch) {\n break;\n }\n }\n }\n return thefont;\n };\n /*\\\n * Paper.print\n [ method ]\n **\n * Creates path that represent given text written using given font at given position with given size.\n * Result of the method is path element that contains whole text as a separate path.\n **\n > Parameters\n **\n - x (number) x position of the text\n - y (number) y position of the text\n - string (string) text to print\n - font (object) font object, see @Paper.getFont\n - size (number) #optional size of the font, default is `16`\n - origin (string) #optional could be `\"baseline\"` or `\"middle\"`, default is `\"middle\"`\n - letter_spacing (number) #optional number in range `-1..1`, default is `0`\n - line_spacing (number) #optional number in range `1..3`, default is `1`\n = (object) resulting path element, which consist of all letters\n > Usage\n | var txt = r.print(10, 50, \"print\", r.getFont(\"Museo\"), 30).attr({fill: \"#fff\"});\n \\*/\n paperproto.print = function (x, y, string, font, size, origin, letter_spacing, line_spacing) {\n origin = origin || \"middle\"; // baseline|middle\n letter_spacing = mmax(mmin(letter_spacing || 0, 1), -1);\n line_spacing = mmax(mmin(line_spacing || 1, 3), 1);\n var letters = Str(string)[split](E),\n shift = 0,\n notfirst = 0,\n path = E,\n scale;\n R.is(font, \"string\") && (font = this.getFont(font));\n if (font) {\n scale = (size || 16) / font.face[\"units-per-em\"];\n var bb = font.face.bbox[split](separator),\n top = +bb[0],\n lineHeight = bb[3] - bb[1],\n shifty = 0,\n height = +bb[1] + (origin == \"baseline\" ? lineHeight + (+font.face.descent) : lineHeight / 2);\n for (var i = 0, ii = letters.length; i < ii; i++) {\n if (letters[i] == \"\\n\") {\n shift = 0;\n curr = 0;\n notfirst = 0;\n shifty += lineHeight * line_spacing;\n } else {\n var prev = notfirst && font.glyphs[letters[i - 1]] || {},\n curr = font.glyphs[letters[i]];\n shift += notfirst ? (prev.w || font.w) + (prev.k && prev.k[letters[i]] || 0) + (font.w * letter_spacing) : 0;\n notfirst = 1;\n }\n if (curr && curr.d) {\n path += R.transformPath(curr.d, [\"t\", shift * scale, shifty * scale, \"s\", scale, scale, top, height, \"t\", (x - top) / scale, (y - height) / scale]);\n }\n }\n }\n return this.path(path).attr({\n fill: \"#000\",\n stroke: \"none\"\n });\n };\n\n /*\\\n * Paper.add\n [ method ]\n **\n * Imports elements in JSON array in format `{type: type, }`\n **\n > Parameters\n **\n - json (array)\n = (object) resulting set of imported elements\n > Usage\n | paper.add([\n | {\n | type: \"circle\",\n | cx: 10,\n | cy: 10,\n | r: 5\n | },\n | {\n | type: \"rect\",\n | x: 10,\n | y: 10,\n | width: 10,\n | height: 10,\n | fill: \"#fc0\"\n | }\n | ]);\n \\*/\n paperproto.add = function (json) {\n if (R.is(json, \"array\")) {\n var res = this.set(),\n i = 0,\n ii = json.length,\n j;\n for (; i < ii; i++) {\n j = json[i] || {};\n elements[has](j.type) && res.push(this[j.type]().attr(j));\n }\n }\n return res;\n };\n\n /*\\\n * Raphael.format\n [ method ]\n **\n * Simple format function. Replaces construction of type “`{}`” to the corresponding argument.\n **\n > Parameters\n **\n - token (string) string to format\n - … (string) rest of arguments will be treated as parameters for replacement\n = (string) formated string\n > Usage\n | var x = 10,\n | y = 20,\n | width = 40,\n | height = 50;\n | // this will draw a rectangular shape equivalent to \"M10,20h40v50h-40z\"\n | paper.path(Raphael.format(\"M{0},{1}h{2}v{3}h{4}z\", x, y, width, height, -width));\n \\*/\n R.format = function (token, params) {\n var args = R.is(params, array) ? [0][concat](params) : arguments;\n token && R.is(token, string) && args.length - 1 && (token = token.replace(formatrg, function (str, i) {\n return args[++i] == null ? E : args[i];\n }));\n return token || E;\n };\n /*\\\n * Raphael.fullfill\n [ method ]\n **\n * A little bit more advanced format function than @Raphael.format. Replaces construction of type “`{}`” to the corresponding argument.\n **\n > Parameters\n **\n - token (string) string to format\n - json (object) object which properties will be used as a replacement\n = (string) formated string\n > Usage\n | // this will draw a rectangular shape equivalent to \"M10,20h40v50h-40z\"\n | paper.path(Raphael.fullfill(\"M{x},{y}h{dim.width}v{dim.height}h{dim['negative width']}z\", {\n | x: 10,\n | y: 20,\n | dim: {\n | width: 40,\n | height: 50,\n | \"negative width\": -40\n | }\n | }));\n \\*/\n R.fullfill = (function () {\n var tokenRegex = /\\{([^\\}]+)\\}/g,\n objNotationRegex = /(?:(?:^|\\.)(.+?)(?=\\[|\\.|$|\\()|\\[('|\")(.+?)\\2\\])(\\(\\))?/g, // matches .xxxxx or [\"xxxxx\"] to run over object properties\n replacer = function (all, key, obj) {\n var res = obj;\n key.replace(objNotationRegex, function (all, name, quote, quotedName, isFunc) {\n name = name || quotedName;\n if (res) {\n if (name in res) {\n res = res[name];\n }\n typeof res == \"function\" && isFunc && (res = res());\n }\n });\n res = (res == null || res == obj ? all : res) + \"\";\n return res;\n };\n return function (str, obj) {\n return String(str).replace(tokenRegex, function (all, key) {\n return replacer(all, key, obj);\n });\n };\n })();\n /*\\\n * Raphael.ninja\n [ method ]\n **\n * If you want to leave no trace of Raphaël (Well, Raphaël creates only one global variable `Raphael`, but anyway.) You can use `ninja` method.\n * Beware, that in this case plugins could stop working, because they are depending on global variable existance.\n **\n = (object) Raphael object\n > Usage\n | (function (local_raphael) {\n | var paper = local_raphael(10, 10, 320, 200);\n | …\n | })(Raphael.ninja());\n \\*/\n R.ninja = function () {\n oldRaphael.was ? (g.win.Raphael = oldRaphael.is) : delete Raphael;\n return R;\n };\n /*\\\n * Raphael.st\n [ property (object) ]\n **\n * You can add your own method to elements and sets. It is wise to add a set method for each element method\n * you added, so you will be able to call the same method on sets too.\n **\n * See also @Raphael.el.\n > Usage\n | Raphael.el.red = function () {\n | this.attr({fill: \"#f00\"});\n | };\n | Raphael.st.red = function () {\n | this.forEach(function (el) {\n | el.red();\n | });\n | };\n | // then use it\n | paper.set(paper.circle(100, 100, 20), paper.circle(110, 100, 20)).red();\n \\*/\n R.st = setproto;\n\n eve.on(\"raphael.DOMload\", function () {\n loaded = true;\n });\n\n // Firefox <3.6 fix: http://webreflection.blogspot.com/2009/11/195-chars-to-help-lazy-loading.html\n (function (doc, loaded, f) {\n if (doc.readyState == null && doc.addEventListener){\n doc.addEventListener(loaded, f = function () {\n doc.removeEventListener(loaded, f, false);\n doc.readyState = \"complete\";\n }, false);\n doc.readyState = \"loading\";\n }\n function isLoaded() {\n (/in/).test(doc.readyState) ? setTimeout(isLoaded, 9) : R.eve(\"raphael.DOMload\");\n }\n isLoaded();\n })(document, \"DOMContentLoaded\");\n\n// ┌─────────────────────────────────────────────────────────────────────┐ \\\\\n// │ Raphaël - JavaScript Vector Library │ \\\\\n// ├─────────────────────────────────────────────────────────────────────┤ \\\\\n// │ SVG Module │ \\\\\n// ├─────────────────────────────────────────────────────────────────────┤ \\\\\n// │ Copyright (c) 2008-2011 Dmitry Baranovskiy (http://raphaeljs.com) │ \\\\\n// │ Copyright (c) 2008-2011 Sencha Labs (http://sencha.com) │ \\\\\n// │ Licensed under the MIT (http://raphaeljs.com/license.html) license. │ \\\\\n// └─────────────────────────────────────────────────────────────────────┘ \\\\\n\n(function(){\n if (!R.svg) {\n return;\n }\n var has = \"hasOwnProperty\",\n Str = String,\n toFloat = parseFloat,\n toInt = parseInt,\n math = Math,\n mmax = math.max,\n abs = math.abs,\n pow = math.pow,\n separator = /[, ]+/,\n eve = R.eve,\n E = \"\",\n S = \" \";\n var xlink = \"http://www.w3.org/1999/xlink\",\n markers = {\n block: \"M5,0 0,2.5 5,5z\",\n classic: \"M5,0 0,2.5 5,5 3.5,3 3.5,2z\",\n diamond: \"M2.5,0 5,2.5 2.5,5 0,2.5z\",\n open: \"M6,1 1,3.5 6,6\",\n oval: \"M2.5,0A2.5,2.5,0,0,1,2.5,5 2.5,2.5,0,0,1,2.5,0z\"\n },\n markerCounter = {};\n R.toString = function () {\n return \"Your browser supports SVG.\\nYou are running Rapha\\xebl \" + this.version;\n };\n var $ = function (el, attr) {\n if (attr) {\n if (typeof el == \"string\") {\n el = $(el);\n }\n for (var key in attr) if (attr[has](key)) {\n if (key.substring(0, 6) == \"xlink:\") {\n el.setAttributeNS(xlink, key.substring(6), Str(attr[key]));\n } else {\n el.setAttribute(key, Str(attr[key]));\n }\n }\n } else {\n el = R._g.doc.createElementNS(\"http://www.w3.org/2000/svg\", el);\n el.style && (el.style.webkitTapHighlightColor = \"rgba(0,0,0,0)\");\n }\n return el;\n },\n addGradientFill = function (element, gradient) {\n var type = \"linear\",\n id = element.id + gradient,\n fx = .5, fy = .5,\n o = element.node,\n SVG = element.paper,\n s = o.style,\n el = R._g.doc.getElementById(id);\n if (!el) {\n gradient = Str(gradient).replace(R._radial_gradient, function (all, _fx, _fy) {\n type = \"radial\";\n if (_fx && _fy) {\n fx = toFloat(_fx);\n fy = toFloat(_fy);\n var dir = ((fy > .5) * 2 - 1);\n pow(fx - .5, 2) + pow(fy - .5, 2) > .25 &&\n (fy = math.sqrt(.25 - pow(fx - .5, 2)) * dir + .5) &&\n fy != .5 &&\n (fy = fy.toFixed(5) - 1e-5 * dir);\n }\n return E;\n });\n gradient = gradient.split(/\\s*\\-\\s*/);\n if (type == \"linear\") {\n var angle = gradient.shift();\n angle = -toFloat(angle);\n if (isNaN(angle)) {\n return null;\n }\n var vector = [0, 0, math.cos(R.rad(angle)), math.sin(R.rad(angle))],\n max = 1 / (mmax(abs(vector[2]), abs(vector[3])) || 1);\n vector[2] *= max;\n vector[3] *= max;\n if (vector[2] < 0) {\n vector[0] = -vector[2];\n vector[2] = 0;\n }\n if (vector[3] < 0) {\n vector[1] = -vector[3];\n vector[3] = 0;\n }\n }\n var dots = R._parseDots(gradient);\n if (!dots) {\n return null;\n }\n id = id.replace(/[\\(\\)\\s,\\xb0#]/g, \"_\");\n\n if (element.gradient && id != element.gradient.id) {\n SVG.defs.removeChild(element.gradient);\n delete element.gradient;\n }\n\n if (!element.gradient) {\n el = $(type + \"Gradient\", {id: id});\n element.gradient = el;\n $(el, type == \"radial\" ? {\n fx: fx,\n fy: fy\n } : {\n x1: vector[0],\n y1: vector[1],\n x2: vector[2],\n y2: vector[3],\n gradientTransform: element.matrix.invert()\n });\n SVG.defs.appendChild(el);\n for (var i = 0, ii = dots.length; i < ii; i++) {\n el.appendChild($(\"stop\", {\n offset: dots[i].offset ? dots[i].offset : i ? \"100%\" : \"0%\",\n \"stop-color\": dots[i].color || \"#fff\"\n }));\n }\n }\n }\n $(o, {\n fill: \"url('\" + document.location + \"#\" + id + \"')\",\n opacity: 1,\n \"fill-opacity\": 1\n });\n s.fill = E;\n s.opacity = 1;\n s.fillOpacity = 1;\n return 1;\n },\n updatePosition = function (o) {\n var bbox = o.getBBox(1);\n $(o.pattern, {patternTransform: o.matrix.invert() + \" translate(\" + bbox.x + \",\" + bbox.y + \")\"});\n },\n addArrow = function (o, value, isEnd) {\n if (o.type == \"path\") {\n var values = Str(value).toLowerCase().split(\"-\"),\n p = o.paper,\n se = isEnd ? \"end\" : \"start\",\n node = o.node,\n attrs = o.attrs,\n stroke = attrs[\"stroke-width\"],\n i = values.length,\n type = \"classic\",\n from,\n to,\n dx,\n refX,\n attr,\n w = 3,\n h = 3,\n t = 5;\n while (i--) {\n switch (values[i]) {\n case \"block\":\n case \"classic\":\n case \"oval\":\n case \"diamond\":\n case \"open\":\n case \"none\":\n type = values[i];\n break;\n case \"wide\": h = 5; break;\n case \"narrow\": h = 2; break;\n case \"long\": w = 5; break;\n case \"short\": w = 2; break;\n }\n }\n if (type == \"open\") {\n w += 2;\n h += 2;\n t += 2;\n dx = 1;\n refX = isEnd ? 4 : 1;\n attr = {\n fill: \"none\",\n stroke: attrs.stroke\n };\n } else {\n refX = dx = w / 2;\n attr = {\n fill: attrs.stroke,\n stroke: \"none\"\n };\n }\n if (o._.arrows) {\n if (isEnd) {\n o._.arrows.endPath && markerCounter[o._.arrows.endPath]--;\n o._.arrows.endMarker && markerCounter[o._.arrows.endMarker]--;\n } else {\n o._.arrows.startPath && markerCounter[o._.arrows.startPath]--;\n o._.arrows.startMarker && markerCounter[o._.arrows.startMarker]--;\n }\n } else {\n o._.arrows = {};\n }\n if (type != \"none\") {\n var pathId = \"raphael-marker-\" + type,\n markerId = \"raphael-marker-\" + se + type + w + h + \"-obj\" + o.id;\n if (!R._g.doc.getElementById(pathId)) {\n p.defs.appendChild($($(\"path\"), {\n \"stroke-linecap\": \"round\",\n d: markers[type],\n id: pathId\n }));\n markerCounter[pathId] = 1;\n } else {\n markerCounter[pathId]++;\n }\n var marker = R._g.doc.getElementById(markerId),\n use;\n if (!marker) {\n marker = $($(\"marker\"), {\n id: markerId,\n markerHeight: h,\n markerWidth: w,\n orient: \"auto\",\n refX: refX,\n refY: h / 2\n });\n use = $($(\"use\"), {\n \"xlink:href\": \"#\" + pathId,\n transform: (isEnd ? \"rotate(180 \" + w / 2 + \" \" + h / 2 + \") \" : E) + \"scale(\" + w / t + \",\" + h / t + \")\",\n \"stroke-width\": (1 / ((w / t + h / t) / 2)).toFixed(4)\n });\n marker.appendChild(use);\n p.defs.appendChild(marker);\n markerCounter[markerId] = 1;\n } else {\n markerCounter[markerId]++;\n use = marker.getElementsByTagName(\"use\")[0];\n }\n $(use, attr);\n var delta = dx * (type != \"diamond\" && type != \"oval\");\n if (isEnd) {\n from = o._.arrows.startdx * stroke || 0;\n to = R.getTotalLength(attrs.path) - delta * stroke;\n } else {\n from = delta * stroke;\n to = R.getTotalLength(attrs.path) - (o._.arrows.enddx * stroke || 0);\n }\n attr = {};\n attr[\"marker-\" + se] = \"url(#\" + markerId + \")\";\n if (to || from) {\n attr.d = R.getSubpath(attrs.path, from, to);\n }\n $(node, attr);\n o._.arrows[se + \"Path\"] = pathId;\n o._.arrows[se + \"Marker\"] = markerId;\n o._.arrows[se + \"dx\"] = delta;\n o._.arrows[se + \"Type\"] = type;\n o._.arrows[se + \"String\"] = value;\n } else {\n if (isEnd) {\n from = o._.arrows.startdx * stroke || 0;\n to = R.getTotalLength(attrs.path) - from;\n } else {\n from = 0;\n to = R.getTotalLength(attrs.path) - (o._.arrows.enddx * stroke || 0);\n }\n o._.arrows[se + \"Path\"] && $(node, {d: R.getSubpath(attrs.path, from, to)});\n delete o._.arrows[se + \"Path\"];\n delete o._.arrows[se + \"Marker\"];\n delete o._.arrows[se + \"dx\"];\n delete o._.arrows[se + \"Type\"];\n delete o._.arrows[se + \"String\"];\n }\n for (attr in markerCounter) if (markerCounter[has](attr) && !markerCounter[attr]) {\n var item = R._g.doc.getElementById(attr);\n item && item.parentNode.removeChild(item);\n }\n }\n },\n dasharray = {\n \"\": [0],\n \"none\": [0],\n \"-\": [3, 1],\n \".\": [1, 1],\n \"-.\": [3, 1, 1, 1],\n \"-..\": [3, 1, 1, 1, 1, 1],\n \". \": [1, 3],\n \"- \": [4, 3],\n \"--\": [8, 3],\n \"- .\": [4, 3, 1, 3],\n \"--.\": [8, 3, 1, 3],\n \"--..\": [8, 3, 1, 3, 1, 3]\n },\n addDashes = function (o, value, params) {\n value = dasharray[Str(value).toLowerCase()];\n if (value) {\n var width = o.attrs[\"stroke-width\"] || \"1\",\n butt = {round: width, square: width, butt: 0}[o.attrs[\"stroke-linecap\"] || params[\"stroke-linecap\"]] || 0,\n dashes = [],\n i = value.length;\n while (i--) {\n dashes[i] = value[i] * width + ((i % 2) ? 1 : -1) * butt;\n }\n $(o.node, {\"stroke-dasharray\": dashes.join(\",\")});\n }\n },\n setFillAndStroke = function (o, params) {\n var node = o.node,\n attrs = o.attrs,\n vis = node.style.visibility;\n node.style.visibility = \"hidden\";\n for (var att in params) {\n if (params[has](att)) {\n if (!R._availableAttrs[has](att)) {\n continue;\n }\n var value = params[att];\n attrs[att] = value;\n switch (att) {\n case \"blur\":\n o.blur(value);\n break;\n case \"title\":\n var title = node.getElementsByTagName(\"title\");\n\n // Use the existing .\n if (title.length && (title = title[0])) {\n title.firstChild.nodeValue = value;\n } else {\n title = $(\"title\");\n var val = R._g.doc.createTextNode(value);\n title.appendChild(val);\n node.appendChild(title);\n }\n break;\n case \"href\":\n case \"target\":\n var pn = node.parentNode;\n if (pn.tagName.toLowerCase() != \"a\") {\n var hl = $(\"a\");\n pn.insertBefore(hl, node);\n hl.appendChild(node);\n pn = hl;\n }\n if (att == \"target\") {\n pn.setAttributeNS(xlink, \"show\", value == \"blank\" ? \"new\" : value);\n } else {\n pn.setAttributeNS(xlink, att, value);\n }\n break;\n case \"cursor\":\n node.style.cursor = value;\n break;\n case \"transform\":\n o.transform(value);\n break;\n case \"arrow-start\":\n addArrow(o, value);\n break;\n case \"arrow-end\":\n addArrow(o, value, 1);\n break;\n case \"clip-rect\":\n var rect = Str(value).split(separator);\n if (rect.length == 4) {\n o.clip && o.clip.parentNode.parentNode.removeChild(o.clip.parentNode);\n var el = $(\"clipPath\"),\n rc = $(\"rect\");\n el.id = R.createUUID();\n $(rc, {\n x: rect[0],\n y: rect[1],\n width: rect[2],\n height: rect[3]\n });\n el.appendChild(rc);\n o.paper.defs.appendChild(el);\n $(node, {\"clip-path\": \"url(#\" + el.id + \")\"});\n o.clip = rc;\n }\n if (!value) {\n var path = node.getAttribute(\"clip-path\");\n if (path) {\n var clip = R._g.doc.getElementById(path.replace(/(^url\\(#|\\)$)/g, E));\n clip && clip.parentNode.removeChild(clip);\n $(node, {\"clip-path\": E});\n delete o.clip;\n }\n }\n break;\n case \"path\":\n if (o.type == \"path\") {\n $(node, {d: value ? attrs.path = R._pathToAbsolute(value) : \"M0,0\"});\n o._.dirty = 1;\n if (o._.arrows) {\n \"startString\" in o._.arrows && addArrow(o, o._.arrows.startString);\n \"endString\" in o._.arrows && addArrow(o, o._.arrows.endString, 1);\n }\n }\n break;\n case \"width\":\n node.setAttribute(att, value);\n o._.dirty = 1;\n if (attrs.fx) {\n att = \"x\";\n value = attrs.x;\n } else {\n break;\n }\n case \"x\":\n if (attrs.fx) {\n value = -attrs.x - (attrs.width || 0);\n }\n case \"rx\":\n if (att == \"rx\" && o.type == \"rect\") {\n break;\n }\n case \"cx\":\n node.setAttribute(att, value);\n o.pattern && updatePosition(o);\n o._.dirty = 1;\n break;\n case \"height\":\n node.setAttribute(att, value);\n o._.dirty = 1;\n if (attrs.fy) {\n att = \"y\";\n value = attrs.y;\n } else {\n break;\n }\n case \"y\":\n if (attrs.fy) {\n value = -attrs.y - (attrs.height || 0);\n }\n case \"ry\":\n if (att == \"ry\" && o.type == \"rect\") {\n break;\n }\n case \"cy\":\n node.setAttribute(att, value);\n o.pattern && updatePosition(o);\n o._.dirty = 1;\n break;\n case \"r\":\n if (o.type == \"rect\") {\n $(node, {rx: value, ry: value});\n } else {\n node.setAttribute(att, value);\n }\n o._.dirty = 1;\n break;\n case \"src\":\n if (o.type == \"image\") {\n node.setAttributeNS(xlink, \"href\", value);\n }\n break;\n case \"stroke-width\":\n if (o._.sx != 1 || o._.sy != 1) {\n value /= mmax(abs(o._.sx), abs(o._.sy)) || 1;\n }\n node.setAttribute(att, value);\n if (attrs[\"stroke-dasharray\"]) {\n addDashes(o, attrs[\"stroke-dasharray\"], params);\n }\n if (o._.arrows) {\n \"startString\" in o._.arrows && addArrow(o, o._.arrows.startString);\n \"endString\" in o._.arrows && addArrow(o, o._.arrows.endString, 1);\n }\n break;\n case \"stroke-dasharray\":\n addDashes(o, value, params);\n break;\n case \"fill\":\n var isURL = Str(value).match(R._ISURL);\n if (isURL) {\n el = $(\"pattern\");\n var ig = $(\"image\");\n el.id = R.createUUID();\n $(el, {x: 0, y: 0, patternUnits: \"userSpaceOnUse\", height: 1, width: 1});\n $(ig, {x: 0, y: 0, \"xlink:href\": isURL[1]});\n el.appendChild(ig);\n\n (function (el) {\n R._preload(isURL[1], function () {\n var w = this.offsetWidth,\n h = this.offsetHeight;\n $(el, {width: w, height: h});\n $(ig, {width: w, height: h});\n o.paper.safari();\n });\n })(el);\n o.paper.defs.appendChild(el);\n $(node, {fill: \"url(#\" + el.id + \")\"});\n o.pattern = el;\n o.pattern && updatePosition(o);\n break;\n }\n var clr = R.getRGB(value);\n if (!clr.error) {\n delete params.gradient;\n delete attrs.gradient;\n !R.is(attrs.opacity, \"undefined\") &&\n R.is(params.opacity, \"undefined\") &&\n $(node, {opacity: attrs.opacity});\n !R.is(attrs[\"fill-opacity\"], \"undefined\") &&\n R.is(params[\"fill-opacity\"], \"undefined\") &&\n $(node, {\"fill-opacity\": attrs[\"fill-opacity\"]});\n } else if ((o.type == \"circle\" || o.type == \"ellipse\" || Str(value).charAt() != \"r\") && addGradientFill(o, value)) {\n if (\"opacity\" in attrs || \"fill-opacity\" in attrs) {\n var gradient = R._g.doc.getElementById(node.getAttribute(\"fill\").replace(/^url\\(#|\\)$/g, E));\n if (gradient) {\n var stops = gradient.getElementsByTagName(\"stop\");\n $(stops[stops.length - 1], {\"stop-opacity\": (\"opacity\" in attrs ? attrs.opacity : 1) * (\"fill-opacity\" in attrs ? attrs[\"fill-opacity\"] : 1)});\n }\n }\n attrs.gradient = value;\n attrs.fill = \"none\";\n break;\n }\n clr[has](\"opacity\") && $(node, {\"fill-opacity\": clr.opacity > 1 ? clr.opacity / 100 : clr.opacity});\n case \"stroke\":\n clr = R.getRGB(value);\n node.setAttribute(att, clr.hex);\n att == \"stroke\" && clr[has](\"opacity\") && $(node, {\"stroke-opacity\": clr.opacity > 1 ? clr.opacity / 100 : clr.opacity});\n if (att == \"stroke\" && o._.arrows) {\n \"startString\" in o._.arrows && addArrow(o, o._.arrows.startString);\n \"endString\" in o._.arrows && addArrow(o, o._.arrows.endString, 1);\n }\n break;\n case \"gradient\":\n (o.type == \"circle\" || o.type == \"ellipse\" || Str(value).charAt() != \"r\") && addGradientFill(o, value);\n break;\n case \"opacity\":\n if (attrs.gradient && !attrs[has](\"stroke-opacity\")) {\n $(node, {\"stroke-opacity\": value > 1 ? value / 100 : value});\n }\n // fall\n case \"fill-opacity\":\n if (attrs.gradient) {\n gradient = R._g.doc.getElementById(node.getAttribute(\"fill\").replace(/^url\\(#|\\)$/g, E));\n if (gradient) {\n stops = gradient.getElementsByTagName(\"stop\");\n $(stops[stops.length - 1], {\"stop-opacity\": value});\n }\n break;\n }\n default:\n att == \"font-size\" && (value = toInt(value, 10) + \"px\");\n var cssrule = att.replace(/(\\-.)/g, function (w) {\n return w.substring(1).toUpperCase();\n });\n node.style[cssrule] = value;\n o._.dirty = 1;\n node.setAttribute(att, value);\n break;\n }\n }\n }\n\n tuneText(o, params);\n node.style.visibility = vis;\n },\n leading = 1.2,\n tuneText = function (el, params) {\n if (el.type != \"text\" || !(params[has](\"text\") || params[has](\"font\") || params[has](\"font-size\") || params[has](\"x\") || params[has](\"y\"))) {\n return;\n }\n var a = el.attrs,\n node = el.node,\n fontSize = node.firstChild ? toInt(R._g.doc.defaultView.getComputedStyle(node.firstChild, E).getPropertyValue(\"font-size\"), 10) : 10;\n\n if (params[has](\"text\")) {\n a.text = params.text;\n while (node.firstChild) {\n node.removeChild(node.firstChild);\n }\n var texts = Str(params.text).split(\"\\n\"),\n tspans = [],\n tspan;\n for (var i = 0, ii = texts.length; i < ii; i++) {\n tspan = $(\"tspan\");\n i && $(tspan, {dy: fontSize * leading, x: a.x});\n tspan.appendChild(R._g.doc.createTextNode(texts[i]));\n node.appendChild(tspan);\n tspans[i] = tspan;\n }\n } else {\n tspans = node.getElementsByTagName(\"tspan\");\n for (i = 0, ii = tspans.length; i < ii; i++) if (i) {\n $(tspans[i], {dy: fontSize * leading, x: a.x});\n } else {\n $(tspans[0], {dy: 0});\n }\n }\n $(node, {x: a.x, y: a.y});\n el._.dirty = 1;\n var bb = el._getBBox(),\n dif = a.y - (bb.y + bb.height / 2);\n dif && R.is(dif, \"finite\") && $(tspans[0], {dy: dif});\n },\n getRealNode = function (node) {\n if (node.parentNode && node.parentNode.tagName.toLowerCase() === \"a\") {\n return node.parentNode;\n } else {\n return node;\n }\n },\n Element = function (node, svg) {\n var X = 0,\n Y = 0;\n /*\\\n * Element.node\n [ property (object) ]\n **\n * Gives you a reference to the DOM object, so you can assign event handlers or just mess around.\n **\n * Note: Don’t mess with it.\n > Usage\n | // draw a circle at coordinate 10,10 with radius of 10\n | var c = paper.circle(10, 10, 10);\n | c.node.onclick = function () {\n | c.attr(\"fill\", \"red\");\n | };\n \\*/\n this[0] = this.node = node;\n /*\\\n * Element.raphael\n [ property (object) ]\n **\n * Internal reference to @Raphael object. In case it is not available.\n > Usage\n | Raphael.el.red = function () {\n | var hsb = this.paper.raphael.rgb2hsb(this.attr(\"fill\"));\n | hsb.h = 1;\n | this.attr({fill: this.paper.raphael.hsb2rgb(hsb).hex});\n | }\n \\*/\n node.raphael = true;\n /*\\\n * Element.id\n [ property (number) ]\n **\n * Unique id of the element. Especially useful when you want to listen to events of the element,\n * because all events are fired in format `<module>.<action>.<id>`. Also useful for @Paper.getById method.\n \\*/\n this.id = R._oid++;\n node.raphaelid = this.id;\n this.matrix = R.matrix();\n this.realPath = null;\n /*\\\n * Element.paper\n [ property (object) ]\n **\n * Internal reference to “paper” where object drawn. Mainly for use in plugins and element extensions.\n > Usage\n | Raphael.el.cross = function () {\n | this.attr({fill: \"red\"});\n | this.paper.path(\"M10,10L50,50M50,10L10,50\")\n | .attr({stroke: \"red\"});\n | }\n \\*/\n this.paper = svg;\n this.attrs = this.attrs || {};\n this._ = {\n transform: [],\n sx: 1,\n sy: 1,\n deg: 0,\n dx: 0,\n dy: 0,\n dirty: 1\n };\n !svg.bottom && (svg.bottom = this);\n /*\\\n * Element.prev\n [ property (object) ]\n **\n * Reference to the previous element in the hierarchy.\n \\*/\n this.prev = svg.top;\n svg.top && (svg.top.next = this);\n svg.top = this;\n /*\\\n * Element.next\n [ property (object) ]\n **\n * Reference to the next element in the hierarchy.\n \\*/\n this.next = null;\n },\n elproto = R.el;\n\n Element.prototype = elproto;\n elproto.constructor = Element;\n\n R._engine.path = function (pathString, SVG) {\n var el = $(\"path\");\n SVG.canvas && SVG.canvas.appendChild(el);\n var p = new Element(el, SVG);\n p.type = \"path\";\n setFillAndStroke(p, {\n fill: \"none\",\n stroke: \"#000\",\n path: pathString\n });\n return p;\n };\n /*\\\n * Element.rotate\n [ method ]\n **\n * Deprecated! Use @Element.transform instead.\n * Adds rotation by given angle around given point to the list of\n * transformations of the element.\n > Parameters\n - deg (number) angle in degrees\n - cx (number) #optional x coordinate of the centre of rotation\n - cy (number) #optional y coordinate of the centre of rotation\n * If cx & cy aren’t specified centre of the shape is used as a point of rotation.\n = (object) @Element\n \\*/\n elproto.rotate = function (deg, cx, cy) {\n if (this.removed) {\n return this;\n }\n deg = Str(deg).split(separator);\n if (deg.length - 1) {\n cx = toFloat(deg[1]);\n cy = toFloat(deg[2]);\n }\n deg = toFloat(deg[0]);\n (cy == null) && (cx = cy);\n if (cx == null || cy == null) {\n var bbox = this.getBBox(1);\n cx = bbox.x + bbox.width / 2;\n cy = bbox.y + bbox.height / 2;\n }\n this.transform(this._.transform.concat([[\"r\", deg, cx, cy]]));\n return this;\n };\n /*\\\n * Element.scale\n [ method ]\n **\n * Deprecated! Use @Element.transform instead.\n * Adds scale by given amount relative to given point to the list of\n * transformations of the element.\n > Parameters\n - sx (number) horisontal scale amount\n - sy (number) vertical scale amount\n - cx (number) #optional x coordinate of the centre of scale\n - cy (number) #optional y coordinate of the centre of scale\n * If cx & cy aren’t specified centre of the shape is used instead.\n = (object) @Element\n \\*/\n elproto.scale = function (sx, sy, cx, cy) {\n if (this.removed) {\n return this;\n }\n sx = Str(sx).split(separator);\n if (sx.length - 1) {\n sy = toFloat(sx[1]);\n cx = toFloat(sx[2]);\n cy = toFloat(sx[3]);\n }\n sx = toFloat(sx[0]);\n (sy == null) && (sy = sx);\n (cy == null) && (cx = cy);\n if (cx == null || cy == null) {\n var bbox = this.getBBox(1);\n }\n cx = cx == null ? bbox.x + bbox.width / 2 : cx;\n cy = cy == null ? bbox.y + bbox.height / 2 : cy;\n this.transform(this._.transform.concat([[\"s\", sx, sy, cx, cy]]));\n return this;\n };\n /*\\\n * Element.translate\n [ method ]\n **\n * Deprecated! Use @Element.transform instead.\n * Adds translation by given amount to the list of transformations of the element.\n > Parameters\n - dx (number) horisontal shift\n - dy (number) vertical shift\n = (object) @Element\n \\*/\n elproto.translate = function (dx, dy) {\n if (this.removed) {\n return this;\n }\n dx = Str(dx).split(separator);\n if (dx.length - 1) {\n dy = toFloat(dx[1]);\n }\n dx = toFloat(dx[0]) || 0;\n dy = +dy || 0;\n this.transform(this._.transform.concat([[\"t\", dx, dy]]));\n return this;\n };\n /*\\\n * Element.transform\n [ method ]\n **\n * Adds transformation to the element which is separate to other attributes,\n * i.e. translation doesn’t change `x` or `y` of the rectange. The format\n * of transformation string is similar to the path string syntax:\n | \"t100,100r30,100,100s2,2,100,100r45s1.5\"\n * Each letter is a command. There are four commands: `t` is for translate, `r` is for rotate, `s` is for\n * scale and `m` is for matrix.\n *\n * There are also alternative “absolute” translation, rotation and scale: `T`, `R` and `S`. They will not take previous transformation into account. For example, `...T100,0` will always move element 100 px horisontally, while `...t100,0` could move it vertically if there is `r90` before. Just compare results of `r90t100,0` and `r90T100,0`.\n *\n * So, the example line above could be read like “translate by 100, 100; rotate 30° around 100, 100; scale twice around 100, 100;\n * rotate 45° around centre; scale 1.5 times relative to centre”. As you can see rotate and scale commands have origin\n * coordinates as optional parameters, the default is the centre point of the element.\n * Matrix accepts six parameters.\n > Usage\n | var el = paper.rect(10, 20, 300, 200);\n | // translate 100, 100, rotate 45°, translate -100, 0\n | el.transform(\"t100,100r45t-100,0\");\n | // if you want you can append or prepend transformations\n | el.transform(\"...t50,50\");\n | el.transform(\"s2...\");\n | // or even wrap\n | el.transform(\"t50,50...t-50-50\");\n | // to reset transformation call method with empty string\n | el.transform(\"\");\n | // to get current value call it without parameters\n | console.log(el.transform());\n > Parameters\n - tstr (string) #optional transformation string\n * If tstr isn’t specified\n = (string) current transformation string\n * else\n = (object) @Element\n \\*/\n elproto.transform = function (tstr) {\n var _ = this._;\n if (tstr == null) {\n return _.transform;\n }\n R._extractTransform(this, tstr);\n\n this.clip && $(this.clip, {transform: this.matrix.invert()});\n this.pattern && updatePosition(this);\n this.node && $(this.node, {transform: this.matrix});\n\n if (_.sx != 1 || _.sy != 1) {\n var sw = this.attrs[has](\"stroke-width\") ? this.attrs[\"stroke-width\"] : 1;\n this.attr({\"stroke-width\": sw});\n }\n\n return this;\n };\n /*\\\n * Element.hide\n [ method ]\n **\n * Makes element invisible. See @Element.show.\n = (object) @Element\n \\*/\n elproto.hide = function () {\n !this.removed && this.paper.safari(this.node.style.display = \"none\");\n return this;\n };\n /*\\\n * Element.show\n [ method ]\n **\n * Makes element visible. See @Element.hide.\n = (object) @Element\n \\*/\n elproto.show = function () {\n !this.removed && this.paper.safari(this.node.style.display = \"\");\n return this;\n };\n /*\\\n * Element.remove\n [ method ]\n **\n * Removes element from the paper.\n \\*/\n elproto.remove = function () {\n var node = getRealNode(this.node);\n if (this.removed || !node.parentNode) {\n return;\n }\n var paper = this.paper;\n paper.__set__ && paper.__set__.exclude(this);\n eve.unbind(\"raphael.*.*.\" + this.id);\n if (this.gradient) {\n paper.defs.removeChild(this.gradient);\n }\n R._tear(this, paper);\n\n node.parentNode.removeChild(node);\n\n // Remove custom data for element\n this.removeData();\n\n for (var i in this) {\n this[i] = typeof this[i] == \"function\" ? R._removedFactory(i) : null;\n }\n this.removed = true;\n };\n elproto._getBBox = function () {\n if (this.node.style.display == \"none\") {\n this.show();\n var hide = true;\n }\n var canvasHidden = false,\n containerStyle;\n if (this.paper.canvas.parentElement) {\n containerStyle = this.paper.canvas.parentElement.style;\n } //IE10+ can't find parentElement\n else if (this.paper.canvas.parentNode) {\n containerStyle = this.paper.canvas.parentNode.style;\n }\n\n if(containerStyle && containerStyle.display == \"none\") {\n canvasHidden = true;\n containerStyle.display = \"\";\n }\n var bbox = {};\n try {\n bbox = this.node.getBBox();\n } catch(e) {\n // Firefox 3.0.x, 25.0.1 (probably more versions affected) play badly here - possible fix\n bbox = {\n x: this.node.clientLeft,\n y: this.node.clientTop,\n width: this.node.clientWidth,\n height: this.node.clientHeight\n }\n } finally {\n bbox = bbox || {};\n if(canvasHidden){\n containerStyle.display = \"none\";\n }\n }\n hide && this.hide();\n return bbox;\n };\n /*\\\n * Element.attr\n [ method ]\n **\n * Sets the attributes of the element.\n > Parameters\n - attrName (string) attribute’s name\n - value (string) value\n * or\n - params (object) object of name/value pairs\n * or\n - attrName (string) attribute’s name\n * or\n - attrNames (array) in this case method returns array of current values for given attribute names\n = (object) @Element if attrsName & value or params are passed in.\n = (...) value of the attribute if only attrsName is passed in.\n = (array) array of values of the attribute if attrsNames is passed in.\n = (object) object of attributes if nothing is passed in.\n > Possible parameters\n # <p>Please refer to the <a href=\"http://www.w3.org/TR/SVG/\" title=\"The W3C Recommendation for the SVG language describes these properties in detail.\">SVG specification</a> for an explanation of these parameters.</p>\n o arrow-end (string) arrowhead on the end of the path. The format for string is `<type>[-<width>[-<length>]]`. Possible types: `classic`, `block`, `open`, `oval`, `diamond`, `none`, width: `wide`, `narrow`, `medium`, length: `long`, `short`, `midium`.\n o clip-rect (string) comma or space separated values: x, y, width and height\n o cursor (string) CSS type of the cursor\n o cx (number) the x-axis coordinate of the center of the circle, or ellipse\n o cy (number) the y-axis coordinate of the center of the circle, or ellipse\n o fill (string) colour, gradient or image\n o fill-opacity (number)\n o font (string)\n o font-family (string)\n o font-size (number) font size in pixels\n o font-weight (string)\n o height (number)\n o href (string) URL, if specified element behaves as hyperlink\n o opacity (number)\n o path (string) SVG path string format\n o r (number) radius of the circle, ellipse or rounded corner on the rect\n o rx (number) horisontal radius of the ellipse\n o ry (number) vertical radius of the ellipse\n o src (string) image URL, only works for @Element.image element\n o stroke (string) stroke colour\n o stroke-dasharray (string) [“”, “`-`”, “`.`”, “`-.`”, “`-..`”, “`. `”, “`- `”, “`--`”, “`- .`”, “`--.`”, “`--..`”]\n o stroke-linecap (string) [“`butt`”, “`square`”, “`round`”]\n o stroke-linejoin (string) [“`bevel`”, “`round`”, “`miter`”]\n o stroke-miterlimit (number)\n o stroke-opacity (number)\n o stroke-width (number) stroke width in pixels, default is '1'\n o target (string) used with href\n o text (string) contents of the text element. Use `\\n` for multiline text\n o text-anchor (string) [“`start`”, “`middle`”, “`end`”], default is “`middle`”\n o title (string) will create tooltip with a given text\n o transform (string) see @Element.transform\n o width (number)\n o x (number)\n o y (number)\n > Gradients\n * Linear gradient format: “`‹angle›-‹colour›[-‹colour›[:‹offset›]]*-‹colour›`”, example: “`90-#fff-#000`” – 90°\n * gradient from white to black or “`0-#fff-#f00:20-#000`” – 0° gradient from white via red (at 20%) to black.\n *\n * radial gradient: “`r[(‹fx›, ‹fy›)]‹colour›[-‹colour›[:‹offset›]]*-‹colour›`”, example: “`r#fff-#000`” –\n * gradient from white to black or “`r(0.25, 0.75)#fff-#000`” – gradient from white to black with focus point\n * at 0.25, 0.75. Focus point coordinates are in 0..1 range. Radial gradients can only be applied to circles and ellipses.\n > Path String\n # <p>Please refer to <a href=\"http://www.w3.org/TR/SVG/paths.html#PathData\" title=\"Details of a path’s data attribute’s format are described in the SVG specification.\">SVG documentation regarding path string</a>. Raphaël fully supports it.</p>\n > Colour Parsing\n # <ul>\n # <li>Colour name (“<code>red</code>”, “<code>green</code>”, “<code>cornflowerblue</code>”, etc)</li>\n # <li>#••• — shortened HTML colour: (“<code>#000</code>”, “<code>#fc0</code>”, etc)</li>\n # <li>#•••••• — full length HTML colour: (“<code>#000000</code>”, “<code>#bd2300</code>”)</li>\n # <li>rgb(•••, •••, •••) — red, green and blue channels’ values: (“<code>rgb(200, 100, 0)</code>”)</li>\n # <li>rgb(•••%, •••%, •••%) — same as above, but in %: (“<code>rgb(100%, 175%, 0%)</code>”)</li>\n # <li>rgba(•••, •••, •••, •••) — red, green and blue channels’ values: (“<code>rgba(200, 100, 0, .5)</code>”)</li>\n # <li>rgba(•••%, •••%, •••%, •••%) — same as above, but in %: (“<code>rgba(100%, 175%, 0%, 50%)</code>”)</li>\n # <li>hsb(•••, •••, •••) — hue, saturation and brightness values: (“<code>hsb(0.5, 0.25, 1)</code>”)</li>\n # <li>hsb(•••%, •••%, •••%) — same as above, but in %</li>\n # <li>hsba(•••, •••, •••, •••) — same as above, but with opacity</li>\n # <li>hsl(•••, •••, •••) — almost the same as hsb, see <a href=\"http://en.wikipedia.org/wiki/HSL_and_HSV\" title=\"HSL and HSV - Wikipedia, the free encyclopedia\">Wikipedia page</a></li>\n # <li>hsl(•••%, •••%, •••%) — same as above, but in %</li>\n # <li>hsla(•••, •••, •••, •••) — same as above, but with opacity</li>\n # <li>Optionally for hsb and hsl you could specify hue as a degree: “<code>hsl(240deg, 1, .5)</code>” or, if you want to go fancy, “<code>hsl(240°, 1, .5)</code>”</li>\n # </ul>\n \\*/\n elproto.attr = function (name, value) {\n if (this.removed) {\n return this;\n }\n if (name == null) {\n var res = {};\n for (var a in this.attrs) if (this.attrs[has](a)) {\n res[a] = this.attrs[a];\n }\n res.gradient && res.fill == \"none\" && (res.fill = res.gradient) && delete res.gradient;\n res.transform = this._.transform;\n return res;\n }\n if (value == null && R.is(name, \"string\")) {\n if (name == \"fill\" && this.attrs.fill == \"none\" && this.attrs.gradient) {\n return this.attrs.gradient;\n }\n if (name == \"transform\") {\n return this._.transform;\n }\n var names = name.split(separator),\n out = {};\n for (var i = 0, ii = names.length; i < ii; i++) {\n name = names[i];\n if (name in this.attrs) {\n out[name] = this.attrs[name];\n } else if (R.is(this.paper.customAttributes[name], \"function\")) {\n out[name] = this.paper.customAttributes[name].def;\n } else {\n out[name] = R._availableAttrs[name];\n }\n }\n return ii - 1 ? out : out[names[0]];\n }\n if (value == null && R.is(name, \"array\")) {\n out = {};\n for (i = 0, ii = name.length; i < ii; i++) {\n out[name[i]] = this.attr(name[i]);\n }\n return out;\n }\n if (value != null) {\n var params = {};\n params[name] = value;\n } else if (name != null && R.is(name, \"object\")) {\n params = name;\n }\n for (var key in params) {\n eve(\"raphael.attr.\" + key + \".\" + this.id, this, params[key]);\n }\n for (key in this.paper.customAttributes) if (this.paper.customAttributes[has](key) && params[has](key) && R.is(this.paper.customAttributes[key], \"function\")) {\n var par = this.paper.customAttributes[key].apply(this, [].concat(params[key]));\n this.attrs[key] = params[key];\n for (var subkey in par) if (par[has](subkey)) {\n params[subkey] = par[subkey];\n }\n }\n setFillAndStroke(this, params);\n return this;\n };\n /*\\\n * Element.toFront\n [ method ]\n **\n * Moves the element so it is the closest to the viewer’s eyes, on top of other elements.\n = (object) @Element\n \\*/\n elproto.toFront = function () {\n if (this.removed) {\n return this;\n }\n var node = getRealNode(this.node);\n node.parentNode.appendChild(node);\n var svg = this.paper;\n svg.top != this && R._tofront(this, svg);\n return this;\n };\n /*\\\n * Element.toBack\n [ method ]\n **\n * Moves the element so it is the furthest from the viewer’s eyes, behind other elements.\n = (object) @Element\n \\*/\n elproto.toBack = function () {\n if (this.removed) {\n return this;\n }\n var node = getRealNode(this.node);\n var parentNode = node.parentNode;\n parentNode.insertBefore(node, parentNode.firstChild);\n R._toback(this, this.paper);\n var svg = this.paper;\n return this;\n };\n /*\\\n * Element.insertAfter\n [ method ]\n **\n * Inserts current object after the given one.\n = (object) @Element\n \\*/\n elproto.insertAfter = function (element) {\n if (this.removed || !element) {\n return this;\n }\n\n var node = getRealNode(this.node);\n var afterNode = getRealNode(element.node || element[element.length - 1].node);\n if (afterNode.nextSibling) {\n afterNode.parentNode.insertBefore(node, afterNode.nextSibling);\n } else {\n afterNode.parentNode.appendChild(node);\n }\n R._insertafter(this, element, this.paper);\n return this;\n };\n /*\\\n * Element.insertBefore\n [ method ]\n **\n * Inserts current object before the given one.\n = (object) @Element\n \\*/\n elproto.insertBefore = function (element) {\n if (this.removed || !element) {\n return this;\n }\n\n var node = getRealNode(this.node);\n var beforeNode = getRealNode(element.node || element[0].node);\n beforeNode.parentNode.insertBefore(node, beforeNode);\n R._insertbefore(this, element, this.paper);\n return this;\n };\n elproto.blur = function (size) {\n // Experimental. No Safari support. Use it on your own risk.\n var t = this;\n if (+size !== 0) {\n var fltr = $(\"filter\"),\n blur = $(\"feGaussianBlur\");\n t.attrs.blur = size;\n fltr.id = R.createUUID();\n $(blur, {stdDeviation: +size || 1.5});\n fltr.appendChild(blur);\n t.paper.defs.appendChild(fltr);\n t._blur = fltr;\n $(t.node, {filter: \"url(#\" + fltr.id + \")\"});\n } else {\n if (t._blur) {\n t._blur.parentNode.removeChild(t._blur);\n delete t._blur;\n delete t.attrs.blur;\n }\n t.node.removeAttribute(\"filter\");\n }\n return t;\n };\n R._engine.circle = function (svg, x, y, r) {\n var el = $(\"circle\");\n svg.canvas && svg.canvas.appendChild(el);\n var res = new Element(el, svg);\n res.attrs = {cx: x, cy: y, r: r, fill: \"none\", stroke: \"#000\"};\n res.type = \"circle\";\n $(el, res.attrs);\n return res;\n };\n R._engine.rect = function (svg, x, y, w, h, r) {\n var el = $(\"rect\");\n svg.canvas && svg.canvas.appendChild(el);\n var res = new Element(el, svg);\n res.attrs = {x: x, y: y, width: w, height: h, rx: r || 0, ry: r || 0, fill: \"none\", stroke: \"#000\"};\n res.type = \"rect\";\n $(el, res.attrs);\n return res;\n };\n R._engine.ellipse = function (svg, x, y, rx, ry) {\n var el = $(\"ellipse\");\n svg.canvas && svg.canvas.appendChild(el);\n var res = new Element(el, svg);\n res.attrs = {cx: x, cy: y, rx: rx, ry: ry, fill: \"none\", stroke: \"#000\"};\n res.type = \"ellipse\";\n $(el, res.attrs);\n return res;\n };\n R._engine.image = function (svg, src, x, y, w, h) {\n var el = $(\"image\");\n $(el, {x: x, y: y, width: w, height: h, preserveAspectRatio: \"none\"});\n el.setAttributeNS(xlink, \"href\", src);\n svg.canvas && svg.canvas.appendChild(el);\n var res = new Element(el, svg);\n res.attrs = {x: x, y: y, width: w, height: h, src: src};\n res.type = \"image\";\n return res;\n };\n R._engine.text = function (svg, x, y, text) {\n var el = $(\"text\");\n svg.canvas && svg.canvas.appendChild(el);\n var res = new Element(el, svg);\n res.attrs = {\n x: x,\n y: y,\n \"text-anchor\": \"middle\",\n text: text,\n \"font-family\": R._availableAttrs[\"font-family\"],\n \"font-size\": R._availableAttrs[\"font-size\"],\n stroke: \"none\",\n fill: \"#000\"\n };\n res.type = \"text\";\n setFillAndStroke(res, res.attrs);\n return res;\n };\n R._engine.setSize = function (width, height) {\n this.width = width || this.width;\n this.height = height || this.height;\n this.canvas.setAttribute(\"width\", this.width);\n this.canvas.setAttribute(\"height\", this.height);\n if (this._viewBox) {\n this.setViewBox.apply(this, this._viewBox);\n }\n return this;\n };\n R._engine.create = function () {\n var con = R._getContainer.apply(0, arguments),\n container = con && con.container,\n x = con.x,\n y = con.y,\n width = con.width,\n height = con.height;\n if (!container) {\n throw new Error(\"SVG container not found.\");\n }\n var cnvs = $(\"svg\"),\n css = \"overflow:hidden;\",\n isFloating;\n x = x || 0;\n y = y || 0;\n width = width || 512;\n height = height || 342;\n $(cnvs, {\n height: height,\n version: 1.1,\n width: width,\n xmlns: \"http://www.w3.org/2000/svg\",\n \"xmlns:xlink\": \"http://www.w3.org/1999/xlink\"\n });\n if (container == 1) {\n cnvs.style.cssText = css + \"position:absolute;left:\" + x + \"px;top:\" + y + \"px\";\n R._g.doc.body.appendChild(cnvs);\n isFloating = 1;\n } else {\n cnvs.style.cssText = css + \"position:relative\";\n if (container.firstChild) {\n container.insertBefore(cnvs, container.firstChild);\n } else {\n container.appendChild(cnvs);\n }\n }\n container = new R._Paper;\n container.width = width;\n container.height = height;\n container.canvas = cnvs;\n container.clear();\n container._left = container._top = 0;\n isFloating && (container.renderfix = function () {});\n container.renderfix();\n return container;\n };\n R._engine.setViewBox = function (x, y, w, h, fit) {\n eve(\"raphael.setViewBox\", this, this._viewBox, [x, y, w, h, fit]);\n var paperSize = this.getSize(),\n size = mmax(w / paperSize.width, h / paperSize.height),\n top = this.top,\n aspectRatio = fit ? \"xMidYMid meet\" : \"xMinYMin\",\n vb,\n sw;\n if (x == null) {\n if (this._vbSize) {\n size = 1;\n }\n delete this._vbSize;\n vb = \"0 0 \" + this.width + S + this.height;\n } else {\n this._vbSize = size;\n vb = x + S + y + S + w + S + h;\n }\n $(this.canvas, {\n viewBox: vb,\n preserveAspectRatio: aspectRatio\n });\n while (size && top) {\n sw = \"stroke-width\" in top.attrs ? top.attrs[\"stroke-width\"] : 1;\n top.attr({\"stroke-width\": sw});\n top._.dirty = 1;\n top._.dirtyT = 1;\n top = top.prev;\n }\n this._viewBox = [x, y, w, h, !!fit];\n return this;\n };\n /*\\\n * Paper.renderfix\n [ method ]\n **\n * Fixes the issue of Firefox and IE9 regarding subpixel rendering. If paper is dependant\n * on other elements after reflow it could shift half pixel which cause for lines to lost their crispness.\n * This method fixes the issue.\n **\n Special thanks to Mariusz Nowak (http://www.medikoo.com/) for this method.\n \\*/\n R.prototype.renderfix = function () {\n var cnvs = this.canvas,\n s = cnvs.style,\n pos;\n try {\n pos = cnvs.getScreenCTM() || cnvs.createSVGMatrix();\n } catch (e) {\n pos = cnvs.createSVGMatrix();\n }\n var left = -pos.e % 1,\n top = -pos.f % 1;\n if (left || top) {\n if (left) {\n this._left = (this._left + left) % 1;\n s.left = this._left + \"px\";\n }\n if (top) {\n this._top = (this._top + top) % 1;\n s.top = this._top + \"px\";\n }\n }\n };\n /*\\\n * Paper.clear\n [ method ]\n **\n * Clears the paper, i.e. removes all the elements.\n \\*/\n R.prototype.clear = function () {\n R.eve(\"raphael.clear\", this);\n var c = this.canvas;\n while (c.firstChild) {\n c.removeChild(c.firstChild);\n }\n this.bottom = this.top = null;\n (this.desc = $(\"desc\")).appendChild(R._g.doc.createTextNode(\"Created with Rapha\\xebl \" + R.version));\n c.appendChild(this.desc);\n c.appendChild(this.defs = $(\"defs\"));\n };\n /*\\\n * Paper.remove\n [ method ]\n **\n * Removes the paper from the DOM.\n \\*/\n R.prototype.remove = function () {\n eve(\"raphael.remove\", this);\n this.canvas.parentNode && this.canvas.parentNode.removeChild(this.canvas);\n for (var i in this) {\n this[i] = typeof this[i] == \"function\" ? R._removedFactory(i) : null;\n }\n };\n var setproto = R.st;\n for (var method in elproto) if (elproto[has](method) && !setproto[has](method)) {\n setproto[method] = (function (methodname) {\n return function () {\n var arg = arguments;\n return this.forEach(function (el) {\n el[methodname].apply(el, arg);\n });\n };\n })(method);\n }\n})();\n\n// ┌─────────────────────────────────────────────────────────────────────┐ \\\\\n// │ Raphaël - JavaScript Vector Library │ \\\\\n// ├─────────────────────────────────────────────────────────────────────┤ \\\\\n// │ VML Module │ \\\\\n// ├─────────────────────────────────────────────────────────────────────┤ \\\\\n// │ Copyright (c) 2008-2011 Dmitry Baranovskiy (http://raphaeljs.com) │ \\\\\n// │ Copyright (c) 2008-2011 Sencha Labs (http://sencha.com) │ \\\\\n// │ Licensed under the MIT (http://raphaeljs.com/license.html) license. │ \\\\\n// └─────────────────────────────────────────────────────────────────────┘ \\\\\n\n(function(){\n if (!R.vml) {\n return;\n }\n var has = \"hasOwnProperty\",\n Str = String,\n toFloat = parseFloat,\n math = Math,\n round = math.round,\n mmax = math.max,\n mmin = math.min,\n abs = math.abs,\n fillString = \"fill\",\n separator = /[, ]+/,\n eve = R.eve,\n ms = \" progid:DXImageTransform.Microsoft\",\n S = \" \",\n E = \"\",\n map = {M: \"m\", L: \"l\", C: \"c\", Z: \"x\", m: \"t\", l: \"r\", c: \"v\", z: \"x\"},\n bites = /([clmz]),?([^clmz]*)/gi,\n blurregexp = / progid:\\S+Blur\\([^\\)]+\\)/g,\n val = /-?[^,\\s-]+/g,\n cssDot = \"position:absolute;left:0;top:0;width:1px;height:1px;behavior:url(#default#VML)\",\n zoom = 21600,\n pathTypes = {path: 1, rect: 1, image: 1},\n ovalTypes = {circle: 1, ellipse: 1},\n path2vml = function (path) {\n var total = /[ahqstv]/ig,\n command = R._pathToAbsolute;\n Str(path).match(total) && (command = R._path2curve);\n total = /[clmz]/g;\n if (command == R._pathToAbsolute && !Str(path).match(total)) {\n var res = Str(path).replace(bites, function (all, command, args) {\n var vals = [],\n isMove = command.toLowerCase() == \"m\",\n res = map[command];\n args.replace(val, function (value) {\n if (isMove && vals.length == 2) {\n res += vals + map[command == \"m\" ? \"l\" : \"L\"];\n vals = [];\n }\n vals.push(round(value * zoom));\n });\n return res + vals;\n });\n return res;\n }\n var pa = command(path), p, r;\n res = [];\n for (var i = 0, ii = pa.length; i < ii; i++) {\n p = pa[i];\n r = pa[i][0].toLowerCase();\n r == \"z\" && (r = \"x\");\n for (var j = 1, jj = p.length; j < jj; j++) {\n r += round(p[j] * zoom) + (j != jj - 1 ? \",\" : E);\n }\n res.push(r);\n }\n return res.join(S);\n },\n compensation = function (deg, dx, dy) {\n var m = R.matrix();\n m.rotate(-deg, .5, .5);\n return {\n dx: m.x(dx, dy),\n dy: m.y(dx, dy)\n };\n },\n setCoords = function (p, sx, sy, dx, dy, deg) {\n var _ = p._,\n m = p.matrix,\n fillpos = _.fillpos,\n o = p.node,\n s = o.style,\n y = 1,\n flip = \"\",\n dxdy,\n kx = zoom / sx,\n ky = zoom / sy;\n s.visibility = \"hidden\";\n if (!sx || !sy) {\n return;\n }\n o.coordsize = abs(kx) + S + abs(ky);\n s.rotation = deg * (sx * sy < 0 ? -1 : 1);\n if (deg) {\n var c = compensation(deg, dx, dy);\n dx = c.dx;\n dy = c.dy;\n }\n sx < 0 && (flip += \"x\");\n sy < 0 && (flip += \" y\") && (y = -1);\n s.flip = flip;\n o.coordorigin = (dx * -kx) + S + (dy * -ky);\n if (fillpos || _.fillsize) {\n var fill = o.getElementsByTagName(fillString);\n fill = fill && fill[0];\n o.removeChild(fill);\n if (fillpos) {\n c = compensation(deg, m.x(fillpos[0], fillpos[1]), m.y(fillpos[0], fillpos[1]));\n fill.position = c.dx * y + S + c.dy * y;\n }\n if (_.fillsize) {\n fill.size = _.fillsize[0] * abs(sx) + S + _.fillsize[1] * abs(sy);\n }\n o.appendChild(fill);\n }\n s.visibility = \"visible\";\n };\n R.toString = function () {\n return \"Your browser doesn\\u2019t support SVG. Falling down to VML.\\nYou are running Rapha\\xebl \" + this.version;\n };\n var addArrow = function (o, value, isEnd) {\n var values = Str(value).toLowerCase().split(\"-\"),\n se = isEnd ? \"end\" : \"start\",\n i = values.length,\n type = \"classic\",\n w = \"medium\",\n h = \"medium\";\n while (i--) {\n switch (values[i]) {\n case \"block\":\n case \"classic\":\n case \"oval\":\n case \"diamond\":\n case \"open\":\n case \"none\":\n type = values[i];\n break;\n case \"wide\":\n case \"narrow\": h = values[i]; break;\n case \"long\":\n case \"short\": w = values[i]; break;\n }\n }\n var stroke = o.node.getElementsByTagName(\"stroke\")[0];\n stroke[se + \"arrow\"] = type;\n stroke[se + \"arrowlength\"] = w;\n stroke[se + \"arrowwidth\"] = h;\n },\n setFillAndStroke = function (o, params) {\n // o.paper.canvas.style.display = \"none\";\n o.attrs = o.attrs || {};\n var node = o.node,\n a = o.attrs,\n s = node.style,\n xy,\n newpath = pathTypes[o.type] && (params.x != a.x || params.y != a.y || params.width != a.width || params.height != a.height || params.cx != a.cx || params.cy != a.cy || params.rx != a.rx || params.ry != a.ry || params.r != a.r),\n isOval = ovalTypes[o.type] && (a.cx != params.cx || a.cy != params.cy || a.r != params.r || a.rx != params.rx || a.ry != params.ry),\n res = o;\n\n\n for (var par in params) if (params[has](par)) {\n a[par] = params[par];\n }\n if (newpath) {\n a.path = R._getPath[o.type](o);\n o._.dirty = 1;\n }\n params.href && (node.href = params.href);\n params.title && (node.title = params.title);\n params.target && (node.target = params.target);\n params.cursor && (s.cursor = params.cursor);\n \"blur\" in params && o.blur(params.blur);\n if (params.path && o.type == \"path\" || newpath) {\n node.path = path2vml(~Str(a.path).toLowerCase().indexOf(\"r\") ? R._pathToAbsolute(a.path) : a.path);\n o._.dirty = 1;\n if (o.type == \"image\") {\n o._.fillpos = [a.x, a.y];\n o._.fillsize = [a.width, a.height];\n setCoords(o, 1, 1, 0, 0, 0);\n }\n }\n \"transform\" in params && o.transform(params.transform);\n if (isOval) {\n var cx = +a.cx,\n cy = +a.cy,\n rx = +a.rx || +a.r || 0,\n ry = +a.ry || +a.r || 0;\n node.path = R.format(\"ar{0},{1},{2},{3},{4},{1},{4},{1}x\", round((cx - rx) * zoom), round((cy - ry) * zoom), round((cx + rx) * zoom), round((cy + ry) * zoom), round(cx * zoom));\n o._.dirty = 1;\n }\n if (\"clip-rect\" in params) {\n var rect = Str(params[\"clip-rect\"]).split(separator);\n if (rect.length == 4) {\n rect[2] = +rect[2] + (+rect[0]);\n rect[3] = +rect[3] + (+rect[1]);\n var div = node.clipRect || R._g.doc.createElement(\"div\"),\n dstyle = div.style;\n dstyle.clip = R.format(\"rect({1}px {2}px {3}px {0}px)\", rect);\n if (!node.clipRect) {\n dstyle.position = \"absolute\";\n dstyle.top = 0;\n dstyle.left = 0;\n dstyle.width = o.paper.width + \"px\";\n dstyle.height = o.paper.height + \"px\";\n node.parentNode.insertBefore(div, node);\n div.appendChild(node);\n node.clipRect = div;\n }\n }\n if (!params[\"clip-rect\"]) {\n node.clipRect && (node.clipRect.style.clip = \"auto\");\n }\n }\n if (o.textpath) {\n var textpathStyle = o.textpath.style;\n params.font && (textpathStyle.font = params.font);\n params[\"font-family\"] && (textpathStyle.fontFamily = '\"' + params[\"font-family\"].split(\",\")[0].replace(/^['\"]+|['\"]+$/g, E) + '\"');\n params[\"font-size\"] && (textpathStyle.fontSize = params[\"font-size\"]);\n params[\"font-weight\"] && (textpathStyle.fontWeight = params[\"font-weight\"]);\n params[\"font-style\"] && (textpathStyle.fontStyle = params[\"font-style\"]);\n }\n if (\"arrow-start\" in params) {\n addArrow(res, params[\"arrow-start\"]);\n }\n if (\"arrow-end\" in params) {\n addArrow(res, params[\"arrow-end\"], 1);\n }\n if (params.opacity != null || \n params[\"stroke-width\"] != null ||\n params.fill != null ||\n params.src != null ||\n params.stroke != null ||\n params[\"stroke-width\"] != null ||\n params[\"stroke-opacity\"] != null ||\n params[\"fill-opacity\"] != null ||\n params[\"stroke-dasharray\"] != null ||\n params[\"stroke-miterlimit\"] != null ||\n params[\"stroke-linejoin\"] != null ||\n params[\"stroke-linecap\"] != null) {\n var fill = node.getElementsByTagName(fillString),\n newfill = false;\n fill = fill && fill[0];\n !fill && (newfill = fill = createNode(fillString));\n if (o.type == \"image\" && params.src) {\n fill.src = params.src;\n }\n params.fill && (fill.on = true);\n if (fill.on == null || params.fill == \"none\" || params.fill === null) {\n fill.on = false;\n }\n if (fill.on && params.fill) {\n var isURL = Str(params.fill).match(R._ISURL);\n if (isURL) {\n fill.parentNode == node && node.removeChild(fill);\n fill.rotate = true;\n fill.src = isURL[1];\n fill.type = \"tile\";\n var bbox = o.getBBox(1);\n fill.position = bbox.x + S + bbox.y;\n o._.fillpos = [bbox.x, bbox.y];\n\n R._preload(isURL[1], function () {\n o._.fillsize = [this.offsetWidth, this.offsetHeight];\n });\n } else {\n fill.color = R.getRGB(params.fill).hex;\n fill.src = E;\n fill.type = \"solid\";\n if (R.getRGB(params.fill).error && (res.type in {circle: 1, ellipse: 1} || Str(params.fill).charAt() != \"r\") && addGradientFill(res, params.fill, fill)) {\n a.fill = \"none\";\n a.gradient = params.fill;\n fill.rotate = false;\n }\n }\n }\n if (\"fill-opacity\" in params || \"opacity\" in params) {\n var opacity = ((+a[\"fill-opacity\"] + 1 || 2) - 1) * ((+a.opacity + 1 || 2) - 1) * ((+R.getRGB(params.fill).o + 1 || 2) - 1);\n opacity = mmin(mmax(opacity, 0), 1);\n fill.opacity = opacity;\n if (fill.src) {\n fill.color = \"none\";\n }\n }\n node.appendChild(fill);\n var stroke = (node.getElementsByTagName(\"stroke\") && node.getElementsByTagName(\"stroke\")[0]),\n newstroke = false;\n !stroke && (newstroke = stroke = createNode(\"stroke\"));\n if ((params.stroke && params.stroke != \"none\") ||\n params[\"stroke-width\"] ||\n params[\"stroke-opacity\"] != null ||\n params[\"stroke-dasharray\"] ||\n params[\"stroke-miterlimit\"] ||\n params[\"stroke-linejoin\"] ||\n params[\"stroke-linecap\"]) {\n stroke.on = true;\n }\n (params.stroke == \"none\" || params.stroke === null || stroke.on == null || params.stroke == 0 || params[\"stroke-width\"] == 0) && (stroke.on = false);\n var strokeColor = R.getRGB(params.stroke);\n stroke.on && params.stroke && (stroke.color = strokeColor.hex);\n opacity = ((+a[\"stroke-opacity\"] + 1 || 2) - 1) * ((+a.opacity + 1 || 2) - 1) * ((+strokeColor.o + 1 || 2) - 1);\n var width = (toFloat(params[\"stroke-width\"]) || 1) * .75;\n opacity = mmin(mmax(opacity, 0), 1);\n params[\"stroke-width\"] == null && (width = a[\"stroke-width\"]);\n params[\"stroke-width\"] && (stroke.weight = width);\n width && width < 1 && (opacity *= width) && (stroke.weight = 1);\n stroke.opacity = opacity;\n \n params[\"stroke-linejoin\"] && (stroke.joinstyle = params[\"stroke-linejoin\"] || \"miter\");\n stroke.miterlimit = params[\"stroke-miterlimit\"] || 8;\n params[\"stroke-linecap\"] && (stroke.endcap = params[\"stroke-linecap\"] == \"butt\" ? \"flat\" : params[\"stroke-linecap\"] == \"square\" ? \"square\" : \"round\");\n if (\"stroke-dasharray\" in params) {\n var dasharray = {\n \"-\": \"shortdash\",\n \".\": \"shortdot\",\n \"-.\": \"shortdashdot\",\n \"-..\": \"shortdashdotdot\",\n \". \": \"dot\",\n \"- \": \"dash\",\n \"--\": \"longdash\",\n \"- .\": \"dashdot\",\n \"--.\": \"longdashdot\",\n \"--..\": \"longdashdotdot\"\n };\n stroke.dashstyle = dasharray[has](params[\"stroke-dasharray\"]) ? dasharray[params[\"stroke-dasharray\"]] : E;\n }\n newstroke && node.appendChild(stroke);\n }\n if (res.type == \"text\") {\n res.paper.canvas.style.display = E;\n var span = res.paper.span,\n m = 100,\n fontSize = a.font && a.font.match(/\\d+(?:\\.\\d*)?(?=px)/);\n s = span.style;\n a.font && (s.font = a.font);\n a[\"font-family\"] && (s.fontFamily = a[\"font-family\"]);\n a[\"font-weight\"] && (s.fontWeight = a[\"font-weight\"]);\n a[\"font-style\"] && (s.fontStyle = a[\"font-style\"]);\n fontSize = toFloat(a[\"font-size\"] || fontSize && fontSize[0]) || 10;\n s.fontSize = fontSize * m + \"px\";\n res.textpath.string && (span.innerHTML = Str(res.textpath.string).replace(/</g, \"<\").replace(/&/g, \"&\").replace(/\\n/g, \"<br>\"));\n var brect = span.getBoundingClientRect();\n res.W = a.w = (brect.right - brect.left) / m;\n res.H = a.h = (brect.bottom - brect.top) / m;\n // res.paper.canvas.style.display = \"none\";\n res.X = a.x;\n res.Y = a.y + res.H / 2;\n\n (\"x\" in params || \"y\" in params) && (res.path.v = R.format(\"m{0},{1}l{2},{1}\", round(a.x * zoom), round(a.y * zoom), round(a.x * zoom) + 1));\n var dirtyattrs = [\"x\", \"y\", \"text\", \"font\", \"font-family\", \"font-weight\", \"font-style\", \"font-size\"];\n for (var d = 0, dd = dirtyattrs.length; d < dd; d++) if (dirtyattrs[d] in params) {\n res._.dirty = 1;\n break;\n }\n \n // text-anchor emulation\n switch (a[\"text-anchor\"]) {\n case \"start\":\n res.textpath.style[\"v-text-align\"] = \"left\";\n res.bbx = res.W / 2;\n break;\n case \"end\":\n res.textpath.style[\"v-text-align\"] = \"right\";\n res.bbx = -res.W / 2;\n break;\n default:\n res.textpath.style[\"v-text-align\"] = \"center\";\n res.bbx = 0;\n break;\n }\n res.textpath.style[\"v-text-kern\"] = true;\n }\n // res.paper.canvas.style.display = E;\n },\n addGradientFill = function (o, gradient, fill) {\n o.attrs = o.attrs || {};\n var attrs = o.attrs,\n pow = Math.pow,\n opacity,\n oindex,\n type = \"linear\",\n fxfy = \".5 .5\";\n o.attrs.gradient = gradient;\n gradient = Str(gradient).replace(R._radial_gradient, function (all, fx, fy) {\n type = \"radial\";\n if (fx && fy) {\n fx = toFloat(fx);\n fy = toFloat(fy);\n pow(fx - .5, 2) + pow(fy - .5, 2) > .25 && (fy = math.sqrt(.25 - pow(fx - .5, 2)) * ((fy > .5) * 2 - 1) + .5);\n fxfy = fx + S + fy;\n }\n return E;\n });\n gradient = gradient.split(/\\s*\\-\\s*/);\n if (type == \"linear\") {\n var angle = gradient.shift();\n angle = -toFloat(angle);\n if (isNaN(angle)) {\n return null;\n }\n }\n var dots = R._parseDots(gradient);\n if (!dots) {\n return null;\n }\n o = o.shape || o.node;\n if (dots.length) {\n o.removeChild(fill);\n fill.on = true;\n fill.method = \"none\";\n fill.color = dots[0].color;\n fill.color2 = dots[dots.length - 1].color;\n var clrs = [];\n for (var i = 0, ii = dots.length; i < ii; i++) {\n dots[i].offset && clrs.push(dots[i].offset + S + dots[i].color);\n }\n fill.colors = clrs.length ? clrs.join() : \"0% \" + fill.color;\n if (type == \"radial\") {\n fill.type = \"gradientTitle\";\n fill.focus = \"100%\";\n fill.focussize = \"0 0\";\n fill.focusposition = fxfy;\n fill.angle = 0;\n } else {\n // fill.rotate= true;\n fill.type = \"gradient\";\n fill.angle = (270 - angle) % 360;\n }\n o.appendChild(fill);\n }\n return 1;\n },\n Element = function (node, vml) {\n this[0] = this.node = node;\n node.raphael = true;\n this.id = R._oid++;\n node.raphaelid = this.id;\n this.X = 0;\n this.Y = 0;\n this.attrs = {};\n this.paper = vml;\n this.matrix = R.matrix();\n this._ = {\n transform: [],\n sx: 1,\n sy: 1,\n dx: 0,\n dy: 0,\n deg: 0,\n dirty: 1,\n dirtyT: 1\n };\n !vml.bottom && (vml.bottom = this);\n this.prev = vml.top;\n vml.top && (vml.top.next = this);\n vml.top = this;\n this.next = null;\n };\n var elproto = R.el;\n\n Element.prototype = elproto;\n elproto.constructor = Element;\n elproto.transform = function (tstr) {\n if (tstr == null) {\n return this._.transform;\n }\n var vbs = this.paper._viewBoxShift,\n vbt = vbs ? \"s\" + [vbs.scale, vbs.scale] + \"-1-1t\" + [vbs.dx, vbs.dy] : E,\n oldt;\n if (vbs) {\n oldt = tstr = Str(tstr).replace(/\\.{3}|\\u2026/g, this._.transform || E);\n }\n R._extractTransform(this, vbt + tstr);\n var matrix = this.matrix.clone(),\n skew = this.skew,\n o = this.node,\n split,\n isGrad = ~Str(this.attrs.fill).indexOf(\"-\"),\n isPatt = !Str(this.attrs.fill).indexOf(\"url(\");\n matrix.translate(1, 1);\n if (isPatt || isGrad || this.type == \"image\") {\n skew.matrix = \"1 0 0 1\";\n skew.offset = \"0 0\";\n split = matrix.split();\n if ((isGrad && split.noRotation) || !split.isSimple) {\n o.style.filter = matrix.toFilter();\n var bb = this.getBBox(),\n bbt = this.getBBox(1),\n dx = bb.x - bbt.x,\n dy = bb.y - bbt.y;\n o.coordorigin = (dx * -zoom) + S + (dy * -zoom);\n setCoords(this, 1, 1, dx, dy, 0);\n } else {\n o.style.filter = E;\n setCoords(this, split.scalex, split.scaley, split.dx, split.dy, split.rotate);\n }\n } else {\n o.style.filter = E;\n skew.matrix = Str(matrix);\n skew.offset = matrix.offset();\n }\n if (oldt !== null) { // empty string value is true as well\n this._.transform = oldt;\n R._extractTransform(this, oldt);\n }\n return this;\n };\n elproto.rotate = function (deg, cx, cy) {\n if (this.removed) {\n return this;\n }\n if (deg == null) {\n return;\n }\n deg = Str(deg).split(separator);\n if (deg.length - 1) {\n cx = toFloat(deg[1]);\n cy = toFloat(deg[2]);\n }\n deg = toFloat(deg[0]);\n (cy == null) && (cx = cy);\n if (cx == null || cy == null) {\n var bbox = this.getBBox(1);\n cx = bbox.x + bbox.width / 2;\n cy = bbox.y + bbox.height / 2;\n }\n this._.dirtyT = 1;\n this.transform(this._.transform.concat([[\"r\", deg, cx, cy]]));\n return this;\n };\n elproto.translate = function (dx, dy) {\n if (this.removed) {\n return this;\n }\n dx = Str(dx).split(separator);\n if (dx.length - 1) {\n dy = toFloat(dx[1]);\n }\n dx = toFloat(dx[0]) || 0;\n dy = +dy || 0;\n if (this._.bbox) {\n this._.bbox.x += dx;\n this._.bbox.y += dy;\n }\n this.transform(this._.transform.concat([[\"t\", dx, dy]]));\n return this;\n };\n elproto.scale = function (sx, sy, cx, cy) {\n if (this.removed) {\n return this;\n }\n sx = Str(sx).split(separator);\n if (sx.length - 1) {\n sy = toFloat(sx[1]);\n cx = toFloat(sx[2]);\n cy = toFloat(sx[3]);\n isNaN(cx) && (cx = null);\n isNaN(cy) && (cy = null);\n }\n sx = toFloat(sx[0]);\n (sy == null) && (sy = sx);\n (cy == null) && (cx = cy);\n if (cx == null || cy == null) {\n var bbox = this.getBBox(1);\n }\n cx = cx == null ? bbox.x + bbox.width / 2 : cx;\n cy = cy == null ? bbox.y + bbox.height / 2 : cy;\n \n this.transform(this._.transform.concat([[\"s\", sx, sy, cx, cy]]));\n this._.dirtyT = 1;\n return this;\n };\n elproto.hide = function () {\n !this.removed && (this.node.style.display = \"none\");\n return this;\n };\n elproto.show = function () {\n !this.removed && (this.node.style.display = E);\n return this;\n };\n // Needed to fix the vml setViewBox issues\n elproto.auxGetBBox = R.el.getBBox;\n elproto.getBBox = function(){\n var b = this.auxGetBBox();\n if (this.paper && this.paper._viewBoxShift)\n {\n var c = {};\n var z = 1/this.paper._viewBoxShift.scale;\n c.x = b.x - this.paper._viewBoxShift.dx;\n c.x *= z;\n c.y = b.y - this.paper._viewBoxShift.dy;\n c.y *= z;\n c.width = b.width * z;\n c.height = b.height * z;\n c.x2 = c.x + c.width;\n c.y2 = c.y + c.height;\n return c;\n }\n return b;\n };\n elproto._getBBox = function () {\n if (this.removed) {\n return {};\n }\n return {\n x: this.X + (this.bbx || 0) - this.W / 2,\n y: this.Y - this.H,\n width: this.W,\n height: this.H\n };\n };\n elproto.remove = function () {\n if (this.removed || !this.node.parentNode) {\n return;\n }\n this.paper.__set__ && this.paper.__set__.exclude(this);\n R.eve.unbind(\"raphael.*.*.\" + this.id);\n R._tear(this, this.paper);\n this.node.parentNode.removeChild(this.node);\n this.shape && this.shape.parentNode.removeChild(this.shape);\n for (var i in this) {\n this[i] = typeof this[i] == \"function\" ? R._removedFactory(i) : null;\n }\n this.removed = true;\n };\n elproto.attr = function (name, value) {\n if (this.removed) {\n return this;\n }\n if (name == null) {\n var res = {};\n for (var a in this.attrs) if (this.attrs[has](a)) {\n res[a] = this.attrs[a];\n }\n res.gradient && res.fill == \"none\" && (res.fill = res.gradient) && delete res.gradient;\n res.transform = this._.transform;\n return res;\n }\n if (value == null && R.is(name, \"string\")) {\n if (name == fillString && this.attrs.fill == \"none\" && this.attrs.gradient) {\n return this.attrs.gradient;\n }\n var names = name.split(separator),\n out = {};\n for (var i = 0, ii = names.length; i < ii; i++) {\n name = names[i];\n if (name in this.attrs) {\n out[name] = this.attrs[name];\n } else if (R.is(this.paper.customAttributes[name], \"function\")) {\n out[name] = this.paper.customAttributes[name].def;\n } else {\n out[name] = R._availableAttrs[name];\n }\n }\n return ii - 1 ? out : out[names[0]];\n }\n if (this.attrs && value == null && R.is(name, \"array\")) {\n out = {};\n for (i = 0, ii = name.length; i < ii; i++) {\n out[name[i]] = this.attr(name[i]);\n }\n return out;\n }\n var params;\n if (value != null) {\n params = {};\n params[name] = value;\n }\n value == null && R.is(name, \"object\") && (params = name);\n for (var key in params) {\n eve(\"raphael.attr.\" + key + \".\" + this.id, this, params[key]);\n }\n if (params) {\n for (key in this.paper.customAttributes) if (this.paper.customAttributes[has](key) && params[has](key) && R.is(this.paper.customAttributes[key], \"function\")) {\n var par = this.paper.customAttributes[key].apply(this, [].concat(params[key]));\n this.attrs[key] = params[key];\n for (var subkey in par) if (par[has](subkey)) {\n params[subkey] = par[subkey];\n }\n }\n // this.paper.canvas.style.display = \"none\";\n if (params.text && this.type == \"text\") {\n this.textpath.string = params.text;\n }\n setFillAndStroke(this, params);\n // this.paper.canvas.style.display = E;\n }\n return this;\n };\n elproto.toFront = function () {\n !this.removed && this.node.parentNode.appendChild(this.node);\n this.paper && this.paper.top != this && R._tofront(this, this.paper);\n return this;\n };\n elproto.toBack = function () {\n if (this.removed) {\n return this;\n }\n if (this.node.parentNode.firstChild != this.node) {\n this.node.parentNode.insertBefore(this.node, this.node.parentNode.firstChild);\n R._toback(this, this.paper);\n }\n return this;\n };\n elproto.insertAfter = function (element) {\n if (this.removed) {\n return this;\n }\n if (element.constructor == R.st.constructor) {\n element = element[element.length - 1];\n }\n if (element.node.nextSibling) {\n element.node.parentNode.insertBefore(this.node, element.node.nextSibling);\n } else {\n element.node.parentNode.appendChild(this.node);\n }\n R._insertafter(this, element, this.paper);\n return this;\n };\n elproto.insertBefore = function (element) {\n if (this.removed) {\n return this;\n }\n if (element.constructor == R.st.constructor) {\n element = element[0];\n }\n element.node.parentNode.insertBefore(this.node, element.node);\n R._insertbefore(this, element, this.paper);\n return this;\n };\n elproto.blur = function (size) {\n var s = this.node.runtimeStyle,\n f = s.filter;\n f = f.replace(blurregexp, E);\n if (+size !== 0) {\n this.attrs.blur = size;\n s.filter = f + S + ms + \".Blur(pixelradius=\" + (+size || 1.5) + \")\";\n s.margin = R.format(\"-{0}px 0 0 -{0}px\", round(+size || 1.5));\n } else {\n s.filter = f;\n s.margin = 0;\n delete this.attrs.blur;\n }\n return this;\n };\n\n R._engine.path = function (pathString, vml) {\n var el = createNode(\"shape\");\n el.style.cssText = cssDot;\n el.coordsize = zoom + S + zoom;\n el.coordorigin = vml.coordorigin;\n var p = new Element(el, vml),\n attr = {fill: \"none\", stroke: \"#000\"};\n pathString && (attr.path = pathString);\n p.type = \"path\";\n p.path = [];\n p.Path = E;\n setFillAndStroke(p, attr);\n vml.canvas.appendChild(el);\n var skew = createNode(\"skew\");\n skew.on = true;\n el.appendChild(skew);\n p.skew = skew;\n p.transform(E);\n return p;\n };\n R._engine.rect = function (vml, x, y, w, h, r) {\n var path = R._rectPath(x, y, w, h, r),\n res = vml.path(path),\n a = res.attrs;\n res.X = a.x = x;\n res.Y = a.y = y;\n res.W = a.width = w;\n res.H = a.height = h;\n a.r = r;\n a.path = path;\n res.type = \"rect\";\n return res;\n };\n R._engine.ellipse = function (vml, x, y, rx, ry) {\n var res = vml.path(),\n a = res.attrs;\n res.X = x - rx;\n res.Y = y - ry;\n res.W = rx * 2;\n res.H = ry * 2;\n res.type = \"ellipse\";\n setFillAndStroke(res, {\n cx: x,\n cy: y,\n rx: rx,\n ry: ry\n });\n return res;\n };\n R._engine.circle = function (vml, x, y, r) {\n var res = vml.path(),\n a = res.attrs;\n res.X = x - r;\n res.Y = y - r;\n res.W = res.H = r * 2;\n res.type = \"circle\";\n setFillAndStroke(res, {\n cx: x,\n cy: y,\n r: r\n });\n return res;\n };\n R._engine.image = function (vml, src, x, y, w, h) {\n var path = R._rectPath(x, y, w, h),\n res = vml.path(path).attr({stroke: \"none\"}),\n a = res.attrs,\n node = res.node,\n fill = node.getElementsByTagName(fillString)[0];\n a.src = src;\n res.X = a.x = x;\n res.Y = a.y = y;\n res.W = a.width = w;\n res.H = a.height = h;\n a.path = path;\n res.type = \"image\";\n fill.parentNode == node && node.removeChild(fill);\n fill.rotate = true;\n fill.src = src;\n fill.type = \"tile\";\n res._.fillpos = [x, y];\n res._.fillsize = [w, h];\n node.appendChild(fill);\n setCoords(res, 1, 1, 0, 0, 0);\n return res;\n };\n R._engine.text = function (vml, x, y, text) {\n var el = createNode(\"shape\"),\n path = createNode(\"path\"),\n o = createNode(\"textpath\");\n x = x || 0;\n y = y || 0;\n text = text || \"\";\n path.v = R.format(\"m{0},{1}l{2},{1}\", round(x * zoom), round(y * zoom), round(x * zoom) + 1);\n path.textpathok = true;\n o.string = Str(text);\n o.on = true;\n el.style.cssText = cssDot;\n el.coordsize = zoom + S + zoom;\n el.coordorigin = \"0 0\";\n var p = new Element(el, vml),\n attr = {\n fill: \"#000\",\n stroke: \"none\",\n font: R._availableAttrs.font,\n text: text\n };\n p.shape = el;\n p.path = path;\n p.textpath = o;\n p.type = \"text\";\n p.attrs.text = Str(text);\n p.attrs.x = x;\n p.attrs.y = y;\n p.attrs.w = 1;\n p.attrs.h = 1;\n setFillAndStroke(p, attr);\n el.appendChild(o);\n el.appendChild(path);\n vml.canvas.appendChild(el);\n var skew = createNode(\"skew\");\n skew.on = true;\n el.appendChild(skew);\n p.skew = skew;\n p.transform(E);\n return p;\n };\n R._engine.setSize = function (width, height) {\n var cs = this.canvas.style;\n this.width = width;\n this.height = height;\n width == +width && (width += \"px\");\n height == +height && (height += \"px\");\n cs.width = width;\n cs.height = height;\n cs.clip = \"rect(0 \" + width + \" \" + height + \" 0)\";\n if (this._viewBox) {\n R._engine.setViewBox.apply(this, this._viewBox);\n }\n return this;\n };\n R._engine.setViewBox = function (x, y, w, h, fit) {\n R.eve(\"raphael.setViewBox\", this, this._viewBox, [x, y, w, h, fit]);\n var paperSize = this.getSize(),\n width = paperSize.width,\n height = paperSize.height,\n H, W;\n if (fit) {\n H = height / h;\n W = width / w;\n if (w * H < width) {\n x -= (width - w * H) / 2 / H;\n }\n if (h * W < height) {\n y -= (height - h * W) / 2 / W;\n }\n }\n this._viewBox = [x, y, w, h, !!fit];\n this._viewBoxShift = {\n dx: -x,\n dy: -y,\n scale: paperSize\n };\n this.forEach(function (el) {\n el.transform(\"...\");\n });\n return this;\n };\n var createNode;\n R._engine.initWin = function (win) {\n var doc = win.document;\n if (doc.styleSheets.length < 31) {\n doc.createStyleSheet().addRule(\".rvml\", \"behavior:url(#default#VML)\");\n } else {\n // no more room, add to the existing one\n // http://msdn.microsoft.com/en-us/library/ms531194%28VS.85%29.aspx\n doc.styleSheets[0].addRule(\".rvml\", \"behavior:url(#default#VML)\");\n }\n try {\n !doc.namespaces.rvml && doc.namespaces.add(\"rvml\", \"urn:schemas-microsoft-com:vml\");\n createNode = function (tagName) {\n return doc.createElement('<rvml:' + tagName + ' class=\"rvml\">');\n };\n } catch (e) {\n createNode = function (tagName) {\n return doc.createElement('<' + tagName + ' xmlns=\"urn:schemas-microsoft.com:vml\" class=\"rvml\">');\n };\n }\n };\n R._engine.initWin(R._g.win);\n R._engine.create = function () {\n var con = R._getContainer.apply(0, arguments),\n container = con.container,\n height = con.height,\n s,\n width = con.width,\n x = con.x,\n y = con.y;\n if (!container) {\n throw new Error(\"VML container not found.\");\n }\n var res = new R._Paper,\n c = res.canvas = R._g.doc.createElement(\"div\"),\n cs = c.style;\n x = x || 0;\n y = y || 0;\n width = width || 512;\n height = height || 342;\n res.width = width;\n res.height = height;\n width == +width && (width += \"px\");\n height == +height && (height += \"px\");\n res.coordsize = zoom * 1e3 + S + zoom * 1e3;\n res.coordorigin = \"0 0\";\n res.span = R._g.doc.createElement(\"span\");\n res.span.style.cssText = \"position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;\";\n c.appendChild(res.span);\n cs.cssText = R.format(\"top:0;left:0;width:{0};height:{1};display:inline-block;position:relative;clip:rect(0 {0} {1} 0);overflow:hidden\", width, height);\n if (container == 1) {\n R._g.doc.body.appendChild(c);\n cs.left = x + \"px\";\n cs.top = y + \"px\";\n cs.position = \"absolute\";\n } else {\n if (container.firstChild) {\n container.insertBefore(c, container.firstChild);\n } else {\n container.appendChild(c);\n }\n }\n res.renderfix = function () {};\n return res;\n };\n R.prototype.clear = function () {\n R.eve(\"raphael.clear\", this);\n this.canvas.innerHTML = E;\n this.span = R._g.doc.createElement(\"span\");\n this.span.style.cssText = \"position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;display:inline;\";\n this.canvas.appendChild(this.span);\n this.bottom = this.top = null;\n };\n R.prototype.remove = function () {\n R.eve(\"raphael.remove\", this);\n this.canvas.parentNode.removeChild(this.canvas);\n for (var i in this) {\n this[i] = typeof this[i] == \"function\" ? R._removedFactory(i) : null;\n }\n return true;\n };\n\n var setproto = R.st;\n for (var method in elproto) if (elproto[has](method) && !setproto[has](method)) {\n setproto[method] = (function (methodname) {\n return function () {\n var arg = arguments;\n return this.forEach(function (el) {\n el[methodname].apply(el, arg);\n });\n };\n })(method);\n }\n})();\n\n // EXPOSE\n // SVG and VML are appended just before the EXPOSE line\n // Even with AMD, Raphael should be defined globally\n oldRaphael.was ? (g.win.Raphael = R) : (Raphael = R);\n\n if(typeof exports == \"object\"){\n module.exports = R;\n }\n return R;\n}));\n","Raphael(function () {\n \n // TOC\n (function (ol) {\n if (!ol) {\n return;\n }\n var li = document.createElement(\"li\"),\n isABBR = function (str, abbr) {\n var letters = abbr.toUpperCase().split(\"\"),\n first = letters.shift(),\n rg = new RegExp(\"^[\" + first.toLowerCase() + first + \"][a-z]*\" + letters.join(\"[a-z]*\") + \"[a-z]*$\");\n return !!String(str).match(rg);\n },\n score = function (me, search) {\n me = String(me);\n search = String(search);\n var score = 0,\n chunk;\n if (me == search) {\n return 1;\n }\n if (!me || !search) {\n return 0;\n }\n if (isABBR(me, search)) {\n return .9;\n }\n score = 0;\n chunk = me.toLowerCase();\n for (var j, i = 0, ii = search.length; i < ii; i++) {\n j = chunk.indexOf(search.charAt(i));\n if (~j) {\n chunk = chunk.substring(j + 1);\n score += 1 / (j + 1);\n }\n }\n score = Math.max(score / ii - Math.abs(me.length - ii) / me.length / 2, 0);\n return score;\n };\n li.innerHTML = '<input type=\"search\" id=\"dr-filter\" results=\"0\">';\n var lis = ol.getElementsByTagName(\"span\"),\n names = [],\n rgName = /[^\\.\\(]*(?=(\\(\\))?$)/;\n for (var i = 0, ii = lis.length; i < ii; i++) {\n names[i] = {\n li: lis[i].parentNode.parentNode,\n text: lis[i].innerHTML.match(rgName)[0]\n };\n }\n ol.insertBefore(li, ol.firstChild);\n var input = document.getElementById(\"dr-filter\");\n input.style.width = \"100%\";\n input.style.marginTop = \"10px\";\n input.onclick = input.onchange = input.onkeydown = input.onkeyup = function () {\n var v = input.value,\n res = [];\n if (v.length > 1) {\n for (var i = 0, ii = names.length; i < ii; i++) {\n res[i] = {\n li: names[i].li,\n weight: score(names[i].text, v)\n };\n }\n res.sort(function (a, b) {\n return b.weight - a.weight;\n });\n for (i = 0, ii = res.length; i < ii; i++) {\n ol.appendChild(res[i].li);\n }\n } else {\n for (i = 0, ii = names.length; i < ii; i++) {\n ol.appendChild(names[i].li);\n }\n }\n };\n })(document.getElementById(\"dr-toc\"));\n \n function prepare(id) {\n var div = document.getElementById(id);\n div.style.cssText = \"float:right;padding:10px;width:99px;height:99px;background:#2C53B0 url(http://raphaeljs.com/blueprint-min.png) no-repeat\";\n return Raphael(div, 99, 99);\n }\n \n var line = {\n stroke: \"#fff\",\n \"stroke-width\": 2,\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\"\n },\n dots = {\n stroke: \"#fff\",\n \"stroke-width\": 2,\n \"stroke-dasharray\": \"- \",\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\"\n },\n fill = {\n stroke: \"#fff\",\n fill: \"#fff\",\n \"fill-opacity\": .5,\n \"stroke-width\": 2,\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\"\n },\n none = {\n fill: \"#000\",\n opacity: 0\n };\n prepare(\"Paper.path-extra\").path(\"M10,10R90,50 10,90\").attr(line);\n \n (function (r) {\n var there;\n r.circle(15, 15, 10).attr(fill).click(function () {\n var clr = Raphael.hsb(Math.random(), .6, 1);\n this.animate(there ? {\n cx: 15,\n cy: 15,\n r: 10,\n stroke: \"#fff\",\n fill: \"#fff\"\n } : {\n cx: 80,\n cy: 80,\n r: 15,\n stroke: clr,\n fill: clr\n }, 600, [\"bounce\", \"<>\", \"elastic\", \"\"][Math.round(Math.random() * 3)]);\n there = !there;\n });\n })(prepare(\"Element.animate-extra\"));\n\n (function (r) {\n var x, y;\n r.circle(15, 15, 10).attr(fill).drag(function (dx, dy) {\n this.attr({\n cx: Math.min(Math.max(x + dx, 15), 85),\n cy: Math.min(Math.max(y + dy, 15), 85)\n });\n }, function () {\n x = this.attr(\"cx\");\n y = this.attr(\"cy\");\n });\n \n })(prepare(\"Element.drag-extra\"));\n\n (function (r) {\n var e = r.ellipse(50, 50, 40, 30).attr(fill).click(function () {\n this.animate({\n transform: \"r180\"\n }, 1000, function () {\n this.attr({\n transform: \"\"\n });\n });\n }),\n bb = r.rect().attr(e.getBBox()).attr(dots);\n eve.on(\"anim.frame.\" + e.id, function (anim) {\n bb.attr(e.getBBox());\n });\n })(prepare(\"Element.getBBox-extra\"));\n\n (function (r) {\n var e = r.path(\"M10,10R20,70 30,40 40,80 50,10 60,50 70,20 80,30 90,90\").attr(line),\n l = e.getTotalLength(),\n to = 1;\n r.customAttributes.along = function (a) {\n var p = e.getPointAtLength(a * l);\n return {\n transform: \"t\" + [p.x, p.y] + \"r\" + p.alpha\n };\n };\n var c = r.ellipse(0, 0, 5, 2).attr({\n along: 0\n }).attr(line);\n r.rect(0, 0, 100, 100).attr(none).click(function () {\n c.stop().animate({\n along: to\n }, 5000);\n to = +!to;\n });\n })(prepare(\"Element.getPointAtLength-extra\"));\n\n (function (r) {\n var e = r.path(\"M10,10R20,70 30,40 40,80 50,10 60,50 70,20 80,30 90,90\").attr(line),\n l = e.getTotalLength() - 10,\n to = 1;\n r.customAttributes.along = function (a) {\n return {\n path: e.getSubpath(a * l, a * l + 11)\n };\n };\n var c = r.path().attr(line).attr({\n along: 0,\n stroke: \"#f00\",\n \"stroke-width\": 3\n });\n r.rect(0, 0, 100, 100).attr(none).click(function () {\n c.stop().animate({\n along: to\n }, 5000);\n to = +!to;\n });\n })(prepare(\"Element.getSubpath-extra\"));\n\n (function (r) {\n r.circle(50, 50, 40).attr(line).glow({color: \"#fff\"});\n })(prepare(\"Element.glow-extra\"));\n\n (function (r) {\n r.rect(10, 10, 40, 30).attr(dots);\n r.rect(10, 10, 40, 30).attr(line).transform(\"r-30, 50, 10t10, 20s1.5\");\n r.text(50, 90, \"r-30, 50, 10\\nt10, 20s1.5\").attr({fill: \"#fff\"});\n })(prepare(\"Element.transform-extra\"));\n\n (function (r) {\n r.circle(50, 50, 40).attr(line);\n })(prepare(\"Paper.circle-extra\"));\n\n (function (r) {\n r.ellipse(50, 50, 40, 30).attr(line);\n })(prepare(\"Paper.ellipse-extra\"));\n\n (function (r) {\n r.rect(10, 10, 50, 50).attr(line);\n r.rect(40, 40, 50, 50, 10).attr(line);\n })(prepare(\"Paper.rect-extra\"));\n\n (function (r) {\n var set = r.set(\n r.rect(10, 10, 50, 50).attr(fill),\n r.rect(40, 40, 50, 50, 10).attr(fill)\n ).hover(function () {\n set.stop().animate({stroke: \"#f00\"}, 600, \"<>\");\n }, function () {\n set.stop().animate({stroke: \"#fff\"}, 600, \"<>\");\n });\n })(prepare(\"Paper.set-extra\"));\n\n (function (r) {\n r.text(50, 50, \"Raphaël\\nkicks\\nbutt!\").attr({\n fill: \"#fff\",\n font: \"italic 20px Georgia\",\n transform: \"r-10\"\n });\n })(prepare(\"Paper.text-extra\"));\n\n});","// Copyright (c) 2013 Adobe Systems Incorporated. All rights reserved.\n// \n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n// \n// http://www.apache.org/licenses/LICENSE-2.0\n// \n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n// ┌────────────────────────────────────────────────────────────┐ \\\\\n// │ Eve 0.5.0 - JavaScript Events Library │ \\\\\n// ├────────────────────────────────────────────────────────────┤ \\\\\n// │ Author Dmitry Baranovskiy (http://dmitry.baranovskiy.com/) │ \\\\\n// └────────────────────────────────────────────────────────────┘ \\\\\n\n(function (glob) {\n var version = \"0.5.0\",\n has = \"hasOwnProperty\",\n separator = /[\\.\\/]/,\n comaseparator = /\\s*,\\s*/,\n wildcard = \"*\",\n fun = function () {},\n numsort = function (a, b) {\n return a - b;\n },\n current_event,\n stop,\n events = {n: {}},\n firstDefined = function () {\n for (var i = 0, ii = this.length; i < ii; i++) {\n if (typeof this[i] != \"undefined\") {\n return this[i];\n }\n }\n },\n lastDefined = function () {\n var i = this.length;\n while (--i) {\n if (typeof this[i] != \"undefined\") {\n return this[i];\n }\n }\n },\n objtos = Object.prototype.toString,\n Str = String,\n isArray = Array.isArray || function (ar) {\n return ar instanceof Array || objtos.call(ar) == \"[object Array]\";\n };\n /*\\\n * eve\n [ method ]\n\n * Fires event with given `name`, given scope and other parameters.\n\n > Arguments\n\n - name (string) name of the *event*, dot (`.`) or slash (`/`) separated\n - scope (object) context for the event handlers\n - varargs (...) the rest of arguments will be sent to event handlers\n\n = (object) array of returned values from the listeners. Array has two methods `.firstDefined()` and `.lastDefined()` to get first or last not `undefined` value.\n \\*/\n var eve = function (name, scope) {\n var e = events,\n oldstop = stop,\n args = Array.prototype.slice.call(arguments, 2),\n listeners = eve.listeners(name),\n z = 0,\n f = false,\n l,\n indexed = [],\n queue = {},\n out = [],\n ce = current_event,\n errors = [];\n out.firstDefined = firstDefined;\n out.lastDefined = lastDefined;\n current_event = name;\n stop = 0;\n for (var i = 0, ii = listeners.length; i < ii; i++) if (\"zIndex\" in listeners[i]) {\n indexed.push(listeners[i].zIndex);\n if (listeners[i].zIndex < 0) {\n queue[listeners[i].zIndex] = listeners[i];\n }\n }\n indexed.sort(numsort);\n while (indexed[z] < 0) {\n l = queue[indexed[z++]];\n out.push(l.apply(scope, args));\n if (stop) {\n stop = oldstop;\n return out;\n }\n }\n for (i = 0; i < ii; i++) {\n l = listeners[i];\n if (\"zIndex\" in l) {\n if (l.zIndex == indexed[z]) {\n out.push(l.apply(scope, args));\n if (stop) {\n break;\n }\n do {\n z++;\n l = queue[indexed[z]];\n l && out.push(l.apply(scope, args));\n if (stop) {\n break;\n }\n } while (l)\n } else {\n queue[l.zIndex] = l;\n }\n } else {\n out.push(l.apply(scope, args));\n if (stop) {\n break;\n }\n }\n }\n stop = oldstop;\n current_event = ce;\n return out;\n };\n // Undocumented. Debug only.\n eve._events = events;\n /*\\\n * eve.listeners\n [ method ]\n\n * Internal method which gives you array of all event handlers that will be triggered by the given `name`.\n\n > Arguments\n\n - name (string) name of the event, dot (`.`) or slash (`/`) separated\n\n = (array) array of event handlers\n \\*/\n eve.listeners = function (name) {\n var names = isArray(name) ? name : name.split(separator),\n e = events,\n item,\n items,\n k,\n i,\n ii,\n j,\n jj,\n nes,\n es = [e],\n out = [];\n for (i = 0, ii = names.length; i < ii; i++) {\n nes = [];\n for (j = 0, jj = es.length; j < jj; j++) {\n e = es[j].n;\n items = [e[names[i]], e[wildcard]];\n k = 2;\n while (k--) {\n item = items[k];\n if (item) {\n nes.push(item);\n out = out.concat(item.f || []);\n }\n }\n }\n es = nes;\n }\n return out;\n };\n /*\\\n * eve.separator\n [ method ]\n\n * If for some reasons you don’t like default separators (`.` or `/`) you can specify yours\n * here. Be aware that if you pass a string longer than one character it will be treated as\n * a list of characters.\n\n - separator (string) new separator. Empty string resets to default: `.` or `/`.\n \\*/\n eve.separator = function (sep) {\n if (sep) {\n sep = Str(sep).replace(/(?=[\\.\\^\\]\\[\\-])/g, \"\\\\\");\n sep = \"[\" + sep + \"]\";\n separator = new RegExp(sep);\n } else {\n separator = /[\\.\\/]/;\n }\n };\n /*\\\n * eve.on\n [ method ]\n **\n * Binds given event handler with a given name. You can use wildcards “`*`” for the names:\n | eve.on(\"*.under.*\", f);\n | eve(\"mouse.under.floor\"); // triggers f\n * Use @eve to trigger the listener.\n **\n - name (string) name of the event, dot (`.`) or slash (`/`) separated, with optional wildcards\n - f (function) event handler function\n **\n - name (array) if you don’t want to use separators, you can use array of strings\n - f (function) event handler function\n **\n = (function) returned function accepts a single numeric parameter that represents z-index of the handler. It is an optional feature and only used when you need to ensure that some subset of handlers will be invoked in a given order, despite of the order of assignment. \n > Example:\n | eve.on(\"mouse\", eatIt)(2);\n | eve.on(\"mouse\", scream);\n | eve.on(\"mouse\", catchIt)(1);\n * This will ensure that `catchIt` function will be called before `eatIt`.\n *\n * If you want to put your handler before non-indexed handlers, specify a negative value.\n * Note: I assume most of the time you don’t need to worry about z-index, but it’s nice to have this feature “just in case”.\n \\*/\n eve.on = function (name, f) {\n if (typeof f != \"function\") {\n return function () {};\n }\n var names = isArray(name) ? (isArray(name[0]) ? name : [name]) : Str(name).split(comaseparator);\n for (var i = 0, ii = names.length; i < ii; i++) {\n (function (name) {\n var names = isArray(name) ? name : Str(name).split(separator),\n e = events,\n exist;\n for (var i = 0, ii = names.length; i < ii; i++) {\n e = e.n;\n e = e.hasOwnProperty(names[i]) && e[names[i]] || (e[names[i]] = {n: {}});\n }\n e.f = e.f || [];\n for (i = 0, ii = e.f.length; i < ii; i++) if (e.f[i] == f) {\n exist = true;\n break;\n }\n !exist && e.f.push(f);\n }(names[i]));\n }\n return function (zIndex) {\n if (+zIndex == +zIndex) {\n f.zIndex = +zIndex;\n }\n };\n };\n /*\\\n * eve.f\n [ method ]\n **\n * Returns function that will fire given event with optional arguments.\n * Arguments that will be passed to the result function will be also\n * concated to the list of final arguments.\n | el.onclick = eve.f(\"click\", 1, 2);\n | eve.on(\"click\", function (a, b, c) {\n | console.log(a, b, c); // 1, 2, [event object]\n | });\n > Arguments\n - event (string) event name\n - varargs (…) and any other arguments\n = (function) possible event handler function\n \\*/\n eve.f = function (event) {\n var attrs = [].slice.call(arguments, 1);\n return function () {\n eve.apply(null, [event, null].concat(attrs).concat([].slice.call(arguments, 0)));\n };\n };\n /*\\\n * eve.stop\n [ method ]\n **\n * Is used inside an event handler to stop the event, preventing any subsequent listeners from firing.\n \\*/\n eve.stop = function () {\n stop = 1;\n };\n /*\\\n * eve.nt\n [ method ]\n **\n * Could be used inside event handler to figure out actual name of the event.\n **\n > Arguments\n **\n - subname (string) #optional subname of the event\n **\n = (string) name of the event, if `subname` is not specified\n * or\n = (boolean) `true`, if current event’s name contains `subname`\n \\*/\n eve.nt = function (subname) {\n var cur = isArray(current_event) ? current_event.join(\".\") : current_event;\n if (subname) {\n return new RegExp(\"(?:\\\\.|\\\\/|^)\" + subname + \"(?:\\\\.|\\\\/|$)\").test(cur);\n }\n return cur;\n };\n /*\\\n * eve.nts\n [ method ]\n **\n * Could be used inside event handler to figure out actual name of the event.\n **\n **\n = (array) names of the event\n \\*/\n eve.nts = function () {\n return isArray(current_event) ? current_event : current_event.split(separator);\n };\n /*\\\n * eve.off\n [ method ]\n **\n * Removes given function from the list of event listeners assigned to given name.\n * If no arguments specified all the events will be cleared.\n **\n > Arguments\n **\n - name (string) name of the event, dot (`.`) or slash (`/`) separated, with optional wildcards\n - f (function) event handler function\n \\*/\n /*\\\n * eve.unbind\n [ method ]\n **\n * See @eve.off\n \\*/\n eve.off = eve.unbind = function (name, f) {\n if (!name) {\n eve._events = events = {n: {}};\n return;\n }\n var names = isArray(name) ? (isArray(name[0]) ? name : [name]) : Str(name).split(comaseparator);\n if (names.length > 1) {\n for (var i = 0, ii = names.length; i < ii; i++) {\n eve.off(names[i], f);\n }\n return;\n }\n names = isArray(name) ? name : Str(name).split(separator);\n var e,\n key,\n splice,\n i, ii, j, jj,\n cur = [events];\n for (i = 0, ii = names.length; i < ii; i++) {\n for (j = 0; j < cur.length; j += splice.length - 2) {\n splice = [j, 1];\n e = cur[j].n;\n if (names[i] != wildcard) {\n if (e[names[i]]) {\n splice.push(e[names[i]]);\n }\n } else {\n for (key in e) if (e[has](key)) {\n splice.push(e[key]);\n }\n }\n cur.splice.apply(cur, splice);\n }\n }\n for (i = 0, ii = cur.length; i < ii; i++) {\n e = cur[i];\n while (e.n) {\n if (f) {\n if (e.f) {\n for (j = 0, jj = e.f.length; j < jj; j++) if (e.f[j] == f) {\n e.f.splice(j, 1);\n break;\n }\n !e.f.length && delete e.f;\n }\n for (key in e.n) if (e.n[has](key) && e.n[key].f) {\n var funcs = e.n[key].f;\n for (j = 0, jj = funcs.length; j < jj; j++) if (funcs[j] == f) {\n funcs.splice(j, 1);\n break;\n }\n !funcs.length && delete e.n[key].f;\n }\n } else {\n delete e.f;\n for (key in e.n) if (e.n[has](key) && e.n[key].f) {\n delete e.n[key].f;\n }\n }\n e = e.n;\n }\n }\n };\n /*\\\n * eve.once\n [ method ]\n **\n * Binds given event handler with a given name to only run once then unbind itself.\n | eve.once(\"login\", f);\n | eve(\"login\"); // triggers f\n | eve(\"login\"); // no listeners\n * Use @eve to trigger the listener.\n **\n > Arguments\n **\n - name (string) name of the event, dot (`.`) or slash (`/`) separated, with optional wildcards\n - f (function) event handler function\n **\n = (function) same return function as @eve.on\n \\*/\n eve.once = function (name, f) {\n var f2 = function () {\n eve.off(name, f2);\n return f.apply(this, arguments);\n };\n return eve.on(name, f2);\n };\n /*\\\n * eve.version\n [ property (string) ]\n **\n * Current version of the library.\n \\*/\n eve.version = version;\n eve.toString = function () {\n return \"You are running Eve \" + version;\n };\n (typeof module != \"undefined\" && module.exports) ? (module.exports = eve) : (typeof define === \"function\" && define.amd ? (define(\"eve\", [], function() { return eve; })) : (glob.eve = eve));\n})(this);\n","(function ($) {\r\n var elts = [];\r\n var items = [];\r\n var infobox;\r\n var rosace;\r\n var that;\r\n var settings;\r\n\r\n $.fn.euroviaRosace = function (options) {\r\n // Establish our default settings\r\n settings = $.extend({\r\n data: [],\r\n color: '#fff',\r\n pointFocus: 4,\r\n mode: \"ajax\",\r\n radius: 10,\r\n width: 500,\r\n height: 500,\r\n fontSize: 10,\r\n fontFamily: \"Arial, Helvetica, sans-serif\",\r\n pointRadius: 5,\r\n pointFillColor: '#fff',\r\n welcomeText: \"\",\r\n }, options);\r\n\r\n return this.each(function () {\r\n that = this;\r\n\r\n var id = $(that).attr('id');\r\n var nbPoints = settings.data.length;\r\n var step = 2 * Math.PI / nbPoints;\r\n\r\n if (settings.width == \"full\") {\r\n settings.width = $(that).width();\r\n settings.height = $(that).height();\r\n //console.log(settings.height);\r\n //console.log(settings.width);\r\n //console.log(settings.radius + \" // \" + (settings.radius * 2));\r\n }\r\n\r\n if (settings.data.length > 0) {\r\n var paper = Raphael(id, settings.width, settings.height);\r\n rosace = paper.circle(settings.width / 2, settings.height / 2, settings.radius).attr({ stroke: settings.color });\r\n infobox = new Infobox(paper, { x: settings.width / 2 - settings.radius, y: settings.height / 2 - settings.radius, width: settings.radius * 2, height: settings.radius * 2, rounding: 60, color: settings.color });\r\n infobox.div.addClass(\"infobox\");\r\n infobox.div.css(\"font-family\", settings.fontFamily);\r\n //infobox.div.css(\"position\", \"relative\");\r\n var top = $(\"#rosace\").height() / 2 - 10;\r\n\r\n infobox.div.css(\"top\", top + \"px\");\r\n //infobox.div.css(\"left\", ((settings.width - settings.radius) / 2) + \"px\");\r\n infobox.addHtml(settings.welcomeText);\r\n\r\n //Place points\r\n $.each(settings.data, function (idx, obj) {\r\n var width = 250;\r\n var angle = Math.PI - step * idx;\r\n var x = Math.round(settings.width / 2 + settings.radius * Math.cos(angle));\r\n var y = Math.round(settings.height / 2 + settings.radius * Math.sin(angle));\r\n\r\n //DRAWING...\r\n var circle = paper.circle(x, y, settings.pointRadius).attr({ fill: settings.pointFillColor, title: obj.title, stroke: settings.pointFillColor });\r\n circle.node.setAttribute(\"class\", \"Pointer\");\r\n //var t = paper.text(x, y, obj.title).attr({ \"font-size\": settings.fontSize, \"font-family\": settings.fontFamily, fill: settings.color });\r\n var t = new Infobox(paper, { x: x, y: y, width: width, height: 40, rounding: 0, color: settings.color });\r\n\r\n t.addHtml(obj.title);\r\n\r\n $(t.div).css({\r\n \"overflow\": \"hidden\",\r\n \"width\": \"auto\",\r\n \"font-size\": \"1.5em\"\r\n });\r\n\r\n $(t.div).css(\"top\", $(t.div).position().top - 143)\r\n\r\n var shown = $(t.div).children().first();\r\n shown.css({\r\n \"text-overflow\": \"ellipsis\",\r\n \"white-space\": \"nowrap\",\r\n \"overflow\": \"hidden\",\r\n \"width\": width + \"px\",\r\n \"display\": \"inline-block\"\r\n });\r\n\r\n $(t.div).attr(\"data-url\", obj.url);\r\n $(t.div).attr(\"data-idx\", idx);\r\n $(t.div).attr(\"id\", obj.id);\r\n $(t.div).attr(\"class\", \"rosaceLink node\");\r\n\r\n //COMPUTE OFFSET NEEDS\r\n var offsetX = offsetY = 0; var textWidth = $(t.div).children().first().textWidth();\r\n\r\n if (angle < Math.PI / 4 && angle >= 0) {\r\n offsetX = 25;\r\n } else if (angle < Math.PI / 2 && angle >= Math.PI / 4) {\r\n offsetX = 25; offsetY = 5;\r\n } else if (angle < 3 * Math.PI / 4 && angle >= Math.PI / 2) {\r\n offsetX = -width - 40; offsetY = 0;\r\n $(t.div).attr(\"data-move\", \"true\").css(\"text-align\", \"right\");\r\n } else if (angle < Math.PI && angle >= 3 * Math.PI / 4) {\r\n offsetX = -width - 35; offsetY = -8;\r\n $(t.div).attr(\"data-move\", \"true\").css(\"text-align\", \"right\");\r\n } else if (angle < 5 * Math.PI / 4 && angle >= Math.PI) {\r\n offsetX = -width - 40; offsetY = -8;\r\n $(t.div).attr(\"data-move\", \"true\").css(\"text-align\", \"right\");\r\n } else if (angle < 3 * Math.PI / 2 && angle >= 5 * Math.PI / 4) {\r\n offsetX = -width; offsetY = -5;\r\n $(t.div).attr(\"data-move\", \"true\").css(\"text-align\", \"right\");\r\n } else if (angle < 3 * Math.PI / 2 && angle >= 5 * Math.PI / 4) {\r\n console.log(\"5pi/4 modified !\");\r\n offsetX = -width - 5; offsetY = 5;\r\n $(t.div).attr(\"data-move\", \"true\").css(\"text-align\", \"right\");\r\n } else if (angle < 7 * Math.PI / 4 && angle >= 3 * Math.PI / 2) {\r\n offsetX = 5; offsetY = 10;\r\n } else if (angle < 2 * Math.PI / 4 && angle >= 7 * Math.PI / 4) {\r\n offsetX = 5; offsetY = 5;\r\n } else if (angle < 0 && angle >= -1) {\r\n offsetX = 25; offsetY = -8;\r\n } else if (angle < -1 && angle >= -1.5) {\r\n offsetX = 25; offsetY = -15;\r\n } else if (angle < -1.5 && angle >= -2) {\r\n offsetX = -width; offsetY = -30;\r\n $(t.div).attr(\"data-move\", \"true\").css(\"text-align\", \"right\");\r\n } else if (angle < -2 && angle >= -3) {\r\n offsetX = -width - 45; offsetY = -8;\r\n $(t.div).attr(\"data-move\", \"true\").css(\"text-align\", \"right\");\r\n }\r\n\r\n if (angle <= -1.5 && angle >= -1.8) {\r\n offsetX = textWidth < width ? -textWidth / 2 : -width / 2;\r\n offsetY = -40;\r\n $(t.div).removeAttr(\"data-move\").css(\"text-align\", \"left\");\r\n }\r\n\r\n if (angle >= 1.5 && angle <= 1.8) {\r\n offsetX = textWidth < width ? -textWidth / 2 : -width / 2;\r\n offsetY = 30;\r\n $(t.div).removeAttr(\"data-move\").css(\"text-align\", \"left\");\r\n }\r\n\r\n //t.addHtml(\"angle = \" + angle);\r\n //t.addHtml(obj.title);\r\n $(t.div).css('transform', 'translate(' + offsetX + 'px, ' + offsetY + 'px)');\r\n\r\n var nWidth = 550;\r\n //PUSH TO STORE\r\n items[obj.id] = {\r\n id: obj.id,\r\n pLeft: parseInt($(t.div).css(\"left\").replace(\"px\", \"\")),\r\n needMove: $(t.div).children().first().textWidth() > $(t.div).width() && typeof $(t.div).attr(\"data-move\") != \"undefined\",\r\n width: $(t.div).width(),\r\n textWidth : $(t.div).children().first().textWidth(),\r\n delta: parseInt($(t.div).css(\"left\").replace(\"px\", \"\")) + $(t.div).children().first().width() - nWidth,\r\n needExpand: $(t.div).children().first().textWidth() > $(t.div).width(),\r\n click: function () {\r\n $(t.div).click();\r\n }\r\n };\r\n\r\n //EVENTS\r\n $(t.div).mouseover(function (e) {\r\n $(t.div).children().first().clearQueue();\r\n $(t.div).clearQueue();\r\n if (items[obj.id].needMove) {\r\n $(t.div).velocity({ \"left\": items[obj.id].delta + \"px\" });\r\n }\r\n if (items[obj.id].needExpand) {\r\n $(t.div).children().first().velocity({ \"width\": nWidth + \"px\" });\r\n }\r\n\r\n circle.animate({ r: settings.pointRadius + settings.pointFocus });\r\n });\r\n\r\n $(t.div).mouseout(function (e) {\r\n $(t.div).children().first().clearQueue();\r\n $(t.div).clearQueue();\r\n if (items[obj.id].needMove) {\r\n $(t.div).velocity({ \"left\": items[obj.id].pLeft + \"px\" });\r\n }\r\n\r\n if (items[obj.id].needExpand) {\r\n $(t.div).children().first().velocity({ \"width\": items[obj.id].width + \"px\" });\r\n }\r\n\r\n circle.animate({ r: settings.pointRadius });\r\n });\r\n\r\n circle.mouseover(function (e) {\r\n $(t.div).children().first().clearQueue();\r\n $(t.div).clearQueue();\r\n if (items[obj.id].needMove) {\r\n $(t.div).velocity({ \"left\": items[obj.id].delta + \"px\" });\r\n }\r\n if (items[obj.id].needExpand) {\r\n $(t.div).children().first().velocity({ \"width\": nWidth + \"px\" });\r\n }\r\n\r\n circle.animate({ r: settings.pointRadius + settings.pointFocus });\r\n });\r\n\r\n circle.mouseout(function (e) {\r\n $(t.div).children().first().clearQueue();\r\n $(t.div).clearQueue();\r\n if (items[obj.id].needMove) {\r\n $(t.div).velocity({ \"left\": items[obj.id].pLeft + \"px\" });\r\n }\r\n\r\n if (items[obj.id].needExpand) {\r\n $(t.div).children().first().velocity({ \"width\": items[obj.id].width + \"px\" });\r\n }\r\n\r\n circle.animate({ r: settings.pointRadius });\r\n });\r\n\r\n $(t.div).click(function (e) {\r\n FocusElt1(t.div);\r\n\r\n rosace.attr(\"fill\", \"rgba(255,255,255,0.2)\");\r\n\r\n if (settings.mode == \"ajax\") {\r\n ProcessAjax(this);\r\n } else if (settings.mode == \"json\") {\r\n ProcessJson(this);\r\n }\r\n });\r\n\r\n //circle.click(function (e) {\r\n // FocusElt1(t.node);\r\n // if (settings.mode == \"ajax\") {\r\n // ProcessAjax(t.node);\r\n // } else if (settings.mode == \"json\") {\r\n // ProcessJson(t.node);\r\n // }\r\n //});\r\n\r\n elts[\"#\" + obj.id] = t;\r\n });\r\n\r\n //GESTION URL HASH\r\n var hash = window.location.hash.replace(\"#\", \"\");\r\n\r\n if (hash != \"\") {\r\n console.log(\"hash = \" + hash);\r\n console.log(items[hash]);\r\n var obj = elts[\"#\" + hash];\r\n items[hash].click();\r\n }\r\n }\r\n });\r\n }\r\n\r\n function FocusElt1(obj) {\r\n $(\".node\").each(function (idx, node) {\r\n $(node).removeClass(\"currentRL\");\r\n });\r\n\r\n $(obj).addClass(\"rosaceLink node currentRL\");\r\n }\r\n\r\n function ProcessAjax(obj) {\r\n var url = $(obj).attr('data-url');\r\n\r\n $.ajax({\r\n url: url,\r\n success: function (data) {\r\n console.log(data);\r\n if (data == \"\") {\r\n infobox.addHtml(settings.welcomeText);\r\n } else {\r\n infobox.addHtml(data);\r\n }\r\n },\r\n error: function (data) {\r\n infobox.addHtml(\"ERROR CROSS DOMAIN\");\r\n //infobox.addHtml(\"<a href=''>toto</a><br /><a href=''>toto</a><br /><a href=''>toto</a><br /><a href=''>toto</a><br />\");\r\n }\r\n });\r\n }\r\n\r\n function ProcessJson(obj) {\r\n var idx = $(obj).attr('data-idx');\r\n if (settings.data[idx].externalLink != \"\") {\r\n window.open(settings.data[idx].externalLink);\r\n return false;\r\n } else {\r\n var data = settings.data[idx].children;\r\n if (data.length > 0) {\r\n var html = \"\";\r\n\r\n $(data).each(function (i, item) {\r\n html += \"<a href='\" + item.url + \"'>\" + item.title + \"</a><br />\";\r\n });\r\n if (html == \"\") {\r\n infobox.addHtml(settings.welcomeText);\r\n window.location.href = settings.data[idx].url;\r\n } else {\r\n infobox.addHtml(html);\r\n }\r\n } else {\r\n infobox.addHtml(settings.welcomeText);\r\n window.location.href = settings.data[idx].url;\r\n }\r\n }\r\n }\r\n\r\n /*function SetRosaceBg(img) {\r\n\t\tconsole.log(img);\r\n\t\tif(img) {\r\n\t\t\trosace.attr({'fill': 'url('+img+')'});\r\n\t\t} else {\r\n\t\t\trosace.attr({'fill': 'transparent'});\r\n\t\t}\r\n\t}*/\r\n\r\n $.fn.textWidth = function (text, font) {\r\n\t\tvar org = $(this)\r\n\t\tvar html = $('<span style=\"postion:absolute;width:auto;left:-9999px\">' + (text || org.html()) + '</span>');\r\n\t\tif (!text) {\r\n\t\t\thtml.css(\"font-family\", org.css(\"font-family\"));\r\n\t\t\thtml.css(\"font-size\", org.css(\"font-size\"));\r\n\t\t}\r\n\t\t$('body').append(html);\r\n\t\tvar width = html.width();\r\n\t\thtml.remove();\r\n\t\treturn width;\r\n };\r\n}(jQuery));"]}