From ee9a5ed80c7c3c8805f832f9f9c22f470c962ff3 Mon Sep 17 00:00:00 2001 From: Justin Hellings Date: Thu, 28 Nov 2013 16:10:27 +0000 Subject: [PATCH 1/7] Added accumulated emissions display. --- .gitignore | 1 + src/default.html.haml | 4 +++ src/javascripts/primary_energy.js.coffee | 33 +++++++++++++++++++++++- src/stylesheets/pathways.css.scss | 10 +++++++ 4 files changed, 47 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 061cf2fc..1f9fb2e7 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ tmp/ *.log *~ .powenv +.ruby-* \ No newline at end of file diff --git a/src/default.html.haml b/src/default.html.haml index 315e80b9..3f879754 100644 --- a/src/default.html.haml +++ b/src/default.html.haml @@ -62,6 +62,10 @@ // The charts will be drawn in this block #results + #cumulative_emissions + + .clearfix + // These are the controls #classic_controls #demand diff --git a/src/javascripts/primary_energy.js.coffee b/src/javascripts/primary_energy.js.coffee index 0a64a127..0b8fa5c1 100644 --- a/src/javascripts/primary_energy.js.coffee +++ b/src/javascripts/primary_energy.js.coffee @@ -87,6 +87,17 @@ class PrimaryEnergy @textContent = "#{i(t)}% reduction 1990-2050; Target is 80%" ) + # CCC intended pathway 2011 to 2050 sum + target_acc = 9486 + + acc = sum_time_series(@pathway.ghg) + acc_percent = ( acc / target_acc ) * 100 + acc_success = ( if acc_percent <= 100 then '

Meets CCC intended carbon budget

' else '

Exceeds CCC intended carbon budget!

' ) + + acc_text = '

Cumulative emissions: ' + acc.toString() + ' MtCO2e

' + '

Percentage of CCC pathway\'s cumulative emissions: ' + acc_percent.toFixed().toString() + '%

' + acc_success + + jQuery('#cumulative_emissions').html( acc_text ); + zoom: () -> d3.select("#demand_chart") .attr("style", "width: 60%") @@ -99,7 +110,27 @@ class PrimaryEnergy @updateResults(@pathway) - + + sum_time_series = (matrix) -> + + row = matrix["Total"] + + # The final value does not contribute to accumulation + # i.e. it is a snapshot at the upper time limit. + num_periods = row.length - 1 + + sum = 0 + i = 0 + + while i < num_periods + start = row[i] + end = row[i+1] + avg = (start+end)/2 + period_total = avg * 5 # Assumption: 5 year periods + sum += period_total + i++ + + sum.toFixed() diff --git a/src/stylesheets/pathways.css.scss b/src/stylesheets/pathways.css.scss index 98a3b5d6..d3d4b080 100644 --- a/src/stylesheets/pathways.css.scss +++ b/src/stylesheets/pathways.css.scss @@ -8,6 +8,16 @@ body { padding: 0; } +#cumulative_emissions { + float: right; + margin-right: 20px; + margin-bottom: 20px; +} + +.clearfix { + clear:both; +} + #svgWarn { display: none; padding: 10px; From 326eee89c900142fa76e874dea16219b202413cf Mon Sep 17 00:00:00 2001 From: Justin Hellings Date: Thu, 28 Nov 2013 16:22:40 +0000 Subject: [PATCH 2/7] Just raked the latest batch of changes. --- ...cation-451a3706ab7783856b8b9d17c037093f.js | 5820 +++++++++++++++++ ...ion-451a3706ab7783856b8b9d17c037093f.js.gz | Bin 0 -> 160908 bytes ...ation-9bf382e5a1816edb91b0cc5e1abc419b.css | 2280 +++++++ ...on-9bf382e5a1816edb91b0cc5e1abc419b.css.gz | Bin 0 -> 10975 bytes public/assets/manifest.json | 2 +- public/default.html | 6 +- 6 files changed, 8105 insertions(+), 3 deletions(-) create mode 100644 public/assets/application-451a3706ab7783856b8b9d17c037093f.js create mode 100644 public/assets/application-451a3706ab7783856b8b9d17c037093f.js.gz create mode 100644 public/assets/application-9bf382e5a1816edb91b0cc5e1abc419b.css create mode 100644 public/assets/application-9bf382e5a1816edb91b0cc5e1abc419b.css.gz diff --git a/public/assets/application-451a3706ab7783856b8b9d17c037093f.js b/public/assets/application-451a3706ab7783856b8b9d17c037093f.js new file mode 100644 index 00000000..3b3e08be --- /dev/null +++ b/public/assets/application-451a3706ab7783856b8b9d17c037093f.js @@ -0,0 +1,5820 @@ +/*! jQuery v1.8.3 jquery.com | jquery.org/license */ + +(function(e,t){function _(e){var t=M[e]={};return v.each(e.split(y),function(e,n){t[n]=!0}),t}function H(e,n,r){if(r===t&&e.nodeType===1){var i="data-"+n.replace(P,"-$1").toLowerCase();r=e.getAttribute(i);if(typeof r=="string"){try{r=r==="true"?!0:r==="false"?!1:r==="null"?null:+r+""===r?+r:D.test(r)?v.parseJSON(r):r}catch(s){}v.data(e,n,r)}else r=t}return r}function B(e){var t;for(t in e){if(t==="data"&&v.isEmptyObject(e[t]))continue;if(t!=="toJSON")return!1}return!0}function et(){return!1}function tt(){return!0}function ut(e){return!e||!e.parentNode||e.parentNode.nodeType===11}function at(e,t){do e=e[t];while(e&&e.nodeType!==1);return e}function ft(e,t,n){t=t||0;if(v.isFunction(t))return v.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return v.grep(e,function(e,r){return e===t===n});if(typeof t=="string"){var r=v.grep(e,function(e){return e.nodeType===1});if(it.test(t))return v.filter(t,r,!n);t=v.filter(t,r)}return v.grep(e,function(e,r){return v.inArray(e,t)>=0===n})}function lt(e){var t=ct.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function At(e,t){if(t.nodeType!==1||!v.hasData(e))return;var n,r,i,s=v._data(e),o=v._data(t,s),u=s.events;if(u){delete o.handle,o.events={};for(n in u)for(r=0,i=u[n].length;r").appendTo(i.body),n=t.css("display");t.remove();if(n==="none"||n===""){Pt=i.body.appendChild(Pt||v.extend(i.createElement("iframe"),{frameBorder:0,width:0,height:0}));if(!Ht||!Pt.createElement)Ht=(Pt.contentWindow||Pt.contentDocument).document,Ht.write(""),Ht.close();t=Ht.body.appendChild(Ht.createElement(e)),n=Dt(t,"display"),i.body.removeChild(Pt)}return Wt[e]=n,n}function fn(e,t,n,r){var i;if(v.isArray(t))v.each(t,function(t,i){n||sn.test(e)?r(e,i):fn(e+"["+(typeof i=="object"?t:"")+"]",i,n,r)});else if(!n&&v.type(t)==="object")for(i in t)fn(e+"["+i+"]",t[i],n,r);else r(e,t)}function Cn(e){return function(t,n){typeof t!="string"&&(n=t,t="*");var r,i,s,o=t.toLowerCase().split(y),u=0,a=o.length;if(v.isFunction(n))for(;u)[^>]*$|#([\w\-]*)$)/,E=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,S=/^[\],:{}\s]*$/,x=/(?:^|:|,)(?:\s*\[)+/g,T=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,N=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,C=/^-ms-/,k=/-([\da-z])/gi,L=function(e,t){return(t+"").toUpperCase()},A=function(){i.addEventListener?(i.removeEventListener("DOMContentLoaded",A,!1),v.ready()):i.readyState==="complete"&&(i.detachEvent("onreadystatechange",A),v.ready())},O={};v.fn=v.prototype={constructor:v,init:function(e,n,r){var s,o,u,a;if(!e)return this;if(e.nodeType)return this.context=this[0]=e,this.length=1,this;if(typeof e=="string"){e.charAt(0)==="<"&&e.charAt(e.length-1)===">"&&e.length>=3?s=[null,e,null]:s=w.exec(e);if(s&&(s[1]||!n)){if(s[1])return n=n instanceof v?n[0]:n,a=n&&n.nodeType?n.ownerDocument||n:i,e=v.parseHTML(s[1],a,!0),E.test(s[1])&&v.isPlainObject(n)&&this.attr.call(e,n,!0),v.merge(this,e);o=i.getElementById(s[2]);if(o&&o.parentNode){if(o.id!==s[2])return r.find(e);this.length=1,this[0]=o}return this.context=i,this.selector=e,this}return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e)}return v.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),v.makeArray(e,this))},selector:"",jquery:"1.8.3",length:0,size:function(){return this.length},toArray:function(){return l.call(this)},get:function(e){return e==null?this.toArray():e<0?this[this.length+e]:this[e]},pushStack:function(e,t,n){var r=v.merge(this.constructor(),e);return r.prevObject=this,r.context=this.context,t==="find"?r.selector=this.selector+(this.selector?" ":"")+n:t&&(r.selector=this.selector+"."+t+"("+n+")"),r},each:function(e,t){return v.each(this,e,t)},ready:function(e){return v.ready.promise().done(e),this},eq:function(e){return e=+e,e===-1?this.slice(e):this.slice(e,e+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(l.apply(this,arguments),"slice",l.call(arguments).join(","))},map:function(e){return this.pushStack(v.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:[].sort,splice:[].splice},v.fn.init.prototype=v.fn,v.extend=v.fn.extend=function(){var e,n,r,i,s,o,u=arguments[0]||{},a=1,f=arguments.length,l=!1;typeof u=="boolean"&&(l=u,u=arguments[1]||{},a=2),typeof u!="object"&&!v.isFunction(u)&&(u={}),f===a&&(u=this,--a);for(;a0)return;r.resolveWith(i,[v]),v.fn.trigger&&v(i).trigger("ready").off("ready")},isFunction:function(e){return v.type(e)==="function"},isArray:Array.isArray||function(e){return v.type(e)==="array"},isWindow:function(e){return e!=null&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return e==null?String(e):O[h.call(e)]||"object"},isPlainObject:function(e){if(!e||v.type(e)!=="object"||e.nodeType||v.isWindow(e))return!1;try{if(e.constructor&&!p.call(e,"constructor")&&!p.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||p.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw new Error(e)},parseHTML:function(e,t,n){var r;return!e||typeof e!="string"?null:(typeof t=="boolean"&&(n=t,t=0),t=t||i,(r=E.exec(e))?[t.createElement(r[1])]:(r=v.buildFragment([e],t,n?null:[]),v.merge([],(r.cacheable?v.clone(r.fragment):r.fragment).childNodes)))},parseJSON:function(t){if(!t||typeof t!="string")return null;t=v.trim(t);if(e.JSON&&e.JSON.parse)return e.JSON.parse(t);if(S.test(t.replace(T,"@").replace(N,"]").replace(x,"")))return(new Function("return "+t))();v.error("Invalid JSON: "+t)},parseXML:function(n){var r,i;if(!n||typeof n!="string")return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(s){r=t}return(!r||!r.documentElement||r.getElementsByTagName("parsererror").length)&&v.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&g.test(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(C,"ms-").replace(k,L)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,n,r){var i,s=0,o=e.length,u=o===t||v.isFunction(e);if(r){if(u){for(i in e)if(n.apply(e[i],r)===!1)break}else for(;s0&&e[0]&&e[a-1]||a===0||v.isArray(e));if(f)for(;u-1)a.splice(n,1),i&&(n<=o&&o--,n<=u&&u--)}),this},has:function(e){return v.inArray(e,a)>-1},empty:function(){return a=[],this},disable:function(){return a=f=n=t,this},disabled:function(){return!a},lock:function(){return f=t,n||c.disable(),this},locked:function(){return!f},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],a&&(!r||f)&&(i?f.push(t):l(t)),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},v.extend({Deferred:function(e){var t=[["resolve","done",v.Callbacks("once memory"),"resolved"],["reject","fail",v.Callbacks("once memory"),"rejected"],["notify","progress",v.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return v.Deferred(function(n){v.each(t,function(t,r){var s=r[0],o=e[t];i[r[1]](v.isFunction(o)?function(){var e=o.apply(this,arguments);e&&v.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[s+"With"](this===i?n:this,[e])}:n[s])}),e=null}).promise()},promise:function(e){return e!=null?v.extend(e,r):r}},i={};return r.pipe=r.then,v.each(t,function(e,s){var o=s[2],u=s[3];r[s[1]]=o.add,u&&o.add(function(){n=u},t[e^1][2].disable,t[2][2].lock),i[s[0]]=o.fire,i[s[0]+"With"]=o.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=l.call(arguments),r=n.length,i=r!==1||e&&v.isFunction(e.promise)?r:0,s=i===1?e:v.Deferred(),o=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?l.call(arguments):r,n===u?s.notifyWith(t,n):--i||s.resolveWith(t,n)}},u,a,f;if(r>1){u=new Array(r),a=new Array(r),f=new Array(r);for(;t
a",n=p.getElementsByTagName("*"),r=p.getElementsByTagName("a")[0];if(!n||!r||!n.length)return{};s=i.createElement("select"),o=s.appendChild(i.createElement("option")),u=p.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={leadingWhitespace:p.firstChild.nodeType===3,tbody:!p.getElementsByTagName("tbody").length,htmlSerialize:!!p.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:r.getAttribute("href")==="/a",opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:u.value==="on",optSelected:o.selected,getSetAttribute:p.className!=="t",enctype:!!i.createElement("form").enctype,html5Clone:i.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",boxModel:i.compatMode==="CSS1Compat",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},u.checked=!0,t.noCloneChecked=u.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!o.disabled;try{delete p.test}catch(d){t.deleteExpando=!1}!p.addEventListener&&p.attachEvent&&p.fireEvent&&(p.attachEvent("onclick",h=function(){t.noCloneEvent=!1}),p.cloneNode(!0).fireEvent("onclick"),p.detachEvent("onclick",h)),u=i.createElement("input"),u.value="t",u.setAttribute("type","radio"),t.radioValue=u.value==="t",u.setAttribute("checked","checked"),u.setAttribute("name","t"),p.appendChild(u),a=i.createDocumentFragment(),a.appendChild(p.lastChild),t.checkClone=a.cloneNode(!0).cloneNode(!0).lastChild.checked,t.appendChecked=u.checked,a.removeChild(u),a.appendChild(p);if(p.attachEvent)for(l in{submit:!0,change:!0,focusin:!0})f="on"+l,c=f in p,c||(p.setAttribute(f,"return;"),c=typeof p[f]=="function"),t[l+"Bubbles"]=c;return v(function(){var n,r,s,o,u="padding:0;margin:0;border:0;display:block;overflow:hidden;",a=i.getElementsByTagName("body")[0];if(!a)return;n=i.createElement("div"),n.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",a.insertBefore(n,a.firstChild),r=i.createElement("div"),n.appendChild(r),r.innerHTML="
t
",s=r.getElementsByTagName("td"),s[0].style.cssText="padding:0;margin:0;border:0;display:none",c=s[0].offsetHeight===0,s[0].style.display="",s[1].style.display="none",t.reliableHiddenOffsets=c&&s[0].offsetHeight===0,r.innerHTML="",r.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=r.offsetWidth===4,t.doesNotIncludeMarginInBodyOffset=a.offsetTop!==1,e.getComputedStyle&&(t.pixelPosition=(e.getComputedStyle(r,null)||{}).top!=="1%",t.boxSizingReliable=(e.getComputedStyle(r,null)||{width:"4px"}).width==="4px",o=i.createElement("div"),o.style.cssText=r.style.cssText=u,o.style.marginRight=o.style.width="0",r.style.width="1px",r.appendChild(o),t.reliableMarginRight=!parseFloat((e.getComputedStyle(o,null)||{}).marginRight)),typeof r.style.zoom!="undefined"&&(r.innerHTML="",r.style.cssText=u+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=r.offsetWidth===3,r.style.display="block",r.style.overflow="visible",r.innerHTML="
",r.firstChild.style.width="5px",t.shrinkWrapBlocks=r.offsetWidth!==3,n.style.zoom=1),a.removeChild(n),n=r=s=o=null}),a.removeChild(p),n=r=s=o=u=a=p=null,t}();var D=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,P=/([A-Z])/g;v.extend({cache:{},deletedIds:[],uuid:0,expando:"jQuery"+(v.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?v.cache[e[v.expando]]:e[v.expando],!!e&&!B(e)},data:function(e,n,r,i){if(!v.acceptData(e))return;var s,o,u=v.expando,a=typeof n=="string",f=e.nodeType,l=f?v.cache:e,c=f?e[u]:e[u]&&u;if((!c||!l[c]||!i&&!l[c].data)&&a&&r===t)return;c||(f?e[u]=c=v.deletedIds.pop()||v.guid++:c=u),l[c]||(l[c]={},f||(l[c].toJSON=v.noop));if(typeof n=="object"||typeof n=="function")i?l[c]=v.extend(l[c],n):l[c].data=v.extend(l[c].data,n);return s=l[c],i||(s.data||(s.data={}),s=s.data),r!==t&&(s[v.camelCase(n)]=r),a?(o=s[n],o==null&&(o=s[v.camelCase(n)])):o=s,o},removeData:function(e,t,n){if(!v.acceptData(e))return;var r,i,s,o=e.nodeType,u=o?v.cache:e,a=o?e[v.expando]:v.expando;if(!u[a])return;if(t){r=n?u[a]:u[a].data;if(r){v.isArray(t)||(t in r?t=[t]:(t=v.camelCase(t),t in r?t=[t]:t=t.split(" ")));for(i=0,s=t.length;i1,null,!1))},removeData:function(e){return this.each(function(){v.removeData(this,e)})}}),v.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=v._data(e,t),n&&(!r||v.isArray(n)?r=v._data(e,t,v.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=v.queue(e,t),r=n.length,i=n.shift(),s=v._queueHooks(e,t),o=function(){v.dequeue(e,t)};i==="inprogress"&&(i=n.shift(),r--),i&&(t==="fx"&&n.unshift("inprogress"),delete s.stop,i.call(e,o,s)),!r&&s&&s.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return v._data(e,n)||v._data(e,n,{empty:v.Callbacks("once memory").add(function(){v.removeData(e,t+"queue",!0),v.removeData(e,n,!0)})})}}),v.fn.extend({queue:function(e,n){var r=2;return typeof e!="string"&&(n=e,e="fx",r--),arguments.length1)},removeAttr:function(e){return this.each(function(){v.removeAttr(this,e)})},prop:function(e,t){return v.access(this,v.prop,e,t,arguments.length>1)},removeProp:function(e){return e=v.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,s,o,u;if(v.isFunction(e))return this.each(function(t){v(this).addClass(e.call(this,t,this.className))});if(e&&typeof e=="string"){t=e.split(y);for(n=0,r=this.length;n=0)r=r.replace(" "+n[s]+" "," ");i.className=e?v.trim(r):""}}}return this},toggleClass:function(e,t){var n=typeof e,r=typeof t=="boolean";return v.isFunction(e)?this.each(function(n){v(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if(n==="string"){var i,s=0,o=v(this),u=t,a=e.split(y);while(i=a[s++])u=r?u:!o.hasClass(i),o[u?"addClass":"removeClass"](i)}else if(n==="undefined"||n==="boolean")this.className&&v._data(this,"__className__",this.className),this.className=this.className||e===!1?"":v._data(this,"__className__")||""})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;n=0)return!0;return!1},val:function(e){var n,r,i,s=this[0];if(!arguments.length){if(s)return n=v.valHooks[s.type]||v.valHooks[s.nodeName.toLowerCase()],n&&"get"in n&&(r=n.get(s,"value"))!==t?r:(r=s.value,typeof r=="string"?r.replace(R,""):r==null?"":r);return}return i=v.isFunction(e),this.each(function(r){var s,o=v(this);if(this.nodeType!==1)return;i?s=e.call(this,r,o.val()):s=e,s==null?s="":typeof s=="number"?s+="":v.isArray(s)&&(s=v.map(s,function(e){return e==null?"":e+""})),n=v.valHooks[this.type]||v.valHooks[this.nodeName.toLowerCase()];if(!n||!("set"in n)||n.set(this,s,"value")===t)this.value=s})}}),v.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,s=e.type==="select-one"||i<0,o=s?null:[],u=s?i+1:r.length,a=i<0?u:s?i:0;for(;a=0}),n.length||(e.selectedIndex=-1),n}}},attrFn:{},attr:function(e,n,r,i){var s,o,u,a=e.nodeType;if(!e||a===3||a===8||a===2)return;if(i&&v.isFunction(v.fn[n]))return v(e)[n](r);if(typeof e.getAttribute=="undefined")return v.prop(e,n,r);u=a!==1||!v.isXMLDoc(e),u&&(n=n.toLowerCase(),o=v.attrHooks[n]||(X.test(n)?F:j));if(r!==t){if(r===null){v.removeAttr(e,n);return}return o&&"set"in o&&u&&(s=o.set(e,r,n))!==t?s:(e.setAttribute(n,r+""),r)}return o&&"get"in o&&u&&(s=o.get(e,n))!==null?s:(s=e.getAttribute(n),s===null?t:s)},removeAttr:function(e,t){var n,r,i,s,o=0;if(t&&e.nodeType===1){r=t.split(y);for(;o=0}})});var $=/^(?:textarea|input|select)$/i,J=/^([^\.]*|)(?:\.(.+)|)$/,K=/(?:^|\s)hover(\.\S+|)\b/,Q=/^key/,G=/^(?:mouse|contextmenu)|click/,Y=/^(?:focusinfocus|focusoutblur)$/,Z=function(e){return v.event.special.hover?e:e.replace(K,"mouseenter$1 mouseleave$1")};v.event={add:function(e,n,r,i,s){var o,u,a,f,l,c,h,p,d,m,g;if(e.nodeType===3||e.nodeType===8||!n||!r||!(o=v._data(e)))return;r.handler&&(d=r,r=d.handler,s=d.selector),r.guid||(r.guid=v.guid++),a=o.events,a||(o.events=a={}),u=o.handle,u||(o.handle=u=function(e){return typeof v=="undefined"||!!e&&v.event.triggered===e.type?t:v.event.dispatch.apply(u.elem,arguments)},u.elem=e),n=v.trim(Z(n)).split(" ");for(f=0;f=0&&(y=y.slice(0,-1),a=!0),y.indexOf(".")>=0&&(b=y.split("."),y=b.shift(),b.sort());if((!s||v.event.customEvent[y])&&!v.event.global[y])return;n=typeof n=="object"?n[v.expando]?n:new v.Event(y,n):new v.Event(y),n.type=y,n.isTrigger=!0,n.exclusive=a,n.namespace=b.join("."),n.namespace_re=n.namespace?new RegExp("(^|\\.)"+b.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,h=y.indexOf(":")<0?"on"+y:"";if(!s){u=v.cache;for(f in u)u[f].events&&u[f].events[y]&&v.event.trigger(n,r,u[f].handle.elem,!0);return}n.result=t,n.target||(n.target=s),r=r!=null?v.makeArray(r):[],r.unshift(n),p=v.event.special[y]||{};if(p.trigger&&p.trigger.apply(s,r)===!1)return;m=[[s,p.bindType||y]];if(!o&&!p.noBubble&&!v.isWindow(s)){g=p.delegateType||y,l=Y.test(g+y)?s:s.parentNode;for(c=s;l;l=l.parentNode)m.push([l,g]),c=l;c===(s.ownerDocument||i)&&m.push([c.defaultView||c.parentWindow||e,g])}for(f=0;f=0:v.find(h,this,null,[s]).length),u[h]&&f.push(c);f.length&&w.push({elem:s,matches:f})}d.length>m&&w.push({elem:this,matches:d.slice(m)});for(r=0;r0?this.on(t,null,e,n):this.trigger(t)},Q.test(t)&&(v.event.fixHooks[t]=v.event.keyHooks),G.test(t)&&(v.event.fixHooks[t]=v.event.mouseHooks)}),function(e,t){function nt(e,t,n,r){n=n||[],t=t||g;var i,s,a,f,l=t.nodeType;if(!e||typeof e!="string")return n;if(l!==1&&l!==9)return[];a=o(t);if(!a&&!r)if(i=R.exec(e))if(f=i[1]){if(l===9){s=t.getElementById(f);if(!s||!s.parentNode)return n;if(s.id===f)return n.push(s),n}else if(t.ownerDocument&&(s=t.ownerDocument.getElementById(f))&&u(t,s)&&s.id===f)return n.push(s),n}else{if(i[2])return S.apply(n,x.call(t.getElementsByTagName(e),0)),n;if((f=i[3])&&Z&&t.getElementsByClassName)return S.apply(n,x.call(t.getElementsByClassName(f),0)),n}return vt(e.replace(j,"$1"),t,n,r,a)}function rt(e){return function(t){var n=t.nodeName.toLowerCase();return n==="input"&&t.type===e}}function it(e){return function(t){var n=t.nodeName.toLowerCase();return(n==="input"||n==="button")&&t.type===e}}function st(e){return N(function(t){return t=+t,N(function(n,r){var i,s=e([],n.length,t),o=s.length;while(o--)n[i=s[o]]&&(n[i]=!(r[i]=n[i]))})})}function ot(e,t,n){if(e===t)return n;var r=e.nextSibling;while(r){if(r===t)return-1;r=r.nextSibling}return 1}function ut(e,t){var n,r,s,o,u,a,f,l=L[d][e+" "];if(l)return t?0:l.slice(0);u=e,a=[],f=i.preFilter;while(u){if(!n||(r=F.exec(u)))r&&(u=u.slice(r[0].length)||u),a.push(s=[]);n=!1;if(r=I.exec(u))s.push(n=new m(r.shift())),u=u.slice(n.length),n.type=r[0].replace(j," ");for(o in i.filter)(r=J[o].exec(u))&&(!f[o]||(r=f[o](r)))&&(s.push(n=new m(r.shift())),u=u.slice(n.length),n.type=o,n.matches=r);if(!n)break}return t?u.length:u?nt.error(e):L(e,a).slice(0)}function at(e,t,r){var i=t.dir,s=r&&t.dir==="parentNode",o=w++;return t.first?function(t,n,r){while(t=t[i])if(s||t.nodeType===1)return e(t,n,r)}:function(t,r,u){if(!u){var a,f=b+" "+o+" ",l=f+n;while(t=t[i])if(s||t.nodeType===1){if((a=t[d])===l)return t.sizset;if(typeof a=="string"&&a.indexOf(f)===0){if(t.sizset)return t}else{t[d]=l;if(e(t,r,u))return t.sizset=!0,t;t.sizset=!1}}}else while(t=t[i])if(s||t.nodeType===1)if(e(t,r,u))return t}}function ft(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function lt(e,t,n,r,i){var s,o=[],u=0,a=e.length,f=t!=null;for(;u-1&&(s[f]=!(o[f]=c))}}else g=lt(g===o?g.splice(d,g.length):g),i?i(null,o,g,a):S.apply(o,g)})}function ht(e){var t,n,r,s=e.length,o=i.relative[e[0].type],u=o||i.relative[" "],a=o?1:0,f=at(function(e){return e===t},u,!0),l=at(function(e){return T.call(t,e)>-1},u,!0),h=[function(e,n,r){return!o&&(r||n!==c)||((t=n).nodeType?f(e,n,r):l(e,n,r))}];for(;a1&&ft(h),a>1&&e.slice(0,a-1).join("").replace(j,"$1"),n,a0,s=e.length>0,o=function(u,a,f,l,h){var p,d,v,m=[],y=0,w="0",x=u&&[],T=h!=null,N=c,C=u||s&&i.find.TAG("*",h&&a.parentNode||a),k=b+=N==null?1:Math.E;T&&(c=a!==g&&a,n=o.el);for(;(p=C[w])!=null;w++){if(s&&p){for(d=0;v=e[d];d++)if(v(p,a,f)){l.push(p);break}T&&(b=k,n=++o.el)}r&&((p=!v&&p)&&y--,u&&x.push(p))}y+=w;if(r&&w!==y){for(d=0;v=t[d];d++)v(x,m,a,f);if(u){if(y>0)while(w--)!x[w]&&!m[w]&&(m[w]=E.call(l));m=lt(m)}S.apply(l,m),T&&!u&&m.length>0&&y+t.length>1&&nt.uniqueSort(l)}return T&&(b=k,c=N),x};return o.el=0,r?N(o):o}function dt(e,t,n){var r=0,i=t.length;for(;r2&&(f=u[0]).type==="ID"&&t.nodeType===9&&!s&&i.relative[u[1].type]){t=i.find.ID(f.matches[0].replace($,""),t,s)[0];if(!t)return n;e=e.slice(u.shift().length)}for(o=J.POS.test(e)?-1:u.length-1;o>=0;o--){f=u[o];if(i.relative[l=f.type])break;if(c=i.find[l])if(r=c(f.matches[0].replace($,""),z.test(u[0].type)&&t.parentNode||t,s)){u.splice(o,1),e=r.length&&u.join("");if(!e)return S.apply(n,x.call(r,0)),n;break}}}return a(e,h)(r,t,s,n,z.test(e)),n}function mt(){}var n,r,i,s,o,u,a,f,l,c,h=!0,p="undefined",d=("sizcache"+Math.random()).replace(".",""),m=String,g=e.document,y=g.documentElement,b=0,w=0,E=[].pop,S=[].push,x=[].slice,T=[].indexOf||function(e){var t=0,n=this.length;for(;ti.cacheLength&&delete e[t.shift()],e[n+" "]=r},e)},k=C(),L=C(),A=C(),O="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",_=M.replace("w","w#"),D="([*^$|!~]?=)",P="\\["+O+"*("+M+")"+O+"*(?:"+D+O+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+_+")|)|)"+O+"*\\]",H=":("+M+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:"+P+")|[^:]|\\\\.)*|.*))\\)|)",B=":(even|odd|eq|gt|lt|nth|first|last)(?:\\("+O+"*((?:-\\d)?\\d*)"+O+"*\\)|)(?=[^-]|$)",j=new RegExp("^"+O+"+|((?:^|[^\\\\])(?:\\\\.)*)"+O+"+$","g"),F=new RegExp("^"+O+"*,"+O+"*"),I=new RegExp("^"+O+"*([\\x20\\t\\r\\n\\f>+~])"+O+"*"),q=new RegExp(H),R=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,U=/^:not/,z=/[\x20\t\r\n\f]*[+~]/,W=/:not\($/,X=/h\d/i,V=/input|select|textarea|button/i,$=/\\(?!\\)/g,J={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),NAME:new RegExp("^\\[name=['\"]?("+M+")['\"]?\\]"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+H),POS:new RegExp(B,"i"),CHILD:new RegExp("^:(only|nth|first|last)-child(?:\\("+O+"*(even|odd|(([+-]|)(\\d*)n|)"+O+"*(?:([+-]|)"+O+"*(\\d+)|))"+O+"*\\)|)","i"),needsContext:new RegExp("^"+O+"*[>+~]|"+B,"i")},K=function(e){var t=g.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}},Q=K(function(e){return e.appendChild(g.createComment("")),!e.getElementsByTagName("*").length}),G=K(function(e){return e.innerHTML="",e.firstChild&&typeof e.firstChild.getAttribute!==p&&e.firstChild.getAttribute("href")==="#"}),Y=K(function(e){e.innerHTML="";var t=typeof e.lastChild.getAttribute("multiple");return t!=="boolean"&&t!=="string"}),Z=K(function(e){return e.innerHTML="",!e.getElementsByClassName||!e.getElementsByClassName("e").length?!1:(e.lastChild.className="e",e.getElementsByClassName("e").length===2)}),et=K(function(e){e.id=d+0,e.innerHTML="
",y.insertBefore(e,y.firstChild);var t=g.getElementsByName&&g.getElementsByName(d).length===2+g.getElementsByName(d+0).length;return r=!g.getElementById(d),y.removeChild(e),t});try{x.call(y.childNodes,0)[0].nodeType}catch(tt){x=function(e){var t,n=[];for(;t=this[e];e++)n.push(t);return n}}nt.matches=function(e,t){return nt(e,null,null,t)},nt.matchesSelector=function(e,t){return nt(t,null,null,[e]).length>0},s=nt.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(i===1||i===9||i===11){if(typeof e.textContent=="string")return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=s(e)}else if(i===3||i===4)return e.nodeValue}else for(;t=e[r];r++)n+=s(t);return n},o=nt.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?t.nodeName!=="HTML":!1},u=nt.contains=y.contains?function(e,t){var n=e.nodeType===9?e.documentElement:e,r=t&&t.parentNode;return e===r||!!(r&&r.nodeType===1&&n.contains&&n.contains(r))}:y.compareDocumentPosition?function(e,t){return t&&!!(e.compareDocumentPosition(t)&16)}:function(e,t){while(t=t.parentNode)if(t===e)return!0;return!1},nt.attr=function(e,t){var n,r=o(e);return r||(t=t.toLowerCase()),(n=i.attrHandle[t])?n(e):r||Y?e.getAttribute(t):(n=e.getAttributeNode(t),n?typeof e[t]=="boolean"?e[t]?t:null:n.specified?n.value:null:null)},i=nt.selectors={cacheLength:50,createPseudo:N,match:J,attrHandle:G?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},find:{ID:r?function(e,t,n){if(typeof t.getElementById!==p&&!n){var r=t.getElementById(e);return r&&r.parentNode?[r]:[]}}:function(e,n,r){if(typeof n.getElementById!==p&&!r){var i=n.getElementById(e);return i?i.id===e||typeof i.getAttributeNode!==p&&i.getAttributeNode("id").value===e?[i]:t:[]}},TAG:Q?function(e,t){if(typeof t.getElementsByTagName!==p)return t.getElementsByTagName(e)}:function(e,t){var n=t.getElementsByTagName(e);if(e==="*"){var r,i=[],s=0;for(;r=n[s];s++)r.nodeType===1&&i.push(r);return i}return n},NAME:et&&function(e,t){if(typeof t.getElementsByName!==p)return t.getElementsByName(name)},CLASS:Z&&function(e,t,n){if(typeof t.getElementsByClassName!==p&&!n)return t.getElementsByClassName(e)}},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace($,""),e[3]=(e[4]||e[5]||"").replace($,""),e[2]==="~="&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),e[1]==="nth"?(e[2]||nt.error(e[0]),e[3]=+(e[3]?e[4]+(e[5]||1):2*(e[2]==="even"||e[2]==="odd")),e[4]=+(e[6]+e[7]||e[2]==="odd")):e[2]&&nt.error(e[0]),e},PSEUDO:function(e){var t,n;if(J.CHILD.test(e[0]))return null;if(e[3])e[2]=e[3];else if(t=e[4])q.test(t)&&(n=ut(t,!0))&&(n=t.indexOf(")",t.length-n)-t.length)&&(t=t.slice(0,n),e[0]=e[0].slice(0,n)),e[2]=t;return e.slice(0,3)}},filter:{ID:r?function(e){return e=e.replace($,""),function(t){return t.getAttribute("id")===e}}:function(e){return e=e.replace($,""),function(t){var n=typeof t.getAttributeNode!==p&&t.getAttributeNode("id");return n&&n.value===e}},TAG:function(e){return e==="*"?function(){return!0}:(e=e.replace($,"").toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=k[d][e+" "];return t||(t=new RegExp("(^|"+O+")"+e+"("+O+"|$)"))&&k(e,function(e){return t.test(e.className||typeof e.getAttribute!==p&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r,i){var s=nt.attr(r,e);return s==null?t==="!=":t?(s+="",t==="="?s===n:t==="!="?s!==n:t==="^="?n&&s.indexOf(n)===0:t==="*="?n&&s.indexOf(n)>-1:t==="$="?n&&s.substr(s.length-n.length)===n:t==="~="?(" "+s+" ").indexOf(n)>-1:t==="|="?s===n||s.substr(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r){return e==="nth"?function(e){var t,i,s=e.parentNode;if(n===1&&r===0)return!0;if(s){i=0;for(t=s.firstChild;t;t=t.nextSibling)if(t.nodeType===1){i++;if(e===t)break}}return i-=r,i===n||i%n===0&&i/n>=0}:function(t){var n=t;switch(e){case"only":case"first":while(n=n.previousSibling)if(n.nodeType===1)return!1;if(e==="first")return!0;n=t;case"last":while(n=n.nextSibling)if(n.nodeType===1)return!1;return!0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||nt.error("unsupported pseudo: "+e);return r[d]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?N(function(e,n){var i,s=r(e,t),o=s.length;while(o--)i=T.call(e,s[o]),e[i]=!(n[i]=s[o])}):function(e){return r(e,0,n)}):r}},pseudos:{not:N(function(e){var t=[],n=[],r=a(e.replace(j,"$1"));return r[d]?N(function(e,t,n,i){var s,o=r(e,null,i,[]),u=e.length;while(u--)if(s=o[u])e[u]=!(t[u]=s)}):function(e,i,s){return t[0]=e,r(t,null,s,n),!n.pop()}}),has:N(function(e){return function(t){return nt(e,t).length>0}}),contains:N(function(e){return function(t){return(t.textContent||t.innerText||s(t)).indexOf(e)>-1}}),enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&!!e.checked||t==="option"&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},parent:function(e){return!i.pseudos.empty(e)},empty:function(e){var t;e=e.firstChild;while(e){if(e.nodeName>"@"||(t=e.nodeType)===3||t===4)return!1;e=e.nextSibling}return!0},header:function(e){return X.test(e.nodeName)},text:function(e){var t,n;return e.nodeName.toLowerCase()==="input"&&(t=e.type)==="text"&&((n=e.getAttribute("type"))==null||n.toLowerCase()===t)},radio:rt("radio"),checkbox:rt("checkbox"),file:rt("file"),password:rt("password"),image:rt("image"),submit:it("submit"),reset:it("reset"),button:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&e.type==="button"||t==="button"},input:function(e){return V.test(e.nodeName)},focus:function(e){var t=e.ownerDocument;return e===t.activeElement&&(!t.hasFocus||t.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},active:function(e){return e===e.ownerDocument.activeElement},first:st(function(){return[0]}),last:st(function(e,t){return[t-1]}),eq:st(function(e,t,n){return[n<0?n+t:n]}),even:st(function(e,t){for(var n=0;n=0;)e.push(r);return e}),gt:st(function(e,t,n){for(var r=n<0?n+t:n;++r",e.querySelectorAll("[selected]").length||i.push("\\["+O+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||i.push(":checked")}),K(function(e){e.innerHTML="

",e.querySelectorAll("[test^='']").length&&i.push("[*^$]="+O+"*(?:\"\"|'')"),e.innerHTML="",e.querySelectorAll(":enabled").length||i.push(":enabled",":disabled")}),i=new RegExp(i.join("|")),vt=function(e,r,s,o,u){if(!o&&!u&&!i.test(e)){var a,f,l=!0,c=d,h=r,p=r.nodeType===9&&e;if(r.nodeType===1&&r.nodeName.toLowerCase()!=="object"){a=ut(e),(l=r.getAttribute("id"))?c=l.replace(n,"\\$&"):r.setAttribute("id",c),c="[id='"+c+"'] ",f=a.length;while(f--)a[f]=c+a[f].join("");h=z.test(e)&&r.parentNode||r,p=a.join(",")}if(p)try{return S.apply(s,x.call(h.querySelectorAll(p),0)),s}catch(v){}finally{l||r.removeAttribute("id")}}return t(e,r,s,o,u)},u&&(K(function(t){e=u.call(t,"div");try{u.call(t,"[test!='']:sizzle"),s.push("!=",H)}catch(n){}}),s=new RegExp(s.join("|")),nt.matchesSelector=function(t,n){n=n.replace(r,"='$1']");if(!o(t)&&!s.test(n)&&!i.test(n))try{var a=u.call(t,n);if(a||e||t.document&&t.document.nodeType!==11)return a}catch(f){}return nt(n,null,null,[t]).length>0})}(),i.pseudos.nth=i.pseudos.eq,i.filters=mt.prototype=i.pseudos,i.setFilters=new mt,nt.attr=v.attr,v.find=nt,v.expr=nt.selectors,v.expr[":"]=v.expr.pseudos,v.unique=nt.uniqueSort,v.text=nt.getText,v.isXMLDoc=nt.isXML,v.contains=nt.contains}(e);var nt=/Until$/,rt=/^(?:parents|prev(?:Until|All))/,it=/^.[^:#\[\.,]*$/,st=v.expr.match.needsContext,ot={children:!0,contents:!0,next:!0,prev:!0};v.fn.extend({find:function(e){var t,n,r,i,s,o,u=this;if(typeof e!="string")return v(e).filter(function(){for(t=0,n=u.length;t0)for(i=r;i=0:v.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,s=[],o=st.test(e)||typeof e!="string"?v(e,t||this.context):0;for(;r-1:v.find.matchesSelector(n,e)){s.push(n);break}n=n.parentNode}}return s=s.length>1?v.unique(s):s,this.pushStack(s,"closest",e)},index:function(e){return e?typeof e=="string"?v.inArray(this[0],v(e)):v.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(e,t){var n=typeof e=="string"?v(e,t):v.makeArray(e&&e.nodeType?[e]:e),r=v.merge(this.get(),n);return this.pushStack(ut(n[0])||ut(r[0])?r:v.unique(r))},addBack:function(e){return this.add(e==null?this.prevObject:this.prevObject.filter(e))}}),v.fn.andSelf=v.fn.addBack,v.each({parent:function(e){var t=e.parentNode;return t&&t.nodeType!==11?t:null},parents:function(e){return v.dir(e,"parentNode")},parentsUntil:function(e,t,n){return v.dir(e,"parentNode",n)},next:function(e){return at(e,"nextSibling")},prev:function(e){return at(e,"previousSibling")},nextAll:function(e){return v.dir(e,"nextSibling")},prevAll:function(e){return v.dir(e,"previousSibling")},nextUntil:function(e,t,n){return v.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return v.dir(e,"previousSibling",n)},siblings:function(e){return v.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return v.sibling(e.firstChild)},contents:function(e){return v.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:v.merge([],e.childNodes)}},function(e,t){v.fn[e]=function(n,r){var i=v.map(this,t,n);return nt.test(e)||(r=n),r&&typeof r=="string"&&(i=v.filter(r,i)),i=this.length>1&&!ot[e]?v.unique(i):i,this.length>1&&rt.test(e)&&(i=i.reverse()),this.pushStack(i,e,l.call(arguments).join(","))}}),v.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),t.length===1?v.find.matchesSelector(t[0],e)?[t[0]]:[]:v.find.matches(e,t)},dir:function(e,n,r){var i=[],s=e[n];while(s&&s.nodeType!==9&&(r===t||s.nodeType!==1||!v(s).is(r)))s.nodeType===1&&i.push(s),s=s[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)e.nodeType===1&&e!==t&&n.push(e);return n}});var ct="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ht=/ jQuery\d+="(?:null|\d+)"/g,pt=/^\s+/,dt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,vt=/<([\w:]+)/,mt=/]","i"),Et=/^(?:checkbox|radio)$/,St=/checked\s*(?:[^=]|=\s*.checked.)/i,xt=/\/(java|ecma)script/i,Tt=/^\s*\s*$/g,Nt={option:[1,""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},Ct=lt(i),kt=Ct.appendChild(i.createElement("div"));Nt.optgroup=Nt.option,Nt.tbody=Nt.tfoot=Nt.colgroup=Nt.caption=Nt.thead,Nt.th=Nt.td,v.support.htmlSerialize||(Nt._default=[1,"X
","
"]),v.fn.extend({text:function(e){return v.access(this,function(e){return e===t?v.text(this):this.empty().append((this[0]&&this[0].ownerDocument||i).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(v.isFunction(e))return this.each(function(t){v(this).wrapAll(e.call(this,t))});if(this[0]){var t=v(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&e.firstChild.nodeType===1)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return v.isFunction(e)?this.each(function(t){v(this).wrapInner(e.call(this,t))}):this.each(function(){var t=v(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=v.isFunction(e);return this.each(function(n){v(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){v.nodeName(this,"body")||v(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(this.nodeType===1||this.nodeType===11)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(this.nodeType===1||this.nodeType===11)&&this.insertBefore(e,this.firstChild)})},before:function(){if(!ut(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this)});if(arguments.length){var e=v.clean(arguments);return this.pushStack(v.merge(e,this),"before",this.selector)}},after:function(){if(!ut(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this.nextSibling)});if(arguments.length){var e=v.clean(arguments);return this.pushStack(v.merge(this,e),"after",this.selector)}},remove:function(e,t){var n,r=0;for(;(n=this[r])!=null;r++)if(!e||v.filter(e,[n]).length)!t&&n.nodeType===1&&(v.cleanData(n.getElementsByTagName("*")),v.cleanData([n])),n.parentNode&&n.parentNode.removeChild(n);return this},empty:function(){var e,t=0;for(;(e=this[t])!=null;t++){e.nodeType===1&&v.cleanData(e.getElementsByTagName("*"));while(e.firstChild)e.removeChild(e.firstChild)}return this},clone:function(e,t){return e=e==null?!1:e,t=t==null?e:t,this.map(function(){return v.clone(this,e,t)})},html:function(e){return v.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return n.nodeType===1?n.innerHTML.replace(ht,""):t;if(typeof e=="string"&&!yt.test(e)&&(v.support.htmlSerialize||!wt.test(e))&&(v.support.leadingWhitespace||!pt.test(e))&&!Nt[(vt.exec(e)||["",""])[1].toLowerCase()]){e=e.replace(dt,"<$1>");try{for(;r1&&typeof f=="string"&&St.test(f))return this.each(function(){v(this).domManip(e,n,r)});if(v.isFunction(f))return this.each(function(i){var s=v(this);e[0]=f.call(this,i,n?s.html():t),s.domManip(e,n,r)});if(this[0]){i=v.buildFragment(e,this,l),o=i.fragment,s=o.firstChild,o.childNodes.length===1&&(o=s);if(s){n=n&&v.nodeName(s,"tr");for(u=i.cacheable||c-1;a0?this.clone(!0):this).get(),v(o[i])[t](r),s=s.concat(r);return this.pushStack(s,e,o.selector)}}),v.extend({clone:function(e,t,n){var r,i,s,o;v.support.html5Clone||v.isXMLDoc(e)||!wt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(kt.innerHTML=e.outerHTML,kt.removeChild(o=kt.firstChild));if((!v.support.noCloneEvent||!v.support.noCloneChecked)&&(e.nodeType===1||e.nodeType===11)&&!v.isXMLDoc(e)){Ot(e,o),r=Mt(e),i=Mt(o);for(s=0;r[s];++s)i[s]&&Ot(r[s],i[s])}if(t){At(e,o);if(n){r=Mt(e),i=Mt(o);for(s=0;r[s];++s)At(r[s],i[s])}}return r=i=null,o},clean:function(e,t,n,r){var s,o,u,a,f,l,c,h,p,d,m,g,y=t===i&&Ct,b=[];if(!t||typeof t.createDocumentFragment=="undefined")t=i;for(s=0;(u=e[s])!=null;s++){typeof u=="number"&&(u+="");if(!u)continue;if(typeof u=="string")if(!gt.test(u))u=t.createTextNode(u);else{y=y||lt(t),c=t.createElement("div"),y.appendChild(c),u=u.replace(dt,"<$1>"),a=(vt.exec(u)||["",""])[1].toLowerCase(),f=Nt[a]||Nt._default,l=f[0],c.innerHTML=f[1]+u+f[2];while(l--)c=c.lastChild;if(!v.support.tbody){h=mt.test(u),p=a==="table"&&!h?c.firstChild&&c.firstChild.childNodes:f[1]===""&&!h?c.childNodes:[];for(o=p.length-1;o>=0;--o)v.nodeName(p[o],"tbody")&&!p[o].childNodes.length&&p[o].parentNode.removeChild(p[o])}!v.support.leadingWhitespace&&pt.test(u)&&c.insertBefore(t.createTextNode(pt.exec(u)[0]),c.firstChild),u=c.childNodes,c.parentNode.removeChild(c)}u.nodeType?b.push(u):v.merge(b,u)}c&&(u=c=y=null);if(!v.support.appendChecked)for(s=0;(u=b[s])!=null;s++)v.nodeName(u,"input")?_t(u):typeof u.getElementsByTagName!="undefined"&&v.grep(u.getElementsByTagName("input"),_t);if(n){m=function(e){if(!e.type||xt.test(e.type))return r?r.push(e.parentNode?e.parentNode.removeChild(e):e):n.appendChild(e)};for(s=0;(u=b[s])!=null;s++)if(!v.nodeName(u,"script")||!m(u))n.appendChild(u),typeof u.getElementsByTagName!="undefined"&&(g=v.grep(v.merge([],u.getElementsByTagName("script")),m),b.splice.apply(b,[s+1,0].concat(g)),s+=g.length)}return b},cleanData:function(e,t){var n,r,i,s,o=0,u=v.expando,a=v.cache,f=v.support.deleteExpando,l=v.event.special;for(;(i=e[o])!=null;o++)if(t||v.acceptData(i)){r=i[u],n=r&&a[r];if(n){if(n.events)for(s in n.events)l[s]?v.event.remove(i,s):v.removeEvent(i,s,n.handle);a[r]&&(delete a[r],f?delete i[u]:i.removeAttribute?i.removeAttribute(u):i[u]=null,v.deletedIds.push(r))}}}}),function(){var e,t;v.uaMatch=function(e){e=e.toLowerCase();var t=/(chrome)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||e.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[];return{browser:t[1]||"",version:t[2]||"0"}},e=v.uaMatch(o.userAgent),t={},e.browser&&(t[e.browser]=!0,t.version=e.version),t.chrome?t.webkit=!0:t.webkit&&(t.safari=!0),v.browser=t,v.sub=function(){function e(t,n){return new e.fn.init(t,n)}v.extend(!0,e,this),e.superclass=this,e.fn=e.prototype=this(),e.fn.constructor=e,e.sub=this.sub,e.fn.init=function(r,i){return i&&i instanceof v&&!(i instanceof e)&&(i=e(i)),v.fn.init.call(this,r,i,t)},e.fn.init.prototype=e.fn;var t=e(i);return e}}();var Dt,Pt,Ht,Bt=/alpha\([^)]*\)/i,jt=/opacity=([^)]*)/,Ft=/^(top|right|bottom|left)$/,It=/^(none|table(?!-c[ea]).+)/,qt=/^margin/,Rt=new RegExp("^("+m+")(.*)$","i"),Ut=new RegExp("^("+m+")(?!px)[a-z%]+$","i"),zt=new RegExp("^([-+])=("+m+")","i"),Wt={BODY:"block"},Xt={position:"absolute",visibility:"hidden",display:"block"},Vt={letterSpacing:0,fontWeight:400},$t=["Top","Right","Bottom","Left"],Jt=["Webkit","O","Moz","ms"],Kt=v.fn.toggle;v.fn.extend({css:function(e,n){return v.access(this,function(e,n,r){return r!==t?v.style(e,n,r):v.css(e,n)},e,n,arguments.length>1)},show:function(){return Yt(this,!0)},hide:function(){return Yt(this)},toggle:function(e,t){var n=typeof e=="boolean";return v.isFunction(e)&&v.isFunction(t)?Kt.apply(this,arguments):this.each(function(){(n?e:Gt(this))?v(this).show():v(this).hide()})}}),v.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Dt(e,"opacity");return n===""?"1":n}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":v.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(!e||e.nodeType===3||e.nodeType===8||!e.style)return;var s,o,u,a=v.camelCase(n),f=e.style;n=v.cssProps[a]||(v.cssProps[a]=Qt(f,a)),u=v.cssHooks[n]||v.cssHooks[a];if(r===t)return u&&"get"in u&&(s=u.get(e,!1,i))!==t?s:f[n];o=typeof r,o==="string"&&(s=zt.exec(r))&&(r=(s[1]+1)*s[2]+parseFloat(v.css(e,n)),o="number");if(r==null||o==="number"&&isNaN(r))return;o==="number"&&!v.cssNumber[a]&&(r+="px");if(!u||!("set"in u)||(r=u.set(e,r,i))!==t)try{f[n]=r}catch(l){}},css:function(e,n,r,i){var s,o,u,a=v.camelCase(n);return n=v.cssProps[a]||(v.cssProps[a]=Qt(e.style,a)),u=v.cssHooks[n]||v.cssHooks[a],u&&"get"in u&&(s=u.get(e,!0,i)),s===t&&(s=Dt(e,n)),s==="normal"&&n in Vt&&(s=Vt[n]),r||i!==t?(o=parseFloat(s),r||v.isNumeric(o)?o||0:s):s},swap:function(e,t,n){var r,i,s={};for(i in t)s[i]=e.style[i],e.style[i]=t[i];r=n.call(e);for(i in t)e.style[i]=s[i];return r}}),e.getComputedStyle?Dt=function(t,n){var r,i,s,o,u=e.getComputedStyle(t,null),a=t.style;return u&&(r=u.getPropertyValue(n)||u[n],r===""&&!v.contains(t.ownerDocument,t)&&(r=v.style(t,n)),Ut.test(r)&&qt.test(n)&&(i=a.width,s=a.minWidth,o=a.maxWidth,a.minWidth=a.maxWidth=a.width=r,r=u.width,a.width=i,a.minWidth=s,a.maxWidth=o)),r}:i.documentElement.currentStyle&&(Dt=function(e,t){var n,r,i=e.currentStyle&&e.currentStyle[t],s=e.style;return i==null&&s&&s[t]&&(i=s[t]),Ut.test(i)&&!Ft.test(t)&&(n=s.left,r=e.runtimeStyle&&e.runtimeStyle.left,r&&(e.runtimeStyle.left=e.currentStyle.left),s.left=t==="fontSize"?"1em":i,i=s.pixelLeft+"px",s.left=n,r&&(e.runtimeStyle.left=r)),i===""?"auto":i}),v.each(["height","width"],function(e,t){v.cssHooks[t]={get:function(e,n,r){if(n)return e.offsetWidth===0&&It.test(Dt(e,"display"))?v.swap(e,Xt,function(){return tn(e,t,r)}):tn(e,t,r)},set:function(e,n,r){return Zt(e,n,r?en(e,t,r,v.support.boxSizing&&v.css(e,"boxSizing")==="border-box"):0)}}}),v.support.opacity||(v.cssHooks.opacity={get:function(e,t){return jt.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=v.isNumeric(t)?"alpha(opacity="+t*100+")":"",s=r&&r.filter||n.filter||"";n.zoom=1;if(t>=1&&v.trim(s.replace(Bt,""))===""&&n.removeAttribute){n.removeAttribute("filter");if(r&&!r.filter)return}n.filter=Bt.test(s)?s.replace(Bt,i):s+" "+i}}),v(function(){v.support.reliableMarginRight||(v.cssHooks.marginRight={get:function(e,t){return v.swap(e,{display:"inline-block"},function(){if(t)return Dt(e,"marginRight")})}}),!v.support.pixelPosition&&v.fn.position&&v.each(["top","left"],function(e,t){v.cssHooks[t]={get:function(e,n){if(n){var r=Dt(e,t);return Ut.test(r)?v(e).position()[t]+"px":r}}}})}),v.expr&&v.expr.filters&&(v.expr.filters.hidden=function(e){return e.offsetWidth===0&&e.offsetHeight===0||!v.support.reliableHiddenOffsets&&(e.style&&e.style.display||Dt(e,"display"))==="none"},v.expr.filters.visible=function(e){return!v.expr.filters.hidden(e)}),v.each({margin:"",padding:"",border:"Width"},function(e,t){v.cssHooks[e+t]={expand:function(n){var r,i=typeof n=="string"?n.split(" "):[n],s={};for(r=0;r<4;r++)s[e+$t[r]+t]=i[r]||i[r-2]||i[0];return s}},qt.test(e)||(v.cssHooks[e+t].set=Zt)});var rn=/%20/g,sn=/\[\]$/,on=/\r?\n/g,un=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,an=/^(?:select|textarea)/i;v.fn.extend({serialize:function(){return v.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?v.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||an.test(this.nodeName)||un.test(this.type))}).map(function(e,t){var n=v(this).val();return n==null?null:v.isArray(n)?v.map(n,function(e,n){return{name:t.name,value:e.replace(on,"\r\n")}}):{name:t.name,value:n.replace(on,"\r\n")}}).get()}}),v.param=function(e,n){var r,i=[],s=function(e,t){t=v.isFunction(t)?t():t==null?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};n===t&&(n=v.ajaxSettings&&v.ajaxSettings.traditional);if(v.isArray(e)||e.jquery&&!v.isPlainObject(e))v.each(e,function(){s(this.name,this.value)});else for(r in e)fn(r,e[r],n,s);return i.join("&").replace(rn,"+")};var ln,cn,hn=/#.*$/,pn=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,dn=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,vn=/^(?:GET|HEAD)$/,mn=/^\/\//,gn=/\?/,yn=/)<[^<]*)*<\/script>/gi,bn=/([?&])_=[^&]*/,wn=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,En=v.fn.load,Sn={},xn={},Tn=["*/"]+["*"];try{cn=s.href}catch(Nn){cn=i.createElement("a"),cn.href="",cn=cn.href}ln=wn.exec(cn.toLowerCase())||[],v.fn.load=function(e,n,r){if(typeof e!="string"&&En)return En.apply(this,arguments);if(!this.length)return this;var i,s,o,u=this,a=e.indexOf(" ");return a>=0&&(i=e.slice(a,e.length),e=e.slice(0,a)),v.isFunction(n)?(r=n,n=t):n&&typeof n=="object"&&(s="POST"),v.ajax({url:e,type:s,dataType:"html",data:n,complete:function(e,t){r&&u.each(r,o||[e.responseText,t,e])}}).done(function(e){o=arguments,u.html(i?v("
").append(e.replace(yn,"")).find(i):e)}),this},v.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,t){v.fn[t]=function(e){return this.on(t,e)}}),v.each(["get","post"],function(e,n){v[n]=function(e,r,i,s){return v.isFunction(r)&&(s=s||i,i=r,r=t),v.ajax({type:n,url:e,data:r,success:i,dataType:s})}}),v.extend({getScript:function(e,n){return v.get(e,t,n,"script")},getJSON:function(e,t,n){return v.get(e,t,n,"json")},ajaxSetup:function(e,t){return t?Ln(e,v.ajaxSettings):(t=e,e=v.ajaxSettings),Ln(e,t),e},ajaxSettings:{url:cn,isLocal:dn.test(ln[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":Tn},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":e.String,"text html":!0,"text json":v.parseJSON,"text xml":v.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:Cn(Sn),ajaxTransport:Cn(xn),ajax:function(e,n){function T(e,n,s,a){var l,y,b,w,S,T=n;if(E===2)return;E=2,u&&clearTimeout(u),o=t,i=a||"",x.readyState=e>0?4:0,s&&(w=An(c,x,s));if(e>=200&&e<300||e===304)c.ifModified&&(S=x.getResponseHeader("Last-Modified"),S&&(v.lastModified[r]=S),S=x.getResponseHeader("Etag"),S&&(v.etag[r]=S)),e===304?(T="notmodified",l=!0):(l=On(c,w),T=l.state,y=l.data,b=l.error,l=!b);else{b=T;if(!T||e)T="error",e<0&&(e=0)}x.status=e,x.statusText=(n||T)+"",l?d.resolveWith(h,[y,T,x]):d.rejectWith(h,[x,T,b]),x.statusCode(g),g=t,f&&p.trigger("ajax"+(l?"Success":"Error"),[x,c,l?y:b]),m.fireWith(h,[x,T]),f&&(p.trigger("ajaxComplete",[x,c]),--v.active||v.event.trigger("ajaxStop"))}typeof e=="object"&&(n=e,e=t),n=n||{};var r,i,s,o,u,a,f,l,c=v.ajaxSetup({},n),h=c.context||c,p=h!==c&&(h.nodeType||h instanceof v)?v(h):v.event,d=v.Deferred(),m=v.Callbacks("once memory"),g=c.statusCode||{},b={},w={},E=0,S="canceled",x={readyState:0,setRequestHeader:function(e,t){if(!E){var n=e.toLowerCase();e=w[n]=w[n]||e,b[e]=t}return this},getAllResponseHeaders:function(){return E===2?i:null},getResponseHeader:function(e){var n;if(E===2){if(!s){s={};while(n=pn.exec(i))s[n[1].toLowerCase()]=n[2]}n=s[e.toLowerCase()]}return n===t?null:n},overrideMimeType:function(e){return E||(c.mimeType=e),this},abort:function(e){return e=e||S,o&&o.abort(e),T(0,e),this}};d.promise(x),x.success=x.done,x.error=x.fail,x.complete=m.add,x.statusCode=function(e){if(e){var t;if(E<2)for(t in e)g[t]=[g[t],e[t]];else t=e[x.status],x.always(t)}return this},c.url=((e||c.url)+"").replace(hn,"").replace(mn,ln[1]+"//"),c.dataTypes=v.trim(c.dataType||"*").toLowerCase().split(y),c.crossDomain==null&&(a=wn.exec(c.url.toLowerCase()),c.crossDomain=!(!a||a[1]===ln[1]&&a[2]===ln[2]&&(a[3]||(a[1]==="http:"?80:443))==(ln[3]||(ln[1]==="http:"?80:443)))),c.data&&c.processData&&typeof c.data!="string"&&(c.data=v.param(c.data,c.traditional)),kn(Sn,c,n,x);if(E===2)return x;f=c.global,c.type=c.type.toUpperCase(),c.hasContent=!vn.test(c.type),f&&v.active++===0&&v.event.trigger("ajaxStart");if(!c.hasContent){c.data&&(c.url+=(gn.test(c.url)?"&":"?")+c.data,delete c.data),r=c.url;if(c.cache===!1){var N=v.now(),C=c.url.replace(bn,"$1_="+N);c.url=C+(C===c.url?(gn.test(c.url)?"&":"?")+"_="+N:"")}}(c.data&&c.hasContent&&c.contentType!==!1||n.contentType)&&x.setRequestHeader("Content-Type",c.contentType),c.ifModified&&(r=r||c.url,v.lastModified[r]&&x.setRequestHeader("If-Modified-Since",v.lastModified[r]),v.etag[r]&&x.setRequestHeader("If-None-Match",v.etag[r])),x.setRequestHeader("Accept",c.dataTypes[0]&&c.accepts[c.dataTypes[0]]?c.accepts[c.dataTypes[0]]+(c.dataTypes[0]!=="*"?", "+Tn+"; q=0.01":""):c.accepts["*"]);for(l in c.headers)x.setRequestHeader(l,c.headers[l]);if(!c.beforeSend||c.beforeSend.call(h,x,c)!==!1&&E!==2){S="abort";for(l in{success:1,error:1,complete:1})x[l](c[l]);o=kn(xn,c,n,x);if(!o)T(-1,"No Transport");else{x.readyState=1,f&&p.trigger("ajaxSend",[x,c]),c.async&&c.timeout>0&&(u=setTimeout(function(){x.abort("timeout")},c.timeout));try{E=1,o.send(b,T)}catch(k){if(!(E<2))throw k;T(-1,k)}}return x}return x.abort()},active:0,lastModified:{},etag:{}});var Mn=[],_n=/\?/,Dn=/(=)\?(?=&|$)|\?\?/,Pn=v.now();v.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Mn.pop()||v.expando+"_"+Pn++;return this[e]=!0,e}}),v.ajaxPrefilter("json jsonp",function(n,r,i){var s,o,u,a=n.data,f=n.url,l=n.jsonp!==!1,c=l&&Dn.test(f),h=l&&!c&&typeof a=="string"&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Dn.test(a);if(n.dataTypes[0]==="jsonp"||c||h)return s=n.jsonpCallback=v.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,o=e[s],c?n.url=f.replace(Dn,"$1"+s):h?n.data=a.replace(Dn,"$1"+s):l&&(n.url+=(_n.test(f)?"&":"?")+n.jsonp+"="+s),n.converters["script json"]=function(){return u||v.error(s+" was not called"),u[0]},n.dataTypes[0]="json",e[s]=function(){u=arguments},i.always(function(){e[s]=o,n[s]&&(n.jsonpCallback=r.jsonpCallback,Mn.push(s)),u&&v.isFunction(o)&&o(u[0]),u=o=t}),"script"}),v.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(e){return v.globalEval(e),e}}}),v.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),v.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=i.head||i.getElementsByTagName("head")[0]||i.documentElement;return{send:function(s,o){n=i.createElement("script"),n.async="async",e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,i){if(i||!n.readyState||/loaded|complete/.test(n.readyState))n.onload=n.onreadystatechange=null,r&&n.parentNode&&r.removeChild(n),n=t,i||o(200,"success")},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(0,1)}}}});var Hn,Bn=e.ActiveXObject?function(){for(var e in Hn)Hn[e](0,1)}:!1,jn=0;v.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&Fn()||In()}:Fn,function(e){v.extend(v.support,{ajax:!!e,cors:!!e&&"withCredentials"in e})}(v.ajaxSettings.xhr()),v.support.ajax&&v.ajaxTransport(function(n){if(!n.crossDomain||v.support.cors){var r;return{send:function(i,s){var o,u,a=n.xhr();n.username?a.open(n.type,n.url,n.async,n.username,n.password):a.open(n.type,n.url,n.async);if(n.xhrFields)for(u in n.xhrFields)a[u]=n.xhrFields[u];n.mimeType&&a.overrideMimeType&&a.overrideMimeType(n.mimeType),!n.crossDomain&&!i["X-Requested-With"]&&(i["X-Requested-With"]="XMLHttpRequest");try{for(u in i)a.setRequestHeader(u,i[u])}catch(f){}a.send(n.hasContent&&n.data||null),r=function(e,i){var u,f,l,c,h;try{if(r&&(i||a.readyState===4)){r=t,o&&(a.onreadystatechange=v.noop,Bn&&delete Hn[o]);if(i)a.readyState!==4&&a.abort();else{u=a.status,l=a.getAllResponseHeaders(),c={},h=a.responseXML,h&&h.documentElement&&(c.xml=h);try{c.text=a.responseText}catch(p){}try{f=a.statusText}catch(p){f=""}!u&&n.isLocal&&!n.crossDomain?u=c.text?200:404:u===1223&&(u=204)}}}catch(d){i||s(-1,d)}c&&s(u,f,c,l)},n.async?a.readyState===4?setTimeout(r,0):(o=++jn,Bn&&(Hn||(Hn={},v(e).unload(Bn)),Hn[o]=r),a.onreadystatechange=r):r()},abort:function(){r&&r(0,1)}}}});var qn,Rn,Un=/^(?:toggle|show|hide)$/,zn=new RegExp("^(?:([-+])=|)("+m+")([a-z%]*)$","i"),Wn=/queueHooks$/,Xn=[Gn],Vn={"*":[function(e,t){var n,r,i=this.createTween(e,t),s=zn.exec(t),o=i.cur(),u=+o||0,a=1,f=20;if(s){n=+s[2],r=s[3]||(v.cssNumber[e]?"":"px");if(r!=="px"&&u){u=v.css(i.elem,e,!0)||n||1;do a=a||".5",u/=a,v.style(i.elem,e,u+r);while(a!==(a=i.cur()/o)&&a!==1&&--f)}i.unit=r,i.start=u,i.end=s[1]?u+(s[1]+1)*n:n}return i}]};v.Animation=v.extend(Kn,{tweener:function(e,t){v.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;r-1,f={},l={},c,h;a?(l=i.position(),c=l.top,h=l.left):(c=parseFloat(o)||0,h=parseFloat(u)||0),v.isFunction(t)&&(t=t.call(e,n,s)),t.top!=null&&(f.top=t.top-s.top+c),t.left!=null&&(f.left=t.left-s.left+h),"using"in t?t.using.call(e,f):i.css(f)}},v.fn.extend({position:function(){if(!this[0])return;var e=this[0],t=this.offsetParent(),n=this.offset(),r=er.test(t[0].nodeName)?{top:0,left:0}:t.offset();return n.top-=parseFloat(v.css(e,"marginTop"))||0,n.left-=parseFloat(v.css(e,"marginLeft"))||0,r.top+=parseFloat(v.css(t[0],"borderTopWidth"))||0,r.left+=parseFloat(v.css(t[0],"borderLeftWidth"))||0,{top:n.top-r.top,left:n.left-r.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||i.body;while(e&&!er.test(e.nodeName)&&v.css(e,"position")==="static")e=e.offsetParent;return e||i.body})}}),v.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);v.fn[e]=function(i){return v.access(this,function(e,i,s){var o=tr(e);if(s===t)return o?n in o?o[n]:o.document.documentElement[i]:e[i];o?o.scrollTo(r?v(o).scrollLeft():s,r?s:v(o).scrollTop()):e[i]=s},e,i,arguments.length,null)}}),v.each({Height:"height",Width:"width"},function(e,n){v.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){v.fn[i]=function(i,s){var o=arguments.length&&(r||typeof i!="boolean"),u=r||(i===!0||s===!0?"margin":"border");return v.access(this,function(n,r,i){var s;return v.isWindow(n)?n.document.documentElement["client"+e]:n.nodeType===9?(s=n.documentElement,Math.max(n.body["scroll"+e],s["scroll"+e],n.body["offset"+e],s["offset"+e],s["client"+e])):i===t?v.css(n,r,i,u):v.style(n,r,i,u)},n,o?i:t,o,null)}})}),e.jQuery=e.$=v,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return v})})(window); +/* + * jQuery JSON Plugin + * version: 2.1 (2009-08-14) + * + * This document is licensed as free software under the terms of the + * MIT License: http://www.opensource.org/licenses/mit-license.php + * + * Brantley Harris wrote this plugin. It is based somewhat on the JSON.org + * website's http://www.json.org/json2.js, which proclaims: + * "NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.", a sentiment that + * I uphold. + * + * It is also influenced heavily by MochiKit's serializeJSON, which is + * copyrighted 2005 by Bob Ippolito. + */ + + +(function($) { + /** jQuery.toJSON( json-serializble ) + Converts the given argument into a JSON respresentation. + + If an object has a "toJSON" function, that will be used to get the representation. + Non-integer/string keys are skipped in the object, as are keys that point to a function. + + json-serializble: + The *thing* to be converted. + **/ + $.toJSON = function(o) + { + if (typeof(JSON) == 'object' && JSON.stringify) + return JSON.stringify(o); + + var type = typeof(o); + + if (o === null) + return "null"; + + if (type == "undefined") + return undefined; + + if (type == "number" || type == "boolean") + return o + ""; + + if (type == "string") + return $.quoteString(o); + + if (type == 'object') + { + if (typeof o.toJSON == "function") + return $.toJSON( o.toJSON() ); + + if (o.constructor === Date) + { + var month = o.getUTCMonth() + 1; + if (month < 10) month = '0' + month; + + var day = o.getUTCDate(); + if (day < 10) day = '0' + day; + + var year = o.getUTCFullYear(); + + var hours = o.getUTCHours(); + if (hours < 10) hours = '0' + hours; + + var minutes = o.getUTCMinutes(); + if (minutes < 10) minutes = '0' + minutes; + + var seconds = o.getUTCSeconds(); + if (seconds < 10) seconds = '0' + seconds; + + var milli = o.getUTCMilliseconds(); + if (milli < 100) milli = '0' + milli; + if (milli < 10) milli = '0' + milli; + + return '"' + year + '-' + month + '-' + day + 'T' + + hours + ':' + minutes + ':' + seconds + + '.' + milli + 'Z"'; + } + + if (o.constructor === Array) + { + var ret = []; + for (var i = 0; i < o.length; i++) + ret.push( $.toJSON(o[i]) || "null" ); + + return "[" + ret.join(",") + "]"; + } + + var pairs = []; + for (var k in o) { + var name; + var type = typeof k; + + if (type == "number") + name = '"' + k + '"'; + else if (type == "string") + name = $.quoteString(k); + else + continue; //skip non-string or number keys + + if (typeof o[k] == "function") + continue; //skip pairs where the value is a function. + + var val = $.toJSON(o[k]); + + pairs.push(name + ":" + val); + } + + return "{" + pairs.join(", ") + "}"; + } + }; + + /** jQuery.evalJSON(src) + Evaluates a given piece of json source. + **/ + $.evalJSON = function(src) + { + if (typeof(JSON) == 'object' && JSON.parse) + return JSON.parse(src); + return eval("(" + src + ")"); + }; + + /** jQuery.secureEvalJSON(src) + Evals JSON in a way that is *more* secure. + **/ + $.secureEvalJSON = function(src) + { + if (typeof(JSON) == 'object' && JSON.parse) + return JSON.parse(src); + + var filtered = src; + filtered = filtered.replace(/\\["\\\/bfnrtu]/g, '@'); + filtered = filtered.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']'); + filtered = filtered.replace(/(?:^|:|,)(?:\s*\[)+/g, ''); + + if (/^[\],:{}\s]*$/.test(filtered)) + return eval("(" + src + ")"); + else + throw new SyntaxError("Error parsing JSON, source is not valid."); + }; + + /** jQuery.quoteString(string) + Returns a string-repr of a string, escaping quotes intelligently. + Mostly a support function for toJSON. + + Examples: + >>> jQuery.quoteString("apple") + "apple" + + >>> jQuery.quoteString('"Where are we going?", she asked.') + "\"Where are we going?\", she asked." + **/ + $.quoteString = function(string) + { + if (string.match(_escapeable)) + { + return '"' + string.replace(_escapeable, function (a) + { + var c = _meta[a]; + if (typeof c === 'string') return c; + c = a.charCodeAt(); + return '\\u00' + Math.floor(c / 16).toString(16) + (c % 16).toString(16); + }) + '"'; + } + return '"' + string + '"'; + }; + + var _escapeable = /["\\\x00-\x1f\x7f-\x9f]/g; + + var _meta = { + '\b': '\\b', + '\t': '\\t', + '\n': '\\n', + '\f': '\\f', + '\r': '\\r', + '"' : '\\"', + '\\': '\\\\' + }; +})(jQuery); +/*! + * jQuery Tools v1.2.6 - The missing UI library for the Web + * + * tooltip/tooltip.js + * + * NO COPYRIGHTS OR LICENSES. DO WHAT YOU LIKE. + * + * http://flowplayer.org/tools/ + * + */ + +(function(a){a.tools=a.tools||{version:"v1.2.6"},a.tools.tooltip={conf:{effect:"toggle",fadeOutSpeed:"fast",predelay:0,delay:30,opacity:1,tip:0,fadeIE:!1,position:["top","center"],offset:[0,0],relative:!1,cancelDefault:!0,events:{def:"mouseenter,mouseleave",input:"focus,blur",widget:"focus mouseenter,blur mouseleave",tooltip:"mouseenter,mouseleave"},layout:"
",tipClass:"tooltip"},addEffect:function(a,c,d){b[a]=[c,d]}};var b={toggle:[function(a){var b=this.getConf(),c=this.getTip(),d=b.opacity;d<1&&c.css({opacity:d}),c.show(),a.call()},function(a){this.getTip().hide(),a.call()}],fade:[function(b){var c=this.getConf();!a.browser.msie||c.fadeIE?this.getTip().fadeTo(c.fadeInSpeed,c.opacity,b):(this.getTip().show(),b())},function(b){var c=this.getConf();!a.browser.msie||c.fadeIE?this.getTip().fadeOut(c.fadeOutSpeed,b):(this.getTip().hide(),b())}]};function c(b,c,d){var e=d.relative?b.position().top:b.offset().top,f=d.relative?b.position().left:b.offset().left,g=d.position[0];e-=c.outerHeight()-d.offset[0],f+=b.outerWidth()+d.offset[1],/iPad/i.test(navigator.userAgent)&&(e-=a(window).scrollTop());var h=c.outerHeight()+b.outerHeight();g=="center"&&(e+=h/2),g=="bottom"&&(e+=h),g=d.position[1];var i=c.outerWidth()+b.outerWidth();g=="center"&&(f-=i/2),g=="left"&&(f-=i);return{top:e,left:f}}function d(d,e){var f=this,g=d.add(f),h,i=0,j=0,k=d.attr("title"),l=d.attr("data-tooltip"),m=b[e.effect],n,o=d.is(":input"),p=o&&d.is(":checkbox, :radio, select, :button, :submit"),q=d.attr("type"),r=e.events[q]||e.events[o?p?"widget":"input":"def"];if(!m)throw"Nonexistent effect \""+e.effect+"\"";r=r.split(/,\s*/);if(r.length!=2)throw"Tooltip: bad events configuration for "+q;d.bind(r[0],function(a){clearTimeout(i),e.predelay?j=setTimeout(function(){f.show(a)},e.predelay):f.show(a)}).bind(r[1],function(a){clearTimeout(j),e.delay?i=setTimeout(function(){f.hide(a)},e.delay):f.hide(a)}),k&&e.cancelDefault&&(d.removeAttr("title"),d.data("title",k)),a.extend(f,{show:function(b){if(!h){l?h=a(l):e.tip?h=a(e.tip).eq(0):k?h=a(e.layout).addClass(e.tipClass).appendTo(document.body).hide().append(k):(h=d.next(),h.length||(h=d.parent().next()));if(!h.length)throw"Cannot find tooltip for "+d}if(f.isShown())return f;h.stop(!0,!0);var o=c(d,h,e);e.tip&&h.html(d.data("title")),b=a.Event(),b.type="onBeforeShow",g.trigger(b,[o]);if(b.isDefaultPrevented())return f;o=c(d,h,e),h.css({position:"absolute",top:o.top,left:o.left}),n=!0,m[0].call(f,function(){b.type="onShow",n="full",g.trigger(b)});var p=e.events.tooltip.split(/,\s*/);h.data("__set")||(h.unbind(p[0]).bind(p[0],function(){clearTimeout(i),clearTimeout(j)}),p[1]&&!d.is("input:not(:checkbox, :radio), textarea")&&h.unbind(p[1]).bind(p[1],function(a){a.relatedTarget!=d[0]&&d.trigger(r[1].split(" ")[0])}),e.tip||h.data("__set",!0));return f},hide:function(c){if(!h||!f.isShown())return f;c=a.Event(),c.type="onBeforeHide",g.trigger(c);if(!c.isDefaultPrevented()){n=!1,b[e.effect][1].call(f,function(){c.type="onHide",g.trigger(c)});return f}},isShown:function(a){return a?n=="full":n},getConf:function(){return e},getTip:function(){return h},getTrigger:function(){return d}}),a.each("onHide,onBeforeShow,onShow,onBeforeHide".split(","),function(b,c){a.isFunction(e[c])&&a(f).bind(c,e[c]),f[c]=function(b){b&&a(f).bind(c,b);return f}})}a.fn.tooltip=function(b){var c=this.data("tooltip");if(c)return c;b=a.extend(!0,{},a.tools.tooltip.conf,b),typeof b.position=="string"&&(b.position=b.position.split(/,?\s/)),this.each(function(){c=new d(a(this),b),a(this).data("tooltip",c)});return b.api?c:this}})(jQuery); +// For IE8 compatability, sigh +if (!Array.prototype.map) Array.prototype.map = function(callback, that) { + var i = -1, n = this.length, map = new Array(n); + while (++i < n) { + if (i in this) { + map[i] = callback.call(that, this[i], i, this); + } + } + return map; +}; +// ┌────────────────────────────────────────────────────────────────────┐ \\ +// │ Raphaël 2.1.0 - JavaScript Vector Library │ \\ +// ├────────────────────────────────────────────────────────────────────┤ \\ +// │ Copyright © 2008-2012 Dmitry Baranovskiy (http://raphaeljs.com) │ \\ +// │ Copyright © 2008-2012 Sencha Labs (http://sencha.com) │ \\ +// ├────────────────────────────────────────────────────────────────────┤ \\ +// │ Licensed under the MIT (http://raphaeljs.com/license.html) license.│ \\ +// └────────────────────────────────────────────────────────────────────┘ \\ + +(function(a){var b="0.3.4",c="hasOwnProperty",d=/[\.\/]/,e="*",f=function(){},g=function(a,b){return a-b},h,i,j={n:{}},k=function(a,b){var c=j,d=i,e=Array.prototype.slice.call(arguments,2),f=k.listeners(a),l=0,m=!1,n,o=[],p={},q=[],r=h,s=[];h=a,i=0;for(var t=0,u=f.length;tf*b.top){e=b.percents[y],p=b.percents[y-1]||0,t=t/b.top*(e-p),o=b.percents[y+1],j=b.anim[e];break}f&&d.attr(b.anim[b.percents[y]])}if(!!j){if(!k){for(var A in j)if(j[g](A))if(U[g](A)||d.paper.customAttributes[g](A)){u[A]=d.attr(A),u[A]==null&&(u[A]=T[A]),v[A]=j[A];switch(U[A]){case C:w[A]=(v[A]-u[A])/t;break;case"colour":u[A]=a.getRGB(u[A]);var B=a.getRGB(v[A]);w[A]={r:(B.r-u[A].r)/t,g:(B.g-u[A].g)/t,b:(B.b-u[A].b)/t};break;case"path":var D=bR(u[A],v[A]),E=D[1];u[A]=D[0],w[A]=[];for(y=0,z=u[A].length;yd)return d;while(cf?c=e:d=e,e=(d-c)/2+c}return e}function n(a,b){var c=o(a,b);return((l*c+k)*c+j)*c}function m(a){return((i*a+h)*a+g)*a}var g=3*b,h=3*(d-b)-g,i=1-g-h,j=3*c,k=3*(e-c)-j,l=1-j-k;return n(a,1/(200*f))}function cq(){return this.x+q+this.y+q+this.width+" × "+this.height}function cp(){return this.x+q+this.y}function cb(a,b,c,d,e,f){a!=null?(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 bH(b,c,d){b=a._path2curve(b),c=a._path2curve(c);var e,f,g,h,i,j,k,l,m,n,o=d?0:[];for(var p=0,q=b.length;p=0&&y<=1&&A>=0&&A<=1&&(d?n++:n.push({x:x.x,y:x.y,t1:y,t2:A}))}}return n}function bF(a,b){return bG(a,b,1)}function bE(a,b){return bG(a,b)}function bD(a,b,c,d,e,f,g,h){if(!(x(a,c)x(e,g)||x(b,d)x(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)return;var l=i/k,m=j/k,n=+l.toFixed(2),o=+m.toFixed(2);if(n<+y(a,c).toFixed(2)||n>+x(a,c).toFixed(2)||n<+y(e,g).toFixed(2)||n>+x(e,g).toFixed(2)||o<+y(b,d).toFixed(2)||o>+x(b,d).toFixed(2)||o<+y(f,h).toFixed(2)||o>+x(f,h).toFixed(2))return;return{x:l,y:m}}}function bC(a,b,c,d,e,f,g,h,i){if(!(i<0||bB(a,b,c,d,e,f,g,h)n)k/=2,l+=(m1?1:i<0?0:i;var j=i/2,k=12,l=[-0.1252,.1252,-0.3678,.3678,-0.5873,.5873,-0.7699,.7699,-0.9041,.9041,-0.9816,.9816],m=[.2491,.2491,.2335,.2335,.2032,.2032,.1601,.1601,.1069,.1069,.0472,.0472],n=0;for(var o=0;od;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 bx(){return this.hex}function bv(a,b,c){function d(){var e=Array.prototype.slice.call(arguments,0),f=e.join("␀"),h=d.cache=d.cache||{},i=d.count=d.count||[];if(h[g](f)){bu(i,f);return c?c(h[f]):h[f]}i.length>=1e3&&delete h[i.shift()],i.push(f),h[f]=a[m](b,e);return c?c(h[f]):h[f]}return d}function bu(a,b){for(var c=0,d=a.length;c',bl=bk.firstChild,bl.style.behavior="url(#default#VML)";if(!bl||typeof bl.adj!="object")return a.type=p;bk=null}a.svg=!(a.vml=a.type=="VML"),a._Paper=j,a.fn=k=j.prototype=a.prototype,a._id=0,a._oid=0,a.is=function(a,b){b=v.call(b);if(b=="finite")return!M[g](+a);if(b=="array")return a instanceof Array;return b=="null"&&a===null||b==typeof a&&a!==null||b=="object"&&a===Object(a)||b=="array"&&Array.isArray&&Array.isArray(a)||H.call(a).slice(8,-1).toLowerCase()==b},a.angle=function(b,c,d,e,f,g){if(f==null){var h=b-d,i=c-e;if(!h&&!i)return 0;return(180+w.atan2(-i,-h)*180/B+360)%360}return a.angle(b,c,f,g)-a.angle(d,e,f,g)},a.rad=function(a){return a%360*B/180},a.deg=function(a){return a*180/B%360},a.snapTo=function(b,c,d){d=a.is(d,"finite")?d:10;if(a.is(b,E)){var e=b.length;while(e--)if(z(b[e]-c)<=d)return b[e]}else{b=+b;var f=c%b;if(fb-d)return c-f+b}return c};var bn=a.createUUID=function(a,b){return function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(a,b).toUpperCase()}}(/[xy]/g,function(a){var b=w.random()*16|0,c=a=="x"?b:b&3|8;return c.toString(16)});a.setWindow=function(b){eve("raphael.setWindow",a,h.win,b),h.win=b,h.doc=h.win.document,a._engine.initWin&&a._engine.initWin(h.win)};var bo=function(b){if(a.vml){var c=/^\s+|\s+$/g,d;try{var e=new ActiveXObject("htmlfile");e.write(""),e.close(),d=e.body}catch(f){d=createPopup().document.body}var g=d.createTextRange();bo=bv(function(a){try{d.style.color=r(a).replace(c,p);var b=g.queryCommandValue("ForeColor");b=(b&255)<<16|b&65280|(b&16711680)>>>16;return"#"+("000000"+b.toString(16)).slice(-6)}catch(e){return"none"}})}else{var i=h.doc.createElement("i");i.title="Raphaël Colour Picker",i.style.display="none",h.doc.body.appendChild(i),bo=bv(function(a){i.style.color=a;return h.doc.defaultView.getComputedStyle(i,p).getPropertyValue("color")})}return bo(b)},bp=function(){return"hsb("+[this.h,this.s,this.b]+")"},bq=function(){return"hsl("+[this.h,this.s,this.l]+")"},br=function(){return this.hex},bs=function(b,c,d){c==null&&a.is(b,"object")&&"r"in b&&"g"in b&&"b"in b&&(d=b.b,c=b.g,b=b.r);if(c==null&&a.is(b,D)){var e=a.getRGB(b);b=e.r,c=e.g,d=e.b}if(b>1||c>1||d>1)b/=255,c/=255,d/=255;return[b,c,d]},bt=function(b,c,d,e){b*=255,c*=255,d*=255;var f={r:b,g:c,b:d,hex:a.rgb(b,c,d),toString:br};a.is(e,"finite")&&(f.opacity=e);return f};a.color=function(b){var c;a.is(b,"object")&&"h"in b&&"s"in b&&"b"in b?(c=a.hsb2rgb(b),b.r=c.r,b.g=c.g,b.b=c.b,b.hex=c.hex):a.is(b,"object")&&"h"in b&&"s"in b&&"l"in b?(c=a.hsl2rgb(b),b.r=c.r,b.g=c.g,b.b=c.b,b.hex=c.hex):(a.is(b,"string")&&(b=a.getRGB(b)),a.is(b,"object")&&"r"in b&&"g"in b&&"b"in b?(c=a.rgb2hsl(b),b.h=c.h,b.s=c.s,b.l=c.l,c=a.rgb2hsb(b),b.v=c.b):(b={hex:"none"},b.r=b.g=b.b=b.h=b.s=b.v=b.l=-1)),b.toString=br;return b},a.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,a=a.h,d=a.o),a*=360;var e,f,g,h,i;a=a%360/60,i=c*b,h=i*(1-z(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];return bt(e,f,g,d)},a.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);if(a>1||b>1||c>1)a/=360,b/=100,c/=100;a*=360;var e,f,g,h,i;a=a%360/60,i=2*b*(c<.5?c:1-c),h=i*(1-z(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];return bt(e,f,g,d)},a.rgb2hsb=function(a,b,c){c=bs(a,b,c),a=c[0],b=c[1],c=c[2];var d,e,f,g;f=x(a,b,c),g=f-y(a,b,c),d=g==0?null:f==a?(b-c)/g:f==b?(c-a)/g+2:(a-b)/g+4,d=(d+360)%6*60/360,e=g==0?0:g/f;return{h:d,s:e,b:f,toString:bp}},a.rgb2hsl=function(a,b,c){c=bs(a,b,c),a=c[0],b=c[1],c=c[2];var d,e,f,g,h,i;g=x(a,b,c),h=y(a,b,c),i=g-h,d=i==0?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=i==0?0:f<.5?i/(2*f):i/(2-2*f);return{h:d,s:e,l:f,toString:bq}},a._path2string=function(){return this.join(",").replace(Y,"$1")};var bw=a._preload=function(a,b){var c=h.doc.createElement("img");c.style.cssText="position:absolute;left:-9999em;top:-9999em",c.onload=function(){b.call(this),this.onload=null,h.doc.body.removeChild(this)},c.onerror=function(){h.doc.body.removeChild(this)},h.doc.body.appendChild(c),c.src=a};a.getRGB=bv(function(b){if(!b||!!((b=r(b)).indexOf("-")+1))return{r:-1,g:-1,b:-1,hex:"none",error:1,toString:bx};if(b=="none")return{r:-1,g:-1,b:-1,hex:"none",toString:bx};!X[g](b.toLowerCase().substring(0,2))&&b.charAt()!="#"&&(b=bo(b));var c,d,e,f,h,i,j,k=b.match(L);if(k){k[2]&&(f=R(k[2].substring(5),16),e=R(k[2].substring(3,5),16),d=R(k[2].substring(1,3),16)),k[3]&&(f=R((i=k[3].charAt(3))+i,16),e=R((i=k[3].charAt(2))+i,16),d=R((i=k[3].charAt(1))+i,16)),k[4]&&(j=k[4][s](W),d=Q(j[0]),j[0].slice(-1)=="%"&&(d*=2.55),e=Q(j[1]),j[1].slice(-1)=="%"&&(e*=2.55),f=Q(j[2]),j[2].slice(-1)=="%"&&(f*=2.55),k[1].toLowerCase().slice(0,4)=="rgba"&&(h=Q(j[3])),j[3]&&j[3].slice(-1)=="%"&&(h/=100));if(k[5]){j=k[5][s](W),d=Q(j[0]),j[0].slice(-1)=="%"&&(d*=2.55),e=Q(j[1]),j[1].slice(-1)=="%"&&(e*=2.55),f=Q(j[2]),j[2].slice(-1)=="%"&&(f*=2.55),(j[0].slice(-3)=="deg"||j[0].slice(-1)=="°")&&(d/=360),k[1].toLowerCase().slice(0,4)=="hsba"&&(h=Q(j[3])),j[3]&&j[3].slice(-1)=="%"&&(h/=100);return a.hsb2rgb(d,e,f,h)}if(k[6]){j=k[6][s](W),d=Q(j[0]),j[0].slice(-1)=="%"&&(d*=2.55),e=Q(j[1]),j[1].slice(-1)=="%"&&(e*=2.55),f=Q(j[2]),j[2].slice(-1)=="%"&&(f*=2.55),(j[0].slice(-3)=="deg"||j[0].slice(-1)=="°")&&(d/=360),k[1].toLowerCase().slice(0,4)=="hsla"&&(h=Q(j[3])),j[3]&&j[3].slice(-1)=="%"&&(h/=100);return a.hsl2rgb(d,e,f,h)}k={r:d,g:e,b:f,toString:bx},k.hex="#"+(16777216|f|e<<8|d<<16).toString(16).slice(1),a.is(h,"finite")&&(k.opacity=h);return k}return{r:-1,g:-1,b:-1,hex:"none",error:1,toString:bx}},a),a.hsb=bv(function(b,c,d){return a.hsb2rgb(b,c,d).hex}),a.hsl=bv(function(b,c,d){return a.hsl2rgb(b,c,d).hex}),a.rgb=bv(function(a,b,c){return"#"+(16777216|c|b<<8|a<<16).toString(16).slice(1)}),a.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);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}));return c.hex},a.getColor.reset=function(){delete this.start},a.parsePathString=function(b){if(!b)return null;var c=bz(b);if(c.arr)return bJ(c.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=[];a.is(b,E)&&a.is(b[0],E)&&(e=bJ(b)),e.length||r(b).replace(Z,function(a,b,c){var f=[],g=b.toLowerCase();c.replace(_,function(a,b){b&&f.push(+b)}),g=="m"&&f.length>2&&(e.push([b][n](f.splice(0,2))),g="l",b=b=="m"?"l":"L");if(g=="r")e.push([b][n](f));else while(f.length>=d[g]){e.push([b][n](f.splice(0,d[g])));if(!d[g])break}}),e.toString=a._path2string,c.arr=bJ(e);return e},a.parseTransformString=bv(function(b){if(!b)return null;var c={r:3,s:4,t:2,m:6},d=[];a.is(b,E)&&a.is(b[0],E)&&(d=bJ(b)),d.length||r(b).replace($,function(a,b,c){var e=[],f=v.call(b);c.replace(_,function(a,b){b&&e.push(+b)}),d.push([b][n](e))}),d.toString=a._path2string;return d});var bz=function(a){var b=bz.ps=bz.ps||{};b[a]?b[a].sleep=100:b[a]={sleep:100},setTimeout(function(){for(var c in b)b[g](c)&&c!=a&&(b[c].sleep--,!b[c].sleep&&delete b[c])});return b[a]};a.findDotsAtSegment=function(a,b,c,d,e,f,g,h,i){var j=1-i,k=A(j,3),l=A(j,2),m=i*i,n=m*i,o=k*a+l*3*i*c+j*3*i*i*e+n*g,p=k*b+l*3*i*d+j*3*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,x=j*e+i*g,y=j*f+i*h,z=90-w.atan2(q-s,r-t)*180/B;(q>s||r=a.x&&b<=a.x2&&c>=a.y&&c<=a.y2},a.isBBoxIntersect=function(b,c){var d=a.isPointInsideBBox;return d(c,b.x,b.y)||d(c,b.x2,b.y)||d(c,b.x,b.y2)||d(c,b.x2,b.y2)||d(b,c.x,c.y)||d(b,c.x2,c.y)||d(b,c.x,c.y2)||d(b,c.x2,c.y2)||(b.xc.x||c.xb.x)&&(b.yc.y||c.yb.y)},a.pathIntersection=function(a,b){return bH(a,b)},a.pathIntersectionNumber=function(a,b){return bH(a,b,1)},a.isPointInsidePath=function(b,c,d){var e=a.pathBBox(b);return a.isPointInsideBBox(e,c,d)&&bH(b,[["M",c,d],["H",e.x2+10]],1)%2==1},a._removedFactory=function(a){return function(){eve("raphael.log",null,"Raphaël: you are calling to method “"+a+"” of removed object",a)}};var bI=a.pathBBox=function(a){var b=bz(a);if(b.bbox)return b.bbox;if(!a)return{x:0,y:0,width:0,height:0,x2:0,y2:0};a=bR(a);var c=0,d=0,e=[],f=[],g;for(var h=0,i=a.length;h1&&(v=w.sqrt(v),c=v*c,d=v*d);var x=c*c,y=d*d,A=(f==g?-1:1)*w.sqrt(z((x*y-x*u*u-y*t*t)/(x*u*u+y*t*t))),C=A*c*u/d+(a+h)/2,D=A*-d*t/c+(b+i)/2,E=w.asin(((b-D)/d).toFixed(9)),F=w.asin(((i-D)/d).toFixed(9));E=aF&&(E=E-B*2),!g&&F>E&&(F=F-B*2)}else E=j[0],F=j[1],C=j[2],D=j[3];var G=F-E;if(z(G)>k){var H=F,I=h,J=i;F=E+k*(g&&F>E?1:-1),h=C+c*w.cos(F),i=D+d*w.sin(F),m=bO(h,i,c,d,e,0,g,I,J,[F,H,C,D])}G=F-E;var K=w.cos(E),L=w.sin(E),M=w.cos(F),N=w.sin(F),O=w.tan(G/4),P=4/3*c*O,Q=4/3*d*O,R=[a,b],S=[a+P*L,b-Q*K],T=[h+P*N,i-Q*M],U=[h,i];S[0]=2*R[0]-S[0],S[1]=2*R[1]-S[1];if(j)return[S,T,U][n](m);m=[S,T,U][n](m).join()[s](",");var V=[];for(var W=0,X=m.length;W"1e12"&&(l=.5),z(n)>"1e12"&&(n=.5),l>0&&l<1&&(q=bP(a,b,c,d,e,f,g,h,l),p.push(q.x),o.push(q.y)),n>0&&n<1&&(q=bP(a,b,c,d,e,f,g,h,n),p.push(q.x),o.push(q.y)),i=f-2*d+b-(h-2*f+d),j=2*(d-b)-2*(f-d),k=b-d,l=(-j+w.sqrt(j*j-4*i*k))/2/i,n=(-j-w.sqrt(j*j-4*i*k))/2/i,z(l)>"1e12"&&(l=.5),z(n)>"1e12"&&(n=.5),l>0&&l<1&&(q=bP(a,b,c,d,e,f,g,h,l),p.push(q.x),o.push(q.y)),n>0&&n<1&&(q=bP(a,b,c,d,e,f,g,h,n),p.push(q.x),o.push(q.y));return{min:{x:y[m](0,p),y:y[m](0,o)},max:{x:x[m](0,p),y:x[m](0,o)}}}),bR=a._path2curve=bv(function(a,b){var c=!b&&bz(a);if(!b&&c.curve)return bJ(c.curve);var d=bL(a),e=b&&bL(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){var c,d;if(!a)return["C",b.x,b.y,b.x,b.y,b.x,b.y];!(a[0]in{T:1,Q:1})&&(b.qx=b.qy=null);switch(a[0]){case"M":b.X=a[1],b.Y=a[2];break;case"A":a=["C"][n](bO[m](0,[b.x,b.y][n](a.slice(1))));break;case"S":c=b.x+(b.x-(b.bx||b.x)),d=b.y+(b.y-(b.by||b.y)),a=["C",c,d][n](a.slice(1));break;case"T":b.qx=b.x+(b.x-(b.qx||b.x)),b.qy=b.y+(b.y-(b.qy||b.y)),a=["C"][n](bN(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"][n](bN(b.x,b.y,a[1],a[2],a[3],a[4]));break;case"L":a=["C"][n](bM(b.x,b.y,a[1],a[2]));break;case"H":a=["C"][n](bM(b.x,b.y,a[1],b.y));break;case"V":a=["C"][n](bM(b.x,b.y,b.x,a[1]));break;case"Z":a=["C"][n](bM(b.x,b.y,b.X,b.Y))}return a},i=function(a,b){if(a[b].length>7){a[b].shift();var c=a[b];while(c.length)a.splice(b++,0,["C"][n](c.splice(0,6)));a.splice(b,1),l=x(d.length,e&&e.length||0)}},j=function(a,b,c,f,g){a&&b&&a[g][0]=="M"&&b[g][0]!="M"&&(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],l=x(d.length,e&&e.length||0))};for(var k=0,l=x(d.length,e&&e.length||0);ke){if(c&&!l.start){m=cs(g,h,i[1],i[2],i[3],i[4],i[5],i[6],e-n),k+=["C"+m.start.x,m.start.y,m.m.x,m.m.y,m.x,m.y];if(f)return k;l.start=k,k=["M"+m.x,m.y+"C"+m.n.x,m.n.y,m.end.x,m.end.y,i[5],i[6]].join(),n+=j,g=+i[5],h=+i[6];continue}if(!b&&!c){m=cs(g,h,i[1],i[2],i[3],i[4],i[5],i[6],e-n);return{x:m.x,y:m.y,alpha:m.alpha}}}n+=j,g=+i[5],h=+i[6]}k+=i.shift()+i}l.end=k,m=b?n:c?l:a.findDotsAtSegment(g,h,i[0],i[1],i[2],i[3],i[4],i[5],1),m.alpha&&(m={x:m.x,y:m.y,alpha:m.alpha});return m}},cu=ct(1),cv=ct(),cw=ct(0,1);a.getTotalLength=cu,a.getPointAtLength=cv,a.getSubpath=function(a,b,c){if(this.getTotalLength(a)-c<1e-6)return cw(a,b).end;var d=cw(a,c,1);return b?cw(d,b).end:d},cl.getTotalLength=function(){if(this.type=="path"){if(this.node.getTotalLength)return this.node.getTotalLength();return cu(this.attrs.path)}},cl.getPointAtLength=function(a){if(this.type=="path")return cv(this.attrs.path,a)},cl.getSubpath=function(b,c){if(this.type=="path")return a.getSubpath(this.attrs.path,b,c)};var cx=a.easing_formulas={linear:function(a){return a},"<":function(a){return A(a,1.7)},">":function(a){return A(a,.48)},"<>":function(a){var b=.48-a/1.04,c=w.sqrt(.1734+b*b),d=c-b,e=A(z(d),1/3)*(d<0?-1:1),f=-c-b,g=A(z(f),1/3)*(f<0?-1:1),h=e+g+.5;return(1-h)*3*h*h+h*h*h},backIn:function(a){var b=1.70158;return a*a*((b+1)*a-b)},backOut:function(a){a=a-1;var b=1.70158;return a*a*((b+1)*a+b)+1},elastic:function(a){if(a==!!a)return a;return A(2,-10*a)*w.sin((a-.075)*2*B/.3)+1},bounce:function(a){var b=7.5625,c=2.75,d;a<1/c?d=b*a*a:a<2/c?(a-=1.5/c,d=b*a*a+.75):a<2.5/c?(a-=2.25/c,d=b*a*a+.9375):(a-=2.625/c,d=b*a*a+.984375);return d}};cx.easeIn=cx["ease-in"]=cx["<"],cx.easeOut=cx["ease-out"]=cx[">"],cx.easeInOut=cx["ease-in-out"]=cx["<>"],cx["back-in"]=cx.backIn,cx["back-out"]=cx.backOut;var cy=[],cz=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(a){setTimeout(a,16)},cA=function(){var b=+(new Date),c=0;for(;c1&&!d.next){for(s in k)k[g](s)&&(r[s]=d.totalOrigin[s]);d.el.attr(r),cE(d.anim,d.el,d.anim.percents[0],null,d.totalOrigin,d.repeat-1)}d.next&&!d.stop&&cE(d.anim,d.el,d.next,null,d.totalOrigin,d.repeat)}}a.svg&&m&&m.paper&&m.paper.safari(),cy.length&&cz(cA)},cB=function(a){return a>255?255:a<0?0:a};cl.animateWith=function(b,c,d,e,f,g){var h=this;if(h.removed){g&&g.call(h);return h}var i=d instanceof cD?d:a.animation(d,e,f,g),j,k;cE(i,h,i.percents[0],null,h.attr());for(var l=0,m=cy.length;l.5)*2-1;i(m-.5,2)+i(n-.5,2)>.25&&(n=f.sqrt(.25-i(m-.5,2))*e+.5)&&n!=.5&&(n=n.toFixed(5)-1e-5*e)}return l}),e=e.split(/\s*\-\s*/);if(j=="linear"){var t=e.shift();t=-d(t);if(isNaN(t))return null;var u=[0,0,f.cos(a.rad(t)),f.sin(a.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=a._parseDots(e);if(!w)return null;k=k.replace(/[\(\)\s,\xb0#]/g,"_"),b.gradient&&k!=b.gradient.id&&(p.defs.removeChild(b.gradient),delete b.gradient);if(!b.gradient){s=q(j+"Gradient",{id:k}),b.gradient=s,q(s,j=="radial"?{fx:m,fy:n}:{x1:u[0],y1:u[1],x2:u[2],y2:u[3],gradientTransform:b.matrix.invert()}),p.defs.appendChild(s);for(var x=0,y=w.length;x1?G.opacity/100:G.opacity});case"stroke":G=a.getRGB(p),i.setAttribute(o,G.hex),o=="stroke"&&G[b]("opacity")&&q(i,{"stroke-opacity":G.opacity>1?G.opacity/100:G.opacity}),o=="stroke"&&d._.arrows&&("startString"in d._.arrows&&t(d,d._.arrows.startString),"endString"in d._.arrows&&t(d,d._.arrows.endString,1));break;case"gradient":(d.type=="circle"||d.type=="ellipse"||c(p).charAt()!="r")&&r(d,p);break;case"opacity":k.gradient&&!k[b]("stroke-opacity")&&q(i,{"stroke-opacity":p>1?p/100:p});case"fill-opacity":if(k.gradient){H=a._g.doc.getElementById(i.getAttribute("fill").replace(/^url\(#|\)$/g,l)),H&&(I=H.getElementsByTagName("stop"),q(I[I.length-1],{"stop-opacity":p}));break};default:o=="font-size"&&(p=e(p,10)+"px");var J=o.replace(/(\-.)/g,function(a){return a.substring(1).toUpperCase()});i.style[J]=p,d._.dirty=1,i.setAttribute(o,p)}}y(d,f),i.style.visibility=m},x=1.2,y=function(d,f){if(d.type=="text"&&!!(f[b]("text")||f[b]("font")||f[b]("font-size")||f[b]("x")||f[b]("y"))){var g=d.attrs,h=d.node,i=h.firstChild?e(a._g.doc.defaultView.getComputedStyle(h.firstChild,l).getPropertyValue("font-size"),10):10;if(f[b]("text")){g.text=f.text;while(h.firstChild)h.removeChild(h.firstChild);var j=c(f.text).split("\n"),k=[],m;for(var n=0,o=j.length;n"));var $=X.getBoundingClientRect();t.W=m.w=($.right-$.left)/Y,t.H=m.h=($.bottom-$.top)/Y,t.X=m.x,t.Y=m.y+t.H/2,("x"in i||"y"in i)&&(t.path.v=a.format("m{0},{1}l{2},{1}",f(m.x*u),f(m.y*u),f(m.x*u)+1));var _=["x","y","text","font","font-family","font-weight","font-style","font-size"];for(var ba=0,bb=_.length;ba.25&&(c=e.sqrt(.25-i(b-.5,2))*((c>.5)*2-1)+.5),m=b+n+c);return o}),f=f.split(/\s*\-\s*/);if(l=="linear"){var p=f.shift();p=-d(p);if(isNaN(p))return null}var q=a._parseDots(f);if(!q)return null;b=b.shape||b.node;if(q.length){b.removeChild(g),g.on=!0,g.method="none",g.color=q[0].color,g.color2=q[q.length-1].color;var r=[];for(var s=0,t=q.length;s')}}catch(c){F=function(a){return b.createElement("<"+a+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">')}}},a._engine.initWin(a._g.win),a._engine.create=function(){var b=a._getContainer.apply(0,arguments),c=b.container,d=b.height,e,f=b.width,g=b.x,h=b.y;if(!c)throw new Error("VML container not found.");var i=new a._Paper,j=i.canvas=a._g.doc.createElement("div"),k=j.style;g=g||0,h=h||0,f=f||512,d=d||342,i.width=f,i.height=d,f==+f&&(f+="px"),d==+d&&(d+="px"),i.coordsize=u*1e3+n+u*1e3,i.coordorigin="0 0",i.span=a._g.doc.createElement("span"),i.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;",j.appendChild(i.span),k.cssText=a.format("top:0;left:0;width:{0};height:{1};display:inline-block;position:relative;clip:rect(0 {0} {1} 0);overflow:hidden",f,d),c==1?(a._g.doc.body.appendChild(j),k.left=g+"px",k.top=h+"px",k.position="absolute"):c.firstChild?c.insertBefore(j,c.firstChild):c.appendChild(j),i.renderfix=function(){};return i},a.prototype.clear=function(){a.eve("raphael.clear",this),this.canvas.innerHTML=o,this.span=a._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},a.prototype.remove=function(){a.eve("raphael.remove",this),this.canvas.parentNode.removeChild(this.canvas);for(var b in this)this[b]=typeof this[b]=="function"?a._removedFactory(b):null;return!0};var G=a.st;for(var H in E)E[b](H)&&!G[b](H)&&(G[H]=function(a){return function(){var b=arguments;return this.forEach(function(c){c[a].apply(c,b)})}}(H))}(window.Raphael) +; +d3=function(){function n(n){return null!=n&&!isNaN(n)}function t(n){return n.length}function e(n){for(var t=1;n*t%1;)t*=10;return t}function r(n,t){try{for(var e in t)Object.defineProperty(n.prototype,e,{value:t[e],enumerable:!1})}catch(r){n.prototype=t}}function u(){}function i(){}function o(n,t,e){return function(){var r=e.apply(t,arguments);return r===t?n:r}}function a(n,t){if(t in n)return t;t=t.charAt(0).toUpperCase()+t.substring(1);for(var e=0,r=Do.length;r>e;++e){var u=Do[e]+t;if(u in n)return u}}function c(){}function l(){}function s(n){function t(){for(var t,r=e,u=-1,i=r.length;++ue;e++)for(var u,i=n[e],o=0,a=i.length;a>o;o++)(u=i[o])&&t(u,o,e);return n}function T(n){return Lo(n,Io),n}function q(n){var t,e;return function(r,u,i){var o,a=n[i].update,c=a.length;for(i!=e&&(e=i,t=0),u>=t&&(t=u+1);!(o=a[t])&&++t0&&(n=n.substring(0,a));var s=Zo.get(n);return s&&(n=s,l=j),a?t?u:r:t?c:i}function D(n,t){return function(e){var r=mo.event;mo.event=e,t[0]=this.__data__;try{n.apply(this,t)}finally{mo.event=r}}}function j(n,t){var e=D(n,t);return function(n){var t=this,r=n.relatedTarget;r&&(r===t||8&r.compareDocumentPosition(t))||e.call(t,n)}}function L(){var n=".dragsuppress-"+ ++Xo,t="touchmove"+n,e="selectstart"+n,r="dragstart"+n,u="click"+n,i=mo.select(_o).on(t,f).on(e,f).on(r,f),o=bo.style,a=o[Vo];return o[Vo]="none",function(t){function e(){i.on(u,null)}i.on(n,null),o[Vo]=a,t&&(i.on(u,function(){f(),e()},!0),setTimeout(e,0))}}function H(n,t){t.changedTouches&&(t=t.changedTouches[0]);var e=n.ownerSVGElement||n;if(e.createSVGPoint){var r=e.createSVGPoint();if(0>$o&&(_o.scrollX||_o.scrollY)){e=mo.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var u=e[0][0].getScreenCTM();$o=!(u.f||u.e),e.remove()}return $o?(r.x=t.pageX,r.y=t.pageY):(r.x=t.clientX,r.y=t.clientY),r=r.matrixTransform(n.getScreenCTM().inverse()),[r.x,r.y]}var i=n.getBoundingClientRect();return[t.clientX-i.left-n.clientLeft,t.clientY-i.top-n.clientTop]}function F(n){return n>0?1:0>n?-1:0}function P(n){return n>1?0:-1>n?Bo:Math.acos(n)}function O(n){return n>1?Jo:-1>n?-Jo:Math.asin(n)}function R(n){return((n=Math.exp(n))-1/n)/2}function Y(n){return((n=Math.exp(n))+1/n)/2}function I(n){return((n=Math.exp(2*n))-1)/(n+1)}function U(n){return(n=Math.sin(n/2))*n}function Z(){}function V(n,t,e){return new X(n,t,e)}function X(n,t,e){this.h=n,this.s=t,this.l=e}function $(n,t,e){function r(n){return n>360?n-=360:0>n&&(n+=360),60>n?i+(o-i)*n/60:180>n?o:240>n?i+(o-i)*(240-n)/60:i}function u(n){return Math.round(255*r(n))}var i,o;return n=isNaN(n)?0:(n%=360)<0?n+360:n,t=isNaN(t)?0:0>t?0:t>1?1:t,e=0>e?0:e>1?1:e,o=.5>=e?e*(1+t):e+t-e*t,i=2*e-o,ot(u(n+120),u(n),u(n-120))}function B(n,t,e){return new W(n,t,e)}function W(n,t,e){this.h=n,this.c=t,this.l=e}function J(n,t,e){return isNaN(n)&&(n=0),isNaN(t)&&(t=0),G(e,Math.cos(n*=Qo)*t,Math.sin(n)*t)}function G(n,t,e){return new K(n,t,e)}function K(n,t,e){this.l=n,this.a=t,this.b=e}function Q(n,t,e){var r=(n+16)/116,u=r+t/500,i=r-e/200;return u=tt(u)*sa,r=tt(r)*fa,i=tt(i)*ha,ot(rt(3.2404542*u-1.5371385*r-.4985314*i),rt(-.969266*u+1.8760108*r+.041556*i),rt(.0556434*u-.2040259*r+1.0572252*i))}function nt(n,t,e){return n>0?B(Math.atan2(e,t)*na,Math.sqrt(t*t+e*e),n):B(0/0,0/0,n)}function tt(n){return n>.206893034?n*n*n:(n-4/29)/7.787037}function et(n){return n>.008856?Math.pow(n,1/3):7.787037*n+4/29}function rt(n){return Math.round(255*(.00304>=n?12.92*n:1.055*Math.pow(n,1/2.4)-.055))}function ut(n){return ot(n>>16,255&n>>8,255&n)}function it(n){return ut(n)+""}function ot(n,t,e){return new at(n,t,e)}function at(n,t,e){this.r=n,this.g=t,this.b=e}function ct(n){return 16>n?"0"+Math.max(0,n).toString(16):Math.min(255,n).toString(16)}function lt(n,t,e){var r,u,i,o=0,a=0,c=0;if(r=/([a-z]+)\((.*)\)/i.exec(n))switch(u=r[2].split(","),r[1]){case"hsl":return e(parseFloat(u[0]),parseFloat(u[1])/100,parseFloat(u[2])/100);case"rgb":return t(gt(u[0]),gt(u[1]),gt(u[2]))}return(i=da.get(n))?t(i.r,i.g,i.b):(null!=n&&"#"===n.charAt(0)&&(4===n.length?(o=n.charAt(1),o+=o,a=n.charAt(2),a+=a,c=n.charAt(3),c+=c):7===n.length&&(o=n.substring(1,3),a=n.substring(3,5),c=n.substring(5,7)),o=parseInt(o,16),a=parseInt(a,16),c=parseInt(c,16)),t(o,a,c))}function st(n,t,e){var r,u,i=Math.min(n/=255,t/=255,e/=255),o=Math.max(n,t,e),a=o-i,c=(o+i)/2;return a?(u=.5>c?a/(o+i):a/(2-o-i),r=n==o?(t-e)/a+(e>t?6:0):t==o?(e-n)/a+2:(n-t)/a+4,r*=60):(r=0/0,u=c>0&&1>c?0:r),V(r,u,c)}function ft(n,t,e){n=ht(n),t=ht(t),e=ht(e);var r=et((.4124564*n+.3575761*t+.1804375*e)/sa),u=et((.2126729*n+.7151522*t+.072175*e)/fa),i=et((.0193339*n+.119192*t+.9503041*e)/ha);return G(116*u-16,500*(r-u),200*(u-i))}function ht(n){return(n/=255)<=.04045?n/12.92:Math.pow((n+.055)/1.055,2.4)}function gt(n){var t=parseFloat(n);return"%"===n.charAt(n.length-1)?Math.round(2.55*t):t}function pt(n){return"function"==typeof n?n:function(){return n}}function dt(n){return n}function vt(n){return function(t,e,r){return 2===arguments.length&&"function"==typeof e&&(r=e,e=null),mt(t,e,n,r)}}function mt(n,t,e,r){function u(){var n,t=c.status;if(!t&&c.responseText||t>=200&&300>t||304===t){try{n=e.call(i,c)}catch(r){return o.error.call(i,r),void 0}o.load.call(i,n)}else o.error.call(i,c)}var i={},o=mo.dispatch("beforesend","progress","load","error"),a={},c=new XMLHttpRequest,l=null;return!_o.XDomainRequest||"withCredentials"in c||!/^(http(s)?:)?\/\//.test(n)||(c=new XDomainRequest),"onload"in c?c.onload=c.onerror=u:c.onreadystatechange=function(){c.readyState>3&&u()},c.onprogress=function(n){var t=mo.event;mo.event=n;try{o.progress.call(i,c)}finally{mo.event=t}},i.header=function(n,t){return n=(n+"").toLowerCase(),arguments.length<2?a[n]:(null==t?delete a[n]:a[n]=t+"",i)},i.mimeType=function(n){return arguments.length?(t=null==n?null:n+"",i):t},i.responseType=function(n){return arguments.length?(l=n,i):l},i.response=function(n){return e=n,i},["get","post"].forEach(function(n){i[n]=function(){return i.send.apply(i,[n].concat(Mo(arguments)))}}),i.send=function(e,r,u){if(2===arguments.length&&"function"==typeof r&&(u=r,r=null),c.open(e,n,!0),null==t||"accept"in a||(a.accept=t+",*/*"),c.setRequestHeader)for(var s in a)c.setRequestHeader(s,a[s]);return null!=t&&c.overrideMimeType&&c.overrideMimeType(t),null!=l&&(c.responseType=l),null!=u&&i.on("error",u).on("load",function(n){u(null,n)}),o.beforesend.call(i,c),c.send(null==r?null:r),i},i.abort=function(){return c.abort(),i},mo.rebind(i,o,"on"),null==r?i:i.get(yt(r))}function yt(n){return 1===n.length?function(t,e){n(null==t?e:null)}:n}function Mt(){var n=bt(),t=_t()-n;t>24?(isFinite(t)&&(clearTimeout(Ma),Ma=setTimeout(Mt,t)),ya=0):(ya=1,ba(Mt))}function xt(n,t,e){var r=arguments.length;2>r&&(t=0),3>r&&(e=Date.now()),xa.callback=n,xa.time=e+t}function bt(){var n=Date.now();for(xa=va;xa;)n>=xa.time&&(xa.flush=xa.callback(n-xa.time)),xa=xa.next;return n}function _t(){for(var n,t=va,e=1/0;t;)t.flush?t=n?n.next=t.next:va=t.next:(t.time8?function(n){return n/e}:function(n){return n*e},symbol:n}}function St(n,t){return t-(n?Math.ceil(Math.log(n)/Math.LN10):1)}function Et(n){return n+""}function kt(){}function At(n,t,e){var r=e.s=n+t,u=r-n,i=r-u;e.t=n-i+(t-u)}function Nt(n,t){n&&Da.hasOwnProperty(n.type)&&Da[n.type](n,t)}function Tt(n,t,e){var r,u=-1,i=n.length-e;for(t.lineStart();++ua;++a)u.point((e=n[a])[0],e[1]);return u.lineEnd(),void 0}var c={point:e,points:n,other:null,visited:!1,entry:!0,subject:!0},l={point:e,points:[e],other:c,visited:!1,entry:!1,subject:!1};c.other=l,i.push(c),o.push(l),c={point:r,points:[r],other:null,visited:!1,entry:!1,subject:!0},l={point:r,points:[r],other:c,visited:!1,entry:!0,subject:!1},c.other=l,i.push(c),o.push(l)}}),o.sort(t),$t(i),$t(o),i.length){for(var a=0,c=e,l=o.length;l>a;++a)o[a].entry=c=!c;for(var s,f,h,g=i[0];;){for(s=g;s.visited;)if((s=s.next)===g)return;f=s.points,u.lineStart();do{if(s.visited=s.other.visited=!0,s.entry){if(s.subject)for(var a=0;a=0;)u.point((h=f[a])[0],h[1])}else r(s.point,s.prev.point,-1,u);s=s.prev}s=s.other,f=s.points}while(!s.visited);u.lineEnd()}}}function $t(n){if(t=n.length){for(var t,e,r=0,u=n[0];++r1&&2&t&&e.push(e.pop().concat(e.shift())),g.push(e.filter(Wt))}}var g,p,d,v=t(i),m=u.invert(r[0],r[1]),y={point:o,lineStart:c,lineEnd:l,polygonStart:function(){y.point=s,y.lineStart=f,y.lineEnd=h,g=[],p=[],i.polygonStart()},polygonEnd:function(){y.point=o,y.lineStart=c,y.lineEnd=l,g=mo.merge(g);var n=Kt(m,p);g.length?Xt(g,Gt,n,e,i):n&&(i.lineStart(),e(null,null,1,i),i.lineEnd()),i.polygonEnd(),g=p=null},sphere:function(){i.polygonStart(),i.lineStart(),e(null,null,1,i),i.lineEnd(),i.polygonEnd()}},M=Jt(),x=t(M);return y}}function Wt(n){return n.length>1}function Jt(){var n,t=[];return{lineStart:function(){t.push(n=[])},point:function(t,e){n.push([t,e])},lineEnd:c,buffer:function(){var e=t;return t=[],n=null,e},rejoin:function(){t.length>1&&t.push(t.pop().concat(t.shift()))}}}function Gt(n,t){return((n=n.point)[0]<0?n[1]-Jo-Go:Jo-n[1])-((t=t.point)[0]<0?t[1]-Jo-Go:Jo-t[1])}function Kt(n,t){var e=n[0],r=n[1],u=[Math.sin(e),-Math.cos(e),0],i=0,o=0;La.reset();for(var a=0,c=t.length;c>a;++a){var l=t[a],s=l.length;if(s)for(var f=l[0],h=f[0],g=f[1]/2+Bo/4,p=Math.sin(g),d=Math.cos(g),v=1;;){v===s&&(v=0),n=l[v];var m=n[0],y=n[1]/2+Bo/4,M=Math.sin(y),x=Math.cos(y),b=m-h,_=Math.abs(b)>Bo,w=p*M;if(La.add(Math.atan2(w*Math.sin(b),d*x+w*Math.cos(b))),i+=_?b+(b>=0?2:-2)*Bo:b,_^h>=e^m>=e){var S=jt(Ct(f),Ct(n));Ft(S);var E=jt(u,S);Ft(E);var k=(_^b>=0?-1:1)*O(E[2]);(r>k||r===k&&(S[0]||S[1]))&&(o+=_^b>=0?1:-1)}if(!v++)break;h=m,p=M,d=x,f=n}}return(-Go>i||Go>i&&0>La)^1&o}function Qt(n){var t,e=0/0,r=0/0,u=0/0;return{lineStart:function(){n.lineStart(),t=1},point:function(i,o){var a=i>0?Bo:-Bo,c=Math.abs(i-e);Math.abs(c-Bo)0?Jo:-Jo),n.point(u,r),n.lineEnd(),n.lineStart(),n.point(a,r),n.point(i,r),t=0):u!==a&&c>=Bo&&(Math.abs(e-u)Go?Math.atan((Math.sin(t)*(i=Math.cos(r))*Math.sin(e)-Math.sin(r)*(u=Math.cos(t))*Math.sin(n))/(u*i*o)):(t+r)/2}function te(n,t,e,r){var u;if(null==n)u=e*Jo,r.point(-Bo,u),r.point(0,u),r.point(Bo,u),r.point(Bo,0),r.point(Bo,-u),r.point(0,-u),r.point(-Bo,-u),r.point(-Bo,0),r.point(-Bo,u);else if(Math.abs(n[0]-t[0])>Go){var i=(n[0]i}function e(n){var e,i,c,l,s;return{lineStart:function(){l=c=!1,s=1},point:function(f,h){var g,p=[f,h],d=t(f,h),v=o?d?0:u(f,h):d?u(f+(0>f?Bo:-Bo),h):0;if(!e&&(l=c=d)&&n.lineStart(),d!==c&&(g=r(e,p),(Ot(e,g)||Ot(p,g))&&(p[0]+=Go,p[1]+=Go,d=t(p[0],p[1]))),d!==c)s=0,d?(n.lineStart(),g=r(p,e),n.point(g[0],g[1])):(g=r(e,p),n.point(g[0],g[1]),n.lineEnd()),e=g;else if(a&&e&&o^d){var m;v&i||!(m=r(p,e,!0))||(s=0,o?(n.lineStart(),n.point(m[0][0],m[0][1]),n.point(m[1][0],m[1][1]),n.lineEnd()):(n.point(m[1][0],m[1][1]),n.lineEnd(),n.lineStart(),n.point(m[0][0],m[0][1])))}!d||e&&Ot(e,p)||n.point(p[0],p[1]),e=p,c=d,i=v},lineEnd:function(){c&&n.lineEnd(),e=null},clean:function(){return s|(l&&c)<<1}}}function r(n,t,e){var r=Ct(n),u=Ct(t),o=[1,0,0],a=jt(r,u),c=Dt(a,a),l=a[0],s=c-l*l;if(!s)return!e&&n;var f=i*c/s,h=-i*l/s,g=jt(o,a),p=Ht(o,f),d=Ht(a,h);Lt(p,d);var v=g,m=Dt(p,v),y=Dt(v,v),M=m*m-y*(Dt(p,p)-1);if(!(0>M)){var x=Math.sqrt(M),b=Ht(v,(-m-x)/y);if(Lt(b,p),b=Pt(b),!e)return b;var _,w=n[0],S=t[0],E=n[1],k=t[1];w>S&&(_=w,w=S,S=_);var A=S-w,N=Math.abs(A-Bo)A;if(!N&&E>k&&(_=E,E=k,k=_),T?N?E+k>0^b[1]<(Math.abs(b[0]-w)Bo^(w<=b[0]&&b[0]<=S)){var q=Ht(v,(-m+x)/y);return Lt(q,p),[b,Pt(q)]}}}function u(t,e){var r=o?n:Bo-n,u=0;return-r>t?u|=1:t>r&&(u|=2),-r>e?u|=4:e>r&&(u|=8),u}var i=Math.cos(n),o=i>0,a=Math.abs(i)>Go,c=Te(n,6*Qo);return Bt(t,e,c,o?[0,-n]:[-Bo,n-Bo])}function re(n,t,e,r){function u(r,u){return Math.abs(r[0]-n)0?0:3:Math.abs(r[0]-e)0?2:1:Math.abs(r[1]-t)0?1:0:u>0?3:2}function i(n,t){return o(n.point,t.point)}function o(n,t){var e=u(n,1),r=u(t,1);return e!==r?e-r:0===e?t[1]-n[1]:1===e?n[0]-t[0]:2===e?n[1]-t[1]:t[0]-n[0]}function a(u,i){var o=i[0]-u[0],a=i[1]-u[1],c=[0,1];return Math.abs(o)0&&(u[0]+=c[0]*o,u[1]+=c[0]*a),!0):!1}return function(c){function l(n){for(var t=0,e=y.length,r=n[1],u=0;e>u;++u)for(var i,o=1,a=y[u],c=a.length,l=a[0];c>o;++o)i=a[o],l[1]<=r?i[1]>r&&s(l,i,n)>0&&++t:i[1]<=r&&s(l,i,n)<0&&--t,l=i;return 0!==t}function s(n,t,e){return(t[0]-n[0])*(e[1]-n[1])-(e[0]-n[0])*(t[1]-n[1])}function f(i,a,c,l){var s=0,f=0;if(null==i||(s=u(i,c))!==(f=u(a,c))||o(i,a)<0^c>0){do l.point(0===s||3===s?n:e,s>1?r:t);while((s=(s+c+4)%4)!==f)}else l.point(a[0],a[1])}function h(u,i){return u>=n&&e>=u&&i>=t&&r>=i}function g(n,t){h(n,t)&&c.point(n,t)}function p(){q.point=v,y&&y.push(M=[]),k=!0,E=!1,w=S=0/0}function d(){m&&(v(x,b),_&&E&&T.rejoin(),m.push(T.buffer())),q.point=g,E&&c.lineEnd()}function v(n,t){n=Math.max(-Ja,Math.min(Ja,n)),t=Math.max(-Ja,Math.min(Ja,t));var e=h(n,t);if(y&&M.push([n,t]),k)x=n,b=t,_=e,k=!1,e&&(c.lineStart(),c.point(n,t));else if(e&&E)c.point(n,t);else{var r=[w,S],u=[n,t];a(r,u)?(E||(c.lineStart(),c.point(r[0],r[1])),c.point(u[0],u[1]),e||c.lineEnd(),A=!1):e&&(c.lineStart(),c.point(n,t),A=!1)}w=n,S=t,E=e}var m,y,M,x,b,_,w,S,E,k,A,N=c,T=Jt(),q={point:g,lineStart:p,lineEnd:d,polygonStart:function(){c=T,m=[],y=[],A=!0},polygonEnd:function(){c=N,m=mo.merge(m);var t=l([n,r]),e=A&&t,u=m.length;(e||u)&&(c.polygonStart(),e&&(c.lineStart(),f(null,null,1,c),c.lineEnd()),u&&Xt(m,i,t,f,c),c.polygonEnd()),m=y=M=null}};return q}}function ue(n,t,e){if(Math.abs(t)=n;var r=n/t;if(t>0){if(r>e[1])return!1;r>e[0]&&(e[0]=r)}else{if(rn&&(Qa=n),n>tc&&(tc=n),nc>t&&(nc=t),t>ec&&(ec=t)}function se(){function n(n,t){o.push("M",n,",",t,i)}function t(n,t){o.push("M",n,",",t),a.point=e}function e(n,t){o.push("L",n,",",t)}function r(){a.point=n}function u(){o.push("Z")}var i=fe(4.5),o=[],a={point:n,lineStart:function(){a.point=t},lineEnd:r,polygonStart:function(){a.lineEnd=u},polygonEnd:function(){a.lineEnd=r,a.point=n},pointRadius:function(n){return i=fe(n),a},result:function(){if(o.length){var n=o.join("");return o=[],n}}};return a}function fe(n){return"m0,"+n+"a"+n+","+n+" 0 1,1 0,"+-2*n+"a"+n+","+n+" 0 1,1 0,"+2*n+"z"}function he(n,t){Oa+=n,Ra+=t,++Ya}function ge(){function n(n,r){var u=n-t,i=r-e,o=Math.sqrt(u*u+i*i);Ia+=o*(t+n)/2,Ua+=o*(e+r)/2,Za+=o,he(t=n,e=r)}var t,e;ic.point=function(r,u){ic.point=n,he(t=r,e=u)}}function pe(){ic.point=he}function de(){function n(n,t){var e=n-r,i=t-u,o=Math.sqrt(e*e+i*i);Ia+=o*(r+n)/2,Ua+=o*(u+t)/2,Za+=o,o=u*n-r*t,Va+=o*(r+n),Xa+=o*(u+t),$a+=3*o,he(r=n,u=t)}var t,e,r,u;ic.point=function(i,o){ic.point=n,he(t=r=i,e=u=o)},ic.lineEnd=function(){n(t,e)}}function ve(n){function t(t,e){n.moveTo(t,e),n.arc(t,e,o,0,Wo)}function e(t,e){n.moveTo(t,e),a.point=r}function r(t,e){n.lineTo(t,e)}function u(){a.point=t}function i(){n.closePath()}var o=4.5,a={point:t,lineStart:function(){a.point=e},lineEnd:u,polygonStart:function(){a.lineEnd=i},polygonEnd:function(){a.lineEnd=u,a.point=t},pointRadius:function(n){return o=n,a},result:c};return a}function me(n){function t(t){function r(e,r){e=n(e,r),t.point(e[0],e[1])}function u(){M=0/0,S.point=o,t.lineStart()}function o(r,u){var o=Ct([r,u]),a=n(r,u);e(M,x,y,b,_,w,M=a[0],x=a[1],y=r,b=o[0],_=o[1],w=o[2],i,t),t.point(M,x)}function a(){S.point=r,t.lineEnd()}function c(){u(),S.point=l,S.lineEnd=s}function l(n,t){o(f=n,h=t),g=M,p=x,d=b,v=_,m=w,S.point=o}function s(){e(M,x,y,b,_,w,g,p,f,d,v,m,i,t),S.lineEnd=a,a()}var f,h,g,p,d,v,m,y,M,x,b,_,w,S={point:r,lineStart:u,lineEnd:a,polygonStart:function(){t.polygonStart(),S.lineStart=c},polygonEnd:function(){t.polygonEnd(),S.lineStart=u}};return S}function e(t,i,o,a,c,l,s,f,h,g,p,d,v,m){var y=s-t,M=f-i,x=y*y+M*M;if(x>4*r&&v--){var b=a+g,_=c+p,w=l+d,S=Math.sqrt(b*b+_*_+w*w),E=Math.asin(w/=S),k=Math.abs(Math.abs(w)-1)r||Math.abs((y*q+M*z)/x-.5)>.3||u>a*g+c*p+l*d)&&(e(t,i,o,a,c,l,N,T,k,b/=S,_/=S,w,v,m),m.point(N,T),e(N,T,k,b,_,w,s,f,h,g,p,d,v,m))}}var r=.5,u=Math.cos(30*Qo),i=16;return t.precision=function(n){return arguments.length?(i=(r=n*n)>0&&16,t):Math.sqrt(r)},t}function ye(n){this.stream=n}function Me(n){var t=me(function(t,e){return n([t*na,e*na])});return function(n){var e=new ye(n=t(n));return e.point=function(t,e){n.point(t*Qo,e*Qo)},e}}function xe(n){return be(function(){return n})()}function be(n){function t(n){return n=a(n[0]*Qo,n[1]*Qo),[n[0]*h+c,l-n[1]*h]}function e(n){return n=a.invert((n[0]-c)/h,(l-n[1])/h),n&&[n[0]*na,n[1]*na]}function r(){a=ie(o=Ee(m,y,M),i);var n=i(d,v);return c=g-n[0]*h,l=p+n[1]*h,u()}function u(){return s&&(s.valid=!1,s=null),t}var i,o,a,c,l,s,f=me(function(n,t){return n=i(n,t),[n[0]*h+c,l-n[1]*h]}),h=150,g=480,p=250,d=0,v=0,m=0,y=0,M=0,x=Wa,b=dt,_=null,w=null;return t.stream=function(n){return s&&(s.valid=!1),s=_e(x(o,f(b(n)))),s.valid=!0,s},t.clipAngle=function(n){return arguments.length?(x=null==n?(_=n,Wa):ee((_=+n)*Qo),u()):_},t.clipExtent=function(n){return arguments.length?(w=n,b=n?re(n[0][0],n[0][1],n[1][0],n[1][1]):dt,u()):w},t.scale=function(n){return arguments.length?(h=+n,r()):h},t.translate=function(n){return arguments.length?(g=+n[0],p=+n[1],r()):[g,p]},t.center=function(n){return arguments.length?(d=n[0]%360*Qo,v=n[1]%360*Qo,r()):[d*na,v*na]},t.rotate=function(n){return arguments.length?(m=n[0]%360*Qo,y=n[1]%360*Qo,M=n.length>2?n[2]%360*Qo:0,r()):[m*na,y*na,M*na]},mo.rebind(t,f,"precision"),function(){return i=n.apply(this,arguments),t.invert=i.invert&&e,r()}}function _e(n){var t=new ye(n);return t.point=function(t,e){n.point(t*Qo,e*Qo)},t}function we(n,t){return[n,t]}function Se(n,t){return[n>Bo?n-Wo:-Bo>n?n+Wo:n,t]}function Ee(n,t,e){return n?t||e?ie(Ae(n),Ne(t,e)):Ae(n):t||e?Ne(t,e):Se}function ke(n){return function(t,e){return t+=n,[t>Bo?t-Wo:-Bo>t?t+Wo:t,e]}}function Ae(n){var t=ke(n);return t.invert=ke(-n),t}function Ne(n,t){function e(n,t){var e=Math.cos(t),a=Math.cos(n)*e,c=Math.sin(n)*e,l=Math.sin(t),s=l*r+a*u;return[Math.atan2(c*i-s*o,a*r-l*u),O(s*i+c*o)]}var r=Math.cos(n),u=Math.sin(n),i=Math.cos(t),o=Math.sin(t);return e.invert=function(n,t){var e=Math.cos(t),a=Math.cos(n)*e,c=Math.sin(n)*e,l=Math.sin(t),s=l*i-c*o;return[Math.atan2(c*i+l*o,a*r+s*u),O(s*r-a*u)]},e}function Te(n,t){var e=Math.cos(n),r=Math.sin(n);return function(u,i,o,a){var c=o*t;null!=u?(u=qe(e,u),i=qe(e,i),(o>0?i>u:u>i)&&(u+=o*Wo)):(u=n+o*Wo,i=n-.5*c);for(var l,s=u;o>0?s>i:i>s;s-=c)a.point((l=Pt([e,-r*Math.cos(s),-r*Math.sin(s)]))[0],l[1])}}function qe(n,t){var e=Ct(t);e[0]-=n,Ft(e);var r=P(-e[1]);return((-e[2]<0?-r:r)+2*Math.PI-Go)%(2*Math.PI)}function ze(n,t,e){var r=mo.range(n,t-Go,e).concat(t);return function(n){return r.map(function(t){return[n,t]})}}function Ce(n,t,e){var r=mo.range(n,t-Go,e).concat(t);return function(n){return r.map(function(t){return[t,n]})}}function De(n){return n.source}function je(n){return n.target}function Le(n,t,e,r){var u=Math.cos(t),i=Math.sin(t),o=Math.cos(r),a=Math.sin(r),c=u*Math.cos(n),l=u*Math.sin(n),s=o*Math.cos(e),f=o*Math.sin(e),h=2*Math.asin(Math.sqrt(U(r-t)+u*o*U(e-n))),g=1/Math.sin(h),p=h?function(n){var t=Math.sin(n*=h)*g,e=Math.sin(h-n)*g,r=e*c+t*s,u=e*l+t*f,o=e*i+t*a;return[Math.atan2(u,r)*na,Math.atan2(o,Math.sqrt(r*r+u*u))*na]}:function(){return[n*na,t*na]};return p.distance=h,p}function He(){function n(n,u){var i=Math.sin(u*=Qo),o=Math.cos(u),a=Math.abs((n*=Qo)-t),c=Math.cos(a);oc+=Math.atan2(Math.sqrt((a=o*Math.sin(a))*a+(a=r*i-e*o*c)*a),e*i+r*o*c),t=n,e=i,r=o}var t,e,r;ac.point=function(u,i){t=u*Qo,e=Math.sin(i*=Qo),r=Math.cos(i),ac.point=n},ac.lineEnd=function(){ac.point=ac.lineEnd=c}}function Fe(n,t){function e(t,e){var r=Math.cos(t),u=Math.cos(e),i=n(r*u);return[i*u*Math.sin(t),i*Math.sin(e)]}return e.invert=function(n,e){var r=Math.sqrt(n*n+e*e),u=t(r),i=Math.sin(u),o=Math.cos(u);return[Math.atan2(n*i,r*o),Math.asin(r&&e*i/r)]},e}function Pe(n,t){function e(n,t){var e=Math.abs(Math.abs(t)-Jo)1&&u.push("H",r[0]),u.join("")}function We(n){for(var t=0,e=n.length,r=n[0],u=[r[0],",",r[1]];++t1){a=t[1],i=n[c],c++,r+="C"+(u[0]+o[0])+","+(u[1]+o[1])+","+(i[0]-a[0])+","+(i[1]-a[1])+","+i[0]+","+i[1];for(var l=2;l9&&(u=3*t/Math.sqrt(u),o[a]=u*e,o[a+1]=u*r));for(a=-1;++a<=c;)u=(n[Math.min(c,a+1)][0]-n[Math.max(0,a-1)][0])/(6*(1+o[a]*o[a])),i.push([u||0,o[a]*u||0]);return i}function fr(n){return n.length<3?Xe(n):n[0]+nr(n,sr(n))}function hr(n,t,e,r){var u,i,o,a,c,l,s;return u=r[n],i=u[0],o=u[1],u=r[t],a=u[0],c=u[1],u=r[e],l=u[0],s=u[1],(s-o)*(a-i)-(c-o)*(l-i)>0}function gr(n,t,e){return(e[0]-t[0])*(n[1]-t[1])<(e[1]-t[1])*(n[0]-t[0])}function pr(n,t,e,r){var u=n[0],i=e[0],o=t[0]-u,a=r[0]-i,c=n[1],l=e[1],s=t[1]-c,f=r[1]-l,h=(a*(c-l)-f*(u-i))/(f*o-a*s);return[u+h*o,c+h*s]}function dr(n){var t=n[0],e=n[n.length-1];return!(t[0]-e[0]||t[1]-e[1])}function vr(n,t){var e={list:n.map(function(n,t){return{index:t,x:n[0],y:n[1]}}).sort(function(n,t){return n.yt.y?1:n.xt.x?1:0}),bottomSite:null},r={list:[],leftEnd:null,rightEnd:null,init:function(){r.leftEnd=r.createHalfEdge(null,"l"),r.rightEnd=r.createHalfEdge(null,"l"),r.leftEnd.r=r.rightEnd,r.rightEnd.l=r.leftEnd,r.list.unshift(r.leftEnd,r.rightEnd)},createHalfEdge:function(n,t){return{edge:n,side:t,vertex:null,l:null,r:null}},insert:function(n,t){t.l=n,t.r=n.r,n.r.l=t,n.r=t},leftBound:function(n){var t=r.leftEnd;do t=t.r;while(t!=r.rightEnd&&u.rightOf(t,n));return t=t.l},del:function(n){n.l.r=n.r,n.r.l=n.l,n.edge=null},right:function(n){return n.r},left:function(n){return n.l},leftRegion:function(n){return null==n.edge?e.bottomSite:n.edge.region[n.side]},rightRegion:function(n){return null==n.edge?e.bottomSite:n.edge.region[yc[n.side]]}},u={bisect:function(n,t){var e={region:{l:n,r:t},ep:{l:null,r:null}},r=t.x-n.x,u=t.y-n.y,i=r>0?r:-r,o=u>0?u:-u;return e.c=n.x*r+n.y*u+.5*(r*r+u*u),i>o?(e.a=1,e.b=u/r,e.c/=r):(e.b=1,e.a=r/u,e.c/=u),e},intersect:function(n,t){var e=n.edge,r=t.edge;if(!e||!r||e.region.r==r.region.r)return null;var u=e.a*r.b-e.b*r.a;if(Math.abs(u)<1e-10)return null;var i,o,a=(e.c*r.b-r.c*e.b)/u,c=(r.c*e.a-e.c*r.a)/u,l=e.region.r,s=r.region.r;l.y=o.region.r.x;return f&&"l"===i.side||!f&&"r"===i.side?null:{x:a,y:c}},rightOf:function(n,t){var e=n.edge,r=e.region.r,u=t.x>r.x;if(u&&"l"===n.side)return 1;if(!u&&"r"===n.side)return 0;if(1===e.a){var i=t.y-r.y,o=t.x-r.x,a=0,c=0;if(!u&&e.b<0||u&&e.b>=0?c=a=i>=e.b*o:(c=t.x+t.y*e.b>e.c,e.b<0&&(c=!c),c||(a=1)),!a){var l=r.x-e.region.l.x;c=e.b*(o*o-i*i)h*h+g*g}return"l"===n.side?c:!c},endPoint:function(n,e,r){n.ep[e]=r,n.ep[yc[e]]&&t(n)},distance:function(n,t){var e=n.x-t.x,r=n.y-t.y;return Math.sqrt(e*e+r*r)}},i={list:[],insert:function(n,t,e){n.vertex=t,n.ystar=t.y+e;for(var r=0,u=i.list,o=u.length;o>r;r++){var a=u[r];if(!(n.ystar>a.ystar||n.ystar==a.ystar&&t.x>a.vertex.x))break}u.splice(r,0,n)},del:function(n){for(var t=0,e=i.list,r=e.length;r>t&&e[t]!=n;++t);e.splice(t,1)},empty:function(){return 0===i.list.length},nextEvent:function(n){for(var t=0,e=i.list,r=e.length;r>t;++t)if(e[t]==n)return e[t+1];return null},min:function(){var n=i.list[0];return{x:n.vertex.x,y:n.ystar}},extractMin:function(){return i.list.shift()}};r.init(),e.bottomSite=e.list.shift();for(var o,a,c,l,s,f,h,g,p,d,v,m,y,M=e.list.shift();;)if(i.empty()||(o=i.min()),M&&(i.empty()||M.yg.y&&(p=h,h=g,g=p,y="r"),m=u.bisect(h,g),f=r.createHalfEdge(m,y),r.insert(l,f),u.endPoint(m,yc[y],v),d=u.intersect(l,f),d&&(i.del(l),i.insert(l,d,u.distance(d,h))),d=u.intersect(f,s),d&&i.insert(f,d,u.distance(d,h))}for(a=r.right(r.leftEnd);a!=r.rightEnd;a=r.right(a))t(a.edge)}function mr(n){return n.x}function yr(n){return n.y}function Mr(){return{leaf:!0,nodes:[],point:null,x:null,y:null}}function xr(n,t,e,r,u,i){if(!n(t,e,r,u,i)){var o=.5*(e+u),a=.5*(r+i),c=t.nodes;c[0]&&xr(n,c[0],e,r,o,a),c[1]&&xr(n,c[1],o,r,u,a),c[2]&&xr(n,c[2],e,a,o,i),c[3]&&xr(n,c[3],o,a,u,i)}}function br(n,t){n=mo.rgb(n),t=mo.rgb(t);var e=n.r,r=n.g,u=n.b,i=t.r-e,o=t.g-r,a=t.b-u;return function(n){return"#"+ct(Math.round(e+i*n))+ct(Math.round(r+o*n))+ct(Math.round(u+a*n))}}function _r(n,t){var e,r={},u={};for(e in n)e in t?r[e]=Er(n[e],t[e]):u[e]=n[e];for(e in t)e in n||(u[e]=t[e]);return function(n){for(e in r)u[e]=r[e](n);return u}}function wr(n,t){return t-=n=+n,function(e){return n+t*e}}function Sr(n,t){var e,r,u,i,o,a=0,c=0,l=[],s=[];for(n+="",t+="",Mc.lastIndex=0,r=0;e=Mc.exec(t);++r)e.index&&l.push(t.substring(a,c=e.index)),s.push({i:l.length,x:e[0]}),l.push(null),a=Mc.lastIndex;for(ar;++r)if(o=s[r],o.x==e[0]){if(o.i)if(null==l[o.i+1])for(l[o.i-1]+=o.x,l.splice(o.i,1),u=r+1;i>u;++u)s[u].i--;else for(l[o.i-1]+=o.x+l[o.i+1],l.splice(o.i,2),u=r+1;i>u;++u)s[u].i-=2;else if(null==l[o.i+1])l[o.i]=o.x;else for(l[o.i]=o.x+l[o.i+1],l.splice(o.i+1,1),u=r+1;i>u;++u)s[u].i--;s.splice(r,1),i--,r--}else o.x=wr(parseFloat(e[0]),parseFloat(o.x));for(;i>r;)o=s.pop(),null==l[o.i+1]?l[o.i]=o.x:(l[o.i]=o.x+l[o.i+1],l.splice(o.i+1,1)),i--;return 1===l.length?null==l[0]?(o=s[0].x,function(n){return o(n)+""}):function(){return t}:function(n){for(r=0;i>r;++r)l[(o=s[r]).i]=o.x(n);return l.join("")}}function Er(n,t){for(var e,r=mo.interpolators.length;--r>=0&&!(e=mo.interpolators[r](n,t)););return e}function kr(n,t){var e,r=[],u=[],i=n.length,o=t.length,a=Math.min(n.length,t.length);for(e=0;a>e;++e)r.push(Er(n[e],t[e]));for(;i>e;++e)u[e]=n[e];for(;o>e;++e)u[e]=t[e];return function(n){for(e=0;a>e;++e)u[e]=r[e](n);return u}}function Ar(n){return function(t){return 0>=t?0:t>=1?1:n(t)}}function Nr(n){return function(t){return 1-n(1-t)}}function Tr(n){return function(t){return.5*(.5>t?n(2*t):2-n(2-2*t))}}function qr(n){return n*n}function zr(n){return n*n*n}function Cr(n){if(0>=n)return 0;if(n>=1)return 1;var t=n*n,e=t*n;return 4*(.5>n?e:3*(n-t)+e-.75)}function Dr(n){return function(t){return Math.pow(t,n)}}function jr(n){return 1-Math.cos(n*Jo)}function Lr(n){return Math.pow(2,10*(n-1))}function Hr(n){return 1-Math.sqrt(1-n*n)}function Fr(n,t){var e;return arguments.length<2&&(t=.45),arguments.length?e=t/Wo*Math.asin(1/n):(n=1,e=t/4),function(r){return 1+n*Math.pow(2,-10*r)*Math.sin((r-e)*Wo/t)}}function Pr(n){return n||(n=1.70158),function(t){return t*t*((n+1)*t-n)}}function Or(n){return 1/2.75>n?7.5625*n*n:2/2.75>n?7.5625*(n-=1.5/2.75)*n+.75:2.5/2.75>n?7.5625*(n-=2.25/2.75)*n+.9375:7.5625*(n-=2.625/2.75)*n+.984375}function Rr(n,t){n=mo.hcl(n),t=mo.hcl(t);var e=n.h,r=n.c,u=n.l,i=t.h-e,o=t.c-r,a=t.l-u;return isNaN(o)&&(o=0,r=isNaN(r)?t.c:r),isNaN(i)?(i=0,e=isNaN(e)?t.h:e):i>180?i-=360:-180>i&&(i+=360),function(n){return J(e+i*n,r+o*n,u+a*n)+""}}function Yr(n,t){n=mo.hsl(n),t=mo.hsl(t);var e=n.h,r=n.s,u=n.l,i=t.h-e,o=t.s-r,a=t.l-u;return isNaN(o)&&(o=0,r=isNaN(r)?t.s:r),isNaN(i)?(i=0,e=isNaN(e)?t.h:e):i>180?i-=360:-180>i&&(i+=360),function(n){return $(e+i*n,r+o*n,u+a*n)+""}}function Ir(n,t){n=mo.lab(n),t=mo.lab(t);var e=n.l,r=n.a,u=n.b,i=t.l-e,o=t.a-r,a=t.b-u;return function(n){return Q(e+i*n,r+o*n,u+a*n)+""}}function Ur(n,t){return t-=n,function(e){return Math.round(n+t*e)}}function Zr(n){var t=[n.a,n.b],e=[n.c,n.d],r=Xr(t),u=Vr(t,e),i=Xr($r(e,t,-u))||0;t[0]*e[1]180?s+=360:s-l>180&&(l+=360),u.push({i:r.push(r.pop()+"rotate(",null,")")-2,x:wr(l,s)})):s&&r.push(r.pop()+"rotate("+s+")"),f!=h?u.push({i:r.push(r.pop()+"skewX(",null,")")-2,x:wr(f,h)}):h&&r.push(r.pop()+"skewX("+h+")"),g[0]!=p[0]||g[1]!=p[1]?(e=r.push(r.pop()+"scale(",null,",",null,")"),u.push({i:e-4,x:wr(g[0],p[0])},{i:e-2,x:wr(g[1],p[1])})):(1!=p[0]||1!=p[1])&&r.push(r.pop()+"scale("+p+")"),e=u.length,function(n){for(var t,i=-1;++ie;++e)(t=n[e][1])>u&&(r=e,u=t);return r}function vu(n){return n.reduce(mu,0)}function mu(n,t){return n+t[1]}function yu(n,t){return Mu(n,Math.ceil(Math.log(t.length)/Math.LN2+1))}function Mu(n,t){for(var e=-1,r=+n[0],u=(n[1]-r)/t,i=[];++e<=t;)i[e]=u*e+r;return i}function xu(n){return[mo.min(n),mo.max(n)]}function bu(n,t){return n.parent==t.parent?1:2}function _u(n){var t=n.children;return t&&t.length?t[0]:n._tree.thread}function wu(n){var t,e=n.children;return e&&(t=e.length)?e[t-1]:n._tree.thread}function Su(n,t){var e=n.children;if(e&&(u=e.length))for(var r,u,i=-1;++i0&&(n=r);return n}function Eu(n,t){return n.x-t.x}function ku(n,t){return t.x-n.x}function Au(n,t){return n.depth-t.depth}function Nu(n,t){function e(n,r){var u=n.children;if(u&&(o=u.length))for(var i,o,a=null,c=-1;++c=0;)t=u[i]._tree,t.prelim+=e,t.mod+=e,e+=t.shift+(r+=t.change)}function qu(n,t,e){n=n._tree,t=t._tree;var r=e/(t.number-n.number);n.change+=r,t.change-=r,t.shift+=e,t.prelim+=e,t.mod+=e}function zu(n,t,e){return n._tree.ancestor.parent==t.parent?n._tree.ancestor:e}function Cu(n,t){return n.value-t.value}function Du(n,t){var e=n._pack_next;n._pack_next=t,t._pack_prev=n,t._pack_next=e,e._pack_prev=t}function ju(n,t){n._pack_next=t,t._pack_prev=n}function Lu(n,t){var e=t.x-n.x,r=t.y-n.y,u=n.r+t.r;return.999*u*u>e*e+r*r}function Hu(n){function t(n){s=Math.min(n.x-n.r,s),f=Math.max(n.x+n.r,f),h=Math.min(n.y-n.r,h),g=Math.max(n.y+n.r,g)}if((e=n.children)&&(l=e.length)){var e,r,u,i,o,a,c,l,s=1/0,f=-1/0,h=1/0,g=-1/0;if(e.forEach(Fu),r=e[0],r.x=-r.r,r.y=0,t(r),l>1&&(u=e[1],u.x=u.r,u.y=0,t(u),l>2))for(i=e[2],Ru(r,u,i),t(i),Du(r,i),r._pack_prev=i,Du(i,u),u=r._pack_next,o=3;l>o;o++){Ru(r,u,i=e[o]);var p=0,d=1,v=1;for(a=u._pack_next;a!==u;a=a._pack_next,d++)if(Lu(a,i)){p=1;break}if(1==p)for(c=r._pack_prev;c!==a._pack_prev&&!Lu(c,i);c=c._pack_prev,v++);p?(v>d||d==v&&u.ro;o++)i=e[o],i.x-=m,i.y-=y,M=Math.max(M,i.r+Math.sqrt(i.x*i.x+i.y*i.y));n.r=M,e.forEach(Pu)}}function Fu(n){n._pack_next=n._pack_prev=n}function Pu(n){delete n._pack_next,delete n._pack_prev}function Ou(n,t,e,r){var u=n.children;if(n.x=t+=r*n.x,n.y=e+=r*n.y,n.r*=r,u)for(var i=-1,o=u.length;++iu&&(e+=u/2,u=0),0>i&&(r+=i/2,i=0),{x:e,y:r,dx:u,dy:i}}function $u(n){var t=n[0],e=n[n.length-1];return e>t?[t,e]:[e,t]}function Bu(n){return n.rangeExtent?n.rangeExtent():$u(n.range())}function Wu(n,t,e,r){var u=e(n[0],n[1]),i=r(t[0],t[1]);return function(n){return i(u(n))}}function Ju(n,t){var e,r=0,u=n.length-1,i=n[r],o=n[u];return i>o&&(e=r,r=u,u=e,e=i,i=o,o=e),n[r]=t.floor(i),n[u]=t.ceil(o),n}function Gu(n){return n?{floor:function(t){return Math.floor(t/n)*n},ceil:function(t){return Math.ceil(t/n)*n}}:Tc}function Ku(n,t,e,r){var u=[],i=[],o=0,a=Math.min(n.length,t.length)-1;for(n[a]2?Ku:Wu,c=r?Jr:Wr;return o=u(n,t,c,e),a=u(t,n,c,Er),i}function i(n){return o(n)}var o,a;return i.invert=function(n){return a(n)},i.domain=function(t){return arguments.length?(n=t.map(Number),u()):n},i.range=function(n){return arguments.length?(t=n,u()):t},i.rangeRound=function(n){return i.range(n).interpolate(Ur)},i.clamp=function(n){return arguments.length?(r=n,u()):r},i.interpolate=function(n){return arguments.length?(e=n,u()):e},i.ticks=function(t){return ri(n,t)},i.tickFormat=function(t,e){return ui(n,t,e)},i.nice=function(t){return ti(n,t),u()},i.copy=function(){return Qu(n,t,e,r)},u()}function ni(n,t){return mo.rebind(n,t,"range","rangeRound","interpolate","clamp")}function ti(n,t){return Ju(n,Gu(ei(n,t)[2]))}function ei(n,t){null==t&&(t=10);var e=$u(n),r=e[1]-e[0],u=Math.pow(10,Math.floor(Math.log(r/t)/Math.LN10)),i=t/r*u;return.15>=i?u*=10:.35>=i?u*=5:.75>=i&&(u*=2),e[0]=Math.ceil(e[0]/u)*u,e[1]=Math.floor(e[1]/u)*u+.5*u,e[2]=u,e}function ri(n,t){return mo.range.apply(mo,ei(n,t))}function ui(n,t,e){var r=-Math.floor(Math.log(ei(n,t)[2])/Math.LN10+.01);return mo.format(e?e.replace(Aa,function(n,t,e,u,i,o,a,c,l,s){return[t,e,u,i,o,a,c,l||"."+(r-2*("%"===s)),s].join("")}):",."+r+"f")}function ii(n,t,e,r){function u(n){return(e?Math.log(0>n?0:n):-Math.log(n>0?0:-n))/Math.log(t)}function i(n){return e?Math.pow(t,n):-Math.pow(t,-n)}function o(t){return n(u(t))}return o.invert=function(t){return i(n.invert(t))},o.domain=function(t){return arguments.length?(e=t[0]>=0,n.domain((r=t.map(Number)).map(u)),o):r},o.base=function(e){return arguments.length?(t=+e,n.domain(r.map(u)),o):t},o.nice=function(){var t=Ju(r.map(u),e?Math:zc);return n.domain(t),r=t.map(i),o},o.ticks=function(){var n=$u(r),o=[],a=n[0],c=n[1],l=Math.floor(u(a)),s=Math.ceil(u(c)),f=t%1?2:t;if(isFinite(s-l)){if(e){for(;s>l;l++)for(var h=1;f>h;h++)o.push(i(l)*h);o.push(i(l))}else for(o.push(i(l));l++0;h--)o.push(i(l)*h);for(l=0;o[l]c;s--);o=o.slice(l,s)}return o},o.tickFormat=function(n,t){if(!arguments.length)return qc;arguments.length<2?t=qc:"function"!=typeof t&&(t=mo.format(t));var r,a=Math.max(.1,n/o.ticks().length),c=e?(r=1e-12,Math.ceil):(r=-1e-12,Math.floor);return function(n){return n/i(c(u(n)+r))<=a?t(n):""}},o.copy=function(){return ii(n.copy(),t,e,r)},ni(o,n)}function oi(n,t,e){function r(t){return n(u(t))}var u=ai(t),i=ai(1/t);return r.invert=function(t){return i(n.invert(t))},r.domain=function(t){return arguments.length?(n.domain((e=t.map(Number)).map(u)),r):e},r.ticks=function(n){return ri(e,n)},r.tickFormat=function(n,t){return ui(e,n,t)},r.nice=function(n){return r.domain(ti(e,n))},r.exponent=function(o){return arguments.length?(u=ai(t=o),i=ai(1/t),n.domain(e.map(u)),r):t},r.copy=function(){return oi(n.copy(),t,e)},ni(r,n)}function ai(n){return function(t){return 0>t?-Math.pow(-t,n):Math.pow(t,n)}}function ci(n,t){function e(e){return o[((i.get(e)||"range"===t.t&&i.set(e,n.push(e)))-1)%o.length]}function r(t,e){return mo.range(n.length).map(function(n){return t+e*n})}var i,o,a;return e.domain=function(r){if(!arguments.length)return n;n=[],i=new u;for(var o,a=-1,c=r.length;++ae?[0/0,0/0]:[e>0?u[e-1]:n[0],et?0/0:t/i+n,[t,t+1/i]},r.copy=function(){return si(n,t,e)},u()}function fi(n,t){function e(e){return e>=e?t[mo.bisect(n,e)]:void 0}return e.domain=function(t){return arguments.length?(n=t,e):n},e.range=function(n){return arguments.length?(t=n,e):t},e.invertExtent=function(e){return e=t.indexOf(e),[n[e-1],n[e]]},e.copy=function(){return fi(n,t)},e}function hi(n){function t(n){return+n}return t.invert=t,t.domain=t.range=function(e){return arguments.length?(n=e.map(t),t):n},t.ticks=function(t){return ri(n,t)},t.tickFormat=function(t,e){return ui(n,t,e)},t.copy=function(){return hi(n)},t}function gi(n){return n.innerRadius}function pi(n){return n.outerRadius}function di(n){return n.startAngle}function vi(n){return n.endAngle}function mi(n){for(var t,e,r,u=-1,i=n.length;++ue?l():(i.active=e,o.event&&o.event.start.call(n,s,t),o.tween.forEach(function(e,r){(r=r.call(n,s,t))&&p.push(r)}),c(r||1)?1:(xt(c,h,a),void 0))}function c(r){if(i.active!==e)return l();for(var u=r/g,a=f(u),c=p.length;c>0;)p[--c].call(n,a);return u>=1?(o.event&&o.event.end.call(n,s,t),l()):void 0}function l(){return--i.count?delete i[e]:delete n.__transition__,1}var s=n.__data__,f=o.ease,h=o.delay,g=o.duration,p=[];return r>=h?u(r-h):(xt(u,h,a),void 0)},0,a)}}function Ti(n,t){n.attr("transform",function(n){return"translate("+t(n)+",0)"})}function qi(n,t){n.attr("transform",function(n){return"translate(0,"+t(n)+")"})}function zi(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function Ci(n,t,e){function r(t){var e=n(t),r=i(e,1);return r-t>t-e?e:r}function u(e){return t(e=n(new Jc(e-1)),1),e}function i(n,e){return t(n=new Jc(+n),e),n}function o(n,r,i){var o=u(n),a=[];if(i>1)for(;r>o;)e(o)%i||a.push(new Date(+o)),t(o,1);else for(;r>o;)a.push(new Date(+o)),t(o,1);return a}function a(n,t,e){try{Jc=zi;var r=new zi;return r._=n,o(r,t,e)}finally{Jc=Date}}n.floor=n,n.round=r,n.ceil=u,n.offset=i,n.range=o;var c=n.utc=Di(n);return c.floor=c,c.round=Di(r),c.ceil=Di(u),c.offset=Di(i),c.range=a,n}function Di(n){return function(t,e){try{Jc=zi;var r=new zi;return r._=t,n(r,e)._}finally{Jc=Date}}}function ji(n){function t(t){for(var r,u,i,o=[],a=-1,c=0;++aa;){if(r>=l)return-1;if(u=t.charCodeAt(a++),37===u){if(o=t.charAt(a++),i=ml[o in dl?t.charAt(a++):o],!i||(r=i(n,e,r))<0)return-1}else if(u!=e.charCodeAt(r++))return-1}return r}function Hi(n){return new RegExp("^(?:"+n.map(mo.requote).join("|")+")","i")}function Fi(n){for(var t=new u,e=-1,r=n.length;++en?"-":"",u=(r?-n:n)+"",i=u.length;return r+(e>i?new Array(e-i+1).join(t)+u:u)}function Oi(n,t,e){cl.lastIndex=0;var r=cl.exec(t.substring(e));return r?(n.w=ll.get(r[0].toLowerCase()),e+r[0].length):-1}function Ri(n,t,e){ol.lastIndex=0;var r=ol.exec(t.substring(e));return r?(n.w=al.get(r[0].toLowerCase()),e+r[0].length):-1}function Yi(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e,e+1));return r?(n.w=+r[0],e+r[0].length):-1}function Ii(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e));return r?(n.U=+r[0],e+r[0].length):-1}function Ui(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e));return r?(n.W=+r[0],e+r[0].length):-1}function Zi(n,t,e){hl.lastIndex=0;var r=hl.exec(t.substring(e));return r?(n.m=gl.get(r[0].toLowerCase()),e+r[0].length):-1}function Vi(n,t,e){sl.lastIndex=0;var r=sl.exec(t.substring(e));return r?(n.m=fl.get(r[0].toLowerCase()),e+r[0].length):-1}function Xi(n,t,e){return Li(n,vl.c.toString(),t,e)}function $i(n,t,e){return Li(n,vl.x.toString(),t,e)}function Bi(n,t,e){return Li(n,vl.X.toString(),t,e)}function Wi(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e,e+4));return r?(n.y=+r[0],e+r[0].length):-1}function Ji(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e,e+2));return r?(n.y=Ki(+r[0]),e+r[0].length):-1}function Gi(n,t,e){return/^[+-]\d{4}$/.test(t=t.substring(e,e+5))?(n.Z=+t,e+5):-1}function Ki(n){return n+(n>68?1900:2e3)}function Qi(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e,e+2));return r?(n.m=r[0]-1,e+r[0].length):-1}function no(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e,e+2));return r?(n.d=+r[0],e+r[0].length):-1}function to(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e,e+3));return r?(n.j=+r[0],e+r[0].length):-1}function eo(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e,e+2));return r?(n.H=+r[0],e+r[0].length):-1}function ro(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e,e+2));return r?(n.M=+r[0],e+r[0].length):-1}function uo(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e,e+2));return r?(n.S=+r[0],e+r[0].length):-1}function io(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e,e+3));return r?(n.L=+r[0],e+r[0].length):-1}function oo(n,t,e){var r=Ml.get(t.substring(e,e+=2).toLowerCase());return null==r?-1:(n.p=r,e)}function ao(n){var t=n.getTimezoneOffset(),e=t>0?"-":"+",r=~~(Math.abs(t)/60),u=Math.abs(t)%60;return e+Pi(r,"0",2)+Pi(u,"0",2)}function co(n,t,e){pl.lastIndex=0;var r=pl.exec(t.substring(e,e+1));return r?e+r[0].length:-1}function lo(n){function t(n){try{Jc=zi;var t=new Jc;return t._=n,e(t)}finally{Jc=Date}}var e=ji(n);return t.parse=function(n){try{Jc=zi;var t=e.parse(n);return t&&t._}finally{Jc=Date}},t.toString=e.toString,t}function so(n){return n.toISOString()}function fo(n,t,e){function r(t){return n(t)}function u(n,e){var r=n[1]-n[0],u=r/e,i=mo.bisect(bl,u);return i==bl.length?[t.year,ei(n.map(function(n){return n/31536e6}),e)[2]]:i?t[u/bl[i-1]1?{floor:function(t){for(;e(t=n.floor(t));)t=ho(t-1);return t},ceil:function(t){for(;e(t=n.ceil(t));)t=ho(+t+1);return t}}:n))},r.ticks=function(n,t){var e=$u(r.domain()),i=null==n?u(e,10):"number"==typeof n?u(e,n):!n.range&&[{range:n},t];return i&&(n=i[0],t=i[1]),n.range(e[0],ho(+e[1]+1),1>t?1:t)},r.tickFormat=function(){return e},r.copy=function(){return fo(n.copy(),t,e)},ni(r,n)}function ho(n){return new Date(n)}function go(n){return function(t){for(var e=n.length-1,r=n[e];!r[1](t);)r=n[--e];return r[0](t)}}function po(n){return JSON.parse(n.responseText)}function vo(n){var t=xo.createRange();return t.selectNode(xo.body),t.createContextualFragment(n.responseText)}var mo={version:"3.3.6"};Date.now||(Date.now=function(){return+new Date});var yo=[].slice,Mo=function(n){return yo.call(n)},xo=document,bo=xo.documentElement,_o=window;try{Mo(bo.childNodes)[0].nodeType}catch(wo){Mo=function(n){for(var t=n.length,e=new Array(t);t--;)e[t]=n[t];return e}}try{xo.createElement("div").style.setProperty("opacity",0,"")}catch(So){var Eo=_o.Element.prototype,ko=Eo.setAttribute,Ao=Eo.setAttributeNS,No=_o.CSSStyleDeclaration.prototype,To=No.setProperty;Eo.setAttribute=function(n,t){ko.call(this,n,t+"")},Eo.setAttributeNS=function(n,t,e){Ao.call(this,n,t,e+"")},No.setProperty=function(n,t,e){To.call(this,n,t+"",e)}}mo.ascending=function(n,t){return t>n?-1:n>t?1:n>=t?0:0/0},mo.descending=function(n,t){return n>t?-1:t>n?1:t>=n?0:0/0},mo.min=function(n,t){var e,r,u=-1,i=n.length;if(1===arguments.length){for(;++u=e);)e=void 0;for(;++ur&&(e=r)}else{for(;++u=e);)e=void 0;for(;++ur&&(e=r)}return e},mo.max=function(n,t){var e,r,u=-1,i=n.length;if(1===arguments.length){for(;++u=e);)e=void 0;for(;++ue&&(e=r)}else{for(;++u=e);)e=void 0;for(;++ue&&(e=r)}return e},mo.extent=function(n,t){var e,r,u,i=-1,o=n.length;if(1===arguments.length){for(;++i=e);)e=u=void 0;for(;++ir&&(e=r),r>u&&(u=r))}else{for(;++i=e);)e=void 0;for(;++ir&&(e=r),r>u&&(u=r))}return[e,u]},mo.sum=function(n,t){var e,r=0,u=n.length,i=-1;if(1===arguments.length)for(;++i1&&(t=t.map(e)),t=t.filter(n),t.length?mo.quantile(t.sort(mo.ascending),.5):void 0},mo.bisector=function(n){return{left:function(t,e,r,u){for(arguments.length<3&&(r=0),arguments.length<4&&(u=t.length);u>r;){var i=r+u>>>1;n.call(t,t[i],i)r;){var i=r+u>>>1;er?0:r);r>e;)i[e]=[t=u,u=n[++e]];return i},mo.zip=function(){if(!(u=arguments.length))return[];for(var n=-1,e=mo.min(arguments,t),r=new Array(e);++nr)for(;(u=n+r*++a)>t;)i.push(u/o);else for(;(u=n+r*++a)=o.length)return r?r.call(i,a):e?a.sort(e):a;for(var l,s,f,h,g=-1,p=a.length,d=o[c++],v=new u;++g=o.length)return n;var r=[],u=a[e++];return n.forEach(function(n,u){r.push({key:n,values:t(u,e)})}),u?r.sort(function(n,t){return u(n.key,t.key)}):r}var e,r,i={},o=[],a=[];return i.map=function(t,e){return n(e,t,0)},i.entries=function(e){return t(n(mo.map,e,0),0)},i.key=function(n){return o.push(n),i},i.sortKeys=function(n){return a[o.length-1]=n,i},i.sortValues=function(n){return e=n,i},i.rollup=function(n){return r=n,i},i},mo.set=function(n){var t=new i;if(n)for(var e=0,r=n.length;r>e;++e)t.add(n[e]);return t},r(i,{has:function(n){return zo+n in this},add:function(n){return this[zo+n]=!0,n},remove:function(n){return n=zo+n,n in this&&delete this[n]},values:function(){var n=[];return this.forEach(function(t){n.push(t)}),n},forEach:function(n){for(var t in this)t.charCodeAt(0)===Co&&n.call(this,t.substring(1))}}),mo.behavior={},mo.rebind=function(n,t){for(var e,r=1,u=arguments.length;++r=0&&(r=n.substring(e+1),n=n.substring(0,e)),n)return arguments.length<2?this[n].on(r):this[n].on(r,t);if(2===arguments.length){if(null==t)for(n in this)this.hasOwnProperty(n)&&this[n].on(r,null);return this}},mo.event=null,mo.requote=function(n){return n.replace(jo,"\\$&")};var jo=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,Lo={}.__proto__?function(n,t){n.__proto__=t}:function(n,t){for(var e in t)n[e]=t[e]},Ho=function(n,t){return t.querySelector(n)},Fo=function(n,t){return t.querySelectorAll(n)},Po=bo[a(bo,"matchesSelector")],Oo=function(n,t){return Po.call(n,t)};"function"==typeof Sizzle&&(Ho=function(n,t){return Sizzle(n,t)[0]||null},Fo=function(n,t){return Sizzle.uniqueSort(Sizzle(n,t))},Oo=Sizzle.matchesSelector),mo.selection=function(){return Uo};var Ro=mo.selection.prototype=[];Ro.select=function(n){var t,e,r,u,i=[];n=d(n);for(var o=-1,a=this.length;++o=0&&(e=n.substring(0,t),n=n.substring(t+1)),Yo.hasOwnProperty(e)?{space:Yo[e],local:n}:n}},Ro.attr=function(n,t){if(arguments.length<2){if("string"==typeof n){var e=this.node();return n=mo.ns.qualify(n),n.local?e.getAttributeNS(n.space,n.local):e.getAttribute(n)}for(t in n)this.each(m(t,n[t]));return this}return this.each(m(n,t))},Ro.classed=function(n,t){if(arguments.length<2){if("string"==typeof n){var e=this.node(),r=(n=n.trim().split(/^|\s+/g)).length,u=-1;if(t=e.classList){for(;++ur){if("string"!=typeof n){2>r&&(t="");for(e in n)this.each(_(e,n[e],t));return this}if(2>r)return _o.getComputedStyle(this.node(),null).getPropertyValue(n);e=""}return this.each(_(n,t,e))},Ro.property=function(n,t){if(arguments.length<2){if("string"==typeof n)return this.node()[n];for(t in n)this.each(w(t,n[t]));return this}return this.each(w(n,t))},Ro.text=function(n){return arguments.length?this.each("function"==typeof n?function(){var t=n.apply(this,arguments);this.textContent=null==t?"":t}:null==n?function(){this.textContent=""}:function(){this.textContent=n}):this.node().textContent},Ro.html=function(n){return arguments.length?this.each("function"==typeof n?function(){var t=n.apply(this,arguments);this.innerHTML=null==t?"":t}:null==n?function(){this.innerHTML=""}:function(){this.innerHTML=n}):this.node().innerHTML},Ro.append=function(n){return n=S(n),this.select(function(){return this.appendChild(n.apply(this,arguments))})},Ro.insert=function(n,t){return n=S(n),t=d(t),this.select(function(){return this.insertBefore(n.apply(this,arguments),t.apply(this,arguments))})},Ro.remove=function(){return this.each(function(){var n=this.parentNode;n&&n.removeChild(this)})},Ro.data=function(n,t){function e(n,e){var r,i,o,a=n.length,f=e.length,h=Math.min(a,f),g=new Array(f),p=new Array(f),d=new Array(a);if(t){var v,m=new u,y=new u,M=[];for(r=-1;++rr;++r)p[r]=E(e[r]);for(;a>r;++r)d[r]=n[r]}p.update=g,p.parentNode=g.parentNode=d.parentNode=n.parentNode,c.push(p),l.push(g),s.push(d)}var r,i,o=-1,a=this.length;if(!arguments.length){for(n=new Array(a=(r=this[0]).length);++oi;i++){u.push(t=[]),t.parentNode=(e=this[i]).parentNode;for(var a=0,c=e.length;c>a;a++)(r=e[a])&&n.call(r,r.__data__,a)&&t.push(r)}return p(u)},Ro.order=function(){for(var n=-1,t=this.length;++n=0;)(e=r[u])&&(i&&i!==e.nextSibling&&i.parentNode.insertBefore(e,i),i=e);return this},Ro.sort=function(n){n=A.apply(this,arguments);for(var t=-1,e=this.length;++tn;n++)for(var e=this[n],r=0,u=e.length;u>r;r++){var i=e[r];if(i)return i}return null},Ro.size=function(){var n=0;return this.each(function(){++n}),n};var Io=[];mo.selection.enter=T,mo.selection.enter.prototype=Io,Io.append=Ro.append,Io.empty=Ro.empty,Io.node=Ro.node,Io.call=Ro.call,Io.size=Ro.size,Io.select=function(n){for(var t,e,r,u,i,o=[],a=-1,c=this.length;++ar){if("string"!=typeof n){2>r&&(t=!1);for(e in n)this.each(C(e,n[e],t));return this}if(2>r)return(r=this.node()["__on"+n])&&r._;e=!1}return this.each(C(n,t,e))};var Zo=mo.map({mouseenter:"mouseover",mouseleave:"mouseout"});Zo.forEach(function(n){"on"+n in xo&&Zo.remove(n)});var Vo=a(bo.style,"userSelect"),Xo=0;mo.mouse=function(n){return H(n,h())};var $o=/WebKit/.test(_o.navigator.userAgent)?-1:0;mo.touches=function(n,t){return arguments.length<2&&(t=h().touches),t?Mo(t).map(function(t){var e=H(n,t);return e.identifier=t.identifier,e}):[]},mo.behavior.drag=function(){function n(){this.on("mousedown.drag",o).on("touchstart.drag",a)}function t(){return mo.event.changedTouches[0].identifier}function e(n,t){return mo.touches(n).filter(function(n){return n.identifier===t})[0]}function r(n,t,e,r){return function(){function o(){var n=t(s,g),e=n[0]-d[0],r=n[1]-d[1];v|=e|r,d=n,f({type:"drag",x:n[0]+c[0],y:n[1]+c[1],dx:e,dy:r})}function a(){m.on(e+"."+p,null).on(r+"."+p,null),y(v&&mo.event.target===h),f({type:"dragend"})}var c,l=this,s=l.parentNode,f=u.of(l,arguments),h=mo.event.target,g=n(),p=null==g?"drag":"drag-"+g,d=t(s,g),v=0,m=mo.select(_o).on(e+"."+p,o).on(r+"."+p,a),y=L();i?(c=i.apply(l,arguments),c=[c.x-d[0],c.y-d[1]]):c=[0,0],f({type:"dragstart"})}}var u=g(n,"drag","dragstart","dragend"),i=null,o=r(c,mo.mouse,"mousemove","mouseup"),a=r(t,e,"touchmove","touchend");return n.origin=function(t){return arguments.length?(i=t,n):i},mo.rebind(n,u,"on")};var Bo=Math.PI,Wo=2*Bo,Jo=Bo/2,Go=1e-6,Ko=Go*Go,Qo=Bo/180,na=180/Bo,ta=Math.SQRT2,ea=2,ra=4;mo.interpolateZoom=function(n,t){function e(n){var t=n*y;if(m){var e=Y(d),o=i/(ea*h)*(e*I(ta*t+d)-R(d));return[r+o*l,u+o*s,i*e/Y(ta*t+d)]}return[r+n*l,u+n*s,i*Math.exp(ta*t)]}var r=n[0],u=n[1],i=n[2],o=t[0],a=t[1],c=t[2],l=o-r,s=a-u,f=l*l+s*s,h=Math.sqrt(f),g=(c*c-i*i+ra*f)/(2*i*ea*h),p=(c*c-i*i-ra*f)/(2*c*ea*h),d=Math.log(Math.sqrt(g*g+1)-g),v=Math.log(Math.sqrt(p*p+1)-p),m=v-d,y=(m||Math.log(c/i))/ta;return e.duration=1e3*y,e},mo.behavior.zoom=function(){function n(n){n.on(A,l).on(oa+".zoom",h).on(N,p).on("dblclick.zoom",d).on(q,s)}function t(n){return[(n[0]-S.x)/S.k,(n[1]-S.y)/S.k]}function e(n){return[n[0]*S.k+S.x,n[1]*S.k+S.y]}function r(n){S.k=Math.max(k[0],Math.min(k[1],n))}function u(n,t){t=e(t),S.x+=n[0]-t[0],S.y+=n[1]-t[1]}function i(){b&&b.domain(x.range().map(function(n){return(n-S.x)/S.k}).map(x.invert)),w&&w.domain(_.range().map(function(n){return(n-S.y)/S.k}).map(_.invert))}function o(n){n({type:"zoomstart"})}function a(n){i(),n({type:"zoom",scale:S.k,translate:[S.x,S.y]})}function c(n){n({type:"zoomend"})}function l(){function n(){s=1,u(mo.mouse(r),h),a(i)}function e(){f.on(N,_o===r?p:null).on(T,null),g(s&&mo.event.target===l),c(i)}var r=this,i=C.of(r,arguments),l=mo.event.target,s=0,f=mo.select(_o).on(N,n).on(T,e),h=t(mo.mouse(r)),g=L();z.call(r),o(i)}function s(){function n(){var n=mo.touches(p);return g=S.k,n.forEach(function(n){n.identifier in v&&(v[n.identifier]=t(n))}),n}function e(){for(var t=mo.event.changedTouches,e=0,i=t.length;i>e;++e)v[t[e].identifier]=null;var o=n(),c=Date.now();if(1===o.length){if(500>c-M){var l=o[0],s=v[l.identifier];r(2*S.k),u(l,s),f(),a(d)}M=c}else if(o.length>1){var l=o[0],h=o[1],g=l[0]-h[0],p=l[1]-h[1];m=g*g+p*p}}function i(){for(var n,t,e,i,o=mo.touches(p),c=0,l=o.length;l>c;++c,i=null)if(e=o[c],i=v[e.identifier]){if(t)break;n=e,t=i}if(i){var s=(s=e[0]-n[0])*s+(s=e[1]-n[1])*s,f=m&&Math.sqrt(s/m);n=[(n[0]+e[0])/2,(n[1]+e[1])/2],t=[(t[0]+i[0])/2,(t[1]+i[1])/2],r(f*g)}M=null,u(n,t),a(d)}function h(){if(mo.event.touches.length){for(var t=mo.event.changedTouches,e=0,r=t.length;r>e;++e)delete v[t[e].identifier];for(var u in v)return void n()}_.on(x,null).on(b,null),w.on(A,l).on(q,s),E(),c(d)}var g,p=this,d=C.of(p,arguments),v={},m=0,y=mo.event.changedTouches[0].identifier,x="touchmove.zoom-"+y,b="touchend.zoom-"+y,_=mo.select(_o).on(x,i).on(b,h),w=mo.select(p).on(A,null).on(q,e),E=L();z.call(p),e(),o(d)}function h(){var n=C.of(this,arguments);y?clearTimeout(y):(z.call(this),o(n)),y=setTimeout(function(){y=null,c(n)},50),f();var e=m||mo.mouse(this);v||(v=t(e)),r(Math.pow(2,.002*ua())*S.k),u(e,v),a(n)}function p(){v=null}function d(){var n=C.of(this,arguments),e=mo.mouse(this),i=t(e),l=Math.log(S.k)/Math.LN2;o(n),r(Math.pow(2,mo.event.shiftKey?Math.ceil(l)-1:Math.floor(l)+1)),u(e,i),a(n),c(n)}var v,m,y,M,x,b,_,w,S={x:0,y:0,k:1},E=[960,500],k=ia,A="mousedown.zoom",N="mousemove.zoom",T="mouseup.zoom",q="touchstart.zoom",C=g(n,"zoomstart","zoom","zoomend");return n.event=function(n){n.each(function(){var n=C.of(this,arguments),t=S;Oc?mo.select(this).transition().each("start.zoom",function(){S=this.__chart__||{x:0,y:0,k:1},o(n)}).tween("zoom:zoom",function(){var e=E[0],r=E[1],u=e/2,i=r/2,o=mo.interpolateZoom([(u-S.x)/S.k,(i-S.y)/S.k,e/S.k],[(u-t.x)/t.k,(i-t.y)/t.k,e/t.k]);return function(t){var r=o(t),c=e/r[2];this.__chart__=S={x:u-r[0]*c,y:i-r[1]*c,k:c},a(n)}}).each("end.zoom",function(){c(n)}):(this.__chart__=S,o(n),a(n),c(n))})},n.translate=function(t){return arguments.length?(S={x:+t[0],y:+t[1],k:S.k},i(),n):[S.x,S.y]},n.scale=function(t){return arguments.length?(S={x:S.x,y:S.y,k:+t},i(),n):S.k},n.scaleExtent=function(t){return arguments.length?(k=null==t?ia:[+t[0],+t[1]],n):k},n.center=function(t){return arguments.length?(m=t&&[+t[0],+t[1]],n):m},n.size=function(t){return arguments.length?(E=t&&[+t[0],+t[1]],n):E},n.x=function(t){return arguments.length?(b=t,x=t.copy(),S={x:0,y:0,k:1},n):b},n.y=function(t){return arguments.length?(w=t,_=t.copy(),S={x:0,y:0,k:1},n):w},mo.rebind(n,C,"on")};var ua,ia=[0,1/0],oa="onwheel"in xo?(ua=function(){return-mo.event.deltaY*(mo.event.deltaMode?120:1)},"wheel"):"onmousewheel"in xo?(ua=function(){return mo.event.wheelDelta},"mousewheel"):(ua=function(){return-mo.event.detail},"MozMousePixelScroll");Z.prototype.toString=function(){return this.rgb()+""},mo.hsl=function(n,t,e){return 1===arguments.length?n instanceof X?V(n.h,n.s,n.l):lt(""+n,st,V):V(+n,+t,+e)};var aa=X.prototype=new Z;aa.brighter=function(n){return n=Math.pow(.7,arguments.length?n:1),V(this.h,this.s,this.l/n)},aa.darker=function(n){return n=Math.pow(.7,arguments.length?n:1),V(this.h,this.s,n*this.l)},aa.rgb=function(){return $(this.h,this.s,this.l)},mo.hcl=function(n,t,e){return 1===arguments.length?n instanceof W?B(n.h,n.c,n.l):n instanceof K?nt(n.l,n.a,n.b):nt((n=ft((n=mo.rgb(n)).r,n.g,n.b)).l,n.a,n.b):B(+n,+t,+e)};var ca=W.prototype=new Z;ca.brighter=function(n){return B(this.h,this.c,Math.min(100,this.l+la*(arguments.length?n:1)))},ca.darker=function(n){return B(this.h,this.c,Math.max(0,this.l-la*(arguments.length?n:1)))},ca.rgb=function(){return J(this.h,this.c,this.l).rgb()},mo.lab=function(n,t,e){return 1===arguments.length?n instanceof K?G(n.l,n.a,n.b):n instanceof W?J(n.l,n.c,n.h):ft((n=mo.rgb(n)).r,n.g,n.b):G(+n,+t,+e)};var la=18,sa=.95047,fa=1,ha=1.08883,ga=K.prototype=new Z;ga.brighter=function(n){return G(Math.min(100,this.l+la*(arguments.length?n:1)),this.a,this.b)},ga.darker=function(n){return G(Math.max(0,this.l-la*(arguments.length?n:1)),this.a,this.b)},ga.rgb=function(){return Q(this.l,this.a,this.b)},mo.rgb=function(n,t,e){return 1===arguments.length?n instanceof at?ot(n.r,n.g,n.b):lt(""+n,ot,$):ot(~~n,~~t,~~e)};var pa=at.prototype=new Z;pa.brighter=function(n){n=Math.pow(.7,arguments.length?n:1);var t=this.r,e=this.g,r=this.b,u=30;return t||e||r?(t&&u>t&&(t=u),e&&u>e&&(e=u),r&&u>r&&(r=u),ot(Math.min(255,~~(t/n)),Math.min(255,~~(e/n)),Math.min(255,~~(r/n)))):ot(u,u,u)},pa.darker=function(n){return n=Math.pow(.7,arguments.length?n:1),ot(~~(n*this.r),~~(n*this.g),~~(n*this.b))},pa.hsl=function(){return st(this.r,this.g,this.b)},pa.toString=function(){return"#"+ct(this.r)+ct(this.g)+ct(this.b)};var da=mo.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});da.forEach(function(n,t){da.set(n,ut(t))}),mo.functor=pt,mo.xhr=vt(dt),mo.dsv=function(n,t){function e(n,e,i){arguments.length<3&&(i=e,e=null);var o=mo.xhr(n,t,i);return o.row=function(n){return arguments.length?o.response(null==(e=n)?r:u(n)):e},o.row(e)}function r(n){return e.parse(n.responseText)}function u(n){return function(t){return e.parse(t.responseText,n)}}function o(t){return t.map(a).join(n)}function a(n){return c.test(n)?'"'+n.replace(/\"/g,'""')+'"':n}var c=new RegExp('["'+n+"\n]"),l=n.charCodeAt(0);return e.parse=function(n,t){var r;return e.parseRows(n,function(n,e){if(r)return r(n,e-1);var u=new Function("d","return {"+n.map(function(n,t){return JSON.stringify(n)+": d["+t+"]"}).join(",")+"}");r=t?function(n,e){return t(u(n),e)}:u})},e.parseRows=function(n,t){function e(){if(s>=c)return o;if(u)return u=!1,i;var t=s;if(34===n.charCodeAt(t)){for(var e=t;e++s;){var r=n.charCodeAt(s++),a=1;if(10===r)u=!0;else if(13===r)u=!0,10===n.charCodeAt(s)&&(++s,++a);else if(r!==l)continue;return n.substring(t,s-a)}return n.substring(t)}for(var r,u,i={},o={},a=[],c=n.length,s=0,f=0;(r=e())!==o;){for(var h=[];r!==i&&r!==o;)h.push(r),r=e();(!t||(h=t(h,f++)))&&a.push(h)}return a},e.format=function(t){if(Array.isArray(t[0]))return e.formatRows(t);var r=new i,u=[];return t.forEach(function(n){for(var t in n)r.has(t)||u.push(r.add(t))}),[u.map(a).join(n)].concat(t.map(function(t){return u.map(function(n){return a(t[n])}).join(n)})).join("\n")},e.formatRows=function(n){return n.map(o).join("\n")},e},mo.csv=mo.dsv(",","text/csv"),mo.tsv=mo.dsv(" ","text/tab-separated-values");var va,ma,ya,Ma,xa,ba=_o[a(_o,"requestAnimationFrame")]||function(n){setTimeout(n,17)};mo.timer=function(n,t,e){var r=arguments.length;2>r&&(t=0),3>r&&(e=Date.now());var u=e+t,i={callback:n,time:u,next:null};ma?ma.next=i:va=i,ma=i,ya||(Ma=clearTimeout(Ma),ya=1,ba(Mt))},mo.timer.flush=function(){bt(),_t()};var _a=".",wa=",",Sa=[3,3],Ea="$",ka=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"].map(wt);mo.formatPrefix=function(n,t){var e=0;return n&&(0>n&&(n*=-1),t&&(n=mo.round(n,St(n,t))),e=1+Math.floor(1e-12+Math.log(n)/Math.LN10),e=Math.max(-24,Math.min(24,3*Math.floor((0>=e?e+1:e-1)/3)))),ka[8+e/3]},mo.round=function(n,t){return t?Math.round(n*(t=Math.pow(10,t)))/t:Math.round(n)},mo.format=function(n){var t=Aa.exec(n),e=t[1]||" ",r=t[2]||">",u=t[3]||"",i=t[4]||"",o=t[5],a=+t[6],c=t[7],l=t[8],s=t[9],f=1,h="",g=!1;switch(l&&(l=+l.substring(1)),(o||"0"===e&&"="===r)&&(o=e="0",r="=",c&&(a-=Math.floor((a-1)/4))),s){case"n":c=!0,s="g";break;case"%":f=100,h="%",s="f";break;case"p":f=100,h="%",s="r";break;case"b":case"o":case"x":case"X":"#"===i&&(i="0"+s.toLowerCase());case"c":case"d":g=!0,l=0;break;case"s":f=-1,s="r"}"#"===i?i="":"$"===i&&(i=Ea),"r"!=s||l||(s="g"),null!=l&&("g"==s?l=Math.max(1,Math.min(21,l)):("e"==s||"f"==s)&&(l=Math.max(0,Math.min(20,l)))),s=Na.get(s)||Et;var p=o&&c;return function(n){if(g&&n%1)return"";var t=0>n||0===n&&0>1/n?(n=-n,"-"):u;if(0>f){var d=mo.formatPrefix(n,l);n=d.scale(n),h=d.symbol}else n*=f;n=s(n,l);var v=n.lastIndexOf("."),m=0>v?n:n.substring(0,v),y=0>v?"":_a+n.substring(v+1);!o&&c&&(m=Ta(m));var M=i.length+m.length+y.length+(p?0:t.length),x=a>M?new Array(M=a-M+1).join(e):"";return p&&(m=Ta(x+m)),t+=i,n=m+y,("<"===r?t+n+x:">"===r?x+t+n:"^"===r?x.substring(0,M>>=1)+t+n+x.substring(M):t+(p?n:x+n))+h}};var Aa=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,Na=mo.map({b:function(n){return n.toString(2)},c:function(n){return String.fromCharCode(n)},o:function(n){return n.toString(8)},x:function(n){return n.toString(16)},X:function(n){return n.toString(16).toUpperCase()},g:function(n,t){return n.toPrecision(t)},e:function(n,t){return n.toExponential(t)},f:function(n,t){return n.toFixed(t)},r:function(n,t){return(n=mo.round(n,St(n,t))).toFixed(Math.max(0,Math.min(20,St(n*(1+1e-15),t))))}}),Ta=dt;if(Sa){var qa=Sa.length;Ta=function(n){for(var t=n.length,e=[],r=0,u=Sa[0];t>0&&u>0;)e.push(n.substring(t-=u,t+u)),u=Sa[r=(r+1)%qa];return e.reverse().join(wa)}}mo.geo={},kt.prototype={s:0,t:0,add:function(n){At(n,this.t,za),At(za.s,this.s,this),this.s?this.t+=za.t:this.s=za.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var za=new kt;mo.geo.stream=function(n,t){n&&Ca.hasOwnProperty(n.type)?Ca[n.type](n,t):Nt(n,t)};var Ca={Feature:function(n,t){Nt(n.geometry,t)},FeatureCollection:function(n,t){for(var e=n.features,r=-1,u=e.length;++rn?4*Bo+n:n,Ha.lineStart=Ha.lineEnd=Ha.point=c}};mo.geo.bounds=function(){function n(n,t){M.push(x=[s=n,h=n]),f>t&&(f=t),t>g&&(g=t)}function t(t,e){var r=Ct([t*Qo,e*Qo]);if(m){var u=jt(m,r),i=[u[1],-u[0],0],o=jt(i,u);Ft(o),o=Pt(o);var c=t-p,l=c>0?1:-1,d=o[0]*na*l,v=Math.abs(c)>180;if(v^(d>l*p&&l*t>d)){var y=o[1]*na;y>g&&(g=y)}else if(d=(d+360)%360-180,v^(d>l*p&&l*t>d)){var y=-o[1]*na;f>y&&(f=y)}else f>e&&(f=e),e>g&&(g=e);v?p>t?a(s,t)>a(s,h)&&(h=t):a(t,h)>a(s,h)&&(s=t):h>=s?(s>t&&(s=t),t>h&&(h=t)):t>p?a(s,t)>a(s,h)&&(h=t):a(t,h)>a(s,h)&&(s=t)}else n(t,e);m=r,p=t}function e(){b.point=t}function r(){x[0]=s,x[1]=h,b.point=n,m=null}function u(n,e){if(m){var r=n-p;y+=Math.abs(r)>180?r+(r>0?360:-360):r}else d=n,v=e;Ha.point(n,e),t(n,e)}function i(){Ha.lineStart()}function o(){u(d,v),Ha.lineEnd(),Math.abs(y)>Go&&(s=-(h=180)),x[0]=s,x[1]=h,m=null}function a(n,t){return(t-=n)<0?t+360:t}function c(n,t){return n[0]-t[0]}function l(n,t){return t[0]<=t[1]?t[0]<=n&&n<=t[1]:nLa?(s=-(h=180),f=-(g=90)):y>Go?g=90:-Go>y&&(f=-90),x[0]=s,x[1]=h}};return function(n){g=h=-(s=f=1/0),M=[],mo.geo.stream(n,b);var t=M.length;if(t){M.sort(c);for(var e,r=1,u=M[0],i=[u];t>r;++r)e=M[r],l(e[0],u)||l(e[1],u)?(a(u[0],e[1])>a(u[0],u[1])&&(u[1]=e[1]),a(e[0],u[1])>a(u[0],u[1])&&(u[0]=e[0])):i.push(u=e);for(var o,e,p=-1/0,t=i.length-1,r=0,u=i[t];t>=r;u=e,++r)e=i[r],(o=a(u[1],e[0]))>p&&(p=o,s=e[0],h=u[1])}return M=x=null,1/0===s||1/0===f?[[0/0,0/0],[0/0,0/0]]:[[s,f],[h,g]]}}(),mo.geo.centroid=function(n){Fa=Pa=Oa=Ra=Ya=Ia=Ua=Za=Va=Xa=$a=0,mo.geo.stream(n,Ba);var t=Va,e=Xa,r=$a,u=t*t+e*e+r*r;return Ko>u&&(t=Ia,e=Ua,r=Za,Go>Pa&&(t=Oa,e=Ra,r=Ya),u=t*t+e*e+r*r,Ko>u)?[0/0,0/0]:[Math.atan2(e,t)*na,O(r/Math.sqrt(u))*na]};var Fa,Pa,Oa,Ra,Ya,Ia,Ua,Za,Va,Xa,$a,Ba={sphere:c,point:Rt,lineStart:It,lineEnd:Ut,polygonStart:function(){Ba.lineStart=Zt},polygonEnd:function(){Ba.lineStart=It}},Wa=Bt(Vt,Qt,te,[-Bo,-Bo/2]),Ja=1e9;mo.geo.clipExtent=function(){var n,t,e,r,u,i,o={stream:function(n){return u&&(u.valid=!1),u=i(n),u.valid=!0,u},extent:function(a){return arguments.length?(i=re(n=+a[0][0],t=+a[0][1],e=+a[1][0],r=+a[1][1]),u&&(u.valid=!1,u=null),o):[[n,t],[e,r]]}};return o.extent([[0,0],[960,500]])},(mo.geo.conicEqualArea=function(){return oe(ae)}).raw=ae,mo.geo.albers=function(){return mo.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},mo.geo.albersUsa=function(){function n(n){var i=n[0],o=n[1];return t=null,e(i,o),t||(r(i,o),t)||u(i,o),t}var t,e,r,u,i=mo.geo.albers(),o=mo.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),a=mo.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),c={point:function(n,e){t=[n,e]}};return n.invert=function(n){var t=i.scale(),e=i.translate(),r=(n[0]-e[0])/t,u=(n[1]-e[1])/t;return(u>=.12&&.234>u&&r>=-.425&&-.214>r?o:u>=.166&&.234>u&&r>=-.214&&-.115>r?a:i).invert(n)},n.stream=function(n){var t=i.stream(n),e=o.stream(n),r=a.stream(n);return{point:function(n,u){t.point(n,u),e.point(n,u),r.point(n,u)},sphere:function(){t.sphere(),e.sphere(),r.sphere()},lineStart:function(){t.lineStart(),e.lineStart(),r.lineStart()},lineEnd:function(){t.lineEnd(),e.lineEnd(),r.lineEnd()},polygonStart:function(){t.polygonStart(),e.polygonStart(),r.polygonStart()},polygonEnd:function(){t.polygonEnd(),e.polygonEnd(),r.polygonEnd()}}},n.precision=function(t){return arguments.length?(i.precision(t),o.precision(t),a.precision(t),n):i.precision()},n.scale=function(t){return arguments.length?(i.scale(t),o.scale(.35*t),a.scale(t),n.translate(i.translate())):i.scale()},n.translate=function(t){if(!arguments.length)return i.translate();var l=i.scale(),s=+t[0],f=+t[1];return e=i.translate(t).clipExtent([[s-.455*l,f-.238*l],[s+.455*l,f+.238*l]]).stream(c).point,r=o.translate([s-.307*l,f+.201*l]).clipExtent([[s-.425*l+Go,f+.12*l+Go],[s-.214*l-Go,f+.234*l-Go]]).stream(c).point,u=a.translate([s-.205*l,f+.212*l]).clipExtent([[s-.214*l+Go,f+.166*l+Go],[s-.115*l-Go,f+.234*l-Go]]).stream(c).point,n},n.scale(1070)};var Ga,Ka,Qa,nc,tc,ec,rc={point:c,lineStart:c,lineEnd:c,polygonStart:function(){Ka=0,rc.lineStart=ce},polygonEnd:function(){rc.lineStart=rc.lineEnd=rc.point=c,Ga+=Math.abs(Ka/2)}},uc={point:le,lineStart:c,lineEnd:c,polygonStart:c,polygonEnd:c},ic={point:he,lineStart:ge,lineEnd:pe,polygonStart:function(){ic.lineStart=de},polygonEnd:function(){ic.point=he,ic.lineStart=ge,ic.lineEnd=pe}};mo.geo.transform=function(n){return{stream:function(t){var e=new ye(t);for(var r in n)e[r]=n[r];return e}}},ye.prototype={point:function(n,t){this.stream.point(n,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}},mo.geo.path=function(){function n(n){return n&&("function"==typeof a&&i.pointRadius(+a.apply(this,arguments)),o&&o.valid||(o=u(i)),mo.geo.stream(n,o)),i.result()}function t(){return o=null,n}var e,r,u,i,o,a=4.5;return n.area=function(n){return Ga=0,mo.geo.stream(n,u(rc)),Ga},n.centroid=function(n){return Oa=Ra=Ya=Ia=Ua=Za=Va=Xa=$a=0,mo.geo.stream(n,u(ic)),$a?[Va/$a,Xa/$a]:Za?[Ia/Za,Ua/Za]:Ya?[Oa/Ya,Ra/Ya]:[0/0,0/0]},n.bounds=function(n){return tc=ec=-(Qa=nc=1/0),mo.geo.stream(n,u(uc)),[[Qa,nc],[tc,ec]]},n.projection=function(n){return arguments.length?(u=(e=n)?n.stream||Me(n):dt,t()):e},n.context=function(n){return arguments.length?(i=null==(r=n)?new se:new ve(n),"function"!=typeof a&&i.pointRadius(a),t()):r},n.pointRadius=function(t){return arguments.length?(a="function"==typeof t?t:(i.pointRadius(+t),+t),n):a},n.projection(mo.geo.albersUsa()).context(null)},mo.geo.projection=xe,mo.geo.projectionMutator=be,(mo.geo.equirectangular=function(){return xe(we)}).raw=we.invert=we,mo.geo.rotation=function(n){function t(t){return t=n(t[0]*Qo,t[1]*Qo),t[0]*=na,t[1]*=na,t}return n=Ee(n[0]%360*Qo,n[1]*Qo,n.length>2?n[2]*Qo:0),t.invert=function(t){return t=n.invert(t[0]*Qo,t[1]*Qo),t[0]*=na,t[1]*=na,t},t},Se.invert=we,mo.geo.circle=function(){function n(){var n="function"==typeof r?r.apply(this,arguments):r,t=Ee(-n[0]*Qo,-n[1]*Qo,0).invert,u=[];return e(null,null,1,{point:function(n,e){u.push(n=t(n,e)),n[0]*=na,n[1]*=na}}),{type:"Polygon",coordinates:[u]}}var t,e,r=[0,0],u=6;return n.origin=function(t){return arguments.length?(r=t,n):r},n.angle=function(r){return arguments.length?(e=Te((t=+r)*Qo,u*Qo),n):t},n.precision=function(r){return arguments.length?(e=Te(t*Qo,(u=+r)*Qo),n):u},n.angle(90)},mo.geo.distance=function(n,t){var e,r=(t[0]-n[0])*Qo,u=n[1]*Qo,i=t[1]*Qo,o=Math.sin(r),a=Math.cos(r),c=Math.sin(u),l=Math.cos(u),s=Math.sin(i),f=Math.cos(i);return Math.atan2(Math.sqrt((e=f*o)*e+(e=l*s-c*f*a)*e),c*s+l*f*a)},mo.geo.graticule=function(){function n(){return{type:"MultiLineString",coordinates:t()}}function t(){return mo.range(Math.ceil(i/v)*v,u,v).map(h).concat(mo.range(Math.ceil(l/m)*m,c,m).map(g)).concat(mo.range(Math.ceil(r/p)*p,e,p).filter(function(n){return Math.abs(n%v)>Go +}).map(s)).concat(mo.range(Math.ceil(a/d)*d,o,d).filter(function(n){return Math.abs(n%m)>Go}).map(f))}var e,r,u,i,o,a,c,l,s,f,h,g,p=10,d=p,v=90,m=360,y=2.5;return n.lines=function(){return t().map(function(n){return{type:"LineString",coordinates:n}})},n.outline=function(){return{type:"Polygon",coordinates:[h(i).concat(g(c).slice(1),h(u).reverse().slice(1),g(l).reverse().slice(1))]}},n.extent=function(t){return arguments.length?n.majorExtent(t).minorExtent(t):n.minorExtent()},n.majorExtent=function(t){return arguments.length?(i=+t[0][0],u=+t[1][0],l=+t[0][1],c=+t[1][1],i>u&&(t=i,i=u,u=t),l>c&&(t=l,l=c,c=t),n.precision(y)):[[i,l],[u,c]]},n.minorExtent=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],a=+t[0][1],o=+t[1][1],r>e&&(t=r,r=e,e=t),a>o&&(t=a,a=o,o=t),n.precision(y)):[[r,a],[e,o]]},n.step=function(t){return arguments.length?n.majorStep(t).minorStep(t):n.minorStep()},n.majorStep=function(t){return arguments.length?(v=+t[0],m=+t[1],n):[v,m]},n.minorStep=function(t){return arguments.length?(p=+t[0],d=+t[1],n):[p,d]},n.precision=function(t){return arguments.length?(y=+t,s=ze(a,o,90),f=Ce(r,e,y),h=ze(l,c,90),g=Ce(i,u,y),n):y},n.majorExtent([[-180,-90+Go],[180,90-Go]]).minorExtent([[-180,-80-Go],[180,80+Go]])},mo.geo.greatArc=function(){function n(){return{type:"LineString",coordinates:[t||r.apply(this,arguments),e||u.apply(this,arguments)]}}var t,e,r=De,u=je;return n.distance=function(){return mo.geo.distance(t||r.apply(this,arguments),e||u.apply(this,arguments))},n.source=function(e){return arguments.length?(r=e,t="function"==typeof e?null:e,n):r},n.target=function(t){return arguments.length?(u=t,e="function"==typeof t?null:t,n):u},n.precision=function(){return arguments.length?n:0},n},mo.geo.interpolate=function(n,t){return Le(n[0]*Qo,n[1]*Qo,t[0]*Qo,t[1]*Qo)},mo.geo.length=function(n){return oc=0,mo.geo.stream(n,ac),oc};var oc,ac={sphere:c,point:c,lineStart:He,lineEnd:c,polygonStart:c,polygonEnd:c},cc=Fe(function(n){return Math.sqrt(2/(1+n))},function(n){return 2*Math.asin(n/2)});(mo.geo.azimuthalEqualArea=function(){return xe(cc)}).raw=cc;var lc=Fe(function(n){var t=Math.acos(n);return t&&t/Math.sin(t)},dt);(mo.geo.azimuthalEquidistant=function(){return xe(lc)}).raw=lc,(mo.geo.conicConformal=function(){return oe(Pe)}).raw=Pe,(mo.geo.conicEquidistant=function(){return oe(Oe)}).raw=Oe;var sc=Fe(function(n){return 1/n},Math.atan);(mo.geo.gnomonic=function(){return xe(sc)}).raw=sc,Re.invert=function(n,t){return[n,2*Math.atan(Math.exp(t))-Jo]},(mo.geo.mercator=function(){return Ye(Re)}).raw=Re;var fc=Fe(function(){return 1},Math.asin);(mo.geo.orthographic=function(){return xe(fc)}).raw=fc;var hc=Fe(function(n){return 1/(1+n)},function(n){return 2*Math.atan(n)});(mo.geo.stereographic=function(){return xe(hc)}).raw=hc,Ie.invert=function(n,t){return[Math.atan2(R(n),Math.cos(t)),O(Math.sin(t)/Y(n))]},(mo.geo.transverseMercator=function(){return Ye(Ie)}).raw=Ie,mo.geom={},mo.svg={},mo.svg.line=function(){return Ue(dt)};var gc=mo.map({linear:Xe,"linear-closed":$e,step:Be,"step-before":We,"step-after":Je,basis:er,"basis-open":rr,"basis-closed":ur,bundle:ir,cardinal:Qe,"cardinal-open":Ge,"cardinal-closed":Ke,monotone:fr});gc.forEach(function(n,t){t.key=n,t.closed=/-closed$/.test(n)});var pc=[0,2/3,1/3,0],dc=[0,1/3,2/3,0],vc=[0,1/6,2/3,1/6];mo.geom.hull=function(n){function t(n){if(n.length<3)return[];var t,u,i,o,a,c,l,s,f,h,g,p,d=pt(e),v=pt(r),m=n.length,y=m-1,M=[],x=[],b=0;if(d===Ze&&r===Ve)t=n;else for(i=0,t=[];m>i;++i)t.push([+d.call(this,u=n[i],i),+v.call(this,u,i)]);for(i=1;m>i;++i)(t[i][1]i;++i)i!==b&&(c=t[i][1]-t[b][1],a=t[i][0]-t[b][0],M.push({angle:Math.atan2(c,a),index:i}));for(M.sort(function(n,t){return n.angle-t.angle}),g=M[0].angle,h=M[0].index,f=0,i=1;y>i;++i){if(o=M[i].index,g==M[i].angle){if(a=t[h][0]-t[b][0],c=t[h][1]-t[b][1],l=t[o][0]-t[b][0],s=t[o][1]-t[b][1],a*a+c*c>=l*l+s*s){M[i].index=-1;continue}M[f].index=-1}g=M[i].angle,f=i,h=o}for(x.push(b),i=0,o=0;2>i;++o)M[o].index>-1&&(x.push(M[o].index),i++);for(p=x.length;y>o;++o)if(!(M[o].index<0)){for(;!hr(x[p-2],x[p-1],M[o].index,t);)--p;x[p++]=M[o].index}var _=[];for(i=p-1;i>=0;--i)_.push(n[x[i]]);return _}var e=Ze,r=Ve;return arguments.length?t(n):(t.x=function(n){return arguments.length?(e=n,t):e},t.y=function(n){return arguments.length?(r=n,t):r},t)},mo.geom.polygon=function(n){return Lo(n,mc),n};var mc=mo.geom.polygon.prototype=[];mc.area=function(){for(var n,t=-1,e=this.length,r=this[e-1],u=0;++ta;a++)e.push([u,t[a],t[a+1]])}),e},mo.geom.voronoi=function(n){function t(n){var t,i,o,a=n.map(function(){return[]}),c=pt(e),l=pt(r),s=n.length,f=1e6;if(c===Ze&&l===Ve)t=n;else for(t=new Array(s),o=0;s>o;++o)t[o]=[+c.call(this,i=n[o],o),+l.call(this,i,o)];if(vr(t,function(n){var t,e,r,u,i,o;1===n.a&&n.b>=0?(t=n.ep.r,e=n.ep.l):(t=n.ep.l,e=n.ep.r),1===n.a?(i=t?t.y:-f,r=n.c-n.b*i,o=e?e.y:f,u=n.c-n.b*o):(r=t?t.x:-f,i=n.c-n.a*r,u=e?e.x:f,o=n.c-n.a*u);var c=[r,i],l=[u,o];a[n.region.l.index].push(c,l),a[n.region.r.index].push(c,l)}),a=a.map(function(n,e){var r=t[e][0],u=t[e][1],i=n.map(function(n){return Math.atan2(n[0]-r,n[1]-u)}),o=mo.range(n.length).sort(function(n,t){return i[n]-i[t]});return o.filter(function(n,t){return!t||i[n]-i[o[t-1]]>Go}).map(function(t){return n[t]})}),a.forEach(function(n,e){var r=n.length;if(!r)return n.push([-f,-f],[-f,f],[f,f],[f,-f]);if(!(r>2)){var u=t[e],i=n[0],o=n[1],a=u[0],c=u[1],l=i[0],s=i[1],h=o[0],g=o[1],p=Math.abs(h-l),d=g-s;if(Math.abs(d)c?-f:f;n.push([-f,v],[f,v])}else if(Go>p){var m=l>a?-f:f;n.push([m,-f],[m,f])}else{var v=(l-a)*(g-s)>(h-l)*(s-c)?f:-f,y=Math.abs(d)-p;Math.abs(y)d?v:-v,v]):(y>0&&(v*=-1),n.push([-f,v],[f,v]))}}}),u)for(o=0;s>o;++o)u.clip(a[o]);for(o=0;s>o;++o)a[o].point=n[o];return a}var e=Ze,r=Ve,u=null;return arguments.length?t(n):(t.x=function(n){return arguments.length?(e=n,t):e},t.y=function(n){return arguments.length?(r=n,t):r},t.clipExtent=function(n){if(!arguments.length)return u&&[u[0],u[2]];if(null==n)u=null;else{var e=+n[0][0],r=+n[0][1],i=+n[1][0],o=+n[1][1];u=mo.geom.polygon([[e,r],[e,o],[i,o],[i,r]])}return t},t.size=function(n){return arguments.length?t.clipExtent(n&&[[0,0],n]):u&&u[2]},t.links=function(n){var t,u,i,o=n.map(function(){return[]}),a=[],c=pt(e),l=pt(r),s=n.length;if(c===Ze&&l===Ve)t=n;else for(t=new Array(s),i=0;s>i;++i)t[i]=[+c.call(this,u=n[i],i),+l.call(this,u,i)];return vr(t,function(t){var e=t.region.l.index,r=t.region.r.index;o[e][r]||(o[e][r]=o[r][e]=!0,a.push({source:n[e],target:n[r]}))}),a},t.triangles=function(n){if(e===Ze&&r===Ve)return mo.geom.delaunay(n);for(var t,u=new Array(c),i=pt(e),o=pt(r),a=-1,c=n.length;++a=l,h=r>=s,g=(h<<1)+f;n.leaf=!1,n=n.nodes[g]||(n.nodes[g]=Mr()),f?u=l:a=l,h?o=s:c=s,i(n,t,e,r,u,o,a,c)}var s,f,h,g,p,d,v,m,y,M=pt(a),x=pt(c);if(null!=t)d=t,v=e,m=r,y=u;else if(m=y=-(d=v=1/0),f=[],h=[],p=n.length,o)for(g=0;p>g;++g)s=n[g],s.xm&&(m=s.x),s.y>y&&(y=s.y),f.push(s.x),h.push(s.y);else for(g=0;p>g;++g){var b=+M(s=n[g],g),_=+x(s,g);d>b&&(d=b),v>_&&(v=_),b>m&&(m=b),_>y&&(y=_),f.push(b),h.push(_)}var w=m-d,S=y-v;w>S?y=v+w:m=d+S;var E=Mr();if(E.add=function(n){i(E,n,+M(n,++g),+x(n,g),d,v,m,y)},E.visit=function(n){xr(n,E,d,v,m,y)},g=-1,null==t){for(;++g=0?n.substring(0,t):n,r=t>=0?n.substring(t+1):"in";return e=bc.get(e)||xc,r=_c.get(r)||dt,Ar(r(e.apply(null,Array.prototype.slice.call(arguments,1))))},mo.interpolateHcl=Rr,mo.interpolateHsl=Yr,mo.interpolateLab=Ir,mo.interpolateRound=Ur,mo.transform=function(n){var t=xo.createElementNS(mo.ns.prefix.svg,"g");return(mo.transform=function(n){if(null!=n){t.setAttribute("transform",n);var e=t.transform.baseVal.consolidate()}return new Zr(e?e.matrix:wc)})(n)},Zr.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var wc={a:1,b:0,c:0,d:1,e:0,f:0};mo.interpolateTransform=Br,mo.layout={},mo.layout.bundle=function(){return function(n){for(var t=[],e=-1,r=n.length;++e(u-e)*a){var c=t.charge*a*a;return n.px-=i*c,n.py-=o*c,!0}if(t.point&&isFinite(a)){var c=t.pointCharge*a*a;n.px-=i*c,n.py-=o*c}}return!t.charge}}function t(n){n.px=mo.event.x,n.py=mo.event.y,a.resume()}var e,r,u,i,o,a={},c=mo.dispatch("start","tick","end"),l=[1,1],s=.9,f=Sc,h=Ec,g=-30,p=.1,d=.8,v=[],m=[];return a.tick=function(){if((r*=.99)<.005)return c.end({type:"end",alpha:r=0}),!0;var t,e,a,f,h,d,y,M,x,b=v.length,_=m.length;for(e=0;_>e;++e)a=m[e],f=a.source,h=a.target,M=h.x-f.x,x=h.y-f.y,(d=M*M+x*x)&&(d=r*i[e]*((d=Math.sqrt(d))-u[e])/d,M*=d,x*=d,h.x-=M*(y=f.weight/(h.weight+f.weight)),h.y-=x*y,f.x+=M*(y=1-y),f.y+=x*y);if((y=r*p)&&(M=l[0]/2,x=l[1]/2,e=-1,y))for(;++e0?n:0:n>0&&(c.start({type:"start",alpha:r=n}),mo.timer(a.tick)),a):r},a.start=function(){function n(n,r){for(var u,i=t(e),o=-1,a=i.length;++or;++r)c[r]=[];for(r=0;d>r;++r){var n=m[r];c[n.source.index].push(n.target),c[n.target.index].push(n.source)}}return c[e]}var e,r,c,s,p=v.length,d=m.length,y=l[0],M=l[1];for(e=0;p>e;++e)(s=v[e]).index=e,s.weight=0;for(e=0;d>e;++e)s=m[e],"number"==typeof s.source&&(s.source=v[s.source]),"number"==typeof s.target&&(s.target=v[s.target]),++s.source.weight,++s.target.weight;for(e=0;p>e;++e)s=v[e],isNaN(s.x)&&(s.x=n("x",y)),isNaN(s.y)&&(s.y=n("y",M)),isNaN(s.px)&&(s.px=s.x),isNaN(s.py)&&(s.py=s.y);if(u=[],"function"==typeof f)for(e=0;d>e;++e)u[e]=+f.call(this,m[e],e);else for(e=0;d>e;++e)u[e]=f;if(i=[],"function"==typeof h)for(e=0;d>e;++e)i[e]=+h.call(this,m[e],e);else for(e=0;d>e;++e)i[e]=h;if(o=[],"function"==typeof g)for(e=0;p>e;++e)o[e]=+g.call(this,v[e],e);else for(e=0;p>e;++e)o[e]=g;return a.resume()},a.resume=function(){return a.alpha(.1)},a.stop=function(){return a.alpha(0)},a.drag=function(){return e||(e=mo.behavior.drag().origin(dt).on("dragstart.force",nu).on("drag.force",t).on("dragend.force",tu)),arguments.length?(this.on("mouseover.force",eu).on("mouseout.force",ru).call(e),void 0):e},mo.rebind(a,c,"on")};var Sc=20,Ec=1;mo.layout.hierarchy=function(){function n(t,o,a){var c=u.call(e,t,o);if(t.depth=o,a.push(t),c&&(l=c.length)){for(var l,s,f=-1,h=t.children=[],g=0,p=o+1;++fg;++g)for(u.call(n,l[0][g],p=d[g],s[0][g][1]),h=1;v>h;++h)u.call(n,l[h][g],p+=s[h-1][g][1],s[h][g][1]);return a}var t=dt,e=gu,r=pu,u=hu,i=su,o=fu;return n.values=function(e){return arguments.length?(t=e,n):t},n.order=function(t){return arguments.length?(e="function"==typeof t?t:Ac.get(t)||gu,n):e},n.offset=function(t){return arguments.length?(r="function"==typeof t?t:Nc.get(t)||pu,n):r},n.x=function(t){return arguments.length?(i=t,n):i},n.y=function(t){return arguments.length?(o=t,n):o},n.out=function(t){return arguments.length?(u=t,n):u},n};var Ac=mo.map({"inside-out":function(n){var t,e,r=n.length,u=n.map(du),i=n.map(vu),o=mo.range(r).sort(function(n,t){return u[n]-u[t]}),a=0,c=0,l=[],s=[];for(t=0;r>t;++t)e=o[t],c>a?(a+=i[e],l.push(e)):(c+=i[e],s.push(e));return s.reverse().concat(l)},reverse:function(n){return mo.range(n.length).reverse()},"default":gu}),Nc=mo.map({silhouette:function(n){var t,e,r,u=n.length,i=n[0].length,o=[],a=0,c=[];for(e=0;i>e;++e){for(t=0,r=0;u>t;t++)r+=n[t][e][1];r>a&&(a=r),o.push(r)}for(e=0;i>e;++e)c[e]=(a-o[e])/2;return c},wiggle:function(n){var t,e,r,u,i,o,a,c,l,s=n.length,f=n[0],h=f.length,g=[];for(g[0]=c=l=0,e=1;h>e;++e){for(t=0,u=0;s>t;++t)u+=n[t][e][1];for(t=0,i=0,a=f[e][0]-f[e-1][0];s>t;++t){for(r=0,o=(n[t][e][1]-n[t][e-1][1])/(2*a);t>r;++r)o+=(n[r][e][1]-n[r][e-1][1])/a;i+=o*n[t][e][1]}g[e]=c-=u?i/u*a:0,l>c&&(l=c)}for(e=0;h>e;++e)g[e]-=l;return g},expand:function(n){var t,e,r,u=n.length,i=n[0].length,o=1/u,a=[];for(e=0;i>e;++e){for(t=0,r=0;u>t;t++)r+=n[t][e][1];if(r)for(t=0;u>t;t++)n[t][e][1]/=r;else for(t=0;u>t;t++)n[t][e][1]=o}for(e=0;i>e;++e)a[e]=0;return a},zero:pu});mo.layout.histogram=function(){function n(n,i){for(var o,a,c=[],l=n.map(e,this),s=r.call(this,l,i),f=u.call(this,s,l,i),i=-1,h=l.length,g=f.length-1,p=t?1:1/h;++i0)for(i=-1;++i=s[0]&&a<=s[1]&&(o=c[mo.bisect(f,a,1,g)-1],o.y+=p,o.push(n[i]));return c}var t=!0,e=Number,r=xu,u=yu;return n.value=function(t){return arguments.length?(e=t,n):e},n.range=function(t){return arguments.length?(r=pt(t),n):r},n.bins=function(t){return arguments.length?(u="number"==typeof t?function(n){return Mu(n,t)}:pt(t),n):u},n.frequency=function(e){return arguments.length?(t=!!e,n):t},n},mo.layout.tree=function(){function n(n,i){function o(n,t){var r=n.children,u=n._tree;if(r&&(i=r.length)){for(var i,a,l,s=r[0],f=s,h=-1;++h0&&(qu(zu(a,n,r),n,u),l+=u,s+=u),f+=a._tree.mod,l+=i._tree.mod,h+=c._tree.mod,s+=o._tree.mod;a&&!wu(o)&&(o._tree.thread=a,o._tree.mod+=f-s),i&&!_u(c)&&(c._tree.thread=i,c._tree.mod+=l-h,r=n)}return r}var l=t.call(this,n,i),s=l[0];Nu(s,function(n,t){n._tree={ancestor:n,prelim:0,mod:0,change:0,shift:0,number:t?t._tree.number+1:0}}),o(s),a(s,-s._tree.prelim);var f=Su(s,ku),h=Su(s,Eu),g=Su(s,Au),p=f.x-e(f,h)/2,d=h.x+e(h,f)/2,v=g.depth||1;return Nu(s,u?function(n){n.x*=r[0],n.y=n.depth*r[1],delete n._tree}:function(n){n.x=(n.x-p)/(d-p)*r[0],n.y=n.depth/v*r[1],delete n._tree}),l}var t=mo.layout.hierarchy().sort(null).value(null),e=bu,r=[1,1],u=!1;return n.separation=function(t){return arguments.length?(e=t,n):e},n.size=function(t){return arguments.length?(u=null==(r=t),n):u?null:r},n.nodeSize=function(t){return arguments.length?(u=null!=(r=t),n):u?r:null},iu(n,t)},mo.layout.pack=function(){function n(n,i){var o=e.call(this,n,i),a=o[0],c=u[0],l=u[1],s=null==t?Math.sqrt:"function"==typeof t?t:function(){return t};if(a.x=a.y=0,Nu(a,function(n){n.r=+s(n.value)}),Nu(a,Hu),r){var f=r*(t?1:Math.max(2*a.r/c,2*a.r/l))/2;Nu(a,function(n){n.r+=f}),Nu(a,Hu),Nu(a,function(n){n.r-=f})}return Ou(a,c/2,l/2,t?1:1/Math.max(2*a.r/c,2*a.r/l)),o}var t,e=mo.layout.hierarchy().sort(Cu),r=0,u=[1,1];return n.size=function(t){return arguments.length?(u=t,n):u},n.radius=function(e){return arguments.length?(t=null==e||"function"==typeof e?e:+e,n):t},n.padding=function(t){return arguments.length?(r=+t,n):r},iu(n,e)},mo.layout.cluster=function(){function n(n,i){var o,a=t.call(this,n,i),c=a[0],l=0;Nu(c,function(n){var t=n.children;t&&t.length?(n.x=Iu(t),n.y=Yu(t)):(n.x=o?l+=e(n,o):0,n.y=0,o=n)});var s=Uu(c),f=Zu(c),h=s.x-e(s,f)/2,g=f.x+e(f,s)/2;return Nu(c,u?function(n){n.x=(n.x-c.x)*r[0],n.y=(c.y-n.y)*r[1]}:function(n){n.x=(n.x-h)/(g-h)*r[0],n.y=(1-(c.y?n.y/c.y:1))*r[1]}),a}var t=mo.layout.hierarchy().sort(null).value(null),e=bu,r=[1,1],u=!1;return n.separation=function(t){return arguments.length?(e=t,n):e},n.size=function(t){return arguments.length?(u=null==(r=t),n):u?null:r},n.nodeSize=function(t){return arguments.length?(u=null!=(r=t),n):u?r:null},iu(n,t)},mo.layout.treemap=function(){function n(n,t){for(var e,r,u=-1,i=n.length;++ut?0:t),e.area=isNaN(r)||0>=r?0:r}function t(e){var i=e.children;if(i&&i.length){var o,a,c,l=f(e),s=[],h=i.slice(),p=1/0,d="slice"===g?l.dx:"dice"===g?l.dy:"slice-dice"===g?1&e.depth?l.dy:l.dx:Math.min(l.dx,l.dy);for(n(h,l.dx*l.dy/e.value),s.area=0;(c=h.length)>0;)s.push(o=h[c-1]),s.area+=o.area,"squarify"!==g||(a=r(s,d))<=p?(h.pop(),p=a):(s.area-=s.pop().area,u(s,d,l,!1),d=Math.min(l.dx,l.dy),s.length=s.area=0,p=1/0);s.length&&(u(s,d,l,!0),s.length=s.area=0),i.forEach(t)}}function e(t){var r=t.children;if(r&&r.length){var i,o=f(t),a=r.slice(),c=[];for(n(a,o.dx*o.dy/t.value),c.area=0;i=a.pop();)c.push(i),c.area+=i.area,null!=i.z&&(u(c,i.z?o.dx:o.dy,o,!a.length),c.length=c.area=0);r.forEach(e)}}function r(n,t){for(var e,r=n.area,u=0,i=1/0,o=-1,a=n.length;++oe&&(i=e),e>u&&(u=e));return r*=r,t*=t,r?Math.max(t*u*p/r,r/(t*i*p)):1/0}function u(n,t,e,r){var u,i=-1,o=n.length,a=e.x,l=e.y,s=t?c(n.area/t):0;if(t==e.dx){for((r||s>e.dy)&&(s=e.dy);++ie.dx)&&(s=e.dx);++ie&&(t=1),1>e&&(n=0),function(){var e,r,u;do e=2*Math.random()-1,r=2*Math.random()-1,u=e*e+r*r;while(!u||u>1);return n+t*e*Math.sqrt(-2*Math.log(u)/u)}},logNormal:function(){var n=mo.random.normal.apply(mo,arguments);return function(){return Math.exp(n())}},irwinHall:function(n){return function(){for(var t=0,e=0;n>e;e++)t+=Math.random();return t/n}}},mo.scale={};var Tc={floor:dt,ceil:dt};mo.scale.linear=function(){return Qu([0,1],[0,1],Er,!1)},mo.scale.log=function(){return ii(mo.scale.linear().domain([0,1]),10,!0,[1,10])};var qc=mo.format(".0e"),zc={floor:function(n){return-Math.ceil(-n)},ceil:function(n){return-Math.floor(-n)}};mo.scale.pow=function(){return oi(mo.scale.linear(),1,[0,1])},mo.scale.sqrt=function(){return mo.scale.pow().exponent(.5)},mo.scale.ordinal=function(){return ci([],{t:"range",a:[[]]})},mo.scale.category10=function(){return mo.scale.ordinal().range(Cc)},mo.scale.category20=function(){return mo.scale.ordinal().range(Dc)},mo.scale.category20b=function(){return mo.scale.ordinal().range(jc)},mo.scale.category20c=function(){return mo.scale.ordinal().range(Lc)};var Cc=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(it),Dc=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(it),jc=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(it),Lc=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(it);mo.scale.quantile=function(){return li([],[])},mo.scale.quantize=function(){return si(0,1,[0,1])},mo.scale.threshold=function(){return fi([.5],[0,1])},mo.scale.identity=function(){return hi([0,1])},mo.svg.arc=function(){function n(){var n=t.apply(this,arguments),i=e.apply(this,arguments),o=r.apply(this,arguments)+Hc,a=u.apply(this,arguments)+Hc,c=(o>a&&(c=o,o=a,a=c),a-o),l=Bo>c?"0":"1",s=Math.cos(o),f=Math.sin(o),h=Math.cos(a),g=Math.sin(a);return c>=Fc?n?"M0,"+i+"A"+i+","+i+" 0 1,1 0,"+-i+"A"+i+","+i+" 0 1,1 0,"+i+"M0,"+n+"A"+n+","+n+" 0 1,0 0,"+-n+"A"+n+","+n+" 0 1,0 0,"+n+"Z":"M0,"+i+"A"+i+","+i+" 0 1,1 0,"+-i+"A"+i+","+i+" 0 1,1 0,"+i+"Z":n?"M"+i*s+","+i*f+"A"+i+","+i+" 0 "+l+",1 "+i*h+","+i*g+"L"+n*h+","+n*g+"A"+n+","+n+" 0 "+l+",0 "+n*s+","+n*f+"Z":"M"+i*s+","+i*f+"A"+i+","+i+" 0 "+l+",1 "+i*h+","+i*g+"L0,0"+"Z"}var t=gi,e=pi,r=di,u=vi;return n.innerRadius=function(e){return arguments.length?(t=pt(e),n):t},n.outerRadius=function(t){return arguments.length?(e=pt(t),n):e},n.startAngle=function(t){return arguments.length?(r=pt(t),n):r},n.endAngle=function(t){return arguments.length?(u=pt(t),n):u},n.centroid=function(){var n=(t.apply(this,arguments)+e.apply(this,arguments))/2,i=(r.apply(this,arguments)+u.apply(this,arguments))/2+Hc;return[Math.cos(i)*n,Math.sin(i)*n]},n};var Hc=-Jo,Fc=Wo-Go;mo.svg.line.radial=function(){var n=Ue(mi);return n.radius=n.x,delete n.x,n.angle=n.y,delete n.y,n},We.reverse=Je,Je.reverse=We,mo.svg.area=function(){return yi(dt)},mo.svg.area.radial=function(){var n=yi(mi);return n.radius=n.x,delete n.x,n.innerRadius=n.x0,delete n.x0,n.outerRadius=n.x1,delete n.x1,n.angle=n.y,delete n.y,n.startAngle=n.y0,delete n.y0,n.endAngle=n.y1,delete n.y1,n},mo.svg.chord=function(){function n(n,a){var c=t(this,i,n,a),l=t(this,o,n,a);return"M"+c.p0+r(c.r,c.p1,c.a1-c.a0)+(e(c,l)?u(c.r,c.p1,c.r,c.p0):u(c.r,c.p1,l.r,l.p0)+r(l.r,l.p1,l.a1-l.a0)+u(l.r,l.p1,c.r,c.p0))+"Z"}function t(n,t,e,r){var u=t.call(n,e,r),i=a.call(n,u,r),o=c.call(n,u,r)+Hc,s=l.call(n,u,r)+Hc;return{r:i,a0:o,a1:s,p0:[i*Math.cos(o),i*Math.sin(o)],p1:[i*Math.cos(s),i*Math.sin(s)]}}function e(n,t){return n.a0==t.a0&&n.a1==t.a1}function r(n,t,e){return"A"+n+","+n+" 0 "+ +(e>Bo)+",1 "+t}function u(n,t,e,r){return"Q 0,0 "+r}var i=De,o=je,a=Mi,c=di,l=vi;return n.radius=function(t){return arguments.length?(a=pt(t),n):a},n.source=function(t){return arguments.length?(i=pt(t),n):i},n.target=function(t){return arguments.length?(o=pt(t),n):o},n.startAngle=function(t){return arguments.length?(c=pt(t),n):c},n.endAngle=function(t){return arguments.length?(l=pt(t),n):l},n},mo.svg.diagonal=function(){function n(n,u){var i=t.call(this,n,u),o=e.call(this,n,u),a=(i.y+o.y)/2,c=[i,{x:i.x,y:a},{x:o.x,y:a},o];return c=c.map(r),"M"+c[0]+"C"+c[1]+" "+c[2]+" "+c[3]}var t=De,e=je,r=xi;return n.source=function(e){return arguments.length?(t=pt(e),n):t},n.target=function(t){return arguments.length?(e=pt(t),n):e},n.projection=function(t){return arguments.length?(r=t,n):r},n},mo.svg.diagonal.radial=function(){var n=mo.svg.diagonal(),t=xi,e=n.projection;return n.projection=function(n){return arguments.length?e(bi(t=n)):t},n},mo.svg.symbol=function(){function n(n,r){return(Pc.get(t.call(this,n,r))||Si)(e.call(this,n,r))}var t=wi,e=_i;return n.type=function(e){return arguments.length?(t=pt(e),n):t},n.size=function(t){return arguments.length?(e=pt(t),n):e},n};var Pc=mo.map({circle:Si,cross:function(n){var t=Math.sqrt(n/5)/2;return"M"+-3*t+","+-t+"H"+-t+"V"+-3*t+"H"+t+"V"+-t+"H"+3*t+"V"+t+"H"+t+"V"+3*t+"H"+-t+"V"+t+"H"+-3*t+"Z"},diamond:function(n){var t=Math.sqrt(n/(2*Ic)),e=t*Ic;return"M0,"+-t+"L"+e+",0"+" 0,"+t+" "+-e+",0"+"Z"},square:function(n){var t=Math.sqrt(n)/2;return"M"+-t+","+-t+"L"+t+","+-t+" "+t+","+t+" "+-t+","+t+"Z"},"triangle-down":function(n){var t=Math.sqrt(n/Yc),e=t*Yc/2;return"M0,"+e+"L"+t+","+-e+" "+-t+","+-e+"Z"},"triangle-up":function(n){var t=Math.sqrt(n/Yc),e=t*Yc/2;return"M0,"+-e+"L"+t+","+e+" "+-t+","+e+"Z"}});mo.svg.symbolTypes=Pc.keys();var Oc,Rc,Yc=Math.sqrt(3),Ic=Math.tan(30*Qo),Uc=[],Zc=0;Uc.call=Ro.call,Uc.empty=Ro.empty,Uc.node=Ro.node,Uc.size=Ro.size,mo.transition=function(n){return arguments.length?Oc?n.transition():n:Uo.transition()},mo.transition.prototype=Uc,Uc.select=function(n){var t,e,r,u=this.id,i=[];n=d(n);for(var o=-1,a=this.length;++oi;i++){u.push(t=[]);for(var e=this[i],a=0,c=e.length;c>a;a++)(r=e[a])&&n.call(r,r.__data__,a)&&t.push(r)}return Ei(u,this.id)},Uc.tween=function(n,t){var e=this.id;return arguments.length<2?this.node().__transition__[e].tween.get(n):N(this,null==t?function(t){t.__transition__[e].tween.remove(n)}:function(r){r.__transition__[e].tween.set(n,t)})},Uc.attr=function(n,t){function e(){this.removeAttribute(a)}function r(){this.removeAttributeNS(a.space,a.local)}function u(n){return null==n?e:(n+="",function(){var t,e=this.getAttribute(a);return e!==n&&(t=o(e,n),function(n){this.setAttribute(a,t(n))})})}function i(n){return null==n?r:(n+="",function(){var t,e=this.getAttributeNS(a.space,a.local);return e!==n&&(t=o(e,n),function(n){this.setAttributeNS(a.space,a.local,t(n)) +})})}if(arguments.length<2){for(t in n)this.attr(t,n[t]);return this}var o="transform"==n?Br:Er,a=mo.ns.qualify(n);return ki(this,"attr."+n,t,a.local?i:u)},Uc.attrTween=function(n,t){function e(n,e){var r=t.call(this,n,e,this.getAttribute(u));return r&&function(n){this.setAttribute(u,r(n))}}function r(n,e){var r=t.call(this,n,e,this.getAttributeNS(u.space,u.local));return r&&function(n){this.setAttributeNS(u.space,u.local,r(n))}}var u=mo.ns.qualify(n);return this.tween("attr."+n,u.local?r:e)},Uc.style=function(n,t,e){function r(){this.style.removeProperty(n)}function u(t){return null==t?r:(t+="",function(){var r,u=_o.getComputedStyle(this,null).getPropertyValue(n);return u!==t&&(r=Er(u,t),function(t){this.style.setProperty(n,r(t),e)})})}var i=arguments.length;if(3>i){if("string"!=typeof n){2>i&&(t="");for(e in n)this.style(e,n[e],t);return this}e=""}return ki(this,"style."+n,t,u)},Uc.styleTween=function(n,t,e){function r(r,u){var i=t.call(this,r,u,_o.getComputedStyle(this,null).getPropertyValue(n));return i&&function(t){this.style.setProperty(n,i(t),e)}}return arguments.length<3&&(e=""),this.tween("style."+n,r)},Uc.text=function(n){return ki(this,"text",n,Ai)},Uc.remove=function(){return this.each("end.transition",function(){var n;this.__transition__.count<2&&(n=this.parentNode)&&n.removeChild(this)})},Uc.ease=function(n){var t=this.id;return arguments.length<1?this.node().__transition__[t].ease:("function"!=typeof n&&(n=mo.ease.apply(mo,arguments)),N(this,function(e){e.__transition__[t].ease=n}))},Uc.delay=function(n){var t=this.id;return N(this,"function"==typeof n?function(e,r,u){e.__transition__[t].delay=+n.call(e,e.__data__,r,u)}:(n=+n,function(e){e.__transition__[t].delay=n}))},Uc.duration=function(n){var t=this.id;return N(this,"function"==typeof n?function(e,r,u){e.__transition__[t].duration=Math.max(1,n.call(e,e.__data__,r,u))}:(n=Math.max(1,n),function(e){e.__transition__[t].duration=n}))},Uc.each=function(n,t){var e=this.id;if(arguments.length<2){var r=Rc,u=Oc;Oc=e,N(this,function(t,r,u){Rc=t.__transition__[e],n.call(t,t.__data__,r,u)}),Rc=r,Oc=u}else N(this,function(r){var u=r.__transition__[e];(u.event||(u.event=mo.dispatch("start","end"))).on(n,t)});return this},Uc.transition=function(){for(var n,t,e,r,u=this.id,i=++Zc,o=[],a=0,c=this.length;c>a;a++){o.push(n=[]);for(var t=this[a],l=0,s=t.length;s>l;l++)(e=t[l])&&(r=Object.create(e.__transition__[u]),r.delay+=r.duration,Ni(e,l,i,r)),n.push(e)}return Ei(o,i)},mo.svg.axis=function(){function n(n){n.each(function(){var n,l=mo.select(this),s=this.__chart__||e,f=this.__chart__=e.copy(),h=null==c?f.ticks?f.ticks.apply(f,a):f.domain():c,g=null==t?f.tickFormat?f.tickFormat.apply(f,a):dt:t,p=l.selectAll(".tick").data(h,f),d=p.enter().insert("g",".domain").attr("class","tick").style("opacity",Go),v=mo.transition(p.exit()).style("opacity",Go).remove(),m=mo.transition(p).style("opacity",1),y=Bu(f),M=l.selectAll(".domain").data([0]),x=(M.enter().append("path").attr("class","domain"),mo.transition(M));d.append("line"),d.append("text");var b=d.select("line"),_=m.select("line"),w=p.select("text").text(g),S=d.select("text"),E=m.select("text");switch(r){case"bottom":n=Ti,b.attr("y2",u),S.attr("y",Math.max(u,0)+o),_.attr("x2",0).attr("y2",u),E.attr("x",0).attr("y",Math.max(u,0)+o),w.attr("dy",".71em").style("text-anchor","middle"),x.attr("d","M"+y[0]+","+i+"V0H"+y[1]+"V"+i);break;case"top":n=Ti,b.attr("y2",-u),S.attr("y",-(Math.max(u,0)+o)),_.attr("x2",0).attr("y2",-u),E.attr("x",0).attr("y",-(Math.max(u,0)+o)),w.attr("dy","0em").style("text-anchor","middle"),x.attr("d","M"+y[0]+","+-i+"V0H"+y[1]+"V"+-i);break;case"left":n=qi,b.attr("x2",-u),S.attr("x",-(Math.max(u,0)+o)),_.attr("x2",-u).attr("y2",0),E.attr("x",-(Math.max(u,0)+o)).attr("y",0),w.attr("dy",".32em").style("text-anchor","end"),x.attr("d","M"+-i+","+y[0]+"H0V"+y[1]+"H"+-i);break;case"right":n=qi,b.attr("x2",u),S.attr("x",Math.max(u,0)+o),_.attr("x2",u).attr("y2",0),E.attr("x",Math.max(u,0)+o).attr("y",0),w.attr("dy",".32em").style("text-anchor","start"),x.attr("d","M"+i+","+y[0]+"H0V"+y[1]+"H"+i)}if(f.rangeBand){var k=f.rangeBand()/2,A=function(n){return f(n)+k};d.call(n,A),m.call(n,A)}else d.call(n,s),m.call(n,f),v.call(n,f)})}var t,e=mo.scale.linear(),r=Vc,u=6,i=6,o=3,a=[10],c=null;return n.scale=function(t){return arguments.length?(e=t,n):e},n.orient=function(t){return arguments.length?(r=t in Xc?t+"":Vc,n):r},n.ticks=function(){return arguments.length?(a=arguments,n):a},n.tickValues=function(t){return arguments.length?(c=t,n):c},n.tickFormat=function(e){return arguments.length?(t=e,n):t},n.tickSize=function(t){var e=arguments.length;return e?(u=+t,i=+arguments[e-1],n):u},n.innerTickSize=function(t){return arguments.length?(u=+t,n):u},n.outerTickSize=function(t){return arguments.length?(i=+t,n):i},n.tickPadding=function(t){return arguments.length?(o=+t,n):o},n.tickSubdivide=function(){return arguments.length&&n},n};var Vc="bottom",Xc={top:1,right:1,bottom:1,left:1};mo.svg.brush=function(){function n(i){i.each(function(){var i=mo.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",u).on("touchstart.brush",u),o=i.selectAll(".background").data([0]);o.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),i.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var a=i.selectAll(".resize").data(v,dt);a.exit().remove(),a.enter().append("g").attr("class",function(n){return"resize "+n}).style("cursor",function(n){return $c[n]}).append("rect").attr("x",function(n){return/[ew]$/.test(n)?-3:null}).attr("y",function(n){return/^[ns]/.test(n)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),a.style("display",n.empty()?"none":null);var s,f=mo.transition(i),h=mo.transition(o);c&&(s=Bu(c),h.attr("x",s[0]).attr("width",s[1]-s[0]),e(f)),l&&(s=Bu(l),h.attr("y",s[0]).attr("height",s[1]-s[0]),r(f)),t(f)})}function t(n){n.selectAll(".resize").attr("transform",function(n){return"translate("+s[+/e$/.test(n)]+","+h[+/^s/.test(n)]+")"})}function e(n){n.select(".extent").attr("x",s[0]),n.selectAll(".extent,.n>rect,.s>rect").attr("width",s[1]-s[0])}function r(n){n.select(".extent").attr("y",h[0]),n.selectAll(".extent,.e>rect,.w>rect").attr("height",h[1]-h[0])}function u(){function u(){32==mo.event.keyCode&&(N||(M=null,q[0]-=s[1],q[1]-=h[1],N=2),f())}function g(){32==mo.event.keyCode&&2==N&&(q[0]+=s[1],q[1]+=h[1],N=0,f())}function v(){var n=mo.mouse(b),u=!1;x&&(n[0]+=x[0],n[1]+=x[1]),N||(mo.event.altKey?(M||(M=[(s[0]+s[1])/2,(h[0]+h[1])/2]),q[0]=s[+(n[0]f?(u=r,r=f):u=f),g[0]!=r||g[1]!=u?(e?o=null:i=null,g[0]=r,g[1]=u,!0):void 0}function y(){v(),S.style("pointer-events","all").selectAll(".resize").style("display",n.empty()?"none":null),mo.select("body").style("cursor",null),z.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null),T(),w({type:"brushend"})}var M,x,b=this,_=mo.select(mo.event.target),w=a.of(b,arguments),S=mo.select(b),E=_.datum(),k=!/^(n|s)$/.test(E)&&c,A=!/^(e|w)$/.test(E)&&l,N=_.classed("extent"),T=L(),q=mo.mouse(b),z=mo.select(_o).on("keydown.brush",u).on("keyup.brush",g);if(mo.event.changedTouches?z.on("touchmove.brush",v).on("touchend.brush",y):z.on("mousemove.brush",v).on("mouseup.brush",y),S.interrupt().selectAll("*").interrupt(),N)q[0]=s[0]-q[0],q[1]=h[0]-q[1];else if(E){var C=+/w$/.test(E),D=+/^n/.test(E);x=[s[1-C]-q[0],h[1-D]-q[1]],q[0]=s[C],q[1]=h[D]}else mo.event.altKey&&(M=q.slice());S.style("pointer-events","none").selectAll(".resize").style("display",null),mo.select("body").style("cursor",_.style("cursor")),w({type:"brushstart"}),v()}var i,o,a=g(n,"brushstart","brush","brushend"),c=null,l=null,s=[0,0],h=[0,0],p=!0,d=!0,v=Bc[0];return n.event=function(n){n.each(function(){var n=a.of(this,arguments),t={x:s,y:h,i:i,j:o},e=this.__chart__||t;this.__chart__=t,Oc?mo.select(this).transition().each("start.brush",function(){i=e.i,o=e.j,s=e.x,h=e.y,n({type:"brushstart"})}).tween("brush:brush",function(){var e=kr(s,t.x),r=kr(h,t.y);return i=o=null,function(u){s=t.x=e(u),h=t.y=r(u),n({type:"brush",mode:"resize"})}}).each("end.brush",function(){i=t.i,o=t.j,n({type:"brush",mode:"resize"}),n({type:"brushend"})}):(n({type:"brushstart"}),n({type:"brush",mode:"resize"}),n({type:"brushend"}))})},n.x=function(t){return arguments.length?(c=t,v=Bc[!c<<1|!l],n):c},n.y=function(t){return arguments.length?(l=t,v=Bc[!c<<1|!l],n):l},n.clamp=function(t){return arguments.length?(c&&l?(p=!!t[0],d=!!t[1]):c?p=!!t:l&&(d=!!t),n):c&&l?[p,d]:c?p:l?d:null},n.extent=function(t){var e,r,u,a,f;return arguments.length?(c&&(e=t[0],r=t[1],l&&(e=e[0],r=r[0]),i=[e,r],c.invert&&(e=c(e),r=c(r)),e>r&&(f=e,e=r,r=f),(e!=s[0]||r!=s[1])&&(s=[e,r])),l&&(u=t[0],a=t[1],c&&(u=u[1],a=a[1]),o=[u,a],l.invert&&(u=l(u),a=l(a)),u>a&&(f=u,u=a,a=f),(u!=h[0]||a!=h[1])&&(h=[u,a])),n):(c&&(i?(e=i[0],r=i[1]):(e=s[0],r=s[1],c.invert&&(e=c.invert(e),r=c.invert(r)),e>r&&(f=e,e=r,r=f))),l&&(o?(u=o[0],a=o[1]):(u=h[0],a=h[1],l.invert&&(u=l.invert(u),a=l.invert(a)),u>a&&(f=u,u=a,a=f))),c&&l?[[e,u],[r,a]]:c?[e,r]:l&&[u,a])},n.clear=function(){return n.empty()||(s=[0,0],h=[0,0],i=o=null),n},n.empty=function(){return!!c&&s[0]==s[1]||!!l&&h[0]==h[1]},mo.rebind(n,a,"on")};var $c={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},Bc=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]],Wc=mo.time={},Jc=Date,Gc=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];zi.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){Kc.setUTCDate.apply(this._,arguments)},setDay:function(){Kc.setUTCDay.apply(this._,arguments)},setFullYear:function(){Kc.setUTCFullYear.apply(this._,arguments)},setHours:function(){Kc.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){Kc.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){Kc.setUTCMinutes.apply(this._,arguments)},setMonth:function(){Kc.setUTCMonth.apply(this._,arguments)},setSeconds:function(){Kc.setUTCSeconds.apply(this._,arguments)},setTime:function(){Kc.setTime.apply(this._,arguments)}};var Kc=Date.prototype,Qc="%a %b %e %X %Y",nl="%m/%d/%Y",tl="%H:%M:%S",el=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],rl=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],ul=["January","February","March","April","May","June","July","August","September","October","November","December"],il=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];Wc.year=Ci(function(n){return n=Wc.day(n),n.setMonth(0,1),n},function(n,t){n.setFullYear(n.getFullYear()+t)},function(n){return n.getFullYear()}),Wc.years=Wc.year.range,Wc.years.utc=Wc.year.utc.range,Wc.day=Ci(function(n){var t=new Jc(2e3,0);return t.setFullYear(n.getFullYear(),n.getMonth(),n.getDate()),t},function(n,t){n.setDate(n.getDate()+t)},function(n){return n.getDate()-1}),Wc.days=Wc.day.range,Wc.days.utc=Wc.day.utc.range,Wc.dayOfYear=function(n){var t=Wc.year(n);return Math.floor((n-t-6e4*(n.getTimezoneOffset()-t.getTimezoneOffset()))/864e5)},Gc.forEach(function(n,t){n=n.toLowerCase(),t=7-t;var e=Wc[n]=Ci(function(n){return(n=Wc.day(n)).setDate(n.getDate()-(n.getDay()+t)%7),n},function(n,t){n.setDate(n.getDate()+7*Math.floor(t))},function(n){var e=Wc.year(n).getDay();return Math.floor((Wc.dayOfYear(n)+(e+t)%7)/7)-(e!==t)});Wc[n+"s"]=e.range,Wc[n+"s"].utc=e.utc.range,Wc[n+"OfYear"]=function(n){var e=Wc.year(n).getDay();return Math.floor((Wc.dayOfYear(n)+(e+t)%7)/7)}}),Wc.week=Wc.sunday,Wc.weeks=Wc.sunday.range,Wc.weeks.utc=Wc.sunday.utc.range,Wc.weekOfYear=Wc.sundayOfYear,Wc.format=ji;var ol=Hi(el),al=Fi(el),cl=Hi(rl),ll=Fi(rl),sl=Hi(ul),fl=Fi(ul),hl=Hi(il),gl=Fi(il),pl=/^%/,dl={"-":"",_:" ",0:"0"},vl={a:function(n){return rl[n.getDay()]},A:function(n){return el[n.getDay()]},b:function(n){return il[n.getMonth()]},B:function(n){return ul[n.getMonth()]},c:ji(Qc),d:function(n,t){return Pi(n.getDate(),t,2)},e:function(n,t){return Pi(n.getDate(),t,2)},H:function(n,t){return Pi(n.getHours(),t,2)},I:function(n,t){return Pi(n.getHours()%12||12,t,2)},j:function(n,t){return Pi(1+Wc.dayOfYear(n),t,3)},L:function(n,t){return Pi(n.getMilliseconds(),t,3)},m:function(n,t){return Pi(n.getMonth()+1,t,2)},M:function(n,t){return Pi(n.getMinutes(),t,2)},p:function(n){return n.getHours()>=12?"PM":"AM"},S:function(n,t){return Pi(n.getSeconds(),t,2)},U:function(n,t){return Pi(Wc.sundayOfYear(n),t,2)},w:function(n){return n.getDay()},W:function(n,t){return Pi(Wc.mondayOfYear(n),t,2)},x:ji(nl),X:ji(tl),y:function(n,t){return Pi(n.getFullYear()%100,t,2)},Y:function(n,t){return Pi(n.getFullYear()%1e4,t,4)},Z:ao,"%":function(){return"%"}},ml={a:Oi,A:Ri,b:Zi,B:Vi,c:Xi,d:no,e:no,H:eo,I:eo,j:to,L:io,m:Qi,M:ro,p:oo,S:uo,U:Ii,w:Yi,W:Ui,x:$i,X:Bi,y:Ji,Y:Wi,Z:Gi,"%":co},yl=/^\s*\d+/,Ml=mo.map({am:0,pm:1});ji.utc=lo;var xl=lo("%Y-%m-%dT%H:%M:%S.%LZ");ji.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?so:xl,so.parse=function(n){var t=new Date(n);return isNaN(t)?null:t},so.toString=xl.toString,Wc.second=Ci(function(n){return new Jc(1e3*Math.floor(n/1e3))},function(n,t){n.setTime(n.getTime()+1e3*Math.floor(t))},function(n){return n.getSeconds()}),Wc.seconds=Wc.second.range,Wc.seconds.utc=Wc.second.utc.range,Wc.minute=Ci(function(n){return new Jc(6e4*Math.floor(n/6e4))},function(n,t){n.setTime(n.getTime()+6e4*Math.floor(t))},function(n){return n.getMinutes()}),Wc.minutes=Wc.minute.range,Wc.minutes.utc=Wc.minute.utc.range,Wc.hour=Ci(function(n){var t=n.getTimezoneOffset()/60;return new Jc(36e5*(Math.floor(n/36e5-t)+t))},function(n,t){n.setTime(n.getTime()+36e5*Math.floor(t))},function(n){return n.getHours()}),Wc.hours=Wc.hour.range,Wc.hours.utc=Wc.hour.utc.range,Wc.month=Ci(function(n){return n=Wc.day(n),n.setDate(1),n},function(n,t){n.setMonth(n.getMonth()+t)},function(n){return n.getMonth()}),Wc.months=Wc.month.range,Wc.months.utc=Wc.month.utc.range;var bl=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],_l=[[Wc.second,1],[Wc.second,5],[Wc.second,15],[Wc.second,30],[Wc.minute,1],[Wc.minute,5],[Wc.minute,15],[Wc.minute,30],[Wc.hour,1],[Wc.hour,3],[Wc.hour,6],[Wc.hour,12],[Wc.day,1],[Wc.day,2],[Wc.week,1],[Wc.month,1],[Wc.month,3],[Wc.year,1]],wl=[[ji("%Y"),Vt],[ji("%B"),function(n){return n.getMonth()}],[ji("%b %d"),function(n){return 1!=n.getDate()}],[ji("%a %d"),function(n){return n.getDay()&&1!=n.getDate()}],[ji("%I %p"),function(n){return n.getHours()}],[ji("%I:%M"),function(n){return n.getMinutes()}],[ji(":%S"),function(n){return n.getSeconds()}],[ji(".%L"),function(n){return n.getMilliseconds()}]],Sl=go(wl);_l.year=Wc.year,Wc.scale=function(){return fo(mo.scale.linear(),_l,Sl)};var El={range:function(n,t,e){return mo.range(+n,+t,e).map(ho)}},kl=_l.map(function(n){return[n[0].utc,n[1]]}),Al=[[lo("%Y"),Vt],[lo("%B"),function(n){return n.getUTCMonth()}],[lo("%b %d"),function(n){return 1!=n.getUTCDate()}],[lo("%a %d"),function(n){return n.getUTCDay()&&1!=n.getUTCDate()}],[lo("%I %p"),function(n){return n.getUTCHours()}],[lo("%I:%M"),function(n){return n.getUTCMinutes()}],[lo(":%S"),function(n){return n.getUTCSeconds()}],[lo(".%L"),function(n){return n.getUTCMilliseconds()}]],Nl=go(Al);return kl.year=Wc.year.utc,Wc.scale.utc=function(){return fo(mo.scale.linear(),kl,Nl)},mo.text=vt(function(n){return n.responseText}),mo.json=function(n,t){return mt(n,"application/json",po,t)},mo.html=function(n,t){return mt(n,"text/html",vo,t)},mo.xml=vt(function(n){return n.responseXML}),mo}(); +/* + * ----------------------------- JSTORAGE ------------------------------------- + * Simple local storage wrapper to save data on the browser side, supporting + * all major browsers - IE6+, Firefox2+, Safari4+, Chrome4+ and Opera 10.5+ + * + * Copyright (c) 2010 Andris Reinman, andris.reinman@gmail.com + * Project homepage: www.jstorage.info + * + * Licensed under MIT-style license: + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +/** + * $.jStorage + * + * USAGE: + * + * jStorage requires Prototype, MooTools or jQuery! If jQuery is used, then + * jQuery-JSON (http://code.google.com/p/jquery-json/) is also needed. + * (jQuery-JSON needs to be loaded BEFORE jStorage!) + * + * Methods: + * + * -set(key, value) + * $.jStorage.set(key, value) -> saves a value + * + * -get(key[, default]) + * value = $.jStorage.get(key [, default]) -> + * retrieves value if key exists, or default if it doesn't + * + * -deleteKey(key) + * $.jStorage.deleteKey(key) -> removes a key from the storage + * + * -flush() + * $.jStorage.flush() -> clears the cache + * + * -storageObj() + * $.jStorage.storageObj() -> returns a read-ony copy of the actual storage + * + * -storageSize() + * $.jStorage.storageSize() -> returns the size of the storage in bytes + * + * -index() + * $.jStorage.index() -> returns the used keys as an array + * + * -storageAvailable() + * $.jStorage.storageAvailable() -> returns true if storage is available + * + * -reInit() + * $.jStorage.reInit() -> reloads the data from browser storage + * + * can be any JSON-able value, including objects and arrays. + * + **/ + + +(function($){ + if(!$ || !($.toJSON || Object.toJSON || window.JSON)){ + throw new Error("jQuery, MooTools or Prototype needs to be loaded before jStorage!"); + } + + var + /* This is the object, that holds the cached values */ + _storage = {}, + + /* Actual browser storage (localStorage or globalStorage['domain']) */ + _storage_service = {jStorage:"{}"}, + + /* DOM element for older IE versions, holds userData behavior */ + _storage_elm = null, + + /* How much space does the storage take */ + _storage_size = 0, + + /* function to encode objects to JSON strings */ + json_encode = $.toJSON || Object.toJSON || (window.JSON && (JSON.encode || JSON.stringify)), + + /* function to decode objects from JSON strings */ + json_decode = $.evalJSON || (window.JSON && (JSON.decode || JSON.parse)) || function(str){ + return String(str).evalJSON(); + }, + + /* which backend is currently used */ + _backend = false, + + /** + * XML encoding and decoding as XML nodes can't be JSON'ized + * XML nodes are encoded and decoded if the node is the value to be saved + * but not if it's as a property of another object + * Eg. - + * $.jStorage.set("key", xmlNode); // IS OK + * $.jStorage.set("key", {xml: xmlNode}); // NOT OK + */ + _XMLService = { + + /** + * Validates a XML node to be XML + * based on jQuery.isXML function + */ + isXML: function(elm){ + var documentElement = (elm ? elm.ownerDocument || elm : 0).documentElement; + return documentElement ? documentElement.nodeName !== "HTML" : false; + }, + + /** + * Encodes a XML node to string + * based on http://www.mercurytide.co.uk/news/article/issues-when-working-ajax/ + */ + encode: function(xmlNode) { + if(!this.isXML(xmlNode)){ + return false; + } + try{ // Mozilla, Webkit, Opera + return new XMLSerializer().serializeToString(xmlNode); + }catch(E1) { + try { // IE + return xmlNode.xml; + }catch(E2){} + } + return false; + }, + + /** + * Decodes a XML node from string + * loosely based on http://outwestmedia.com/jquery-plugins/xmldom/ + */ + decode: function(xmlString){ + var dom_parser = ("DOMParser" in window && (new DOMParser()).parseFromString) || + (window.ActiveXObject && function(_xmlString) { + var xml_doc = new ActiveXObject('Microsoft.XMLDOM'); + xml_doc.async = 'false'; + xml_doc.loadXML(_xmlString); + return xml_doc; + }), + resultXML; + if(!dom_parser){ + return false; + } + resultXML = dom_parser.call("DOMParser" in window && (new DOMParser()) || window, xmlString, 'text/xml'); + return this.isXML(resultXML)?resultXML:false; + } + }; + + ////////////////////////// PRIVATE METHODS //////////////////////// + + /** + * Initialization function. Detects if the browser supports DOM Storage + * or userData behavior and behaves accordingly. + * @returns undefined + */ + function _init(){ + /* Check if browser supports localStorage */ + var localStorageReallyWorks = false; + if("localStorage" in window){ + try { + window.localStorage.setItem('_tmptest', 'tmpval'); + localStorageReallyWorks = true; + window.localStorage.removeItem('_tmptest'); + } catch(BogusQuotaExceededErrorOnIos5) { + // Thanks be to iOS5 Private Browsing mode which throws + // QUOTA_EXCEEDED_ERRROR DOM Exception 22. + } + } + if(localStorageReallyWorks){ + try { + if(window.localStorage) { + _storage_service = window.localStorage; + _backend = "localStorage"; + } + } catch(E3) {/* Firefox fails when touching localStorage and cookies are disabled */} + } + /* Check if browser supports globalStorage */ + else if("globalStorage" in window){ + try { + if(window.globalStorage) { + _storage_service = window.globalStorage[window.location.hostname]; + _backend = "globalStorage"; + } + } catch(E4) {/* Firefox fails when touching localStorage and cookies are disabled */} + } + /* Check if browser supports userData behavior */ + else { + _storage_elm = document.createElement('link'); + if(_storage_elm.addBehavior){ + + /* Use a DOM element to act as userData storage */ + _storage_elm.style.behavior = 'url(#default#userData)'; + + /* userData element needs to be inserted into the DOM! */ + document.getElementsByTagName('head')[0].appendChild(_storage_elm); + + _storage_elm.load("jStorage"); + var data = "{}"; + try{ + data = _storage_elm.getAttribute("jStorage"); + }catch(E5){} + _storage_service.jStorage = data; + _backend = "userDataBehavior"; + }else{ + _storage_elm = null; + return; + } + } + + _load_storage(); + } + + /** + * Loads the data from the storage based on the supported mechanism + * @returns undefined + */ + function _load_storage(){ + /* if jStorage string is retrieved, then decode it */ + if(_storage_service.jStorage){ + try{ + _storage = json_decode(String(_storage_service.jStorage)); + }catch(E6){_storage_service.jStorage = "{}";} + }else{ + _storage_service.jStorage = "{}"; + } + _storage_size = _storage_service.jStorage?String(_storage_service.jStorage).length:0; + } + + /** + * This functions provides the "save" mechanism to store the jStorage object + * @returns undefined + */ + function _save(){ + try{ + _storage_service.jStorage = json_encode(_storage); + // If userData is used as the storage engine, additional + if(_storage_elm) { + _storage_elm.setAttribute("jStorage",_storage_service.jStorage); + _storage_elm.save("jStorage"); + } + _storage_size = _storage_service.jStorage?String(_storage_service.jStorage).length:0; + }catch(E7){/* probably cache is full, nothing is saved this way*/} + } + + /** + * Function checks if a key is set and is string or numberic + */ + function _checkKey(key){ + if(!key || (typeof key != "string" && typeof key != "number")){ + throw new TypeError('Key name must be string or numeric'); + } + return true; + } + + ////////////////////////// PUBLIC INTERFACE ///////////////////////// + + $.jStorage = { + /* Version number */ + version: "0.1.5.3", + + /** + * Sets a key's value. + * + * @param {String} key - Key to set. If this value is not set or not + * a string an exception is raised. + * @param value - Value to set. This can be any value that is JSON + * compatible (Numbers, Strings, Objects etc.). + * @returns the used value + */ + set: function(key, value){ + _checkKey(key); + if(_XMLService.isXML(value)){ + value = {_is_xml:true,xml:_XMLService.encode(value)}; + } + _storage[key] = value; + _save(); + return value; + }, + + /** + * Looks up a key in cache + * + * @param {String} key - Key to look up. + * @param {mixed} def - Default value to return, if key didn't exist. + * @returns the key value, default value or + */ + get: function(key, def){ + _checkKey(key); + if(key in _storage){ + if(_storage[key] && typeof _storage[key] == "object" && + _storage[key]._is_xml && + _storage[key]._is_xml){ + return _XMLService.decode(_storage[key].xml); + }else{ + return _storage[key]; + } + } + return typeof(def) == 'undefined' ? null : def; + }, + + /** + * Deletes a key from cache. + * + * @param {String} key - Key to delete. + * @returns true if key existed or false if it didn't + */ + deleteKey: function(key){ + _checkKey(key); + if(key in _storage){ + delete _storage[key]; + _save(); + return true; + } + return false; + }, + + /** + * Deletes everything in cache. + * + * @returns true + */ + flush: function(){ + _storage = {}; + _save(); + return true; + }, + + /** + * Returns a read-only copy of _storage + * + * @returns Object + */ + storageObj: function(){ + function F() {} + F.prototype = _storage; + return new F(); + }, + + /** + * Returns an index of all used keys as an array + * ['key1', 'key2',..'keyN'] + * + * @returns Array + */ + index: function(){ + var index = [], i; + for(i in _storage){ + if(_storage.hasOwnProperty(i)){ + index.push(i); + } + } + return index; + }, + + /** + * How much space in bytes does the storage take? + * + * @returns Number + */ + storageSize: function(){ + return _storage_size; + }, + + /** + * Which backend is currently in use? + * + * @returns String + */ + currentBackend: function(){ + return _backend; + }, + + /** + * Test if storage is available + * + * @returns Boolean + */ + storageAvailable: function(){ + return !!_backend; + }, + + /** + * Reloads the data from browser storage + * + * @returns undefined + */ + reInit: function(){ + var new_storage_elm, data; + if(_storage_elm && _storage_elm.addBehavior){ + new_storage_elm = document.createElement('link'); + + _storage_elm.parentNode.replaceChild(new_storage_elm, _storage_elm); + _storage_elm = new_storage_elm; + + /* Use a DOM element to act as userData storage */ + _storage_elm.style.behavior = 'url(#default#userData)'; + + /* userData element needs to be inserted into the DOM! */ + document.getElementsByTagName('head')[0].appendChild(_storage_elm); + + _storage_elm.load("jStorage"); + data = "{}"; + try{ + data = _storage_elm.getAttribute("jStorage"); + }catch(E5){} + _storage_service.jStorage = data; + _backend = "userDataBehavior"; + } + + _load_storage(); + } + }; + + // Initialize jStorage + _init(); + +})(window.jQuery || window.$); +(function() { + /* + Source, bug reports, examples: https://github.com/tamc/Sankey + Copyright: Thomas Counsell 2010, 2011 + Licence: MIT Open Source licence http://www.opensource.org/licenses/mit-license.php + */ + var FlowLine, Sankey, TransformationBox; + var __hasProp = Object.prototype.hasOwnProperty, __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; + Sankey = (function() { + function Sankey() { + this.display_in_element = 'sankey'; + this.display_width = $('#sankey').width(); + this.display_height = $('#sankey').height(); + this.r = Raphael(this.display_in_element, this.display_width, this.display_height); + this.left_margin = 100; + this.right_margin = 100; + this.y_space = 10; + this.threshold_for_drawing = 0; + this.box_width = 50; + this.flow_edge_width = 2; + this.flow_curve = 0.25; + this.boxes = {}; + this.box_array = []; + this.lines = {}; + this.line_array = []; + this.stacks = []; + this.bubbles = []; + this.bubbleColor = '#000'; + this.bubbleLabelColor = '#fff'; + } + Sankey.prototype.find_or_create_transformation_box = function(name) { + var new_box; + if (this.boxes[name] == null) { + new_box = new TransformationBox(this, name); + this.boxes[name] = new_box; + this.box_array.push(new_box); + } + return this.boxes[name]; + }; + Sankey.prototype.lineName = function(start, end) { + return "" + start + "-" + end; + }; + Sankey.prototype.createLine = function(datum) { + var new_line; + if (datum[0] === 0) { + return; + } + new_line = new FlowLine(this, datum[0], datum[1], datum[2]); + this.lines[this.lineName(datum[0], datum[2])] = new_line; + return this.line_array.push(new_line); + }; + Sankey.prototype.setData = function(data) { + var datum, _i, _len, _results; + _results = []; + for (_i = 0, _len = data.length; _i < _len; _i++) { + datum = data[_i]; + _results.push(this.createLine(datum)); + } + return _results; + }; + Sankey.prototype.setBubbles = function(data) { + return this.bubbles = data; + }; + Sankey.prototype.updateData = function(data) { + var datum, line, _i, _len, _results; + _results = []; + for (_i = 0, _len = data.length; _i < _len; _i++) { + datum = data[_i]; + line = this.lines[this.lineName(datum[0], datum[2])]; + _results.push(line ? line.setFlow(datum[1]) : this.createLine(datum)); + } + return _results; + }; + Sankey.prototype.convert_flow_values_callback = function(flow) { + return flow; + }; + Sankey.prototype.convert_flow_labels_callback = function(flow) { + return flow; + }; + Sankey.prototype.convert_box_value_labels_callback = function(flow) { + return this.convert_flow_labels_callback(flow); + }; + Sankey.prototype.convert_box_description_labels_callback = function(name) { + return name; + }; + Sankey.prototype.convert_bubble_values_callback = function(size) { + return size; + }; + Sankey.prototype.convert_bubble_labels_callback = function(size) { + return size; + }; + Sankey.prototype.nudge_boxes_callback = function() { + return; + }; + Sankey.prototype.nudge_colours_callback = function() { + return; + }; + Sankey.prototype.stack = function(x, box_names, y_box) { + return this.stacks.push({ + x: x, + box_names: box_names, + y_box: y_box + }); + }; + Sankey.prototype.setColors = function(colors) { + var box, box_name, color, _results; + _results = []; + for (box_name in colors) { + if (!__hasProp.call(colors, box_name)) continue; + color = colors[box_name]; + box = this.find_or_create_transformation_box(box_name); + _results.push(box.line_colour = colors[box.name] || box.line_colour); + } + return _results; + }; + Sankey.prototype.recolour = function(lines, new_colour) { + var line, _i, _len, _results; + _results = []; + for (_i = 0, _len = lines.length; _i < _len; _i++) { + line = lines[_i]; + _results.push(line.colour = new_colour); + } + return _results; + }; + Sankey.prototype.calculateXStep = function() { + var maximum_x, stack, _i, _len, _ref; + maximum_x = 0; + _ref = this.stacks; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + stack = _ref[_i]; + if (stack.x > maximum_x) { + maximum_x = stack.x; + } + } + return (this.display_width - this.left_margin - this.right_margin) / maximum_x; + }; + Sankey.prototype.position_boxes_and_lines = function() { + var box, bubble, name, stack, x, x_step, y, _i, _j, _k, _l, _len, _len2, _len3, _len4, _ref, _ref2, _ref3, _ref4, _ref5, _ref6; + x_step = this.calculateXStep(); + _ref = this.stacks; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + stack = _ref[_i]; + x = stack.x; + if (stack.y_box != null) { + y = ((_ref2 = this.boxes[stack.y_box]) != null ? _ref2.y : void 0) || 10; + } else { + y = 10; + } + _ref3 = stack.box_names; + for (_j = 0, _len2 = _ref3.length; _j < _len2; _j++) { + name = _ref3[_j]; + box = this.boxes[name]; + if (box == null) {} else { + box.y = y; + box.x = this.left_margin + (x * x_step); + y = box.b() + this.y_space; + } + } + } + this.nudge_boxes_callback(); + _ref4 = this.box_array; + for (_k = 0, _len3 = _ref4.length; _k < _len3; _k++) { + box = _ref4[_k]; + box.position_and_colour_lines(); + } + _ref5 = this.bubbles; + for (_l = 0, _len4 = _ref5.length; _l < _len4; _l++) { + bubble = _ref5[_l]; + if ((_ref6 = this.boxes[bubble[0]]) != null) { + _ref6.bubbleValue = bubble[1]; + } + } + this.nudge_colours_callback(); + return this.line_array.sort(function(a, b) { + return b.size - a.size; + }); + }; + Sankey.prototype.draw = function() { + var box, line, _i, _j, _len, _len2, _ref, _ref2, _results; + this.position_boxes_and_lines(); + _ref = this.line_array; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + line = _ref[_i]; + if (line.size > this.threshold_for_drawing) { + line.draw(this.r); + } + } + _ref2 = this.box_array; + _results = []; + for (_j = 0, _len2 = _ref2.length; _j < _len2; _j++) { + box = _ref2[_j]; + _results.push(box.size() > this.threshold_for_drawing ? box.draw(this.r) : void 0); + } + return _results; + }; + Sankey.prototype.redraw = function() { + var box, line, _i, _j, _len, _len2, _ref, _ref2, _results; + this.position_boxes_and_lines(); + _ref = this.line_array; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + line = _ref[_i]; + line.redraw(this.r); + } + _ref2 = this.box_array; + _results = []; + for (_j = 0, _len2 = _ref2.length; _j < _len2; _j++) { + box = _ref2[_j]; + _results.push(box.redraw(this.r)); + } + return _results; + }; + Sankey.prototype.fade_unless_highlighted = function() { + var box, line, _i, _j, _len, _len2, _ref, _ref2, _results; + _ref = this.line_array; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + line = _ref[_i]; + line.fade_unless_highlighted(); + void 0; + } + _ref2 = this.box_array; + _results = []; + for (_j = 0, _len2 = _ref2.length; _j < _len2; _j++) { + box = _ref2[_j]; + box.fade_unless_highlighted(); + _results.push(void 0); + } + return _results; + }; + Sankey.prototype.un_fade = function() { + var box, line, _i, _j, _len, _len2, _ref, _ref2, _results; + _ref = this.line_array; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + line = _ref[_i]; + line.un_fade(); + void 0; + } + _ref2 = this.box_array; + _results = []; + for (_j = 0, _len2 = _ref2.length; _j < _len2; _j++) { + box = _ref2[_j]; + box.un_fade(); + _results.push(void 0); + } + return _results; + }; + return Sankey; + })(); + FlowLine = (function() { + function FlowLine(sankey, left_box_name, flow, right_box_name) { + this.sankey = sankey; + this.hover_stop = __bind(this.hover_stop, this); + this.hover_start = __bind(this.hover_start, this); + this.setFlow(flow); + this.colour = void 0; + this.ox = 0; + this.oy = 0; + this.dx = 0; + this.dy = 0; + this.left_box = this.sankey.find_or_create_transformation_box(left_box_name); + this.right_box = this.sankey.find_or_create_transformation_box(right_box_name); + this.left_box.right_lines.push(this); + this.right_box.left_lines.push(this); + } + FlowLine.prototype.setFlow = function(flow) { + this.flow = flow; + return this.size = this.sankey.convert_flow_values_callback(this.flow); + }; + FlowLine.prototype.labelText = function() { + return this.sankey.convert_flow_labels_callback(this.flow); + }; + FlowLine.prototype.path = function() { + var curve; + curve = (this.dx - this.ox) * this.sankey.flow_curve; + return "M " + this.ox + "," + this.oy + " Q " + (this.ox + curve) + "," + this.oy + " " + ((this.ox + this.dx) / 2) + "," + ((this.oy + this.dy) / 2) + " Q " + (this.dx - curve) + "," + this.dy + " " + this.dx + "," + this.dy; + }; + FlowLine.prototype.innerWidth = function() { + if (this.size > this.sankey.flow_edge_width) { + return this.size - this.sankey.flow_edge_width; + } + return this.size; + }; + FlowLine.prototype.innerColor = function() { + var c; + c = Raphael.rgb2hsb(this.colour); + if (c.h !== 0 && c.s !== 0) { + if (c.b > 0.5) { + c.b = c.b - 0.15; + } else { + c.b = c.b + 0.15; + } + } + return Raphael.hsb2rgb(c.h, c.s, c.b); + }; + FlowLine.prototype.draw = function(r) { + this.outer_line = r.path(this.path()).attr({ + 'stroke-width': this.size, + 'stroke': this.colour + }); + this.inner_line = r.path(this.path()).attr({ + 'stroke-width': this.innerWidth(), + 'stroke': this.innerColor() + }); + r.set().push(this.inner_line, this.outer_line).hover(this.hover_start, this.hover_stop); + this.left_label = r.text(this.ox + 1, this.oy - (this.size / 2) - 5, this.labelText()).attr({ + 'text-anchor': 'start' + }); + this.right_label = r.text(this.dx - 1, this.dy - (this.size / 2) - 5, this.labelText()).attr({ + 'text-anchor': 'end' + }); + this.left_label.hide(); + return this.right_label.hide(); + }; + FlowLine.prototype.hover_start = function(event) { + this.highlight(true, true); + return this.sankey.fade_unless_highlighted(); + }; + FlowLine.prototype.hover_stop = function(event) { + this.un_highlight(true, true); + return this.sankey.un_fade(); + }; + FlowLine.prototype.redraw = function(r) { + if (this.outer_line == null) { + this.draw(r); + } + this.outer_line.attr({ + path: this.path(), + 'stroke-width': this.size + }); + this.inner_line.attr({ + path: this.path(), + 'stroke-width': this.innerWidth() + }); + this.left_label.attr({ + text: this.labelText(), + x: this.ox + 1, + y: this.oy - (this.size / 2) - 5 + }); + return this.right_label.attr({ + text: this.labelText(), + x: this.dx - 1, + y: this.dy - (this.size / 2) - 5 + }); + }; + FlowLine.prototype.fade_unless_highlighted = function() { + if (this.outer_line == null) { + return false; + } + if (this.inner_line == null) { + return false; + } + if (this.highlighed === true) { + return false; + } + this.outer_line.attr({ + 'opacity': '0.1' + }); + return this.inner_line.attr({ + 'opacity': '0.1' + }); + }; + FlowLine.prototype.un_fade = function() { + if (this.outer_line == null) { + return false; + } + if (this.inner_line == null) { + return false; + } + if (this.highlighed === true) { + return false; + } + this.outer_line.attr({ + 'opacity': '1.0' + }); + return this.inner_line.attr({ + 'opacity': '1.0' + }); + }; + FlowLine.prototype.highlight = function(left, right) { + if (this.outer_line == null) { + return false; + } + if (this.inner_line == null) { + return false; + } + this.highlighed = true; + if (left) { + this.left_label.toFront(); + this.left_label.show(); + this.left_box.highlight(); + } + if (right) { + this.right_label.toFront(); + this.right_label.show(); + return this.right_box.highlight(); + } + }; + FlowLine.prototype.un_highlight = function(left, right) { + if (this.outer_line == null) { + return false; + } + this.highlighed = false; + if (left) { + this.left_label.hide(); + this.left_box.un_highlight(); + } + if (right) { + this.right_label.hide(); + return this.right_box.un_highlight(); + } + }; + return FlowLine; + })(); + TransformationBox = (function() { + function TransformationBox(sankey, name) { + this.sankey = sankey; + this.name = name; + this.hover_end = __bind(this.hover_end, this); + this.hover_start = __bind(this.hover_start, this); + this.label_text = this.sankey.convert_box_description_labels_callback(name); + this.line_colour = "orange"; + this.left_lines = []; + this.right_lines = []; + this.x = 0; + this.y = 0; + this.bubbleValue = null; + } + TransformationBox.prototype.b = function() { + return this.y + this.size(); + }; + TransformationBox.prototype.is_left_box = function() { + return this.left_lines.length === 0; + }; + TransformationBox.prototype.is_right_box = function() { + return this.right_lines.length === 0; + }; + TransformationBox.prototype.size = function() { + var line, lines, s, _i, _len; + s = 0; + if (this.is_left_box()) { + lines = this.right_lines; + } else { + lines = this.left_lines; + } + for (_i = 0, _len = lines.length; _i < _len; _i++) { + line = lines[_i]; + if (line.size > this.sankey.threshold_for_drawing) { + s = s + line.size; + } + } + return s; + }; + TransformationBox.prototype.flow = function() { + var line, lines, s, _i, _len; + s = 0; + if (this.is_left_box()) { + lines = this.right_lines; + } else { + lines = this.left_lines; + } + for (_i = 0, _len = lines.length; _i < _len; _i++) { + line = lines[_i]; + if (line.size > this.sankey.threshold_for_drawing) { + s = s + line.flow; + } + } + return s; + }; + TransformationBox.prototype.position_and_colour_lines = function() { + var box_width, left_lines, line, ly, right_lines, ry, _i, _j, _len, _len2, _ref, _results; + ly = this.y; + left_lines = this.left_lines; + left_lines.sort(function(a, b) { + return a.left_box.y - b.left_box.y; + }); + for (_i = 0, _len = left_lines.length; _i < _len; _i++) { + line = left_lines[_i]; + line.dx = this.x; + line.dy = ly + (line.size / 2); + ly = ly + line.size; + } + ry = this.y; + right_lines = this.right_lines; + right_lines.sort(function(a, b) { + return a.right_box.y - b.right_box.y; + }); + box_width = this.sankey.box_width; + _results = []; + for (_j = 0, _len2 = right_lines.length; _j < _len2; _j++) { + line = right_lines[_j]; + if ((_ref = line.colour) == null) { + line.colour = this.line_colour; + } + line.ox = this.x + box_width; + line.oy = ry + (line.size / 2); + _results.push(ry = ry + line.size); + } + return _results; + }; + TransformationBox.prototype.valueLabelText = function() { + return this.sankey.convert_box_value_labels_callback(this.flow()); + }; + TransformationBox.prototype.descriptionLabelText = function() { + return this.label_text; + }; + TransformationBox.prototype.labelPositionX = function() { + if (this.is_left_box()) { + return this.x - 3.0; + } + if (this.is_right_box()) { + return this.x + this.sankey.box_width + 3.0; + } + return this.x + (this.sankey.box_width / 2); + }; + TransformationBox.prototype.labelPositionY = function() { + return this.y + (this.size() / 2); + }; + TransformationBox.prototype.labelAttributes = function() { + if (this.is_left_box()) { + return { + 'text-anchor': 'end' + }; + } + if (this.is_right_box()) { + return { + 'text-anchor': 'start' + }; + } + return {}; + }; + TransformationBox.prototype.numberLabelPositionX = function() { + return this.x + (this.sankey.box_width / 2); + }; + TransformationBox.prototype.numberLabelPositionY = function() { + return this.y - 5; + }; + TransformationBox.prototype.bubbleSize = function() { + return Math.sqrt(this.sankey.convert_bubble_values_callback(Math.abs(this.bubbleValue))); + }; + TransformationBox.prototype.bubbleLabel = function() { + return this.sankey.convert_bubble_labels_callback(this.bubbleValue); + }; + TransformationBox.prototype.bubbleColourForValue = function() { + if (this.bubbleValue > 0) { + return this.sankey.bubbleColor; + } + if (this.sankey.negativeBubbleColor == null) { + return this.sankey.bubbleColor; + } + return this.sankey.negativeBubbleColor; + }; + TransformationBox.prototype.bubbleLabelColourForValue = function() { + if (this.bubbleValue > 0) { + return this.sankey.bubbleLabelColor; + } + if (this.sankey.negativeBubbleLabelColor == null) { + return this.sankey.bubbleLabelColor; + } + return this.sankey.negativeBubbleLabelColor; + }; + TransformationBox.prototype.draw = function(r) { + var box_width; + if (!(this.size() > this.sankey.threshold_for_drawing)) { + return false; + } + box_width = this.sankey.box_width; + this.box = r.rect(this.x, this.y, box_width, this.size()).attr({ + 'fill': "#E8E2FF", + "stroke": "#D4CBF2" + }); + this.label = r.text(this.labelPositionX(), this.labelPositionY(), this.descriptionLabelText()).attr(this.labelAttributes()); + if (this.bubbleValue != null) { + this.bubble_circle = r.circle(this.x + box_width, this.y, this.bubbleSize()).attr({ + 'fill': this.bubbleColourForValue(), + 'stroke-width': 0 + }); + this.bubble_label = r.text(this.x + box_width, this.y, this.bubbleLabel()).attr({ + 'stroke': this.bubbleLabelColourForValue(), + 'text-anchor': 'middle' + }); + } + this.number_label = r.text(this.numberLabelPositionX(), this.numberLabelPositionY(), this.valueLabelText()); + this.number_label.hide(); + return r.set().push(this.number_label, this.label, this.box, this.bubble_circle, this.bubble_label).hover(this.hover_start, this.hover_end); + }; + TransformationBox.prototype.redraw = function(r) { + if (this.box == null) { + this.draw(r); + } + if (this.box == null) { + return; + } + this.box.attr({ + y: this.y, + height: this.size() + }); + this.label.attr({ + y: this.labelPositionY() + }); + this.number_label.attr({ + y: this.numberLabelPositionY(), + text: this.valueLabelText() + }); + if (this.bubbleValue != null) { + if (this.bubble_circle != null) { + this.bubble_circle.attr({ + cy: this.y, + r: this.bubbleSize(), + fill: this.bubbleColourForValue() + }); + this.bubble_label.attr({ + y: this.y, + text: this.bubbleLabel(), + 'stroke': this.bubbleLabelColourForValue() + }); + } else { + this.draw(r); + } + } + if (this.size() <= this.sankey.threshold_for_drawing) { + this.box.hide(); + this.label.hide(); + if (this.bubble_circle != null) { + return this.bubble_circle.hide(); + } + } else { + this.box.show(); + this.label.show(); + if (this.bubble_circle != null) { + return this.bubble_circle.show(); + } + } + }; + TransformationBox.prototype.hover_start = function() { + var line, _i, _j, _len, _len2, _ref, _ref2; + this.highlight(); + this.number_label.toFront(); + this.number_label.show(); + _ref = this.left_lines; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + line = _ref[_i]; + line.highlight(true, false); + } + _ref2 = this.right_lines; + for (_j = 0, _len2 = _ref2.length; _j < _len2; _j++) { + line = _ref2[_j]; + line.highlight(false, true); + } + return this.sankey.fade_unless_highlighted(); + }; + TransformationBox.prototype.hover_end = function() { + var line, _i, _j, _len, _len2, _ref, _ref2; + this.un_highlight(); + this.number_label.hide(); + _ref = this.left_lines; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + line = _ref[_i]; + line.un_highlight(true, false); + } + _ref2 = this.right_lines; + for (_j = 0, _len2 = _ref2.length; _j < _len2; _j++) { + line = _ref2[_j]; + line.un_highlight(false, true); + } + return this.sankey.un_fade(); + }; + TransformationBox.prototype.highlight = function() { + if (this.box == null) { + return false; + } + return this.highlighed = true; + }; + TransformationBox.prototype.un_highlight = function() { + if (this.box == null) { + return false; + } + return this.highlighed = false; + }; + TransformationBox.prototype.fade_unless_highlighted = function() { + if (this.box == null) { + return false; + } + if (this.highlighed === true) { + return false; + } + this.box.attr({ + 'opacity': '0.1' + }); + this.label.attr({ + 'opacity': '0.1' + }); + if (this.bubble_circle != null) { + this.bubble_circle.attr({ + 'opacity': '0.1' + }); + } + if (this.bubble_label != null) { + return this.bubble_label.attr({ + 'opacity': '0.1' + }); + } + }; + TransformationBox.prototype.un_fade = function() { + if (this.box == null) { + return false; + } + if (this.highlighed === true) { + return false; + } + this.box.attr({ + 'opacity': '1.0' + }); + this.label.attr({ + 'opacity': '1.0' + }); + if (this.bubble_circle != null) { + this.bubble_circle.attr({ + 'opacity': '1.0' + }); + } + if (this.bubble_label != null) { + return this.bubble_label.attr({ + 'opacity': '1.0' + }); + } + }; + return TransformationBox; + })(); + window.Sankey = Sankey; +}).call(this); +// éclair - FIXME: Need this so file is recognised as utf-8. Need a better solution than this bodge +// FIXME: In the end, this should only contain information drawn from the Excel Model. +// that is constant across pathways. The methods called are in helper.rb +window.twentyfifty = {}; +window.twentyfifty.default_pathway = "11111111111111111111111111111111111111111111111111111"; +window.twentyfifty.pathway_wiki_pages_hash = {"10111111111111110111111001111110111101101101110110111":75.0,"10111111111111110111111004424440444404203304440420111":"No","40444444444444440443424001121110111101102101110110111":"No","i0g2dd2pp1121f1i032211p004314110433304202304320420121":112.0,"e0d3jrg221ci12110222112004423220444404202304440420141":109.0,"r013ce1111111111042233B002322220233302202102330220121":110.0,"f023df111111111f0322123003223220333203102303430310221":111.0,"q011111111111111032413l004314110434104103204440410111":170.0,"10h4nn4431w23y110244111004424440343304202304430420441":95.0,"10h2pdppp12332130233122004414430343304102304430410231":96.0,"20222144411341110343321003422440423404203203340420141":94.0,"h0h2gg1211cj1j110322222003313230234102102203440320121":97.0,"g0f2oj11t1rgqj1j0343111003324240244104201304430420231":92.0,"00000000000000000000000000000000000000000000000000000":null}; +window.twentyfifty.pathway_descriptions_hash = {"10111111111111110111111001111110111101101101110110111":"Imported natural gas for electricity and\nheat. Imported oil for vehicles.","10111111111111110111111004424440444404203304440420111":"","40444444444444440443424001121110111101102101110110111":"","i0g2dd2pp1121f1i032211p004314110433304202304320420121":"Cost-optimising model based. Mix of supply\nsources. Ambitious demand reduction.","e0d3jrg221ci12110222112004423220444404202304440420141":"Renewables largest supply component. Very\nambitious demand reduction. Lots of storage.","r013ce1111111111042233B002322220233302202102330220121":"Lots of nuclear. Moderate energy demand\nreduction. Minimal renewables.","f023df111111111f0322123003223220333203102303430310221":"Lots of CCS and biomass co-firing. Ambitious\ndemand reduction.","q011111111111111032413l004314110434104103204440410111":"TBD\n","10h4nn4431w23y110244111004424440343304202304430420441":"Generation from wind, marine renewables and\nhydro. Ambitious demand reduction.","10h2pdppp12332130233122004414430343304102304430410231":"Offshore renewables, solar, geothermal and\nelectricity imports. Ambitious demand reduction.","20222144411341110343321003422440423404203203340420141":"Marine renewables, geothermal and algae\nsupply. Some nuclear and CCS.","h0h2gg1211cj1j110322222003313230234102102203440320121":"Wide range of generation sources. Moderate\ndemand reduction. Considerable bioenergy.","g0f2oj11t1rgqj1j0343111003324240244104201304430420231":"Energy from a range of sources. Emphasis on\nUK self-reliance.","00000000000000000000000000000000000000000000000000000":""}; +window.twentyfifty.pathway_names_hash = {"10111111111111110111111001111110111101101101110110111":"Doesn't tackle climate change (All at level 1)","10111111111111110111111004424440444404203304440420111":"Maximium demand, no supply","40444444444444440443424001121110111101102101110110111":"Maximum supply, no demand","i0g2dd2pp1121f1i032211p004314110433304202304320420121":"Analogous to MARKAL 3.26","e0d3jrg221ci12110222112004423220444404202304440420141":"Higher renewables, more energy efficiency","r013ce1111111111042233B002322220233302202102330220121":"Higher nuclear, less energy efficiency","f023df111111111f0322123003223220333203102303430310221":"Higher CCS, more bioenergy","q011111111111111032413l004314110434104103204440410111":"Low cost pathway","10h4nn4431w23y110244111004424440343304202304430420441":"Friends of the Earth","10h2pdppp12332130233122004414430343304102304430410231":"Campaign to Protect Rural England","20222144411341110343321003422440423404203203340420141":"Mark Brinkley","h0h2gg1211cj1j110322222003313230234102102203440320121":"National Grid","g0f2oj11t1rgqj1j0343111003324240244104201304430420231":"Atkins","00000000000000000000000000000000000000000000000000000":null}; +window.twentyfifty.comparator_pathways = ["i0g2dd2pp1121f1i032211p004314110433304202304320420121","e0d3jrg221ci12110222112004423220444404202304440420141","r013ce1111111111042233B002322220233302202102330220121","f023df111111111f0322123003223220333203102303430310221","q011111111111111032413l004314110434104103204440410111","10h4nn4431w23y110244111004424440343304202304430420441","10h2pdppp12332130233122004414430343304102304430410231","20222144411341110343321003422440423404203203340420141","h0h2gg1211cj1j110322222003313230234102102203440320121","g0f2oj11t1rgqj1j0343111003324240244104201304430420231","10111111111111110111111001111110111101101101110110111"]; +window.twentyfifty.default_comparator_code = "10111111111111110111111001111110111101101101110110111"; +window.twentyfifty.longDescriptions = [["No new nuclear power installed. Final nuclear power station estimated to close in 2035","~13 3GW nuclear power stations delivering ~280 TWh/yr","~30 3GW nuclear power stations delivering ~630 TWh/yr","~50 3GW nuclear power stations delivering ~1030 TWh/yr"],[null,null,null,null],["CCS demonstration plants only","~240 TWh/yr from 25-40 CCS power stations - comparable to current gas & coal generation","~340 TWh/yr from 35-60 CCS power stations - comparable to total current demand","~510 TWh/yr from 50-90 CCS power stations - this requires a similar build rate to that of gas plants in the 1990s"],["After demonstration plants, all CCS electricity is from solid fuel (coal or biomass)","After demonstration plants, two thirds of CCS electricity is from solid fuel (coal or biomass), one third from gas (natural gas or biogas)","After demonstration plants, one third of CCS electricity is from solid fuel (coal or biomass), two thirds from gas (natural gas or biogas)","After demonstration plants, all CCS electricity is from gas (natural gas or biogas)"],["~1,400 offshore wind turbines in 2025, reducing to zero as decommissioned sites are not replanted","~10,000 offshore wind turbines in 2050, delivering ~180 TWh/yr","~17,000 offshore wind turbines in 2050, delivering ~310 TWh/yr","~40,000 offshore wind turbines in 2050, delivering ~430 TWh/yr"],["~4,400 onshore wind turbines in 2025, reducing to zero as decommissioned sites are not replanted","~8,000 onshore wind turbines in 2050, delivering ~50 TWh/yr. ","~13,000 onshore wind turbines in 2050, delivering ~80 TWh/yr","~20,000 onshore wind turbines in 2050, delivering ~130 TWh/yr"],["None in 2050","~300km of wave farms","~600km of wave farms","~900km of wave farms"],["None in 2050","1,000 tidal stream turbines","4,700 tidal stream turbines","10,600 tidal stream turbines"],["None in 2050","3 small tidal range schemes","4 tidal range schemes","8 tidal range schemes"],["Only existing biomass plants and those already under construction (0.6GW)","8GW of biomass power stations by 2050 delivering 62TWh/yr","12GW of biomass power stations by 2050 delivering 100TWh/yr","Over 20GW of biomass power stations by 2050 delivering 180TWh/yr"],["No significant solar PV capacity is installed","4m2 of photovoltaic panels per person in 2050, supplying ~60 TWh/yr of electricity"," 5.4m2 of photovoltaic panels per person in 2050, supplying ~80 TWh/yr","9.5m2 of photovoltaic panels per person – all suitable roof and facade space used"],["As today, a negligible proportion of buildings have solar thermal in 2050","~30% of suitable buildings get ~30% of their hot water from solar thermal","All suitable buildings get ~30% of their hot water from solar thermal","All suitable buildings get ~60% of their hot water from solar thermal"],["No deployment of geothermal electricity generation","Supply of geothermal electricity grows slowly to 7 TWh/yr in 2035 and is sustained","Supply of geothermal electricity grows quickly reaching 21 TWh/yr by 2030 and is sustained","Supply of geothermal electricity grows rapidly reaching 35 TWh/yr by 2030 and is sustained"],["Supply of hydroelectricity is maintained at current levels of 5 TWh/yr","Supply of hydroelectricity grows slowly, reaching 7 TWh/yr by 2050","Supply of hydroelectricity grows more quickly, reaching 8 TWh/yr by 2030 and is sustained","Supply of hydroelectricity grows rapidly reaching 13 TWh/yr by 2035 and is sustained"],["As today, no discernable supply of electricity from micro-wind turbines","Supply of electricity from micro wind turbines increases to 1.3 TWh/yr by 2020 and is sustained","Micro wind turbines installed in all ~450,000 suitable domestic properties, supplying 3.5 TWh/year from 2020","Micro wind turbines installed in all suitable domestic and non-domestic sties, supplying 8.9 TWh/year from 2020"],["No electricity imports, other than for balancing","30 TWh/yr of electricity imported from Southern Europe","70 TWh/yr of electricity imported from a 10% share of an internationally coordinated desert solar project ","140 TWh/yr of electricity imported from a 20% share of an internationally coordinated desert solar project"],[null,null,null,null],["Energy crops and food production similar to today","5% of UK land used for energy crops","10% of UK land used for energy crops","17% of UK land used for energy crops"],["Livestock numbers increase by 10%","Livestock numbers same as today","Livestock numbers decrease by 10%","Livestock numbers decrease by 20%"],["Overall quantity of waste increases 50% to 2050; 21% increase in recycling rate and 44% increase in rate of energy from waste. 24% of waste is sent to landfill","Overall quantity of waste increases almost 20% by 2050; recycling and energy from waste rates increase by 36% and 89% respectively. 11% of waste is sent to landfill.","Overall quantity of waste increases 33%; waste is handled through high-tech and industry-led approaches; by 2050, recycling and energy from waste rates increase by 36% and 89% respectively. Only 2% is sent to landfill.","Quantity of waste decreases 20% by 2050; recycling and energy from waste increase by 70% and 7% respectively; by 2050, 3% of waste sent to landfill."],["No development of macro-algae cultivation","Macro algae covering the same area as half of natural reserve used, delivering ~4 TWh/yr","Macro algae covering the same area as all of natural reserve used, delivering ~9 TWh/yr","Macro algae covering the same area as four times natural reserve used, delivering ~46 TWh/yr"],["Biomass converted to a mixture of solid, liquid and gas biofuels","Biomass mainly converted to solid biofuel","Biomass mainly converted to liquid biofuel","Biomass mainly converted to biogas fuel"],["Imported biofuel declines from ~ 4 TWh/yr currently to zero","Up to 70 TWh/yr of imported bioenergy in 2050","Up to 140 TWh/yr of imported bioenergy in 2050","Up to 280 TWh/yr of imported bioenergy in 2050"],[null,null,null,null],[null,null,null,null],["In 2050, individuals travel 9% further than today. No noticeable modal shift.","Individuals travel 7% further than today, cars and vans are 80% of 2050 passenger mileage","Individuals travel 7% further than today; cars and vans 74% of 2050 passenger mileage","In 2050, individuals travel the same distance as today. Signficant shift to public transport."],["By 2050, 20% plug in hybrid electric cars; 2.5% zero emission cars.","By 2050, 35% conventional petrol or diesel engine cars; 54% plug-in hybrid vehicles; 11% zero emission vehicles; all buses hybrids; 73% of passenger railway is electrifi","By 2050, 20% conventional combustion engine cars, with 32% in plug-in hybrid vehicles and 48% in zero emission vehicles: 22% of bus travel fully electric or fuel cell electric ","By 2050 100% electric motor or hydrogen fuel cell; all passenger trains electrified; 50% bus electrified "],["By 2050, 100% electric","by 2050, 80% electric, 20% hydrogen fuel cell","By 2050, 20% electric, 80% hydrogen fuel cell","By 2050, 100% hydrogen fuel cells"],["Road haulage makes up 73% of distance, using conventional engines. Rail all diesel","Some shift from road to rail and water, and more efficient engines","Greater modal shift to rail and water; more efficient HGVs; more efficient logistics","Road modal share falls to half; greater hybridisation. Rail freight is all electric "],["By 2050, international aviation has 130% more passengers but uses only 50% more fuel","By 2050, international aviation has 130% more passengers but uses only 45% more fuel","By 2050, international aviation has 130% more passengers but uses only 31% more fuel","By 2050, international aviation has 85% more passengers but uses only 5% more fuel"],["no improvements from energy efficiency; between 2007 and 2050 emissions increase by 139%","1/3 of technical feasible reductions realised; between 2007 and 2050 emissions increase by 78%","2/3 of technical feasible reductions realised; between 2007 and 2050 emissions increase by 16%","maximum technical feasible reductions realised; between 2007 and 2050 emissions decrease by 46%"],[null,null,null,null],["Average room temperature increases to 20°C (a 2.5°C increase on 2007)","Average room temperature increases to 18°C (a 0.5°C increase on 2007)","Average room temperature decreases to 17°C (a 0.5°C decrease on 2007)","Average room temperature decreases to 16°C (a 1.5°C decrease on 2007)"],["Over 7M homes insulated, average thermal leakiness falls by 25%","Over 8M homes insulated, average thermal leakiness falls by 33%","Over 18M homes insulated, average thermal leakiness falls by 42%","Over 24M homes insulated, average thermal leakiness decreases by 50% "],["The proportion of domestic heat supplied using electricity is 0-10%, as today","The proportion of new domestic heating systems using electricity is 20%","The proportion of new domestic heating systems supplied using electricity is 30-60%","The proportion of new domestic heating systems supplied using electricity is 80-100%"],["The dominant non-electric heat source is gas (biogas if available)","The dominant non-electric heat source is coal (biomass if available)","The dominant non-electric heat source is waste heat from power stations","A mixture of gas/biogas; coal/biomass; and heat from power stations"],[null,null,null,null],["Energy demand for domestic lights and appliances increases by 20% (relative to 2007)","Energy demand for domestic lights and appliances is stable","Energy demand for domestic lights and appliances decreases by 40%","Energy demand for domestic lights and appliances decreases by 60%"],["Energy used for domestic cooking remains at 63% electricity and 37% gas","Energy used for domestic cooking is entirely electric","Energy used for domestic cooking is entirely electric","Energy used for domestic cooking is entirely electric"],[null,null,null,null],["UK industry output more than doubles by 2050","UK industry grows in line with current trends","UK industry output falls 30-40% by 2050","UK industry output falls 30-40% by 2050"],["No electrification of industrial processes and little improvement in industrial energy intensity","Some industrial processes electrified and moderate improvements in process emissions and energy demand","Many industrial processes electrified, CCS captures 48% of emissions and substantial improvements in process emissions and energy demand","Many industrial processes electrified, CCS captures 48% of emissions and substantial improvements in process emissions and energy demand"],[null,null,null,null],["Commercial space heating demand increases by 50%, hot water demand by 60%, cooling demand by 250%","Commercial space heating demand increases by 30%, hot water demand by 50%, cooling demand by 60%","Commercial space heating demand stable, hot water demand increases by 25%, cooling demand stable","Commercial space heating demand drops by 25%, hot water demand by 10%, cooling demand by 60%"],["The proportion of non-domestic heat supplied using electricity is 0-10%, as today","The proportion of non-domestic heat supplied using electricity is 20%","The proportion of non-domestic heat supplied using electricity is 30-60%","The proportion of non-domestic heat supplied using electricity is 80-100%"],["The dominant non-electric heat source is gas (biogas if available)","The dominant non-electric heating fuel is coal (biomass if available)","The dominant non-electric heat source is heat from power stations","A mixture of gas/biogas, coal/biomass, and heat from power stations"],[null,null,null,null],["Energy demand for commercial lights & appliances increases by 33%. Energy for cooking is stable","Energy demand for commercial lights & appliances increases by 15%; decreases by 5% for cooking","Energy demand for commercial lights & appliances decreases by 5%; decreases by 20% for cooking","Energy demand for commercial lights & appliances decreases by 30%; decreases by 25% for cooking"],["Energy used for commercial cooking is 60% electricity and 40% gas (no change from 2007)","Energy used for commercial cooking is 100% electric","Energy used for commercial cooking is 100% electric","Energy used for commercial cooking is 100% electric"],[null,null,null,null],["No geosequestration","Carbon dioxide sequestred at a rate of 1 million tonnes per annum by 2050","Carbon dioxide sequestred at a rate of ~30 million tonnes per annum by 2050","Carbon dioxide sequestred at a rate of ~110 million tonnes per annum by 2050"],["Today’s 3.5 GW of pumped storage and 4 GW interconnection with Europe available for balancing electricity supply and demand","4 GW of pumped storage and 10 GW interconnection with Europe available for balancing electricity supply and demand","7 GW of pumped storage (includign 2 more sites), 15 GW of interconnection with Europe and some demand shifting available for balancing electricity supply and demand","20 GW of pumped storage with large lagoons, 30 GW of interconnection with Europe and substantial demand shifting available for balancing electricity supply and demand"],[null,null,null,null]]; +window.twentyfifty.choice_sizes = {"0":4,"2":4,"3":4,"4":4,"5":4,"6":4,"7":4,"8":4,"9":4,"10":4,"11":4,"12":4,"13":4,"14":4,"15":4,"17":4,"18":4,"19":4,"20":4,"21":4,"22":4,"25":4,"26":4,"27":4,"28":4,"29":4,"30":4,"32":4,"33":4,"34":4,"35":4,"37":4,"38":2,"40":3,"41":3,"43":4,"44":4,"45":4,"47":4,"48":2,"50":4,"51":4,"52":3}; +(function() { + var cache, checkSVGWorks, choices, choicesForCode, codeForChoices, comparator, controller, demoOriginalLevel, demoTimer, documentReady, float_to_letter_map, getChoices, getComparator, getSector, go, letter_to_float_map, loadMainPathway, loadSecondaryPathway, old_choices, pathwayDescriptions, pathwayName, pathwayWikiPages, sector, setChoices, setUpControls, setVariablesFromURL, startDemo, stopDemo, switchComparator, switchPathway, switchSector, switchView, updateControls, url, view, view_manager, views, windowResizeDebounceTimer; + + views = {}; + + controller = null; + + choices = null; + + view = null; + + sector = null; + + comparator = null; + + view_manager = null; + + old_choices = []; + + cache = {}; + + windowResizeDebounceTimer = null; + + documentReady = function() { + checkSVGWorks(); + if ($.jStorage.get('CostCaveatShown') !== true) { + $('#cost_caveats').show(); + } + setUpControls(); + setVariablesFromURL(); + switchView(view); + return loadMainPathway(); + }; + + $(document).ready(documentReady); + + checkSVGWorks = function() { + if (!!document.createElementNS && !!document.createElementNS('http://www.w3.org/2000/svg', "svg").createSVGRect) { + return true; + } + return $("#svgWarn").show(); + }; + + setUpControls = function() { + $("a[title]").tooltip({ + delay: 0, + position: 'top left', + offset: [3, 3], + tip: '#tooltip' + }); + $("a.choiceLink").click(function(event) { + var c, l, t; + event.preventDefault(); + t = $(event.target); + c = t.data().choicenumber; + l = t.data().choicelevel; + return go(c, l); + }); + $("a.view").click(function(event) { + var t, v; + event.preventDefault(); + t = $(event.target); + v = t.data().view; + return switchView(v); + }); + $(".newdropdown").click(function(event) { + var d, o, space, t; + event.preventDefault(); + t = $(event.target); + d = $(t.data().dropdown); + if (d.hasClass("showdropdown")) { + return d.removeClass("showdropdown"); + } else { + d.addClass("showdropdown"); + o = t.offset(); + o.top = o.top + t.height(); + space = $(document).width() - o.left - d.width(); + if (space < 0) { + o.left = o.left + space; + } + return d.offset(o); + } + }); + return $(window).resize(function(event) { + clearTimeout(windowResizeDebounceTimer); + return windowResizeDebounceTimer = setTimeout(function() { + return view_manager.updateResults(cache[codeForChoices()]); + }, 500); + }); + }; + + setVariablesFromURL = function() { + var url_elements; + url_elements = window.location.pathname.split('/'); + controller = url_elements[1] || "pathways"; + choices = choicesForCode(url_elements[2] || twentyfifty.default_pathway); + view = url_elements[3] || "primary_energy_chart"; + if (view === 'costs_compared_within_sector') { + sector = url_elements[4]; + } + if (url_elements[4] === 'comparator') { + return comparator = url_elements[5]; + } + }; + + float_to_letter_map = { + "": "0", + 1.0: "1", + 1.1: "b", + 1.2: "c", + 1.3: "d", + 1.4: "e", + 1.5: "f", + 1.6: "g", + 1.7: "h", + 1.8: "i", + 1.9: "j", + 2.0: "2", + 2.1: "l", + 2.2: "m", + 2.3: "n", + 2.4: "o", + 2.5: "p", + 2.6: "q", + 2.7: "r", + 2.8: "s", + 2.9: "t", + 3.0: "3", + 3.1: "v", + 3.2: "w", + 3.3: "x", + 3.4: "y", + 3.5: "z", + 3.6: "A", + 3.7: "B", + 3.8: "C", + 3.9: "D", + 0.0: "0", + 4.0: "4" + }; + + codeForChoices = function(c) { + var cd, choice; + if (c == null) { + c = choices; + } + cd = (function() { + var _i, _len, _results; + _results = []; + for (_i = 0, _len = c.length; _i < _len; _i++) { + choice = c[_i]; + _results.push(float_to_letter_map[choice]); + } + return _results; + })(); + return cd.join(''); + }; + + letter_to_float_map = { + "1": 1.0, + "b": 1.1, + "c": 1.2, + "d": 1.3, + "e": 1.4, + "f": 1.5, + "g": 1.6, + "h": 1.7, + "i": 1.8, + "j": 1.9, + "2": 2.0, + "l": 2.1, + "m": 2.2, + "n": 2.3, + "o": 2.4, + "p": 2.5, + "q": 2.6, + "r": 2.7, + "s": 2.8, + "t": 2.9, + "3": 3.0, + "v": 3.1, + "w": 3.2, + "x": 3.3, + "y": 3.4, + "z": 3.5, + "A": 3.6, + "B": 3.7, + "C": 3.8, + "D": 3.9, + "0": 0.0, + "4": 4.0 + }; + + choicesForCode = function(newCode) { + var choice, _i, _len, _ref, _results; + _ref = newCode.split(''); + _results = []; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + choice = _ref[_i]; + _results.push(letter_to_float_map[choice]); + } + return _results; + }; + + url = function(options) { + var s; + if (options == null) { + options = {}; + } + s = jQuery.extend({ + controller: controller, + code: codeForChoices(), + view: view, + sector: sector, + comparator: getComparator() + }, options); + if (s.view === 'costs_compared_within_sector' && (s.sector != null)) { + return "/" + s.controller + "/" + s.code + "/" + s.view + "/" + s.sector; + } else if (s.comparator != null) { + return "/" + s.controller + "/" + s.code + "/" + s.view + "/comparator/" + s.comparator; + } else { + return "/" + s.controller + "/" + s.code + "/" + s.view; + } + }; + + go = function(index, level) { + old_choices = choices.slice(0); + if (index <= 15 && index !== 3 && level > 1 && Math.ceil(choices[index]) === level) { + choices[index] = Math.round((choices[index] - 0.1) * 10) / 10; + } else { + choices[index] = level; + } + return loadMainPathway(); + }; + + demoTimer = null; + + demoOriginalLevel = null; + + startDemo = function(choice) { + var demoLevel, demoMaximum; + demoLevel = 1; + demoOriginalLevel = choices[choice]; + demoMaximum = window.twentyfifty.choice_sizes[choice]; + return demoTimer = setInterval((function() { + go(choice, demoLevel); + demoLevel = demoLevel + 1; + if (demoLevel > demoMaximum) { + demoLevel = 1; + } + return false; + }), 1000); + }; + + stopDemo = function(choice) { + if (demoTimer != null) { + clearInterval(demoTimer); + } + if ((demoOriginalLevel != null) && demoOriginalLevel !== choices[choice]) { + return go(choice, demoOriginalLevel); + } + }; + + switchView = function(new_view) { + var c, data; + $('.showdropdown').removeClass("showdropdown"); + if (view === new_view && (view_manager != null)) { + return false; + } + if (view_manager != null) { + view_manager.teardown(); + } + view = new_view; + view_manager = views[view]; + $("a.selectedView").removeClass("selectedView"); + $("a.view[data-view='" + view + "']").addClass("selectedView"); + if (view === "costs_in_context") { + $("#cost_choice").addClass("selectedView").text("Costs: context"); + } else if (view === "costs_compared_overview") { + $("#cost_choice").addClass("selectedView").text("Costs: compared"); + } else if (view === "costs_sensitivity") { + $("#cost_choice").addClass("selectedView").text("Costs: sensitivity"); + } else { + $("#cost_choice").text("Costs"); + } + c = codeForChoices(); + data = cache[c]; + if (data != null) { + view_manager.updateResults(data); + } + if (history['pushState'] != null) { + return history.pushState(choices, c, url()); + } + }; + + switchPathway = function(new_code) { + return setChoices(choicesForCode(new_code)); + }; + + setChoices = function(new_choices) { + $('.showdropdown').removeClass("showdropdown"); + old_choices = choices.slice(0); + choices = new_choices; + return loadMainPathway(); + }; + + loadMainPathway = function(pushState) { + var fetch, main_code; + if (pushState == null) { + pushState = true; + } + if (choices.join('') === old_choices.join('')) { + return false; + } + updateControls(old_choices, choices); + main_code = codeForChoices(); + if (history['pushState'] != null) { + history.pushState(choices, main_code, url()); + } + if (cache[main_code] != null) { + view_manager.updateResults(cache[main_code]); + return $('#calculating').hide(); + } else { + $('#calculating').show(); + fetch = function() { + return $.getJSON(url({ + code: main_code, + view: 'data', + sector: null, + comparator: null + }), function(data) { + if (data != null) { + cache[data._id] = data; + if (data._id === codeForChoices()) { + view_manager.updateResults(data); + return $('#calculating').hide(); + } + } + }); + }; + return fetch(); + } + }; + + loadSecondaryPathway = function(secondary_code, callback) { + var fetch, + _this = this; + if (cache[secondary_code] != null) { + return callback(cache[secondary_code]); + } else { + fetch = function() { + return $.getJSON(url({ + code: secondary_code, + view: 'data', + sector: null, + comparator: null + }), function(data) { + if (data != null) { + cache[data._id] = data; + return callback(data); + } + }); + }; + return fetch(); + } + }; + + window.onpopstate = function(event) { + var url_elements; + if (!event.state) { + return false; + } + url_elements = window.location.pathname.split('/'); + setChoices(choicesForCode(url_elements[2])); + switchView(url_elements[3]); + if (view === 'costs_compared_within_sector') { + switchSector(url_elements[4]); + } + if (url_elements[4] === 'comparator') { + return switchComparator(url_elements[5]); + } + }; + + updateControls = function(old_choices, choices) { + var c, choice, choice_frview, choice_whole, controls, i, old_choice, old_choice_frview, old_choice_whole, row, _i, _j, _len, _ref, _ref1, _results; + this.choices = choices; + controls = $('#classic_controls'); + _ref = this.choices; + _results = []; + for (i = _i = 0, _len = _ref.length; _i < _len; i = ++_i) { + choice = _ref[i]; + old_choice = old_choices[i]; + if (choice !== old_choices[i]) { + old_choice_whole = Math.ceil(old_choice); + old_choice_frview = parseInt((old_choice % 1) * 10); + choice_whole = Math.ceil(choice); + choice_frview = parseInt((choice % 1) * 10); + row = controls.find("tr#r" + i); + row.find(".selected, .level" + old_choice_whole + ", .level" + old_choice_whole + "_" + old_choice_frview).removeClass("selected level" + old_choice_whole + " level" + old_choice_whole + "_" + old_choice_frview); + if (old_choice_frview !== 0) { + controls.find("#c" + i + "l" + old_choice_whole).text(old_choice_whole); + } + row.find("#c" + i + "l" + choice_whole).addClass('selected'); + for (c = _j = 1, _ref1 = choice_whole - 1; 1 <= _ref1 ? _j <= _ref1 : _j >= _ref1; c = 1 <= _ref1 ? ++_j : --_j) { + controls.find("#c" + i + "l" + c).addClass("level" + choice_whole); + } + if (choice_frview !== 0) { + controls.find("#c" + i + "l" + choice_whole).text(choice); + _results.push(controls.find("#c" + i + "l" + choice_whole).addClass("level" + choice_whole + "_" + choice_frview)); + } else { + _results.push(controls.find("#c" + i + "l" + choice_whole).addClass("level" + choice_whole)); + } + } else { + _results.push(void 0); + } + } + return _results; + }; + + getSector = function() { + return parseInt(sector); + }; + + switchSector = function(new_sector) { + sector = new_sector; + if (history['pushState'] != null) { + history.pushState(choices, codeForChoices(), url()); + } + switchView('costs_compared_within_sector'); + view_manager.teardown(); + return view_manager.updateResults(cache[codeForChoices()]); + }; + + getComparator = function() { + return comparator; + }; + + switchComparator = function(new_comparator) { + comparator = new_comparator; + if (history['pushState'] != null) { + history.pushState(choices, codeForChoices(), url()); + } + if (view_manager.switchComparator != null) { + return view_manager.switchComparator(comparator); + } + }; + + pathwayName = function(pathway_code, default_name) { + if (default_name == null) { + default_name = null; + } + return window.twentyfifty.pathway_names_hash[pathway_code] || default_name; + }; + + pathwayDescriptions = function(pathway_code, default_description) { + if (default_description == null) { + default_description = null; + } + return window.twentyfifty.pathway_descriptions_hash[pathway_code] || default_description; + }; + + pathwayWikiPages = function(pathway_code, default_page) { + if (default_page == null) { + default_page = null; + } + return "http://2050-calculator-tool-wiki.decc.gov.uk/pages/" + (window.twentyfifty.pathway_wiki_pages_hash[pathway_code] || default_page); + }; + + getChoices = function() { + return choices; + }; + + window.twentyfifty.code = codeForChoices; + + window.twentyfifty.getChoices = getChoices; + + window.twentyfifty.setChoices = setChoices; + + window.twentyfifty.getSector = getSector; + + window.twentyfifty.switchSector = switchSector; + + window.twentyfifty.getComparator = getComparator; + + window.twentyfifty.switchComparator = switchComparator; + + window.twentyfifty.url = url; + + window.twentyfifty.go = go; + + window.twentyfifty.loadMainPathway = loadMainPathway; + + window.twentyfifty.loadSecondaryPathway = loadSecondaryPathway; + + window.twentyfifty.switchView = switchView; + + window.twentyfifty.switchPathway = switchPathway; + + window.twentyfifty.pathwayName = pathwayName; + + window.twentyfifty.pathwayDescriptions = pathwayDescriptions; + + window.twentyfifty.pathwayWikiPages = pathwayWikiPages; + + window.twentyfifty.startDemo = startDemo; + + window.twentyfifty.stopDemo = stopDemo; + + window.twentyfifty.views = views; + +}).call(this); +(function() { + var adjust_costs_of_pathway, calculateIncrementalCost, cost_categories, cost_override_in_place_warning, costs_in_category, group_costs_of_pathway, setDefaultStoreIfRequired, + __hasProp = {}.hasOwnProperty; + + window.costCaveatHTML = "
\n We would like your help to develop this tool. Please\nclick here\n to find out more about our methodology and suggest improvements.\nBefore viewing the cost implications of your choices, please note that:\n
    \n
  1. \n The Calculator expresses pathway costs as 'average pounds per person per year'. This is not the same as your energy bill. It is the cost of everything the UK buys that makes, converts, saves or uses energy: from kettles and insulation foam to trains and power stations. You can choose to see the results in different units when using the\n excel version of the Calculator.\n
  2. \n
  3. The Calculator does not choose any options automatically, regardless of their cost.
  4. \n
  5. \n The Calculator uses forecasts from credible sources of how technology and fuel costs might rise or fall over time. You vary these forecasts using the\n cost sensitivity\n implication from the menu on the top left. The full set of data points is available on the\n wiki.\n
  6. \n
  7. The cost of not tackling climate change is not included in the Calculator. The Stern review estimated that failing to tackle climate change could reduce global GDP by up to 20%. This is the equivalent of up to £6,500 per person per year on average, on top of the cost of the energy system.
  8. \n
  9. Some other important effects have been excluded from the Calculator. The costs of travelling less or with different modes of transport, having colder homes or fewer goods, and changing the appearance of our houses or landscape are not included. Nor are profits, taxes, subsidies or economies of scale driven by pathway choices. The Calculator includes only the physical costs of constructing, operating and fuelling equipment.
  10. \n
  11. Costs are just one feature for comparing 2050 pathways. The Calculator provides information on other impacts, as well as some illustrative pathways to compare your choices with.
  12. \n
\n\n
"; + + window.costEssentialNotesHTML = "
\n Note: The cost of failing to tackle climate change is not included. Some pathways, including the 'All at Level 1' pathway shown here, fail to tackle climate change. The Stern review estimated that failing to tackle climate change could reduce global GDP by up to 20% (equivalent to up to £6500 per person per year on top of the cost of the energy system included in the chart above). Nor are the costs of travelling less, being colder, or consuming less included.\n Show the caveats again\n
"; + + cost_categories = { + "Conventional thermal plant": "Electricity", + "Combustion + CCS": "Electricity", + "Nuclear power": "Electricity", + "Onshore wind": "Electricity", + "Offshore wind": "Electricity", + "Hydroelectric": "Electricity", + "Wave and Tidal": "Electricity", + "Geothermal": "Electricity", + "Distributed solar PV": "Electricity", + "Distributed solar thermal": "Buildings", + "Micro wind": "Electricity", + "Biomatter to fuel conversion": "Bioenergy", + "Bioenergy imports": "Bioenergy", + "Agriculture and land use": "Bioenergy", + "Energy from waste": "Bioenergy", + "Waste arising": "Bioenergy", + "Marine algae": "Bioenergy", + "Electricity imports": "Electricity", + "Electricity Exports": "Electricity", + "Electricity grid distribution": "Electricity", + "Storage, demand shifting, backup": "Electricity", + "H2 Production": "Transport", + "Domestic heating": "Buildings", + "Domestic insulation": "Buildings", + "Commercial heating and cooling": "Buildings", + "Domestic lighting, appliances, and cooking": "Buildings", + "Commercial lighting, appliances, and catering": "Buildings", + "Industrial processes": "Industry", + "Conventional cars and buses": "Transport", + "Hybrid cars and buses": "Transport", + "Electric cars and buses": "Transport", + "Fuel cell cars and buses": "Transport", + "Bikes": "Transport", + "Rail": "Transport", + "Domestic aviation": "Transport", + "Domestic freight": "Transport", + "International aviation": "Transport", + "International shipping (maritime bunkers)": "Transport", + "Geosequestration": "Other", + "Petroleum refineries": "Industry", + "Coal": "Fossil fuels", + "Oil": "Fossil fuels", + "Gas": "Fossil fuels", + "Fossil fuel transfers": "Fossil fuels", + "District heating effective demand": "Buildings", + "Power Carbon Capture": "Electricity", + "Industry Carbon Capture": "Industry", + "Storage of captured CO2": "Other", + "Finance cost": "Finance" + }; + + costs_in_category = function(desired_category) { + var category, cost, costs; + costs = []; + for (cost in cost_categories) { + if (!__hasProp.call(cost_categories, cost)) continue; + category = cost_categories[cost]; + if (category === desired_category) { + costs.push(cost); + } + } + return costs; + }; + + group_costs_of_pathway = function(pathway) { + var categorised_costs, category, category_name, high, low, name, range, values, _ref; + if (pathway.total_cost_low_adjusted == null) { + adjust_costs_of_pathway(pathway); + } + categorised_costs = {}; + _ref = pathway.cost_components; + for (name in _ref) { + if (!__hasProp.call(_ref, name)) continue; + values = _ref[name]; + category_name = cost_categories[name]; + category = categorised_costs[category_name]; + if (category == null) { + category = categorised_costs[category_name] = { + low: 0, + range: 0, + high: 0 + }; + } + low = values.low_adjusted; + range = values.range_adjusted; + high = values.high_adjusted; + values.low_adjusted_with_finance = low; + values.range_adjusted_with_finance = range; + values.high_adjusted_with_finance = high; + category.low += low; + category.range += range; + category.high += high; + category[name] = values; + } + pathway.categorised_costs = categorised_costs; + return pathway; + }; + + cost_override_in_place_warning = function() { + var ignore, name, o, _results; + _results = []; + for (name in cost_categories) { + if (!__hasProp.call(cost_categories, name)) continue; + ignore = cost_categories[name]; + o = jQuery.jStorage.get(name, void 0); + if ((o != null) && o !== 'point') { + $('#cost_override_warning').show(); + break; + } else { + _results.push(void 0); + } + } + return _results; + }; + + adjust_costs_of_pathway = function(pathway) { + var cost, finance, fraction_of_width, implied_fraction_of_width, name, total, values, _ref; + total = { + low: 0, + range: 0, + high: 0, + finance_max: 0 + }; + _ref = pathway.cost_components; + for (name in _ref) { + if (!__hasProp.call(_ref, name)) continue; + values = _ref[name]; + fraction_of_width = jQuery.jStorage.get(name, null); + if ((fraction_of_width != null) && fraction_of_width !== 'point' && fraction_of_width !== 'uncertain') { + cost = values.low + (values.range * fraction_of_width); + finance = values.finance_low + (values.finance_range * fraction_of_width); + values.low_adjusted = cost; + values.range_adjusted = 0; + values.high_adjusted = cost; + values.finance_low_adjusted = finance; + values.finance_range_adjusted = 0; + values.finance_high_adjusted = finance; + } else if (fraction_of_width === 'uncertain') { + values.low_adjusted = values.low; + values.range_adjusted = values.range; + values.high_adjusted = values.high; + values.finance_low_adjusted = values.finance_low; + values.finance_range_adjusted = values.finance_range; + values.finance_high_adjusted = values.finance_high; + } else { + values.low_adjusted = values.point; + values.range_adjusted = 0; + values.high_adjusted = values.point; + implied_fraction_of_width = (values.point - values.low) / values.range; + finance = values.finance_low + (values.finance_range * implied_fraction_of_width); + values.finance_low_adjusted = values.finance; + values.finance_range_adjusted = 0; + values.finance_high_adjusted = values.finance; + } + total.low += values.low_adjusted; + total.range += values.range_adjusted; + total.high += values.high_adjusted; + total.finance_max += values.finance_high_adjusted; + } + pathway.total_cost_low_adjusted = total.low; + pathway.total_cost_range_adjusted = total.range; + pathway.total_cost_high_adjusted = total.high; + return pathway; + }; + + setDefaultStoreIfRequired = function(pathway) { + var name, values, _ref; + if (jQuery.jStorage.get('defaultCostsSet') === true) { + return false; + } + _ref = pathway.cost_components; + for (name in _ref) { + if (!__hasProp.call(_ref, name)) continue; + values = _ref[name]; + if ((name !== 'Oil') && (name !== 'Gas') && (name !== 'Coal') && (name !== 'Finance cost')) { + jQuery.jStorage.set(name, 0); + } + } + return jQuery.jStorage.set('defaultCostsSet', true); + }; + + calculateIncrementalCost = function(pt, pc) { + var cc, ct, cvalues, name, tc, tt, tvalues, _ref; + if (pt.total_cost_low_adjusted == null) { + adjust_costs_of_pathway(pt); + } + if (pc.total_cost_low_adjusted == null) { + adjust_costs_of_pathway(pc); + } + tt = 0; + tc = 0; + ct = 0; + cc = 0; + _ref = pt.cost_components; + for (name in _ref) { + if (!__hasProp.call(_ref, name)) continue; + tvalues = _ref[name]; + if (name !== 0) { + cvalues = pc.cost_components[name]; + if (tvalues.range_adjusted === cvalues.range_adjusted) { + tt += tvalues.low_adjusted; + tc += tvalues.low_adjusted; + ct += cvalues.low_adjusted; + cc += cvalues.low_adjusted; + } else if (tvalues.range_adjusted >= cvalues.range_adjusted) { + tt += tvalues.low_adjusted; + ct += cvalues.low_adjusted; + tc += tvalues.high_adjusted; + cc += cvalues.high_adjusted; + } else { + tt += tvalues.high_adjusted; + ct += cvalues.high_adjusted; + tc += tvalues.low_adjusted; + cc += cvalues.low_adjusted; + } + } + } + return { + tc: tc, + tt: tt, + cc: cc, + ct: ct + }; + }; + + window.twentyfifty.group_costs_of_pathway = group_costs_of_pathway; + + window.twentyfifty.adjust_costs_of_pathway = adjust_costs_of_pathway; + + window.twentyfifty.calculateIncrementalCost = calculateIncrementalCost; + + window.twentyfifty.costs_in_category = costs_in_category; + + window.twentyfifty.cost_override_in_place_warning = cost_override_in_place_warning; + +}).call(this); +(function() { + window.timeSeriesStackedAreaChart = function() { + var area, chart, color_class_index, color_classes, dataTableFormat, first_scale_year, height, label_threshold, last_scale_year, line, margin, max_value, min_value, seriesClass, showLabelFilter, stack, title, total_label, unit, width, xAxis, xScale, x_center, yAxis, yScale; + margin = { + top: 41, + right: 108, + bottom: 40, + left: 33 + }; + width = 375; + height = 125; + x_center = (width - margin.left - margin.right) / 2; + title = ""; + unit = "TWh/yr"; + first_scale_year = 2010; + last_scale_year = 2050; + min_value = 0; + max_value = 4000; + total_label = "Total"; + xScale = d3.scale.linear(); + yScale = d3.scale.linear(); + xAxis = d3.svg.axis().scale(xScale).orient("bottom").ticks(5).tickFormat(d3.format(".0f")); + yAxis = d3.svg.axis().scale(yScale).orient("left").ticks(5).tickFormat(d3.format(".0f")); + stack = d3.layout.stack().values(function(d) { + return d.value; + }); + area = d3.svg.area().x(function(d, i) { + return xScale(d.x); + }).y0(function(d, i) { + return yScale(d.y0); + }).y1(function(d, i) { + return yScale(d.y0 + d.y); + }); + line = d3.svg.line().x(function(d, i) { + return xScale(d.x); + }).y(function(d, i) { + return yScale(d.y); + }); + color_classes = { + 'Total': 'total', + 'Total Use': 'total', + 'Total used in UK': 'total', + 'Environmental heat': 'environmentalheat' + }; + color_class_index = 0; + seriesClass = function(d, i) { + var c; + c = color_classes[d.key]; + if (c == null) { + c = "q" + color_class_index + "-12"; + color_classes[d.key] = c; + color_class_index++; + } + return c; + }; + label_threshold = 200; + showLabelFilter = function(d) { + return Math.abs(d.total) > label_threshold; + }; + dataTableFormat = d3.format(".0f"); + chart = function(selection) { + return selection.each(function(data) { + var areas, d, dataTable, g, gEnter, label, label_width, label_x, labels, minimum_y_space, negative_series, p, positive_series, previous_y, removeDataTable, series, stacked_data, svg, total, total_series, y, _i, _j, _k, _l, _len, _len1, _len2, _len3, _ref, _ref1; + width = $(this).width(); + height = width / 1.2; + x_center = (width - (margin.left * 2)) / 2; + positive_series = []; + negative_series = []; + total_series = []; + _ref = data.entries(); + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + series = _ref[_i]; + series.value = series.value.map(function(p, i) { + return { + x: first_scale_year + (i * 5), + y: p + }; + }); + total = 0; + _ref1 = series.value; + for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) { + p = _ref1[_j]; + total += p.y; + } + series.total = total; + if (series.key === total_label) { + series.path = line; + total_series.push(series); + } else { + series.path = area; + if (total >= 0) { + positive_series.push(series); + } else { + negative_series.push(series); + } + } + } + stacked_data = stack(positive_series.sort(function(a, b) { + return d3.descending(a.total, b.total); + })); + if (negative_series.length > 0) { + stacked_data = stack(negative_series.sort(function(a, b) { + return d3.ascending(a.total, b.total); + })).reverse().concat(stacked_data); + } + if (total_series.length > 0) { + stacked_data = stacked_data.concat(total_series.sort(function(a, b) { + return d3.descending(a.total, b.total); + })); + } + xScale.domain([first_scale_year, last_scale_year]).range([0, width - margin.left - margin.right]); + yScale.domain([min_value, max_value]).range([height - margin.top - margin.bottom, 0]); + svg = d3.select(this).selectAll("svg").data([stacked_data]); + gEnter = svg.enter().append("svg").append("g").attr('class', 'drawing Paired'); + gEnter.append("g").attr('class', 'context'); + gEnter.append("g").attr('class', 'series'); + svg.attr("width", width).attr("height", height); + g = svg.select("g.drawing").attr("transform", "translate(" + margin.left + "," + margin.top + ")"); + areas = g.select('g.series').selectAll("path").data(Object, function(d) { + return d.key; + }); + areas.enter().append("path").attr("class", function(d, i) { + return seriesClass(d, i); + }).on("mouseover", function(d, i) { + var c, l, s; + c = seriesClass(d, i); + dataTable(d, c); + g.selectAll("." + c).classed("hover", true); + if (!showLabelFilter(d)) { + l = g.selectAll("." + c + ".linelabel").attr("display", "inline"); + s = l[0][0].getBBox(); + return g.insert("rect", "." + c + ".linelabel").attr("class", "labelbackground").attr("x", s.x).attr("y", s.y).attr("width", s.width + 6).attr("height", s.height); + } + }).on("mouseout", function(d, i) { + var c; + removeDataTable(); + c = seriesClass(d, i); + g.selectAll("." + c).classed("hover", false); + if (!showLabelFilter(d)) { + g.selectAll("." + c + ".linelabel").attr("display", "none"); + return g.selectAll(".labelbackground").remove(); + } + }); + areas.transition().attr("d", function(d) { + return d.path(d.value); + }); + gEnter.append("g").attr("class", "x axis"); + gEnter.append("g").attr("class", "y axis"); + gEnter.append("text").attr("class", "y axislabel"); + gEnter.append("text").attr("class", "charttitle"); + g.select(".x.axis").attr("transform", "translate(0," + yScale(0) + ")").call(xAxis); + if (min_value < 0) { + g.selectAll(".x.axis text").attr("dy", yScale(min_value) - yScale(0) + 7); + } + g.select(".y.axis").attr("transform", "translate(0," + xScale.range()[0] + ")").call(yAxis); + g.select(".y.axislabel").attr("transform", "translate(0," + (xScale.range()[0] - 10) + ")").text(unit); + label = g.select(".y.axislabel"); + label_width = label[0][0].getBBox().width; + if (label_width > margin.left) { + label.attr("dx", label_width - margin.left); + } + g.select(".charttitle").attr("transform", "translate(" + x_center + "," + (xScale.range()[0] - 30) + ")").text(title); + label_x = xScale.range()[1] + 2; + minimum_y_space = Math.abs(yScale.invert(10) - yScale.invert(0)); + label_threshold = Math.abs(yScale.invert(5) - yScale.invert(0)) * 9; + for (_k = 0, _len2 = stacked_data.length; _k < _len2; _k++) { + d = stacked_data[_k]; + p = d.value[d.value.length - 1]; + if (p.y0 != null) { + d.label_y = p.y0 + (p.y / 2); + } else { + d.label_y = p.y; + } + d; + } + stacked_data.sort(function(a, b) { + var a_y, b_y; + a_y = a.label_y; + b_y = b.label_y; + if (a_y < 0 && b_y > 0) { + return -1; + } else if (a_y > 0 && b_y < 0) { + return 1; + } else if (a_y > 0 && b_y > 0) { + return a_y - b_y; + } else { + return a_y - b_y; + } + }); + previous_y = min_value - 1000; + for (_l = 0, _len3 = stacked_data.length; _l < _len3; _l++) { + d = stacked_data[_l]; + y = d.label_y; + if (showLabelFilter(d)) { + y = Math.max(previous_y + minimum_y_space, y); + previous_y = y; + d.label_y = y; + } + } + labels = g.selectAll(".linelabel").data(Object, (function(d) { + return d.key; + })); + labels.enter().append("text").attr("class", function(d, i) { + return "linelabel " + (seriesClass(d, i)); + }).attr("x", label_x).attr("y", function(d) { + return yScale(d.label_y) + 4; + }).text(function(d) { + return d.key; + }).on("mouseover", function(d, i) { + dataTable(d, seriesClass(d, i)); + return g.selectAll("." + (seriesClass(d, i))).classed("hover", true); + }).on("mouseout", function(d, i) { + removeDataTable(); + return g.selectAll("." + (seriesClass(d, i))).classed("hover", false); + }); + labels.exit().remove(); + labels.sort(function(a, b) { + return d3.descending(Math.abs(a.total), Math.abs(b.total)); + }).transition().attr("x", label_x).attr("y", function(d) { + return yScale(d.label_y) + 4; + }).attr("display", function(d, i) { + if (showLabelFilter(d)) { + return "inline"; + } else { + return "none"; + } + }); + dataTable = function(series, seriesclass) { + var grid; + labels = series.value; + grid = g.selectAll(".seriesValue").data(labels); + grid.enter().append("text").attr("class", "seriesValue"); + return grid.text(function(d, i) { + if ((i % 2) === 0) { + return dataTableFormat(d.y); + } else { + return ""; + } + }).attr("transform", function(d, i) { + return "translate(" + xScale(first_scale_year + (i * 5)) + "," + (yScale.range()[0] + 30) + ")"; + }).classed(seriesclass, true); + }; + return removeDataTable = function() { + return g.selectAll(".seriesValue").remove(); + }; + }); + }; + chart.title = function(_) { + if (_ == null) { + return title; + } + title = _; + return chart; + }; + chart.total_label = function(_) { + if (_ == null) { + return total_label; + } + total_label = _; + return chart; + }; + chart.unit = function(_) { + if (_ == null) { + return unit; + } + unit = _; + return chart; + }; + chart.max_value = function(_) { + if (_ == null) { + return max_value; + } + max_value = _; + return chart; + }; + chart.min_value = function(_) { + if (_ == null) { + return min_value; + } + min_value = _; + return chart; + }; + chart.x_center = function() { + return x_center; + }; + chart.area = function(_) { + if (_ == null) { + return area; + } + area = _; + return chart; + }; + return chart; + }; + +}).call(this); +(function() { + var PrimaryEnergy; + + PrimaryEnergy = (function() { + var sum_time_series; + + function PrimaryEnergy() {} + + PrimaryEnergy.prototype.setup = function() { + var charts, controller; + charts = d3.select("#results").selectAll(".chart").data(['demand_chart', 'supply_chart', 'emissions_chart']); + charts.enter().append('div').attr('id', Object).attr('class', 'chart'); + this.final_energy_chart = timeSeriesStackedAreaChart().title("Final Energy Demand").unit('TWh/yr').total_label('Total').max_value(4000); + this.primary_energy_chart = timeSeriesStackedAreaChart().title("Primary Energy Supply").unit('TWh/yr').total_label('Total used in UK').max_value(4000); + this.emissions_chart = timeSeriesStackedAreaChart().title("Greenhouse Gas Emissions").unit('MtCO2e/yr').total_label('Total').min_value(-500).max_value(1000); + controller = this; + return d3.selectAll(".chart").on("click", function(event) { + var chart; + chart = d3.select(this); + if (chart.attr("style") === "width:60%; float: left;") { + d3.selectAll(".chart").attr("style", null); + } else { + d3.selectAll(".chart").attr("style", "float: right"); + chart.attr("style", "width:60%; float: left;"); + } + return controller.updateResults(controller.pathway); + }); + }; + + PrimaryEnergy.prototype.teardown = function() { + $('#results').empty(); + this.final_energy_chart = null; + this.primary_energy_chart = null; + return this.emissions_chart = null; + }; + + PrimaryEnergy.prototype.updateResults = function(pathway) { + var acc, acc_percent, acc_success, acc_text, percent, series, t, target_acc; + this.pathway = pathway; + if (!((this.emissions_chart != null) && (this.final_energy_chart != null) && (this.primary_energy_chart != null))) { + this.setup(); + } + d3.select('#demand_chart').datum(d3.map(this.pathway.final_energy_demand)).call(this.final_energy_chart); + d3.select('#supply_chart').datum(d3.map(this.pathway.primary_energy_supply)).call(this.primary_energy_chart); + series = d3.map(this.pathway.ghg); + series.remove("percent_reduction_from_1990"); + percent = this.pathway.ghg.percent_reduction_from_1990; + d3.select('#emissions_chart').datum(series).call(this.emissions_chart); + t = d3.select('#emissions_chart g.drawing').selectAll('text.target').data([percent]); + t.enter().append('text').attr('class', 'target'); + t.attr('transform', 'translate(' + this.emissions_chart.x_center() + ',-18)'); + t.transition().tween('text', function(d) { + var current, i; + current = parseInt(this.textContent) || +d; + i = d3.interpolateRound(current, +d); + return function(t) { + return this.textContent = "" + (i(t)) + "% reduction 1990-2050; Target is 80%"; + }; + }); + target_acc = 9486; + acc = sum_time_series(this.pathway.ghg); + acc_percent = (acc / target_acc) * 100; + acc_success = (acc_percent <= 100 ? '

Meets CCC intended carbon budget

' : '

Exceeds CCC intended carbon budget!

'); + acc_text = '

Cumulative emissions: ' + acc.toString() + ' MtCO2e

' + '

Percentage of CCC pathway\'s cumulative emissions: ' + acc_percent.toFixed().toString() + '%

' + acc_success; + return jQuery('#cumulative_emissions').html(acc_text); + }; + + PrimaryEnergy.prototype.zoom = function() { + d3.select("#demand_chart").attr("style", "width: 60%"); + return this.updateResults(this.pathway); + }; + + PrimaryEnergy.prototype.unzoom = function() { + d3.select("#demand_chart").attr("style", null); + return this.updateResults(this.pathway); + }; + + sum_time_series = function(matrix) { + var avg, end, i, num_periods, period_total, row, start, sum; + row = matrix["Total"]; + num_periods = row.length - 1; + sum = 0; + i = 0; + while (i < num_periods) { + start = row[i]; + end = row[i + 1]; + avg = (start + end) / 2; + period_total = avg * 5; + sum += period_total; + i++; + } + return sum.toFixed(); + }; + + return PrimaryEnergy; + + })(); + + window.twentyfifty.views['primary_energy_chart'] = new PrimaryEnergy; + +}).call(this); +(function() { + var Electricity; + + Electricity = (function() { + var showContext; + + function Electricity() {} + + Electricity.prototype.setup = function() { + var charts, controller; + charts = d3.select("#results").selectAll(".chart").data(['demand_chart', 'supply_chart', 'emissions_chart']); + charts.enter().append('div').attr('id', Object).attr('class', 'chart'); + this.demand_chart = timeSeriesStackedAreaChart().title("Electricity Demand").unit('TWh/yr').max_value(4000); + this.supply_chart = timeSeriesStackedAreaChart().title("Electricity Supply").unit('TWh/yr').total_label('Total').max_value(4000); + this.emissions_chart = timeSeriesStackedAreaChart().title("Emissions from Electricity").unit('MtCO2e/yr').total_label('Total').min_value(-500).max_value(1000); + controller = this; + return d3.selectAll(".chart").on("click", function(event) { + var chart; + chart = d3.select(this); + if (chart.attr("style") === "width:60%; float: left;") { + d3.selectAll(".chart").attr("style", null); + } else { + d3.selectAll(".chart").attr("style", "float: right"); + chart.attr("style", "width:60%; float: left;"); + } + return controller.updateResults(controller.pathway); + }); + }; + + Electricity.prototype.teardown = function() { + $('#results').empty(); + this.final_energy_chart = null; + this.primary_energy_chart = null; + return this.emissions_chart = null; + }; + + showContext = function(data, chart_id, chart_object) { + var d, i, p, total; + d = (function() { + var _i, _len, _results; + _results = []; + for (i = _i = 0, _len = data.length; _i < _len; i = ++_i) { + p = data[i]; + _results.push({ + x: 2010 + (i * 5), + y: p, + y0: 0 + }); + } + return _results; + })(); + total = d3.select(chart_id).select('g.context').selectAll('path').data([d]); + total.enter().append("path"); + return total.transition().attr("d", function(d) { + return chart_object.area()(d); + }); + }; + + Electricity.prototype.updateResults = function(pathway) { + var series; + this.pathway = pathway; + if (!((this.emissions_chart != null) && (this.demand_chart != null) && (this.supply_chart != null))) { + this.setup(); + } + d3.select('#demand_chart').datum(d3.map(this.pathway.electricity.demand)).call(this.demand_chart); + series = d3.map(this.pathway.electricity.supply); + series.remove('Biomass/Coal power stations'); + series.remove('Non-thermal renewable generation'); + d3.select('#supply_chart').datum(series).call(this.supply_chart); + d3.select('#emissions_chart').datum(d3.map(this.pathway.electricity.emissions)).call(this.emissions_chart); + showContext(this.pathway.final_energy_demand.Total, '#demand_chart', this.demand_chart); + showContext(this.pathway.final_energy_demand.Total, '#supply_chart', this.supply_chart); + return showContext(this.pathway.ghg.Total, '#emissions_chart', this.emissions_chart); + }; + + return Electricity; + + })(); + + window.twentyfifty.views['electricity'] = new Electricity; + +}).call(this); +(function() { + var EnergySecurity, + __hasProp = {}.hasOwnProperty; + + EnergySecurity = (function() { + function EnergySecurity() { + this.long_descriptions = twentyfifty.longDescriptions; + } + + EnergySecurity.prototype.setup = function() { + this.ready = true; + return $('#results').append("
"); + }; + + EnergySecurity.prototype.teardown = function() { + this.ready = false; + return $('#results').empty(); + }; + + EnergySecurity.prototype.updateResults = function(pathway) { + this.pathway = pathway; + if (!this.ready) { + this.setup(); + } + this.updateBalancingSection(); + this.updateImportsSection(); + return this.updatedDiversitySection(); + }; + + EnergySecurity.prototype.updateBalancingSection = function() { + var element; + element = $('#balancing'); + element.empty(); + element.append("

Balancing electricity supply and demand

"); + if (this.pathway.electricity.automatically_built > 0) { + element.append("

" + (Math.round(this.pathway.electricity.automatically_built)) + " GW of conventional gas electricity generation plant has been assumed to have been built by 2050, to cover the gap between average electricity demand and the amount of low carbon generation selected in this pathway.

"); + } + element.append("

This tool does not model the hourly, daily or even seasonal operation of the electricity grid. It presents annual averages. Therefore it does not correctly represent the peaks and troughs of electricity demand.

"); + element.append("

To go some way to addressing this flaw, the tool applies a simulated stress test to your pathway of five cold, almost windless, days. This is described in more detail here."); + element.append("In this case, the stress test implies that " + (Math.round(this.pathway.electricity.peaking)) + " GW of additional peaking plant may be required for supply to meet demand over that period.

"); + return element.append("

You can influence the amount of peaking plant by changing your choice level of 'storage, demand shifting & interconnection' below right, or by reducing the amount of intermittent renewable generation, or by reducing the demand for electricity

"); + }; + + EnergySecurity.prototype.updateImportsSection = function() { + var element, name, values, _ref; + element = $('#imports'); + element.empty(); + element.append("

Dependence on imported energy

"); + element.append("

The calculator assumes that any available biomass is preferred over fossil fuels and that domestically produced fuels are preferred over imports. It assumes that fossil fuels are imported to cover any shortfall.

"); + element.append("
"); + element.append(""); + element.append(""); + _ref = this.pathway.imports; + for (name in _ref) { + if (!__hasProp.call(_ref, name)) continue; + values = _ref[name]; + element.append(""); + } + return element.append("
20072050
ImportsTWh/yr%TWh/yr%
" + name + "" + values['2007'].quantity + "" + values['2007'].proportion + " " + values['2050'].quantity + "" + values['2050'].proportion + "
"); + }; + + EnergySecurity.prototype.updatedDiversitySection = function() { + var element, name, values, _ref; + element = $('#diversity'); + element.empty(); + element.append("

Diversity of energy sources

"); + element.append("

There may be a benefit from maintaining a diversity of energy sources:

"); + element.append(""); + element.append(""); + _ref = this.pathway.diversity; + for (name in _ref) { + if (!__hasProp.call(_ref, name)) continue; + values = _ref[name]; + if (!(values['2007'] === "0%" && values['2050'] === "0%")) { + element.append(""); + } + } + return element.append("
Proportion of energy supply20072050
" + name + "" + values['2007'] + " " + values['2050'] + "
"); + }; + + return EnergySecurity; + + })(); + + window.twentyfifty.views['energy_security'] = new EnergySecurity; + +}).call(this); +(function() { + var Map; + + Raphael.fn.up_labeled_square = function(x, y, label, area, colour) { + var side, sq; + side = Math.sqrt(area); + sq = this.rect(x, y - side, side, side).attr({ + stroke: colour, + fill: colour, + 'fill-opacity': "0.5" + }); + label = this.text(x - 2, y - (side / 2), label).attr({ + 'text-anchor': 'end', + fill: 'black' + }); + label.hide(); + return { + square: sq, + label: label + }; + }; + + Raphael.fn.up_right_labeled_square = function(x, y, label, area, colour) { + var side, sq; + side = Math.sqrt(area); + sq = this.rect(x - (side / 2), y - side, side, side).attr({ + stroke: colour, + fill: colour, + 'fill-opacity': "0.5" + }); + label = this.text(x + (side / 2) + 4, y - (side / 2), label).attr({ + 'text-anchor': 'start', + fill: 'black' + }); + return { + square: sq, + label: label + }; + }; + + Raphael.fn.down_labeled_square = function(x, y, label, area, colour) { + var side, sq; + side = Math.sqrt(area); + sq = this.rect(x - side, y, side, side).attr({ + stroke: colour, + fill: colour, + 'fill-opacity': "0.5" + }); + label = this.text(x + 4, y + (side / 2), label).attr({ + 'text-anchor': 'start', + fill: 'black' + }); + return { + square: sq, + label: label + }; + }; + + Map = (function() { + var GW, MW, Mha, colours, display_height, display_in_element, display_width, ha, km, km2, labels, m, m2, map_height, map_image_url, map_offset_x, map_offset_y, map_width, pointSizes; + + display_in_element = 'map'; + + display_width = 1200; + + display_height = 800; + + map_image_url = '/assets/images/uk.png'; + + map_width = 492; + + map_height = 725; + + map_offset_x = 150; + + map_offset_y = 0; + + km = 0.69; + + m = km / 1000.0; + + m2 = m * m; + + ha = 10000 * m2; + + km2 = 1e6 * m2; + + Mha = 1e6 * ha; + + GW = 2; + + MW = GW / 1000; + + colours = { + 'III.a.2': '#ff0000', + 'III.a.1': '#ff0000', + 'IV.c': '#aa0000', + 'VI.a.Biocrop': '#00ff00', + 'VI.a.Forestry': '#408000', + 'VI.c': '#00ff00', + 'V.b': '#00ff00', + 'IV.a': '#ffff00', + 'IV.b': '#cccc00', + 'VII.a': '#ffff00', + 'III.b': '#0000ff', + 'III.c.TidalRange': '#0000ff', + 'III.c.TidalStream': '#aaaaff', + 'I.a': '#666', + 'I.b': '#CCC', + 'II.a': '#FF0', + 'III.d': '#F00', + 'VII.c': '#008000', + 'VI.b': '#F00' + }; + + labels = { + 'III.a.2': 'Offshore wind', + 'III.a.1': 'Onshore wind', + 'IV.c': 'Micro wind', + 'VI.a.Biocrop': 'Energy crops', + 'VI.a.Forestry': 'Forest', + 'VI.c': 'Marine algae', + 'V.b': 'Biocrops', + 'IV.a': 'Solar PV', + 'IV.b': 'Solar thermal', + 'VII.a': 'Solar PV', + 'III.b': 'Hydro', + 'III.c.TidalRange': 'Tidal range', + 'III.c.TidalStream': 'Tidal stream', + 'I.a': '2 GW coal gas or biomass power stations without CCS', + 'I.b': '1.2 GW coal gas or biomass power stations with CCS', + 'II.a': '3 GW nuclear power station', + 'III.d': '0.01 GW geothermal stations', + 'VII.c': '1 GW gas standby power stations', + 'VI.b': '215 kt/y waste to energy conversion facilities' + }; + + pointSizes = { + 'I.a': 2, + 'I.b': 1.2, + 'II.a': 3, + 'III.d': 0.01, + 'VII.c': 1, + 'VI.b': 0.01 + }; + + function Map() { + this.ready = false; + } + + Map.prototype.setup = function() { + var name, r, x, y, _i, _j, _k, _len, _len1, _len2, _ref, _ref1, _ref2; + this.ready = true; + $('#results').append("
"); + r = Raphael(display_in_element, display_width, display_height); + this.r = r; + r.image(map_image_url, map_offset_x, map_offset_y, map_width, map_height); + r.text(20, 10, "Illustration of scale of land and sea use in 2050 (positions are arbitrary)").attr({ + 'font-weight': 'bold', + 'text-anchor': 'start' + }); + this.wave = { + line: r.path([]).attr({ + stroke: 'blue', + 'stroke-width': 2 + }), + label: r.text(98, 34, "Wave").attr({ + 'text-anchor': 'end' + }) + }; + this.wave.label.hide(); + x = (map_width / 2) + map_offset_x; + y = map_height + map_offset_y - 100; + this.land_boxes = {}; + _ref = ['III.a.1', 'III.b', 'IV.a', 'IV.b', 'IV.c', 'VI.a.Biocrop', 'VI.a.Forestry']; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + name = _ref[_i]; + this.land_boxes[name] = r.up_labeled_square(x, y, labels[name], 0, colours[name]); + } + x = (map_width / 2) + map_offset_x + 250; + y = 30; + this.sea_boxes = {}; + _ref1 = ['III.a.2', 'III.c.TidalStream', 'III.c.TidalRange', 'VI.c']; + for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) { + name = _ref1[_j]; + this.sea_boxes[name] = r.down_labeled_square(x, y, labels[name], 0, colours[name]); + } + r.path("M244,695 q0,-200 -200,-200").attr({ + 'stroke': '#ccc' + }); + r.text(44, 510, "Imports").attr({ + 'fill': '#ccc', + 'font-weight': 'bold', + 'text-anchor': 'start' + }); + x = map_offset_x - 105; + y = map_height + map_offset_y - 30; + this.overseas_land_boxes = {}; + _ref2 = ['V.b', 'VII.a']; + for (_k = 0, _len2 = _ref2.length; _k < _len2; _k++) { + name = _ref2[_k]; + this.overseas_land_boxes[name] = r.up_labeled_square(x, y, labels[name], 0, colours[name]); + } + this.points = r.set(); + return r.text(700, 10, "Illustration of the number of thermal power stations in 2050 (scales and positions are arbitrary)").attr({ + 'font-weight': 'bold', + 'text-anchor': 'start' + }); + }; + + Map.prototype.point_stack = function(x, y, number, colour, label, size) { + var i, width, x_count, x_step, y_step, _i; + x_count = 0; + if (size < 10) { + x_step = 5; + y_step = 5; + } else { + x_step = 1.5 * size; + y_step = 1.5 * size; + } + width = 100; + if (number > 0) { + this.r.text(x - 20, y, label).attr({ + 'text-anchor': 'end' + }); + } + for (i = _i = 1; 1 <= number ? _i <= number : _i >= number; i = 1 <= number ? ++_i : --_i) { + this.r.circle(x + (x_count * x_step), y, size * km).attr({ + 'stroke-width': 0, + 'fill': colour + }); + this.r.circle(x + (x_count * x_step), y, 1).attr({ + 'stroke-width': 0, + 'fill': 'black' + }); + x_count = x_count + 1; + if ((x_count * x_step) > width) { + x_count = 0; + y = y + y_step; + } + } + return y = y + 30; + }; + + Map.prototype.teardown = function() { + $('#results').empty(); + return this.ready = false; + }; + + Map.prototype.updateResults = function(data) { + var box, map, name, side, size, value, values, x, y, _i, _j, _k, _l, _len, _len1, _len2, _len3, _len4, _m, _ref, _ref1, _ref2, _ref3; + if (!this.ready) { + this.setup(); + } + map = data.map; + if (map.wave > 0) { + this.wave.label.show(); + } + if (map.wave === 0) { + this.wave.label.hide(); + } + this.wave.line.attr({ + path: ["M", 100, 30, "l", 0, map.wave * km] + }); + y = map_height + map_offset_y - 100; + values = []; + _ref = this.land_boxes; + for (name in _ref) { + box = _ref[name]; + values.push({ + name: name, + value: map[name] + }); + } + values.sort(function(a, b) { + return b.value - a.value; + }); + for (_i = 0, _len = values.length; _i < _len; _i++) { + value = values[_i]; + box = this.land_boxes[value.name]; + side = Math.sqrt(value.value * km2); + box.square.attr({ + y: y - side, + width: side, + height: side + }); + box.label.attr({ + y: y - (side / 2) + }); + if (value.value > 10) { + box.label.show(); + } else { + box.label.hide(); + } + y = y - side - 5; + } + x = (map_width / 2) + map_offset_x + 250; + y = 30; + values = []; + _ref1 = this.sea_boxes; + for (name in _ref1) { + box = _ref1[name]; + values.push({ + name: name, + value: map[name] + }); + } + values.sort(function(a, b) { + return b.value - a.value; + }); + for (_j = 0, _len1 = values.length; _j < _len1; _j++) { + value = values[_j]; + box = this.sea_boxes[value.name]; + side = Math.sqrt(value.value * km2); + box.square.attr({ + x: x - side, + y: y, + width: side, + height: side + }); + box.label.attr({ + x: x + 4, + y: y + (side / 2) + }); + if (value.value > 10) { + box.label.show(); + } else { + box.label.hide(); + } + y = y + side + 5; + } + y = map_height + map_offset_y - 30; + values = []; + _ref2 = this.overseas_land_boxes; + for (name in _ref2) { + box = _ref2[name]; + values.push({ + name: name, + value: map[name] + }); + } + values.sort(function(a, b) { + return b.value - a.value; + }); + for (_k = 0, _len2 = values.length; _k < _len2; _k++) { + value = values[_k]; + box = this.overseas_land_boxes[value.name]; + side = Math.sqrt(value.value * km2); + box.square.attr({ + y: y - side, + width: side, + height: side + }); + box.label.attr({ + y: y - (side / 2) + }); + if (value.value > 10) { + box.label.show(); + } else { + box.label.hide(); + } + y = y - side - 5; + } + if (this.points != null) { + this.points.remove(); + } + this.r.setStart(); + y = 35; + x = 1055; + values = []; + _ref3 = ['I.a', 'I.b', 'II.a', 'III.d', 'VII.c', 'VI.b']; + for (_l = 0, _len3 = _ref3.length; _l < _len3; _l++) { + name = _ref3[_l]; + values.push({ + name: name, + value: map[name] + }); + } + values.sort(function(a, b) { + return b.value - a.value; + }); + for (_m = 0, _len4 = values.length; _m < _len4; _m++) { + value = values[_m]; + if (value.value >= 1) { + size = Math.round(Math.sqrt(pointSizes[value.name]) * 10); + y = this.point_stack(x, y, value.value, colours[value.name], "" + (Math.round(value.value)) + " x " + labels[value.name], size); + } + } + return this.points = this.r.setFinish(); + }; + + return Map; + + })(); + + window.twentyfifty.views['map'] = new Map; + +}).call(this); +(function() { + var SankeyDisplay; + + SankeyDisplay = (function() { + var convert_name, name_conversions; + + name_conversions = { + "UK land based bioenergy": "Forests & biocrops", + "Bio-conversion": "Biomass processing", + "H2 conversion": "Hydrogen production", + "H2": "Hydrogen", + "Useful district heat": "Delivered heat", + "Heating and cooling - homes": "Home heating & cooling", + "Heating and cooling - commercial": "Office heating & cooling", + "Lighting & appliances - homes": "Home lighting & appliances", + "Lighting & appliances - commercial": "Office lighting & appliances" + }; + + convert_name = function(name) { + return name_conversions[name] || name; + }; + + function SankeyDisplay() {} + + SankeyDisplay.prototype.updateResults = function(pathway) { + var data, max_y; + if (this.s == null) { + this.setup(); + } + data = pathway.sankey; + if (this.drawn === true) { + this.s.updateData(data); + this.s.redraw(); + } else { + this.s.setData(data); + this.s.draw(); + this.drawn = true; + } + max_y = this.s.boxes['Losses'].b(); + if ($('#sankey').height() < max_y) { + $('#sankey').height(max_y); + return this.s.r.setSize($('#sankey').width(), max_y); + } + }; + + SankeyDisplay.prototype.teardown = function() { + $('#results').empty(); + return this.s = null; + }; + + SankeyDisplay.prototype.setup = function() { + var pixels_per_TWh; + if (this.s != null) { + return false; + } + $('#results').append("
"); + this.s = new Sankey(); + this.s.stack(0, ["Pumped heat", "Solar", "Wind", "Tidal", "Wave", "Geothermal", "Hydro", "Electricity imports", "Nuclear", "Coal reserves", "Coal imports", "Biomass imports", "Oil reserves", "Oil imports", "Biofuel imports", "Gas reserves", "Gas imports", "UK land based bioenergy", "Agricultural 'waste'", "Other waste", "Marine algae"]); + this.s.stack(1, ["Coal"], "Coal reserves"); + this.s.stack(1, ["Oil"], "Oil reserves"); + this.s.stack(1, ["Natural Gas"], "Gas reserves"); + this.s.stack(1, ["Bio-conversion"], "UK land based bioenergy"); + this.s.stack(2, ["Solar Thermal", "Solar PV"], "Solar"); + this.s.stack(2, ["Solid", "Liquid", "Gas"], "Coal"); + this.s.stack(3, ["Thermal generation", "CHP"], "Nuclear"); + this.s.stack(4, ["Electricity grid", "District heating"], "Wind"); + this.s.stack(5, ["H2 conversion"], "Electricity grid"); + this.s.stack(6, ["H2"], "H2 conversion"); + this.s.stack(7, ["Heating and cooling - homes", "Heating and cooling - commercial", "Lighting & appliances - homes", "Lighting & appliances - commercial", "Industry", "Road transport", "Rail transport", "Domestic aviation", "International aviation", "National navigation", "International shipping", "Agriculture", "Geosequestration", "Over generation / exports", "Losses"]); + this.s.nudge_boxes_callback = function() { + return this.boxes["Losses"].y = this.boxes["Marine algae"].b() - this.boxes["Losses"].size(); + }; + this.s.setColors({ + "Coal reserves": "#8F6F38", + "Coal": "#8F6F38", + "Coal imports": "#8F6F38", + "Oil reserves": "#A99268", + "Oil": "#A99268", + "Oil imports": "#A99268", + "Gas reserves": "#DDD4C4", + "Natural Gas": "#DDD4C4", + "Gas imports": "#DDD4C4", + "Solar": "#F6FF00", + "Solar Thermal": "#F6FF00", + "Solar PV": "#F6FF00", + "UK land based bioenergy": "#30FF00", + "Bio-conversion": "#30FF00", + "Marine algae": "#30FF00", + "Agricultural 'waste'": "#30FF00", + "Other waste": "#30FF00", + "Biomass imports": "#30FF00", + "Biofuel imports": "#30FF00", + "Solid": "#557731", + "Liquid": "#7D9763", + "Gas": "#BCC2AD", + "Electricity grid": "#0000FF", + "Thermal generation": "#0000FF", + "CHP": "#FF0000", + "Nuclear": "#E2ABDB", + "District heating": "#FF0000", + "Pumped heat": "#FF0000", + "Useful district heat": "#FF0000", + "CHP Heat": "#FF0000", + "Electricity imports": "#0000FF", + "Wind": "#C7E7E6", + "Tidal": "#C7E7E6", + "Wave": "#C7E7E6", + "Geothermal": "#C7E7E6", + "Hydro": "#C7E7E6", + "H2 conversion": "#FF6FCF", + "Final electricity": "#0000FF", + "Over generation / exports": "#0000FF", + "H2": "#FF6FCF" + }); + this.s.nudge_colours_callback = function() { + this.recolour(this.boxes["Losses"].left_lines, "#ddd"); + this.recolour(this.boxes["District heating"].left_lines, "#FF0000"); + return this.recolour(this.boxes["Electricity grid"].left_lines, "#0000FF"); + }; + pixels_per_TWh = $('#sankey').height() / 6000; + this.s.y_space = Math.round(100 * pixels_per_TWh); + this.s.right_margin = 250; + this.s.left_margin = 150; + this.s.convert_flow_values_callback = function(flow) { + return flow * pixels_per_TWh; + }; + this.s.convert_flow_labels_callback = function(flow) { + return Math.round(flow); + }; + return this.s.convert_box_value_labels_callback = function(flow) { + return "" + Math.round(flow) + " TWh/y"; + }; + }; + + return SankeyDisplay; + + })(); + + window.twentyfifty.views['sankey'] = new SankeyDisplay; + +}).call(this); +(function() { + var AirQuality, airQualityHTML, + __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; + + airQualityHTML = "
\n

The impact of your pathway on air quality

\n
\n
\n
\n

How to interpret these results:

\n
    \n
  • Air pollution health impact index — this index measures the effect on human health from fine particulate matter and other air pollutants such as nitrogen oxides. For example, these pollutants have been linked to premature death caused by heart and lung disease. 2010 is the baseline year (100). A number lower than 100 indicates a reduction in average air pollution and associated health impacts, whilst a higher number indicates an increase. This index reflects changes in the average concentration of air pollutants across the UK. It does not provide information on the number or severity of pollution hotspots.
  • \n
  • Low end of hatched range — worst case scenario for air pollution whereby there is no further deployment or innovation in pollution abatement technology between now and 2050 beyond planned measures.
  • \n
  • High end of hatched range — best case scenario whereby innovation radically improves pollution abatement technology between now and 2050 and it is fully deployed.
  • \n
\n

\n We would welcome your feedback on the\n methodology used to calculate the impact of your pathway on air quality.\n You can also download the excel version of the 2050 pathways calcualtor to see the different types of air pollution and the relative importance of different sources.\n

\n
\n
"; + + AirQuality = (function() { + function AirQuality() { + this.updateResults = __bind(this.updateResults, this); + this.updateComparator = __bind(this.updateComparator, this); + this.ready = false; + } + + AirQuality.prototype.setup = function() { + var clow, comparator_id, crange, e, format, h, low, range, tick, x, _2010, _i, _len, _ref; + if (this.ready) { + return false; + } + this.ready = true; + $("#results").append(airQualityHTML); + $("#message").addClass('warning'); + e = $('#airquality'); + this.h = e.height(); + this.w = e.width(); + this.r = new Raphael('airquality', this.w, this.h); + this.x = d3.scale.linear().domain([0, 250]).range([300, this.w - 30]).nice(); + this.y = d3.scale.ordinal().domain(['2010', 'comparator', 'chosen']).rangeRoundBands([25, this.h - 20], 0.25); + comparator_id = twentyfifty.getComparator() || twentyfifty.default_comparator_code; + this.r.text(30, this.y("2010") + 9, "2010").attr({ + 'text-anchor': 'start', + 'font-weight': 'bold' + }); + this.r.text(30, this.y("comparator") + 9, "2050 - " + (twentyfifty.pathwayName(comparator_id))).attr({ + 'text-anchor': 'start', + 'font-weight': 'bold' + }); + this.r.text(30, this.y("chosen") + 9, "2050 - Your pathway").attr({ + 'text-anchor': 'start', + 'font-weight': 'bold' + }); + this.bars = {}; + h = this.y.rangeBand(); + x = this.x(0); + _2010 = this.r.rect(x, this.y('2010'), this.x(100) - this.x(0), h).attr({ + 'fill': '#008000', + 'stroke': 'none' + }); + this.r.text(30, this.y('comparator') + 27, twentyfifty.pathwayDescriptions(comparator_id, "")).attr({ + 'text-anchor': 'start' + }); + clow = this.r.rect(x, this.y('comparator'), 0, h).attr({ + 'fill': '#f00', + 'stroke': 'none' + }); + crange = this.r.rect(x, this.y('comparator'), 0, h).attr({ + 'fill': 'url(/assets/images/hatches/hatch-f00.png)', + 'stroke': 'none' + }); + this.bars['comparator'] = { + low: clow, + range: crange + }; + low = this.r.rect(x, this.y('chosen'), 0, h).attr({ + 'fill': '#1f77b4', + 'stroke': 'none' + }); + range = this.r.rect(x, this.y('chosen'), 0, h).attr({ + 'fill': 'url(/assets/images/hatches/hatch-1f77b4.png)', + 'stroke': 'none' + }); + this.bars['chosen'] = { + low: low, + range: range + }; + this.r.text(this.x(0), 10, "Air pollution health impact index (2010=100)").attr({ + 'text-anchor': 'start', + 'font-weight': 'bold', + 'fill': '#000' + }); + this.r.path(["M", this.x(0), this.h - 35, "L", this.x(0), 30, "L", this.w - 30, 30]).attr({ + 'stroke': '#000', + 'stroke-width': 2 + }); + format = this.x.tickFormat(10); + _ref = this.x.ticks(10); + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + tick = _ref[_i]; + this.r.text(this.x(tick), 23, format(tick)).attr({ + 'text-anchor': 'middle', + fill: '#000000' + }); + this.r.path(["M", this.x(tick), 29, "L", this.x(tick), this.h - 26]).attr({ + stroke: '#fff' + }); + } + return twentyfifty.loadSecondaryPathway(comparator_id, this.updateComparator); + }; + + AirQuality.prototype.teardown = function() { + $("#results").empty(); + $("#message").removeClass('warning'); + return this.ready = false; + }; + + AirQuality.prototype.updateComparator = function(pathway) { + if (!this.ready) { + this.setup(); + } + this.bars['comparator']['low'].attr({ + width: this.x(pathway.air_quality.low) - this.x(0) + }); + return this.bars['comparator']['range'].attr({ + width: this.x(pathway.air_quality.high - pathway.air_quality.low) - this.x(0), + x: this.x(pathway.air_quality.low) + }); + }; + + AirQuality.prototype.updateResults = function(pathway) { + var text; + if (!this.ready) { + this.setup(); + } + this.bars['chosen']['low'].attr({ + width: this.x(pathway.air_quality.low) - this.x(0) + }); + this.bars['chosen']['range'].attr({ + width: this.x(pathway.air_quality.high - pathway.air_quality.low) - this.x(0), + x: this.x(pathway.air_quality.low) + }); + text = ["The damage to human health arising from air pollution from this pathway, principally particulate matter, could be around "]; + text.push("" + (Math.abs(Math.round(100 - pathway.air_quality.high))) + "%"); + if (pathway.air_quality.high > 100 && pathway.air_quality.low <= 100) { + text.push(" higher "); + } + if (pathway.air_quality.high <= 100 && pathway.air_quality.low > 100) { + text.push(" lower "); + } + text.push(" to "); + text.push("" + (Math.abs(Math.round(100 - pathway.air_quality.low))) + "%"); + if (pathway.air_quality.low > 100) { + text.push(" higher"); + } + if (pathway.air_quality.low <= 100) { + text.push(" lower"); + } + text.push(" in 2050 compared to 2010."); + if (pathway.air_quality.high > 100) { + text.push(" Given the scope for adverse implications for air quality, if the UK were to adopt this pathway the Government would develop a policy framweork that supported the innovation required to be at the bottom end of the range"); + } + return $('#airqualitymessage').html(text.join('')); + }; + + return AirQuality; + + })(); + + window.twentyfifty.views['air_quality'] = new AirQuality; + +}).call(this); +(function() { + var CostsInContext, costsInContextHTML, + __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }, + __hasProp = {}.hasOwnProperty; + + costsInContextHTML = "
\n
NB Some costs not on default values
\n

\n The cost to society of your pathway. This is not your energy bill.
\n For comparison, UK average GDP 2010-2050 is forecast to be roughly £35000 per person.\n

\n " + window.costCaveatHTML + "\n
\n " + window.costEssentialNotesHTML + "\n
"; + + CostsInContext = (function() { + function CostsInContext() { + this.updateBar = __bind(this.updateBar, this); + this.setup = __bind(this.setup, this); + this.pathways = {}; + this.ready = false; + } + + CostsInContext.prototype.setup = function() { + var all_pathways, code, comparator_pathways, e, format, h, labels_hide, labels_show, low, low_label, message, overlay, overlays, range, range_label, tick, x, y, _i, _j, _k, _l, _len, _len1, _len2, _len3, _len4, _m, _ref, _results, + _this = this; + if (this.ready) { + return false; + } + this.ready = true; + $("#results").append(costsInContextHTML); + $("#message").addClass('warning'); + twentyfifty.cost_override_in_place_warning(); + all_pathways = ["chosen"].concat(twentyfifty.comparator_pathways); + comparator_pathways = twentyfifty.comparator_pathways; + e = $('#costsincontext'); + this.h = e.height(); + this.w = e.width(); + this.r = new Raphael('costsincontext', this.w, this.h); + this.x = d3.scale.linear().domain([0, 40000]).range([250, this.w - 30]).nice(); + this.y = d3.scale.ordinal().domain(all_pathways).rangeRoundBands([25, this.h - 20], 0.25); + for (_i = 0, _len = comparator_pathways.length; _i < _len; _i++) { + code = comparator_pathways[_i]; + this.r.rect(this.x(0), this.y(code), this.x(40000) - this.x(0), this.y.rangeBand()).attr({ + 'fill': '#ddd', + 'stroke': 'none' + }); + } + this.r.rect(25, this.y("chosen"), this.x(40000) - 25, this.y.rangeBand()).attr({ + 'fill': '#FCFF9B', + 'stroke': 'none' + }); + this.r.text(30, this.y("chosen") + 9, "Your pathway").attr({ + 'text-anchor': 'start', + 'font-weight': 'bold' + }); + this.r.text(30, this.y("chosen") + 27, "You can click on the chart to make a more\ndetailed comparison with the pathways below").attr({ + 'text-anchor': 'start' + }); + for (_j = 0, _len1 = comparator_pathways.length; _j < _len1; _j++) { + code = comparator_pathways[_j]; + this.r.text(30, this.y(code) + 9, twentyfifty.pathwayName(code, code)).attr({ + 'text-anchor': 'start', + 'font-weight': 'bold', + href: twentyfifty.pathwayWikiPages(code) + }); + this.r.text(30, this.y(code) + 27, twentyfifty.pathwayDescriptions(code, "")).attr({ + 'text-anchor': 'start', + href: twentyfifty.pathwayWikiPages(code) + }); + } + this.bars = {}; + this.low = { + boxes: this.r.set(), + labels: this.r.set(), + top_label: null, + top_label_box: null + }; + this.range = { + boxes: this.r.set(), + labels: this.r.set(), + top_label: null, + top_label_box: null + }; + overlays = this.r.set(); + x = this.x(0); + h = this.y.rangeBand(); + labels_show = function() { + _this.low.labels.show(); + return _this.range.labels.show(); + }; + labels_hide = function() { + _this.low.labels.hide(); + return _this.range.labels.hide(); + }; + for (_k = 0, _len2 = all_pathways.length; _k < _len2; _k++) { + code = all_pathways[_k]; + y = this.y(code); + low = this.r.rect(x, y, 0, h).attr({ + 'fill': '#008000', + 'stroke': 'none' + }); + range = this.r.rect(x, y, 0, h).attr({ + 'fill': 'url(/assets/images/hatches/hatch-green.png)', + 'stroke': 'none' + }); + low_label = this.r.text(x + 10, y + h / 2, "").attr({ + 'fill': '#000', + 'text-anchor': 'start' + }); + range_label = this.r.text(x, y + h / 2, "").attr({ + 'text-anchor': 'start', + 'fill': '#f00' + }); + message = this.r.text(x, y + h / 2, "").attr({ + 'fill': '#000', + 'text-anchor': 'start' + }); + overlay = this.r.rect(x, y, 0, h).attr({ + 'fill': '#fff', + 'stroke': 'none', + cursor: 'pointer', + 'fill-opacity': 0.0 + }); + this.bars[code] = { + low: low, + range: range, + low_label: low_label, + range_label: range_label, + message: message, + overlay: overlay + }; + this.low.boxes.push(low); + this.low.labels.push(low_label); + this.range.boxes.push(range); + this.range.labels.push(range_label); + overlays.push(overlay); + low_label.hide(); + range_label.hide(); + overlay.hover(labels_show, labels_hide); + overlay.click(function() { + return window.twentyfifty.switchView('costs_compared_overview'); + }); + } + this.incremental_overlay = this.r.rect(this.x(0), this.y('chosen'), 0, 480).attr({ + 'fill': '#fff', + 'fill-opacity': 0.5, + 'stroke': 'none' + }); + overlays.insertAfter(this.incremental_overlay); + this.r.text(this.x(0), this.h - 5, "The absolute cost to society of the whole energy system (mean undiscounted real pounds per person per year 2010-2050)").attr({ + 'text-anchor': 'start', + 'font-weight': 'bold', + 'fill': '#008000' + }); + this.r.path(["M", this.x(0), 40, "L", this.x(0), this.h - 28, "L", this.w - 30, this.h - 28]).attr({ + 'stroke': '#008000', + 'stroke-width': 2 + }); + format = this.x.tickFormat(10); + _ref = this.x.ticks(10); + for (_l = 0, _len3 = _ref.length; _l < _len3; _l++) { + tick = _ref[_l]; + this.r.text(this.x(tick), this.h - 20, format(tick)).attr({ + 'text-anchor': 'middle', + fill: '#008000' + }); + } + this.drawIndicator(3700, "Approximate energy system cost today"); + _results = []; + for (_m = 0, _len4 = comparator_pathways.length; _m < _len4; _m++) { + code = comparator_pathways[_m]; + _results.push(twentyfifty.loadSecondaryPathway(code, this.updateBar)); + } + return _results; + }; + + CostsInContext.prototype.drawIndicator = function(value, text) { + var x; + x = this.x(value); + this.r.text(x, 10, text).attr({ + 'text-anchor': 'end', + fill: '#aaa' + }); + this.r.path(["M", x, 8, "L", x, this.h - 15]).attr({ + stroke: '#000', + 'stroke-dasharray': '.' + }); + return this.r.text(x, this.h - 20, '3,700').attr({ + 'text-anchor': 'end', + fill: '#aaa' + }); + }; + + CostsInContext.prototype.teardown = function() { + $("#results").empty(); + $("#message").removeClass('warning'); + return this.ready = false; + }; + + CostsInContext.prototype.updateResults = function(pathway) { + if (!this.ready) { + this.setup(); + } + return this.updateBar(pathway, 'chosen'); + }; + + CostsInContext.prototype.updateBar = function(pathway, _id) { + var bar, code, format, p, tick, total_cost, total_range, _i, _len, _ref, _ref1; + if (_id == null) { + _id = pathway._id; + } + this.pathways[_id] = pathway; + total_cost = this.total_cost_low_adjusted(pathway); + total_range = this.total_cost_range_adjusted(pathway); + bar = this.bars[_id]; + if (_id === 'chosen') { + bar.low.attr({ + fill: '#1f77b4' + }); + bar.range.attr({ + fill: 'url(/assets/images/hatches/hatch-1f77b4.png)' + }); + } else if (_id === (twentyfifty.getComparator() || twentyfifty.default_comparator_code)) { + this.comparator = pathway; + this.r.text(this.x(total_cost), 10, "The extra cost to society above that of the '" + (twentyfifty.pathwayName(_id, "comparison")) + "' pathway (mean £/person/year 2010-2050)").attr({ + 'text-anchor': 'start', + 'font-weight': 'bold', + 'fill': '#f00' + }); + this.r.path(["M", this.x(total_cost), this.h - 35, "L", this.x(total_cost), 30, "L", this.w - 30, 30]).attr({ + 'stroke': '#f00', + 'stroke-width': 2 + }); + format = this.x.tickFormat(10); + _ref = this.x.ticks(10); + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + tick = _ref[_i]; + this.r.text(this.x(tick + total_cost), 23, format(tick)).attr({ + 'text-anchor': 'middle', + 'fill': '#f00' + }); + if (tick > 0) { + this.r.path(["M", this.x(tick + total_cost), 27, "L", this.x(tick + total_cost), this.h - 30]).attr({ + stroke: '#fff' + }); + } + } + bar.low.attr({ + fill: '#f00' + }); + bar.range.attr({ + fill: 'url(/assets/images/hatches/hatch-f00.png)' + }); + this.incremental_overlay.attr({ + width: this.x(total_cost) - this.x(0) + }); + this.low.labels.toFront(); + this.range.labels.toFront(); + _ref1 = this.pathways; + for (code in _ref1) { + if (!__hasProp.call(_ref1, code)) continue; + p = _ref1[code]; + this.setIncrementalCostLabel(code, p); + } + } + bar.low.attr({ + width: this.x(total_cost) - this.x(0) + }); + if (total_range === 0) { + bar.low_label.attr({ + text: "" + (Math.round(total_cost)) + }); + } else { + bar.low_label.attr({ + text: "" + (Math.round(total_cost)) + "–" + (Math.round(total_cost + total_range)) + }); + } + bar.range_label.attr({ + x: this.x(total_cost + total_range) + 10 + }); + this.setIncrementalCostLabel(_id, pathway); + bar.range.attr({ + x: this.x(total_cost), + width: this.x(total_range) - this.x(0) + }); + bar.overlay.attr({ + width: this.x(total_cost + total_range) - this.x(0) + }); + if (pathway.ghg['Total'][8] > 166) { + bar.message.attr({ + x: this.x(total_cost + total_range) + 100, + text: "This pathway does not reduce emissions by at least 80% on 1990 levels" + }); + return bar.message.toFront(); + } else { + bar.message.attr({ + x: this.x(total_cost + total_range) + 100, + text: "" + }); + return bar.message.toFront(); + } + }; + + CostsInContext.prototype.setIncrementalCostLabel = function(code, pathway) { + var a, delta, i, i1, i2, message; + if (this.comparator == null) { + return false; + } + if (code === this.comparator._id) { + return false; + } + if (pathway.total_cost_range_adjusted === 0 && this.comparator.total_cost_range_adjusted === 0) { + delta = Math.round(pathway.total_cost_low_adjusted - this.comparator.total_cost_low_adjusted); + if (delta < 0) { + message = "" + (-delta) + " less"; + } else if (delta === 0) { + message = "the same"; + } else { + message = "" + delta + " more"; + } + } else { + i = twentyfifty.calculateIncrementalCost(pathway, this.comparator); + i1 = Math.round(i.tc - i.cc); + i2 = Math.round(i.tt - i.ct); + if (i1 > i2) { + a = i2; + i2 = i1; + i1 = a; + } + if (i1 < 0 && i2 < 0) { + message = "" + (-i1) + " to " + (-i2) + " less"; + } else if (i1 < 0 && i2 > 0) { + message = "" + (-i1) + " less to " + i2 + " more"; + } else { + message = "" + i1 + " to " + i2 + " more"; + } + } + return this.bars[code].range_label.attr({ + text: message + }); + }; + + CostsInContext.prototype.total_cost_low_adjusted = function(pathway) { + if (pathway.total_cost_low_adjusted == null) { + twentyfifty.adjust_costs_of_pathway(pathway); + } + return pathway.total_cost_low_adjusted; + }; + + CostsInContext.prototype.total_cost_range_adjusted = function(pathway) { + if (pathway.total_cost_range_adjusted == null) { + twentyfifty.adjust_costs_of_pathway(pathway); + } + return pathway.total_cost_range_adjusted; + }; + + return CostsInContext; + + })(); + + window.twentyfifty.views['costs_in_context'] = new CostsInContext; + +}).call(this); +(function() { + var CostsComparedOverview, costsComparedOverviewHTML, + __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }, + __hasProp = {}.hasOwnProperty; + + costsComparedOverviewHTML = "
\n
NB Some costs not on default values
\n

\n The cost of your pathway, compared with other pathways.\n This is not your energy bill.\n

\n " + window.costCaveatHTML + "\n
\n " + window.costEssentialNotesHTML + "\n
"; + + CostsComparedOverview = (function() { + var categories, category_colors; + + categories = ["Fossil fuels", "Bioenergy", "Electricity", "Buildings", "Transport", "Industry", "Finance", "Other"]; + + category_colors = { + "Fossil fuels": { + low: "#8c564b", + range: "url(/assets/images/hatches/hatch-8c564b.png)" + }, + "Bioenergy": { + low: "#2ca02c", + range: "url(/assets/images/hatches/hatch-2ca02c.png)" + }, + "Electricity": { + low: "#1f77b4", + range: "url(/assets/images/hatches/hatch-1f77b4.png)" + }, + "Buildings": { + low: "#ff7f0e", + range: "url(/assets/images/hatches/hatch-ff7f0e.png)" + }, + "Transport": { + low: "#d62728", + range: "url(/assets/images/hatches/hatch-d62728.png)" + }, + "Industry": { + low: "#7f7f7f", + range: "url(/assets/images/hatches/hatch-7f7f7f.png)" + }, + "Finance": { + low: "#EA8BCC", + range: "url(/assets/images/hatches/hatch-EA8BCC.png)" + }, + "Other": { + low: "#a55194", + range: "url(/assets/images/hatches/hatch-a55194.png)" + } + }; + + function CostsComparedOverview() { + this.updateBar = __bind(this.updateBar, this); + this.ready = false; + } + + CostsComparedOverview.prototype.setup = function() { + var all_pathways, b, c, category, clickFunction, code, color, colors, e, format, h, lb, tick, x, y, _i, _j, _k, _l, _len, _len1, _len2, _len3, _len4, _len5, _m, _n, _ref, _ref1, _ref2, _ref3, _ref4, _results; + if (this.ready) { + return false; + } + this.ready = true; + $('#results').append(costsComparedOverviewHTML); + $("#message").addClass('warning'); + twentyfifty.cost_override_in_place_warning(); + all_pathways = ["chosen"].concat(twentyfifty.comparator_pathways); + e = $('#costscomparedoverview'); + this.h = e.height(); + this.w = e.width(); + this.r = new Raphael('costscomparedoverview', this.w, this.h); + this.x = d3.scale.linear().domain([0, 7000]).range([250, this.w - 30]).nice(); + this.y = d3.scale.ordinal().domain(all_pathways).rangeRoundBands([25, this.h - 20], 0.25); + this.r.text(250, 30, "Move your mouse over a coloured bar to see what it refers to. Click on a bar to see more detail").attr({ + 'text-anchor': 'start' + }); + _ref = twentyfifty.comparator_pathways; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + code = _ref[_i]; + this.r.rect(this.x(0), this.y(code), this.x(7000) - this.x(0), this.y.rangeBand()).attr({ + 'fill': '#ddd', + 'stroke': 'none' + }); + } + this.r.rect(25, this.y("chosen"), this.x(7000) - 25, this.y.rangeBand()).attr({ + 'fill': '#FCFF9B', + 'stroke': 'none' + }); + this.r.text(30, this.y("chosen") + 9, "Your pathway").attr({ + 'text-anchor': 'start', + 'font-weight': 'bold' + }); + this.r.text(30, this.y("chosen") + 27, "You can click on the chart to make a more\ndetailed comparison of specific costs").attr({ + 'text-anchor': 'start' + }); + _ref1 = twentyfifty.comparator_pathways; + for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) { + code = _ref1[_j]; + this.r.text(30, this.y(code) + 9, twentyfifty.pathwayName(code, code)).attr({ + 'text-anchor': 'start', + 'font-weight': 'bold', + href: twentyfifty.pathwayWikiPages(code) + }); + this.r.text(30, this.y(code) + 27, twentyfifty.pathwayDescriptions(code, "")).attr({ + 'text-anchor': 'start', + href: twentyfifty.pathwayWikiPages(code) + }); + } + this.boxes = {}; + this.boxes_by_category = {}; + for (_k = 0, _len2 = categories.length; _k < _len2; _k++) { + category = categories[_k]; + this.boxes_by_category[category] = { + boxes: this.r.set(), + labels: this.r.set(), + top_label: null, + top_label_box: null + }; + } + x = this.x(0); + h = this.y.rangeBand(); + clickFunction = function(category) { + return function() { + return window.twentyfifty.switchSector(categories.indexOf(category)); + }; + }; + _ref2 = ["chosen"].concat(twentyfifty.comparator_pathways); + for (_l = 0, _len3 = _ref2.length; _l < _len3; _l++) { + code = _ref2[_l]; + b = {}; + y = this.y(code); + for (category in category_colors) { + if (!__hasProp.call(category_colors, category)) continue; + colors = category_colors[category]; + b[category] = { + low: this.r.rect(x, y, 0, h).attr({ + 'fill': colors.low, + 'stroke': 'none', + cursor: "pointer" + }).click(clickFunction(category)), + low_label: this.r.text(x, y + h / 2, "").attr({ + 'fill': '#000', + 'text-anchor': 'middle', + cursor: "pointer" + }).click(clickFunction(category)), + range: this.r.rect(x, y, 0, h).attr({ + 'fill': colors.range, + 'stroke': 'none', + cursor: "pointer" + }).click(clickFunction(category)), + range_label: this.r.text(x, y + h / 2, "").attr({ + 'fill': '#000', + 'text-anchor': 'middle', + cursor: "pointer" + }).click(clickFunction(category)) + }; + c = this.boxes_by_category[category]; + c.boxes.push(b[category].low, b[category].range); + c.labels.push(b[category].low_label, b[category].range_label); + } + this.boxes[code] = b; + } + this.r.text(this.x(0), this.h - 5, "The absolute cost to society of the whole energy system (mean undiscounted real pounds per person per year 2010-2050)").attr({ + 'text-anchor': 'start', + 'font-weight': 'bold', + 'fill': '#008000' + }); + this.r.path(["M", this.x(0), 40, "L", this.x(0), this.h - 28, "L", this.w - 30, this.h - 28]).attr({ + 'stroke': '#008000', + 'stroke-width': 2 + }); + format = this.x.tickFormat(10); + _ref3 = this.x.ticks(10); + for (_m = 0, _len4 = _ref3.length; _m < _len4; _m++) { + tick = _ref3[_m]; + this.r.text(this.x(tick), this.h - 20, format(tick)).attr({ + 'text-anchor': 'middle', + fill: '#008000' + }); + this.r.path(["M", this.x(tick), 40, "L", this.x(tick), this.h - 26]).attr({ + stroke: '#fff' + }); + } + for (category in category_colors) { + if (!__hasProp.call(category_colors, category)) continue; + color = category_colors[category]; + this.boxes_by_category[category].labels.hide(); + this.boxes_by_category[category].labels.toFront(); + this.hover(this.boxes_by_category[category].boxes, category); + this.hover(this.boxes_by_category[category].labels, category); + if (category === "Fossil fuels") { + lb = this.r.text(this.x(0) + 175, h * 0.75 / 2, "Fossil fuels for use in buildings, transport, electricity generation and industry").attr({ + 'text-anchor': 'middle', + 'font-weight': 'bold' + }); + } else if (category === "Bioenergy") { + lb = this.r.text(this.x(0) + 175, h * 0.75 / 2, "Bioenergy for use in buildings, transport, electricity generation and industry").attr({ + 'text-anchor': 'middle', + 'font-weight': 'bold' + }); + } else { + lb = this.r.text(this.x(0) + 50, h * 0.75 / 2, category).attr({ + 'text-anchor': 'middle', + 'font-weight': 'bold' + }); + } + this.boxes_by_category[category].top_label_box = this.r.rect(this.x(0), 0, lb.getBBox().width + 15, h * 0.75, 5).attr({ + 'fill': '#fff', + 'stroke': color.low + }).hide(); + this.boxes_by_category[category].top_label = lb; + lb.toFront(); + lb.hide(); + } + _ref4 = twentyfifty.comparator_pathways; + _results = []; + for (_n = 0, _len5 = _ref4.length; _n < _len5; _n++) { + code = _ref4[_n]; + _results.push(twentyfifty.loadSecondaryPathway(code, this.updateBar)); + } + return _results; + }; + + CostsComparedOverview.prototype.hover = function(boxes, category) { + var _this = this; + return boxes.hover((function() { + return _this.show(category); + }), (function() { + return _this.hide(category); + })); + }; + + CostsComparedOverview.prototype.show = function(category) { + var c, _i, _len, _results; + _results = []; + for (_i = 0, _len = categories.length; _i < _len; _i++) { + c = categories[_i]; + if (c === category) { + this.boxes_by_category[c].labels.show(); + this.boxes_by_category[c].top_label_box.show(); + _results.push(this.boxes_by_category[c].top_label.show()); + } else { + _results.push(this.boxes_by_category[c].boxes.attr({ + 'fill-opacity': 0.5 + })); + } + } + return _results; + }; + + CostsComparedOverview.prototype.hide = function(category) { + var c, _i, _len, _results; + _results = []; + for (_i = 0, _len = categories.length; _i < _len; _i++) { + c = categories[_i]; + if (c === category) { + this.boxes_by_category[c].labels.hide(); + this.boxes_by_category[c].top_label_box.hide(); + _results.push(this.boxes_by_category[c].top_label.hide()); + } else { + _results.push(this.boxes_by_category[c].boxes.attr({ + 'fill-opacity': 1.0 + })); + } + } + return _results; + }; + + CostsComparedOverview.prototype.teardown = function() { + $("#results").empty(); + $("#message").removeClass('warning'); + return this.ready = false; + }; + + CostsComparedOverview.prototype.updateResults = function(pathway) { + if (!this.ready) { + this.setup(); + } + return this.updateBar(pathway, 'chosen'); + }; + + CostsComparedOverview.prototype.updateBar = function(pathway, _id) { + var b, categorised_costs, category, cost, lb, _i, _j, _len, _len1, _results, _x; + if (_id == null) { + _id = pathway._id; + } + if (this.boxes == null) { + this.setupComparisonChart(); + } + if (pathway.categorised_costs == null) { + twentyfifty.group_costs_of_pathway(pathway); + } + categorised_costs = pathway.categorised_costs; + b = this.boxes[_id]; + _x = 0; + for (_i = 0, _len = categories.length; _i < _len; _i++) { + category = categories[_i]; + cost = categorised_costs[category]; + b[category].low.attr({ + x: this.x(_x), + width: this.x(cost.low) - this.x(0) + }); + if (cost.low > 1) { + b[category].low_label.attr({ + x: this.x(_x + cost.low / 2), + text: "" + (Math.round(cost.low)) + }); + } + if (_id === 'chosen') { + lb = this.boxes_by_category[category].top_label_box; + lb.attr({ + x: this.x(_x + cost.low / 2) - (lb.attr('width') / 2) + }); + this.boxes_by_category[category].top_label.attr({ + x: this.x(_x + cost.low / 2) + }); + } + _x += cost.low; + } + _results = []; + for (_j = 0, _len1 = categories.length; _j < _len1; _j++) { + category = categories[_j]; + cost = categorised_costs[category]; + b[category].range.attr({ + x: this.x(_x), + width: this.x(cost.range) - this.x(0) + }); + if (cost.range > 1) { + b[category].range_label.attr({ + x: this.x(_x + cost.range / 2), + text: "" + (Math.round(cost.range)) + }); + } + _results.push(_x += cost.range); + } + return _results; + }; + + return CostsComparedOverview; + + })(); + + window.twentyfifty.views['costs_compared_overview'] = new CostsComparedOverview; + +}).call(this); +(function() { + var CostsComparedWithinSector, costsComparedWithinSectorHTML, + __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }, + __hasProp = {}.hasOwnProperty; + + costsComparedWithinSectorHTML = "
\n
NB Some costs not on default values
\n \n

\n The cost of\n a sector\n within your and other pathways.\n This is not an energy bill.\n

\n " + window.costCaveatHTML + "\n
\n " + window.costEssentialNotesHTML + "\n
"; + + CostsComparedWithinSector = (function() { + var categories, cost_component_colors; + + categories = ["Fossil fuels", "Bioenergy", "Electricity", "Buildings", "Transport", "Industry", "Finance", "Other"]; + + cost_component_colors = { + "Conventional thermal plant": { + low: "#a55194", + range: "url(/assets/images/hatches/hatch-a55194.png)" + }, + "Combustion + CCS": { + low: "#8c564b", + range: "url(/assets/images/hatches/hatch-8c564b.png)" + }, + "Storage of captured CO2": { + low: "#8c564b", + range: "url(/assets/images/hatches/hatch-8c564b.png)" + }, + "Nuclear power": { + low: "#2ca02c", + range: "url(/assets/images/hatches/hatch-2ca02c.png)" + }, + "Onshore wind": { + low: "#1f77b4", + range: "url(/assets/images/hatches/hatch-1f77b4.png)" + }, + "Offshore wind": { + low: "#ff7f0e", + range: "url(/assets/images/hatches/hatch-ff7f0e.png)" + }, + "Hydroelectric": { + low: "#d62728", + range: "url(/assets/images/hatches/hatch-d62728.png)" + }, + "Wave and Tidal": { + low: "#7f7f7f", + range: "url(/assets/images/hatches/hatch-7f7f7f.png)" + }, + "Geothermal": { + low: "#EA8BCC", + range: "url(/assets/images/hatches/hatch-EA8BCC.png)" + }, + "Distributed solar PV": { + low: "#a55194", + range: "url(/assets/images/hatches/hatch-a55194.png)" + }, + "Distributed solar thermal": { + low: "#8c564b", + range: "url(/assets/images/hatches/hatch-8c564b.png)" + }, + "Micro wind": { + low: "#2ca02c", + range: "url(/assets/images/hatches/hatch-2ca02c.png)" + }, + "Biomatter to fuel conversion": { + low: "#1f77b4", + range: "url(/assets/images/hatches/hatch-1f77b4.png)" + }, + "Bioenergy imports": { + low: "#ff7f0e", + range: "url(/assets/images/hatches/hatch-ff7f0e.png)" + }, + "Agriculture and land use": { + low: "#d62728", + range: "url(/assets/images/hatches/hatch-d62728.png)" + }, + "Energy from waste": { + low: "#7f7f7f", + range: "url(/assets/images/hatches/hatch-7f7f7f.png)" + }, + "Waste arising": { + low: "#EA8BCC", + range: "url(/assets/images/hatches/hatch-EA8BCC.png)" + }, + "Marine algae": { + low: "#a55194", + range: "url(/assets/images/hatches/hatch-a55194.png)" + }, + "Electricity imports": { + low: "#8c564b", + range: "url(/assets/images/hatches/hatch-8c564b.png)" + }, + "Electricity Exports": { + low: "#2ca02c", + range: "url(/assets/images/hatches/hatch-2ca02c.png)" + }, + "Electricity grid distribution": { + low: "#1f77b4", + range: "url(/assets/images/hatches/hatch-1f77b4.png)" + }, + "Storage, demand shifting, backup": { + low: "#ff7f0e", + range: "url(/assets/images/hatches/hatch-ff7f0e.png)" + }, + "H2 Production": { + low: "#d62728", + range: "url(/assets/images/hatches/hatch-d62728.png)" + }, + "Domestic heating": { + low: "#7f7f7f", + range: "url(/assets/images/hatches/hatch-7f7f7f.png)" + }, + "Domestic insulation": { + low: "#EA8BCC", + range: "url(/assets/images/hatches/hatch-EA8BCC.png)" + }, + "Commercial heating and cooling": { + low: "#a55194", + range: "url(/assets/images/hatches/hatch-a55194.png)" + }, + "Domestic lighting, appliances, and cooking": { + low: "#8c564b", + range: "url(/assets/images/hatches/hatch-8c564b.png)" + }, + "Commercial lighting, appliances, and catering": { + low: "#2ca02c", + range: "url(/assets/images/hatches/hatch-2ca02c.png)" + }, + "Industrial processes": { + low: "#1f77b4", + range: "url(/assets/images/hatches/hatch-1f77b4.png)" + }, + "Conventional cars and buses": { + low: "#ff7f0e", + range: "url(/assets/images/hatches/hatch-ff7f0e.png)" + }, + "Hybrid cars and buses": { + low: "#d62728", + range: "url(/assets/images/hatches/hatch-d62728.png)" + }, + "Electric cars and buses": { + low: "#7f7f7f", + range: "url(/assets/images/hatches/hatch-7f7f7f.png)" + }, + "Fuel cell cars and buses": { + low: "#EA8BCC", + range: "url(/assets/images/hatches/hatch-EA8BCC.png)" + }, + "Bikes": { + low: "#a55194", + range: "url(/assets/images/hatches/hatch-a55194.png)" + }, + "Rail": { + low: "#8c564b", + range: "url(/assets/images/hatches/hatch-8c564b.png)" + }, + "Domestic aviation": { + low: "#2ca02c", + range: "url(/assets/images/hatches/hatch-2ca02c.png)" + }, + "Domestic freight": { + low: "#1f77b4", + range: "url(/assets/images/hatches/hatch-1f77b4.png)" + }, + "International aviation": { + low: "#ff7f0e", + range: "url(/assets/images/hatches/hatch-ff7f0e.png)" + }, + "International shipping (maritime bunkers)": { + low: "#d62728", + range: "url(/assets/images/hatches/hatch-d62728.png)" + }, + "Geosequestration": { + low: "#7f7f7f", + range: "url(/assets/images/hatches/hatch-7f7f7f.png)" + }, + "Petroleum refineries": { + low: "#8c564b", + range: "url(/assets/images/hatches/hatch-8c564b.png)" + }, + "Coal": { + low: "#2ca02c", + range: "url(/assets/images/hatches/hatch-2ca02c.png)" + }, + "Oil": { + low: "#1f77b4", + range: "url(/assets/images/hatches/hatch-1f77b4.png)" + }, + "Gas": { + low: "#ff7f0e", + range: "url(/assets/images/hatches/hatch-ff7f0e.png)" + }, + "Fossil fuel transfers": { + low: "#d62728", + range: "url(/assets/images/hatches/hatch-d62728.png)" + }, + "District heating effective demand": { + low: "#7f7f7f", + range: "url(/assets/images/hatches/hatch-7f7f7f.png)" + }, + "Power Carbon Capture": { + low: "#EA8BCC", + range: "url(/assets/images/hatches/hatch-EA8BCC.png)" + }, + "Industry Carbon Capture": { + low: "#a55194", + range: "url(/assets/images/hatches/hatch-a55194.png)" + }, + "Finance cost": { + low: "#8c564b", + range: "url(/assets/images/hatches/hatch-8c564b.png)" + } + }; + + function CostsComparedWithinSector() { + this.updateBar = __bind(this.updateBar, this); + this.ready = false; + } + + CostsComparedWithinSector.prototype.setup = function() { + var all_pathways, b, c, category, code, e, format, h, lb, tick, x, y, _i, _j, _k, _l, _len, _len1, _len2, _len3, _len4, _len5, _len6, _len7, _m, _n, _o, _p, _ref, _ref1, _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _results; + if (this.ready) { + return false; + } + this.ready = true; + $('#results').append(costsComparedWithinSectorHTML); + $('#message').addClass('warning'); + $('#sectorname').html(categories[twentyfifty.getSector()]); + twentyfifty.cost_override_in_place_warning(); + all_pathways = ["chosen"].concat(twentyfifty.comparator_pathways); + this.relevant_costs = twentyfifty.costs_in_category(categories[twentyfifty.getSector()]); + e = $('#costscomparedwithinsector'); + this.h = e.height(); + this.w = e.width(); + this.r = new Raphael('costscomparedwithinsector', this.w, this.h); + this.x = d3.scale.linear().domain([0, 3000]).range([250, this.w - 30]).nice(); + this.y = d3.scale.ordinal().domain(all_pathways).rangeRoundBands([25, this.h - 20], 0.25); + _ref = twentyfifty.comparator_pathways; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + code = _ref[_i]; + this.r.rect(this.x(0), this.y(code), this.x(3000) - this.x(0), this.y.rangeBand()).attr({ + 'fill': '#ddd', + 'stroke': 'none' + }); + } + this.r.rect(25, this.y("chosen"), this.x(3000) - 25, this.y.rangeBand()).attr({ + 'fill': '#FCFF9B', + 'stroke': 'none' + }); + this.r.text(30, this.y("chosen") + 9, "Your pathway").attr({ + 'text-anchor': 'start', + 'font-weight': 'bold' + }); + this.r.text(30, this.y("chosen") + 27, "").attr({ + 'text-anchor': 'start' + }); + _ref1 = twentyfifty.comparator_pathways; + for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) { + code = _ref1[_j]; + this.r.text(30, this.y(code) + 9, twentyfifty.pathwayName(code, code)).attr({ + 'text-anchor': 'start', + 'font-weight': 'bold', + href: twentyfifty.pathwayWikiPages(code) + }); + this.r.text(30, this.y(code) + 27, twentyfifty.pathwayDescriptions(code, "")).attr({ + 'text-anchor': 'start', + href: twentyfifty.pathwayWikiPages(code) + }); + } + this.boxes = {}; + this.boxes_by_category = {}; + _ref2 = this.relevant_costs; + for (_k = 0, _len2 = _ref2.length; _k < _len2; _k++) { + category = _ref2[_k]; + this.boxes_by_category[category] = { + boxes: this.r.set(), + labels: this.r.set(), + top_label: null, + top_label_box: null + }; + } + x = this.x(0); + h = this.y.rangeBand(); + _ref3 = ["chosen"].concat(twentyfifty.comparator_pathways); + for (_l = 0, _len3 = _ref3.length; _l < _len3; _l++) { + code = _ref3[_l]; + b = {}; + y = this.y(code); + _ref4 = this.relevant_costs; + for (_m = 0, _len4 = _ref4.length; _m < _len4; _m++) { + category = _ref4[_m]; + b[category] = { + low: this.r.rect(x, y, 0, h).attr({ + 'fill': cost_component_colors[category].low, + 'stroke': 'none' + }), + low_label: this.r.text(x, y + h / 2, "").attr({ + 'fill': '#000', + 'text-anchor': 'middle' + }), + range: this.r.rect(x, y, 0, h).attr({ + 'fill': cost_component_colors[category].range, + 'stroke': 'none' + }), + range_label: this.r.text(x, y + h / 2, "").attr({ + 'fill': '#000', + 'text-anchor': 'middle' + }) + }; + c = this.boxes_by_category[category]; + c.boxes.push(b[category].low, b[category].range); + c.labels.push(b[category].low_label, b[category].range_label); + } + this.boxes[code] = b; + } + this.r.text(this.x(0), this.h - 5, "The absolute cost to society of the whole energy system (mean undiscounted real pounds per person per year 2010-2050)").attr({ + 'text-anchor': 'start', + 'font-weight': 'bold', + 'fill': '#008000' + }); + this.r.path(["M", this.x(0), 40, "L", this.x(0), this.h - 28, "L", this.w - 30, this.h - 28]).attr({ + 'stroke': '#008000', + 'stroke-width': 2 + }); + format = this.x.tickFormat(10); + _ref5 = this.x.ticks(10); + for (_n = 0, _len5 = _ref5.length; _n < _len5; _n++) { + tick = _ref5[_n]; + this.r.text(this.x(tick), this.h - 20, format(tick)).attr({ + 'text-anchor': 'middle', + fill: '#008000' + }); + this.r.path(["M", this.x(tick), 40, "L", this.x(tick), this.h - 26]).attr({ + stroke: '#fff' + }); + } + _ref6 = this.relevant_costs; + for (_o = 0, _len6 = _ref6.length; _o < _len6; _o++) { + category = _ref6[_o]; + this.boxes_by_category[category].labels.hide(); + this.boxes_by_category[category].labels.toFront(); + this.hover(this.boxes_by_category[category].boxes, category); + this.hover(this.boxes_by_category[category].labels, category); + lb = this.boxes_by_category[category].top_label = this.r.text(this.x(0) + 100, h * 0.75 / 2, category).attr({ + 'text-anchor': 'middle', + 'font-weight': 'bold' + }).hide(); + this.boxes_by_category[category].top_label_box = this.r.rect(this.x(0), 0, lb.getBBox().width + 15, h * 0.75, 5).attr({ + 'fill': '#fff', + 'stroke': cost_component_colors[category].low + }).hide(); + lb.toFront(); + } + _ref7 = twentyfifty.comparator_pathways; + _results = []; + for (_p = 0, _len7 = _ref7.length; _p < _len7; _p++) { + code = _ref7[_p]; + _results.push(twentyfifty.loadSecondaryPathway(code, this.updateBar)); + } + return _results; + }; + + CostsComparedWithinSector.prototype.hover = function(boxes, category) { + var _this = this; + return boxes.hover((function() { + return _this.show(category); + }), (function() { + return _this.hide(category); + })); + }; + + CostsComparedWithinSector.prototype.show = function(category) { + var c, _i, _len, _ref, _results; + _ref = this.relevant_costs; + _results = []; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + c = _ref[_i]; + if (c === category) { + this.boxes_by_category[c].labels.show(); + this.boxes_by_category[c].top_label_box.show(); + _results.push(this.boxes_by_category[c].top_label.show()); + } else { + _results.push(this.boxes_by_category[c].boxes.attr({ + 'fill-opacity': 0.5 + })); + } + } + return _results; + }; + + CostsComparedWithinSector.prototype.hide = function(category) { + var c, _i, _len, _ref, _results; + _ref = this.relevant_costs; + _results = []; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + c = _ref[_i]; + if (c === category) { + this.boxes_by_category[c].labels.hide(); + this.boxes_by_category[c].top_label_box.hide(); + _results.push(this.boxes_by_category[c].top_label.hide()); + } else { + _results.push(this.boxes_by_category[c].boxes.attr({ + 'fill-opacity': 1.0 + })); + } + } + return _results; + }; + + CostsComparedWithinSector.prototype.teardown = function() { + $('#results').empty(); + $('#message').removeClass('warning'); + return this.ready = false; + }; + + CostsComparedWithinSector.prototype.updateResults = function(pathway) { + if (!this.ready) { + this.setup(); + } + return this.updateBar(pathway, 'chosen'); + }; + + CostsComparedWithinSector.prototype.updateBar = function(pathway, _id) { + var b, categorised_costs, category, cost, lb, low, range, _results, _x; + if (_id == null) { + _id = pathway._id; + } + if (this.boxes == null) { + this.setupComparisonChart(); + } + if (pathway.categorised_costs == null) { + twentyfifty.group_costs_of_pathway(pathway); + } + categorised_costs = pathway.categorised_costs[categories[twentyfifty.getSector()]]; + b = this.boxes[_id]; + _x = 0; + for (category in categorised_costs) { + if (!__hasProp.call(categorised_costs, category)) continue; + cost = categorised_costs[category]; + if (!(category === "high" || category === "low" || category === "range")) { + low = cost.low_adjusted; + if (_id === 'chosen') { + lb = this.boxes_by_category[category].top_label_box; + lb.attr({ + x: this.x(_x + low / 2) - (lb.attr('width') / 2) + }); + this.boxes_by_category[category].top_label.attr({ + x: this.x(_x + low / 2) + }); + } + if (low >= 0) { + b[category].low.attr({ + x: this.x(_x), + width: this.x(low) - this.x(0) + }); + if (Math.round(low) === 0) { + b[category].low_label.attr({ + x: this.x(_x + low / 2), + text: "" + }); + } else { + b[category].low_label.attr({ + x: this.x(_x + low / 2), + text: "" + (Math.round(low)) + }); + } + _x += low; + } else { + b[category].low.attr({ + x: this.x(0), + width: this.x(0) - this.x(0) + }); + b[category].low_label.attr({ + x: this.x(0), + text: "" + }); + } + } + } + _results = []; + for (category in categorised_costs) { + if (!__hasProp.call(categorised_costs, category)) continue; + cost = categorised_costs[category]; + if (!(category === "high" || category === "low" || category === "range")) { + range = cost.range_adjusted; + low = cost.low_adjusted; + if (low >= 0) { + b[category].range.attr({ + x: this.x(_x), + width: this.x(range) - this.x(0) + }); + if (Math.round(range) === 0) { + b[category].range_label.attr({ + x: this.x(_x + range / 2), + text: "" + }); + } else { + b[category].range_label.attr({ + x: this.x(_x + range / 2), + text: "" + (Math.round(range)) + }); + } + _results.push(_x += range); + } else { + b[category].range.attr({ + x: this.x(0), + width: this.x(0) - this.x(0) + }); + _results.push(b[category].range_label.attr({ + x: this.x(0), + text: "" + })); + } + } else { + _results.push(void 0); + } + } + return _results; + }; + + return CostsComparedWithinSector; + + })(); + + window.twentyfifty.views['costs_compared_within_sector'] = new CostsComparedWithinSector; + +}).call(this); +(function() { + var CostsSensitivity, + __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; + + CostsSensitivity = (function() { + var bottom_area_start, c_low_fill_color, c_range_fill_color, color, cost_component_names, cost_component_value, cost_component_values, cost_wiki_links, costsSensitivityHTML, direction, label_components, optional_arrow, p_low_fill_color, p_range_fill_color; + + costsSensitivityHTML = "
\n \n

The cost of your pathway compared with another, allowing simple variation in cost estimates.

\n " + window.costCaveatHTML + "\n
\n " + window.costEssentialNotesHTML + "\n
"; + + bottom_area_start = 219; + + cost_component_names = ["Conventional thermal plant", "Combustion + CCS", "Nuclear power", "Onshore wind", "Offshore wind", "Hydroelectric", "Wave and Tidal", "Geothermal", "Distributed solar PV", "Distributed solar thermal", "Micro wind", "Biomatter to fuel conversion", "Bioenergy imports", "Agriculture and land use", "Energy from waste", "Waste arising", "Marine algae", "Electricity imports", "Electricity Exports", "Electricity grid distribution", "Storage, demand shifting, backup", "H2 Production", "Domestic heating", "Domestic insulation", "Commercial heating and cooling", "Domestic lighting, appliances, and cooking", "Commercial lighting, appliances, and catering", "Industrial processes", "Conventional cars and buses", "Hybrid cars and buses", "Electric cars and buses", "Fuel cell cars and buses", "Bikes", "Rail", "Domestic aviation", "Domestic freight", "International aviation", "International shipping (maritime bunkers)", "Geosequestration", "Petroleum refineries", "Fossil fuel transfers", "District heating effective demand", "Storage of captured CO2", "Coal", "Oil", "Gas", "Finance cost"]; + + cost_wiki_links = { + "Fuel cell cars and buses": '/pages/63', + "Conventional cars and buses": '/pages/63', + "Hybrid cars and buses": '/pages/63', + "Gas": '/pages/13', + "Electric cars and buses": '/pages/63', + "Domestic insulation": '/pages/31', + "Wave and Tidal": '/pages/38', + "Finance cost": '/pages/28', + "Industrial processes": '/pages/24', + "Domestic heating": '/pages/31', + "Offshore wind": '/pages/6', + "Commercial heating and cooling": '/pages/44', + "Oil": '/pages/13', + "Conventional thermal plant": '/pages/42', + "Distributed solar PV": '/pages/40', + "Nuclear power": '/pages/7', + "Bioenergy imports": '/pages/3', + "Agriculture and land use": '/pages/19', + "Carbon Storage": '/pages/36', + "Fossil fuel transfers": '/pages/12', + "H2 Production": '/pages/43', + "Combustion + CCS": '/pages/8', + "Storage of captured CO2": '/pages/36', + "Biomatter to fuel conversion": '/pages/26', + "Electricity grid distribution": '/pages/11', + "Storage, demand shifting, backup": '/pages/10', + "Onshore wind": '/pages/5', + "Electricity Exports": '/pages/32', + "Energy from waste": '/pages/19', + "Waste arising": '/pages/27', + "Distributed solar thermal": '/pages/31', + "Domestic freight": '/pages/64', + "Coal": '/pages/13', + "Geothermal": '/pages/39', + "Micro wind": '/pages/56', + "District heating effective demand": '/pages/30', + "Commercial lighting, appliances, and catering": '/pages/23', + "Marine algae": '/pages/17', + "Rail": '/pages/63', + "Hydroelectric": '/pages/9', + "Domestic aviation": '/pages/63', + "Domestic lighting, appliances, and cooking": '/pages/46', + "Geosequestration": '/pages/29', + "Petroleum refineries": '/pages/25', + "International shipping (maritime bunkers)": '/pages/71', + "International aviation": '/pages/70', + "Bikes": '/pages/63', + "Electricity imports": '/pages/32' + }; + + cost_component_values = { + "Oil": { + cheap: "$75/bbl", + "default": "$130/bbl", + expensive: "$170/bbl" + }, + "Coal": { + cheap: "$80/tCoal", + "default": "$110/tCoal", + expensive: "$155/tCoal" + }, + "Gas": { + cheap: "45p/therm", + "default": "70p/therm", + expensive: "100p/therm" + }, + "Finance cost": { + cheap: "None", + "default": "7% real", + expensive: "10% real" + } + }; + + cost_component_value = function(name) { + return cost_component_values[name] || { + cheap: "Cheap", + "default": "Default", + expensive: "Today's cost" + }; + }; + + direction = function(value) { + if (value > 0) { + return "more expensive"; + } + return "cheaper"; + }; + + color = function(value) { + if (value > 0) { + return "#f00"; + } + return "#0f0"; + }; + + p_low_fill_color = '#1f77b4'; + + p_range_fill_color = 'url(/assets/images/hatches/hatch-1f77b4.png)'; + + c_low_fill_color = '#f00'; + + c_range_fill_color = 'url(/assets/images/hatches/hatch-f00.png)'; + + function CostsSensitivity() { + this.updateComparator = __bind(this.updateComparator, this); + this.updateResults = __bind(this.updateResults, this); + this.ready = false; + } + + CostsSensitivity.prototype.setup = function() { + if (this.ready) { + return false; + } + this.ready = true; + $("#results").append(costsSensitivityHTML); + $('#message').addClass('warning'); + this.drawChart(); + return this.switchComparator(twentyfifty.getComparator() || twentyfifty.default_comparator_code); + }; + + CostsSensitivity.prototype.teardown = function() { + $('#results').empty(); + $('#message').removeClass('warning'); + return this.ready = false; + }; + + CostsSensitivity.prototype.updateResults = function(pathway) { + this.pathway = pathway; + if (!this.ready) { + this.setup(); + } + if (this.pathway.total_cost_low_adjusted == null) { + twentyfifty.adjust_costs_of_pathway(this.pathway); + } + this.sortComponents(); + this.updateBar(this.top_pathway_chart, this.pathway.total_cost_low_adjusted, this.pathway.total_cost_range_adjusted); + return this.updateIncrement(); + }; + + CostsSensitivity.prototype.switchComparator = function(code) { + return twentyfifty.loadSecondaryPathway(code, this.updateComparator); + }; + + CostsSensitivity.prototype.updateComparator = function(comparator) { + this.comparator = comparator; + if (this.comparator.total_cost_low_adjusted == null) { + twentyfifty.adjust_costs_of_pathway(this.comparator); + } + this.updateBar(this.top_comparator_chart, this.comparator.total_cost_low_adjusted, this.comparator.total_cost_range_adjusted); + this.top_comparator_chart.name.attr({ + text: twentyfifty.pathwayName(this.comparator._id, this.comparator._id), + href: twentyfifty.pathwayWikiPages(this.comparator._id) + }); + this.top_comparator_chart.description.attr({ + text: twentyfifty.pathwayDescriptions(this.comparator._id, ""), + href: twentyfifty.pathwayWikiPages(this.comparator._id) + }); + this.key_label.attr({ + text: "The cost in '" + (twentyfifty.pathwayName(this.comparator._id, this.comparator._id)) + "'" + }); + if (this.pathway != null) { + this.updateIncrement(); + return this.updateComponents(false, true); + } + }; + + CostsSensitivity.prototype.updateToBarForNewCost = function() { + this.updateBar(this.top_pathway_chart, this.pathway.total_cost_low_adjusted, this.pathway.total_cost_range_adjusted); + this.updateBar(this.top_comparator_chart, this.comparator.total_cost_low_adjusted, this.comparator.total_cost_range_adjusted); + return this.updateIncrement(); + }; + + CostsSensitivity.prototype.updateIncrement = function() { + var average, c, i, i1, i2, max, min, p; + if (!((this.pathway != null) && (this.comparator != null))) { + return; + } + p = this.pathway; + c = this.comparator; + i = twentyfifty.calculateIncrementalCost(p, c); + min = Math.min(p.total_cost_low_adjusted, c.total_cost_low_adjusted); + max = Math.max(p.total_cost_high_adjusted, c.total_cost_high_adjusted); + average = (min + max) / 2; + i1 = i.tc - i.cc; + i2 = i.tt - i.ct; + if (i1 === i2) { + this.increment_arrows.low.hide(); + this.increment_arrows.high.hide(); + this.increment_arrows.range_message.hide(); + this.increment_arrows.low_value.hide(); + this.increment_arrows.high_value.hide(); + this.increment_arrows.single.attr({ + path: ["M", this.x(p.total_cost_low_adjusted - i1), this.top_y('i') + this.top_bar_height * 0.5, "L", this.x(p.total_cost_low_adjusted), this.top_y('i') + this.top_bar_height * 0.5], + stroke: color(i2), + fill: color(i2) + }); + this.increment_arrows.single_value.attr({ + x: this.x(max) + 3, + text: "£" + (Math.round(Math.abs(i1))) + "/person/year " + (direction(i1)) + }); + optional_arrow(this.increment_arrows.single, i1); + this.increment_arrows.single.show(); + return this.increment_arrows.single_value.show(); + } else { + this.increment_arrows.single.hide(); + this.increment_arrows.single_value.hide(); + this.increment_arrows.low.attr({ + path: ["M", this.x(average - i2 / 2), this.top_y('i') + this.top_bar_height * 0.25, "L", this.x(average + i2 / 2), this.top_y('i') + this.top_bar_height * 0.25], + stroke: color(i2), + fill: color(i2) + }); + this.increment_arrows.high.attr({ + path: ["M", this.x(average - i1 / 2), this.top_y('i') + this.top_bar_height * 0.75, "L", this.x(average + i1 / 2), this.top_y('i') + this.top_bar_height * 0.75], + stroke: color(i1), + fill: color(i1) + }); + this.increment_arrows.range_message.attr({ + x: this.x(min) - 3 + }); + this.increment_arrows.low_value.attr({ + x: this.x(max) + 3, + text: "£" + (Math.round(Math.abs(i2))) + "/person/year " + (direction(i2)) + " and" + }); + this.increment_arrows.high_value.attr({ + x: this.x(max) + 3, + text: "£" + (Math.round(Math.abs(i1))) + "/person/year " + (direction(i1)) + }); + optional_arrow(this.increment_arrows.low, i2); + optional_arrow(this.increment_arrows.high, i1); + this.increment_arrows.low.show(); + this.increment_arrows.high.show(); + this.increment_arrows.range_message.show(); + this.increment_arrows.low_value.show(); + return this.increment_arrows.high_value.show(); + } + }; + + optional_arrow = function(arrow, value) { + if (Math.abs(value) > 200) { + return arrow.attr({ + 'arrow-end': 'classic-narrow-short' + }); + } else { + return arrow.attr({ + 'arrow-end': 'none' + }); + } + }; + + label_components = { + labels: ['name', 'details', 'cheap', 'default', 'expensive', 'uncertain'], + boxes: ['details_box', 'cheap_box', 'default_box', 'expensive_box', 'uncertain_box'] + }; + + CostsSensitivity.prototype.sortComponents = function() { + var a, bar_offset, component, cy, ly, name, p, py, y, _i, _j, _k, _len, _len1, _len2, _ref, _ref1; + p = this.pathway.cost_components; + bar_offset = this.bar_offset; + cost_component_names.sort(function(a, b) { + return p[b].high_adjusted - p[a].high_adjusted; + }); + this.bottom_y = y = d3.scale.ordinal().domain(cost_component_names).rangeRoundBands([bottom_area_start, this.h], 0.25); + for (_i = 0, _len = cost_component_names.length; _i < _len; _i++) { + name = cost_component_names[_i]; + component = this.components[name]; + py = y(name); + cy = py + bar_offset; + ly = py + (y.rangeBand() / 2); + _ref = label_components.labels; + for (_j = 0, _len1 = _ref.length; _j < _len1; _j++) { + a = _ref[_j]; + component[a].attr({ + y: ly + }); + } + _ref1 = label_components.boxes; + for (_k = 0, _len2 = _ref1.length; _k < _len2; _k++) { + a = _ref1[_k]; + component[a].attr({ + y: py + }); + } + component.pathway.low.attr({ + y: py + }); + component.pathway.range.attr({ + y: py + }); + component.comparator.low.attr({ + y: cy + }); + component.comparator.range.attr({ + y: cy + }); + } + return this.updateComponents(); + }; + + CostsSensitivity.prototype.updateComponents = function(update_pathway, update_comparator) { + var name, _i, _len, _results; + if (update_pathway == null) { + update_pathway = true; + } + if (update_comparator == null) { + update_comparator = true; + } + if (!(this.pathway || this.comparator)) { + return; + } + _results = []; + for (_i = 0, _len = cost_component_names.length; _i < _len; _i++) { + name = cost_component_names[_i]; + _results.push(this.updateComponentNamed(name, update_pathway, update_comparator)); + } + return _results; + }; + + CostsSensitivity.prototype.updateComponentNamed = function(name, update_pathway, update_comparator) { + var a, c, chosen, component, cy, p, py, setting, _i, _len, _ref; + if (update_pathway == null) { + update_pathway = true; + } + if (update_comparator == null) { + update_comparator = true; + } + component = this.components[name]; + if (update_pathway && (this.pathway != null)) { + p = this.pathway.cost_components[name]; + py = this.bottom_y(name); + this.updateBar(component.pathway, p.low_adjusted, p.range_adjusted); + component.pathway.uncertainty.attr({ + path: ["M", this.x(p.low), py, "L", this.x(p.high), py] + }); + } + if (update_comparator && (this.comparator != null)) { + c = this.comparator.cost_components[name]; + cy = this.bottom_y(name) + this.bar_offset; + this.updateBar(component.comparator, c.low_adjusted, c.range_adjusted); + component.comparator.uncertainty.attr({ + path: ["M", this.x(c.low), cy, "L", this.x(c.high), cy] + }); + } + setting = $.jStorage.get(name); + _ref = ['details', 'cheap', 'default', 'expensive', 'uncertain', 'details_box', 'cheap_box', 'default_box', 'expensive_box', 'uncertain_box']; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + a = _ref[_i]; + component[a].attr({ + 'font-weight': 'normal' + }); + } + if ((setting == null) || setting === 'point') { + chosen = component["default"]; + } else if (setting === 'uncertain') { + chosen = component.uncertain; + } else if (setting === 0) { + chosen = component.cheap; + } else if (setting === 1) { + chosen = component.expensive; + } + return chosen.attr({ + 'font-weight': 'bold' + }); + }; + + CostsSensitivity.prototype.updateBar = function(bar, low, range) { + if (low < 0) { + bar.low.attr({ + x: this.x(low + range), + width: this.w(Math.abs(range)) + }); + } else { + bar.low.attr({ + width: this.w(low) + }); + } + if (range < 0) { + return bar.range.attr({ + x: this.x(low + range), + width: this.w(Math.abs(range)) + }); + } else { + return bar.range.attr({ + x: this.x(low), + width: this.w(range) + }); + } + }; + + CostsSensitivity.prototype.w = function(value) { + return this.x(value) - this.x(0); + }; + + CostsSensitivity.prototype.drawChart = function() { + var bar_height, bar_offset, box_attr, boxy, component, components, cy, e, format, h, increment, labels, ly, name, py, r, sensitivity_label_height, sensitivity_label_width, tick, url, w, x, y, _i, _j, _k, _len, _len1, _len2, _ref, + _this = this; + e = $('#costssensitivity'); + this.h = h = e.height(); + w = e.width(); + r = new Raphael('costssensitivity', w, h); + this.x = x = d3.scale.linear().domain([0, 10000]).range([250, w - 30]).nice(); + this.top_y = y = d3.scale.ordinal().domain(['p', 'i', 'c']).rangeRoundBands([30, 180], 0.15); + r.text(x(5000), 17, "The mean cost to society of the whole energy system in undiscounted real pounds per person 2010-2050").attr({ + 'text-anchor': 'center', + 'font-weight': 'bold' + }); + this.top_bar_height = bar_height = y.rangeBand(); + r.rect(25, y('p'), x(10000) - 25, bar_height).attr({ + 'fill': '#FCFF9B', + 'stroke': 'none' + }); + r.text(30, y("p") + 9, "Your pathway").attr({ + 'text-anchor': 'start', + 'font-weight': 'bold' + }); + r.text(30, y("p") + 27, "You can use the chart below to see how\nsensitive it is to different cost assumptions").attr({ + 'text-anchor': 'start' + }); + this.top_pathway_chart = { + low: r.rect(x(0), y('p'), 0, bar_height).attr({ + 'fill': p_low_fill_color, + 'stroke': 'none' + }), + range: r.rect(x(0), y('p'), 0, bar_height).attr({ + 'fill': p_range_fill_color, + 'stroke': 'none' + }) + }; + r.rect(x(0), y('c'), x(10000) - x(0), bar_height).attr({ + 'fill': '#ddd', + 'stroke': 'none' + }); + this.top_comparator_chart = { + name: r.text(30, y('c') + 9, "").attr({ + 'text-anchor': 'start', + 'font-weight': 'bold' + }), + description: r.text(30, y('c') + 27, "").attr({ + 'text-anchor': 'start' + }), + low: r.rect(x(0), y('c'), 0, bar_height).attr({ + 'fill': c_low_fill_color, + 'stroke': 'none' + }), + range: r.rect(x(0), y('c'), 0, bar_height).attr({ + 'fill': c_range_fill_color, + 'stroke': 'none' + }) + }; + r.setStart(); + this.increment_arrows = { + single: r.path(["M", 0, 0, "L", 0, 0]).attr({ + 'stroke-width': '15' + }), + single_value: r.text(0, y('i') + bar_height / 2, "").attr({ + 'text-anchor': 'start' + }), + range_message: r.text(0, y('i') + bar_height / 2, "Some costs are uncertain, therefore your pathway could be between").attr({ + 'text-anchor': 'end' + }), + low: r.path(["M", 0, 0, "L", 0, 0]).attr({ + 'stroke-width': '10' + }), + high: r.path(["M", 0, 0, "L", 0, 0]).attr({ + 'stroke-width': '10' + }), + low_value: r.text(0, y('i') + bar_height * 0.25, "").attr({ + 'text-anchor': 'start' + }), + high_value: r.text(0, y('i') + bar_height * 0.75, "").attr({ + 'text-anchor': 'start' + }) + }; + increment = r.setFinish(); + increment.hide(); + this.bottom_y = y = d3.scale.ordinal().domain(cost_component_names).rangeRoundBands([bottom_area_start, h], 0.25); + bar_height = (y.rangeBand() - 2) / 2; + this.bar_offset = bar_offset = ((y.rangeBand() - 2) / 2) + 2; + components = {}; + for (_i = 0, _len = cost_component_names.length; _i < _len; _i++) { + name = cost_component_names[_i]; + py = y(name); + r.rect(x(0), py, x(10000) - x(0), y.rangeBand()).attr({ + 'fill': '#ddd', + 'stroke': 'none' + }); + } + sensitivity_label_height = y.rangeBand(); + sensitivity_label_width = this.w(1000) - 2; + box_attr = { + fill: '#fff', + stroke: '#000', + 'fill-opacity': 0, + 'stroke-opacity': 0 + }; + for (_j = 0, _len1 = cost_component_names.length; _j < _len1; _j++) { + name = cost_component_names[_j]; + py = y(name); + cy = py + bar_offset; + ly = py + (y.rangeBand() / 2); + boxy = py; + component = {}; + url = "http://2050-calculator-tool-wiki.decc.gov.uk" + (cost_wiki_links[name] || "/"); + component.name = r.text(245, ly, name).attr({ + 'text-anchor': 'end', + href: url + }); + component.pathway = {}; + component.pathway.low = r.rect(x(0), py, 0, bar_height).attr({ + 'fill': p_low_fill_color, + 'stroke': 'none' + }); + component.pathway.range = r.rect(x(0), py, 0, bar_height).attr({ + 'fill': p_range_fill_color, + 'stroke': 'none' + }); + component.pathway.uncertainty = r.path(["M", 0, 0, "L", 0, 0]).attr({ + stroke: '#000', + 'arrow-end': "classic-narrow-long", + 'arrow-start': "classic-narrow-long" + }); + component.comparator = {}; + component.comparator.low = r.rect(x(0), cy, 0, bar_height).attr({ + 'fill': c_low_fill_color, + 'stroke': 'none' + }); + component.comparator.range = r.rect(x(0), cy, 0, bar_height).attr({ + 'fill': c_range_fill_color, + 'stroke': 'none' + }); + component.comparator.uncertainty = r.path(["M", 0, 0, "L", 0, 0]).attr({ + stroke: '#000', + 'arrow-end': "classic-narrow-long", + 'arrow-start': "classic-narrow-long" + }); + labels = cost_component_value(name); + component.details = r.text(x(5500), ly, "See assumptions").attr({ + 'text-anchor': 'middle', + href: url + }); + component.details_box = r.rect(x(5000), py, sensitivity_label_width, sensitivity_label_height).attr({ + fill: '#ccc', + opacity: 0, + cursor: 'pointer', + href: url + }); + component.cheap = r.text(x(6500), ly, labels.cheap).attr({ + 'text-anchor': 'middle' + }); + component.cheap_box = r.rect(x(6000) + 1, boxy, sensitivity_label_width, sensitivity_label_height).attr(box_attr); + component["default"] = r.text(x(7500), ly, labels["default"]).attr({ + 'text-anchor': 'middle' + }); + component.default_box = r.rect(x(7000) + 1, boxy, sensitivity_label_width, sensitivity_label_height).attr(box_attr); + component.expensive = r.text(x(8500), ly, labels.expensive).attr({ + 'text-anchor': 'middle' + }); + component.expensive_box = r.rect(x(8000) + 1, boxy, sensitivity_label_width, sensitivity_label_height).attr(box_attr); + component.uncertain = r.text(x(9500), ly, "Uncertain").attr({ + 'text-anchor': 'middle' + }); + component.uncertain_box = r.rect(x(9000) + 1, boxy, sensitivity_label_width, sensitivity_label_height).attr(box_attr); + this.clickToChangeCost(component.cheap_box, name, 0); + this.clickToChangeCost(component.default_box, name, "point"); + this.clickToChangeCost(component.expensive_box, name, 1); + this.clickToChangeCost(component.uncertain_box, name, "uncertain"); + components[name] = component; + } + this.components = components; + format = x.tickFormat(10); + _ref = x.ticks(10); + for (_k = 0, _len2 = _ref.length; _k < _len2; _k++) { + tick = _ref[_k]; + r.text(x(tick), 30, format(tick)).attr({ + 'text-anchor': 'middle' + }); + r.path(["M", x(tick), 40, "L", x(tick), h]).attr({ + stroke: '#fff' + }); + } + r.text(30, 205, "The biggest costs in your pathway").attr({ + 'text-anchor': 'start', + 'font-weight': 'bold' + }); + r.path(["M", 32, 212, "L", 32, 300]).attr({ + stroke: '#000', + 'arrow-end': "classic-wide-long" + }); + r.rect(250, 205, 30, bar_height).attr({ + 'fill': p_low_fill_color, + 'stroke': 'none' + }); + r.text(285, 208, "The cost in your pathway").attr({ + 'text-anchor': 'start', + 'font-weight': 'normal' + }); + r.rect(250, 215, 30, bar_height).attr({ + 'fill': c_low_fill_color, + 'stroke': 'none' + }); + this.key_label = r.text(285, 218, "The cost in your comparator").attr({ + 'text-anchor': 'start', + 'font-weight': 'normal' + }); + r.path(["M", 250, 228, "L", 280, 228]).attr({ + stroke: '#000', + 'arrow-end': "classic-wide-long", + 'arrow-start': 'classic-wide-short' + }); + r.text(285, 228, "The range of cost estimates").attr({ + 'text-anchor': 'start', + 'font-weight': 'normal' + }); + r.text(x(7500), 220, "Try different cost scenarios").attr({ + 'text-anchor': 'middle', + 'font-weight': 'bold' + }); + r.text(x(6500), 233, "Cheap"); + r.path(["M", x(7000), 233, "L", x(8000) - 2, 233]).attr({ + stroke: '#000', + 'arrow-end': "classic-wide-long" + }); + r.text(x(8500), 233, "Expensive"); + r.text(w - 30, 233, "(reset)").attr({ + 'text-anchor': 'end', + cursor: 'pointer' + }).click(function() { + var _l, _len3; + for (_l = 0, _len3 = cost_component_names.length; _l < _len3; _l++) { + name = cost_component_names[_l]; + jQuery.jStorage.set(name, 'point'); + } + twentyfifty.adjust_costs_of_pathway(_this.pathway); + twentyfifty.adjust_costs_of_pathway(_this.comparator); + _this.updateComponents(); + return _this.updateToBarForNewCost(); + }); + return increment.toFront(); + }; + + CostsSensitivity.prototype.clickToChangeCost = function(element, name, level) { + var _this = this; + element.click(function() { + jQuery.jStorage.set(name, level); + twentyfifty.adjust_costs_of_pathway(_this.pathway); + twentyfifty.adjust_costs_of_pathway(_this.comparator); + _this.updateComponentNamed(name); + return _this.updateToBarForNewCost(); + }); + element.hover((function() { + return this.attr({ + 'stroke-opacity': 1.0 + }); + }), (function() { + return this.attr({ + 'stroke-opacity': 0.0 + }); + })); + return element.attr({ + cursor: 'pointer' + }); + }; + + return CostsSensitivity; + + })(); + + window.twentyfifty.views['costs_sensitivity'] = new CostsSensitivity; + +}).call(this); +(function() { + var Story, + __slice = [].slice, + __hasProp = {}.hasOwnProperty; + + Story = (function() { + function Story() { + this.ready = false; + } + + Story.prototype.setup = function() { + $("#results").append("
"); + return this.ready = true; + }; + + Story.prototype.teardown = function() { + $("#results").empty(); + return this.ready = false; + }; + + Story.prototype.updateResults = function(pathway) { + var element; + this.pathway = pathway; + if (!this.ready) { + this.setup(); + } + this.choices = twentyfifty.choices; + element = $('#demand_story'); + element.empty(); + this.stories_for_choices(element, "Homes in 2050", 32, 33, 37, 38); + this.heating_choice_table(element, this.pathway.heating.residential); + this.stories_for_choices(element, "Personal transport in 2050", 25, 26, 27, 29); + this.stories_for_choices(element, "Businesses in 2050", 43, 47, 48); + this.heating_choice_table(element, this.pathway.heating.commercial); + this.stories_for_choices(element, "Industry in 2050", 40, 41); + this.stories_for_choices(element, "Commercial transport in 2050", 28, 29, 30); + element = $('#supply_story'); + element.empty(); + this.stories_for_choices(element, "Thermal power stations in 2050", 0, 2, 3, 9, 12); + this.stories_for_choices(element, "Wind in 2050", 4, 5, 14); + this.stories_for_choices(element, "Water: wave, tide and hydro in 2050", 6, 7, 8, 13); + this.stories_for_choices(element, "Solar in 2050", 10, 11, 15); + this.stories_for_choices(element, "Bioenergy, farming and waste in 2050", 22, 17, 18, 19, 20, 21); + element = $('#ghg_story'); + element.empty(); + this.electricity_generation_capacity_table(element); + element.append("

Greenhouse gases

"); + element.append("

2050 emissions will be " + this.pathway.ghg.percent_reduction_from_1990 + "% below 1990 levels.

"); + element.append("

International aviation and shipping emissions are not included in the UK's 2050 target but are included here to enable emissions from all sectors to be considered.

"); + this.stories_for_choices(element, null, 50); + element.append("

Energy security

"); + this.stories_for_choices(element, null, 51); + element.append("

If there are five cold, almost windless, winter days, then up to " + (Math.round(this.pathway.electricity.peaking)) + " GW of backup generation capacity will be required to ensure that electricity is always available.

"); + return this.stories_for_choices(element, null, 22, 15); + }; + + Story.prototype.stories_for_choices = function() { + var choice, element, row, rows, text, title, _i, _len; + element = arguments[0], title = arguments[1], rows = 3 <= arguments.length ? __slice.call(arguments, 2) : []; + if (title != null) { + element.append("

" + title + "

"); + } + text = []; + for (_i = 0, _len = rows.length; _i < _len; _i++) { + row = rows[_i]; + choice = choices[row] - 1; + if (choice % 1 === 0.0) { + text.push(window.twentyfifty.longDescriptions[row][choice]); + } else { + text.push("Between " + window.twentyfifty.longDescriptions[row][Math.floor(choice)] + " and " + window.twentyfifty.longDescriptions[row][Math.ceil(choice)]); + } + } + return element.append("

" + (text.join(". ")) + ".

"); + }; + + Story.prototype.heating_choice_table = function(element, heat) { + var html, name, value, values, _i, _len; + html = []; + html.push(""); + html.push(""); + values = []; + for (name in heat) { + if (!__hasProp.call(heat, name)) continue; + value = heat[name]; + values.push({ + name: name, + value: value + }); + } + values.sort(function(a, b) { + return a.value - b.value; + }); + for (_i = 0, _len = values.length; _i < _len; _i++) { + value = values[_i]; + if (value.value > 0.01) { + html.push(""); + } + } + html.push("
Type of heater2050 proportion of heating
" + value.name + "" + (Math.round(value.value * 100)) + "%
"); + return element.append(html.join('')); + }; + + Story.prototype.electricity_generation_capacity_table = function(element) { + var data, html, name, value, values, _i, _len, _ref; + html = []; + html.push(""); + html.push(""); + values = []; + _ref = this.pathway.electricity.capacity; + for (name in _ref) { + if (!__hasProp.call(_ref, name)) continue; + data = _ref[name]; + values.push({ + name: name, + d2010: data[0], + d2050: data[8] + }); + } + values.sort(function(a, b) { + return a.d2050 - b.d2050; + }); + for (_i = 0, _len = values.length; _i < _len; _i++) { + value = values[_i]; + if ((value.d2010 + value.d2050) !== 0.0) { + html.push(""); + } + } + html.push("
GW Capacity20102050
" + value.name + "" + (Math.round(value.d2010)) + "" + (Math.round(value.d2050)) + "
"); + return element.append(html.join('')); + }; + + return Story; + + })(); + + window.twentyfifty.views['story'] = new Story; + +}).call(this); +(function() { + var FilledBoxChart, SimpleSankeyDisplay, VectorChart, + __hasProp = {}.hasOwnProperty, + __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; + + FilledBoxChart = function(r, px, py, h, w, maximum_value, square_size, titles) { + var box, boxes, cols, gx, gy, i, inverse_x, label, labels, path, row_size, rows, setValues, title, x, y, _i, _j, _k, _len, _x, _x_end, _x_origin, _y; + rows = cols = Math.ceil(Math.sqrt(maximum_value / square_size)); + row_size = cols * square_size; + x = d3.scale.linear().domain([0, row_size]).range([px, px + w]); + inverse_x = d3.scale.linear().domain([0, row_size]).range([px + w, px]); + y = d3.scale.linear().domain([0, maximum_value]).range([h + py, py]); + _x = function(value) { + if (Math.floor(value / row_size) % 2 === 0) { + return x(value % row_size); + } else { + return inverse_x(value % row_size); + } + }; + _y = function(value) { + return y(Math.floor(value / row_size) * row_size); + }; + _x_origin = function(value) { + if (Math.floor(value / row_size) % 2 === 0) { + return x(0); + } else { + return inverse_x(0); + } + }; + _x_end = function(value) { + if (Math.floor(value / row_size) % 2 === 0) { + return x(row_size); + } else { + return inverse_x(row_size); + } + }; + path = function(start, end) { + var p; + if (_y(end) === _y(start)) { + return p = ["M", _x(start), _y(start), "L", _x(end), _y(end), "L", _x(end), _y(end + row_size), "L", _x(start), _y(end + row_size), "Z"]; + } else if (_y(end) === _y(start + row_size)) { + return p = ["M", _x(start), _y(start), "L", _x_end(start), _y(start), "L", _x_end(start), _y(end + row_size), "L", _x(end), _y(end + row_size), "L", _x(end), _y(end), "L", _x(start), _y(end), "Z"]; + } else if ((Math.floor(start / row_size) % 2) !== (Math.floor(end / row_size) % 2)) { + return p = ["M", _x(start), _y(start), "L", _x_end(start), _y(start), "L", _x_end(start), _y(end + row_size), "L", _x(end), _y(end + row_size), "L", _x(end), _y(end), "L", _x_end(end), _y(end), "L", _x_end(end), _y(start + row_size), "L", _x(start), _y(start + row_size), "L", _x(start), _y(start), "Z"]; + } else { + return p = ["M", _x(start), _y(start), "L", _x_end(start), _y(start), "L", _x_end(start), _y(end), "L", _x(end), _y(end), "L", _x(end), _y(end + row_size), "L", _x_origin(end), _y(end + row_size), "L", _x_origin(end), _y(start + row_size), "L", _x(start), _y(start + row_size), "L", _x(start), _y(start), "Z"]; + } + }; + for (gy = _i = 0; row_size > 0 ? _i <= maximum_value : _i >= maximum_value; gy = _i += row_size) { + r.path(["M", x(0), y(gy), "L", x(row_size), y(gy)]).attr({ + stroke: '#ccc' + }); + for (gx = _j = 0; square_size > 0 ? _j <= row_size : _j >= row_size; gx = _j += square_size) { + r.path(["M", x(gx), y(0), "L", x(gx), y(maximum_value)]).attr({ + stroke: '#ccc' + }); + } + } + boxes = {}; + labels = {}; + label = function(name, start, value) { + var l; + l = r.text(_x(start + value / 2), _y(start + value / 2), name); + l.hide(); + return l; + }; + box = function(name, start, value, color) { + var b; + if (color == null) { + color = "#0f0"; + } + b = r.path(path(start, start + value)).attr({ + 'stroke': '#000', + fill: color, + 'fill-opacity': 0.5, + 'stroke-width': '1' + }); + return b.hover(function() { + labels[name].show(); + return this.attr({ + 'fill-opacity': 0.75 + }); + }, function() { + labels[name].hide(); + return this.attr({ + 'fill-opacity': 0.5 + }); + }); + }; + for (i = _k = 0, _len = titles.length; _k < _len; i = ++_k) { + title = titles[i]; + boxes[title] = box(title, 0, 0, "#" + i + i + i); + labels[title] = label(title, 0, 0); + } + setValues = function(values) { + var name, sum, value, _results; + sum = 0; + _results = []; + for (name in values) { + if (!__hasProp.call(values, name)) continue; + value = values[name]; + boxes[name].attr({ + path: path(sum, sum + value) + }); + labels[name].attr({ + x: (_x(sum) + _x(sum + value)) / 2, + y: (_y(sum) + _y(sum + value)) / 2 + }); + _results.push(sum += value); + } + return _results; + }; + return { + box: box, + setValues: setValues + }; + }; + + VectorChart = function(r, px, py, h, w, maximum_value, square_size, titles) { + var box, boxes, cols, gx, gy, i, label, labels, row_size, rows, setValues, spacing, title, x, y, _i, _j, _k, _len; + rows = cols = Math.ceil(Math.sqrt(maximum_value / square_size)); + row_size = cols * square_size; + spacing = row_size * 0.1; + x = d3.scale.linear().domain([0, row_size]).range([px, px + w]); + y = d3.scale.linear().domain([0, maximum_value]).range([h + py, py]); + for (gy = _i = 0; row_size > 0 ? _i <= maximum_value : _i >= maximum_value; gy = _i += row_size) { + r.path(["M", x(0), y(gy), "L", x(row_size), y(gy)]).attr({ + stroke: '#ccc' + }); + for (gx = _j = 0; square_size > 0 ? _j <= row_size : _j >= row_size; gx = _j += square_size) { + r.path(["M", x(gx), y(0), "L", x(gx), y(maximum_value)]).attr({ + stroke: '#ccc' + }); + } + } + boxes = {}; + labels = {}; + label = function(name, start, value) { + var l; + l = r.text(x(row_size / 2), y(start + value / 2), name); + l.hide(); + return l; + }; + box = function(name, start, value, color) { + var b; + if (color == null) { + color = "#0f0"; + } + if (name === "Oil") { + b = r.path(["M", x(0), y(start + value / 2), "L", x(row_size), y(start + value / 2)]).attr({ + "stroke": '#F00', + 'stroke-width': y(start) - y(start + value) + }); + } else { + b = r.rect(x(0), y(start), x(row_size) - x(0), y(start + value) - y(start)).attr({ + 'stroke': '#000', + fill: color, + 'fill-opacity': 0.5, + 'stroke-width': '1' + }); + } + return b.hover(function() { + labels[name].show(); + return this.attr({ + 'fill-opacity': 0.75 + }); + }, function() { + labels[name].hide(); + return this.attr({ + 'fill-opacity': 0.5 + }); + }); + }; + for (i = _k = 0, _len = titles.length; _k < _len; i = ++_k) { + title = titles[i]; + boxes[title] = box(title, 0, 0, "#" + i + i + i); + labels[title] = label(title, 0, 0); + } + setValues = function(values) { + var name, sum, value, _results; + sum = 0; + _results = []; + for (name in values) { + if (!__hasProp.call(values, name)) continue; + value = values[name]; + boxes[name].attr({ + y: y(sum + value), + height: y(sum) - y(sum + value) + }); + labels[name].attr({ + x: x(sum + (value / 2)), + y: y(sum + value / 2) + }); + if (value > 0) { + _results.push(sum += value + spacing); + } else { + _results.push(void 0); + } + } + return _results; + }; + return { + box: box, + setValues: setValues + }; + }; + + SimpleSankeyDisplay = (function() { + var demand_titles, supply_titles, vector_titles; + + supply_titles = ["Nuclear fission", "Solar", "Wind", "Tidal", "Wave", "Geothermal", "Hydro", "Electricity oversupply (imports)", "Environmental heat", "Bioenergy", "Coal", "Oil", "Natural gas"]; + + demand_titles = ['Industry', 'Transport', 'Heating and cooling', 'Lighting & appliances']; + + vector_titles = ["Electricity", "Gas or biogas", "Coal or biomass", "Oil or biofuel", "Hydrogen", "Heat", "Overgeneration or exports", "Losses"]; + + function SimpleSankeyDisplay() { + this.documentReady = __bind(this.documentReady, this); + } + + SimpleSankeyDisplay.prototype.documentReady = function() { + var width; + if (this.drawn != null) { + return false; + } + this.drawn = true; + this.raphael = new Raphael('simplesankey'); + width = $('#simplesankey').width(); + this.supply = new FilledBoxChart(this.raphael, 30, 10, 300, 300, 3500, 10, supply_titles); + this.demand = new FilledBoxChart(this.raphael, 635, 10, 300, 300, 3500, 10, demand_titles); + this.vectors = new VectorChart(this.raphael, 335, 10, 300, 300, 3500, 10, supply_titles); + this.raphael.path(["M", 332, 10, "L", 332, 310]).attr({ + 'stroke-width': '5' + }); + return this.raphael.path(["M", 635, 10, "L", 635, 310]).attr({ + 'stroke-width': '5' + }); + }; + + SimpleSankeyDisplay.prototype.updateResults = function(pathway) { + var new_values, title, _i, _j, _len, _len1; + new_values = {}; + for (_i = 0, _len = supply_titles.length; _i < _len; _i++) { + title = supply_titles[_i]; + new_values[title] = pathway.primary_energy_supply[title][8]; + } + this.supply.setValues(new_values); + this.vectors.setValues(new_values); + new_values = {}; + for (_j = 0, _len1 = demand_titles.length; _j < _len1; _j++) { + title = demand_titles[_j]; + new_values[title] = pathway.final_energy_demand[title][8]; + } + return this.demand.setValues(new_values); + }; + + return SimpleSankeyDisplay; + + })(); + + window.twentyfifty.SimpleSankeyDisplay = SimpleSankeyDisplay; + +}).call(this); +(function() { + var Share, loadFromExcel, shareHTML; + + shareHTML = "
\n
\n

Sharing this pathway with others

\n

\n If you want to save or share your pathway, bookmark this page, or take note of its url*:\n \n

\n

\n To share, just send someone the url, or click this share button:\n \n \"Bookmark\n \n \n \n

\n

* On modern browsers, this url is the same as the one you will see in the address bar as you use the calculator. On older browsers, such as Internet Explorer 6 and 7, it will not be.

\n
\n
\n

Sharing this pathway with the excel version of the 2050 pathways calculator

\n

\n You may want to explore your pathway in more detail, taking a look at all the assumptions behind our modelling, by downloading\n the underlying excel spreadsheet.\n

\n

\n If you do, then you can recreate the pathway you have chosen in this tool by copying the numbers from the box below and pasting them in cells E5 to E57 on the 'Control' sheet of the workbook. You can also copy a pathway from that range in the excel model, paste it in the box below and click the 'Go to this pathway' button at the bottom of the page.\n

\n \n \n
\n

\n
\n
"; + + Share = (function() { + function Share() { + this.ready = false; + } + + Share.prototype.setup = function() { + if (this.ready) { + return false; + } + this.ready = true; + return $('#results').append(shareHTML); + }; + + Share.prototype.teardown = function() { + $('#results').empty(); + return this.ready = false; + }; + + Share.prototype.updateResults = function(pathway) { + var url; + this.pathway = pathway; + if (!this.ready) { + this.setup(); + } + url = "http://" + window.location.host + (twentyfifty.url({ + action: 'primary_energy_chart' + })); + $('#share a#pathwayurl').text(url); + $('#share a#pathwayurl').attr({ + href: url + }); + return $('#excel textarea').val(twentyfifty.getChoices().join("\n")); + }; + + return Share; + + })(); + + loadFromExcel = function() { + var c, pasted_choices; + pasted_choices = $('#excel textarea').val().split(/\r\n|\r|\n/); + pasted_choices = (function() { + var _i, _len, _results; + _results = []; + for (_i = 0, _len = pasted_choices.length; _i < _len; _i++) { + c = pasted_choices[_i]; + if (c === "") { + _results.push("0"); + } else { + _results.push(c); + } + } + return _results; + })(); + twentyfifty.setChoices(pasted_choices); + twentyfifty.switchView('primary_energy_chart'); + return false; + }; + + window.twentyfifty.loadFromExcel = loadFromExcel; + + window.twentyfifty.views['share'] = new Share; + +}).call(this); +// This is a manifest file that'll be compiled into including all the files listed below. +// Add new JavaScript/Coffee code in separate files in this directory and they'll automatically +// be included in the compiled file accessible from http://example.com/assets/application.js +// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the +// the compiled file. +// + +// First the support libs + + +// we aren't using this: require jquery_ujs + + + + + + + +// Now the common methods + + + + + +// Now the individual views + + + + + + + + + + + + + + +; diff --git a/public/assets/application-451a3706ab7783856b8b9d17c037093f.js.gz b/public/assets/application-451a3706ab7783856b8b9d17c037093f.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..1d5d666b4aefda1edc3d0499d2dae00a78b6c5e0 GIT binary patch literal 160908 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 X<%2GcJhWr}bG-BaP`4{jX^#j1)nDkU literal 0 HcmV?d00001 diff --git a/public/assets/application-9bf382e5a1816edb91b0cc5e1abc419b.css b/public/assets/application-9bf382e5a1816edb91b0cc5e1abc419b.css new file mode 100644 index 00000000..f97c37cd --- /dev/null +++ b/public/assets/application-9bf382e5a1816edb91b0cc5e1abc419b.css @@ -0,0 +1,2280 @@ +/* + * This is a manifest file that'll automatically include all the stylesheets available in this directory + * and any sub-directories. You're free to add application-wide styles to this file and they'll appear at + * the top of the compiled file, but it's generally better to create a new file per style scope. + + +*/ +#airquality { + margin-left: 0%; + margin-right: 0%; + width: 100%; + margin: 0 0 0 0; + padding: 0; + height: 300px; } + +.airquality h1 { + font-size: 16px; + margin-left: 300px; } +.airquality .airqualitymessage { + margin-left: 300px; + margin-right: 30px; + margin-bottom: 30px; } + .airquality .airqualitymessage h2 { + font-size: 16px; + margin-left: 0px; + text-align: left; } +/* This product includes color specifications and designs developed by Cynthia Brewer (http://colorbrewer.org/). */ + +.YlGn .q0-3{fill:rgb(247,252,185)} +.YlGn .q1-3{fill:rgb(173,221,142)} +.YlGn .q2-3{fill:rgb(49,163,84)} +.YlGn .q0-4{fill:rgb(255,255,204)} +.YlGn .q1-4{fill:rgb(194,230,153)} +.YlGn .q2-4{fill:rgb(120,198,121)} +.YlGn .q3-4{fill:rgb(35,132,67)} +.YlGn .q0-5{fill:rgb(255,255,204)} +.YlGn .q1-5{fill:rgb(194,230,153)} +.YlGn .q2-5{fill:rgb(120,198,121)} +.YlGn .q3-5{fill:rgb(49,163,84)} +.YlGn .q4-5{fill:rgb(0,104,55)} +.YlGn .q0-6{fill:rgb(255,255,204)} +.YlGn .q1-6{fill:rgb(217,240,163)} +.YlGn .q2-6{fill:rgb(173,221,142)} +.YlGn .q3-6{fill:rgb(120,198,121)} +.YlGn .q4-6{fill:rgb(49,163,84)} +.YlGn .q5-6{fill:rgb(0,104,55)} +.YlGn .q0-7{fill:rgb(255,255,204)} +.YlGn .q1-7{fill:rgb(217,240,163)} +.YlGn .q2-7{fill:rgb(173,221,142)} +.YlGn .q3-7{fill:rgb(120,198,121)} +.YlGn .q4-7{fill:rgb(65,171,93)} +.YlGn .q5-7{fill:rgb(35,132,67)} +.YlGn .q6-7{fill:rgb(0,90,50)} +.YlGn .q0-8{fill:rgb(255,255,229)} +.YlGn .q1-8{fill:rgb(247,252,185)} +.YlGn .q2-8{fill:rgb(217,240,163)} +.YlGn .q3-8{fill:rgb(173,221,142)} +.YlGn .q4-8{fill:rgb(120,198,121)} +.YlGn .q5-8{fill:rgb(65,171,93)} +.YlGn .q6-8{fill:rgb(35,132,67)} +.YlGn .q7-8{fill:rgb(0,90,50)} +.YlGn .q0-9{fill:rgb(255,255,229)} +.YlGn .q1-9{fill:rgb(247,252,185)} +.YlGn .q2-9{fill:rgb(217,240,163)} +.YlGn .q3-9{fill:rgb(173,221,142)} +.YlGn .q4-9{fill:rgb(120,198,121)} +.YlGn .q5-9{fill:rgb(65,171,93)} +.YlGn .q6-9{fill:rgb(35,132,67)} +.YlGn .q7-9{fill:rgb(0,104,55)} +.YlGn .q8-9{fill:rgb(0,69,41)} +.YlGnBu .q0-3{fill:rgb(237,248,177)} +.YlGnBu .q1-3{fill:rgb(127,205,187)} +.YlGnBu .q2-3{fill:rgb(44,127,184)} +.YlGnBu .q0-4{fill:rgb(255,255,204)} +.YlGnBu .q1-4{fill:rgb(161,218,180)} +.YlGnBu .q2-4{fill:rgb(65,182,196)} +.YlGnBu .q3-4{fill:rgb(34,94,168)} +.YlGnBu .q0-5{fill:rgb(255,255,204)} +.YlGnBu .q1-5{fill:rgb(161,218,180)} +.YlGnBu .q2-5{fill:rgb(65,182,196)} +.YlGnBu .q3-5{fill:rgb(44,127,184)} +.YlGnBu .q4-5{fill:rgb(37,52,148)} +.YlGnBu .q0-6{fill:rgb(255,255,204)} +.YlGnBu .q1-6{fill:rgb(199,233,180)} +.YlGnBu .q2-6{fill:rgb(127,205,187)} +.YlGnBu .q3-6{fill:rgb(65,182,196)} +.YlGnBu .q4-6{fill:rgb(44,127,184)} +.YlGnBu .q5-6{fill:rgb(37,52,148)} +.YlGnBu .q0-7{fill:rgb(255,255,204)} +.YlGnBu .q1-7{fill:rgb(199,233,180)} +.YlGnBu .q2-7{fill:rgb(127,205,187)} +.YlGnBu .q3-7{fill:rgb(65,182,196)} +.YlGnBu .q4-7{fill:rgb(29,145,192)} +.YlGnBu .q5-7{fill:rgb(34,94,168)} +.YlGnBu .q6-7{fill:rgb(12,44,132)} +.YlGnBu .q0-8{fill:rgb(255,255,217)} +.YlGnBu .q1-8{fill:rgb(237,248,177)} +.YlGnBu .q2-8{fill:rgb(199,233,180)} +.YlGnBu .q3-8{fill:rgb(127,205,187)} +.YlGnBu .q4-8{fill:rgb(65,182,196)} +.YlGnBu .q5-8{fill:rgb(29,145,192)} +.YlGnBu .q6-8{fill:rgb(34,94,168)} +.YlGnBu .q7-8{fill:rgb(12,44,132)} +.YlGnBu .q0-9{fill:rgb(255,255,217)} +.YlGnBu .q1-9{fill:rgb(237,248,177)} +.YlGnBu .q2-9{fill:rgb(199,233,180)} +.YlGnBu .q3-9{fill:rgb(127,205,187)} +.YlGnBu .q4-9{fill:rgb(65,182,196)} +.YlGnBu .q5-9{fill:rgb(29,145,192)} +.YlGnBu .q6-9{fill:rgb(34,94,168)} +.YlGnBu .q7-9{fill:rgb(37,52,148)} +.YlGnBu .q8-9{fill:rgb(8,29,88)} +.GnBu .q0-3{fill:rgb(224,243,219)} +.GnBu .q1-3{fill:rgb(168,221,181)} +.GnBu .q2-3{fill:rgb(67,162,202)} +.GnBu .q0-4{fill:rgb(240,249,232)} +.GnBu .q1-4{fill:rgb(186,228,188)} +.GnBu .q2-4{fill:rgb(123,204,196)} +.GnBu .q3-4{fill:rgb(43,140,190)} +.GnBu .q0-5{fill:rgb(240,249,232)} +.GnBu .q1-5{fill:rgb(186,228,188)} +.GnBu .q2-5{fill:rgb(123,204,196)} +.GnBu .q3-5{fill:rgb(67,162,202)} +.GnBu .q4-5{fill:rgb(8,104,172)} +.GnBu .q0-6{fill:rgb(240,249,232)} +.GnBu .q1-6{fill:rgb(204,235,197)} +.GnBu .q2-6{fill:rgb(168,221,181)} +.GnBu .q3-6{fill:rgb(123,204,196)} +.GnBu .q4-6{fill:rgb(67,162,202)} +.GnBu .q5-6{fill:rgb(8,104,172)} +.GnBu .q0-7{fill:rgb(240,249,232)} +.GnBu .q1-7{fill:rgb(204,235,197)} +.GnBu .q2-7{fill:rgb(168,221,181)} +.GnBu .q3-7{fill:rgb(123,204,196)} +.GnBu .q4-7{fill:rgb(78,179,211)} +.GnBu .q5-7{fill:rgb(43,140,190)} +.GnBu .q6-7{fill:rgb(8,88,158)} +.GnBu .q0-8{fill:rgb(247,252,240)} +.GnBu .q1-8{fill:rgb(224,243,219)} +.GnBu .q2-8{fill:rgb(204,235,197)} +.GnBu .q3-8{fill:rgb(168,221,181)} +.GnBu .q4-8{fill:rgb(123,204,196)} +.GnBu .q5-8{fill:rgb(78,179,211)} +.GnBu .q6-8{fill:rgb(43,140,190)} +.GnBu .q7-8{fill:rgb(8,88,158)} +.GnBu .q0-9{fill:rgb(247,252,240)} +.GnBu .q1-9{fill:rgb(224,243,219)} +.GnBu .q2-9{fill:rgb(204,235,197)} +.GnBu .q3-9{fill:rgb(168,221,181)} +.GnBu .q4-9{fill:rgb(123,204,196)} +.GnBu .q5-9{fill:rgb(78,179,211)} +.GnBu .q6-9{fill:rgb(43,140,190)} +.GnBu .q7-9{fill:rgb(8,104,172)} +.GnBu .q8-9{fill:rgb(8,64,129)} +.BuGn .q0-3{fill:rgb(229,245,249)} +.BuGn .q1-3{fill:rgb(153,216,201)} +.BuGn .q2-3{fill:rgb(44,162,95)} +.BuGn .q0-4{fill:rgb(237,248,251)} +.BuGn .q1-4{fill:rgb(178,226,226)} +.BuGn .q2-4{fill:rgb(102,194,164)} +.BuGn .q3-4{fill:rgb(35,139,69)} +.BuGn .q0-5{fill:rgb(237,248,251)} +.BuGn .q1-5{fill:rgb(178,226,226)} +.BuGn .q2-5{fill:rgb(102,194,164)} +.BuGn .q3-5{fill:rgb(44,162,95)} +.BuGn .q4-5{fill:rgb(0,109,44)} +.BuGn .q0-6{fill:rgb(237,248,251)} +.BuGn .q1-6{fill:rgb(204,236,230)} +.BuGn .q2-6{fill:rgb(153,216,201)} +.BuGn .q3-6{fill:rgb(102,194,164)} +.BuGn .q4-6{fill:rgb(44,162,95)} +.BuGn .q5-6{fill:rgb(0,109,44)} +.BuGn .q0-7{fill:rgb(237,248,251)} +.BuGn .q1-7{fill:rgb(204,236,230)} +.BuGn .q2-7{fill:rgb(153,216,201)} +.BuGn .q3-7{fill:rgb(102,194,164)} +.BuGn .q4-7{fill:rgb(65,174,118)} +.BuGn .q5-7{fill:rgb(35,139,69)} +.BuGn .q6-7{fill:rgb(0,88,36)} +.BuGn .q0-8{fill:rgb(247,252,253)} +.BuGn .q1-8{fill:rgb(229,245,249)} +.BuGn .q2-8{fill:rgb(204,236,230)} +.BuGn .q3-8{fill:rgb(153,216,201)} +.BuGn .q4-8{fill:rgb(102,194,164)} +.BuGn .q5-8{fill:rgb(65,174,118)} +.BuGn .q6-8{fill:rgb(35,139,69)} +.BuGn .q7-8{fill:rgb(0,88,36)} +.BuGn .q0-9{fill:rgb(247,252,253)} +.BuGn .q1-9{fill:rgb(229,245,249)} +.BuGn .q2-9{fill:rgb(204,236,230)} +.BuGn .q3-9{fill:rgb(153,216,201)} +.BuGn .q4-9{fill:rgb(102,194,164)} +.BuGn .q5-9{fill:rgb(65,174,118)} +.BuGn .q6-9{fill:rgb(35,139,69)} +.BuGn .q7-9{fill:rgb(0,109,44)} +.BuGn .q8-9{fill:rgb(0,68,27)} +.PuBuGn .q0-3{fill:rgb(236,226,240)} +.PuBuGn .q1-3{fill:rgb(166,189,219)} +.PuBuGn .q2-3{fill:rgb(28,144,153)} +.PuBuGn .q0-4{fill:rgb(246,239,247)} +.PuBuGn .q1-4{fill:rgb(189,201,225)} +.PuBuGn .q2-4{fill:rgb(103,169,207)} +.PuBuGn .q3-4{fill:rgb(2,129,138)} +.PuBuGn .q0-5{fill:rgb(246,239,247)} +.PuBuGn .q1-5{fill:rgb(189,201,225)} +.PuBuGn .q2-5{fill:rgb(103,169,207)} +.PuBuGn .q3-5{fill:rgb(28,144,153)} +.PuBuGn .q4-5{fill:rgb(1,108,89)} +.PuBuGn .q0-6{fill:rgb(246,239,247)} +.PuBuGn .q1-6{fill:rgb(208,209,230)} +.PuBuGn .q2-6{fill:rgb(166,189,219)} +.PuBuGn .q3-6{fill:rgb(103,169,207)} +.PuBuGn .q4-6{fill:rgb(28,144,153)} +.PuBuGn .q5-6{fill:rgb(1,108,89)} +.PuBuGn .q0-7{fill:rgb(246,239,247)} +.PuBuGn .q1-7{fill:rgb(208,209,230)} +.PuBuGn .q2-7{fill:rgb(166,189,219)} +.PuBuGn .q3-7{fill:rgb(103,169,207)} +.PuBuGn .q4-7{fill:rgb(54,144,192)} +.PuBuGn .q5-7{fill:rgb(2,129,138)} +.PuBuGn .q6-7{fill:rgb(1,100,80)} +.PuBuGn .q0-8{fill:rgb(255,247,251)} +.PuBuGn .q1-8{fill:rgb(236,226,240)} +.PuBuGn .q2-8{fill:rgb(208,209,230)} +.PuBuGn .q3-8{fill:rgb(166,189,219)} +.PuBuGn .q4-8{fill:rgb(103,169,207)} +.PuBuGn .q5-8{fill:rgb(54,144,192)} +.PuBuGn .q6-8{fill:rgb(2,129,138)} +.PuBuGn .q7-8{fill:rgb(1,100,80)} +.PuBuGn .q0-9{fill:rgb(255,247,251)} +.PuBuGn .q1-9{fill:rgb(236,226,240)} +.PuBuGn .q2-9{fill:rgb(208,209,230)} +.PuBuGn .q3-9{fill:rgb(166,189,219)} +.PuBuGn .q4-9{fill:rgb(103,169,207)} +.PuBuGn .q5-9{fill:rgb(54,144,192)} +.PuBuGn .q6-9{fill:rgb(2,129,138)} +.PuBuGn .q7-9{fill:rgb(1,108,89)} +.PuBuGn .q8-9{fill:rgb(1,70,54)} +.PuBu .q0-3{fill:rgb(236,231,242)} +.PuBu .q1-3{fill:rgb(166,189,219)} +.PuBu .q2-3{fill:rgb(43,140,190)} +.PuBu .q0-4{fill:rgb(241,238,246)} +.PuBu .q1-4{fill:rgb(189,201,225)} +.PuBu .q2-4{fill:rgb(116,169,207)} +.PuBu .q3-4{fill:rgb(5,112,176)} +.PuBu .q0-5{fill:rgb(241,238,246)} +.PuBu .q1-5{fill:rgb(189,201,225)} +.PuBu .q2-5{fill:rgb(116,169,207)} +.PuBu .q3-5{fill:rgb(43,140,190)} +.PuBu .q4-5{fill:rgb(4,90,141)} +.PuBu .q0-6{fill:rgb(241,238,246)} +.PuBu .q1-6{fill:rgb(208,209,230)} +.PuBu .q2-6{fill:rgb(166,189,219)} +.PuBu .q3-6{fill:rgb(116,169,207)} +.PuBu .q4-6{fill:rgb(43,140,190)} +.PuBu .q5-6{fill:rgb(4,90,141)} +.PuBu .q0-7{fill:rgb(241,238,246)} +.PuBu .q1-7{fill:rgb(208,209,230)} +.PuBu .q2-7{fill:rgb(166,189,219)} +.PuBu .q3-7{fill:rgb(116,169,207)} +.PuBu .q4-7{fill:rgb(54,144,192)} +.PuBu .q5-7{fill:rgb(5,112,176)} +.PuBu .q6-7{fill:rgb(3,78,123)} +.PuBu .q0-8{fill:rgb(255,247,251)} +.PuBu .q1-8{fill:rgb(236,231,242)} +.PuBu .q2-8{fill:rgb(208,209,230)} +.PuBu .q3-8{fill:rgb(166,189,219)} +.PuBu .q4-8{fill:rgb(116,169,207)} +.PuBu .q5-8{fill:rgb(54,144,192)} +.PuBu .q6-8{fill:rgb(5,112,176)} +.PuBu .q7-8{fill:rgb(3,78,123)} +.PuBu .q0-9{fill:rgb(255,247,251)} +.PuBu .q1-9{fill:rgb(236,231,242)} +.PuBu .q2-9{fill:rgb(208,209,230)} +.PuBu .q3-9{fill:rgb(166,189,219)} +.PuBu .q4-9{fill:rgb(116,169,207)} +.PuBu .q5-9{fill:rgb(54,144,192)} +.PuBu .q6-9{fill:rgb(5,112,176)} +.PuBu .q7-9{fill:rgb(4,90,141)} +.PuBu .q8-9{fill:rgb(2,56,88)} +.BuPu .q0-3{fill:rgb(224,236,244)} +.BuPu .q1-3{fill:rgb(158,188,218)} +.BuPu .q2-3{fill:rgb(136,86,167)} +.BuPu .q0-4{fill:rgb(237,248,251)} +.BuPu .q1-4{fill:rgb(179,205,227)} +.BuPu .q2-4{fill:rgb(140,150,198)} +.BuPu .q3-4{fill:rgb(136,65,157)} +.BuPu .q0-5{fill:rgb(237,248,251)} +.BuPu .q1-5{fill:rgb(179,205,227)} +.BuPu .q2-5{fill:rgb(140,150,198)} +.BuPu .q3-5{fill:rgb(136,86,167)} +.BuPu .q4-5{fill:rgb(129,15,124)} +.BuPu .q0-6{fill:rgb(237,248,251)} +.BuPu .q1-6{fill:rgb(191,211,230)} +.BuPu .q2-6{fill:rgb(158,188,218)} +.BuPu .q3-6{fill:rgb(140,150,198)} +.BuPu .q4-6{fill:rgb(136,86,167)} +.BuPu .q5-6{fill:rgb(129,15,124)} +.BuPu .q0-7{fill:rgb(237,248,251)} +.BuPu .q1-7{fill:rgb(191,211,230)} +.BuPu .q2-7{fill:rgb(158,188,218)} +.BuPu .q3-7{fill:rgb(140,150,198)} +.BuPu .q4-7{fill:rgb(140,107,177)} +.BuPu .q5-7{fill:rgb(136,65,157)} +.BuPu .q6-7{fill:rgb(110,1,107)} +.BuPu .q0-8{fill:rgb(247,252,253)} +.BuPu .q1-8{fill:rgb(224,236,244)} +.BuPu .q2-8{fill:rgb(191,211,230)} +.BuPu .q3-8{fill:rgb(158,188,218)} +.BuPu .q4-8{fill:rgb(140,150,198)} +.BuPu .q5-8{fill:rgb(140,107,177)} +.BuPu .q6-8{fill:rgb(136,65,157)} +.BuPu .q7-8{fill:rgb(110,1,107)} +.BuPu .q0-9{fill:rgb(247,252,253)} +.BuPu .q1-9{fill:rgb(224,236,244)} +.BuPu .q2-9{fill:rgb(191,211,230)} +.BuPu .q3-9{fill:rgb(158,188,218)} +.BuPu .q4-9{fill:rgb(140,150,198)} +.BuPu .q5-9{fill:rgb(140,107,177)} +.BuPu .q6-9{fill:rgb(136,65,157)} +.BuPu .q7-9{fill:rgb(129,15,124)} +.BuPu .q8-9{fill:rgb(77,0,75)} +.RdPu .q0-3{fill:rgb(253,224,221)} +.RdPu .q1-3{fill:rgb(250,159,181)} +.RdPu .q2-3{fill:rgb(197,27,138)} +.RdPu .q0-4{fill:rgb(254,235,226)} +.RdPu .q1-4{fill:rgb(251,180,185)} +.RdPu .q2-4{fill:rgb(247,104,161)} +.RdPu .q3-4{fill:rgb(174,1,126)} +.RdPu .q0-5{fill:rgb(254,235,226)} +.RdPu .q1-5{fill:rgb(251,180,185)} +.RdPu .q2-5{fill:rgb(247,104,161)} +.RdPu .q3-5{fill:rgb(197,27,138)} +.RdPu .q4-5{fill:rgb(122,1,119)} +.RdPu .q0-6{fill:rgb(254,235,226)} +.RdPu .q1-6{fill:rgb(252,197,192)} +.RdPu .q2-6{fill:rgb(250,159,181)} +.RdPu .q3-6{fill:rgb(247,104,161)} +.RdPu .q4-6{fill:rgb(197,27,138)} +.RdPu .q5-6{fill:rgb(122,1,119)} +.RdPu .q0-7{fill:rgb(254,235,226)} +.RdPu .q1-7{fill:rgb(252,197,192)} +.RdPu .q2-7{fill:rgb(250,159,181)} +.RdPu .q3-7{fill:rgb(247,104,161)} +.RdPu .q4-7{fill:rgb(221,52,151)} +.RdPu .q5-7{fill:rgb(174,1,126)} +.RdPu .q6-7{fill:rgb(122,1,119)} +.RdPu .q0-8{fill:rgb(255,247,243)} +.RdPu .q1-8{fill:rgb(253,224,221)} +.RdPu .q2-8{fill:rgb(252,197,192)} +.RdPu .q3-8{fill:rgb(250,159,181)} +.RdPu .q4-8{fill:rgb(247,104,161)} +.RdPu .q5-8{fill:rgb(221,52,151)} +.RdPu .q6-8{fill:rgb(174,1,126)} +.RdPu .q7-8{fill:rgb(122,1,119)} +.RdPu .q0-9{fill:rgb(255,247,243)} +.RdPu .q1-9{fill:rgb(253,224,221)} +.RdPu .q2-9{fill:rgb(252,197,192)} +.RdPu .q3-9{fill:rgb(250,159,181)} +.RdPu .q4-9{fill:rgb(247,104,161)} +.RdPu .q5-9{fill:rgb(221,52,151)} +.RdPu .q6-9{fill:rgb(174,1,126)} +.RdPu .q7-9{fill:rgb(122,1,119)} +.RdPu .q8-9{fill:rgb(73,0,106)} +.PuRd .q0-3{fill:rgb(231,225,239)} +.PuRd .q1-3{fill:rgb(201,148,199)} +.PuRd .q2-3{fill:rgb(221,28,119)} +.PuRd .q0-4{fill:rgb(241,238,246)} +.PuRd .q1-4{fill:rgb(215,181,216)} +.PuRd .q2-4{fill:rgb(223,101,176)} +.PuRd .q3-4{fill:rgb(206,18,86)} +.PuRd .q0-5{fill:rgb(241,238,246)} +.PuRd .q1-5{fill:rgb(215,181,216)} +.PuRd .q2-5{fill:rgb(223,101,176)} +.PuRd .q3-5{fill:rgb(221,28,119)} +.PuRd .q4-5{fill:rgb(152,0,67)} +.PuRd .q0-6{fill:rgb(241,238,246)} +.PuRd .q1-6{fill:rgb(212,185,218)} +.PuRd .q2-6{fill:rgb(201,148,199)} +.PuRd .q3-6{fill:rgb(223,101,176)} +.PuRd .q4-6{fill:rgb(221,28,119)} +.PuRd .q5-6{fill:rgb(152,0,67)} +.PuRd .q0-7{fill:rgb(241,238,246)} +.PuRd .q1-7{fill:rgb(212,185,218)} +.PuRd .q2-7{fill:rgb(201,148,199)} +.PuRd .q3-7{fill:rgb(223,101,176)} +.PuRd .q4-7{fill:rgb(231,41,138)} +.PuRd .q5-7{fill:rgb(206,18,86)} +.PuRd .q6-7{fill:rgb(145,0,63)} +.PuRd .q0-8{fill:rgb(247,244,249)} +.PuRd .q1-8{fill:rgb(231,225,239)} +.PuRd .q2-8{fill:rgb(212,185,218)} +.PuRd .q3-8{fill:rgb(201,148,199)} +.PuRd .q4-8{fill:rgb(223,101,176)} +.PuRd .q5-8{fill:rgb(231,41,138)} +.PuRd .q6-8{fill:rgb(206,18,86)} +.PuRd .q7-8{fill:rgb(145,0,63)} +.PuRd .q0-9{fill:rgb(247,244,249)} +.PuRd .q1-9{fill:rgb(231,225,239)} +.PuRd .q2-9{fill:rgb(212,185,218)} +.PuRd .q3-9{fill:rgb(201,148,199)} +.PuRd .q4-9{fill:rgb(223,101,176)} +.PuRd .q5-9{fill:rgb(231,41,138)} +.PuRd .q6-9{fill:rgb(206,18,86)} +.PuRd .q7-9{fill:rgb(152,0,67)} +.PuRd .q8-9{fill:rgb(103,0,31)} +.OrRd .q0-3{fill:rgb(254,232,200)} +.OrRd .q1-3{fill:rgb(253,187,132)} +.OrRd .q2-3{fill:rgb(227,74,51)} +.OrRd .q0-4{fill:rgb(254,240,217)} +.OrRd .q1-4{fill:rgb(253,204,138)} +.OrRd .q2-4{fill:rgb(252,141,89)} +.OrRd .q3-4{fill:rgb(215,48,31)} +.OrRd .q0-5{fill:rgb(254,240,217)} +.OrRd .q1-5{fill:rgb(253,204,138)} +.OrRd .q2-5{fill:rgb(252,141,89)} +.OrRd .q3-5{fill:rgb(227,74,51)} +.OrRd .q4-5{fill:rgb(179,0,0)} +.OrRd .q0-6{fill:rgb(254,240,217)} +.OrRd .q1-6{fill:rgb(253,212,158)} +.OrRd .q2-6{fill:rgb(253,187,132)} +.OrRd .q3-6{fill:rgb(252,141,89)} +.OrRd .q4-6{fill:rgb(227,74,51)} +.OrRd .q5-6{fill:rgb(179,0,0)} +.OrRd .q0-7{fill:rgb(254,240,217)} +.OrRd .q1-7{fill:rgb(253,212,158)} +.OrRd .q2-7{fill:rgb(253,187,132)} +.OrRd .q3-7{fill:rgb(252,141,89)} +.OrRd .q4-7{fill:rgb(239,101,72)} +.OrRd .q5-7{fill:rgb(215,48,31)} +.OrRd .q6-7{fill:rgb(153,0,0)} +.OrRd .q0-8{fill:rgb(255,247,236)} +.OrRd .q1-8{fill:rgb(254,232,200)} +.OrRd .q2-8{fill:rgb(253,212,158)} +.OrRd .q3-8{fill:rgb(253,187,132)} +.OrRd .q4-8{fill:rgb(252,141,89)} +.OrRd .q5-8{fill:rgb(239,101,72)} +.OrRd .q6-8{fill:rgb(215,48,31)} +.OrRd .q7-8{fill:rgb(153,0,0)} +.OrRd .q0-9{fill:rgb(255,247,236)} +.OrRd .q1-9{fill:rgb(254,232,200)} +.OrRd .q2-9{fill:rgb(253,212,158)} +.OrRd .q3-9{fill:rgb(253,187,132)} +.OrRd .q4-9{fill:rgb(252,141,89)} +.OrRd .q5-9{fill:rgb(239,101,72)} +.OrRd .q6-9{fill:rgb(215,48,31)} +.OrRd .q7-9{fill:rgb(179,0,0)} +.OrRd .q8-9{fill:rgb(127,0,0)} +.YlOrRd .q0-3{fill:rgb(255,237,160)} +.YlOrRd .q1-3{fill:rgb(254,178,76)} +.YlOrRd .q2-3{fill:rgb(240,59,32)} +.YlOrRd .q0-4{fill:rgb(255,255,178)} +.YlOrRd .q1-4{fill:rgb(254,204,92)} +.YlOrRd .q2-4{fill:rgb(253,141,60)} +.YlOrRd .q3-4{fill:rgb(227,26,28)} +.YlOrRd .q0-5{fill:rgb(255,255,178)} +.YlOrRd .q1-5{fill:rgb(254,204,92)} +.YlOrRd .q2-5{fill:rgb(253,141,60)} +.YlOrRd .q3-5{fill:rgb(240,59,32)} +.YlOrRd .q4-5{fill:rgb(189,0,38)} +.YlOrRd .q0-6{fill:rgb(255,255,178)} +.YlOrRd .q1-6{fill:rgb(254,217,118)} +.YlOrRd .q2-6{fill:rgb(254,178,76)} +.YlOrRd .q3-6{fill:rgb(253,141,60)} +.YlOrRd .q4-6{fill:rgb(240,59,32)} +.YlOrRd .q5-6{fill:rgb(189,0,38)} +.YlOrRd .q0-7{fill:rgb(255,255,178)} +.YlOrRd .q1-7{fill:rgb(254,217,118)} +.YlOrRd .q2-7{fill:rgb(254,178,76)} +.YlOrRd .q3-7{fill:rgb(253,141,60)} +.YlOrRd .q4-7{fill:rgb(252,78,42)} +.YlOrRd .q5-7{fill:rgb(227,26,28)} +.YlOrRd .q6-7{fill:rgb(177,0,38)} +.YlOrRd .q0-8{fill:rgb(255,255,204)} +.YlOrRd .q1-8{fill:rgb(255,237,160)} +.YlOrRd .q2-8{fill:rgb(254,217,118)} +.YlOrRd .q3-8{fill:rgb(254,178,76)} +.YlOrRd .q4-8{fill:rgb(253,141,60)} +.YlOrRd .q5-8{fill:rgb(252,78,42)} +.YlOrRd .q6-8{fill:rgb(227,26,28)} +.YlOrRd .q7-8{fill:rgb(177,0,38)} +.YlOrRd .q0-9{fill:rgb(255,255,204)} +.YlOrRd .q1-9{fill:rgb(255,237,160)} +.YlOrRd .q2-9{fill:rgb(254,217,118)} +.YlOrRd .q3-9{fill:rgb(254,178,76)} +.YlOrRd .q4-9{fill:rgb(253,141,60)} +.YlOrRd .q5-9{fill:rgb(252,78,42)} +.YlOrRd .q6-9{fill:rgb(227,26,28)} +.YlOrRd .q7-9{fill:rgb(189,0,38)} +.YlOrRd .q8-9{fill:rgb(128,0,38)} +.YlOrBr .q0-3{fill:rgb(255,247,188)} +.YlOrBr .q1-3{fill:rgb(254,196,79)} +.YlOrBr .q2-3{fill:rgb(217,95,14)} +.YlOrBr .q0-4{fill:rgb(255,255,212)} +.YlOrBr .q1-4{fill:rgb(254,217,142)} +.YlOrBr .q2-4{fill:rgb(254,153,41)} +.YlOrBr .q3-4{fill:rgb(204,76,2)} +.YlOrBr .q0-5{fill:rgb(255,255,212)} +.YlOrBr .q1-5{fill:rgb(254,217,142)} +.YlOrBr .q2-5{fill:rgb(254,153,41)} +.YlOrBr .q3-5{fill:rgb(217,95,14)} +.YlOrBr .q4-5{fill:rgb(153,52,4)} +.YlOrBr .q0-6{fill:rgb(255,255,212)} +.YlOrBr .q1-6{fill:rgb(254,227,145)} +.YlOrBr .q2-6{fill:rgb(254,196,79)} +.YlOrBr .q3-6{fill:rgb(254,153,41)} +.YlOrBr .q4-6{fill:rgb(217,95,14)} +.YlOrBr .q5-6{fill:rgb(153,52,4)} +.YlOrBr .q0-7{fill:rgb(255,255,212)} +.YlOrBr .q1-7{fill:rgb(254,227,145)} +.YlOrBr .q2-7{fill:rgb(254,196,79)} +.YlOrBr .q3-7{fill:rgb(254,153,41)} +.YlOrBr .q4-7{fill:rgb(236,112,20)} +.YlOrBr .q5-7{fill:rgb(204,76,2)} +.YlOrBr .q6-7{fill:rgb(140,45,4)} +.YlOrBr .q0-8{fill:rgb(255,255,229)} +.YlOrBr .q1-8{fill:rgb(255,247,188)} +.YlOrBr .q2-8{fill:rgb(254,227,145)} +.YlOrBr .q3-8{fill:rgb(254,196,79)} +.YlOrBr .q4-8{fill:rgb(254,153,41)} +.YlOrBr .q5-8{fill:rgb(236,112,20)} +.YlOrBr .q6-8{fill:rgb(204,76,2)} +.YlOrBr .q7-8{fill:rgb(140,45,4)} +.YlOrBr .q0-9{fill:rgb(255,255,229)} +.YlOrBr .q1-9{fill:rgb(255,247,188)} +.YlOrBr .q2-9{fill:rgb(254,227,145)} +.YlOrBr .q3-9{fill:rgb(254,196,79)} +.YlOrBr .q4-9{fill:rgb(254,153,41)} +.YlOrBr .q5-9{fill:rgb(236,112,20)} +.YlOrBr .q6-9{fill:rgb(204,76,2)} +.YlOrBr .q7-9{fill:rgb(153,52,4)} +.YlOrBr .q8-9{fill:rgb(102,37,6)} +.Purples .q0-3{fill:rgb(239,237,245)} +.Purples .q1-3{fill:rgb(188,189,220)} +.Purples .q2-3{fill:rgb(117,107,177)} +.Purples .q0-4{fill:rgb(242,240,247)} +.Purples .q1-4{fill:rgb(203,201,226)} +.Purples .q2-4{fill:rgb(158,154,200)} +.Purples .q3-4{fill:rgb(106,81,163)} +.Purples .q0-5{fill:rgb(242,240,247)} +.Purples .q1-5{fill:rgb(203,201,226)} +.Purples .q2-5{fill:rgb(158,154,200)} +.Purples .q3-5{fill:rgb(117,107,177)} +.Purples .q4-5{fill:rgb(84,39,143)} +.Purples .q0-6{fill:rgb(242,240,247)} +.Purples .q1-6{fill:rgb(218,218,235)} +.Purples .q2-6{fill:rgb(188,189,220)} +.Purples .q3-6{fill:rgb(158,154,200)} +.Purples .q4-6{fill:rgb(117,107,177)} +.Purples .q5-6{fill:rgb(84,39,143)} +.Purples .q0-7{fill:rgb(242,240,247)} +.Purples .q1-7{fill:rgb(218,218,235)} +.Purples .q2-7{fill:rgb(188,189,220)} +.Purples .q3-7{fill:rgb(158,154,200)} +.Purples .q4-7{fill:rgb(128,125,186)} +.Purples .q5-7{fill:rgb(106,81,163)} +.Purples .q6-7{fill:rgb(74,20,134)} +.Purples .q0-8{fill:rgb(252,251,253)} +.Purples .q1-8{fill:rgb(239,237,245)} +.Purples .q2-8{fill:rgb(218,218,235)} +.Purples .q3-8{fill:rgb(188,189,220)} +.Purples .q4-8{fill:rgb(158,154,200)} +.Purples .q5-8{fill:rgb(128,125,186)} +.Purples .q6-8{fill:rgb(106,81,163)} +.Purples .q7-8{fill:rgb(74,20,134)} +.Purples .q0-9{fill:rgb(252,251,253)} +.Purples .q1-9{fill:rgb(239,237,245)} +.Purples .q2-9{fill:rgb(218,218,235)} +.Purples .q3-9{fill:rgb(188,189,220)} +.Purples .q4-9{fill:rgb(158,154,200)} +.Purples .q5-9{fill:rgb(128,125,186)} +.Purples .q6-9{fill:rgb(106,81,163)} +.Purples .q7-9{fill:rgb(84,39,143)} +.Purples .q8-9{fill:rgb(63,0,125)} +.Blues .q0-3{fill:rgb(222,235,247)} +.Blues .q1-3{fill:rgb(158,202,225)} +.Blues .q2-3{fill:rgb(49,130,189)} +.Blues .q0-4{fill:rgb(239,243,255)} +.Blues .q1-4{fill:rgb(189,215,231)} +.Blues .q2-4{fill:rgb(107,174,214)} +.Blues .q3-4{fill:rgb(33,113,181)} +.Blues .q0-5{fill:rgb(239,243,255)} +.Blues .q1-5{fill:rgb(189,215,231)} +.Blues .q2-5{fill:rgb(107,174,214)} +.Blues .q3-5{fill:rgb(49,130,189)} +.Blues .q4-5{fill:rgb(8,81,156)} +.Blues .q0-6{fill:rgb(239,243,255)} +.Blues .q1-6{fill:rgb(198,219,239)} +.Blues .q2-6{fill:rgb(158,202,225)} +.Blues .q3-6{fill:rgb(107,174,214)} +.Blues .q4-6{fill:rgb(49,130,189)} +.Blues .q5-6{fill:rgb(8,81,156)} +.Blues .q0-7{fill:rgb(239,243,255)} +.Blues .q1-7{fill:rgb(198,219,239)} +.Blues .q2-7{fill:rgb(158,202,225)} +.Blues .q3-7{fill:rgb(107,174,214)} +.Blues .q4-7{fill:rgb(66,146,198)} +.Blues .q5-7{fill:rgb(33,113,181)} +.Blues .q6-7{fill:rgb(8,69,148)} +.Blues .q0-8{fill:rgb(247,251,255)} +.Blues .q1-8{fill:rgb(222,235,247)} +.Blues .q2-8{fill:rgb(198,219,239)} +.Blues .q3-8{fill:rgb(158,202,225)} +.Blues .q4-8{fill:rgb(107,174,214)} +.Blues .q5-8{fill:rgb(66,146,198)} +.Blues .q6-8{fill:rgb(33,113,181)} +.Blues .q7-8{fill:rgb(8,69,148)} +.Blues .q0-9{fill:rgb(247,251,255)} +.Blues .q1-9{fill:rgb(222,235,247)} +.Blues .q2-9{fill:rgb(198,219,239)} +.Blues .q3-9{fill:rgb(158,202,225)} +.Blues .q4-9{fill:rgb(107,174,214)} +.Blues .q5-9{fill:rgb(66,146,198)} +.Blues .q6-9{fill:rgb(33,113,181)} +.Blues .q7-9{fill:rgb(8,81,156)} +.Blues .q8-9{fill:rgb(8,48,107)} +.Greens .q0-3{fill:rgb(229,245,224)} +.Greens .q1-3{fill:rgb(161,217,155)} +.Greens .q2-3{fill:rgb(49,163,84)} +.Greens .q0-4{fill:rgb(237,248,233)} +.Greens .q1-4{fill:rgb(186,228,179)} +.Greens .q2-4{fill:rgb(116,196,118)} +.Greens .q3-4{fill:rgb(35,139,69)} +.Greens .q0-5{fill:rgb(237,248,233)} +.Greens .q1-5{fill:rgb(186,228,179)} +.Greens .q2-5{fill:rgb(116,196,118)} +.Greens .q3-5{fill:rgb(49,163,84)} +.Greens .q4-5{fill:rgb(0,109,44)} +.Greens .q0-6{fill:rgb(237,248,233)} +.Greens .q1-6{fill:rgb(199,233,192)} +.Greens .q2-6{fill:rgb(161,217,155)} +.Greens .q3-6{fill:rgb(116,196,118)} +.Greens .q4-6{fill:rgb(49,163,84)} +.Greens .q5-6{fill:rgb(0,109,44)} +.Greens .q0-7{fill:rgb(237,248,233)} +.Greens .q1-7{fill:rgb(199,233,192)} +.Greens .q2-7{fill:rgb(161,217,155)} +.Greens .q3-7{fill:rgb(116,196,118)} +.Greens .q4-7{fill:rgb(65,171,93)} +.Greens .q5-7{fill:rgb(35,139,69)} +.Greens .q6-7{fill:rgb(0,90,50)} +.Greens .q0-8{fill:rgb(247,252,245)} +.Greens .q1-8{fill:rgb(229,245,224)} +.Greens .q2-8{fill:rgb(199,233,192)} +.Greens .q3-8{fill:rgb(161,217,155)} +.Greens .q4-8{fill:rgb(116,196,118)} +.Greens .q5-8{fill:rgb(65,171,93)} +.Greens .q6-8{fill:rgb(35,139,69)} +.Greens .q7-8{fill:rgb(0,90,50)} +.Greens .q0-9{fill:rgb(247,252,245)} +.Greens .q1-9{fill:rgb(229,245,224)} +.Greens .q2-9{fill:rgb(199,233,192)} +.Greens .q3-9{fill:rgb(161,217,155)} +.Greens .q4-9{fill:rgb(116,196,118)} +.Greens .q5-9{fill:rgb(65,171,93)} +.Greens .q6-9{fill:rgb(35,139,69)} +.Greens .q7-9{fill:rgb(0,109,44)} +.Greens .q8-9{fill:rgb(0,68,27)} +.Oranges .q0-3{fill:rgb(254,230,206)} +.Oranges .q1-3{fill:rgb(253,174,107)} +.Oranges .q2-3{fill:rgb(230,85,13)} +.Oranges .q0-4{fill:rgb(254,237,222)} +.Oranges .q1-4{fill:rgb(253,190,133)} +.Oranges .q2-4{fill:rgb(253,141,60)} +.Oranges .q3-4{fill:rgb(217,71,1)} +.Oranges .q0-5{fill:rgb(254,237,222)} +.Oranges .q1-5{fill:rgb(253,190,133)} +.Oranges .q2-5{fill:rgb(253,141,60)} +.Oranges .q3-5{fill:rgb(230,85,13)} +.Oranges .q4-5{fill:rgb(166,54,3)} +.Oranges .q0-6{fill:rgb(254,237,222)} +.Oranges .q1-6{fill:rgb(253,208,162)} +.Oranges .q2-6{fill:rgb(253,174,107)} +.Oranges .q3-6{fill:rgb(253,141,60)} +.Oranges .q4-6{fill:rgb(230,85,13)} +.Oranges .q5-6{fill:rgb(166,54,3)} +.Oranges .q0-7{fill:rgb(254,237,222)} +.Oranges .q1-7{fill:rgb(253,208,162)} +.Oranges .q2-7{fill:rgb(253,174,107)} +.Oranges .q3-7{fill:rgb(253,141,60)} +.Oranges .q4-7{fill:rgb(241,105,19)} +.Oranges .q5-7{fill:rgb(217,72,1)} +.Oranges .q6-7{fill:rgb(140,45,4)} +.Oranges .q0-8{fill:rgb(255,245,235)} +.Oranges .q1-8{fill:rgb(254,230,206)} +.Oranges .q2-8{fill:rgb(253,208,162)} +.Oranges .q3-8{fill:rgb(253,174,107)} +.Oranges .q4-8{fill:rgb(253,141,60)} +.Oranges .q5-8{fill:rgb(241,105,19)} +.Oranges .q6-8{fill:rgb(217,72,1)} +.Oranges .q7-8{fill:rgb(140,45,4)} +.Oranges .q0-9{fill:rgb(255,245,235)} +.Oranges .q1-9{fill:rgb(254,230,206)} +.Oranges .q2-9{fill:rgb(253,208,162)} +.Oranges .q3-9{fill:rgb(253,174,107)} +.Oranges .q4-9{fill:rgb(253,141,60)} +.Oranges .q5-9{fill:rgb(241,105,19)} +.Oranges .q6-9{fill:rgb(217,72,1)} +.Oranges .q7-9{fill:rgb(166,54,3)} +.Oranges .q8-9{fill:rgb(127,39,4)} +.Reds .q0-3{fill:rgb(254,224,210)} +.Reds .q1-3{fill:rgb(252,146,114)} +.Reds .q2-3{fill:rgb(222,45,38)} +.Reds .q0-4{fill:rgb(254,229,217)} +.Reds .q1-4{fill:rgb(252,174,145)} +.Reds .q2-4{fill:rgb(251,106,74)} +.Reds .q3-4{fill:rgb(203,24,29)} +.Reds .q0-5{fill:rgb(254,229,217)} +.Reds .q1-5{fill:rgb(252,174,145)} +.Reds .q2-5{fill:rgb(251,106,74)} +.Reds .q3-5{fill:rgb(222,45,38)} +.Reds .q4-5{fill:rgb(165,15,21)} +.Reds .q0-6{fill:rgb(254,229,217)} +.Reds .q1-6{fill:rgb(252,187,161)} +.Reds .q2-6{fill:rgb(252,146,114)} +.Reds .q3-6{fill:rgb(251,106,74)} +.Reds .q4-6{fill:rgb(222,45,38)} +.Reds .q5-6{fill:rgb(165,15,21)} +.Reds .q0-7{fill:rgb(254,229,217)} +.Reds .q1-7{fill:rgb(252,187,161)} +.Reds .q2-7{fill:rgb(252,146,114)} +.Reds .q3-7{fill:rgb(251,106,74)} +.Reds .q4-7{fill:rgb(239,59,44)} +.Reds .q5-7{fill:rgb(203,24,29)} +.Reds .q6-7{fill:rgb(153,0,13)} +.Reds .q0-8{fill:rgb(255,245,240)} +.Reds .q1-8{fill:rgb(254,224,210)} +.Reds .q2-8{fill:rgb(252,187,161)} +.Reds .q3-8{fill:rgb(252,146,114)} +.Reds .q4-8{fill:rgb(251,106,74)} +.Reds .q5-8{fill:rgb(239,59,44)} +.Reds .q6-8{fill:rgb(203,24,29)} +.Reds .q7-8{fill:rgb(153,0,13)} +.Reds .q0-9{fill:rgb(255,245,240)} +.Reds .q1-9{fill:rgb(254,224,210)} +.Reds .q2-9{fill:rgb(252,187,161)} +.Reds .q3-9{fill:rgb(252,146,114)} +.Reds .q4-9{fill:rgb(251,106,74)} +.Reds .q5-9{fill:rgb(239,59,44)} +.Reds .q6-9{fill:rgb(203,24,29)} +.Reds .q7-9{fill:rgb(165,15,21)} +.Reds .q8-9{fill:rgb(103,0,13)} +.Greys .q0-3{fill:rgb(240,240,240)} +.Greys .q1-3{fill:rgb(189,189,189)} +.Greys .q2-3{fill:rgb(99,99,99)} +.Greys .q0-4{fill:rgb(247,247,247)} +.Greys .q1-4{fill:rgb(204,204,204)} +.Greys .q2-4{fill:rgb(150,150,150)} +.Greys .q3-4{fill:rgb(82,82,82)} +.Greys .q0-5{fill:rgb(247,247,247)} +.Greys .q1-5{fill:rgb(204,204,204)} +.Greys .q2-5{fill:rgb(150,150,150)} +.Greys .q3-5{fill:rgb(99,99,99)} +.Greys .q4-5{fill:rgb(37,37,37)} +.Greys .q0-6{fill:rgb(247,247,247)} +.Greys .q1-6{fill:rgb(217,217,217)} +.Greys .q2-6{fill:rgb(189,189,189)} +.Greys .q3-6{fill:rgb(150,150,150)} +.Greys .q4-6{fill:rgb(99,99,99)} +.Greys .q5-6{fill:rgb(37,37,37)} +.Greys .q0-7{fill:rgb(247,247,247)} +.Greys .q1-7{fill:rgb(217,217,217)} +.Greys .q2-7{fill:rgb(189,189,189)} +.Greys .q3-7{fill:rgb(150,150,150)} +.Greys .q4-7{fill:rgb(115,115,115)} +.Greys .q5-7{fill:rgb(82,82,82)} +.Greys .q6-7{fill:rgb(37,37,37)} +.Greys .q0-8{fill:rgb(255,255,255)} +.Greys .q1-8{fill:rgb(240,240,240)} +.Greys .q2-8{fill:rgb(217,217,217)} +.Greys .q3-8{fill:rgb(189,189,189)} +.Greys .q4-8{fill:rgb(150,150,150)} +.Greys .q5-8{fill:rgb(115,115,115)} +.Greys .q6-8{fill:rgb(82,82,82)} +.Greys .q7-8{fill:rgb(37,37,37)} +.Greys .q0-9{fill:rgb(255,255,255)} +.Greys .q1-9{fill:rgb(240,240,240)} +.Greys .q2-9{fill:rgb(217,217,217)} +.Greys .q3-9{fill:rgb(189,189,189)} +.Greys .q4-9{fill:rgb(150,150,150)} +.Greys .q5-9{fill:rgb(115,115,115)} +.Greys .q6-9{fill:rgb(82,82,82)} +.Greys .q7-9{fill:rgb(37,37,37)} +.Greys .q8-9{fill:rgb(0,0,0)} +.PuOr .q0-3{fill:rgb(241,163,64)} +.PuOr .q1-3{fill:rgb(247,247,247)} +.PuOr .q2-3{fill:rgb(153,142,195)} +.PuOr .q0-4{fill:rgb(230,97,1)} +.PuOr .q1-4{fill:rgb(253,184,99)} +.PuOr .q2-4{fill:rgb(178,171,210)} +.PuOr .q3-4{fill:rgb(94,60,153)} +.PuOr .q0-5{fill:rgb(230,97,1)} +.PuOr .q1-5{fill:rgb(253,184,99)} +.PuOr .q2-5{fill:rgb(247,247,247)} +.PuOr .q3-5{fill:rgb(178,171,210)} +.PuOr .q4-5{fill:rgb(94,60,153)} +.PuOr .q0-6{fill:rgb(179,88,6)} +.PuOr .q1-6{fill:rgb(241,163,64)} +.PuOr .q2-6{fill:rgb(254,224,182)} +.PuOr .q3-6{fill:rgb(216,218,235)} +.PuOr .q4-6{fill:rgb(153,142,195)} +.PuOr .q5-6{fill:rgb(84,39,136)} +.PuOr .q0-7{fill:rgb(179,88,6)} +.PuOr .q1-7{fill:rgb(241,163,64)} +.PuOr .q2-7{fill:rgb(254,224,182)} +.PuOr .q3-7{fill:rgb(247,247,247)} +.PuOr .q4-7{fill:rgb(216,218,235)} +.PuOr .q5-7{fill:rgb(153,142,195)} +.PuOr .q6-7{fill:rgb(84,39,136)} +.PuOr .q0-8{fill:rgb(179,88,6)} +.PuOr .q1-8{fill:rgb(224,130,20)} +.PuOr .q2-8{fill:rgb(253,184,99)} +.PuOr .q3-8{fill:rgb(254,224,182)} +.PuOr .q4-8{fill:rgb(216,218,235)} +.PuOr .q5-8{fill:rgb(178,171,210)} +.PuOr .q6-8{fill:rgb(128,115,172)} +.PuOr .q7-8{fill:rgb(84,39,136)} +.PuOr .q0-9{fill:rgb(179,88,6)} +.PuOr .q1-9{fill:rgb(224,130,20)} +.PuOr .q2-9{fill:rgb(253,184,99)} +.PuOr .q3-9{fill:rgb(254,224,182)} +.PuOr .q4-9{fill:rgb(247,247,247)} +.PuOr .q5-9{fill:rgb(216,218,235)} +.PuOr .q6-9{fill:rgb(178,171,210)} +.PuOr .q7-9{fill:rgb(128,115,172)} +.PuOr .q8-9{fill:rgb(84,39,136)} +.PuOr .q0-10{fill:rgb(127,59,8)} +.PuOr .q1-10{fill:rgb(179,88,6)} +.PuOr .q2-10{fill:rgb(224,130,20)} +.PuOr .q3-10{fill:rgb(253,184,99)} +.PuOr .q4-10{fill:rgb(254,224,182)} +.PuOr .q5-10{fill:rgb(216,218,235)} +.PuOr .q6-10{fill:rgb(178,171,210)} +.PuOr .q7-10{fill:rgb(128,115,172)} +.PuOr .q8-10{fill:rgb(84,39,136)} +.PuOr .q9-10{fill:rgb(45,0,75)} +.PuOr .q0-11{fill:rgb(127,59,8)} +.PuOr .q1-11{fill:rgb(179,88,6)} +.PuOr .q2-11{fill:rgb(224,130,20)} +.PuOr .q3-11{fill:rgb(253,184,99)} +.PuOr .q4-11{fill:rgb(254,224,182)} +.PuOr .q5-11{fill:rgb(247,247,247)} +.PuOr .q6-11{fill:rgb(216,218,235)} +.PuOr .q7-11{fill:rgb(178,171,210)} +.PuOr .q8-11{fill:rgb(128,115,172)} +.PuOr .q9-11{fill:rgb(84,39,136)} +.PuOr .q10-11{fill:rgb(45,0,75)} +.BrBG .q0-3{fill:rgb(216,179,101)} +.BrBG .q1-3{fill:rgb(245,245,245)} +.BrBG .q2-3{fill:rgb(90,180,172)} +.BrBG .q0-4{fill:rgb(166,97,26)} +.BrBG .q1-4{fill:rgb(223,194,125)} +.BrBG .q2-4{fill:rgb(128,205,193)} +.BrBG .q3-4{fill:rgb(1,133,113)} +.BrBG .q0-5{fill:rgb(166,97,26)} +.BrBG .q1-5{fill:rgb(223,194,125)} +.BrBG .q2-5{fill:rgb(245,245,245)} +.BrBG .q3-5{fill:rgb(128,205,193)} +.BrBG .q4-5{fill:rgb(1,133,113)} +.BrBG .q0-6{fill:rgb(140,81,10)} +.BrBG .q1-6{fill:rgb(216,179,101)} +.BrBG .q2-6{fill:rgb(246,232,195)} +.BrBG .q3-6{fill:rgb(199,234,229)} +.BrBG .q4-6{fill:rgb(90,180,172)} +.BrBG .q5-6{fill:rgb(1,102,94)} +.BrBG .q0-7{fill:rgb(140,81,10)} +.BrBG .q1-7{fill:rgb(216,179,101)} +.BrBG .q2-7{fill:rgb(246,232,195)} +.BrBG .q3-7{fill:rgb(245,245,245)} +.BrBG .q4-7{fill:rgb(199,234,229)} +.BrBG .q5-7{fill:rgb(90,180,172)} +.BrBG .q6-7{fill:rgb(1,102,94)} +.BrBG .q0-8{fill:rgb(140,81,10)} +.BrBG .q1-8{fill:rgb(191,129,45)} +.BrBG .q2-8{fill:rgb(223,194,125)} +.BrBG .q3-8{fill:rgb(246,232,195)} +.BrBG .q4-8{fill:rgb(199,234,229)} +.BrBG .q5-8{fill:rgb(128,205,193)} +.BrBG .q6-8{fill:rgb(53,151,143)} +.BrBG .q7-8{fill:rgb(1,102,94)} +.BrBG .q0-9{fill:rgb(140,81,10)} +.BrBG .q1-9{fill:rgb(191,129,45)} +.BrBG .q2-9{fill:rgb(223,194,125)} +.BrBG .q3-9{fill:rgb(246,232,195)} +.BrBG .q4-9{fill:rgb(245,245,245)} +.BrBG .q5-9{fill:rgb(199,234,229)} +.BrBG .q6-9{fill:rgb(128,205,193)} +.BrBG .q7-9{fill:rgb(53,151,143)} +.BrBG .q8-9{fill:rgb(1,102,94)} +.BrBG .q0-10{fill:rgb(84,48,5)} +.BrBG .q1-10{fill:rgb(140,81,10)} +.BrBG .q2-10{fill:rgb(191,129,45)} +.BrBG .q3-10{fill:rgb(223,194,125)} +.BrBG .q4-10{fill:rgb(246,232,195)} +.BrBG .q5-10{fill:rgb(199,234,229)} +.BrBG .q6-10{fill:rgb(128,205,193)} +.BrBG .q7-10{fill:rgb(53,151,143)} +.BrBG .q8-10{fill:rgb(1,102,94)} +.BrBG .q9-10{fill:rgb(0,60,48)} +.BrBG .q0-11{fill:rgb(84,48,5)} +.BrBG .q1-11{fill:rgb(140,81,10)} +.BrBG .q2-11{fill:rgb(191,129,45)} +.BrBG .q3-11{fill:rgb(223,194,125)} +.BrBG .q4-11{fill:rgb(246,232,195)} +.BrBG .q5-11{fill:rgb(245,245,245)} +.BrBG .q6-11{fill:rgb(199,234,229)} +.BrBG .q7-11{fill:rgb(128,205,193)} +.BrBG .q8-11{fill:rgb(53,151,143)} +.BrBG .q9-11{fill:rgb(1,102,94)} +.BrBG .q10-11{fill:rgb(0,60,48)} +.PRGn .q0-3{fill:rgb(175,141,195)} +.PRGn .q1-3{fill:rgb(247,247,247)} +.PRGn .q2-3{fill:rgb(127,191,123)} +.PRGn .q0-4{fill:rgb(123,50,148)} +.PRGn .q1-4{fill:rgb(194,165,207)} +.PRGn .q2-4{fill:rgb(166,219,160)} +.PRGn .q3-4{fill:rgb(0,136,55)} +.PRGn .q0-5{fill:rgb(123,50,148)} +.PRGn .q1-5{fill:rgb(194,165,207)} +.PRGn .q2-5{fill:rgb(247,247,247)} +.PRGn .q3-5{fill:rgb(166,219,160)} +.PRGn .q4-5{fill:rgb(0,136,55)} +.PRGn .q0-6{fill:rgb(118,42,131)} +.PRGn .q1-6{fill:rgb(175,141,195)} +.PRGn .q2-6{fill:rgb(231,212,232)} +.PRGn .q3-6{fill:rgb(217,240,211)} +.PRGn .q4-6{fill:rgb(127,191,123)} +.PRGn .q5-6{fill:rgb(27,120,55)} +.PRGn .q0-7{fill:rgb(118,42,131)} +.PRGn .q1-7{fill:rgb(175,141,195)} +.PRGn .q2-7{fill:rgb(231,212,232)} +.PRGn .q3-7{fill:rgb(247,247,247)} +.PRGn .q4-7{fill:rgb(217,240,211)} +.PRGn .q5-7{fill:rgb(127,191,123)} +.PRGn .q6-7{fill:rgb(27,120,55)} +.PRGn .q0-8{fill:rgb(118,42,131)} +.PRGn .q1-8{fill:rgb(153,112,171)} +.PRGn .q2-8{fill:rgb(194,165,207)} +.PRGn .q3-8{fill:rgb(231,212,232)} +.PRGn .q4-8{fill:rgb(217,240,211)} +.PRGn .q5-8{fill:rgb(166,219,160)} +.PRGn .q6-8{fill:rgb(90,174,97)} +.PRGn .q7-8{fill:rgb(27,120,55)} +.PRGn .q0-9{fill:rgb(118,42,131)} +.PRGn .q1-9{fill:rgb(153,112,171)} +.PRGn .q2-9{fill:rgb(194,165,207)} +.PRGn .q3-9{fill:rgb(231,212,232)} +.PRGn .q4-9{fill:rgb(247,247,247)} +.PRGn .q5-9{fill:rgb(217,240,211)} +.PRGn .q6-9{fill:rgb(166,219,160)} +.PRGn .q7-9{fill:rgb(90,174,97)} +.PRGn .q8-9{fill:rgb(27,120,55)} +.PRGn .q0-10{fill:rgb(64,0,75)} +.PRGn .q1-10{fill:rgb(118,42,131)} +.PRGn .q2-10{fill:rgb(153,112,171)} +.PRGn .q3-10{fill:rgb(194,165,207)} +.PRGn .q4-10{fill:rgb(231,212,232)} +.PRGn .q5-10{fill:rgb(217,240,211)} +.PRGn .q6-10{fill:rgb(166,219,160)} +.PRGn .q7-10{fill:rgb(90,174,97)} +.PRGn .q8-10{fill:rgb(27,120,55)} +.PRGn .q9-10{fill:rgb(0,68,27)} +.PRGn .q0-11{fill:rgb(64,0,75)} +.PRGn .q1-11{fill:rgb(118,42,131)} +.PRGn .q2-11{fill:rgb(153,112,171)} +.PRGn .q3-11{fill:rgb(194,165,207)} +.PRGn .q4-11{fill:rgb(231,212,232)} +.PRGn .q5-11{fill:rgb(247,247,247)} +.PRGn .q6-11{fill:rgb(217,240,211)} +.PRGn .q7-11{fill:rgb(166,219,160)} +.PRGn .q8-11{fill:rgb(90,174,97)} +.PRGn .q9-11{fill:rgb(27,120,55)} +.PRGn .q10-11{fill:rgb(0,68,27)} +.PiYG .q0-3{fill:rgb(233,163,201)} +.PiYG .q1-3{fill:rgb(247,247,247)} +.PiYG .q2-3{fill:rgb(161,215,106)} +.PiYG .q0-4{fill:rgb(208,28,139)} +.PiYG .q1-4{fill:rgb(241,182,218)} +.PiYG .q2-4{fill:rgb(184,225,134)} +.PiYG .q3-4{fill:rgb(77,172,38)} +.PiYG .q0-5{fill:rgb(208,28,139)} +.PiYG .q1-5{fill:rgb(241,182,218)} +.PiYG .q2-5{fill:rgb(247,247,247)} +.PiYG .q3-5{fill:rgb(184,225,134)} +.PiYG .q4-5{fill:rgb(77,172,38)} +.PiYG .q0-6{fill:rgb(197,27,125)} +.PiYG .q1-6{fill:rgb(233,163,201)} +.PiYG .q2-6{fill:rgb(253,224,239)} +.PiYG .q3-6{fill:rgb(230,245,208)} +.PiYG .q4-6{fill:rgb(161,215,106)} +.PiYG .q5-6{fill:rgb(77,146,33)} +.PiYG .q0-7{fill:rgb(197,27,125)} +.PiYG .q1-7{fill:rgb(233,163,201)} +.PiYG .q2-7{fill:rgb(253,224,239)} +.PiYG .q3-7{fill:rgb(247,247,247)} +.PiYG .q4-7{fill:rgb(230,245,208)} +.PiYG .q5-7{fill:rgb(161,215,106)} +.PiYG .q6-7{fill:rgb(77,146,33)} +.PiYG .q0-8{fill:rgb(197,27,125)} +.PiYG .q1-8{fill:rgb(222,119,174)} +.PiYG .q2-8{fill:rgb(241,182,218)} +.PiYG .q3-8{fill:rgb(253,224,239)} +.PiYG .q4-8{fill:rgb(230,245,208)} +.PiYG .q5-8{fill:rgb(184,225,134)} +.PiYG .q6-8{fill:rgb(127,188,65)} +.PiYG .q7-8{fill:rgb(77,146,33)} +.PiYG .q0-9{fill:rgb(197,27,125)} +.PiYG .q1-9{fill:rgb(222,119,174)} +.PiYG .q2-9{fill:rgb(241,182,218)} +.PiYG .q3-9{fill:rgb(253,224,239)} +.PiYG .q4-9{fill:rgb(247,247,247)} +.PiYG .q5-9{fill:rgb(230,245,208)} +.PiYG .q6-9{fill:rgb(184,225,134)} +.PiYG .q7-9{fill:rgb(127,188,65)} +.PiYG .q8-9{fill:rgb(77,146,33)} +.PiYG .q0-10{fill:rgb(142,1,82)} +.PiYG .q1-10{fill:rgb(197,27,125)} +.PiYG .q2-10{fill:rgb(222,119,174)} +.PiYG .q3-10{fill:rgb(241,182,218)} +.PiYG .q4-10{fill:rgb(253,224,239)} +.PiYG .q5-10{fill:rgb(230,245,208)} +.PiYG .q6-10{fill:rgb(184,225,134)} +.PiYG .q7-10{fill:rgb(127,188,65)} +.PiYG .q8-10{fill:rgb(77,146,33)} +.PiYG .q9-10{fill:rgb(39,100,25)} +.PiYG .q0-11{fill:rgb(142,1,82)} +.PiYG .q1-11{fill:rgb(197,27,125)} +.PiYG .q2-11{fill:rgb(222,119,174)} +.PiYG .q3-11{fill:rgb(241,182,218)} +.PiYG .q4-11{fill:rgb(253,224,239)} +.PiYG .q5-11{fill:rgb(247,247,247)} +.PiYG .q6-11{fill:rgb(230,245,208)} +.PiYG .q7-11{fill:rgb(184,225,134)} +.PiYG .q8-11{fill:rgb(127,188,65)} +.PiYG .q9-11{fill:rgb(77,146,33)} +.PiYG .q10-11{fill:rgb(39,100,25)} +.RdBu .q0-3{fill:rgb(239,138,98)} +.RdBu .q1-3{fill:rgb(247,247,247)} +.RdBu .q2-3{fill:rgb(103,169,207)} +.RdBu .q0-4{fill:rgb(202,0,32)} +.RdBu .q1-4{fill:rgb(244,165,130)} +.RdBu .q2-4{fill:rgb(146,197,222)} +.RdBu .q3-4{fill:rgb(5,113,176)} +.RdBu .q0-5{fill:rgb(202,0,32)} +.RdBu .q1-5{fill:rgb(244,165,130)} +.RdBu .q2-5{fill:rgb(247,247,247)} +.RdBu .q3-5{fill:rgb(146,197,222)} +.RdBu .q4-5{fill:rgb(5,113,176)} +.RdBu .q0-6{fill:rgb(178,24,43)} +.RdBu .q1-6{fill:rgb(239,138,98)} +.RdBu .q2-6{fill:rgb(253,219,199)} +.RdBu .q3-6{fill:rgb(209,229,240)} +.RdBu .q4-6{fill:rgb(103,169,207)} +.RdBu .q5-6{fill:rgb(33,102,172)} +.RdBu .q0-7{fill:rgb(178,24,43)} +.RdBu .q1-7{fill:rgb(239,138,98)} +.RdBu .q2-7{fill:rgb(253,219,199)} +.RdBu .q3-7{fill:rgb(247,247,247)} +.RdBu .q4-7{fill:rgb(209,229,240)} +.RdBu .q5-7{fill:rgb(103,169,207)} +.RdBu .q6-7{fill:rgb(33,102,172)} +.RdBu .q0-8{fill:rgb(178,24,43)} +.RdBu .q1-8{fill:rgb(214,96,77)} +.RdBu .q2-8{fill:rgb(244,165,130)} +.RdBu .q3-8{fill:rgb(253,219,199)} +.RdBu .q4-8{fill:rgb(209,229,240)} +.RdBu .q5-8{fill:rgb(146,197,222)} +.RdBu .q6-8{fill:rgb(67,147,195)} +.RdBu .q7-8{fill:rgb(33,102,172)} +.RdBu .q0-9{fill:rgb(178,24,43)} +.RdBu .q1-9{fill:rgb(214,96,77)} +.RdBu .q2-9{fill:rgb(244,165,130)} +.RdBu .q3-9{fill:rgb(253,219,199)} +.RdBu .q4-9{fill:rgb(247,247,247)} +.RdBu .q5-9{fill:rgb(209,229,240)} +.RdBu .q6-9{fill:rgb(146,197,222)} +.RdBu .q7-9{fill:rgb(67,147,195)} +.RdBu .q8-9{fill:rgb(33,102,172)} +.RdBu .q0-10{fill:rgb(103,0,31)} +.RdBu .q1-10{fill:rgb(178,24,43)} +.RdBu .q2-10{fill:rgb(214,96,77)} +.RdBu .q3-10{fill:rgb(244,165,130)} +.RdBu .q4-10{fill:rgb(253,219,199)} +.RdBu .q5-10{fill:rgb(209,229,240)} +.RdBu .q6-10{fill:rgb(146,197,222)} +.RdBu .q7-10{fill:rgb(67,147,195)} +.RdBu .q8-10{fill:rgb(33,102,172)} +.RdBu .q9-10{fill:rgb(5,48,97)} +.RdBu .q0-11{fill:rgb(103,0,31)} +.RdBu .q1-11{fill:rgb(178,24,43)} +.RdBu .q2-11{fill:rgb(214,96,77)} +.RdBu .q3-11{fill:rgb(244,165,130)} +.RdBu .q4-11{fill:rgb(253,219,199)} +.RdBu .q5-11{fill:rgb(247,247,247)} +.RdBu .q6-11{fill:rgb(209,229,240)} +.RdBu .q7-11{fill:rgb(146,197,222)} +.RdBu .q8-11{fill:rgb(67,147,195)} +.RdBu .q9-11{fill:rgb(33,102,172)} +.RdBu .q10-11{fill:rgb(5,48,97)} +.RdGy .q0-3{fill:rgb(239,138,98)} +.RdGy .q1-3{fill:rgb(255,255,255)} +.RdGy .q2-3{fill:rgb(153,153,153)} +.RdGy .q0-4{fill:rgb(202,0,32)} +.RdGy .q1-4{fill:rgb(244,165,130)} +.RdGy .q2-4{fill:rgb(186,186,186)} +.RdGy .q3-4{fill:rgb(64,64,64)} +.RdGy .q0-5{fill:rgb(202,0,32)} +.RdGy .q1-5{fill:rgb(244,165,130)} +.RdGy .q2-5{fill:rgb(255,255,255)} +.RdGy .q3-5{fill:rgb(186,186,186)} +.RdGy .q4-5{fill:rgb(64,64,64)} +.RdGy .q0-6{fill:rgb(178,24,43)} +.RdGy .q1-6{fill:rgb(239,138,98)} +.RdGy .q2-6{fill:rgb(253,219,199)} +.RdGy .q3-6{fill:rgb(224,224,224)} +.RdGy .q4-6{fill:rgb(153,153,153)} +.RdGy .q5-6{fill:rgb(77,77,77)} +.RdGy .q0-7{fill:rgb(178,24,43)} +.RdGy .q1-7{fill:rgb(239,138,98)} +.RdGy .q2-7{fill:rgb(253,219,199)} +.RdGy .q3-7{fill:rgb(255,255,255)} +.RdGy .q4-7{fill:rgb(224,224,224)} +.RdGy .q5-7{fill:rgb(153,153,153)} +.RdGy .q6-7{fill:rgb(77,77,77)} +.RdGy .q0-8{fill:rgb(178,24,43)} +.RdGy .q1-8{fill:rgb(214,96,77)} +.RdGy .q2-8{fill:rgb(244,165,130)} +.RdGy .q3-8{fill:rgb(253,219,199)} +.RdGy .q4-8{fill:rgb(224,224,224)} +.RdGy .q5-8{fill:rgb(186,186,186)} +.RdGy .q6-8{fill:rgb(135,135,135)} +.RdGy .q7-8{fill:rgb(77,77,77)} +.RdGy .q0-9{fill:rgb(178,24,43)} +.RdGy .q1-9{fill:rgb(214,96,77)} +.RdGy .q2-9{fill:rgb(244,165,130)} +.RdGy .q3-9{fill:rgb(253,219,199)} +.RdGy .q4-9{fill:rgb(255,255,255)} +.RdGy .q5-9{fill:rgb(224,224,224)} +.RdGy .q6-9{fill:rgb(186,186,186)} +.RdGy .q7-9{fill:rgb(135,135,135)} +.RdGy .q8-9{fill:rgb(77,77,77)} +.RdGy .q0-10{fill:rgb(103,0,31)} +.RdGy .q1-10{fill:rgb(178,24,43)} +.RdGy .q2-10{fill:rgb(214,96,77)} +.RdGy .q3-10{fill:rgb(244,165,130)} +.RdGy .q4-10{fill:rgb(253,219,199)} +.RdGy .q5-10{fill:rgb(224,224,224)} +.RdGy .q6-10{fill:rgb(186,186,186)} +.RdGy .q7-10{fill:rgb(135,135,135)} +.RdGy .q8-10{fill:rgb(77,77,77)} +.RdGy .q9-10{fill:rgb(26,26,26)} +.RdGy .q0-11{fill:rgb(103,0,31)} +.RdGy .q1-11{fill:rgb(178,24,43)} +.RdGy .q2-11{fill:rgb(214,96,77)} +.RdGy .q3-11{fill:rgb(244,165,130)} +.RdGy .q4-11{fill:rgb(253,219,199)} +.RdGy .q5-11{fill:rgb(255,255,255)} +.RdGy .q6-11{fill:rgb(224,224,224)} +.RdGy .q7-11{fill:rgb(186,186,186)} +.RdGy .q8-11{fill:rgb(135,135,135)} +.RdGy .q9-11{fill:rgb(77,77,77)} +.RdGy .q10-11{fill:rgb(26,26,26)} +.RdYlBu .q0-3{fill:rgb(252,141,89)} +.RdYlBu .q1-3{fill:rgb(255,255,191)} +.RdYlBu .q2-3{fill:rgb(145,191,219)} +.RdYlBu .q0-4{fill:rgb(215,25,28)} +.RdYlBu .q1-4{fill:rgb(253,174,97)} +.RdYlBu .q2-4{fill:rgb(171,217,233)} +.RdYlBu .q3-4{fill:rgb(44,123,182)} +.RdYlBu .q0-5{fill:rgb(215,25,28)} +.RdYlBu .q1-5{fill:rgb(253,174,97)} +.RdYlBu .q2-5{fill:rgb(255,255,191)} +.RdYlBu .q3-5{fill:rgb(171,217,233)} +.RdYlBu .q4-5{fill:rgb(44,123,182)} +.RdYlBu .q0-6{fill:rgb(215,48,39)} +.RdYlBu .q1-6{fill:rgb(252,141,89)} +.RdYlBu .q2-6{fill:rgb(254,224,144)} +.RdYlBu .q3-6{fill:rgb(224,243,248)} +.RdYlBu .q4-6{fill:rgb(145,191,219)} +.RdYlBu .q5-6{fill:rgb(69,117,180)} +.RdYlBu .q0-7{fill:rgb(215,48,39)} +.RdYlBu .q1-7{fill:rgb(252,141,89)} +.RdYlBu .q2-7{fill:rgb(254,224,144)} +.RdYlBu .q3-7{fill:rgb(255,255,191)} +.RdYlBu .q4-7{fill:rgb(224,243,248)} +.RdYlBu .q5-7{fill:rgb(145,191,219)} +.RdYlBu .q6-7{fill:rgb(69,117,180)} +.RdYlBu .q0-8{fill:rgb(215,48,39)} +.RdYlBu .q1-8{fill:rgb(244,109,67)} +.RdYlBu .q2-8{fill:rgb(253,174,97)} +.RdYlBu .q3-8{fill:rgb(254,224,144)} +.RdYlBu .q4-8{fill:rgb(224,243,248)} +.RdYlBu .q5-8{fill:rgb(171,217,233)} +.RdYlBu .q6-8{fill:rgb(116,173,209)} +.RdYlBu .q7-8{fill:rgb(69,117,180)} +.RdYlBu .q0-9{fill:rgb(215,48,39)} +.RdYlBu .q1-9{fill:rgb(244,109,67)} +.RdYlBu .q2-9{fill:rgb(253,174,97)} +.RdYlBu .q3-9{fill:rgb(254,224,144)} +.RdYlBu .q4-9{fill:rgb(255,255,191)} +.RdYlBu .q5-9{fill:rgb(224,243,248)} +.RdYlBu .q6-9{fill:rgb(171,217,233)} +.RdYlBu .q7-9{fill:rgb(116,173,209)} +.RdYlBu .q8-9{fill:rgb(69,117,180)} +.RdYlBu .q0-10{fill:rgb(165,0,38)} +.RdYlBu .q1-10{fill:rgb(215,48,39)} +.RdYlBu .q2-10{fill:rgb(244,109,67)} +.RdYlBu .q3-10{fill:rgb(253,174,97)} +.RdYlBu .q4-10{fill:rgb(254,224,144)} +.RdYlBu .q5-10{fill:rgb(224,243,248)} +.RdYlBu .q6-10{fill:rgb(171,217,233)} +.RdYlBu .q7-10{fill:rgb(116,173,209)} +.RdYlBu .q8-10{fill:rgb(69,117,180)} +.RdYlBu .q9-10{fill:rgb(49,54,149)} +.RdYlBu .q0-11{fill:rgb(165,0,38)} +.RdYlBu .q1-11{fill:rgb(215,48,39)} +.RdYlBu .q2-11{fill:rgb(244,109,67)} +.RdYlBu .q3-11{fill:rgb(253,174,97)} +.RdYlBu .q4-11{fill:rgb(254,224,144)} +.RdYlBu .q5-11{fill:rgb(255,255,191)} +.RdYlBu .q6-11{fill:rgb(224,243,248)} +.RdYlBu .q7-11{fill:rgb(171,217,233)} +.RdYlBu .q8-11{fill:rgb(116,173,209)} +.RdYlBu .q9-11{fill:rgb(69,117,180)} +.RdYlBu .q10-11{fill:rgb(49,54,149)} +.Spectral .q0-3{fill:rgb(252,141,89)} +.Spectral .q1-3{fill:rgb(255,255,191)} +.Spectral .q2-3{fill:rgb(153,213,148)} +.Spectral .q0-4{fill:rgb(215,25,28)} +.Spectral .q1-4{fill:rgb(253,174,97)} +.Spectral .q2-4{fill:rgb(171,221,164)} +.Spectral .q3-4{fill:rgb(43,131,186)} +.Spectral .q0-5{fill:rgb(215,25,28)} +.Spectral .q1-5{fill:rgb(253,174,97)} +.Spectral .q2-5{fill:rgb(255,255,191)} +.Spectral .q3-5{fill:rgb(171,221,164)} +.Spectral .q4-5{fill:rgb(43,131,186)} +.Spectral .q0-6{fill:rgb(213,62,79)} +.Spectral .q1-6{fill:rgb(252,141,89)} +.Spectral .q2-6{fill:rgb(254,224,139)} +.Spectral .q3-6{fill:rgb(230,245,152)} +.Spectral .q4-6{fill:rgb(153,213,148)} +.Spectral .q5-6{fill:rgb(50,136,189)} +.Spectral .q0-7{fill:rgb(213,62,79)} +.Spectral .q1-7{fill:rgb(252,141,89)} +.Spectral .q2-7{fill:rgb(254,224,139)} +.Spectral .q3-7{fill:rgb(255,255,191)} +.Spectral .q4-7{fill:rgb(230,245,152)} +.Spectral .q5-7{fill:rgb(153,213,148)} +.Spectral .q6-7{fill:rgb(50,136,189)} +.Spectral .q0-8{fill:rgb(213,62,79)} +.Spectral .q1-8{fill:rgb(244,109,67)} +.Spectral .q2-8{fill:rgb(253,174,97)} +.Spectral .q3-8{fill:rgb(254,224,139)} +.Spectral .q4-8{fill:rgb(230,245,152)} +.Spectral .q5-8{fill:rgb(171,221,164)} +.Spectral .q6-8{fill:rgb(102,194,165)} +.Spectral .q7-8{fill:rgb(50,136,189)} +.Spectral .q0-9{fill:rgb(213,62,79)} +.Spectral .q1-9{fill:rgb(244,109,67)} +.Spectral .q2-9{fill:rgb(253,174,97)} +.Spectral .q3-9{fill:rgb(254,224,139)} +.Spectral .q4-9{fill:rgb(255,255,191)} +.Spectral .q5-9{fill:rgb(230,245,152)} +.Spectral .q6-9{fill:rgb(171,221,164)} +.Spectral .q7-9{fill:rgb(102,194,165)} +.Spectral .q8-9{fill:rgb(50,136,189)} +.Spectral .q0-10{fill:rgb(158,1,66)} +.Spectral .q1-10{fill:rgb(213,62,79)} +.Spectral .q2-10{fill:rgb(244,109,67)} +.Spectral .q3-10{fill:rgb(253,174,97)} +.Spectral .q4-10{fill:rgb(254,224,139)} +.Spectral .q5-10{fill:rgb(230,245,152)} +.Spectral .q6-10{fill:rgb(171,221,164)} +.Spectral .q7-10{fill:rgb(102,194,165)} +.Spectral .q8-10{fill:rgb(50,136,189)} +.Spectral .q9-10{fill:rgb(94,79,162)} +.Spectral .q0-11{fill:rgb(158,1,66)} +.Spectral .q1-11{fill:rgb(213,62,79)} +.Spectral .q2-11{fill:rgb(244,109,67)} +.Spectral .q3-11{fill:rgb(253,174,97)} +.Spectral .q4-11{fill:rgb(254,224,139)} +.Spectral .q5-11{fill:rgb(255,255,191)} +.Spectral .q6-11{fill:rgb(230,245,152)} +.Spectral .q7-11{fill:rgb(171,221,164)} +.Spectral .q8-11{fill:rgb(102,194,165)} +.Spectral .q9-11{fill:rgb(50,136,189)} +.Spectral .q10-11{fill:rgb(94,79,162)} +.RdYlGn .q0-3{fill:rgb(252,141,89)} +.RdYlGn .q1-3{fill:rgb(255,255,191)} +.RdYlGn .q2-3{fill:rgb(145,207,96)} +.RdYlGn .q0-4{fill:rgb(215,25,28)} +.RdYlGn .q1-4{fill:rgb(253,174,97)} +.RdYlGn .q2-4{fill:rgb(166,217,106)} +.RdYlGn .q3-4{fill:rgb(26,150,65)} +.RdYlGn .q0-5{fill:rgb(215,25,28)} +.RdYlGn .q1-5{fill:rgb(253,174,97)} +.RdYlGn .q2-5{fill:rgb(255,255,191)} +.RdYlGn .q3-5{fill:rgb(166,217,106)} +.RdYlGn .q4-5{fill:rgb(26,150,65)} +.RdYlGn .q0-6{fill:rgb(215,48,39)} +.RdYlGn .q1-6{fill:rgb(252,141,89)} +.RdYlGn .q2-6{fill:rgb(254,224,139)} +.RdYlGn .q3-6{fill:rgb(217,239,139)} +.RdYlGn .q4-6{fill:rgb(145,207,96)} +.RdYlGn .q5-6{fill:rgb(26,152,80)} +.RdYlGn .q0-7{fill:rgb(215,48,39)} +.RdYlGn .q1-7{fill:rgb(252,141,89)} +.RdYlGn .q2-7{fill:rgb(254,224,139)} +.RdYlGn .q3-7{fill:rgb(255,255,191)} +.RdYlGn .q4-7{fill:rgb(217,239,139)} +.RdYlGn .q5-7{fill:rgb(145,207,96)} +.RdYlGn .q6-7{fill:rgb(26,152,80)} +.RdYlGn .q0-8{fill:rgb(215,48,39)} +.RdYlGn .q1-8{fill:rgb(244,109,67)} +.RdYlGn .q2-8{fill:rgb(253,174,97)} +.RdYlGn .q3-8{fill:rgb(254,224,139)} +.RdYlGn .q4-8{fill:rgb(217,239,139)} +.RdYlGn .q5-8{fill:rgb(166,217,106)} +.RdYlGn .q6-8{fill:rgb(102,189,99)} +.RdYlGn .q7-8{fill:rgb(26,152,80)} +.RdYlGn .q0-9{fill:rgb(215,48,39)} +.RdYlGn .q1-9{fill:rgb(244,109,67)} +.RdYlGn .q2-9{fill:rgb(253,174,97)} +.RdYlGn .q3-9{fill:rgb(254,224,139)} +.RdYlGn .q4-9{fill:rgb(255,255,191)} +.RdYlGn .q5-9{fill:rgb(217,239,139)} +.RdYlGn .q6-9{fill:rgb(166,217,106)} +.RdYlGn .q7-9{fill:rgb(102,189,99)} +.RdYlGn .q8-9{fill:rgb(26,152,80)} +.RdYlGn .q0-10{fill:rgb(165,0,38)} +.RdYlGn .q1-10{fill:rgb(215,48,39)} +.RdYlGn .q2-10{fill:rgb(244,109,67)} +.RdYlGn .q3-10{fill:rgb(253,174,97)} +.RdYlGn .q4-10{fill:rgb(254,224,139)} +.RdYlGn .q5-10{fill:rgb(217,239,139)} +.RdYlGn .q6-10{fill:rgb(166,217,106)} +.RdYlGn .q7-10{fill:rgb(102,189,99)} +.RdYlGn .q8-10{fill:rgb(26,152,80)} +.RdYlGn .q9-10{fill:rgb(0,104,55)} +.RdYlGn .q0-11{fill:rgb(165,0,38)} +.RdYlGn .q1-11{fill:rgb(215,48,39)} +.RdYlGn .q2-11{fill:rgb(244,109,67)} +.RdYlGn .q3-11{fill:rgb(253,174,97)} +.RdYlGn .q4-11{fill:rgb(254,224,139)} +.RdYlGn .q5-11{fill:rgb(255,255,191)} +.RdYlGn .q6-11{fill:rgb(217,239,139)} +.RdYlGn .q7-11{fill:rgb(166,217,106)} +.RdYlGn .q8-11{fill:rgb(102,189,99)} +.RdYlGn .q9-11{fill:rgb(26,152,80)} +.RdYlGn .q10-11{fill:rgb(0,104,55)} +.Accent .q0-3{fill:rgb(127,201,127)} +.Accent .q1-3{fill:rgb(190,174,212)} +.Accent .q2-3{fill:rgb(253,192,134)} +.Accent .q0-4{fill:rgb(127,201,127)} +.Accent .q1-4{fill:rgb(190,174,212)} +.Accent .q2-4{fill:rgb(253,192,134)} +.Accent .q3-4{fill:rgb(255,255,153)} +.Accent .q0-5{fill:rgb(127,201,127)} +.Accent .q1-5{fill:rgb(190,174,212)} +.Accent .q2-5{fill:rgb(253,192,134)} +.Accent .q3-5{fill:rgb(255,255,153)} +.Accent .q4-5{fill:rgb(56,108,176)} +.Accent .q0-6{fill:rgb(127,201,127)} +.Accent .q1-6{fill:rgb(190,174,212)} +.Accent .q2-6{fill:rgb(253,192,134)} +.Accent .q3-6{fill:rgb(255,255,153)} +.Accent .q4-6{fill:rgb(56,108,176)} +.Accent .q5-6{fill:rgb(240,2,127)} +.Accent .q0-7{fill:rgb(127,201,127)} +.Accent .q1-7{fill:rgb(190,174,212)} +.Accent .q2-7{fill:rgb(253,192,134)} +.Accent .q3-7{fill:rgb(255,255,153)} +.Accent .q4-7{fill:rgb(56,108,176)} +.Accent .q5-7{fill:rgb(240,2,127)} +.Accent .q6-7{fill:rgb(191,91,23)} +.Accent .q0-8{fill:rgb(127,201,127)} +.Accent .q1-8{fill:rgb(190,174,212)} +.Accent .q2-8{fill:rgb(253,192,134)} +.Accent .q3-8{fill:rgb(255,255,153)} +.Accent .q4-8{fill:rgb(56,108,176)} +.Accent .q5-8{fill:rgb(240,2,127)} +.Accent .q6-8{fill:rgb(191,91,23)} +.Accent .q7-8{fill:rgb(102,102,102)} +.Dark2 .q0-3{fill:rgb(27,158,119)} +.Dark2 .q1-3{fill:rgb(217,95,2)} +.Dark2 .q2-3{fill:rgb(117,112,179)} +.Dark2 .q0-4{fill:rgb(27,158,119)} +.Dark2 .q1-4{fill:rgb(217,95,2)} +.Dark2 .q2-4{fill:rgb(117,112,179)} +.Dark2 .q3-4{fill:rgb(231,41,138)} +.Dark2 .q0-5{fill:rgb(27,158,119)} +.Dark2 .q1-5{fill:rgb(217,95,2)} +.Dark2 .q2-5{fill:rgb(117,112,179)} +.Dark2 .q3-5{fill:rgb(231,41,138)} +.Dark2 .q4-5{fill:rgb(102,166,30)} +.Dark2 .q0-6{fill:rgb(27,158,119)} +.Dark2 .q1-6{fill:rgb(217,95,2)} +.Dark2 .q2-6{fill:rgb(117,112,179)} +.Dark2 .q3-6{fill:rgb(231,41,138)} +.Dark2 .q4-6{fill:rgb(102,166,30)} +.Dark2 .q5-6{fill:rgb(230,171,2)} +.Dark2 .q0-7{fill:rgb(27,158,119)} +.Dark2 .q1-7{fill:rgb(217,95,2)} +.Dark2 .q2-7{fill:rgb(117,112,179)} +.Dark2 .q3-7{fill:rgb(231,41,138)} +.Dark2 .q4-7{fill:rgb(102,166,30)} +.Dark2 .q5-7{fill:rgb(230,171,2)} +.Dark2 .q6-7{fill:rgb(166,118,29)} +.Dark2 .q0-8{fill:rgb(27,158,119)} +.Dark2 .q1-8{fill:rgb(217,95,2)} +.Dark2 .q2-8{fill:rgb(117,112,179)} +.Dark2 .q3-8{fill:rgb(231,41,138)} +.Dark2 .q4-8{fill:rgb(102,166,30)} +.Dark2 .q5-8{fill:rgb(230,171,2)} +.Dark2 .q6-8{fill:rgb(166,118,29)} +.Dark2 .q7-8{fill:rgb(102,102,102)} +.Paired .q0-3{fill:rgb(166,206,227)} +.Paired .q1-3{fill:rgb(31,120,180)} +.Paired .q2-3{fill:rgb(178,223,138)} +.Paired .q0-4{fill:rgb(166,206,227)} +.Paired .q1-4{fill:rgb(31,120,180)} +.Paired .q2-4{fill:rgb(178,223,138)} +.Paired .q3-4{fill:rgb(51,160,44)} +.Paired .q0-5{fill:rgb(166,206,227)} +.Paired .q1-5{fill:rgb(31,120,180)} +.Paired .q2-5{fill:rgb(178,223,138)} +.Paired .q3-5{fill:rgb(51,160,44)} +.Paired .q4-5{fill:rgb(251,154,153)} +.Paired .q0-6{fill:rgb(166,206,227)} +.Paired .q1-6{fill:rgb(31,120,180)} +.Paired .q2-6{fill:rgb(178,223,138)} +.Paired .q3-6{fill:rgb(51,160,44)} +.Paired .q4-6{fill:rgb(251,154,153)} +.Paired .q5-6{fill:rgb(227,26,28)} +.Paired .q0-7{fill:rgb(166,206,227)} +.Paired .q1-7{fill:rgb(31,120,180)} +.Paired .q2-7{fill:rgb(178,223,138)} +.Paired .q3-7{fill:rgb(51,160,44)} +.Paired .q4-7{fill:rgb(251,154,153)} +.Paired .q5-7{fill:rgb(227,26,28)} +.Paired .q6-7{fill:rgb(253,191,111)} +.Paired .q0-8{fill:rgb(166,206,227)} +.Paired .q1-8{fill:rgb(31,120,180)} +.Paired .q2-8{fill:rgb(178,223,138)} +.Paired .q3-8{fill:rgb(51,160,44)} +.Paired .q4-8{fill:rgb(251,154,153)} +.Paired .q5-8{fill:rgb(227,26,28)} +.Paired .q6-8{fill:rgb(253,191,111)} +.Paired .q7-8{fill:rgb(255,127,0)} +.Paired .q0-9{fill:rgb(166,206,227)} +.Paired .q1-9{fill:rgb(31,120,180)} +.Paired .q2-9{fill:rgb(178,223,138)} +.Paired .q3-9{fill:rgb(51,160,44)} +.Paired .q4-9{fill:rgb(251,154,153)} +.Paired .q5-9{fill:rgb(227,26,28)} +.Paired .q6-9{fill:rgb(253,191,111)} +.Paired .q7-9{fill:rgb(255,127,0)} +.Paired .q8-9{fill:rgb(202,178,214)} +.Paired .q0-10{fill:rgb(166,206,227)} +.Paired .q1-10{fill:rgb(31,120,180)} +.Paired .q2-10{fill:rgb(178,223,138)} +.Paired .q3-10{fill:rgb(51,160,44)} +.Paired .q4-10{fill:rgb(251,154,153)} +.Paired .q5-10{fill:rgb(227,26,28)} +.Paired .q6-10{fill:rgb(253,191,111)} +.Paired .q7-10{fill:rgb(255,127,0)} +.Paired .q8-10{fill:rgb(202,178,214)} +.Paired .q9-10{fill:rgb(106,61,154)} +.Paired .q0-11{fill:rgb(166,206,227)} +.Paired .q1-11{fill:rgb(31,120,180)} +.Paired .q2-11{fill:rgb(178,223,138)} +.Paired .q3-11{fill:rgb(51,160,44)} +.Paired .q4-11{fill:rgb(251,154,153)} +.Paired .q5-11{fill:rgb(227,26,28)} +.Paired .q6-11{fill:rgb(253,191,111)} +.Paired .q7-11{fill:rgb(255,127,0)} +.Paired .q8-11{fill:rgb(202,178,214)} +.Paired .q9-11{fill:rgb(106,61,154)} +.Paired .q10-11{fill:rgb(255,255,153)} +.Paired .q0-12{fill:rgb(166,206,227)} +.Paired .q1-12{fill:rgb(31,120,180)} +.Paired .q2-12{fill:rgb(178,223,138)} +.Paired .q3-12{fill:rgb(51,160,44)} +.Paired .q4-12{fill:rgb(251,154,153)} +.Paired .q5-12{fill:rgb(227,26,28)} +.Paired .q6-12{fill:rgb(253,191,111)} +.Paired .q7-12{fill:rgb(255,127,0)} +.Paired .q8-12{fill:rgb(202,178,214)} +.Paired .q9-12{fill:rgb(106,61,154)} +.Paired .q10-12{fill:rgb(255,255,153)} +.Paired .q11-12{fill:rgb(177,89,40)} +.Pastel1 .q0-3{fill:rgb(251,180,174)} +.Pastel1 .q1-3{fill:rgb(179,205,227)} +.Pastel1 .q2-3{fill:rgb(204,235,197)} +.Pastel1 .q0-4{fill:rgb(251,180,174)} +.Pastel1 .q1-4{fill:rgb(179,205,227)} +.Pastel1 .q2-4{fill:rgb(204,235,197)} +.Pastel1 .q3-4{fill:rgb(222,203,228)} +.Pastel1 .q0-5{fill:rgb(251,180,174)} +.Pastel1 .q1-5{fill:rgb(179,205,227)} +.Pastel1 .q2-5{fill:rgb(204,235,197)} +.Pastel1 .q3-5{fill:rgb(222,203,228)} +.Pastel1 .q4-5{fill:rgb(254,217,166)} +.Pastel1 .q0-6{fill:rgb(251,180,174)} +.Pastel1 .q1-6{fill:rgb(179,205,227)} +.Pastel1 .q2-6{fill:rgb(204,235,197)} +.Pastel1 .q3-6{fill:rgb(222,203,228)} +.Pastel1 .q4-6{fill:rgb(254,217,166)} +.Pastel1 .q5-6{fill:rgb(255,255,204)} +.Pastel1 .q0-7{fill:rgb(251,180,174)} +.Pastel1 .q1-7{fill:rgb(179,205,227)} +.Pastel1 .q2-7{fill:rgb(204,235,197)} +.Pastel1 .q3-7{fill:rgb(222,203,228)} +.Pastel1 .q4-7{fill:rgb(254,217,166)} +.Pastel1 .q5-7{fill:rgb(255,255,204)} +.Pastel1 .q6-7{fill:rgb(229,216,189)} +.Pastel1 .q0-8{fill:rgb(251,180,174)} +.Pastel1 .q1-8{fill:rgb(179,205,227)} +.Pastel1 .q2-8{fill:rgb(204,235,197)} +.Pastel1 .q3-8{fill:rgb(222,203,228)} +.Pastel1 .q4-8{fill:rgb(254,217,166)} +.Pastel1 .q5-8{fill:rgb(255,255,204)} +.Pastel1 .q6-8{fill:rgb(229,216,189)} +.Pastel1 .q7-8{fill:rgb(253,218,236)} +.Pastel1 .q0-9{fill:rgb(251,180,174)} +.Pastel1 .q1-9{fill:rgb(179,205,227)} +.Pastel1 .q2-9{fill:rgb(204,235,197)} +.Pastel1 .q3-9{fill:rgb(222,203,228)} +.Pastel1 .q4-9{fill:rgb(254,217,166)} +.Pastel1 .q5-9{fill:rgb(255,255,204)} +.Pastel1 .q6-9{fill:rgb(229,216,189)} +.Pastel1 .q7-9{fill:rgb(253,218,236)} +.Pastel1 .q8-9{fill:rgb(242,242,242)} +.Pastel2 .q0-3{fill:rgb(179,226,205)} +.Pastel2 .q1-3{fill:rgb(253,205,172)} +.Pastel2 .q2-3{fill:rgb(203,213,232)} +.Pastel2 .q0-4{fill:rgb(179,226,205)} +.Pastel2 .q1-4{fill:rgb(253,205,172)} +.Pastel2 .q2-4{fill:rgb(203,213,232)} +.Pastel2 .q3-4{fill:rgb(244,202,228)} +.Pastel2 .q0-5{fill:rgb(179,226,205)} +.Pastel2 .q1-5{fill:rgb(253,205,172)} +.Pastel2 .q2-5{fill:rgb(203,213,232)} +.Pastel2 .q3-5{fill:rgb(244,202,228)} +.Pastel2 .q4-5{fill:rgb(230,245,201)} +.Pastel2 .q0-6{fill:rgb(179,226,205)} +.Pastel2 .q1-6{fill:rgb(253,205,172)} +.Pastel2 .q2-6{fill:rgb(203,213,232)} +.Pastel2 .q3-6{fill:rgb(244,202,228)} +.Pastel2 .q4-6{fill:rgb(230,245,201)} +.Pastel2 .q5-6{fill:rgb(255,242,174)} +.Pastel2 .q0-7{fill:rgb(179,226,205)} +.Pastel2 .q1-7{fill:rgb(253,205,172)} +.Pastel2 .q2-7{fill:rgb(203,213,232)} +.Pastel2 .q3-7{fill:rgb(244,202,228)} +.Pastel2 .q4-7{fill:rgb(230,245,201)} +.Pastel2 .q5-7{fill:rgb(255,242,174)} +.Pastel2 .q6-7{fill:rgb(241,226,204)} +.Pastel2 .q0-8{fill:rgb(179,226,205)} +.Pastel2 .q1-8{fill:rgb(253,205,172)} +.Pastel2 .q2-8{fill:rgb(203,213,232)} +.Pastel2 .q3-8{fill:rgb(244,202,228)} +.Pastel2 .q4-8{fill:rgb(230,245,201)} +.Pastel2 .q5-8{fill:rgb(255,242,174)} +.Pastel2 .q6-8{fill:rgb(241,226,204)} +.Pastel2 .q7-8{fill:rgb(204,204,204)} +.Set1 .q0-3{fill:rgb(228,26,28)} +.Set1 .q1-3{fill:rgb(55,126,184)} +.Set1 .q2-3{fill:rgb(77,175,74)} +.Set1 .q0-4{fill:rgb(228,26,28)} +.Set1 .q1-4{fill:rgb(55,126,184)} +.Set1 .q2-4{fill:rgb(77,175,74)} +.Set1 .q3-4{fill:rgb(152,78,163)} +.Set1 .q0-5{fill:rgb(228,26,28)} +.Set1 .q1-5{fill:rgb(55,126,184)} +.Set1 .q2-5{fill:rgb(77,175,74)} +.Set1 .q3-5{fill:rgb(152,78,163)} +.Set1 .q4-5{fill:rgb(255,127,0)} +.Set1 .q0-6{fill:rgb(228,26,28)} +.Set1 .q1-6{fill:rgb(55,126,184)} +.Set1 .q2-6{fill:rgb(77,175,74)} +.Set1 .q3-6{fill:rgb(152,78,163)} +.Set1 .q4-6{fill:rgb(255,127,0)} +.Set1 .q5-6{fill:rgb(255,255,51)} +.Set1 .q0-7{fill:rgb(228,26,28)} +.Set1 .q1-7{fill:rgb(55,126,184)} +.Set1 .q2-7{fill:rgb(77,175,74)} +.Set1 .q3-7{fill:rgb(152,78,163)} +.Set1 .q4-7{fill:rgb(255,127,0)} +.Set1 .q5-7{fill:rgb(255,255,51)} +.Set1 .q6-7{fill:rgb(166,86,40)} +.Set1 .q0-8{fill:rgb(228,26,28)} +.Set1 .q1-8{fill:rgb(55,126,184)} +.Set1 .q2-8{fill:rgb(77,175,74)} +.Set1 .q3-8{fill:rgb(152,78,163)} +.Set1 .q4-8{fill:rgb(255,127,0)} +.Set1 .q5-8{fill:rgb(255,255,51)} +.Set1 .q6-8{fill:rgb(166,86,40)} +.Set1 .q7-8{fill:rgb(247,129,191)} +.Set1 .q0-9{fill:rgb(228,26,28)} +.Set1 .q1-9{fill:rgb(55,126,184)} +.Set1 .q2-9{fill:rgb(77,175,74)} +.Set1 .q3-9{fill:rgb(152,78,163)} +.Set1 .q4-9{fill:rgb(255,127,0)} +.Set1 .q5-9{fill:rgb(255,255,51)} +.Set1 .q6-9{fill:rgb(166,86,40)} +.Set1 .q7-9{fill:rgb(247,129,191)} +.Set1 .q8-9{fill:rgb(153,153,153)} +.Set2 .q0-3{fill:rgb(102,194,165)} +.Set2 .q1-3{fill:rgb(252,141,98)} +.Set2 .q2-3{fill:rgb(141,160,203)} +.Set2 .q0-4{fill:rgb(102,194,165)} +.Set2 .q1-4{fill:rgb(252,141,98)} +.Set2 .q2-4{fill:rgb(141,160,203)} +.Set2 .q3-4{fill:rgb(231,138,195)} +.Set2 .q0-5{fill:rgb(102,194,165)} +.Set2 .q1-5{fill:rgb(252,141,98)} +.Set2 .q2-5{fill:rgb(141,160,203)} +.Set2 .q3-5{fill:rgb(231,138,195)} +.Set2 .q4-5{fill:rgb(166,216,84)} +.Set2 .q0-6{fill:rgb(102,194,165)} +.Set2 .q1-6{fill:rgb(252,141,98)} +.Set2 .q2-6{fill:rgb(141,160,203)} +.Set2 .q3-6{fill:rgb(231,138,195)} +.Set2 .q4-6{fill:rgb(166,216,84)} +.Set2 .q5-6{fill:rgb(255,217,47)} +.Set2 .q0-7{fill:rgb(102,194,165)} +.Set2 .q1-7{fill:rgb(252,141,98)} +.Set2 .q2-7{fill:rgb(141,160,203)} +.Set2 .q3-7{fill:rgb(231,138,195)} +.Set2 .q4-7{fill:rgb(166,216,84)} +.Set2 .q5-7{fill:rgb(255,217,47)} +.Set2 .q6-7{fill:rgb(229,196,148)} +.Set2 .q0-8{fill:rgb(102,194,165)} +.Set2 .q1-8{fill:rgb(252,141,98)} +.Set2 .q2-8{fill:rgb(141,160,203)} +.Set2 .q3-8{fill:rgb(231,138,195)} +.Set2 .q4-8{fill:rgb(166,216,84)} +.Set2 .q5-8{fill:rgb(255,217,47)} +.Set2 .q6-8{fill:rgb(229,196,148)} +.Set2 .q7-8{fill:rgb(179,179,179)} +.Set3 .q0-3{fill:rgb(141,211,199)} +.Set3 .q1-3{fill:rgb(255,255,179)} +.Set3 .q2-3{fill:rgb(190,186,218)} +.Set3 .q0-4{fill:rgb(141,211,199)} +.Set3 .q1-4{fill:rgb(255,255,179)} +.Set3 .q2-4{fill:rgb(190,186,218)} +.Set3 .q3-4{fill:rgb(251,128,114)} +.Set3 .q0-5{fill:rgb(141,211,199)} +.Set3 .q1-5{fill:rgb(255,255,179)} +.Set3 .q2-5{fill:rgb(190,186,218)} +.Set3 .q3-5{fill:rgb(251,128,114)} +.Set3 .q4-5{fill:rgb(128,177,211)} +.Set3 .q0-6{fill:rgb(141,211,199)} +.Set3 .q1-6{fill:rgb(255,255,179)} +.Set3 .q2-6{fill:rgb(190,186,218)} +.Set3 .q3-6{fill:rgb(251,128,114)} +.Set3 .q4-6{fill:rgb(128,177,211)} +.Set3 .q5-6{fill:rgb(253,180,98)} +.Set3 .q0-7{fill:rgb(141,211,199)} +.Set3 .q1-7{fill:rgb(255,255,179)} +.Set3 .q2-7{fill:rgb(190,186,218)} +.Set3 .q3-7{fill:rgb(251,128,114)} +.Set3 .q4-7{fill:rgb(128,177,211)} +.Set3 .q5-7{fill:rgb(253,180,98)} +.Set3 .q6-7{fill:rgb(179,222,105)} +.Set3 .q0-8{fill:rgb(141,211,199)} +.Set3 .q1-8{fill:rgb(255,255,179)} +.Set3 .q2-8{fill:rgb(190,186,218)} +.Set3 .q3-8{fill:rgb(251,128,114)} +.Set3 .q4-8{fill:rgb(128,177,211)} +.Set3 .q5-8{fill:rgb(253,180,98)} +.Set3 .q6-8{fill:rgb(179,222,105)} +.Set3 .q7-8{fill:rgb(252,205,229)} +.Set3 .q0-9{fill:rgb(141,211,199)} +.Set3 .q1-9{fill:rgb(255,255,179)} +.Set3 .q2-9{fill:rgb(190,186,218)} +.Set3 .q3-9{fill:rgb(251,128,114)} +.Set3 .q4-9{fill:rgb(128,177,211)} +.Set3 .q5-9{fill:rgb(253,180,98)} +.Set3 .q6-9{fill:rgb(179,222,105)} +.Set3 .q7-9{fill:rgb(252,205,229)} +.Set3 .q8-9{fill:rgb(217,217,217)} +.Set3 .q0-10{fill:rgb(141,211,199)} +.Set3 .q1-10{fill:rgb(255,255,179)} +.Set3 .q2-10{fill:rgb(190,186,218)} +.Set3 .q3-10{fill:rgb(251,128,114)} +.Set3 .q4-10{fill:rgb(128,177,211)} +.Set3 .q5-10{fill:rgb(253,180,98)} +.Set3 .q6-10{fill:rgb(179,222,105)} +.Set3 .q7-10{fill:rgb(252,205,229)} +.Set3 .q8-10{fill:rgb(217,217,217)} +.Set3 .q9-10{fill:rgb(188,128,189)} +.Set3 .q0-11{fill:rgb(141,211,199)} +.Set3 .q1-11{fill:rgb(255,255,179)} +.Set3 .q2-11{fill:rgb(190,186,218)} +.Set3 .q3-11{fill:rgb(251,128,114)} +.Set3 .q4-11{fill:rgb(128,177,211)} +.Set3 .q5-11{fill:rgb(253,180,98)} +.Set3 .q6-11{fill:rgb(179,222,105)} +.Set3 .q7-11{fill:rgb(252,205,229)} +.Set3 .q8-11{fill:rgb(217,217,217)} +.Set3 .q9-11{fill:rgb(188,128,189)} +.Set3 .q10-11{fill:rgb(204,235,197)} +.Set3 .q0-12{fill:rgb(141,211,199)} +.Set3 .q1-12{fill:rgb(255,255,179)} +.Set3 .q2-12{fill:rgb(190,186,218)} +.Set3 .q3-12{fill:rgb(251,128,114)} +.Set3 .q4-12{fill:rgb(128,177,211)} +.Set3 .q5-12{fill:rgb(253,180,98)} +.Set3 .q6-12{fill:rgb(179,222,105)} +.Set3 .q7-12{fill:rgb(252,205,229)} +.Set3 .q8-12{fill:rgb(217,217,217)} +.Set3 .q9-12{fill:rgb(188,128,189)} +.Set3 .q10-12{fill:rgb(204,235,197)} +.Set3 .q11-12{fill:rgb(255,237,111)} +#classic_controls { + font-size: 0.72em; + overflow: auto; } + #classic_controls #demand, #classic_controls #supply, #classic_controls #other { + padding: 0; + border: 0; + margin: 0; + margin-left: 2.5%; + width: 30%; + float: left; } + #classic_controls table { + width: 100%; + border-collapse: separate; + border-spacing: 2px 0px; } + #classic_controls table tr:hover td.name { + font-weight: bold; + background-image: url("/assets/images/oneblackpixel.png"); } + #classic_controls table td.choice { + width: 20px; } + #classic_controls table td.choice a { + display: block; + width: 100%; + text-align: center; + color: #888; + text-decoration: none; + border: solid #ccc 1px; } + #classic_controls table td.choice a:hover { + border: solid #000 1px; } + #classic_controls table td.choice a.selected { + color: #000; } + #classic_controls table td.name { + background-image: url("/assets/images/onegreypixel.png"); + background-position: left center; + background-repeat: repeat-x; } + #classic_controls table td.name a { + background-color: #fff; + text-decoration: none; + color: #000; + cursor: help; } + #classic_controls table td.name a:hover { + text-decoration: underline; } + #classic_controls table td.help { + width: 14px; } + #classic_controls table td.help a { + text-align: center; + display: block; + background-color: #7c88fa; + border: solid #7c88fa 1px; + color: white; + width: 100%; + text-decoration: none; } + #classic_controls table tr.incremental a.level1_1 { + background-position: left center; + background-repeat: repeat-y; + background-image: url("/assets/images/fractions/level1_1.png"); } + #classic_controls table tr.incremental a.level1_2 { + background-position: left center; + background-repeat: repeat-y; + background-image: url("/assets/images/fractions/level1_2.png"); } + #classic_controls table tr.incremental a.level1_3 { + background-position: left center; + background-repeat: repeat-y; + background-image: url("/assets/images/fractions/level1_3.png"); } + #classic_controls table tr.incremental a.level1_4 { + background-position: left center; + background-repeat: repeat-y; + background-image: url("/assets/images/fractions/level1_4.png"); } + #classic_controls table tr.incremental a.level1_5 { + background-position: left center; + background-repeat: repeat-y; + background-image: url("/assets/images/fractions/level1_5.png"); } + #classic_controls table tr.incremental a.level1_6 { + background-position: left center; + background-repeat: repeat-y; + background-image: url("/assets/images/fractions/level1_6.png"); } + #classic_controls table tr.incremental a.level1_7 { + background-position: left center; + background-repeat: repeat-y; + background-image: url("/assets/images/fractions/level1_7.png"); } + #classic_controls table tr.incremental a.level1_8 { + background-position: left center; + background-repeat: repeat-y; + background-image: url("/assets/images/fractions/level1_8.png"); } + #classic_controls table tr.incremental a.level1_9 { + background-position: left center; + background-repeat: repeat-y; + background-image: url("/assets/images/fractions/level1_9.png"); } + #classic_controls table tr.incremental a.level2_1 { + background-position: left center; + background-repeat: repeat-y; + background-image: url("/assets/images/fractions/level2_1.png"); } + #classic_controls table tr.incremental a.level2_2 { + background-position: left center; + background-repeat: repeat-y; + background-image: url("/assets/images/fractions/level2_2.png"); } + #classic_controls table tr.incremental a.level2_3 { + background-position: left center; + background-repeat: repeat-y; + background-image: url("/assets/images/fractions/level2_3.png"); } + #classic_controls table tr.incremental a.level2_4 { + background-position: left center; + background-repeat: repeat-y; + background-image: url("/assets/images/fractions/level2_4.png"); } + #classic_controls table tr.incremental a.level2_5 { + background-position: left center; + background-repeat: repeat-y; + background-image: url("/assets/images/fractions/level2_5.png"); } + #classic_controls table tr.incremental a.level2_6 { + background-position: left center; + background-repeat: repeat-y; + background-image: url("/assets/images/fractions/level2_6.png"); } + #classic_controls table tr.incremental a.level2_7 { + background-position: left center; + background-repeat: repeat-y; + background-image: url("/assets/images/fractions/level2_7.png"); } + #classic_controls table tr.incremental a.level2_8 { + background-position: left center; + background-repeat: repeat-y; + background-image: url("/assets/images/fractions/level2_8.png"); } + #classic_controls table tr.incremental a.level2_9 { + background-position: left center; + background-repeat: repeat-y; + background-image: url("/assets/images/fractions/level2_9.png"); } + #classic_controls table tr.incremental a.level3_1 { + background-position: left center; + background-repeat: repeat-y; + background-image: url("/assets/images/fractions/level3_1.png"); } + #classic_controls table tr.incremental a.level3_2 { + background-position: left center; + background-repeat: repeat-y; + background-image: url("/assets/images/fractions/level3_2.png"); } + #classic_controls table tr.incremental a.level3_3 { + background-position: left center; + background-repeat: repeat-y; + background-image: url("/assets/images/fractions/level3_3.png"); } + #classic_controls table tr.incremental a.level3_4 { + background-position: left center; + background-repeat: repeat-y; + background-image: url("/assets/images/fractions/level3_4.png"); } + #classic_controls table tr.incremental a.level3_5 { + background-position: left center; + background-repeat: repeat-y; + background-image: url("/assets/images/fractions/level3_5.png"); } + #classic_controls table tr.incremental a.level3_6 { + background-position: left center; + background-repeat: repeat-y; + background-image: url("/assets/images/fractions/level3_6.png"); } + #classic_controls table tr.incremental a.level3_7 { + background-position: left center; + background-repeat: repeat-y; + background-image: url("/assets/images/fractions/level3_7.png"); } + #classic_controls table tr.incremental a.level3_8 { + background-position: left center; + background-repeat: repeat-y; + background-image: url("/assets/images/fractions/level3_8.png"); } + #classic_controls table tr.incremental a.level3_9 { + background-position: left center; + background-repeat: repeat-y; + background-image: url("/assets/images/fractions/level3_9.png"); } + #classic_controls table tr.incremental a.level4_1 { + background-position: left center; + background-repeat: repeat-y; + background-image: url("/assets/images/fractions/level4_1.png"); } + #classic_controls table tr.incremental a.level4_2 { + background-position: left center; + background-repeat: repeat-y; + background-image: url("/assets/images/fractions/level4_2.png"); } + #classic_controls table tr.incremental a.level4_3 { + background-position: left center; + background-repeat: repeat-y; + background-image: url("/assets/images/fractions/level4_3.png"); } + #classic_controls table tr.incremental a.level4_4 { + background-position: left center; + background-repeat: repeat-y; + background-image: url("/assets/images/fractions/level4_4.png"); } + #classic_controls table tr.incremental a.level4_5 { + background-position: left center; + background-repeat: repeat-y; + background-image: url("/assets/images/fractions/level4_5.png"); } + #classic_controls table tr.incremental a.level4_6 { + background-position: left center; + background-repeat: repeat-y; + background-image: url("/assets/images/fractions/level4_6.png"); } + #classic_controls table tr.incremental a.level4_7 { + background-position: left center; + background-repeat: repeat-y; + background-image: url("/assets/images/fractions/level4_7.png"); } + #classic_controls table tr.incremental a.level4_8 { + background-position: left center; + background-repeat: repeat-y; + background-image: url("/assets/images/fractions/level4_8.png"); } + #classic_controls table tr.incremental a.level4_9 { + background-position: left center; + background-repeat: repeat-y; + background-image: url("/assets/images/fractions/level4_9.png"); } + #classic_controls table tr.incremental a.level1 { + background-color: #92C979; } + #classic_controls table tr.incremental a.level2 { + background-color: #EFDD60; } + #classic_controls table tr.incremental a.level3 { + background-color: #FFAE55; } + #classic_controls table tr.incremental a.level4 { + background-color: #F44545; } + #classic_controls table tr.alternative a.selected { + background-color: #aaa; } +#costscomparedoverview { + margin-left: 0%; + margin-right: 0%; + width: 100%; + margin: 0 0 0 0; + padding: 0; + height: 600px; } + +.costscomparedoverview h1 { + font-size: 16px; + margin-left: 250px; } +#costscomparedwithinsector { + margin-left: 0%; + margin-right: 0%; + width: 100%; + margin: 0 0 0 0; + padding: 0; + height: 600px; } + +.costscomparedwithinsector h1 { + font-size: 16px; + margin-left: 250px; } + +#sectorchoice { + z-index: 5; + position: absolute; + top: 45px; + left: 25px; } +#costsincontext { + margin-left: 0%; + margin-right: 0%; + width: 100%; + margin: 0 0 0 0; + padding: 0; + height: 600px; } + +.costsincontext h1 { + font-size: 16px; + margin-left: 250px; } + +#cost_override_warning { + position: absolute; + top: 55px; + left: 25px; + width: 200px; + display: none; + border: solid 1px #000; + background-color: yellow; + font-size: smaller; + padding: 5px; } + +#cost_caveats { + position: absolute; + left: 5%; + top: 75px; + z-index: 1000; + width: 85%; + padding: 2.5%; + background-color: #FF0; + border: solid 1px #000; + box-shadow: 0px 0px 25px rgba(0, 0, 0, 0.8); + -moz-box-shadow: 0px 0px 25px rgba(0, 0, 0, 0.8); + -webkit-box-shadow: 0px 0px 25px rgba(0, 0, 0, 0.8); + display: none; } + #cost_caveats #understand { + margin-top: 20px; + width: 100%; + text-align: center; } + +#essentialnotes { + font-size: 10px; + margin-top: 5px; + margin-left: 250px; + margin-right: 100px; + margin-bottom: 30px; } +#costssensitivity { + margin-left: 0%; + margin-right: 0%; + width: 100%; + margin: 0 0 0 0; + padding: 0; + height: 1400px; } + +.costssensitivity h1 { + font-size: 16px; + margin-left: 250px; } + +#comparatorchoice { + z-index: 5; + border: 1px solid black; + position: absolute; + top: 45px; + left: 25px; + list-style: none; + margin-left: 0; + padding: 5px; } + #comparatorchoice a { + color: #000; + text-decoration: none; } + #comparatorchoice a:hover { + text-decoration: underline; } + #comparatorchoice li { + margin-left: 0; + padding-left: 0; } + #comparatorchoice #view_comparatorchoice { + box-shadow: 0 0 5px #888; + list-style: none; + display: none; + background: #fff; + margin-left: 0; + padding: 5px; } + #comparatorchoice #view_comparatorchoice li { + margin-left: 0; + padding-left: 0; + margin-bottom: 5px; } +#energysecurity .column { + text-align: left; + padding: 0; + border: 0; + margin: 0; + margin-left: 2.5%; + font-size: 12px; + width: 30%; + margin-bottom: 30px; + float: left; } + +.energysecurity td.value { + width: 17%; } +.energysecurity td.value, .energysecurity th.value { + text-align: right; } +.energysecurity th.year { + text-align: center; + border-bottom: solid 1px #000; } + +#energysecurity .clear { + clear: both; } +#footer { + clear: both; + padding-top: 20px; + text-align: center; + font-size: 0.72em; } +#map { + text-align: left; + margin-left: 0; + margin-right: 0; + width: 100%; + margin: 0 0 30px 0; + padding: 0; + height: 800px; } +body { + font-family: Arial, sans-serif; + font-size: 15px; + margin: 0; + padding: 0; } + +#cumulative_emissions { + float: right; + margin-right: 20px; + margin-bottom: 20px; } + +.clearfix { + clear: both; } + +#svgWarn { + display: none; + padding: 10px; + text-align: center; + background-color: #faa; } + +#calculating { + font-size: 0.72em; + position: absolute; + width: 100%; + top: 20px; + left: 0px; + text-align: center; + z-index: 10; } + #calculating span { + padding: 3px; + background-color: yellow; } + +#results { + overflow: hidden; } + +.chart { + padding: 0; + border: 0; + margin: 0; + margin-left: 2.4%; + width: 30%; + margin-bottom: 0px; + float: left; } + +.charttitle { + text-anchor: middle; + font-size: 1em; } + +text.target { + text-anchor: middle; + font-size: 0.72em; } + +.axis path, .axis line { + fill: none; + stroke: #000; + stroke-width: 1px; } + +.axis text { + font-size: 0.72em; + fill: #000; } + +.axislabel { + text-anchor: end; + font-size: 0.72em; } + +.line { + fill: none; + stroke: black; + stroke-width: 3px; } + +.linelabel { + font-size: 0.72em; + cursor: default; } + +.area { + fill-opacity: 1; } + +path.total { + stroke: black; + stroke-width: 2px; + fill: none; } + +text.seriesValue { + font-size: 0.72em; + text-anchor: middle; } + +path.total.hover { + stroke-width: 3px; } + +path.hover { + stroke: black; + stroke-width: 1px; } + +.linelabel.hover { + fill: black !important; + font-weight: bold; } + +.labelbackground { + fill: white; } + +g.context path { + fill: grey; + fill-opacity: 0.02; } + +.environmentalheat { + fill: #c7c728; } +#sankey { + width: 100%; + margin: 0 0 30px 0; + padding: 0; + height: 580px; } +#share div { + margin: 0 10% 0 10%; + width: 80%; } +#share #excel { + margin-top: 50px; } + #share #excel textarea { + text-align: right; + margin-left: 10%; + width: 32px; + height: 700px; } +#simplesankey { + margin-left: 2.5%; + margin-right: 2.5%; + width: 100%; + margin: 0 0 30px 0; + padding: 0; + height: 320px; } +.story { + text-align: left; + padding: 0; + border: 0; + margin: 0; + margin-left: 2.5%; + font-size: 12px; + width: 30%; + margin-bottom: 30px; + float: left; } + .story h4 { + margin-top: 1em; + margin-bottom: 0em; } + .story h4 + p { + margin-top: 0em; } + .story th { + text-align: left; } + .story td.target, .story th.target { + text-align: right; } + +#stories .clear { + clear: both; } +#tooltip { + display: none; + background-color: #FFFF00; + color: #000; + border: 2px solid #000; + border-radius: 15px 15px 0px 15px; + box-shadow: 0 0 5px #888; + font-size: 12px; + width: 14em; + padding: 10px; + z-index: 10000; } +#topbar { + position: relative; + overflow: hidden; + width: 100%; + margin: 0 0 10px 0; + background-color: black; + color: white; + border-bottom: solid #009ddb 3px; } + #topbar a { + color: white; + text-decoration: none; } + #topbar .selectedView { + color: #009ddb; } + #topbar a:hover { + text-decoration: underline; } + #topbar #name { + float: left; + width: 180px; } + #topbar #examples { + text-align: right; + float: right; + width: 180px; } + #topbar #views { + margin: 0 180px; + text-align: center; } + #topbar #views a { + padding-right: 10px; } + +.dropdown { + z-index: 10000; + position: absolute; + display: none; + background: black; + border: solid 1px black; + box-shadow: 0 0 5px #888; } + .dropdown a { + padding: 5px; + color: white; + display: block; + text-decoration: none; } + .dropdown a:hover { + text-decoration: underline; } + +#savedpathway_choices { + width: 200px; } + +.showdropdown { + display: block; } diff --git a/public/assets/application-9bf382e5a1816edb91b0cc5e1abc419b.css.gz b/public/assets/application-9bf382e5a1816edb91b0cc5e1abc419b.css.gz new file mode 100644 index 0000000000000000000000000000000000000000..9fd9e2c025a3c492a399da4fcb38276dc1d56d17 GIT binary patch literal 10975 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 o{^uV5ySCzd!R 2050 Pathways Calculator - - + + \n \n \n

\n

* On modern browsers, this url is the same as the one you will see in the address bar as you use the calculator. On older browsers, such as Internet Explorer 6 and 7, it will not be.

\n \n
\n

Sharing this pathway with the excel version of the 2050 pathways calculator

\n

\n You may want to explore your pathway in more detail, taking a look at all the assumptions behind our modelling, by downloading\n the underlying excel spreadsheet.\n

\n

\n If you do, then you can recreate the pathway you have chosen in this tool by copying the numbers from the box below and pasting them in cells E5 to E57 on the 'Control' sheet of the workbook. You can also copy a pathway from that range in the excel model, paste it in the box below and click the 'Go to this pathway' button at the bottom of the page.\n

\n \n \n
\n

\n
\n "; - - Share = (function() { - function Share() { - this.ready = false; - } - - Share.prototype.setup = function() { - if (this.ready) { - return false; - } - this.ready = true; - return $('#results').append(shareHTML); - }; - - Share.prototype.teardown = function() { - $('#results').empty(); - return this.ready = false; - }; - - Share.prototype.updateResults = function(pathway) { - var url; - this.pathway = pathway; - if (!this.ready) { - this.setup(); - } - url = "http://" + window.location.host + (twentyfifty.url({ - action: 'primary_energy_chart' - })); - $('#share a#pathwayurl').text(url); - $('#share a#pathwayurl').attr({ - href: url - }); - return $('#excel textarea').val(twentyfifty.getChoices().join("\n")); - }; - - return Share; - - })(); - - loadFromExcel = function() { - var c, pasted_choices; - pasted_choices = $('#excel textarea').val().split(/\r\n|\r|\n/); - pasted_choices = (function() { - var _i, _len, _results; - _results = []; - for (_i = 0, _len = pasted_choices.length; _i < _len; _i++) { - c = pasted_choices[_i]; - if (c === "") { - _results.push("0"); - } else { - _results.push(c); - } - } - return _results; - })(); - twentyfifty.setChoices(pasted_choices); - twentyfifty.switchView('primary_energy_chart'); - return false; - }; - - window.twentyfifty.loadFromExcel = loadFromExcel; - - window.twentyfifty.views['share'] = new Share; - -}).call(this); -// This is a manifest file that'll be compiled into including all the files listed below. -// Add new JavaScript/Coffee code in separate files in this directory and they'll automatically -// be included in the compiled file accessible from http://example.com/assets/application.js -// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the -// the compiled file. -// - -// First the support libs - - -// we aren't using this: require jquery_ujs - - - - - - - -// Now the common methods - - - - - -// Now the individual views - - - - - - - - - - - - - - -; diff --git a/public/assets/application-14634e7b31660960156aa8021218e89e.js.gz b/public/assets/application-14634e7b31660960156aa8021218e89e.js.gz deleted file mode 100644 index e1a8aff37691cb367ffc63a9f68f2987fa5724d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160284 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

~mNXMd+ADcRxwAPqc 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 lt(e){var t=ct.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function At(e,t){if(t.nodeType!==1||!v.hasData(e))return;var n,r,i,s=v._data(e),o=v._data(t,s),u=s.events;if(u){delete o.handle,o.events={};for(n in u)for(r=0,i=u[n].length;r").appendTo(i.body),n=t.css("display");t.remove();if(n==="none"||n===""){Pt=i.body.appendChild(Pt||v.extend(i.createElement("iframe"),{frameBorder:0,width:0,height:0}));if(!Ht||!Pt.createElement)Ht=(Pt.contentWindow||Pt.contentDocument).document,Ht.write(""),Ht.close();t=Ht.body.appendChild(Ht.createElement(e)),n=Dt(t,"display"),i.body.removeChild(Pt)}return Wt[e]=n,n}function fn(e,t,n,r){var i;if(v.isArray(t))v.each(t,function(t,i){n||sn.test(e)?r(e,i):fn(e+"["+(typeof i=="object"?t:"")+"]",i,n,r)});else if(!n&&v.type(t)==="object")for(i in t)fn(e+"["+i+"]",t[i],n,r);else r(e,t)}function Cn(e){return function(t,n){typeof t!="string"&&(n=t,t="*");var r,i,s,o=t.toLowerCase().split(y),u=0,a=o.length;if(v.isFunction(n))for(;u)[^>]*$|#([\w\-]*)$)/,E=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,S=/^[\],:{}\s]*$/,x=/(?:^|:|,)(?:\s*\[)+/g,T=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,N=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,C=/^-ms-/,k=/-([\da-z])/gi,L=function(e,t){return(t+"").toUpperCase()},A=function(){i.addEventListener?(i.removeEventListener("DOMContentLoaded",A,!1),v.ready()):i.readyState==="complete"&&(i.detachEvent("onreadystatechange",A),v.ready())},O={};v.fn=v.prototype={constructor:v,init:function(e,n,r){var s,o,u,a;if(!e)return this;if(e.nodeType)return this.context=this[0]=e,this.length=1,this;if(typeof e=="string"){e.charAt(0)==="<"&&e.charAt(e.length-1)===">"&&e.length>=3?s=[null,e,null]:s=w.exec(e);if(s&&(s[1]||!n)){if(s[1])return n=n instanceof v?n[0]:n,a=n&&n.nodeType?n.ownerDocument||n:i,e=v.parseHTML(s[1],a,!0),E.test(s[1])&&v.isPlainObject(n)&&this.attr.call(e,n,!0),v.merge(this,e);o=i.getElementById(s[2]);if(o&&o.parentNode){if(o.id!==s[2])return r.find(e);this.length=1,this[0]=o}return this.context=i,this.selector=e,this}return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e)}return v.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),v.makeArray(e,this))},selector:"",jquery:"1.8.3",length:0,size:function(){return this.length},toArray:function(){return l.call(this)},get:function(e){return e==null?this.toArray():e<0?this[this.length+e]:this[e]},pushStack:function(e,t,n){var r=v.merge(this.constructor(),e);return r.prevObject=this,r.context=this.context,t==="find"?r.selector=this.selector+(this.selector?" ":"")+n:t&&(r.selector=this.selector+"."+t+"("+n+")"),r},each:function(e,t){return v.each(this,e,t)},ready:function(e){return v.ready.promise().done(e),this},eq:function(e){return e=+e,e===-1?this.slice(e):this.slice(e,e+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(l.apply(this,arguments),"slice",l.call(arguments).join(","))},map:function(e){return this.pushStack(v.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:[].sort,splice:[].splice},v.fn.init.prototype=v.fn,v.extend=v.fn.extend=function(){var e,n,r,i,s,o,u=arguments[0]||{},a=1,f=arguments.length,l=!1;typeof u=="boolean"&&(l=u,u=arguments[1]||{},a=2),typeof u!="object"&&!v.isFunction(u)&&(u={}),f===a&&(u=this,--a);for(;a0)return;r.resolveWith(i,[v]),v.fn.trigger&&v(i).trigger("ready").off("ready")},isFunction:function(e){return v.type(e)==="function"},isArray:Array.isArray||function(e){return v.type(e)==="array"},isWindow:function(e){return e!=null&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return e==null?String(e):O[h.call(e)]||"object"},isPlainObject:function(e){if(!e||v.type(e)!=="object"||e.nodeType||v.isWindow(e))return!1;try{if(e.constructor&&!p.call(e,"constructor")&&!p.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||p.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw new Error(e)},parseHTML:function(e,t,n){var r;return!e||typeof e!="string"?null:(typeof t=="boolean"&&(n=t,t=0),t=t||i,(r=E.exec(e))?[t.createElement(r[1])]:(r=v.buildFragment([e],t,n?null:[]),v.merge([],(r.cacheable?v.clone(r.fragment):r.fragment).childNodes)))},parseJSON:function(t){if(!t||typeof t!="string")return null;t=v.trim(t);if(e.JSON&&e.JSON.parse)return e.JSON.parse(t);if(S.test(t.replace(T,"@").replace(N,"]").replace(x,"")))return(new Function("return "+t))();v.error("Invalid JSON: "+t)},parseXML:function(n){var r,i;if(!n||typeof n!="string")return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(s){r=t}return(!r||!r.documentElement||r.getElementsByTagName("parsererror").length)&&v.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&g.test(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(C,"ms-").replace(k,L)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,n,r){var i,s=0,o=e.length,u=o===t||v.isFunction(e);if(r){if(u){for(i in e)if(n.apply(e[i],r)===!1)break}else for(;s0&&e[0]&&e[a-1]||a===0||v.isArray(e));if(f)for(;u-1)a.splice(n,1),i&&(n<=o&&o--,n<=u&&u--)}),this},has:function(e){return v.inArray(e,a)>-1},empty:function(){return a=[],this},disable:function(){return a=f=n=t,this},disabled:function(){return!a},lock:function(){return f=t,n||c.disable(),this},locked:function(){return!f},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],a&&(!r||f)&&(i?f.push(t):l(t)),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},v.extend({Deferred:function(e){var t=[["resolve","done",v.Callbacks("once memory"),"resolved"],["reject","fail",v.Callbacks("once memory"),"rejected"],["notify","progress",v.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return v.Deferred(function(n){v.each(t,function(t,r){var s=r[0],o=e[t];i[r[1]](v.isFunction(o)?function(){var e=o.apply(this,arguments);e&&v.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[s+"With"](this===i?n:this,[e])}:n[s])}),e=null}).promise()},promise:function(e){return e!=null?v.extend(e,r):r}},i={};return r.pipe=r.then,v.each(t,function(e,s){var o=s[2],u=s[3];r[s[1]]=o.add,u&&o.add(function(){n=u},t[e^1][2].disable,t[2][2].lock),i[s[0]]=o.fire,i[s[0]+"With"]=o.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=l.call(arguments),r=n.length,i=r!==1||e&&v.isFunction(e.promise)?r:0,s=i===1?e:v.Deferred(),o=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?l.call(arguments):r,n===u?s.notifyWith(t,n):--i||s.resolveWith(t,n)}},u,a,f;if(r>1){u=new Array(r),a=new Array(r),f=new Array(r);for(;t
a",n=p.getElementsByTagName("*"),r=p.getElementsByTagName("a")[0];if(!n||!r||!n.length)return{};s=i.createElement("select"),o=s.appendChild(i.createElement("option")),u=p.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={leadingWhitespace:p.firstChild.nodeType===3,tbody:!p.getElementsByTagName("tbody").length,htmlSerialize:!!p.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:r.getAttribute("href")==="/a",opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:u.value==="on",optSelected:o.selected,getSetAttribute:p.className!=="t",enctype:!!i.createElement("form").enctype,html5Clone:i.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",boxModel:i.compatMode==="CSS1Compat",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},u.checked=!0,t.noCloneChecked=u.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!o.disabled;try{delete p.test}catch(d){t.deleteExpando=!1}!p.addEventListener&&p.attachEvent&&p.fireEvent&&(p.attachEvent("onclick",h=function(){t.noCloneEvent=!1}),p.cloneNode(!0).fireEvent("onclick"),p.detachEvent("onclick",h)),u=i.createElement("input"),u.value="t",u.setAttribute("type","radio"),t.radioValue=u.value==="t",u.setAttribute("checked","checked"),u.setAttribute("name","t"),p.appendChild(u),a=i.createDocumentFragment(),a.appendChild(p.lastChild),t.checkClone=a.cloneNode(!0).cloneNode(!0).lastChild.checked,t.appendChecked=u.checked,a.removeChild(u),a.appendChild(p);if(p.attachEvent)for(l in{submit:!0,change:!0,focusin:!0})f="on"+l,c=f in p,c||(p.setAttribute(f,"return;"),c=typeof p[f]=="function"),t[l+"Bubbles"]=c;return v(function(){var n,r,s,o,u="padding:0;margin:0;border:0;display:block;overflow:hidden;",a=i.getElementsByTagName("body")[0];if(!a)return;n=i.createElement("div"),n.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",a.insertBefore(n,a.firstChild),r=i.createElement("div"),n.appendChild(r),r.innerHTML="
t
",s=r.getElementsByTagName("td"),s[0].style.cssText="padding:0;margin:0;border:0;display:none",c=s[0].offsetHeight===0,s[0].style.display="",s[1].style.display="none",t.reliableHiddenOffsets=c&&s[0].offsetHeight===0,r.innerHTML="",r.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=r.offsetWidth===4,t.doesNotIncludeMarginInBodyOffset=a.offsetTop!==1,e.getComputedStyle&&(t.pixelPosition=(e.getComputedStyle(r,null)||{}).top!=="1%",t.boxSizingReliable=(e.getComputedStyle(r,null)||{width:"4px"}).width==="4px",o=i.createElement("div"),o.style.cssText=r.style.cssText=u,o.style.marginRight=o.style.width="0",r.style.width="1px",r.appendChild(o),t.reliableMarginRight=!parseFloat((e.getComputedStyle(o,null)||{}).marginRight)),typeof r.style.zoom!="undefined"&&(r.innerHTML="",r.style.cssText=u+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=r.offsetWidth===3,r.style.display="block",r.style.overflow="visible",r.innerHTML="

",r.firstChild.style.width="5px",t.shrinkWrapBlocks=r.offsetWidth!==3,n.style.zoom=1),a.removeChild(n),n=r=s=o=null}),a.removeChild(p),n=r=s=o=u=a=p=null,t}();var D=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,P=/([A-Z])/g;v.extend({cache:{},deletedIds:[],uuid:0,expando:"jQuery"+(v.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?v.cache[e[v.expando]]:e[v.expando],!!e&&!B(e)},data:function(e,n,r,i){if(!v.acceptData(e))return;var s,o,u=v.expando,a=typeof n=="string",f=e.nodeType,l=f?v.cache:e,c=f?e[u]:e[u]&&u;if((!c||!l[c]||!i&&!l[c].data)&&a&&r===t)return;c||(f?e[u]=c=v.deletedIds.pop()||v.guid++:c=u),l[c]||(l[c]={},f||(l[c].toJSON=v.noop));if(typeof n=="object"||typeof n=="function")i?l[c]=v.extend(l[c],n):l[c].data=v.extend(l[c].data,n);return s=l[c],i||(s.data||(s.data={}),s=s.data),r!==t&&(s[v.camelCase(n)]=r),a?(o=s[n],o==null&&(o=s[v.camelCase(n)])):o=s,o},removeData:function(e,t,n){if(!v.acceptData(e))return;var r,i,s,o=e.nodeType,u=o?v.cache:e,a=o?e[v.expando]:v.expando;if(!u[a])return;if(t){r=n?u[a]:u[a].data;if(r){v.isArray(t)||(t in r?t=[t]:(t=v.camelCase(t),t in r?t=[t]:t=t.split(" ")));for(i=0,s=t.length;i1,null,!1))},removeData:function(e){return this.each(function(){v.removeData(this,e)})}}),v.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=v._data(e,t),n&&(!r||v.isArray(n)?r=v._data(e,t,v.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=v.queue(e,t),r=n.length,i=n.shift(),s=v._queueHooks(e,t),o=function(){v.dequeue(e,t)};i==="inprogress"&&(i=n.shift(),r--),i&&(t==="fx"&&n.unshift("inprogress"),delete s.stop,i.call(e,o,s)),!r&&s&&s.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return v._data(e,n)||v._data(e,n,{empty:v.Callbacks("once memory").add(function(){v.removeData(e,t+"queue",!0),v.removeData(e,n,!0)})})}}),v.fn.extend({queue:function(e,n){var r=2;return typeof e!="string"&&(n=e,e="fx",r--),arguments.length1)},removeAttr:function(e){return this.each(function(){v.removeAttr(this,e)})},prop:function(e,t){return v.access(this,v.prop,e,t,arguments.length>1)},removeProp:function(e){return e=v.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,s,o,u;if(v.isFunction(e))return this.each(function(t){v(this).addClass(e.call(this,t,this.className))});if(e&&typeof e=="string"){t=e.split(y);for(n=0,r=this.length;n=0)r=r.replace(" "+n[s]+" "," ");i.className=e?v.trim(r):""}}}return this},toggleClass:function(e,t){var n=typeof e,r=typeof t=="boolean";return v.isFunction(e)?this.each(function(n){v(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if(n==="string"){var i,s=0,o=v(this),u=t,a=e.split(y);while(i=a[s++])u=r?u:!o.hasClass(i),o[u?"addClass":"removeClass"](i)}else if(n==="undefined"||n==="boolean")this.className&&v._data(this,"__className__",this.className),this.className=this.className||e===!1?"":v._data(this,"__className__")||""})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;n=0)return!0;return!1},val:function(e){var n,r,i,s=this[0];if(!arguments.length){if(s)return n=v.valHooks[s.type]||v.valHooks[s.nodeName.toLowerCase()],n&&"get"in n&&(r=n.get(s,"value"))!==t?r:(r=s.value,typeof r=="string"?r.replace(R,""):r==null?"":r);return}return i=v.isFunction(e),this.each(function(r){var s,o=v(this);if(this.nodeType!==1)return;i?s=e.call(this,r,o.val()):s=e,s==null?s="":typeof s=="number"?s+="":v.isArray(s)&&(s=v.map(s,function(e){return e==null?"":e+""})),n=v.valHooks[this.type]||v.valHooks[this.nodeName.toLowerCase()];if(!n||!("set"in n)||n.set(this,s,"value")===t)this.value=s})}}),v.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,s=e.type==="select-one"||i<0,o=s?null:[],u=s?i+1:r.length,a=i<0?u:s?i:0;for(;a=0}),n.length||(e.selectedIndex=-1),n}}},attrFn:{},attr:function(e,n,r,i){var s,o,u,a=e.nodeType;if(!e||a===3||a===8||a===2)return;if(i&&v.isFunction(v.fn[n]))return v(e)[n](r);if(typeof e.getAttribute=="undefined")return v.prop(e,n,r);u=a!==1||!v.isXMLDoc(e),u&&(n=n.toLowerCase(),o=v.attrHooks[n]||(X.test(n)?F:j));if(r!==t){if(r===null){v.removeAttr(e,n);return}return o&&"set"in o&&u&&(s=o.set(e,r,n))!==t?s:(e.setAttribute(n,r+""),r)}return o&&"get"in o&&u&&(s=o.get(e,n))!==null?s:(s=e.getAttribute(n),s===null?t:s)},removeAttr:function(e,t){var n,r,i,s,o=0;if(t&&e.nodeType===1){r=t.split(y);for(;o=0}})});var $=/^(?:textarea|input|select)$/i,J=/^([^\.]*|)(?:\.(.+)|)$/,K=/(?:^|\s)hover(\.\S+|)\b/,Q=/^key/,G=/^(?:mouse|contextmenu)|click/,Y=/^(?:focusinfocus|focusoutblur)$/,Z=function(e){return v.event.special.hover?e:e.replace(K,"mouseenter$1 mouseleave$1")};v.event={add:function(e,n,r,i,s){var o,u,a,f,l,c,h,p,d,m,g;if(e.nodeType===3||e.nodeType===8||!n||!r||!(o=v._data(e)))return;r.handler&&(d=r,r=d.handler,s=d.selector),r.guid||(r.guid=v.guid++),a=o.events,a||(o.events=a={}),u=o.handle,u||(o.handle=u=function(e){return typeof v=="undefined"||!!e&&v.event.triggered===e.type?t:v.event.dispatch.apply(u.elem,arguments)},u.elem=e),n=v.trim(Z(n)).split(" ");for(f=0;f=0&&(y=y.slice(0,-1),a=!0),y.indexOf(".")>=0&&(b=y.split("."),y=b.shift(),b.sort());if((!s||v.event.customEvent[y])&&!v.event.global[y])return;n=typeof n=="object"?n[v.expando]?n:new v.Event(y,n):new v.Event(y),n.type=y,n.isTrigger=!0,n.exclusive=a,n.namespace=b.join("."),n.namespace_re=n.namespace?new RegExp("(^|\\.)"+b.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,h=y.indexOf(":")<0?"on"+y:"";if(!s){u=v.cache;for(f in u)u[f].events&&u[f].events[y]&&v.event.trigger(n,r,u[f].handle.elem,!0);return}n.result=t,n.target||(n.target=s),r=r!=null?v.makeArray(r):[],r.unshift(n),p=v.event.special[y]||{};if(p.trigger&&p.trigger.apply(s,r)===!1)return;m=[[s,p.bindType||y]];if(!o&&!p.noBubble&&!v.isWindow(s)){g=p.delegateType||y,l=Y.test(g+y)?s:s.parentNode;for(c=s;l;l=l.parentNode)m.push([l,g]),c=l;c===(s.ownerDocument||i)&&m.push([c.defaultView||c.parentWindow||e,g])}for(f=0;f=0:v.find(h,this,null,[s]).length),u[h]&&f.push(c);f.length&&w.push({elem:s,matches:f})}d.length>m&&w.push({elem:this,matches:d.slice(m)});for(r=0;r0?this.on(t,null,e,n):this.trigger(t)},Q.test(t)&&(v.event.fixHooks[t]=v.event.keyHooks),G.test(t)&&(v.event.fixHooks[t]=v.event.mouseHooks)}),function(e,t){function nt(e,t,n,r){n=n||[],t=t||g;var i,s,a,f,l=t.nodeType;if(!e||typeof e!="string")return n;if(l!==1&&l!==9)return[];a=o(t);if(!a&&!r)if(i=R.exec(e))if(f=i[1]){if(l===9){s=t.getElementById(f);if(!s||!s.parentNode)return n;if(s.id===f)return n.push(s),n}else if(t.ownerDocument&&(s=t.ownerDocument.getElementById(f))&&u(t,s)&&s.id===f)return n.push(s),n}else{if(i[2])return S.apply(n,x.call(t.getElementsByTagName(e),0)),n;if((f=i[3])&&Z&&t.getElementsByClassName)return S.apply(n,x.call(t.getElementsByClassName(f),0)),n}return vt(e.replace(j,"$1"),t,n,r,a)}function rt(e){return function(t){var n=t.nodeName.toLowerCase();return n==="input"&&t.type===e}}function it(e){return function(t){var n=t.nodeName.toLowerCase();return(n==="input"||n==="button")&&t.type===e}}function st(e){return N(function(t){return t=+t,N(function(n,r){var i,s=e([],n.length,t),o=s.length;while(o--)n[i=s[o]]&&(n[i]=!(r[i]=n[i]))})})}function ot(e,t,n){if(e===t)return n;var r=e.nextSibling;while(r){if(r===t)return-1;r=r.nextSibling}return 1}function ut(e,t){var n,r,s,o,u,a,f,l=L[d][e+" "];if(l)return t?0:l.slice(0);u=e,a=[],f=i.preFilter;while(u){if(!n||(r=F.exec(u)))r&&(u=u.slice(r[0].length)||u),a.push(s=[]);n=!1;if(r=I.exec(u))s.push(n=new m(r.shift())),u=u.slice(n.length),n.type=r[0].replace(j," ");for(o in i.filter)(r=J[o].exec(u))&&(!f[o]||(r=f[o](r)))&&(s.push(n=new m(r.shift())),u=u.slice(n.length),n.type=o,n.matches=r);if(!n)break}return t?u.length:u?nt.error(e):L(e,a).slice(0)}function at(e,t,r){var i=t.dir,s=r&&t.dir==="parentNode",o=w++;return t.first?function(t,n,r){while(t=t[i])if(s||t.nodeType===1)return e(t,n,r)}:function(t,r,u){if(!u){var a,f=b+" "+o+" ",l=f+n;while(t=t[i])if(s||t.nodeType===1){if((a=t[d])===l)return t.sizset;if(typeof a=="string"&&a.indexOf(f)===0){if(t.sizset)return t}else{t[d]=l;if(e(t,r,u))return t.sizset=!0,t;t.sizset=!1}}}else while(t=t[i])if(s||t.nodeType===1)if(e(t,r,u))return t}}function ft(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function lt(e,t,n,r,i){var s,o=[],u=0,a=e.length,f=t!=null;for(;u-1&&(s[f]=!(o[f]=c))}}else g=lt(g===o?g.splice(d,g.length):g),i?i(null,o,g,a):S.apply(o,g)})}function ht(e){var t,n,r,s=e.length,o=i.relative[e[0].type],u=o||i.relative[" "],a=o?1:0,f=at(function(e){return e===t},u,!0),l=at(function(e){return T.call(t,e)>-1},u,!0),h=[function(e,n,r){return!o&&(r||n!==c)||((t=n).nodeType?f(e,n,r):l(e,n,r))}];for(;a1&&ft(h),a>1&&e.slice(0,a-1).join("").replace(j,"$1"),n,a0,s=e.length>0,o=function(u,a,f,l,h){var p,d,v,m=[],y=0,w="0",x=u&&[],T=h!=null,N=c,C=u||s&&i.find.TAG("*",h&&a.parentNode||a),k=b+=N==null?1:Math.E;T&&(c=a!==g&&a,n=o.el);for(;(p=C[w])!=null;w++){if(s&&p){for(d=0;v=e[d];d++)if(v(p,a,f)){l.push(p);break}T&&(b=k,n=++o.el)}r&&((p=!v&&p)&&y--,u&&x.push(p))}y+=w;if(r&&w!==y){for(d=0;v=t[d];d++)v(x,m,a,f);if(u){if(y>0)while(w--)!x[w]&&!m[w]&&(m[w]=E.call(l));m=lt(m)}S.apply(l,m),T&&!u&&m.length>0&&y+t.length>1&&nt.uniqueSort(l)}return T&&(b=k,c=N),x};return o.el=0,r?N(o):o}function dt(e,t,n){var r=0,i=t.length;for(;r2&&(f=u[0]).type==="ID"&&t.nodeType===9&&!s&&i.relative[u[1].type]){t=i.find.ID(f.matches[0].replace($,""),t,s)[0];if(!t)return n;e=e.slice(u.shift().length)}for(o=J.POS.test(e)?-1:u.length-1;o>=0;o--){f=u[o];if(i.relative[l=f.type])break;if(c=i.find[l])if(r=c(f.matches[0].replace($,""),z.test(u[0].type)&&t.parentNode||t,s)){u.splice(o,1),e=r.length&&u.join("");if(!e)return S.apply(n,x.call(r,0)),n;break}}}return a(e,h)(r,t,s,n,z.test(e)),n}function mt(){}var n,r,i,s,o,u,a,f,l,c,h=!0,p="undefined",d=("sizcache"+Math.random()).replace(".",""),m=String,g=e.document,y=g.documentElement,b=0,w=0,E=[].pop,S=[].push,x=[].slice,T=[].indexOf||function(e){var t=0,n=this.length;for(;ti.cacheLength&&delete e[t.shift()],e[n+" "]=r},e)},k=C(),L=C(),A=C(),O="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",_=M.replace("w","w#"),D="([*^$|!~]?=)",P="\\["+O+"*("+M+")"+O+"*(?:"+D+O+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+_+")|)|)"+O+"*\\]",H=":("+M+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:"+P+")|[^:]|\\\\.)*|.*))\\)|)",B=":(even|odd|eq|gt|lt|nth|first|last)(?:\\("+O+"*((?:-\\d)?\\d*)"+O+"*\\)|)(?=[^-]|$)",j=new RegExp("^"+O+"+|((?:^|[^\\\\])(?:\\\\.)*)"+O+"+$","g"),F=new RegExp("^"+O+"*,"+O+"*"),I=new RegExp("^"+O+"*([\\x20\\t\\r\\n\\f>+~])"+O+"*"),q=new RegExp(H),R=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,U=/^:not/,z=/[\x20\t\r\n\f]*[+~]/,W=/:not\($/,X=/h\d/i,V=/input|select|textarea|button/i,$=/\\(?!\\)/g,J={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),NAME:new RegExp("^\\[name=['\"]?("+M+")['\"]?\\]"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+H),POS:new RegExp(B,"i"),CHILD:new RegExp("^:(only|nth|first|last)-child(?:\\("+O+"*(even|odd|(([+-]|)(\\d*)n|)"+O+"*(?:([+-]|)"+O+"*(\\d+)|))"+O+"*\\)|)","i"),needsContext:new RegExp("^"+O+"*[>+~]|"+B,"i")},K=function(e){var t=g.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}},Q=K(function(e){return e.appendChild(g.createComment("")),!e.getElementsByTagName("*").length}),G=K(function(e){return e.innerHTML="",e.firstChild&&typeof e.firstChild.getAttribute!==p&&e.firstChild.getAttribute("href")==="#"}),Y=K(function(e){e.innerHTML="";var t=typeof e.lastChild.getAttribute("multiple");return t!=="boolean"&&t!=="string"}),Z=K(function(e){return e.innerHTML="",!e.getElementsByClassName||!e.getElementsByClassName("e").length?!1:(e.lastChild.className="e",e.getElementsByClassName("e").length===2)}),et=K(function(e){e.id=d+0,e.innerHTML="
",y.insertBefore(e,y.firstChild);var t=g.getElementsByName&&g.getElementsByName(d).length===2+g.getElementsByName(d+0).length;return r=!g.getElementById(d),y.removeChild(e),t});try{x.call(y.childNodes,0)[0].nodeType}catch(tt){x=function(e){var t,n=[];for(;t=this[e];e++)n.push(t);return n}}nt.matches=function(e,t){return nt(e,null,null,t)},nt.matchesSelector=function(e,t){return nt(t,null,null,[e]).length>0},s=nt.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(i===1||i===9||i===11){if(typeof e.textContent=="string")return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=s(e)}else if(i===3||i===4)return e.nodeValue}else for(;t=e[r];r++)n+=s(t);return n},o=nt.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?t.nodeName!=="HTML":!1},u=nt.contains=y.contains?function(e,t){var n=e.nodeType===9?e.documentElement:e,r=t&&t.parentNode;return e===r||!!(r&&r.nodeType===1&&n.contains&&n.contains(r))}:y.compareDocumentPosition?function(e,t){return t&&!!(e.compareDocumentPosition(t)&16)}:function(e,t){while(t=t.parentNode)if(t===e)return!0;return!1},nt.attr=function(e,t){var n,r=o(e);return r||(t=t.toLowerCase()),(n=i.attrHandle[t])?n(e):r||Y?e.getAttribute(t):(n=e.getAttributeNode(t),n?typeof e[t]=="boolean"?e[t]?t:null:n.specified?n.value:null:null)},i=nt.selectors={cacheLength:50,createPseudo:N,match:J,attrHandle:G?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},find:{ID:r?function(e,t,n){if(typeof t.getElementById!==p&&!n){var r=t.getElementById(e);return r&&r.parentNode?[r]:[]}}:function(e,n,r){if(typeof n.getElementById!==p&&!r){var i=n.getElementById(e);return i?i.id===e||typeof i.getAttributeNode!==p&&i.getAttributeNode("id").value===e?[i]:t:[]}},TAG:Q?function(e,t){if(typeof t.getElementsByTagName!==p)return t.getElementsByTagName(e)}:function(e,t){var n=t.getElementsByTagName(e);if(e==="*"){var r,i=[],s=0;for(;r=n[s];s++)r.nodeType===1&&i.push(r);return i}return n},NAME:et&&function(e,t){if(typeof t.getElementsByName!==p)return t.getElementsByName(name)},CLASS:Z&&function(e,t,n){if(typeof t.getElementsByClassName!==p&&!n)return t.getElementsByClassName(e)}},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace($,""),e[3]=(e[4]||e[5]||"").replace($,""),e[2]==="~="&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),e[1]==="nth"?(e[2]||nt.error(e[0]),e[3]=+(e[3]?e[4]+(e[5]||1):2*(e[2]==="even"||e[2]==="odd")),e[4]=+(e[6]+e[7]||e[2]==="odd")):e[2]&&nt.error(e[0]),e},PSEUDO:function(e){var t,n;if(J.CHILD.test(e[0]))return null;if(e[3])e[2]=e[3];else if(t=e[4])q.test(t)&&(n=ut(t,!0))&&(n=t.indexOf(")",t.length-n)-t.length)&&(t=t.slice(0,n),e[0]=e[0].slice(0,n)),e[2]=t;return e.slice(0,3)}},filter:{ID:r?function(e){return e=e.replace($,""),function(t){return t.getAttribute("id")===e}}:function(e){return e=e.replace($,""),function(t){var n=typeof t.getAttributeNode!==p&&t.getAttributeNode("id");return n&&n.value===e}},TAG:function(e){return e==="*"?function(){return!0}:(e=e.replace($,"").toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=k[d][e+" "];return t||(t=new RegExp("(^|"+O+")"+e+"("+O+"|$)"))&&k(e,function(e){return t.test(e.className||typeof e.getAttribute!==p&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r,i){var s=nt.attr(r,e);return s==null?t==="!=":t?(s+="",t==="="?s===n:t==="!="?s!==n:t==="^="?n&&s.indexOf(n)===0:t==="*="?n&&s.indexOf(n)>-1:t==="$="?n&&s.substr(s.length-n.length)===n:t==="~="?(" "+s+" ").indexOf(n)>-1:t==="|="?s===n||s.substr(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r){return e==="nth"?function(e){var t,i,s=e.parentNode;if(n===1&&r===0)return!0;if(s){i=0;for(t=s.firstChild;t;t=t.nextSibling)if(t.nodeType===1){i++;if(e===t)break}}return i-=r,i===n||i%n===0&&i/n>=0}:function(t){var n=t;switch(e){case"only":case"first":while(n=n.previousSibling)if(n.nodeType===1)return!1;if(e==="first")return!0;n=t;case"last":while(n=n.nextSibling)if(n.nodeType===1)return!1;return!0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||nt.error("unsupported pseudo: "+e);return r[d]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?N(function(e,n){var i,s=r(e,t),o=s.length;while(o--)i=T.call(e,s[o]),e[i]=!(n[i]=s[o])}):function(e){return r(e,0,n)}):r}},pseudos:{not:N(function(e){var t=[],n=[],r=a(e.replace(j,"$1"));return r[d]?N(function(e,t,n,i){var s,o=r(e,null,i,[]),u=e.length;while(u--)if(s=o[u])e[u]=!(t[u]=s)}):function(e,i,s){return t[0]=e,r(t,null,s,n),!n.pop()}}),has:N(function(e){return function(t){return nt(e,t).length>0}}),contains:N(function(e){return function(t){return(t.textContent||t.innerText||s(t)).indexOf(e)>-1}}),enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&!!e.checked||t==="option"&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},parent:function(e){return!i.pseudos.empty(e)},empty:function(e){var t;e=e.firstChild;while(e){if(e.nodeName>"@"||(t=e.nodeType)===3||t===4)return!1;e=e.nextSibling}return!0},header:function(e){return X.test(e.nodeName)},text:function(e){var t,n;return e.nodeName.toLowerCase()==="input"&&(t=e.type)==="text"&&((n=e.getAttribute("type"))==null||n.toLowerCase()===t)},radio:rt("radio"),checkbox:rt("checkbox"),file:rt("file"),password:rt("password"),image:rt("image"),submit:it("submit"),reset:it("reset"),button:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&e.type==="button"||t==="button"},input:function(e){return V.test(e.nodeName)},focus:function(e){var t=e.ownerDocument;return e===t.activeElement&&(!t.hasFocus||t.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},active:function(e){return e===e.ownerDocument.activeElement},first:st(function(){return[0]}),last:st(function(e,t){return[t-1]}),eq:st(function(e,t,n){return[n<0?n+t:n]}),even:st(function(e,t){for(var n=0;n=0;)e.push(r);return e}),gt:st(function(e,t,n){for(var r=n<0?n+t:n;++r",e.querySelectorAll("[selected]").length||i.push("\\["+O+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||i.push(":checked")}),K(function(e){e.innerHTML="

",e.querySelectorAll("[test^='']").length&&i.push("[*^$]="+O+"*(?:\"\"|'')"),e.innerHTML="",e.querySelectorAll(":enabled").length||i.push(":enabled",":disabled")}),i=new RegExp(i.join("|")),vt=function(e,r,s,o,u){if(!o&&!u&&!i.test(e)){var a,f,l=!0,c=d,h=r,p=r.nodeType===9&&e;if(r.nodeType===1&&r.nodeName.toLowerCase()!=="object"){a=ut(e),(l=r.getAttribute("id"))?c=l.replace(n,"\\$&"):r.setAttribute("id",c),c="[id='"+c+"'] ",f=a.length;while(f--)a[f]=c+a[f].join("");h=z.test(e)&&r.parentNode||r,p=a.join(",")}if(p)try{return S.apply(s,x.call(h.querySelectorAll(p),0)),s}catch(v){}finally{l||r.removeAttribute("id")}}return t(e,r,s,o,u)},u&&(K(function(t){e=u.call(t,"div");try{u.call(t,"[test!='']:sizzle"),s.push("!=",H)}catch(n){}}),s=new RegExp(s.join("|")),nt.matchesSelector=function(t,n){n=n.replace(r,"='$1']");if(!o(t)&&!s.test(n)&&!i.test(n))try{var a=u.call(t,n);if(a||e||t.document&&t.document.nodeType!==11)return a}catch(f){}return nt(n,null,null,[t]).length>0})}(),i.pseudos.nth=i.pseudos.eq,i.filters=mt.prototype=i.pseudos,i.setFilters=new mt,nt.attr=v.attr,v.find=nt,v.expr=nt.selectors,v.expr[":"]=v.expr.pseudos,v.unique=nt.uniqueSort,v.text=nt.getText,v.isXMLDoc=nt.isXML,v.contains=nt.contains}(e);var nt=/Until$/,rt=/^(?:parents|prev(?:Until|All))/,it=/^.[^:#\[\.,]*$/,st=v.expr.match.needsContext,ot={children:!0,contents:!0,next:!0,prev:!0};v.fn.extend({find:function(e){var t,n,r,i,s,o,u=this;if(typeof e!="string")return v(e).filter(function(){for(t=0,n=u.length;t0)for(i=r;i=0:v.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,s=[],o=st.test(e)||typeof e!="string"?v(e,t||this.context):0;for(;r-1:v.find.matchesSelector(n,e)){s.push(n);break}n=n.parentNode}}return s=s.length>1?v.unique(s):s,this.pushStack(s,"closest",e)},index:function(e){return e?typeof e=="string"?v.inArray(this[0],v(e)):v.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(e,t){var n=typeof e=="string"?v(e,t):v.makeArray(e&&e.nodeType?[e]:e),r=v.merge(this.get(),n);return this.pushStack(ut(n[0])||ut(r[0])?r:v.unique(r))},addBack:function(e){return this.add(e==null?this.prevObject:this.prevObject.filter(e))}}),v.fn.andSelf=v.fn.addBack,v.each({parent:function(e){var t=e.parentNode;return t&&t.nodeType!==11?t:null},parents:function(e){return v.dir(e,"parentNode")},parentsUntil:function(e,t,n){return v.dir(e,"parentNode",n)},next:function(e){return at(e,"nextSibling")},prev:function(e){return at(e,"previousSibling")},nextAll:function(e){return v.dir(e,"nextSibling")},prevAll:function(e){return v.dir(e,"previousSibling")},nextUntil:function(e,t,n){return v.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return v.dir(e,"previousSibling",n)},siblings:function(e){return v.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return v.sibling(e.firstChild)},contents:function(e){return v.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:v.merge([],e.childNodes)}},function(e,t){v.fn[e]=function(n,r){var i=v.map(this,t,n);return nt.test(e)||(r=n),r&&typeof r=="string"&&(i=v.filter(r,i)),i=this.length>1&&!ot[e]?v.unique(i):i,this.length>1&&rt.test(e)&&(i=i.reverse()),this.pushStack(i,e,l.call(arguments).join(","))}}),v.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),t.length===1?v.find.matchesSelector(t[0],e)?[t[0]]:[]:v.find.matches(e,t)},dir:function(e,n,r){var i=[],s=e[n];while(s&&s.nodeType!==9&&(r===t||s.nodeType!==1||!v(s).is(r)))s.nodeType===1&&i.push(s),s=s[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)e.nodeType===1&&e!==t&&n.push(e);return n}});var ct="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ht=/ jQuery\d+="(?:null|\d+)"/g,pt=/^\s+/,dt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,vt=/<([\w:]+)/,mt=/]","i"),Et=/^(?:checkbox|radio)$/,St=/checked\s*(?:[^=]|=\s*.checked.)/i,xt=/\/(java|ecma)script/i,Tt=/^\s*\s*$/g,Nt={option:[1,""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},Ct=lt(i),kt=Ct.appendChild(i.createElement("div"));Nt.optgroup=Nt.option,Nt.tbody=Nt.tfoot=Nt.colgroup=Nt.caption=Nt.thead,Nt.th=Nt.td,v.support.htmlSerialize||(Nt._default=[1,"X
","
"]),v.fn.extend({text:function(e){return v.access(this,function(e){return e===t?v.text(this):this.empty().append((this[0]&&this[0].ownerDocument||i).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(v.isFunction(e))return this.each(function(t){v(this).wrapAll(e.call(this,t))});if(this[0]){var t=v(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&e.firstChild.nodeType===1)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return v.isFunction(e)?this.each(function(t){v(this).wrapInner(e.call(this,t))}):this.each(function(){var t=v(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=v.isFunction(e);return this.each(function(n){v(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){v.nodeName(this,"body")||v(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(this.nodeType===1||this.nodeType===11)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(this.nodeType===1||this.nodeType===11)&&this.insertBefore(e,this.firstChild)})},before:function(){if(!ut(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this)});if(arguments.length){var e=v.clean(arguments);return this.pushStack(v.merge(e,this),"before",this.selector)}},after:function(){if(!ut(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this.nextSibling)});if(arguments.length){var e=v.clean(arguments);return this.pushStack(v.merge(this,e),"after",this.selector)}},remove:function(e,t){var n,r=0;for(;(n=this[r])!=null;r++)if(!e||v.filter(e,[n]).length)!t&&n.nodeType===1&&(v.cleanData(n.getElementsByTagName("*")),v.cleanData([n])),n.parentNode&&n.parentNode.removeChild(n);return this},empty:function(){var e,t=0;for(;(e=this[t])!=null;t++){e.nodeType===1&&v.cleanData(e.getElementsByTagName("*"));while(e.firstChild)e.removeChild(e.firstChild)}return this},clone:function(e,t){return e=e==null?!1:e,t=t==null?e:t,this.map(function(){return v.clone(this,e,t)})},html:function(e){return v.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return n.nodeType===1?n.innerHTML.replace(ht,""):t;if(typeof e=="string"&&!yt.test(e)&&(v.support.htmlSerialize||!wt.test(e))&&(v.support.leadingWhitespace||!pt.test(e))&&!Nt[(vt.exec(e)||["",""])[1].toLowerCase()]){e=e.replace(dt,"<$1>");try{for(;r1&&typeof f=="string"&&St.test(f))return this.each(function(){v(this).domManip(e,n,r)});if(v.isFunction(f))return this.each(function(i){var s=v(this);e[0]=f.call(this,i,n?s.html():t),s.domManip(e,n,r)});if(this[0]){i=v.buildFragment(e,this,l),o=i.fragment,s=o.firstChild,o.childNodes.length===1&&(o=s);if(s){n=n&&v.nodeName(s,"tr");for(u=i.cacheable||c-1;a0?this.clone(!0):this).get(),v(o[i])[t](r),s=s.concat(r);return this.pushStack(s,e,o.selector)}}),v.extend({clone:function(e,t,n){var r,i,s,o;v.support.html5Clone||v.isXMLDoc(e)||!wt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(kt.innerHTML=e.outerHTML,kt.removeChild(o=kt.firstChild));if((!v.support.noCloneEvent||!v.support.noCloneChecked)&&(e.nodeType===1||e.nodeType===11)&&!v.isXMLDoc(e)){Ot(e,o),r=Mt(e),i=Mt(o);for(s=0;r[s];++s)i[s]&&Ot(r[s],i[s])}if(t){At(e,o);if(n){r=Mt(e),i=Mt(o);for(s=0;r[s];++s)At(r[s],i[s])}}return r=i=null,o},clean:function(e,t,n,r){var s,o,u,a,f,l,c,h,p,d,m,g,y=t===i&&Ct,b=[];if(!t||typeof t.createDocumentFragment=="undefined")t=i;for(s=0;(u=e[s])!=null;s++){typeof u=="number"&&(u+="");if(!u)continue;if(typeof u=="string")if(!gt.test(u))u=t.createTextNode(u);else{y=y||lt(t),c=t.createElement("div"),y.appendChild(c),u=u.replace(dt,"<$1>"),a=(vt.exec(u)||["",""])[1].toLowerCase(),f=Nt[a]||Nt._default,l=f[0],c.innerHTML=f[1]+u+f[2];while(l--)c=c.lastChild;if(!v.support.tbody){h=mt.test(u),p=a==="table"&&!h?c.firstChild&&c.firstChild.childNodes:f[1]===""&&!h?c.childNodes:[];for(o=p.length-1;o>=0;--o)v.nodeName(p[o],"tbody")&&!p[o].childNodes.length&&p[o].parentNode.removeChild(p[o])}!v.support.leadingWhitespace&&pt.test(u)&&c.insertBefore(t.createTextNode(pt.exec(u)[0]),c.firstChild),u=c.childNodes,c.parentNode.removeChild(c)}u.nodeType?b.push(u):v.merge(b,u)}c&&(u=c=y=null);if(!v.support.appendChecked)for(s=0;(u=b[s])!=null;s++)v.nodeName(u,"input")?_t(u):typeof u.getElementsByTagName!="undefined"&&v.grep(u.getElementsByTagName("input"),_t);if(n){m=function(e){if(!e.type||xt.test(e.type))return r?r.push(e.parentNode?e.parentNode.removeChild(e):e):n.appendChild(e)};for(s=0;(u=b[s])!=null;s++)if(!v.nodeName(u,"script")||!m(u))n.appendChild(u),typeof u.getElementsByTagName!="undefined"&&(g=v.grep(v.merge([],u.getElementsByTagName("script")),m),b.splice.apply(b,[s+1,0].concat(g)),s+=g.length)}return b},cleanData:function(e,t){var n,r,i,s,o=0,u=v.expando,a=v.cache,f=v.support.deleteExpando,l=v.event.special;for(;(i=e[o])!=null;o++)if(t||v.acceptData(i)){r=i[u],n=r&&a[r];if(n){if(n.events)for(s in n.events)l[s]?v.event.remove(i,s):v.removeEvent(i,s,n.handle);a[r]&&(delete a[r],f?delete i[u]:i.removeAttribute?i.removeAttribute(u):i[u]=null,v.deletedIds.push(r))}}}}),function(){var e,t;v.uaMatch=function(e){e=e.toLowerCase();var t=/(chrome)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||e.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[];return{browser:t[1]||"",version:t[2]||"0"}},e=v.uaMatch(o.userAgent),t={},e.browser&&(t[e.browser]=!0,t.version=e.version),t.chrome?t.webkit=!0:t.webkit&&(t.safari=!0),v.browser=t,v.sub=function(){function e(t,n){return new e.fn.init(t,n)}v.extend(!0,e,this),e.superclass=this,e.fn=e.prototype=this(),e.fn.constructor=e,e.sub=this.sub,e.fn.init=function(r,i){return i&&i instanceof v&&!(i instanceof e)&&(i=e(i)),v.fn.init.call(this,r,i,t)},e.fn.init.prototype=e.fn;var t=e(i);return e}}();var Dt,Pt,Ht,Bt=/alpha\([^)]*\)/i,jt=/opacity=([^)]*)/,Ft=/^(top|right|bottom|left)$/,It=/^(none|table(?!-c[ea]).+)/,qt=/^margin/,Rt=new RegExp("^("+m+")(.*)$","i"),Ut=new RegExp("^("+m+")(?!px)[a-z%]+$","i"),zt=new RegExp("^([-+])=("+m+")","i"),Wt={BODY:"block"},Xt={position:"absolute",visibility:"hidden",display:"block"},Vt={letterSpacing:0,fontWeight:400},$t=["Top","Right","Bottom","Left"],Jt=["Webkit","O","Moz","ms"],Kt=v.fn.toggle;v.fn.extend({css:function(e,n){return v.access(this,function(e,n,r){return r!==t?v.style(e,n,r):v.css(e,n)},e,n,arguments.length>1)},show:function(){return Yt(this,!0)},hide:function(){return Yt(this)},toggle:function(e,t){var n=typeof e=="boolean";return v.isFunction(e)&&v.isFunction(t)?Kt.apply(this,arguments):this.each(function(){(n?e:Gt(this))?v(this).show():v(this).hide()})}}),v.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Dt(e,"opacity");return n===""?"1":n}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":v.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(!e||e.nodeType===3||e.nodeType===8||!e.style)return;var s,o,u,a=v.camelCase(n),f=e.style;n=v.cssProps[a]||(v.cssProps[a]=Qt(f,a)),u=v.cssHooks[n]||v.cssHooks[a];if(r===t)return u&&"get"in u&&(s=u.get(e,!1,i))!==t?s:f[n];o=typeof r,o==="string"&&(s=zt.exec(r))&&(r=(s[1]+1)*s[2]+parseFloat(v.css(e,n)),o="number");if(r==null||o==="number"&&isNaN(r))return;o==="number"&&!v.cssNumber[a]&&(r+="px");if(!u||!("set"in u)||(r=u.set(e,r,i))!==t)try{f[n]=r}catch(l){}},css:function(e,n,r,i){var s,o,u,a=v.camelCase(n);return n=v.cssProps[a]||(v.cssProps[a]=Qt(e.style,a)),u=v.cssHooks[n]||v.cssHooks[a],u&&"get"in u&&(s=u.get(e,!0,i)),s===t&&(s=Dt(e,n)),s==="normal"&&n in Vt&&(s=Vt[n]),r||i!==t?(o=parseFloat(s),r||v.isNumeric(o)?o||0:s):s},swap:function(e,t,n){var r,i,s={};for(i in t)s[i]=e.style[i],e.style[i]=t[i];r=n.call(e);for(i in t)e.style[i]=s[i];return r}}),e.getComputedStyle?Dt=function(t,n){var r,i,s,o,u=e.getComputedStyle(t,null),a=t.style;return u&&(r=u.getPropertyValue(n)||u[n],r===""&&!v.contains(t.ownerDocument,t)&&(r=v.style(t,n)),Ut.test(r)&&qt.test(n)&&(i=a.width,s=a.minWidth,o=a.maxWidth,a.minWidth=a.maxWidth=a.width=r,r=u.width,a.width=i,a.minWidth=s,a.maxWidth=o)),r}:i.documentElement.currentStyle&&(Dt=function(e,t){var n,r,i=e.currentStyle&&e.currentStyle[t],s=e.style;return i==null&&s&&s[t]&&(i=s[t]),Ut.test(i)&&!Ft.test(t)&&(n=s.left,r=e.runtimeStyle&&e.runtimeStyle.left,r&&(e.runtimeStyle.left=e.currentStyle.left),s.left=t==="fontSize"?"1em":i,i=s.pixelLeft+"px",s.left=n,r&&(e.runtimeStyle.left=r)),i===""?"auto":i}),v.each(["height","width"],function(e,t){v.cssHooks[t]={get:function(e,n,r){if(n)return e.offsetWidth===0&&It.test(Dt(e,"display"))?v.swap(e,Xt,function(){return tn(e,t,r)}):tn(e,t,r)},set:function(e,n,r){return Zt(e,n,r?en(e,t,r,v.support.boxSizing&&v.css(e,"boxSizing")==="border-box"):0)}}}),v.support.opacity||(v.cssHooks.opacity={get:function(e,t){return jt.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=v.isNumeric(t)?"alpha(opacity="+t*100+")":"",s=r&&r.filter||n.filter||"";n.zoom=1;if(t>=1&&v.trim(s.replace(Bt,""))===""&&n.removeAttribute){n.removeAttribute("filter");if(r&&!r.filter)return}n.filter=Bt.test(s)?s.replace(Bt,i):s+" "+i}}),v(function(){v.support.reliableMarginRight||(v.cssHooks.marginRight={get:function(e,t){return v.swap(e,{display:"inline-block"},function(){if(t)return Dt(e,"marginRight")})}}),!v.support.pixelPosition&&v.fn.position&&v.each(["top","left"],function(e,t){v.cssHooks[t]={get:function(e,n){if(n){var r=Dt(e,t);return Ut.test(r)?v(e).position()[t]+"px":r}}}})}),v.expr&&v.expr.filters&&(v.expr.filters.hidden=function(e){return e.offsetWidth===0&&e.offsetHeight===0||!v.support.reliableHiddenOffsets&&(e.style&&e.style.display||Dt(e,"display"))==="none"},v.expr.filters.visible=function(e){return!v.expr.filters.hidden(e)}),v.each({margin:"",padding:"",border:"Width"},function(e,t){v.cssHooks[e+t]={expand:function(n){var r,i=typeof n=="string"?n.split(" "):[n],s={};for(r=0;r<4;r++)s[e+$t[r]+t]=i[r]||i[r-2]||i[0];return s}},qt.test(e)||(v.cssHooks[e+t].set=Zt)});var rn=/%20/g,sn=/\[\]$/,on=/\r?\n/g,un=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,an=/^(?:select|textarea)/i;v.fn.extend({serialize:function(){return v.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?v.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||an.test(this.nodeName)||un.test(this.type))}).map(function(e,t){var n=v(this).val();return n==null?null:v.isArray(n)?v.map(n,function(e,n){return{name:t.name,value:e.replace(on,"\r\n")}}):{name:t.name,value:n.replace(on,"\r\n")}}).get()}}),v.param=function(e,n){var r,i=[],s=function(e,t){t=v.isFunction(t)?t():t==null?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};n===t&&(n=v.ajaxSettings&&v.ajaxSettings.traditional);if(v.isArray(e)||e.jquery&&!v.isPlainObject(e))v.each(e,function(){s(this.name,this.value)});else for(r in e)fn(r,e[r],n,s);return i.join("&").replace(rn,"+")};var ln,cn,hn=/#.*$/,pn=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,dn=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,vn=/^(?:GET|HEAD)$/,mn=/^\/\//,gn=/\?/,yn=/)<[^<]*)*<\/script>/gi,bn=/([?&])_=[^&]*/,wn=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,En=v.fn.load,Sn={},xn={},Tn=["*/"]+["*"];try{cn=s.href}catch(Nn){cn=i.createElement("a"),cn.href="",cn=cn.href}ln=wn.exec(cn.toLowerCase())||[],v.fn.load=function(e,n,r){if(typeof e!="string"&&En)return En.apply(this,arguments);if(!this.length)return this;var i,s,o,u=this,a=e.indexOf(" ");return a>=0&&(i=e.slice(a,e.length),e=e.slice(0,a)),v.isFunction(n)?(r=n,n=t):n&&typeof n=="object"&&(s="POST"),v.ajax({url:e,type:s,dataType:"html",data:n,complete:function(e,t){r&&u.each(r,o||[e.responseText,t,e])}}).done(function(e){o=arguments,u.html(i?v("
").append(e.replace(yn,"")).find(i):e)}),this},v.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,t){v.fn[t]=function(e){return this.on(t,e)}}),v.each(["get","post"],function(e,n){v[n]=function(e,r,i,s){return v.isFunction(r)&&(s=s||i,i=r,r=t),v.ajax({type:n,url:e,data:r,success:i,dataType:s})}}),v.extend({getScript:function(e,n){return v.get(e,t,n,"script")},getJSON:function(e,t,n){return v.get(e,t,n,"json")},ajaxSetup:function(e,t){return t?Ln(e,v.ajaxSettings):(t=e,e=v.ajaxSettings),Ln(e,t),e},ajaxSettings:{url:cn,isLocal:dn.test(ln[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":Tn},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":e.String,"text html":!0,"text json":v.parseJSON,"text xml":v.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:Cn(Sn),ajaxTransport:Cn(xn),ajax:function(e,n){function T(e,n,s,a){var l,y,b,w,S,T=n;if(E===2)return;E=2,u&&clearTimeout(u),o=t,i=a||"",x.readyState=e>0?4:0,s&&(w=An(c,x,s));if(e>=200&&e<300||e===304)c.ifModified&&(S=x.getResponseHeader("Last-Modified"),S&&(v.lastModified[r]=S),S=x.getResponseHeader("Etag"),S&&(v.etag[r]=S)),e===304?(T="notmodified",l=!0):(l=On(c,w),T=l.state,y=l.data,b=l.error,l=!b);else{b=T;if(!T||e)T="error",e<0&&(e=0)}x.status=e,x.statusText=(n||T)+"",l?d.resolveWith(h,[y,T,x]):d.rejectWith(h,[x,T,b]),x.statusCode(g),g=t,f&&p.trigger("ajax"+(l?"Success":"Error"),[x,c,l?y:b]),m.fireWith(h,[x,T]),f&&(p.trigger("ajaxComplete",[x,c]),--v.active||v.event.trigger("ajaxStop"))}typeof e=="object"&&(n=e,e=t),n=n||{};var r,i,s,o,u,a,f,l,c=v.ajaxSetup({},n),h=c.context||c,p=h!==c&&(h.nodeType||h instanceof v)?v(h):v.event,d=v.Deferred(),m=v.Callbacks("once memory"),g=c.statusCode||{},b={},w={},E=0,S="canceled",x={readyState:0,setRequestHeader:function(e,t){if(!E){var n=e.toLowerCase();e=w[n]=w[n]||e,b[e]=t}return this},getAllResponseHeaders:function(){return E===2?i:null},getResponseHeader:function(e){var n;if(E===2){if(!s){s={};while(n=pn.exec(i))s[n[1].toLowerCase()]=n[2]}n=s[e.toLowerCase()]}return n===t?null:n},overrideMimeType:function(e){return E||(c.mimeType=e),this},abort:function(e){return e=e||S,o&&o.abort(e),T(0,e),this}};d.promise(x),x.success=x.done,x.error=x.fail,x.complete=m.add,x.statusCode=function(e){if(e){var t;if(E<2)for(t in e)g[t]=[g[t],e[t]];else t=e[x.status],x.always(t)}return this},c.url=((e||c.url)+"").replace(hn,"").replace(mn,ln[1]+"//"),c.dataTypes=v.trim(c.dataType||"*").toLowerCase().split(y),c.crossDomain==null&&(a=wn.exec(c.url.toLowerCase()),c.crossDomain=!(!a||a[1]===ln[1]&&a[2]===ln[2]&&(a[3]||(a[1]==="http:"?80:443))==(ln[3]||(ln[1]==="http:"?80:443)))),c.data&&c.processData&&typeof c.data!="string"&&(c.data=v.param(c.data,c.traditional)),kn(Sn,c,n,x);if(E===2)return x;f=c.global,c.type=c.type.toUpperCase(),c.hasContent=!vn.test(c.type),f&&v.active++===0&&v.event.trigger("ajaxStart");if(!c.hasContent){c.data&&(c.url+=(gn.test(c.url)?"&":"?")+c.data,delete c.data),r=c.url;if(c.cache===!1){var N=v.now(),C=c.url.replace(bn,"$1_="+N);c.url=C+(C===c.url?(gn.test(c.url)?"&":"?")+"_="+N:"")}}(c.data&&c.hasContent&&c.contentType!==!1||n.contentType)&&x.setRequestHeader("Content-Type",c.contentType),c.ifModified&&(r=r||c.url,v.lastModified[r]&&x.setRequestHeader("If-Modified-Since",v.lastModified[r]),v.etag[r]&&x.setRequestHeader("If-None-Match",v.etag[r])),x.setRequestHeader("Accept",c.dataTypes[0]&&c.accepts[c.dataTypes[0]]?c.accepts[c.dataTypes[0]]+(c.dataTypes[0]!=="*"?", "+Tn+"; q=0.01":""):c.accepts["*"]);for(l in c.headers)x.setRequestHeader(l,c.headers[l]);if(!c.beforeSend||c.beforeSend.call(h,x,c)!==!1&&E!==2){S="abort";for(l in{success:1,error:1,complete:1})x[l](c[l]);o=kn(xn,c,n,x);if(!o)T(-1,"No Transport");else{x.readyState=1,f&&p.trigger("ajaxSend",[x,c]),c.async&&c.timeout>0&&(u=setTimeout(function(){x.abort("timeout")},c.timeout));try{E=1,o.send(b,T)}catch(k){if(!(E<2))throw k;T(-1,k)}}return x}return x.abort()},active:0,lastModified:{},etag:{}});var Mn=[],_n=/\?/,Dn=/(=)\?(?=&|$)|\?\?/,Pn=v.now();v.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Mn.pop()||v.expando+"_"+Pn++;return this[e]=!0,e}}),v.ajaxPrefilter("json jsonp",function(n,r,i){var s,o,u,a=n.data,f=n.url,l=n.jsonp!==!1,c=l&&Dn.test(f),h=l&&!c&&typeof a=="string"&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Dn.test(a);if(n.dataTypes[0]==="jsonp"||c||h)return s=n.jsonpCallback=v.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,o=e[s],c?n.url=f.replace(Dn,"$1"+s):h?n.data=a.replace(Dn,"$1"+s):l&&(n.url+=(_n.test(f)?"&":"?")+n.jsonp+"="+s),n.converters["script json"]=function(){return u||v.error(s+" was not called"),u[0]},n.dataTypes[0]="json",e[s]=function(){u=arguments},i.always(function(){e[s]=o,n[s]&&(n.jsonpCallback=r.jsonpCallback,Mn.push(s)),u&&v.isFunction(o)&&o(u[0]),u=o=t}),"script"}),v.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(e){return v.globalEval(e),e}}}),v.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),v.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=i.head||i.getElementsByTagName("head")[0]||i.documentElement;return{send:function(s,o){n=i.createElement("script"),n.async="async",e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,i){if(i||!n.readyState||/loaded|complete/.test(n.readyState))n.onload=n.onreadystatechange=null,r&&n.parentNode&&r.removeChild(n),n=t,i||o(200,"success")},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(0,1)}}}});var Hn,Bn=e.ActiveXObject?function(){for(var e in Hn)Hn[e](0,1)}:!1,jn=0;v.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&Fn()||In()}:Fn,function(e){v.extend(v.support,{ajax:!!e,cors:!!e&&"withCredentials"in e})}(v.ajaxSettings.xhr()),v.support.ajax&&v.ajaxTransport(function(n){if(!n.crossDomain||v.support.cors){var r;return{send:function(i,s){var o,u,a=n.xhr();n.username?a.open(n.type,n.url,n.async,n.username,n.password):a.open(n.type,n.url,n.async);if(n.xhrFields)for(u in n.xhrFields)a[u]=n.xhrFields[u];n.mimeType&&a.overrideMimeType&&a.overrideMimeType(n.mimeType),!n.crossDomain&&!i["X-Requested-With"]&&(i["X-Requested-With"]="XMLHttpRequest");try{for(u in i)a.setRequestHeader(u,i[u])}catch(f){}a.send(n.hasContent&&n.data||null),r=function(e,i){var u,f,l,c,h;try{if(r&&(i||a.readyState===4)){r=t,o&&(a.onreadystatechange=v.noop,Bn&&delete Hn[o]);if(i)a.readyState!==4&&a.abort();else{u=a.status,l=a.getAllResponseHeaders(),c={},h=a.responseXML,h&&h.documentElement&&(c.xml=h);try{c.text=a.responseText}catch(p){}try{f=a.statusText}catch(p){f=""}!u&&n.isLocal&&!n.crossDomain?u=c.text?200:404:u===1223&&(u=204)}}}catch(d){i||s(-1,d)}c&&s(u,f,c,l)},n.async?a.readyState===4?setTimeout(r,0):(o=++jn,Bn&&(Hn||(Hn={},v(e).unload(Bn)),Hn[o]=r),a.onreadystatechange=r):r()},abort:function(){r&&r(0,1)}}}});var qn,Rn,Un=/^(?:toggle|show|hide)$/,zn=new RegExp("^(?:([-+])=|)("+m+")([a-z%]*)$","i"),Wn=/queueHooks$/,Xn=[Gn],Vn={"*":[function(e,t){var n,r,i=this.createTween(e,t),s=zn.exec(t),o=i.cur(),u=+o||0,a=1,f=20;if(s){n=+s[2],r=s[3]||(v.cssNumber[e]?"":"px");if(r!=="px"&&u){u=v.css(i.elem,e,!0)||n||1;do a=a||".5",u/=a,v.style(i.elem,e,u+r);while(a!==(a=i.cur()/o)&&a!==1&&--f)}i.unit=r,i.start=u,i.end=s[1]?u+(s[1]+1)*n:n}return i}]};v.Animation=v.extend(Kn,{tweener:function(e,t){v.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;r-1,f={},l={},c,h;a?(l=i.position(),c=l.top,h=l.left):(c=parseFloat(o)||0,h=parseFloat(u)||0),v.isFunction(t)&&(t=t.call(e,n,s)),t.top!=null&&(f.top=t.top-s.top+c),t.left!=null&&(f.left=t.left-s.left+h),"using"in t?t.using.call(e,f):i.css(f)}},v.fn.extend({position:function(){if(!this[0])return;var e=this[0],t=this.offsetParent(),n=this.offset(),r=er.test(t[0].nodeName)?{top:0,left:0}:t.offset();return n.top-=parseFloat(v.css(e,"marginTop"))||0,n.left-=parseFloat(v.css(e,"marginLeft"))||0,r.top+=parseFloat(v.css(t[0],"borderTopWidth"))||0,r.left+=parseFloat(v.css(t[0],"borderLeftWidth"))||0,{top:n.top-r.top,left:n.left-r.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||i.body;while(e&&!er.test(e.nodeName)&&v.css(e,"position")==="static")e=e.offsetParent;return e||i.body})}}),v.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);v.fn[e]=function(i){return v.access(this,function(e,i,s){var o=tr(e);if(s===t)return o?n in o?o[n]:o.document.documentElement[i]:e[i];o?o.scrollTo(r?v(o).scrollLeft():s,r?s:v(o).scrollTop()):e[i]=s},e,i,arguments.length,null)}}),v.each({Height:"height",Width:"width"},function(e,n){v.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){v.fn[i]=function(i,s){var o=arguments.length&&(r||typeof i!="boolean"),u=r||(i===!0||s===!0?"margin":"border");return v.access(this,function(n,r,i){var s;return v.isWindow(n)?n.document.documentElement["client"+e]:n.nodeType===9?(s=n.documentElement,Math.max(n.body["scroll"+e],s["scroll"+e],n.body["offset"+e],s["offset"+e],s["client"+e])):i===t?v.css(n,r,i,u):v.style(n,r,i,u)},n,o?i:t,o,null)}})}),e.jQuery=e.$=v,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return v})})(window); -/* - * jQuery JSON Plugin - * version: 2.1 (2009-08-14) - * - * This document is licensed as free software under the terms of the - * MIT License: http://www.opensource.org/licenses/mit-license.php - * - * Brantley Harris wrote this plugin. It is based somewhat on the JSON.org - * website's http://www.json.org/json2.js, which proclaims: - * "NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.", a sentiment that - * I uphold. - * - * It is also influenced heavily by MochiKit's serializeJSON, which is - * copyrighted 2005 by Bob Ippolito. - */ - - -(function($) { - /** jQuery.toJSON( json-serializble ) - Converts the given argument into a JSON respresentation. - - If an object has a "toJSON" function, that will be used to get the representation. - Non-integer/string keys are skipped in the object, as are keys that point to a function. - - json-serializble: - The *thing* to be converted. - **/ - $.toJSON = function(o) - { - if (typeof(JSON) == 'object' && JSON.stringify) - return JSON.stringify(o); - - var type = typeof(o); - - if (o === null) - return "null"; - - if (type == "undefined") - return undefined; - - if (type == "number" || type == "boolean") - return o + ""; - - if (type == "string") - return $.quoteString(o); - - if (type == 'object') - { - if (typeof o.toJSON == "function") - return $.toJSON( o.toJSON() ); - - if (o.constructor === Date) - { - var month = o.getUTCMonth() + 1; - if (month < 10) month = '0' + month; - - var day = o.getUTCDate(); - if (day < 10) day = '0' + day; - - var year = o.getUTCFullYear(); - - var hours = o.getUTCHours(); - if (hours < 10) hours = '0' + hours; - - var minutes = o.getUTCMinutes(); - if (minutes < 10) minutes = '0' + minutes; - - var seconds = o.getUTCSeconds(); - if (seconds < 10) seconds = '0' + seconds; - - var milli = o.getUTCMilliseconds(); - if (milli < 100) milli = '0' + milli; - if (milli < 10) milli = '0' + milli; - - return '"' + year + '-' + month + '-' + day + 'T' + - hours + ':' + minutes + ':' + seconds + - '.' + milli + 'Z"'; - } - - if (o.constructor === Array) - { - var ret = []; - for (var i = 0; i < o.length; i++) - ret.push( $.toJSON(o[i]) || "null" ); - - return "[" + ret.join(",") + "]"; - } - - var pairs = []; - for (var k in o) { - var name; - var type = typeof k; - - if (type == "number") - name = '"' + k + '"'; - else if (type == "string") - name = $.quoteString(k); - else - continue; //skip non-string or number keys - - if (typeof o[k] == "function") - continue; //skip pairs where the value is a function. - - var val = $.toJSON(o[k]); - - pairs.push(name + ":" + val); - } - - return "{" + pairs.join(", ") + "}"; - } - }; - - /** jQuery.evalJSON(src) - Evaluates a given piece of json source. - **/ - $.evalJSON = function(src) - { - if (typeof(JSON) == 'object' && JSON.parse) - return JSON.parse(src); - return eval("(" + src + ")"); - }; - - /** jQuery.secureEvalJSON(src) - Evals JSON in a way that is *more* secure. - **/ - $.secureEvalJSON = function(src) - { - if (typeof(JSON) == 'object' && JSON.parse) - return JSON.parse(src); - - var filtered = src; - filtered = filtered.replace(/\\["\\\/bfnrtu]/g, '@'); - filtered = filtered.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']'); - filtered = filtered.replace(/(?:^|:|,)(?:\s*\[)+/g, ''); - - if (/^[\],:{}\s]*$/.test(filtered)) - return eval("(" + src + ")"); - else - throw new SyntaxError("Error parsing JSON, source is not valid."); - }; - - /** jQuery.quoteString(string) - Returns a string-repr of a string, escaping quotes intelligently. - Mostly a support function for toJSON. - - Examples: - >>> jQuery.quoteString("apple") - "apple" - - >>> jQuery.quoteString('"Where are we going?", she asked.') - "\"Where are we going?\", she asked." - **/ - $.quoteString = function(string) - { - if (string.match(_escapeable)) - { - return '"' + string.replace(_escapeable, function (a) - { - var c = _meta[a]; - if (typeof c === 'string') return c; - c = a.charCodeAt(); - return '\\u00' + Math.floor(c / 16).toString(16) + (c % 16).toString(16); - }) + '"'; - } - return '"' + string + '"'; - }; - - var _escapeable = /["\\\x00-\x1f\x7f-\x9f]/g; - - var _meta = { - '\b': '\\b', - '\t': '\\t', - '\n': '\\n', - '\f': '\\f', - '\r': '\\r', - '"' : '\\"', - '\\': '\\\\' - }; -})(jQuery); -/*! - * jQuery Tools v1.2.6 - The missing UI library for the Web - * - * tooltip/tooltip.js - * - * NO COPYRIGHTS OR LICENSES. DO WHAT YOU LIKE. - * - * http://flowplayer.org/tools/ - * - */ - -(function(a){a.tools=a.tools||{version:"v1.2.6"},a.tools.tooltip={conf:{effect:"toggle",fadeOutSpeed:"fast",predelay:0,delay:30,opacity:1,tip:0,fadeIE:!1,position:["top","center"],offset:[0,0],relative:!1,cancelDefault:!0,events:{def:"mouseenter,mouseleave",input:"focus,blur",widget:"focus mouseenter,blur mouseleave",tooltip:"mouseenter,mouseleave"},layout:"
",tipClass:"tooltip"},addEffect:function(a,c,d){b[a]=[c,d]}};var b={toggle:[function(a){var b=this.getConf(),c=this.getTip(),d=b.opacity;d<1&&c.css({opacity:d}),c.show(),a.call()},function(a){this.getTip().hide(),a.call()}],fade:[function(b){var c=this.getConf();!a.browser.msie||c.fadeIE?this.getTip().fadeTo(c.fadeInSpeed,c.opacity,b):(this.getTip().show(),b())},function(b){var c=this.getConf();!a.browser.msie||c.fadeIE?this.getTip().fadeOut(c.fadeOutSpeed,b):(this.getTip().hide(),b())}]};function c(b,c,d){var e=d.relative?b.position().top:b.offset().top,f=d.relative?b.position().left:b.offset().left,g=d.position[0];e-=c.outerHeight()-d.offset[0],f+=b.outerWidth()+d.offset[1],/iPad/i.test(navigator.userAgent)&&(e-=a(window).scrollTop());var h=c.outerHeight()+b.outerHeight();g=="center"&&(e+=h/2),g=="bottom"&&(e+=h),g=d.position[1];var i=c.outerWidth()+b.outerWidth();g=="center"&&(f-=i/2),g=="left"&&(f-=i);return{top:e,left:f}}function d(d,e){var f=this,g=d.add(f),h,i=0,j=0,k=d.attr("title"),l=d.attr("data-tooltip"),m=b[e.effect],n,o=d.is(":input"),p=o&&d.is(":checkbox, :radio, select, :button, :submit"),q=d.attr("type"),r=e.events[q]||e.events[o?p?"widget":"input":"def"];if(!m)throw"Nonexistent effect \""+e.effect+"\"";r=r.split(/,\s*/);if(r.length!=2)throw"Tooltip: bad events configuration for "+q;d.bind(r[0],function(a){clearTimeout(i),e.predelay?j=setTimeout(function(){f.show(a)},e.predelay):f.show(a)}).bind(r[1],function(a){clearTimeout(j),e.delay?i=setTimeout(function(){f.hide(a)},e.delay):f.hide(a)}),k&&e.cancelDefault&&(d.removeAttr("title"),d.data("title",k)),a.extend(f,{show:function(b){if(!h){l?h=a(l):e.tip?h=a(e.tip).eq(0):k?h=a(e.layout).addClass(e.tipClass).appendTo(document.body).hide().append(k):(h=d.next(),h.length||(h=d.parent().next()));if(!h.length)throw"Cannot find tooltip for "+d}if(f.isShown())return f;h.stop(!0,!0);var o=c(d,h,e);e.tip&&h.html(d.data("title")),b=a.Event(),b.type="onBeforeShow",g.trigger(b,[o]);if(b.isDefaultPrevented())return f;o=c(d,h,e),h.css({position:"absolute",top:o.top,left:o.left}),n=!0,m[0].call(f,function(){b.type="onShow",n="full",g.trigger(b)});var p=e.events.tooltip.split(/,\s*/);h.data("__set")||(h.unbind(p[0]).bind(p[0],function(){clearTimeout(i),clearTimeout(j)}),p[1]&&!d.is("input:not(:checkbox, :radio), textarea")&&h.unbind(p[1]).bind(p[1],function(a){a.relatedTarget!=d[0]&&d.trigger(r[1].split(" ")[0])}),e.tip||h.data("__set",!0));return f},hide:function(c){if(!h||!f.isShown())return f;c=a.Event(),c.type="onBeforeHide",g.trigger(c);if(!c.isDefaultPrevented()){n=!1,b[e.effect][1].call(f,function(){c.type="onHide",g.trigger(c)});return f}},isShown:function(a){return a?n=="full":n},getConf:function(){return e},getTip:function(){return h},getTrigger:function(){return d}}),a.each("onHide,onBeforeShow,onShow,onBeforeHide".split(","),function(b,c){a.isFunction(e[c])&&a(f).bind(c,e[c]),f[c]=function(b){b&&a(f).bind(c,b);return f}})}a.fn.tooltip=function(b){var c=this.data("tooltip");if(c)return c;b=a.extend(!0,{},a.tools.tooltip.conf,b),typeof b.position=="string"&&(b.position=b.position.split(/,?\s/)),this.each(function(){c=new d(a(this),b),a(this).data("tooltip",c)});return b.api?c:this}})(jQuery); -// For IE8 compatability, sigh -if (!Array.prototype.map) Array.prototype.map = function(callback, that) { - var i = -1, n = this.length, map = new Array(n); - while (++i < n) { - if (i in this) { - map[i] = callback.call(that, this[i], i, this); - } - } - return map; -}; -// ┌────────────────────────────────────────────────────────────────────┐ \\ -// │ Raphaël 2.1.0 - JavaScript Vector Library │ \\ -// ├────────────────────────────────────────────────────────────────────┤ \\ -// │ Copyright © 2008-2012 Dmitry Baranovskiy (http://raphaeljs.com) │ \\ -// │ Copyright © 2008-2012 Sencha Labs (http://sencha.com) │ \\ -// ├────────────────────────────────────────────────────────────────────┤ \\ -// │ Licensed under the MIT (http://raphaeljs.com/license.html) license.│ \\ -// └────────────────────────────────────────────────────────────────────┘ \\ - -(function(a){var b="0.3.4",c="hasOwnProperty",d=/[\.\/]/,e="*",f=function(){},g=function(a,b){return a-b},h,i,j={n:{}},k=function(a,b){var c=j,d=i,e=Array.prototype.slice.call(arguments,2),f=k.listeners(a),l=0,m=!1,n,o=[],p={},q=[],r=h,s=[];h=a,i=0;for(var t=0,u=f.length;tf*b.top){e=b.percents[y],p=b.percents[y-1]||0,t=t/b.top*(e-p),o=b.percents[y+1],j=b.anim[e];break}f&&d.attr(b.anim[b.percents[y]])}if(!!j){if(!k){for(var A in j)if(j[g](A))if(U[g](A)||d.paper.customAttributes[g](A)){u[A]=d.attr(A),u[A]==null&&(u[A]=T[A]),v[A]=j[A];switch(U[A]){case C:w[A]=(v[A]-u[A])/t;break;case"colour":u[A]=a.getRGB(u[A]);var B=a.getRGB(v[A]);w[A]={r:(B.r-u[A].r)/t,g:(B.g-u[A].g)/t,b:(B.b-u[A].b)/t};break;case"path":var D=bR(u[A],v[A]),E=D[1];u[A]=D[0],w[A]=[];for(y=0,z=u[A].length;yd)return d;while(cf?c=e:d=e,e=(d-c)/2+c}return e}function n(a,b){var c=o(a,b);return((l*c+k)*c+j)*c}function m(a){return((i*a+h)*a+g)*a}var g=3*b,h=3*(d-b)-g,i=1-g-h,j=3*c,k=3*(e-c)-j,l=1-j-k;return n(a,1/(200*f))}function cq(){return this.x+q+this.y+q+this.width+" × "+this.height}function cp(){return this.x+q+this.y}function cb(a,b,c,d,e,f){a!=null?(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 bH(b,c,d){b=a._path2curve(b),c=a._path2curve(c);var e,f,g,h,i,j,k,l,m,n,o=d?0:[];for(var p=0,q=b.length;p=0&&y<=1&&A>=0&&A<=1&&(d?n++:n.push({x:x.x,y:x.y,t1:y,t2:A}))}}return n}function bF(a,b){return bG(a,b,1)}function bE(a,b){return bG(a,b)}function bD(a,b,c,d,e,f,g,h){if(!(x(a,c)x(e,g)||x(b,d)x(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)return;var l=i/k,m=j/k,n=+l.toFixed(2),o=+m.toFixed(2);if(n<+y(a,c).toFixed(2)||n>+x(a,c).toFixed(2)||n<+y(e,g).toFixed(2)||n>+x(e,g).toFixed(2)||o<+y(b,d).toFixed(2)||o>+x(b,d).toFixed(2)||o<+y(f,h).toFixed(2)||o>+x(f,h).toFixed(2))return;return{x:l,y:m}}}function bC(a,b,c,d,e,f,g,h,i){if(!(i<0||bB(a,b,c,d,e,f,g,h)n)k/=2,l+=(m1?1:i<0?0:i;var j=i/2,k=12,l=[-0.1252,.1252,-0.3678,.3678,-0.5873,.5873,-0.7699,.7699,-0.9041,.9041,-0.9816,.9816],m=[.2491,.2491,.2335,.2335,.2032,.2032,.1601,.1601,.1069,.1069,.0472,.0472],n=0;for(var o=0;od;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 bx(){return this.hex}function bv(a,b,c){function d(){var e=Array.prototype.slice.call(arguments,0),f=e.join("␀"),h=d.cache=d.cache||{},i=d.count=d.count||[];if(h[g](f)){bu(i,f);return c?c(h[f]):h[f]}i.length>=1e3&&delete h[i.shift()],i.push(f),h[f]=a[m](b,e);return c?c(h[f]):h[f]}return d}function bu(a,b){for(var c=0,d=a.length;c',bl=bk.firstChild,bl.style.behavior="url(#default#VML)";if(!bl||typeof bl.adj!="object")return a.type=p;bk=null}a.svg=!(a.vml=a.type=="VML"),a._Paper=j,a.fn=k=j.prototype=a.prototype,a._id=0,a._oid=0,a.is=function(a,b){b=v.call(b);if(b=="finite")return!M[g](+a);if(b=="array")return a instanceof Array;return b=="null"&&a===null||b==typeof a&&a!==null||b=="object"&&a===Object(a)||b=="array"&&Array.isArray&&Array.isArray(a)||H.call(a).slice(8,-1).toLowerCase()==b},a.angle=function(b,c,d,e,f,g){if(f==null){var h=b-d,i=c-e;if(!h&&!i)return 0;return(180+w.atan2(-i,-h)*180/B+360)%360}return a.angle(b,c,f,g)-a.angle(d,e,f,g)},a.rad=function(a){return a%360*B/180},a.deg=function(a){return a*180/B%360},a.snapTo=function(b,c,d){d=a.is(d,"finite")?d:10;if(a.is(b,E)){var e=b.length;while(e--)if(z(b[e]-c)<=d)return b[e]}else{b=+b;var f=c%b;if(fb-d)return c-f+b}return c};var bn=a.createUUID=function(a,b){return function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(a,b).toUpperCase()}}(/[xy]/g,function(a){var b=w.random()*16|0,c=a=="x"?b:b&3|8;return c.toString(16)});a.setWindow=function(b){eve("raphael.setWindow",a,h.win,b),h.win=b,h.doc=h.win.document,a._engine.initWin&&a._engine.initWin(h.win)};var bo=function(b){if(a.vml){var c=/^\s+|\s+$/g,d;try{var e=new ActiveXObject("htmlfile");e.write(""),e.close(),d=e.body}catch(f){d=createPopup().document.body}var g=d.createTextRange();bo=bv(function(a){try{d.style.color=r(a).replace(c,p);var b=g.queryCommandValue("ForeColor");b=(b&255)<<16|b&65280|(b&16711680)>>>16;return"#"+("000000"+b.toString(16)).slice(-6)}catch(e){return"none"}})}else{var i=h.doc.createElement("i");i.title="Raphaël Colour Picker",i.style.display="none",h.doc.body.appendChild(i),bo=bv(function(a){i.style.color=a;return h.doc.defaultView.getComputedStyle(i,p).getPropertyValue("color")})}return bo(b)},bp=function(){return"hsb("+[this.h,this.s,this.b]+")"},bq=function(){return"hsl("+[this.h,this.s,this.l]+")"},br=function(){return this.hex},bs=function(b,c,d){c==null&&a.is(b,"object")&&"r"in b&&"g"in b&&"b"in b&&(d=b.b,c=b.g,b=b.r);if(c==null&&a.is(b,D)){var e=a.getRGB(b);b=e.r,c=e.g,d=e.b}if(b>1||c>1||d>1)b/=255,c/=255,d/=255;return[b,c,d]},bt=function(b,c,d,e){b*=255,c*=255,d*=255;var f={r:b,g:c,b:d,hex:a.rgb(b,c,d),toString:br};a.is(e,"finite")&&(f.opacity=e);return f};a.color=function(b){var c;a.is(b,"object")&&"h"in b&&"s"in b&&"b"in b?(c=a.hsb2rgb(b),b.r=c.r,b.g=c.g,b.b=c.b,b.hex=c.hex):a.is(b,"object")&&"h"in b&&"s"in b&&"l"in b?(c=a.hsl2rgb(b),b.r=c.r,b.g=c.g,b.b=c.b,b.hex=c.hex):(a.is(b,"string")&&(b=a.getRGB(b)),a.is(b,"object")&&"r"in b&&"g"in b&&"b"in b?(c=a.rgb2hsl(b),b.h=c.h,b.s=c.s,b.l=c.l,c=a.rgb2hsb(b),b.v=c.b):(b={hex:"none"},b.r=b.g=b.b=b.h=b.s=b.v=b.l=-1)),b.toString=br;return b},a.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,a=a.h,d=a.o),a*=360;var e,f,g,h,i;a=a%360/60,i=c*b,h=i*(1-z(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];return bt(e,f,g,d)},a.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);if(a>1||b>1||c>1)a/=360,b/=100,c/=100;a*=360;var e,f,g,h,i;a=a%360/60,i=2*b*(c<.5?c:1-c),h=i*(1-z(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];return bt(e,f,g,d)},a.rgb2hsb=function(a,b,c){c=bs(a,b,c),a=c[0],b=c[1],c=c[2];var d,e,f,g;f=x(a,b,c),g=f-y(a,b,c),d=g==0?null:f==a?(b-c)/g:f==b?(c-a)/g+2:(a-b)/g+4,d=(d+360)%6*60/360,e=g==0?0:g/f;return{h:d,s:e,b:f,toString:bp}},a.rgb2hsl=function(a,b,c){c=bs(a,b,c),a=c[0],b=c[1],c=c[2];var d,e,f,g,h,i;g=x(a,b,c),h=y(a,b,c),i=g-h,d=i==0?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=i==0?0:f<.5?i/(2*f):i/(2-2*f);return{h:d,s:e,l:f,toString:bq}},a._path2string=function(){return this.join(",").replace(Y,"$1")};var bw=a._preload=function(a,b){var c=h.doc.createElement("img");c.style.cssText="position:absolute;left:-9999em;top:-9999em",c.onload=function(){b.call(this),this.onload=null,h.doc.body.removeChild(this)},c.onerror=function(){h.doc.body.removeChild(this)},h.doc.body.appendChild(c),c.src=a};a.getRGB=bv(function(b){if(!b||!!((b=r(b)).indexOf("-")+1))return{r:-1,g:-1,b:-1,hex:"none",error:1,toString:bx};if(b=="none")return{r:-1,g:-1,b:-1,hex:"none",toString:bx};!X[g](b.toLowerCase().substring(0,2))&&b.charAt()!="#"&&(b=bo(b));var c,d,e,f,h,i,j,k=b.match(L);if(k){k[2]&&(f=R(k[2].substring(5),16),e=R(k[2].substring(3,5),16),d=R(k[2].substring(1,3),16)),k[3]&&(f=R((i=k[3].charAt(3))+i,16),e=R((i=k[3].charAt(2))+i,16),d=R((i=k[3].charAt(1))+i,16)),k[4]&&(j=k[4][s](W),d=Q(j[0]),j[0].slice(-1)=="%"&&(d*=2.55),e=Q(j[1]),j[1].slice(-1)=="%"&&(e*=2.55),f=Q(j[2]),j[2].slice(-1)=="%"&&(f*=2.55),k[1].toLowerCase().slice(0,4)=="rgba"&&(h=Q(j[3])),j[3]&&j[3].slice(-1)=="%"&&(h/=100));if(k[5]){j=k[5][s](W),d=Q(j[0]),j[0].slice(-1)=="%"&&(d*=2.55),e=Q(j[1]),j[1].slice(-1)=="%"&&(e*=2.55),f=Q(j[2]),j[2].slice(-1)=="%"&&(f*=2.55),(j[0].slice(-3)=="deg"||j[0].slice(-1)=="°")&&(d/=360),k[1].toLowerCase().slice(0,4)=="hsba"&&(h=Q(j[3])),j[3]&&j[3].slice(-1)=="%"&&(h/=100);return a.hsb2rgb(d,e,f,h)}if(k[6]){j=k[6][s](W),d=Q(j[0]),j[0].slice(-1)=="%"&&(d*=2.55),e=Q(j[1]),j[1].slice(-1)=="%"&&(e*=2.55),f=Q(j[2]),j[2].slice(-1)=="%"&&(f*=2.55),(j[0].slice(-3)=="deg"||j[0].slice(-1)=="°")&&(d/=360),k[1].toLowerCase().slice(0,4)=="hsla"&&(h=Q(j[3])),j[3]&&j[3].slice(-1)=="%"&&(h/=100);return a.hsl2rgb(d,e,f,h)}k={r:d,g:e,b:f,toString:bx},k.hex="#"+(16777216|f|e<<8|d<<16).toString(16).slice(1),a.is(h,"finite")&&(k.opacity=h);return k}return{r:-1,g:-1,b:-1,hex:"none",error:1,toString:bx}},a),a.hsb=bv(function(b,c,d){return a.hsb2rgb(b,c,d).hex}),a.hsl=bv(function(b,c,d){return a.hsl2rgb(b,c,d).hex}),a.rgb=bv(function(a,b,c){return"#"+(16777216|c|b<<8|a<<16).toString(16).slice(1)}),a.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);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}));return c.hex},a.getColor.reset=function(){delete this.start},a.parsePathString=function(b){if(!b)return null;var c=bz(b);if(c.arr)return bJ(c.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=[];a.is(b,E)&&a.is(b[0],E)&&(e=bJ(b)),e.length||r(b).replace(Z,function(a,b,c){var f=[],g=b.toLowerCase();c.replace(_,function(a,b){b&&f.push(+b)}),g=="m"&&f.length>2&&(e.push([b][n](f.splice(0,2))),g="l",b=b=="m"?"l":"L");if(g=="r")e.push([b][n](f));else while(f.length>=d[g]){e.push([b][n](f.splice(0,d[g])));if(!d[g])break}}),e.toString=a._path2string,c.arr=bJ(e);return e},a.parseTransformString=bv(function(b){if(!b)return null;var c={r:3,s:4,t:2,m:6},d=[];a.is(b,E)&&a.is(b[0],E)&&(d=bJ(b)),d.length||r(b).replace($,function(a,b,c){var e=[],f=v.call(b);c.replace(_,function(a,b){b&&e.push(+b)}),d.push([b][n](e))}),d.toString=a._path2string;return d});var bz=function(a){var b=bz.ps=bz.ps||{};b[a]?b[a].sleep=100:b[a]={sleep:100},setTimeout(function(){for(var c in b)b[g](c)&&c!=a&&(b[c].sleep--,!b[c].sleep&&delete b[c])});return b[a]};a.findDotsAtSegment=function(a,b,c,d,e,f,g,h,i){var j=1-i,k=A(j,3),l=A(j,2),m=i*i,n=m*i,o=k*a+l*3*i*c+j*3*i*i*e+n*g,p=k*b+l*3*i*d+j*3*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,x=j*e+i*g,y=j*f+i*h,z=90-w.atan2(q-s,r-t)*180/B;(q>s||r=a.x&&b<=a.x2&&c>=a.y&&c<=a.y2},a.isBBoxIntersect=function(b,c){var d=a.isPointInsideBBox;return d(c,b.x,b.y)||d(c,b.x2,b.y)||d(c,b.x,b.y2)||d(c,b.x2,b.y2)||d(b,c.x,c.y)||d(b,c.x2,c.y)||d(b,c.x,c.y2)||d(b,c.x2,c.y2)||(b.xc.x||c.xb.x)&&(b.yc.y||c.yb.y)},a.pathIntersection=function(a,b){return bH(a,b)},a.pathIntersectionNumber=function(a,b){return bH(a,b,1)},a.isPointInsidePath=function(b,c,d){var e=a.pathBBox(b);return a.isPointInsideBBox(e,c,d)&&bH(b,[["M",c,d],["H",e.x2+10]],1)%2==1},a._removedFactory=function(a){return function(){eve("raphael.log",null,"Raphaël: you are calling to method “"+a+"” of removed object",a)}};var bI=a.pathBBox=function(a){var b=bz(a);if(b.bbox)return b.bbox;if(!a)return{x:0,y:0,width:0,height:0,x2:0,y2:0};a=bR(a);var c=0,d=0,e=[],f=[],g;for(var h=0,i=a.length;h1&&(v=w.sqrt(v),c=v*c,d=v*d);var x=c*c,y=d*d,A=(f==g?-1:1)*w.sqrt(z((x*y-x*u*u-y*t*t)/(x*u*u+y*t*t))),C=A*c*u/d+(a+h)/2,D=A*-d*t/c+(b+i)/2,E=w.asin(((b-D)/d).toFixed(9)),F=w.asin(((i-D)/d).toFixed(9));E=aF&&(E=E-B*2),!g&&F>E&&(F=F-B*2)}else E=j[0],F=j[1],C=j[2],D=j[3];var G=F-E;if(z(G)>k){var H=F,I=h,J=i;F=E+k*(g&&F>E?1:-1),h=C+c*w.cos(F),i=D+d*w.sin(F),m=bO(h,i,c,d,e,0,g,I,J,[F,H,C,D])}G=F-E;var K=w.cos(E),L=w.sin(E),M=w.cos(F),N=w.sin(F),O=w.tan(G/4),P=4/3*c*O,Q=4/3*d*O,R=[a,b],S=[a+P*L,b-Q*K],T=[h+P*N,i-Q*M],U=[h,i];S[0]=2*R[0]-S[0],S[1]=2*R[1]-S[1];if(j)return[S,T,U][n](m);m=[S,T,U][n](m).join()[s](",");var V=[];for(var W=0,X=m.length;W"1e12"&&(l=.5),z(n)>"1e12"&&(n=.5),l>0&&l<1&&(q=bP(a,b,c,d,e,f,g,h,l),p.push(q.x),o.push(q.y)),n>0&&n<1&&(q=bP(a,b,c,d,e,f,g,h,n),p.push(q.x),o.push(q.y)),i=f-2*d+b-(h-2*f+d),j=2*(d-b)-2*(f-d),k=b-d,l=(-j+w.sqrt(j*j-4*i*k))/2/i,n=(-j-w.sqrt(j*j-4*i*k))/2/i,z(l)>"1e12"&&(l=.5),z(n)>"1e12"&&(n=.5),l>0&&l<1&&(q=bP(a,b,c,d,e,f,g,h,l),p.push(q.x),o.push(q.y)),n>0&&n<1&&(q=bP(a,b,c,d,e,f,g,h,n),p.push(q.x),o.push(q.y));return{min:{x:y[m](0,p),y:y[m](0,o)},max:{x:x[m](0,p),y:x[m](0,o)}}}),bR=a._path2curve=bv(function(a,b){var c=!b&&bz(a);if(!b&&c.curve)return bJ(c.curve);var d=bL(a),e=b&&bL(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){var c,d;if(!a)return["C",b.x,b.y,b.x,b.y,b.x,b.y];!(a[0]in{T:1,Q:1})&&(b.qx=b.qy=null);switch(a[0]){case"M":b.X=a[1],b.Y=a[2];break;case"A":a=["C"][n](bO[m](0,[b.x,b.y][n](a.slice(1))));break;case"S":c=b.x+(b.x-(b.bx||b.x)),d=b.y+(b.y-(b.by||b.y)),a=["C",c,d][n](a.slice(1));break;case"T":b.qx=b.x+(b.x-(b.qx||b.x)),b.qy=b.y+(b.y-(b.qy||b.y)),a=["C"][n](bN(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"][n](bN(b.x,b.y,a[1],a[2],a[3],a[4]));break;case"L":a=["C"][n](bM(b.x,b.y,a[1],a[2]));break;case"H":a=["C"][n](bM(b.x,b.y,a[1],b.y));break;case"V":a=["C"][n](bM(b.x,b.y,b.x,a[1]));break;case"Z":a=["C"][n](bM(b.x,b.y,b.X,b.Y))}return a},i=function(a,b){if(a[b].length>7){a[b].shift();var c=a[b];while(c.length)a.splice(b++,0,["C"][n](c.splice(0,6)));a.splice(b,1),l=x(d.length,e&&e.length||0)}},j=function(a,b,c,f,g){a&&b&&a[g][0]=="M"&&b[g][0]!="M"&&(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],l=x(d.length,e&&e.length||0))};for(var k=0,l=x(d.length,e&&e.length||0);ke){if(c&&!l.start){m=cs(g,h,i[1],i[2],i[3],i[4],i[5],i[6],e-n),k+=["C"+m.start.x,m.start.y,m.m.x,m.m.y,m.x,m.y];if(f)return k;l.start=k,k=["M"+m.x,m.y+"C"+m.n.x,m.n.y,m.end.x,m.end.y,i[5],i[6]].join(),n+=j,g=+i[5],h=+i[6];continue}if(!b&&!c){m=cs(g,h,i[1],i[2],i[3],i[4],i[5],i[6],e-n);return{x:m.x,y:m.y,alpha:m.alpha}}}n+=j,g=+i[5],h=+i[6]}k+=i.shift()+i}l.end=k,m=b?n:c?l:a.findDotsAtSegment(g,h,i[0],i[1],i[2],i[3],i[4],i[5],1),m.alpha&&(m={x:m.x,y:m.y,alpha:m.alpha});return m}},cu=ct(1),cv=ct(),cw=ct(0,1);a.getTotalLength=cu,a.getPointAtLength=cv,a.getSubpath=function(a,b,c){if(this.getTotalLength(a)-c<1e-6)return cw(a,b).end;var d=cw(a,c,1);return b?cw(d,b).end:d},cl.getTotalLength=function(){if(this.type=="path"){if(this.node.getTotalLength)return this.node.getTotalLength();return cu(this.attrs.path)}},cl.getPointAtLength=function(a){if(this.type=="path")return cv(this.attrs.path,a)},cl.getSubpath=function(b,c){if(this.type=="path")return a.getSubpath(this.attrs.path,b,c)};var cx=a.easing_formulas={linear:function(a){return a},"<":function(a){return A(a,1.7)},">":function(a){return A(a,.48)},"<>":function(a){var b=.48-a/1.04,c=w.sqrt(.1734+b*b),d=c-b,e=A(z(d),1/3)*(d<0?-1:1),f=-c-b,g=A(z(f),1/3)*(f<0?-1:1),h=e+g+.5;return(1-h)*3*h*h+h*h*h},backIn:function(a){var b=1.70158;return a*a*((b+1)*a-b)},backOut:function(a){a=a-1;var b=1.70158;return a*a*((b+1)*a+b)+1},elastic:function(a){if(a==!!a)return a;return A(2,-10*a)*w.sin((a-.075)*2*B/.3)+1},bounce:function(a){var b=7.5625,c=2.75,d;a<1/c?d=b*a*a:a<2/c?(a-=1.5/c,d=b*a*a+.75):a<2.5/c?(a-=2.25/c,d=b*a*a+.9375):(a-=2.625/c,d=b*a*a+.984375);return d}};cx.easeIn=cx["ease-in"]=cx["<"],cx.easeOut=cx["ease-out"]=cx[">"],cx.easeInOut=cx["ease-in-out"]=cx["<>"],cx["back-in"]=cx.backIn,cx["back-out"]=cx.backOut;var cy=[],cz=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(a){setTimeout(a,16)},cA=function(){var b=+(new Date),c=0;for(;c1&&!d.next){for(s in k)k[g](s)&&(r[s]=d.totalOrigin[s]);d.el.attr(r),cE(d.anim,d.el,d.anim.percents[0],null,d.totalOrigin,d.repeat-1)}d.next&&!d.stop&&cE(d.anim,d.el,d.next,null,d.totalOrigin,d.repeat)}}a.svg&&m&&m.paper&&m.paper.safari(),cy.length&&cz(cA)},cB=function(a){return a>255?255:a<0?0:a};cl.animateWith=function(b,c,d,e,f,g){var h=this;if(h.removed){g&&g.call(h);return h}var i=d instanceof cD?d:a.animation(d,e,f,g),j,k;cE(i,h,i.percents[0],null,h.attr());for(var l=0,m=cy.length;l.5)*2-1;i(m-.5,2)+i(n-.5,2)>.25&&(n=f.sqrt(.25-i(m-.5,2))*e+.5)&&n!=.5&&(n=n.toFixed(5)-1e-5*e)}return l}),e=e.split(/\s*\-\s*/);if(j=="linear"){var t=e.shift();t=-d(t);if(isNaN(t))return null;var u=[0,0,f.cos(a.rad(t)),f.sin(a.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=a._parseDots(e);if(!w)return null;k=k.replace(/[\(\)\s,\xb0#]/g,"_"),b.gradient&&k!=b.gradient.id&&(p.defs.removeChild(b.gradient),delete b.gradient);if(!b.gradient){s=q(j+"Gradient",{id:k}),b.gradient=s,q(s,j=="radial"?{fx:m,fy:n}:{x1:u[0],y1:u[1],x2:u[2],y2:u[3],gradientTransform:b.matrix.invert()}),p.defs.appendChild(s);for(var x=0,y=w.length;x1?G.opacity/100:G.opacity});case"stroke":G=a.getRGB(p),i.setAttribute(o,G.hex),o=="stroke"&&G[b]("opacity")&&q(i,{"stroke-opacity":G.opacity>1?G.opacity/100:G.opacity}),o=="stroke"&&d._.arrows&&("startString"in d._.arrows&&t(d,d._.arrows.startString),"endString"in d._.arrows&&t(d,d._.arrows.endString,1));break;case"gradient":(d.type=="circle"||d.type=="ellipse"||c(p).charAt()!="r")&&r(d,p);break;case"opacity":k.gradient&&!k[b]("stroke-opacity")&&q(i,{"stroke-opacity":p>1?p/100:p});case"fill-opacity":if(k.gradient){H=a._g.doc.getElementById(i.getAttribute("fill").replace(/^url\(#|\)$/g,l)),H&&(I=H.getElementsByTagName("stop"),q(I[I.length-1],{"stop-opacity":p}));break};default:o=="font-size"&&(p=e(p,10)+"px");var J=o.replace(/(\-.)/g,function(a){return a.substring(1).toUpperCase()});i.style[J]=p,d._.dirty=1,i.setAttribute(o,p)}}y(d,f),i.style.visibility=m},x=1.2,y=function(d,f){if(d.type=="text"&&!!(f[b]("text")||f[b]("font")||f[b]("font-size")||f[b]("x")||f[b]("y"))){var g=d.attrs,h=d.node,i=h.firstChild?e(a._g.doc.defaultView.getComputedStyle(h.firstChild,l).getPropertyValue("font-size"),10):10;if(f[b]("text")){g.text=f.text;while(h.firstChild)h.removeChild(h.firstChild);var j=c(f.text).split("\n"),k=[],m;for(var n=0,o=j.length;n"));var $=X.getBoundingClientRect();t.W=m.w=($.right-$.left)/Y,t.H=m.h=($.bottom-$.top)/Y,t.X=m.x,t.Y=m.y+t.H/2,("x"in i||"y"in i)&&(t.path.v=a.format("m{0},{1}l{2},{1}",f(m.x*u),f(m.y*u),f(m.x*u)+1));var _=["x","y","text","font","font-family","font-weight","font-style","font-size"];for(var ba=0,bb=_.length;ba.25&&(c=e.sqrt(.25-i(b-.5,2))*((c>.5)*2-1)+.5),m=b+n+c);return o}),f=f.split(/\s*\-\s*/);if(l=="linear"){var p=f.shift();p=-d(p);if(isNaN(p))return null}var q=a._parseDots(f);if(!q)return null;b=b.shape||b.node;if(q.length){b.removeChild(g),g.on=!0,g.method="none",g.color=q[0].color,g.color2=q[q.length-1].color;var r=[];for(var s=0,t=q.length;s')}}catch(c){F=function(a){return b.createElement("<"+a+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">')}}},a._engine.initWin(a._g.win),a._engine.create=function(){var b=a._getContainer.apply(0,arguments),c=b.container,d=b.height,e,f=b.width,g=b.x,h=b.y;if(!c)throw new Error("VML container not found.");var i=new a._Paper,j=i.canvas=a._g.doc.createElement("div"),k=j.style;g=g||0,h=h||0,f=f||512,d=d||342,i.width=f,i.height=d,f==+f&&(f+="px"),d==+d&&(d+="px"),i.coordsize=u*1e3+n+u*1e3,i.coordorigin="0 0",i.span=a._g.doc.createElement("span"),i.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;",j.appendChild(i.span),k.cssText=a.format("top:0;left:0;width:{0};height:{1};display:inline-block;position:relative;clip:rect(0 {0} {1} 0);overflow:hidden",f,d),c==1?(a._g.doc.body.appendChild(j),k.left=g+"px",k.top=h+"px",k.position="absolute"):c.firstChild?c.insertBefore(j,c.firstChild):c.appendChild(j),i.renderfix=function(){};return i},a.prototype.clear=function(){a.eve("raphael.clear",this),this.canvas.innerHTML=o,this.span=a._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},a.prototype.remove=function(){a.eve("raphael.remove",this),this.canvas.parentNode.removeChild(this.canvas);for(var b in this)this[b]=typeof this[b]=="function"?a._removedFactory(b):null;return!0};var G=a.st;for(var H in E)E[b](H)&&!G[b](H)&&(G[H]=function(a){return function(){var b=arguments;return this.forEach(function(c){c[a].apply(c,b)})}}(H))}(window.Raphael) -; -d3=function(){function n(n){return null!=n&&!isNaN(n)}function t(n){return n.length}function e(n){for(var t=1;n*t%1;)t*=10;return t}function r(n,t){try{for(var e in t)Object.defineProperty(n.prototype,e,{value:t[e],enumerable:!1})}catch(r){n.prototype=t}}function u(){}function i(){}function o(n,t,e){return function(){var r=e.apply(t,arguments);return r===t?n:r}}function a(n,t){if(t in n)return t;t=t.charAt(0).toUpperCase()+t.substring(1);for(var e=0,r=Do.length;r>e;++e){var u=Do[e]+t;if(u in n)return u}}function c(){}function l(){}function s(n){function t(){for(var t,r=e,u=-1,i=r.length;++ue;e++)for(var u,i=n[e],o=0,a=i.length;a>o;o++)(u=i[o])&&t(u,o,e);return n}function T(n){return Lo(n,Io),n}function q(n){var t,e;return function(r,u,i){var o,a=n[i].update,c=a.length;for(i!=e&&(e=i,t=0),u>=t&&(t=u+1);!(o=a[t])&&++t0&&(n=n.substring(0,a));var s=Zo.get(n);return s&&(n=s,l=j),a?t?u:r:t?c:i}function D(n,t){return function(e){var r=mo.event;mo.event=e,t[0]=this.__data__;try{n.apply(this,t)}finally{mo.event=r}}}function j(n,t){var e=D(n,t);return function(n){var t=this,r=n.relatedTarget;r&&(r===t||8&r.compareDocumentPosition(t))||e.call(t,n)}}function L(){var n=".dragsuppress-"+ ++Xo,t="touchmove"+n,e="selectstart"+n,r="dragstart"+n,u="click"+n,i=mo.select(_o).on(t,f).on(e,f).on(r,f),o=bo.style,a=o[Vo];return o[Vo]="none",function(t){function e(){i.on(u,null)}i.on(n,null),o[Vo]=a,t&&(i.on(u,function(){f(),e()},!0),setTimeout(e,0))}}function H(n,t){t.changedTouches&&(t=t.changedTouches[0]);var e=n.ownerSVGElement||n;if(e.createSVGPoint){var r=e.createSVGPoint();if(0>$o&&(_o.scrollX||_o.scrollY)){e=mo.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var u=e[0][0].getScreenCTM();$o=!(u.f||u.e),e.remove()}return $o?(r.x=t.pageX,r.y=t.pageY):(r.x=t.clientX,r.y=t.clientY),r=r.matrixTransform(n.getScreenCTM().inverse()),[r.x,r.y]}var i=n.getBoundingClientRect();return[t.clientX-i.left-n.clientLeft,t.clientY-i.top-n.clientTop]}function F(n){return n>0?1:0>n?-1:0}function P(n){return n>1?0:-1>n?Bo:Math.acos(n)}function O(n){return n>1?Jo:-1>n?-Jo:Math.asin(n)}function R(n){return((n=Math.exp(n))-1/n)/2}function Y(n){return((n=Math.exp(n))+1/n)/2}function I(n){return((n=Math.exp(2*n))-1)/(n+1)}function U(n){return(n=Math.sin(n/2))*n}function Z(){}function V(n,t,e){return new X(n,t,e)}function X(n,t,e){this.h=n,this.s=t,this.l=e}function $(n,t,e){function r(n){return n>360?n-=360:0>n&&(n+=360),60>n?i+(o-i)*n/60:180>n?o:240>n?i+(o-i)*(240-n)/60:i}function u(n){return Math.round(255*r(n))}var i,o;return n=isNaN(n)?0:(n%=360)<0?n+360:n,t=isNaN(t)?0:0>t?0:t>1?1:t,e=0>e?0:e>1?1:e,o=.5>=e?e*(1+t):e+t-e*t,i=2*e-o,ot(u(n+120),u(n),u(n-120))}function B(n,t,e){return new W(n,t,e)}function W(n,t,e){this.h=n,this.c=t,this.l=e}function J(n,t,e){return isNaN(n)&&(n=0),isNaN(t)&&(t=0),G(e,Math.cos(n*=Qo)*t,Math.sin(n)*t)}function G(n,t,e){return new K(n,t,e)}function K(n,t,e){this.l=n,this.a=t,this.b=e}function Q(n,t,e){var r=(n+16)/116,u=r+t/500,i=r-e/200;return u=tt(u)*sa,r=tt(r)*fa,i=tt(i)*ha,ot(rt(3.2404542*u-1.5371385*r-.4985314*i),rt(-.969266*u+1.8760108*r+.041556*i),rt(.0556434*u-.2040259*r+1.0572252*i))}function nt(n,t,e){return n>0?B(Math.atan2(e,t)*na,Math.sqrt(t*t+e*e),n):B(0/0,0/0,n)}function tt(n){return n>.206893034?n*n*n:(n-4/29)/7.787037}function et(n){return n>.008856?Math.pow(n,1/3):7.787037*n+4/29}function rt(n){return Math.round(255*(.00304>=n?12.92*n:1.055*Math.pow(n,1/2.4)-.055))}function ut(n){return ot(n>>16,255&n>>8,255&n)}function it(n){return ut(n)+""}function ot(n,t,e){return new at(n,t,e)}function at(n,t,e){this.r=n,this.g=t,this.b=e}function ct(n){return 16>n?"0"+Math.max(0,n).toString(16):Math.min(255,n).toString(16)}function lt(n,t,e){var r,u,i,o=0,a=0,c=0;if(r=/([a-z]+)\((.*)\)/i.exec(n))switch(u=r[2].split(","),r[1]){case"hsl":return e(parseFloat(u[0]),parseFloat(u[1])/100,parseFloat(u[2])/100);case"rgb":return t(gt(u[0]),gt(u[1]),gt(u[2]))}return(i=da.get(n))?t(i.r,i.g,i.b):(null!=n&&"#"===n.charAt(0)&&(4===n.length?(o=n.charAt(1),o+=o,a=n.charAt(2),a+=a,c=n.charAt(3),c+=c):7===n.length&&(o=n.substring(1,3),a=n.substring(3,5),c=n.substring(5,7)),o=parseInt(o,16),a=parseInt(a,16),c=parseInt(c,16)),t(o,a,c))}function st(n,t,e){var r,u,i=Math.min(n/=255,t/=255,e/=255),o=Math.max(n,t,e),a=o-i,c=(o+i)/2;return a?(u=.5>c?a/(o+i):a/(2-o-i),r=n==o?(t-e)/a+(e>t?6:0):t==o?(e-n)/a+2:(n-t)/a+4,r*=60):(r=0/0,u=c>0&&1>c?0:r),V(r,u,c)}function ft(n,t,e){n=ht(n),t=ht(t),e=ht(e);var r=et((.4124564*n+.3575761*t+.1804375*e)/sa),u=et((.2126729*n+.7151522*t+.072175*e)/fa),i=et((.0193339*n+.119192*t+.9503041*e)/ha);return G(116*u-16,500*(r-u),200*(u-i))}function ht(n){return(n/=255)<=.04045?n/12.92:Math.pow((n+.055)/1.055,2.4)}function gt(n){var t=parseFloat(n);return"%"===n.charAt(n.length-1)?Math.round(2.55*t):t}function pt(n){return"function"==typeof n?n:function(){return n}}function dt(n){return n}function vt(n){return function(t,e,r){return 2===arguments.length&&"function"==typeof e&&(r=e,e=null),mt(t,e,n,r)}}function mt(n,t,e,r){function u(){var n,t=c.status;if(!t&&c.responseText||t>=200&&300>t||304===t){try{n=e.call(i,c)}catch(r){return o.error.call(i,r),void 0}o.load.call(i,n)}else o.error.call(i,c)}var i={},o=mo.dispatch("beforesend","progress","load","error"),a={},c=new XMLHttpRequest,l=null;return!_o.XDomainRequest||"withCredentials"in c||!/^(http(s)?:)?\/\//.test(n)||(c=new XDomainRequest),"onload"in c?c.onload=c.onerror=u:c.onreadystatechange=function(){c.readyState>3&&u()},c.onprogress=function(n){var t=mo.event;mo.event=n;try{o.progress.call(i,c)}finally{mo.event=t}},i.header=function(n,t){return n=(n+"").toLowerCase(),arguments.length<2?a[n]:(null==t?delete a[n]:a[n]=t+"",i)},i.mimeType=function(n){return arguments.length?(t=null==n?null:n+"",i):t},i.responseType=function(n){return arguments.length?(l=n,i):l},i.response=function(n){return e=n,i},["get","post"].forEach(function(n){i[n]=function(){return i.send.apply(i,[n].concat(Mo(arguments)))}}),i.send=function(e,r,u){if(2===arguments.length&&"function"==typeof r&&(u=r,r=null),c.open(e,n,!0),null==t||"accept"in a||(a.accept=t+",*/*"),c.setRequestHeader)for(var s in a)c.setRequestHeader(s,a[s]);return null!=t&&c.overrideMimeType&&c.overrideMimeType(t),null!=l&&(c.responseType=l),null!=u&&i.on("error",u).on("load",function(n){u(null,n)}),o.beforesend.call(i,c),c.send(null==r?null:r),i},i.abort=function(){return c.abort(),i},mo.rebind(i,o,"on"),null==r?i:i.get(yt(r))}function yt(n){return 1===n.length?function(t,e){n(null==t?e:null)}:n}function Mt(){var n=bt(),t=_t()-n;t>24?(isFinite(t)&&(clearTimeout(Ma),Ma=setTimeout(Mt,t)),ya=0):(ya=1,ba(Mt))}function xt(n,t,e){var r=arguments.length;2>r&&(t=0),3>r&&(e=Date.now()),xa.callback=n,xa.time=e+t}function bt(){var n=Date.now();for(xa=va;xa;)n>=xa.time&&(xa.flush=xa.callback(n-xa.time)),xa=xa.next;return n}function _t(){for(var n,t=va,e=1/0;t;)t.flush?t=n?n.next=t.next:va=t.next:(t.time8?function(n){return n/e}:function(n){return n*e},symbol:n}}function St(n,t){return t-(n?Math.ceil(Math.log(n)/Math.LN10):1)}function Et(n){return n+""}function kt(){}function At(n,t,e){var r=e.s=n+t,u=r-n,i=r-u;e.t=n-i+(t-u)}function Nt(n,t){n&&Da.hasOwnProperty(n.type)&&Da[n.type](n,t)}function Tt(n,t,e){var r,u=-1,i=n.length-e;for(t.lineStart();++ua;++a)u.point((e=n[a])[0],e[1]);return u.lineEnd(),void 0}var c={point:e,points:n,other:null,visited:!1,entry:!0,subject:!0},l={point:e,points:[e],other:c,visited:!1,entry:!1,subject:!1};c.other=l,i.push(c),o.push(l),c={point:r,points:[r],other:null,visited:!1,entry:!1,subject:!0},l={point:r,points:[r],other:c,visited:!1,entry:!0,subject:!1},c.other=l,i.push(c),o.push(l)}}),o.sort(t),$t(i),$t(o),i.length){for(var a=0,c=e,l=o.length;l>a;++a)o[a].entry=c=!c;for(var s,f,h,g=i[0];;){for(s=g;s.visited;)if((s=s.next)===g)return;f=s.points,u.lineStart();do{if(s.visited=s.other.visited=!0,s.entry){if(s.subject)for(var a=0;a=0;)u.point((h=f[a])[0],h[1])}else r(s.point,s.prev.point,-1,u);s=s.prev}s=s.other,f=s.points}while(!s.visited);u.lineEnd()}}}function $t(n){if(t=n.length){for(var t,e,r=0,u=n[0];++r1&&2&t&&e.push(e.pop().concat(e.shift())),g.push(e.filter(Wt))}}var g,p,d,v=t(i),m=u.invert(r[0],r[1]),y={point:o,lineStart:c,lineEnd:l,polygonStart:function(){y.point=s,y.lineStart=f,y.lineEnd=h,g=[],p=[],i.polygonStart()},polygonEnd:function(){y.point=o,y.lineStart=c,y.lineEnd=l,g=mo.merge(g);var n=Kt(m,p);g.length?Xt(g,Gt,n,e,i):n&&(i.lineStart(),e(null,null,1,i),i.lineEnd()),i.polygonEnd(),g=p=null},sphere:function(){i.polygonStart(),i.lineStart(),e(null,null,1,i),i.lineEnd(),i.polygonEnd()}},M=Jt(),x=t(M);return y}}function Wt(n){return n.length>1}function Jt(){var n,t=[];return{lineStart:function(){t.push(n=[])},point:function(t,e){n.push([t,e])},lineEnd:c,buffer:function(){var e=t;return t=[],n=null,e},rejoin:function(){t.length>1&&t.push(t.pop().concat(t.shift()))}}}function Gt(n,t){return((n=n.point)[0]<0?n[1]-Jo-Go:Jo-n[1])-((t=t.point)[0]<0?t[1]-Jo-Go:Jo-t[1])}function Kt(n,t){var e=n[0],r=n[1],u=[Math.sin(e),-Math.cos(e),0],i=0,o=0;La.reset();for(var a=0,c=t.length;c>a;++a){var l=t[a],s=l.length;if(s)for(var f=l[0],h=f[0],g=f[1]/2+Bo/4,p=Math.sin(g),d=Math.cos(g),v=1;;){v===s&&(v=0),n=l[v];var m=n[0],y=n[1]/2+Bo/4,M=Math.sin(y),x=Math.cos(y),b=m-h,_=Math.abs(b)>Bo,w=p*M;if(La.add(Math.atan2(w*Math.sin(b),d*x+w*Math.cos(b))),i+=_?b+(b>=0?2:-2)*Bo:b,_^h>=e^m>=e){var S=jt(Ct(f),Ct(n));Ft(S);var E=jt(u,S);Ft(E);var k=(_^b>=0?-1:1)*O(E[2]);(r>k||r===k&&(S[0]||S[1]))&&(o+=_^b>=0?1:-1)}if(!v++)break;h=m,p=M,d=x,f=n}}return(-Go>i||Go>i&&0>La)^1&o}function Qt(n){var t,e=0/0,r=0/0,u=0/0;return{lineStart:function(){n.lineStart(),t=1},point:function(i,o){var a=i>0?Bo:-Bo,c=Math.abs(i-e);Math.abs(c-Bo)0?Jo:-Jo),n.point(u,r),n.lineEnd(),n.lineStart(),n.point(a,r),n.point(i,r),t=0):u!==a&&c>=Bo&&(Math.abs(e-u)Go?Math.atan((Math.sin(t)*(i=Math.cos(r))*Math.sin(e)-Math.sin(r)*(u=Math.cos(t))*Math.sin(n))/(u*i*o)):(t+r)/2}function te(n,t,e,r){var u;if(null==n)u=e*Jo,r.point(-Bo,u),r.point(0,u),r.point(Bo,u),r.point(Bo,0),r.point(Bo,-u),r.point(0,-u),r.point(-Bo,-u),r.point(-Bo,0),r.point(-Bo,u);else if(Math.abs(n[0]-t[0])>Go){var i=(n[0]i}function e(n){var e,i,c,l,s;return{lineStart:function(){l=c=!1,s=1},point:function(f,h){var g,p=[f,h],d=t(f,h),v=o?d?0:u(f,h):d?u(f+(0>f?Bo:-Bo),h):0;if(!e&&(l=c=d)&&n.lineStart(),d!==c&&(g=r(e,p),(Ot(e,g)||Ot(p,g))&&(p[0]+=Go,p[1]+=Go,d=t(p[0],p[1]))),d!==c)s=0,d?(n.lineStart(),g=r(p,e),n.point(g[0],g[1])):(g=r(e,p),n.point(g[0],g[1]),n.lineEnd()),e=g;else if(a&&e&&o^d){var m;v&i||!(m=r(p,e,!0))||(s=0,o?(n.lineStart(),n.point(m[0][0],m[0][1]),n.point(m[1][0],m[1][1]),n.lineEnd()):(n.point(m[1][0],m[1][1]),n.lineEnd(),n.lineStart(),n.point(m[0][0],m[0][1])))}!d||e&&Ot(e,p)||n.point(p[0],p[1]),e=p,c=d,i=v},lineEnd:function(){c&&n.lineEnd(),e=null},clean:function(){return s|(l&&c)<<1}}}function r(n,t,e){var r=Ct(n),u=Ct(t),o=[1,0,0],a=jt(r,u),c=Dt(a,a),l=a[0],s=c-l*l;if(!s)return!e&&n;var f=i*c/s,h=-i*l/s,g=jt(o,a),p=Ht(o,f),d=Ht(a,h);Lt(p,d);var v=g,m=Dt(p,v),y=Dt(v,v),M=m*m-y*(Dt(p,p)-1);if(!(0>M)){var x=Math.sqrt(M),b=Ht(v,(-m-x)/y);if(Lt(b,p),b=Pt(b),!e)return b;var _,w=n[0],S=t[0],E=n[1],k=t[1];w>S&&(_=w,w=S,S=_);var A=S-w,N=Math.abs(A-Bo)A;if(!N&&E>k&&(_=E,E=k,k=_),T?N?E+k>0^b[1]<(Math.abs(b[0]-w)Bo^(w<=b[0]&&b[0]<=S)){var q=Ht(v,(-m+x)/y);return Lt(q,p),[b,Pt(q)]}}}function u(t,e){var r=o?n:Bo-n,u=0;return-r>t?u|=1:t>r&&(u|=2),-r>e?u|=4:e>r&&(u|=8),u}var i=Math.cos(n),o=i>0,a=Math.abs(i)>Go,c=Te(n,6*Qo);return Bt(t,e,c,o?[0,-n]:[-Bo,n-Bo])}function re(n,t,e,r){function u(r,u){return Math.abs(r[0]-n)0?0:3:Math.abs(r[0]-e)0?2:1:Math.abs(r[1]-t)0?1:0:u>0?3:2}function i(n,t){return o(n.point,t.point)}function o(n,t){var e=u(n,1),r=u(t,1);return e!==r?e-r:0===e?t[1]-n[1]:1===e?n[0]-t[0]:2===e?n[1]-t[1]:t[0]-n[0]}function a(u,i){var o=i[0]-u[0],a=i[1]-u[1],c=[0,1];return Math.abs(o)0&&(u[0]+=c[0]*o,u[1]+=c[0]*a),!0):!1}return function(c){function l(n){for(var t=0,e=y.length,r=n[1],u=0;e>u;++u)for(var i,o=1,a=y[u],c=a.length,l=a[0];c>o;++o)i=a[o],l[1]<=r?i[1]>r&&s(l,i,n)>0&&++t:i[1]<=r&&s(l,i,n)<0&&--t,l=i;return 0!==t}function s(n,t,e){return(t[0]-n[0])*(e[1]-n[1])-(e[0]-n[0])*(t[1]-n[1])}function f(i,a,c,l){var s=0,f=0;if(null==i||(s=u(i,c))!==(f=u(a,c))||o(i,a)<0^c>0){do l.point(0===s||3===s?n:e,s>1?r:t);while((s=(s+c+4)%4)!==f)}else l.point(a[0],a[1])}function h(u,i){return u>=n&&e>=u&&i>=t&&r>=i}function g(n,t){h(n,t)&&c.point(n,t)}function p(){q.point=v,y&&y.push(M=[]),k=!0,E=!1,w=S=0/0}function d(){m&&(v(x,b),_&&E&&T.rejoin(),m.push(T.buffer())),q.point=g,E&&c.lineEnd()}function v(n,t){n=Math.max(-Ja,Math.min(Ja,n)),t=Math.max(-Ja,Math.min(Ja,t));var e=h(n,t);if(y&&M.push([n,t]),k)x=n,b=t,_=e,k=!1,e&&(c.lineStart(),c.point(n,t));else if(e&&E)c.point(n,t);else{var r=[w,S],u=[n,t];a(r,u)?(E||(c.lineStart(),c.point(r[0],r[1])),c.point(u[0],u[1]),e||c.lineEnd(),A=!1):e&&(c.lineStart(),c.point(n,t),A=!1)}w=n,S=t,E=e}var m,y,M,x,b,_,w,S,E,k,A,N=c,T=Jt(),q={point:g,lineStart:p,lineEnd:d,polygonStart:function(){c=T,m=[],y=[],A=!0},polygonEnd:function(){c=N,m=mo.merge(m);var t=l([n,r]),e=A&&t,u=m.length;(e||u)&&(c.polygonStart(),e&&(c.lineStart(),f(null,null,1,c),c.lineEnd()),u&&Xt(m,i,t,f,c),c.polygonEnd()),m=y=M=null}};return q}}function ue(n,t,e){if(Math.abs(t)=n;var r=n/t;if(t>0){if(r>e[1])return!1;r>e[0]&&(e[0]=r)}else{if(rn&&(Qa=n),n>tc&&(tc=n),nc>t&&(nc=t),t>ec&&(ec=t)}function se(){function n(n,t){o.push("M",n,",",t,i)}function t(n,t){o.push("M",n,",",t),a.point=e}function e(n,t){o.push("L",n,",",t)}function r(){a.point=n}function u(){o.push("Z")}var i=fe(4.5),o=[],a={point:n,lineStart:function(){a.point=t},lineEnd:r,polygonStart:function(){a.lineEnd=u},polygonEnd:function(){a.lineEnd=r,a.point=n},pointRadius:function(n){return i=fe(n),a},result:function(){if(o.length){var n=o.join("");return o=[],n}}};return a}function fe(n){return"m0,"+n+"a"+n+","+n+" 0 1,1 0,"+-2*n+"a"+n+","+n+" 0 1,1 0,"+2*n+"z"}function he(n,t){Oa+=n,Ra+=t,++Ya}function ge(){function n(n,r){var u=n-t,i=r-e,o=Math.sqrt(u*u+i*i);Ia+=o*(t+n)/2,Ua+=o*(e+r)/2,Za+=o,he(t=n,e=r)}var t,e;ic.point=function(r,u){ic.point=n,he(t=r,e=u)}}function pe(){ic.point=he}function de(){function n(n,t){var e=n-r,i=t-u,o=Math.sqrt(e*e+i*i);Ia+=o*(r+n)/2,Ua+=o*(u+t)/2,Za+=o,o=u*n-r*t,Va+=o*(r+n),Xa+=o*(u+t),$a+=3*o,he(r=n,u=t)}var t,e,r,u;ic.point=function(i,o){ic.point=n,he(t=r=i,e=u=o)},ic.lineEnd=function(){n(t,e)}}function ve(n){function t(t,e){n.moveTo(t,e),n.arc(t,e,o,0,Wo)}function e(t,e){n.moveTo(t,e),a.point=r}function r(t,e){n.lineTo(t,e)}function u(){a.point=t}function i(){n.closePath()}var o=4.5,a={point:t,lineStart:function(){a.point=e},lineEnd:u,polygonStart:function(){a.lineEnd=i},polygonEnd:function(){a.lineEnd=u,a.point=t},pointRadius:function(n){return o=n,a},result:c};return a}function me(n){function t(t){function r(e,r){e=n(e,r),t.point(e[0],e[1])}function u(){M=0/0,S.point=o,t.lineStart()}function o(r,u){var o=Ct([r,u]),a=n(r,u);e(M,x,y,b,_,w,M=a[0],x=a[1],y=r,b=o[0],_=o[1],w=o[2],i,t),t.point(M,x)}function a(){S.point=r,t.lineEnd()}function c(){u(),S.point=l,S.lineEnd=s}function l(n,t){o(f=n,h=t),g=M,p=x,d=b,v=_,m=w,S.point=o}function s(){e(M,x,y,b,_,w,g,p,f,d,v,m,i,t),S.lineEnd=a,a()}var f,h,g,p,d,v,m,y,M,x,b,_,w,S={point:r,lineStart:u,lineEnd:a,polygonStart:function(){t.polygonStart(),S.lineStart=c},polygonEnd:function(){t.polygonEnd(),S.lineStart=u}};return S}function e(t,i,o,a,c,l,s,f,h,g,p,d,v,m){var y=s-t,M=f-i,x=y*y+M*M;if(x>4*r&&v--){var b=a+g,_=c+p,w=l+d,S=Math.sqrt(b*b+_*_+w*w),E=Math.asin(w/=S),k=Math.abs(Math.abs(w)-1)r||Math.abs((y*q+M*z)/x-.5)>.3||u>a*g+c*p+l*d)&&(e(t,i,o,a,c,l,N,T,k,b/=S,_/=S,w,v,m),m.point(N,T),e(N,T,k,b,_,w,s,f,h,g,p,d,v,m))}}var r=.5,u=Math.cos(30*Qo),i=16;return t.precision=function(n){return arguments.length?(i=(r=n*n)>0&&16,t):Math.sqrt(r)},t}function ye(n){this.stream=n}function Me(n){var t=me(function(t,e){return n([t*na,e*na])});return function(n){var e=new ye(n=t(n));return e.point=function(t,e){n.point(t*Qo,e*Qo)},e}}function xe(n){return be(function(){return n})()}function be(n){function t(n){return n=a(n[0]*Qo,n[1]*Qo),[n[0]*h+c,l-n[1]*h]}function e(n){return n=a.invert((n[0]-c)/h,(l-n[1])/h),n&&[n[0]*na,n[1]*na]}function r(){a=ie(o=Ee(m,y,M),i);var n=i(d,v);return c=g-n[0]*h,l=p+n[1]*h,u()}function u(){return s&&(s.valid=!1,s=null),t}var i,o,a,c,l,s,f=me(function(n,t){return n=i(n,t),[n[0]*h+c,l-n[1]*h]}),h=150,g=480,p=250,d=0,v=0,m=0,y=0,M=0,x=Wa,b=dt,_=null,w=null;return t.stream=function(n){return s&&(s.valid=!1),s=_e(x(o,f(b(n)))),s.valid=!0,s},t.clipAngle=function(n){return arguments.length?(x=null==n?(_=n,Wa):ee((_=+n)*Qo),u()):_},t.clipExtent=function(n){return arguments.length?(w=n,b=n?re(n[0][0],n[0][1],n[1][0],n[1][1]):dt,u()):w},t.scale=function(n){return arguments.length?(h=+n,r()):h},t.translate=function(n){return arguments.length?(g=+n[0],p=+n[1],r()):[g,p]},t.center=function(n){return arguments.length?(d=n[0]%360*Qo,v=n[1]%360*Qo,r()):[d*na,v*na]},t.rotate=function(n){return arguments.length?(m=n[0]%360*Qo,y=n[1]%360*Qo,M=n.length>2?n[2]%360*Qo:0,r()):[m*na,y*na,M*na]},mo.rebind(t,f,"precision"),function(){return i=n.apply(this,arguments),t.invert=i.invert&&e,r()}}function _e(n){var t=new ye(n);return t.point=function(t,e){n.point(t*Qo,e*Qo)},t}function we(n,t){return[n,t]}function Se(n,t){return[n>Bo?n-Wo:-Bo>n?n+Wo:n,t]}function Ee(n,t,e){return n?t||e?ie(Ae(n),Ne(t,e)):Ae(n):t||e?Ne(t,e):Se}function ke(n){return function(t,e){return t+=n,[t>Bo?t-Wo:-Bo>t?t+Wo:t,e]}}function Ae(n){var t=ke(n);return t.invert=ke(-n),t}function Ne(n,t){function e(n,t){var e=Math.cos(t),a=Math.cos(n)*e,c=Math.sin(n)*e,l=Math.sin(t),s=l*r+a*u;return[Math.atan2(c*i-s*o,a*r-l*u),O(s*i+c*o)]}var r=Math.cos(n),u=Math.sin(n),i=Math.cos(t),o=Math.sin(t);return e.invert=function(n,t){var e=Math.cos(t),a=Math.cos(n)*e,c=Math.sin(n)*e,l=Math.sin(t),s=l*i-c*o;return[Math.atan2(c*i+l*o,a*r+s*u),O(s*r-a*u)]},e}function Te(n,t){var e=Math.cos(n),r=Math.sin(n);return function(u,i,o,a){var c=o*t;null!=u?(u=qe(e,u),i=qe(e,i),(o>0?i>u:u>i)&&(u+=o*Wo)):(u=n+o*Wo,i=n-.5*c);for(var l,s=u;o>0?s>i:i>s;s-=c)a.point((l=Pt([e,-r*Math.cos(s),-r*Math.sin(s)]))[0],l[1])}}function qe(n,t){var e=Ct(t);e[0]-=n,Ft(e);var r=P(-e[1]);return((-e[2]<0?-r:r)+2*Math.PI-Go)%(2*Math.PI)}function ze(n,t,e){var r=mo.range(n,t-Go,e).concat(t);return function(n){return r.map(function(t){return[n,t]})}}function Ce(n,t,e){var r=mo.range(n,t-Go,e).concat(t);return function(n){return r.map(function(t){return[t,n]})}}function De(n){return n.source}function je(n){return n.target}function Le(n,t,e,r){var u=Math.cos(t),i=Math.sin(t),o=Math.cos(r),a=Math.sin(r),c=u*Math.cos(n),l=u*Math.sin(n),s=o*Math.cos(e),f=o*Math.sin(e),h=2*Math.asin(Math.sqrt(U(r-t)+u*o*U(e-n))),g=1/Math.sin(h),p=h?function(n){var t=Math.sin(n*=h)*g,e=Math.sin(h-n)*g,r=e*c+t*s,u=e*l+t*f,o=e*i+t*a;return[Math.atan2(u,r)*na,Math.atan2(o,Math.sqrt(r*r+u*u))*na]}:function(){return[n*na,t*na]};return p.distance=h,p}function He(){function n(n,u){var i=Math.sin(u*=Qo),o=Math.cos(u),a=Math.abs((n*=Qo)-t),c=Math.cos(a);oc+=Math.atan2(Math.sqrt((a=o*Math.sin(a))*a+(a=r*i-e*o*c)*a),e*i+r*o*c),t=n,e=i,r=o}var t,e,r;ac.point=function(u,i){t=u*Qo,e=Math.sin(i*=Qo),r=Math.cos(i),ac.point=n},ac.lineEnd=function(){ac.point=ac.lineEnd=c}}function Fe(n,t){function e(t,e){var r=Math.cos(t),u=Math.cos(e),i=n(r*u);return[i*u*Math.sin(t),i*Math.sin(e)]}return e.invert=function(n,e){var r=Math.sqrt(n*n+e*e),u=t(r),i=Math.sin(u),o=Math.cos(u);return[Math.atan2(n*i,r*o),Math.asin(r&&e*i/r)]},e}function Pe(n,t){function e(n,t){var e=Math.abs(Math.abs(t)-Jo)1&&u.push("H",r[0]),u.join("")}function We(n){for(var t=0,e=n.length,r=n[0],u=[r[0],",",r[1]];++t1){a=t[1],i=n[c],c++,r+="C"+(u[0]+o[0])+","+(u[1]+o[1])+","+(i[0]-a[0])+","+(i[1]-a[1])+","+i[0]+","+i[1];for(var l=2;l9&&(u=3*t/Math.sqrt(u),o[a]=u*e,o[a+1]=u*r));for(a=-1;++a<=c;)u=(n[Math.min(c,a+1)][0]-n[Math.max(0,a-1)][0])/(6*(1+o[a]*o[a])),i.push([u||0,o[a]*u||0]);return i}function fr(n){return n.length<3?Xe(n):n[0]+nr(n,sr(n))}function hr(n,t,e,r){var u,i,o,a,c,l,s;return u=r[n],i=u[0],o=u[1],u=r[t],a=u[0],c=u[1],u=r[e],l=u[0],s=u[1],(s-o)*(a-i)-(c-o)*(l-i)>0}function gr(n,t,e){return(e[0]-t[0])*(n[1]-t[1])<(e[1]-t[1])*(n[0]-t[0])}function pr(n,t,e,r){var u=n[0],i=e[0],o=t[0]-u,a=r[0]-i,c=n[1],l=e[1],s=t[1]-c,f=r[1]-l,h=(a*(c-l)-f*(u-i))/(f*o-a*s);return[u+h*o,c+h*s]}function dr(n){var t=n[0],e=n[n.length-1];return!(t[0]-e[0]||t[1]-e[1])}function vr(n,t){var e={list:n.map(function(n,t){return{index:t,x:n[0],y:n[1]}}).sort(function(n,t){return n.yt.y?1:n.xt.x?1:0}),bottomSite:null},r={list:[],leftEnd:null,rightEnd:null,init:function(){r.leftEnd=r.createHalfEdge(null,"l"),r.rightEnd=r.createHalfEdge(null,"l"),r.leftEnd.r=r.rightEnd,r.rightEnd.l=r.leftEnd,r.list.unshift(r.leftEnd,r.rightEnd)},createHalfEdge:function(n,t){return{edge:n,side:t,vertex:null,l:null,r:null}},insert:function(n,t){t.l=n,t.r=n.r,n.r.l=t,n.r=t},leftBound:function(n){var t=r.leftEnd;do t=t.r;while(t!=r.rightEnd&&u.rightOf(t,n));return t=t.l},del:function(n){n.l.r=n.r,n.r.l=n.l,n.edge=null},right:function(n){return n.r},left:function(n){return n.l},leftRegion:function(n){return null==n.edge?e.bottomSite:n.edge.region[n.side]},rightRegion:function(n){return null==n.edge?e.bottomSite:n.edge.region[yc[n.side]]}},u={bisect:function(n,t){var e={region:{l:n,r:t},ep:{l:null,r:null}},r=t.x-n.x,u=t.y-n.y,i=r>0?r:-r,o=u>0?u:-u;return e.c=n.x*r+n.y*u+.5*(r*r+u*u),i>o?(e.a=1,e.b=u/r,e.c/=r):(e.b=1,e.a=r/u,e.c/=u),e},intersect:function(n,t){var e=n.edge,r=t.edge;if(!e||!r||e.region.r==r.region.r)return null;var u=e.a*r.b-e.b*r.a;if(Math.abs(u)<1e-10)return null;var i,o,a=(e.c*r.b-r.c*e.b)/u,c=(r.c*e.a-e.c*r.a)/u,l=e.region.r,s=r.region.r;l.y=o.region.r.x;return f&&"l"===i.side||!f&&"r"===i.side?null:{x:a,y:c}},rightOf:function(n,t){var e=n.edge,r=e.region.r,u=t.x>r.x;if(u&&"l"===n.side)return 1;if(!u&&"r"===n.side)return 0;if(1===e.a){var i=t.y-r.y,o=t.x-r.x,a=0,c=0;if(!u&&e.b<0||u&&e.b>=0?c=a=i>=e.b*o:(c=t.x+t.y*e.b>e.c,e.b<0&&(c=!c),c||(a=1)),!a){var l=r.x-e.region.l.x;c=e.b*(o*o-i*i)h*h+g*g}return"l"===n.side?c:!c},endPoint:function(n,e,r){n.ep[e]=r,n.ep[yc[e]]&&t(n)},distance:function(n,t){var e=n.x-t.x,r=n.y-t.y;return Math.sqrt(e*e+r*r)}},i={list:[],insert:function(n,t,e){n.vertex=t,n.ystar=t.y+e;for(var r=0,u=i.list,o=u.length;o>r;r++){var a=u[r];if(!(n.ystar>a.ystar||n.ystar==a.ystar&&t.x>a.vertex.x))break}u.splice(r,0,n)},del:function(n){for(var t=0,e=i.list,r=e.length;r>t&&e[t]!=n;++t);e.splice(t,1)},empty:function(){return 0===i.list.length},nextEvent:function(n){for(var t=0,e=i.list,r=e.length;r>t;++t)if(e[t]==n)return e[t+1];return null},min:function(){var n=i.list[0];return{x:n.vertex.x,y:n.ystar}},extractMin:function(){return i.list.shift()}};r.init(),e.bottomSite=e.list.shift();for(var o,a,c,l,s,f,h,g,p,d,v,m,y,M=e.list.shift();;)if(i.empty()||(o=i.min()),M&&(i.empty()||M.yg.y&&(p=h,h=g,g=p,y="r"),m=u.bisect(h,g),f=r.createHalfEdge(m,y),r.insert(l,f),u.endPoint(m,yc[y],v),d=u.intersect(l,f),d&&(i.del(l),i.insert(l,d,u.distance(d,h))),d=u.intersect(f,s),d&&i.insert(f,d,u.distance(d,h))}for(a=r.right(r.leftEnd);a!=r.rightEnd;a=r.right(a))t(a.edge)}function mr(n){return n.x}function yr(n){return n.y}function Mr(){return{leaf:!0,nodes:[],point:null,x:null,y:null}}function xr(n,t,e,r,u,i){if(!n(t,e,r,u,i)){var o=.5*(e+u),a=.5*(r+i),c=t.nodes;c[0]&&xr(n,c[0],e,r,o,a),c[1]&&xr(n,c[1],o,r,u,a),c[2]&&xr(n,c[2],e,a,o,i),c[3]&&xr(n,c[3],o,a,u,i)}}function br(n,t){n=mo.rgb(n),t=mo.rgb(t);var e=n.r,r=n.g,u=n.b,i=t.r-e,o=t.g-r,a=t.b-u;return function(n){return"#"+ct(Math.round(e+i*n))+ct(Math.round(r+o*n))+ct(Math.round(u+a*n))}}function _r(n,t){var e,r={},u={};for(e in n)e in t?r[e]=Er(n[e],t[e]):u[e]=n[e];for(e in t)e in n||(u[e]=t[e]);return function(n){for(e in r)u[e]=r[e](n);return u}}function wr(n,t){return t-=n=+n,function(e){return n+t*e}}function Sr(n,t){var e,r,u,i,o,a=0,c=0,l=[],s=[];for(n+="",t+="",Mc.lastIndex=0,r=0;e=Mc.exec(t);++r)e.index&&l.push(t.substring(a,c=e.index)),s.push({i:l.length,x:e[0]}),l.push(null),a=Mc.lastIndex;for(ar;++r)if(o=s[r],o.x==e[0]){if(o.i)if(null==l[o.i+1])for(l[o.i-1]+=o.x,l.splice(o.i,1),u=r+1;i>u;++u)s[u].i--;else for(l[o.i-1]+=o.x+l[o.i+1],l.splice(o.i,2),u=r+1;i>u;++u)s[u].i-=2;else if(null==l[o.i+1])l[o.i]=o.x;else for(l[o.i]=o.x+l[o.i+1],l.splice(o.i+1,1),u=r+1;i>u;++u)s[u].i--;s.splice(r,1),i--,r--}else o.x=wr(parseFloat(e[0]),parseFloat(o.x));for(;i>r;)o=s.pop(),null==l[o.i+1]?l[o.i]=o.x:(l[o.i]=o.x+l[o.i+1],l.splice(o.i+1,1)),i--;return 1===l.length?null==l[0]?(o=s[0].x,function(n){return o(n)+""}):function(){return t}:function(n){for(r=0;i>r;++r)l[(o=s[r]).i]=o.x(n);return l.join("")}}function Er(n,t){for(var e,r=mo.interpolators.length;--r>=0&&!(e=mo.interpolators[r](n,t)););return e}function kr(n,t){var e,r=[],u=[],i=n.length,o=t.length,a=Math.min(n.length,t.length);for(e=0;a>e;++e)r.push(Er(n[e],t[e]));for(;i>e;++e)u[e]=n[e];for(;o>e;++e)u[e]=t[e];return function(n){for(e=0;a>e;++e)u[e]=r[e](n);return u}}function Ar(n){return function(t){return 0>=t?0:t>=1?1:n(t)}}function Nr(n){return function(t){return 1-n(1-t)}}function Tr(n){return function(t){return.5*(.5>t?n(2*t):2-n(2-2*t))}}function qr(n){return n*n}function zr(n){return n*n*n}function Cr(n){if(0>=n)return 0;if(n>=1)return 1;var t=n*n,e=t*n;return 4*(.5>n?e:3*(n-t)+e-.75)}function Dr(n){return function(t){return Math.pow(t,n)}}function jr(n){return 1-Math.cos(n*Jo)}function Lr(n){return Math.pow(2,10*(n-1))}function Hr(n){return 1-Math.sqrt(1-n*n)}function Fr(n,t){var e;return arguments.length<2&&(t=.45),arguments.length?e=t/Wo*Math.asin(1/n):(n=1,e=t/4),function(r){return 1+n*Math.pow(2,-10*r)*Math.sin((r-e)*Wo/t)}}function Pr(n){return n||(n=1.70158),function(t){return t*t*((n+1)*t-n)}}function Or(n){return 1/2.75>n?7.5625*n*n:2/2.75>n?7.5625*(n-=1.5/2.75)*n+.75:2.5/2.75>n?7.5625*(n-=2.25/2.75)*n+.9375:7.5625*(n-=2.625/2.75)*n+.984375}function Rr(n,t){n=mo.hcl(n),t=mo.hcl(t);var e=n.h,r=n.c,u=n.l,i=t.h-e,o=t.c-r,a=t.l-u;return isNaN(o)&&(o=0,r=isNaN(r)?t.c:r),isNaN(i)?(i=0,e=isNaN(e)?t.h:e):i>180?i-=360:-180>i&&(i+=360),function(n){return J(e+i*n,r+o*n,u+a*n)+""}}function Yr(n,t){n=mo.hsl(n),t=mo.hsl(t);var e=n.h,r=n.s,u=n.l,i=t.h-e,o=t.s-r,a=t.l-u;return isNaN(o)&&(o=0,r=isNaN(r)?t.s:r),isNaN(i)?(i=0,e=isNaN(e)?t.h:e):i>180?i-=360:-180>i&&(i+=360),function(n){return $(e+i*n,r+o*n,u+a*n)+""}}function Ir(n,t){n=mo.lab(n),t=mo.lab(t);var e=n.l,r=n.a,u=n.b,i=t.l-e,o=t.a-r,a=t.b-u;return function(n){return Q(e+i*n,r+o*n,u+a*n)+""}}function Ur(n,t){return t-=n,function(e){return Math.round(n+t*e)}}function Zr(n){var t=[n.a,n.b],e=[n.c,n.d],r=Xr(t),u=Vr(t,e),i=Xr($r(e,t,-u))||0;t[0]*e[1]180?s+=360:s-l>180&&(l+=360),u.push({i:r.push(r.pop()+"rotate(",null,")")-2,x:wr(l,s)})):s&&r.push(r.pop()+"rotate("+s+")"),f!=h?u.push({i:r.push(r.pop()+"skewX(",null,")")-2,x:wr(f,h)}):h&&r.push(r.pop()+"skewX("+h+")"),g[0]!=p[0]||g[1]!=p[1]?(e=r.push(r.pop()+"scale(",null,",",null,")"),u.push({i:e-4,x:wr(g[0],p[0])},{i:e-2,x:wr(g[1],p[1])})):(1!=p[0]||1!=p[1])&&r.push(r.pop()+"scale("+p+")"),e=u.length,function(n){for(var t,i=-1;++ie;++e)(t=n[e][1])>u&&(r=e,u=t);return r}function vu(n){return n.reduce(mu,0)}function mu(n,t){return n+t[1]}function yu(n,t){return Mu(n,Math.ceil(Math.log(t.length)/Math.LN2+1))}function Mu(n,t){for(var e=-1,r=+n[0],u=(n[1]-r)/t,i=[];++e<=t;)i[e]=u*e+r;return i}function xu(n){return[mo.min(n),mo.max(n)]}function bu(n,t){return n.parent==t.parent?1:2}function _u(n){var t=n.children;return t&&t.length?t[0]:n._tree.thread}function wu(n){var t,e=n.children;return e&&(t=e.length)?e[t-1]:n._tree.thread}function Su(n,t){var e=n.children;if(e&&(u=e.length))for(var r,u,i=-1;++i0&&(n=r);return n}function Eu(n,t){return n.x-t.x}function ku(n,t){return t.x-n.x}function Au(n,t){return n.depth-t.depth}function Nu(n,t){function e(n,r){var u=n.children;if(u&&(o=u.length))for(var i,o,a=null,c=-1;++c=0;)t=u[i]._tree,t.prelim+=e,t.mod+=e,e+=t.shift+(r+=t.change)}function qu(n,t,e){n=n._tree,t=t._tree;var r=e/(t.number-n.number);n.change+=r,t.change-=r,t.shift+=e,t.prelim+=e,t.mod+=e}function zu(n,t,e){return n._tree.ancestor.parent==t.parent?n._tree.ancestor:e}function Cu(n,t){return n.value-t.value}function Du(n,t){var e=n._pack_next;n._pack_next=t,t._pack_prev=n,t._pack_next=e,e._pack_prev=t}function ju(n,t){n._pack_next=t,t._pack_prev=n}function Lu(n,t){var e=t.x-n.x,r=t.y-n.y,u=n.r+t.r;return.999*u*u>e*e+r*r}function Hu(n){function t(n){s=Math.min(n.x-n.r,s),f=Math.max(n.x+n.r,f),h=Math.min(n.y-n.r,h),g=Math.max(n.y+n.r,g)}if((e=n.children)&&(l=e.length)){var e,r,u,i,o,a,c,l,s=1/0,f=-1/0,h=1/0,g=-1/0;if(e.forEach(Fu),r=e[0],r.x=-r.r,r.y=0,t(r),l>1&&(u=e[1],u.x=u.r,u.y=0,t(u),l>2))for(i=e[2],Ru(r,u,i),t(i),Du(r,i),r._pack_prev=i,Du(i,u),u=r._pack_next,o=3;l>o;o++){Ru(r,u,i=e[o]);var p=0,d=1,v=1;for(a=u._pack_next;a!==u;a=a._pack_next,d++)if(Lu(a,i)){p=1;break}if(1==p)for(c=r._pack_prev;c!==a._pack_prev&&!Lu(c,i);c=c._pack_prev,v++);p?(v>d||d==v&&u.ro;o++)i=e[o],i.x-=m,i.y-=y,M=Math.max(M,i.r+Math.sqrt(i.x*i.x+i.y*i.y));n.r=M,e.forEach(Pu)}}function Fu(n){n._pack_next=n._pack_prev=n}function Pu(n){delete n._pack_next,delete n._pack_prev}function Ou(n,t,e,r){var u=n.children;if(n.x=t+=r*n.x,n.y=e+=r*n.y,n.r*=r,u)for(var i=-1,o=u.length;++iu&&(e+=u/2,u=0),0>i&&(r+=i/2,i=0),{x:e,y:r,dx:u,dy:i}}function $u(n){var t=n[0],e=n[n.length-1];return e>t?[t,e]:[e,t]}function Bu(n){return n.rangeExtent?n.rangeExtent():$u(n.range())}function Wu(n,t,e,r){var u=e(n[0],n[1]),i=r(t[0],t[1]);return function(n){return i(u(n))}}function Ju(n,t){var e,r=0,u=n.length-1,i=n[r],o=n[u];return i>o&&(e=r,r=u,u=e,e=i,i=o,o=e),n[r]=t.floor(i),n[u]=t.ceil(o),n}function Gu(n){return n?{floor:function(t){return Math.floor(t/n)*n},ceil:function(t){return Math.ceil(t/n)*n}}:Tc}function Ku(n,t,e,r){var u=[],i=[],o=0,a=Math.min(n.length,t.length)-1;for(n[a]2?Ku:Wu,c=r?Jr:Wr;return o=u(n,t,c,e),a=u(t,n,c,Er),i}function i(n){return o(n)}var o,a;return i.invert=function(n){return a(n)},i.domain=function(t){return arguments.length?(n=t.map(Number),u()):n},i.range=function(n){return arguments.length?(t=n,u()):t},i.rangeRound=function(n){return i.range(n).interpolate(Ur)},i.clamp=function(n){return arguments.length?(r=n,u()):r},i.interpolate=function(n){return arguments.length?(e=n,u()):e},i.ticks=function(t){return ri(n,t)},i.tickFormat=function(t,e){return ui(n,t,e)},i.nice=function(t){return ti(n,t),u()},i.copy=function(){return Qu(n,t,e,r)},u()}function ni(n,t){return mo.rebind(n,t,"range","rangeRound","interpolate","clamp")}function ti(n,t){return Ju(n,Gu(ei(n,t)[2]))}function ei(n,t){null==t&&(t=10);var e=$u(n),r=e[1]-e[0],u=Math.pow(10,Math.floor(Math.log(r/t)/Math.LN10)),i=t/r*u;return.15>=i?u*=10:.35>=i?u*=5:.75>=i&&(u*=2),e[0]=Math.ceil(e[0]/u)*u,e[1]=Math.floor(e[1]/u)*u+.5*u,e[2]=u,e}function ri(n,t){return mo.range.apply(mo,ei(n,t))}function ui(n,t,e){var r=-Math.floor(Math.log(ei(n,t)[2])/Math.LN10+.01);return mo.format(e?e.replace(Aa,function(n,t,e,u,i,o,a,c,l,s){return[t,e,u,i,o,a,c,l||"."+(r-2*("%"===s)),s].join("")}):",."+r+"f")}function ii(n,t,e,r){function u(n){return(e?Math.log(0>n?0:n):-Math.log(n>0?0:-n))/Math.log(t)}function i(n){return e?Math.pow(t,n):-Math.pow(t,-n)}function o(t){return n(u(t))}return o.invert=function(t){return i(n.invert(t))},o.domain=function(t){return arguments.length?(e=t[0]>=0,n.domain((r=t.map(Number)).map(u)),o):r},o.base=function(e){return arguments.length?(t=+e,n.domain(r.map(u)),o):t},o.nice=function(){var t=Ju(r.map(u),e?Math:zc);return n.domain(t),r=t.map(i),o},o.ticks=function(){var n=$u(r),o=[],a=n[0],c=n[1],l=Math.floor(u(a)),s=Math.ceil(u(c)),f=t%1?2:t;if(isFinite(s-l)){if(e){for(;s>l;l++)for(var h=1;f>h;h++)o.push(i(l)*h);o.push(i(l))}else for(o.push(i(l));l++0;h--)o.push(i(l)*h);for(l=0;o[l]c;s--);o=o.slice(l,s)}return o},o.tickFormat=function(n,t){if(!arguments.length)return qc;arguments.length<2?t=qc:"function"!=typeof t&&(t=mo.format(t));var r,a=Math.max(.1,n/o.ticks().length),c=e?(r=1e-12,Math.ceil):(r=-1e-12,Math.floor);return function(n){return n/i(c(u(n)+r))<=a?t(n):""}},o.copy=function(){return ii(n.copy(),t,e,r)},ni(o,n)}function oi(n,t,e){function r(t){return n(u(t))}var u=ai(t),i=ai(1/t);return r.invert=function(t){return i(n.invert(t))},r.domain=function(t){return arguments.length?(n.domain((e=t.map(Number)).map(u)),r):e},r.ticks=function(n){return ri(e,n)},r.tickFormat=function(n,t){return ui(e,n,t)},r.nice=function(n){return r.domain(ti(e,n))},r.exponent=function(o){return arguments.length?(u=ai(t=o),i=ai(1/t),n.domain(e.map(u)),r):t},r.copy=function(){return oi(n.copy(),t,e)},ni(r,n)}function ai(n){return function(t){return 0>t?-Math.pow(-t,n):Math.pow(t,n)}}function ci(n,t){function e(e){return o[((i.get(e)||"range"===t.t&&i.set(e,n.push(e)))-1)%o.length]}function r(t,e){return mo.range(n.length).map(function(n){return t+e*n})}var i,o,a;return e.domain=function(r){if(!arguments.length)return n;n=[],i=new u;for(var o,a=-1,c=r.length;++ae?[0/0,0/0]:[e>0?u[e-1]:n[0],et?0/0:t/i+n,[t,t+1/i]},r.copy=function(){return si(n,t,e)},u()}function fi(n,t){function e(e){return e>=e?t[mo.bisect(n,e)]:void 0}return e.domain=function(t){return arguments.length?(n=t,e):n},e.range=function(n){return arguments.length?(t=n,e):t},e.invertExtent=function(e){return e=t.indexOf(e),[n[e-1],n[e]]},e.copy=function(){return fi(n,t)},e}function hi(n){function t(n){return+n}return t.invert=t,t.domain=t.range=function(e){return arguments.length?(n=e.map(t),t):n},t.ticks=function(t){return ri(n,t)},t.tickFormat=function(t,e){return ui(n,t,e)},t.copy=function(){return hi(n)},t}function gi(n){return n.innerRadius}function pi(n){return n.outerRadius}function di(n){return n.startAngle}function vi(n){return n.endAngle}function mi(n){for(var t,e,r,u=-1,i=n.length;++ue?l():(i.active=e,o.event&&o.event.start.call(n,s,t),o.tween.forEach(function(e,r){(r=r.call(n,s,t))&&p.push(r)}),c(r||1)?1:(xt(c,h,a),void 0))}function c(r){if(i.active!==e)return l();for(var u=r/g,a=f(u),c=p.length;c>0;)p[--c].call(n,a);return u>=1?(o.event&&o.event.end.call(n,s,t),l()):void 0}function l(){return--i.count?delete i[e]:delete n.__transition__,1}var s=n.__data__,f=o.ease,h=o.delay,g=o.duration,p=[];return r>=h?u(r-h):(xt(u,h,a),void 0)},0,a)}}function Ti(n,t){n.attr("transform",function(n){return"translate("+t(n)+",0)"})}function qi(n,t){n.attr("transform",function(n){return"translate(0,"+t(n)+")"})}function zi(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function Ci(n,t,e){function r(t){var e=n(t),r=i(e,1);return r-t>t-e?e:r}function u(e){return t(e=n(new Jc(e-1)),1),e}function i(n,e){return t(n=new Jc(+n),e),n}function o(n,r,i){var o=u(n),a=[];if(i>1)for(;r>o;)e(o)%i||a.push(new Date(+o)),t(o,1);else for(;r>o;)a.push(new Date(+o)),t(o,1);return a}function a(n,t,e){try{Jc=zi;var r=new zi;return r._=n,o(r,t,e)}finally{Jc=Date}}n.floor=n,n.round=r,n.ceil=u,n.offset=i,n.range=o;var c=n.utc=Di(n);return c.floor=c,c.round=Di(r),c.ceil=Di(u),c.offset=Di(i),c.range=a,n}function Di(n){return function(t,e){try{Jc=zi;var r=new zi;return r._=t,n(r,e)._}finally{Jc=Date}}}function ji(n){function t(t){for(var r,u,i,o=[],a=-1,c=0;++aa;){if(r>=l)return-1;if(u=t.charCodeAt(a++),37===u){if(o=t.charAt(a++),i=ml[o in dl?t.charAt(a++):o],!i||(r=i(n,e,r))<0)return-1}else if(u!=e.charCodeAt(r++))return-1}return r}function Hi(n){return new RegExp("^(?:"+n.map(mo.requote).join("|")+")","i")}function Fi(n){for(var t=new u,e=-1,r=n.length;++en?"-":"",u=(r?-n:n)+"",i=u.length;return r+(e>i?new Array(e-i+1).join(t)+u:u)}function Oi(n,t,e){cl.lastIndex=0;var r=cl.exec(t.substring(e));return r?(n.w=ll.get(r[0].toLowerCase()),e+r[0].length):-1}function Ri(n,t,e){ol.lastIndex=0;var r=ol.exec(t.substring(e));return r?(n.w=al.get(r[0].toLowerCase()),e+r[0].length):-1}function Yi(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e,e+1));return r?(n.w=+r[0],e+r[0].length):-1}function Ii(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e));return r?(n.U=+r[0],e+r[0].length):-1}function Ui(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e));return r?(n.W=+r[0],e+r[0].length):-1}function Zi(n,t,e){hl.lastIndex=0;var r=hl.exec(t.substring(e));return r?(n.m=gl.get(r[0].toLowerCase()),e+r[0].length):-1}function Vi(n,t,e){sl.lastIndex=0;var r=sl.exec(t.substring(e));return r?(n.m=fl.get(r[0].toLowerCase()),e+r[0].length):-1}function Xi(n,t,e){return Li(n,vl.c.toString(),t,e)}function $i(n,t,e){return Li(n,vl.x.toString(),t,e)}function Bi(n,t,e){return Li(n,vl.X.toString(),t,e)}function Wi(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e,e+4));return r?(n.y=+r[0],e+r[0].length):-1}function Ji(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e,e+2));return r?(n.y=Ki(+r[0]),e+r[0].length):-1}function Gi(n,t,e){return/^[+-]\d{4}$/.test(t=t.substring(e,e+5))?(n.Z=+t,e+5):-1}function Ki(n){return n+(n>68?1900:2e3)}function Qi(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e,e+2));return r?(n.m=r[0]-1,e+r[0].length):-1}function no(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e,e+2));return r?(n.d=+r[0],e+r[0].length):-1}function to(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e,e+3));return r?(n.j=+r[0],e+r[0].length):-1}function eo(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e,e+2));return r?(n.H=+r[0],e+r[0].length):-1}function ro(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e,e+2));return r?(n.M=+r[0],e+r[0].length):-1}function uo(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e,e+2));return r?(n.S=+r[0],e+r[0].length):-1}function io(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e,e+3));return r?(n.L=+r[0],e+r[0].length):-1}function oo(n,t,e){var r=Ml.get(t.substring(e,e+=2).toLowerCase());return null==r?-1:(n.p=r,e)}function ao(n){var t=n.getTimezoneOffset(),e=t>0?"-":"+",r=~~(Math.abs(t)/60),u=Math.abs(t)%60;return e+Pi(r,"0",2)+Pi(u,"0",2)}function co(n,t,e){pl.lastIndex=0;var r=pl.exec(t.substring(e,e+1));return r?e+r[0].length:-1}function lo(n){function t(n){try{Jc=zi;var t=new Jc;return t._=n,e(t)}finally{Jc=Date}}var e=ji(n);return t.parse=function(n){try{Jc=zi;var t=e.parse(n);return t&&t._}finally{Jc=Date}},t.toString=e.toString,t}function so(n){return n.toISOString()}function fo(n,t,e){function r(t){return n(t)}function u(n,e){var r=n[1]-n[0],u=r/e,i=mo.bisect(bl,u);return i==bl.length?[t.year,ei(n.map(function(n){return n/31536e6}),e)[2]]:i?t[u/bl[i-1]1?{floor:function(t){for(;e(t=n.floor(t));)t=ho(t-1);return t},ceil:function(t){for(;e(t=n.ceil(t));)t=ho(+t+1);return t}}:n))},r.ticks=function(n,t){var e=$u(r.domain()),i=null==n?u(e,10):"number"==typeof n?u(e,n):!n.range&&[{range:n},t];return i&&(n=i[0],t=i[1]),n.range(e[0],ho(+e[1]+1),1>t?1:t)},r.tickFormat=function(){return e},r.copy=function(){return fo(n.copy(),t,e)},ni(r,n)}function ho(n){return new Date(n)}function go(n){return function(t){for(var e=n.length-1,r=n[e];!r[1](t);)r=n[--e];return r[0](t)}}function po(n){return JSON.parse(n.responseText)}function vo(n){var t=xo.createRange();return t.selectNode(xo.body),t.createContextualFragment(n.responseText)}var mo={version:"3.3.6"};Date.now||(Date.now=function(){return+new Date});var yo=[].slice,Mo=function(n){return yo.call(n)},xo=document,bo=xo.documentElement,_o=window;try{Mo(bo.childNodes)[0].nodeType}catch(wo){Mo=function(n){for(var t=n.length,e=new Array(t);t--;)e[t]=n[t];return e}}try{xo.createElement("div").style.setProperty("opacity",0,"")}catch(So){var Eo=_o.Element.prototype,ko=Eo.setAttribute,Ao=Eo.setAttributeNS,No=_o.CSSStyleDeclaration.prototype,To=No.setProperty;Eo.setAttribute=function(n,t){ko.call(this,n,t+"")},Eo.setAttributeNS=function(n,t,e){Ao.call(this,n,t,e+"")},No.setProperty=function(n,t,e){To.call(this,n,t+"",e)}}mo.ascending=function(n,t){return t>n?-1:n>t?1:n>=t?0:0/0},mo.descending=function(n,t){return n>t?-1:t>n?1:t>=n?0:0/0},mo.min=function(n,t){var e,r,u=-1,i=n.length;if(1===arguments.length){for(;++u=e);)e=void 0;for(;++ur&&(e=r)}else{for(;++u=e);)e=void 0;for(;++ur&&(e=r)}return e},mo.max=function(n,t){var e,r,u=-1,i=n.length;if(1===arguments.length){for(;++u=e);)e=void 0;for(;++ue&&(e=r)}else{for(;++u=e);)e=void 0;for(;++ue&&(e=r)}return e},mo.extent=function(n,t){var e,r,u,i=-1,o=n.length;if(1===arguments.length){for(;++i=e);)e=u=void 0;for(;++ir&&(e=r),r>u&&(u=r))}else{for(;++i=e);)e=void 0;for(;++ir&&(e=r),r>u&&(u=r))}return[e,u]},mo.sum=function(n,t){var e,r=0,u=n.length,i=-1;if(1===arguments.length)for(;++i1&&(t=t.map(e)),t=t.filter(n),t.length?mo.quantile(t.sort(mo.ascending),.5):void 0},mo.bisector=function(n){return{left:function(t,e,r,u){for(arguments.length<3&&(r=0),arguments.length<4&&(u=t.length);u>r;){var i=r+u>>>1;n.call(t,t[i],i)r;){var i=r+u>>>1;er?0:r);r>e;)i[e]=[t=u,u=n[++e]];return i},mo.zip=function(){if(!(u=arguments.length))return[];for(var n=-1,e=mo.min(arguments,t),r=new Array(e);++nr)for(;(u=n+r*++a)>t;)i.push(u/o);else for(;(u=n+r*++a)=o.length)return r?r.call(i,a):e?a.sort(e):a;for(var l,s,f,h,g=-1,p=a.length,d=o[c++],v=new u;++g=o.length)return n;var r=[],u=a[e++];return n.forEach(function(n,u){r.push({key:n,values:t(u,e)})}),u?r.sort(function(n,t){return u(n.key,t.key)}):r}var e,r,i={},o=[],a=[];return i.map=function(t,e){return n(e,t,0)},i.entries=function(e){return t(n(mo.map,e,0),0)},i.key=function(n){return o.push(n),i},i.sortKeys=function(n){return a[o.length-1]=n,i},i.sortValues=function(n){return e=n,i},i.rollup=function(n){return r=n,i},i},mo.set=function(n){var t=new i;if(n)for(var e=0,r=n.length;r>e;++e)t.add(n[e]);return t},r(i,{has:function(n){return zo+n in this},add:function(n){return this[zo+n]=!0,n},remove:function(n){return n=zo+n,n in this&&delete this[n]},values:function(){var n=[];return this.forEach(function(t){n.push(t)}),n},forEach:function(n){for(var t in this)t.charCodeAt(0)===Co&&n.call(this,t.substring(1))}}),mo.behavior={},mo.rebind=function(n,t){for(var e,r=1,u=arguments.length;++r=0&&(r=n.substring(e+1),n=n.substring(0,e)),n)return arguments.length<2?this[n].on(r):this[n].on(r,t);if(2===arguments.length){if(null==t)for(n in this)this.hasOwnProperty(n)&&this[n].on(r,null);return this}},mo.event=null,mo.requote=function(n){return n.replace(jo,"\\$&")};var jo=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,Lo={}.__proto__?function(n,t){n.__proto__=t}:function(n,t){for(var e in t)n[e]=t[e]},Ho=function(n,t){return t.querySelector(n)},Fo=function(n,t){return t.querySelectorAll(n)},Po=bo[a(bo,"matchesSelector")],Oo=function(n,t){return Po.call(n,t)};"function"==typeof Sizzle&&(Ho=function(n,t){return Sizzle(n,t)[0]||null},Fo=function(n,t){return Sizzle.uniqueSort(Sizzle(n,t))},Oo=Sizzle.matchesSelector),mo.selection=function(){return Uo};var Ro=mo.selection.prototype=[];Ro.select=function(n){var t,e,r,u,i=[];n=d(n);for(var o=-1,a=this.length;++o=0&&(e=n.substring(0,t),n=n.substring(t+1)),Yo.hasOwnProperty(e)?{space:Yo[e],local:n}:n}},Ro.attr=function(n,t){if(arguments.length<2){if("string"==typeof n){var e=this.node();return n=mo.ns.qualify(n),n.local?e.getAttributeNS(n.space,n.local):e.getAttribute(n)}for(t in n)this.each(m(t,n[t]));return this}return this.each(m(n,t))},Ro.classed=function(n,t){if(arguments.length<2){if("string"==typeof n){var e=this.node(),r=(n=n.trim().split(/^|\s+/g)).length,u=-1;if(t=e.classList){for(;++ur){if("string"!=typeof n){2>r&&(t="");for(e in n)this.each(_(e,n[e],t));return this}if(2>r)return _o.getComputedStyle(this.node(),null).getPropertyValue(n);e=""}return this.each(_(n,t,e))},Ro.property=function(n,t){if(arguments.length<2){if("string"==typeof n)return this.node()[n];for(t in n)this.each(w(t,n[t]));return this}return this.each(w(n,t))},Ro.text=function(n){return arguments.length?this.each("function"==typeof n?function(){var t=n.apply(this,arguments);this.textContent=null==t?"":t}:null==n?function(){this.textContent=""}:function(){this.textContent=n}):this.node().textContent},Ro.html=function(n){return arguments.length?this.each("function"==typeof n?function(){var t=n.apply(this,arguments);this.innerHTML=null==t?"":t}:null==n?function(){this.innerHTML=""}:function(){this.innerHTML=n}):this.node().innerHTML},Ro.append=function(n){return n=S(n),this.select(function(){return this.appendChild(n.apply(this,arguments))})},Ro.insert=function(n,t){return n=S(n),t=d(t),this.select(function(){return this.insertBefore(n.apply(this,arguments),t.apply(this,arguments))})},Ro.remove=function(){return this.each(function(){var n=this.parentNode;n&&n.removeChild(this)})},Ro.data=function(n,t){function e(n,e){var r,i,o,a=n.length,f=e.length,h=Math.min(a,f),g=new Array(f),p=new Array(f),d=new Array(a);if(t){var v,m=new u,y=new u,M=[];for(r=-1;++rr;++r)p[r]=E(e[r]);for(;a>r;++r)d[r]=n[r]}p.update=g,p.parentNode=g.parentNode=d.parentNode=n.parentNode,c.push(p),l.push(g),s.push(d)}var r,i,o=-1,a=this.length;if(!arguments.length){for(n=new Array(a=(r=this[0]).length);++oi;i++){u.push(t=[]),t.parentNode=(e=this[i]).parentNode;for(var a=0,c=e.length;c>a;a++)(r=e[a])&&n.call(r,r.__data__,a)&&t.push(r)}return p(u)},Ro.order=function(){for(var n=-1,t=this.length;++n=0;)(e=r[u])&&(i&&i!==e.nextSibling&&i.parentNode.insertBefore(e,i),i=e);return this},Ro.sort=function(n){n=A.apply(this,arguments);for(var t=-1,e=this.length;++tn;n++)for(var e=this[n],r=0,u=e.length;u>r;r++){var i=e[r];if(i)return i}return null},Ro.size=function(){var n=0;return this.each(function(){++n}),n};var Io=[];mo.selection.enter=T,mo.selection.enter.prototype=Io,Io.append=Ro.append,Io.empty=Ro.empty,Io.node=Ro.node,Io.call=Ro.call,Io.size=Ro.size,Io.select=function(n){for(var t,e,r,u,i,o=[],a=-1,c=this.length;++ar){if("string"!=typeof n){2>r&&(t=!1);for(e in n)this.each(C(e,n[e],t));return this}if(2>r)return(r=this.node()["__on"+n])&&r._;e=!1}return this.each(C(n,t,e))};var Zo=mo.map({mouseenter:"mouseover",mouseleave:"mouseout"});Zo.forEach(function(n){"on"+n in xo&&Zo.remove(n)});var Vo=a(bo.style,"userSelect"),Xo=0;mo.mouse=function(n){return H(n,h())};var $o=/WebKit/.test(_o.navigator.userAgent)?-1:0;mo.touches=function(n,t){return arguments.length<2&&(t=h().touches),t?Mo(t).map(function(t){var e=H(n,t);return e.identifier=t.identifier,e}):[]},mo.behavior.drag=function(){function n(){this.on("mousedown.drag",o).on("touchstart.drag",a)}function t(){return mo.event.changedTouches[0].identifier}function e(n,t){return mo.touches(n).filter(function(n){return n.identifier===t})[0]}function r(n,t,e,r){return function(){function o(){var n=t(s,g),e=n[0]-d[0],r=n[1]-d[1];v|=e|r,d=n,f({type:"drag",x:n[0]+c[0],y:n[1]+c[1],dx:e,dy:r})}function a(){m.on(e+"."+p,null).on(r+"."+p,null),y(v&&mo.event.target===h),f({type:"dragend"})}var c,l=this,s=l.parentNode,f=u.of(l,arguments),h=mo.event.target,g=n(),p=null==g?"drag":"drag-"+g,d=t(s,g),v=0,m=mo.select(_o).on(e+"."+p,o).on(r+"."+p,a),y=L();i?(c=i.apply(l,arguments),c=[c.x-d[0],c.y-d[1]]):c=[0,0],f({type:"dragstart"})}}var u=g(n,"drag","dragstart","dragend"),i=null,o=r(c,mo.mouse,"mousemove","mouseup"),a=r(t,e,"touchmove","touchend");return n.origin=function(t){return arguments.length?(i=t,n):i},mo.rebind(n,u,"on")};var Bo=Math.PI,Wo=2*Bo,Jo=Bo/2,Go=1e-6,Ko=Go*Go,Qo=Bo/180,na=180/Bo,ta=Math.SQRT2,ea=2,ra=4;mo.interpolateZoom=function(n,t){function e(n){var t=n*y;if(m){var e=Y(d),o=i/(ea*h)*(e*I(ta*t+d)-R(d));return[r+o*l,u+o*s,i*e/Y(ta*t+d)]}return[r+n*l,u+n*s,i*Math.exp(ta*t)]}var r=n[0],u=n[1],i=n[2],o=t[0],a=t[1],c=t[2],l=o-r,s=a-u,f=l*l+s*s,h=Math.sqrt(f),g=(c*c-i*i+ra*f)/(2*i*ea*h),p=(c*c-i*i-ra*f)/(2*c*ea*h),d=Math.log(Math.sqrt(g*g+1)-g),v=Math.log(Math.sqrt(p*p+1)-p),m=v-d,y=(m||Math.log(c/i))/ta;return e.duration=1e3*y,e},mo.behavior.zoom=function(){function n(n){n.on(A,l).on(oa+".zoom",h).on(N,p).on("dblclick.zoom",d).on(q,s)}function t(n){return[(n[0]-S.x)/S.k,(n[1]-S.y)/S.k]}function e(n){return[n[0]*S.k+S.x,n[1]*S.k+S.y]}function r(n){S.k=Math.max(k[0],Math.min(k[1],n))}function u(n,t){t=e(t),S.x+=n[0]-t[0],S.y+=n[1]-t[1]}function i(){b&&b.domain(x.range().map(function(n){return(n-S.x)/S.k}).map(x.invert)),w&&w.domain(_.range().map(function(n){return(n-S.y)/S.k}).map(_.invert))}function o(n){n({type:"zoomstart"})}function a(n){i(),n({type:"zoom",scale:S.k,translate:[S.x,S.y]})}function c(n){n({type:"zoomend"})}function l(){function n(){s=1,u(mo.mouse(r),h),a(i)}function e(){f.on(N,_o===r?p:null).on(T,null),g(s&&mo.event.target===l),c(i)}var r=this,i=C.of(r,arguments),l=mo.event.target,s=0,f=mo.select(_o).on(N,n).on(T,e),h=t(mo.mouse(r)),g=L();z.call(r),o(i)}function s(){function n(){var n=mo.touches(p);return g=S.k,n.forEach(function(n){n.identifier in v&&(v[n.identifier]=t(n))}),n}function e(){for(var t=mo.event.changedTouches,e=0,i=t.length;i>e;++e)v[t[e].identifier]=null;var o=n(),c=Date.now();if(1===o.length){if(500>c-M){var l=o[0],s=v[l.identifier];r(2*S.k),u(l,s),f(),a(d)}M=c}else if(o.length>1){var l=o[0],h=o[1],g=l[0]-h[0],p=l[1]-h[1];m=g*g+p*p}}function i(){for(var n,t,e,i,o=mo.touches(p),c=0,l=o.length;l>c;++c,i=null)if(e=o[c],i=v[e.identifier]){if(t)break;n=e,t=i}if(i){var s=(s=e[0]-n[0])*s+(s=e[1]-n[1])*s,f=m&&Math.sqrt(s/m);n=[(n[0]+e[0])/2,(n[1]+e[1])/2],t=[(t[0]+i[0])/2,(t[1]+i[1])/2],r(f*g)}M=null,u(n,t),a(d)}function h(){if(mo.event.touches.length){for(var t=mo.event.changedTouches,e=0,r=t.length;r>e;++e)delete v[t[e].identifier];for(var u in v)return void n()}_.on(x,null).on(b,null),w.on(A,l).on(q,s),E(),c(d)}var g,p=this,d=C.of(p,arguments),v={},m=0,y=mo.event.changedTouches[0].identifier,x="touchmove.zoom-"+y,b="touchend.zoom-"+y,_=mo.select(_o).on(x,i).on(b,h),w=mo.select(p).on(A,null).on(q,e),E=L();z.call(p),e(),o(d)}function h(){var n=C.of(this,arguments);y?clearTimeout(y):(z.call(this),o(n)),y=setTimeout(function(){y=null,c(n)},50),f();var e=m||mo.mouse(this);v||(v=t(e)),r(Math.pow(2,.002*ua())*S.k),u(e,v),a(n)}function p(){v=null}function d(){var n=C.of(this,arguments),e=mo.mouse(this),i=t(e),l=Math.log(S.k)/Math.LN2;o(n),r(Math.pow(2,mo.event.shiftKey?Math.ceil(l)-1:Math.floor(l)+1)),u(e,i),a(n),c(n)}var v,m,y,M,x,b,_,w,S={x:0,y:0,k:1},E=[960,500],k=ia,A="mousedown.zoom",N="mousemove.zoom",T="mouseup.zoom",q="touchstart.zoom",C=g(n,"zoomstart","zoom","zoomend");return n.event=function(n){n.each(function(){var n=C.of(this,arguments),t=S;Oc?mo.select(this).transition().each("start.zoom",function(){S=this.__chart__||{x:0,y:0,k:1},o(n)}).tween("zoom:zoom",function(){var e=E[0],r=E[1],u=e/2,i=r/2,o=mo.interpolateZoom([(u-S.x)/S.k,(i-S.y)/S.k,e/S.k],[(u-t.x)/t.k,(i-t.y)/t.k,e/t.k]);return function(t){var r=o(t),c=e/r[2];this.__chart__=S={x:u-r[0]*c,y:i-r[1]*c,k:c},a(n)}}).each("end.zoom",function(){c(n)}):(this.__chart__=S,o(n),a(n),c(n))})},n.translate=function(t){return arguments.length?(S={x:+t[0],y:+t[1],k:S.k},i(),n):[S.x,S.y]},n.scale=function(t){return arguments.length?(S={x:S.x,y:S.y,k:+t},i(),n):S.k},n.scaleExtent=function(t){return arguments.length?(k=null==t?ia:[+t[0],+t[1]],n):k},n.center=function(t){return arguments.length?(m=t&&[+t[0],+t[1]],n):m},n.size=function(t){return arguments.length?(E=t&&[+t[0],+t[1]],n):E},n.x=function(t){return arguments.length?(b=t,x=t.copy(),S={x:0,y:0,k:1},n):b},n.y=function(t){return arguments.length?(w=t,_=t.copy(),S={x:0,y:0,k:1},n):w},mo.rebind(n,C,"on")};var ua,ia=[0,1/0],oa="onwheel"in xo?(ua=function(){return-mo.event.deltaY*(mo.event.deltaMode?120:1)},"wheel"):"onmousewheel"in xo?(ua=function(){return mo.event.wheelDelta},"mousewheel"):(ua=function(){return-mo.event.detail},"MozMousePixelScroll");Z.prototype.toString=function(){return this.rgb()+""},mo.hsl=function(n,t,e){return 1===arguments.length?n instanceof X?V(n.h,n.s,n.l):lt(""+n,st,V):V(+n,+t,+e)};var aa=X.prototype=new Z;aa.brighter=function(n){return n=Math.pow(.7,arguments.length?n:1),V(this.h,this.s,this.l/n)},aa.darker=function(n){return n=Math.pow(.7,arguments.length?n:1),V(this.h,this.s,n*this.l)},aa.rgb=function(){return $(this.h,this.s,this.l)},mo.hcl=function(n,t,e){return 1===arguments.length?n instanceof W?B(n.h,n.c,n.l):n instanceof K?nt(n.l,n.a,n.b):nt((n=ft((n=mo.rgb(n)).r,n.g,n.b)).l,n.a,n.b):B(+n,+t,+e)};var ca=W.prototype=new Z;ca.brighter=function(n){return B(this.h,this.c,Math.min(100,this.l+la*(arguments.length?n:1)))},ca.darker=function(n){return B(this.h,this.c,Math.max(0,this.l-la*(arguments.length?n:1)))},ca.rgb=function(){return J(this.h,this.c,this.l).rgb()},mo.lab=function(n,t,e){return 1===arguments.length?n instanceof K?G(n.l,n.a,n.b):n instanceof W?J(n.l,n.c,n.h):ft((n=mo.rgb(n)).r,n.g,n.b):G(+n,+t,+e)};var la=18,sa=.95047,fa=1,ha=1.08883,ga=K.prototype=new Z;ga.brighter=function(n){return G(Math.min(100,this.l+la*(arguments.length?n:1)),this.a,this.b)},ga.darker=function(n){return G(Math.max(0,this.l-la*(arguments.length?n:1)),this.a,this.b)},ga.rgb=function(){return Q(this.l,this.a,this.b)},mo.rgb=function(n,t,e){return 1===arguments.length?n instanceof at?ot(n.r,n.g,n.b):lt(""+n,ot,$):ot(~~n,~~t,~~e)};var pa=at.prototype=new Z;pa.brighter=function(n){n=Math.pow(.7,arguments.length?n:1);var t=this.r,e=this.g,r=this.b,u=30;return t||e||r?(t&&u>t&&(t=u),e&&u>e&&(e=u),r&&u>r&&(r=u),ot(Math.min(255,~~(t/n)),Math.min(255,~~(e/n)),Math.min(255,~~(r/n)))):ot(u,u,u)},pa.darker=function(n){return n=Math.pow(.7,arguments.length?n:1),ot(~~(n*this.r),~~(n*this.g),~~(n*this.b))},pa.hsl=function(){return st(this.r,this.g,this.b)},pa.toString=function(){return"#"+ct(this.r)+ct(this.g)+ct(this.b)};var da=mo.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});da.forEach(function(n,t){da.set(n,ut(t))}),mo.functor=pt,mo.xhr=vt(dt),mo.dsv=function(n,t){function e(n,e,i){arguments.length<3&&(i=e,e=null);var o=mo.xhr(n,t,i);return o.row=function(n){return arguments.length?o.response(null==(e=n)?r:u(n)):e},o.row(e)}function r(n){return e.parse(n.responseText)}function u(n){return function(t){return e.parse(t.responseText,n)}}function o(t){return t.map(a).join(n)}function a(n){return c.test(n)?'"'+n.replace(/\"/g,'""')+'"':n}var c=new RegExp('["'+n+"\n]"),l=n.charCodeAt(0);return e.parse=function(n,t){var r;return e.parseRows(n,function(n,e){if(r)return r(n,e-1);var u=new Function("d","return {"+n.map(function(n,t){return JSON.stringify(n)+": d["+t+"]"}).join(",")+"}");r=t?function(n,e){return t(u(n),e)}:u})},e.parseRows=function(n,t){function e(){if(s>=c)return o;if(u)return u=!1,i;var t=s;if(34===n.charCodeAt(t)){for(var e=t;e++s;){var r=n.charCodeAt(s++),a=1;if(10===r)u=!0;else if(13===r)u=!0,10===n.charCodeAt(s)&&(++s,++a);else if(r!==l)continue;return n.substring(t,s-a)}return n.substring(t)}for(var r,u,i={},o={},a=[],c=n.length,s=0,f=0;(r=e())!==o;){for(var h=[];r!==i&&r!==o;)h.push(r),r=e();(!t||(h=t(h,f++)))&&a.push(h)}return a},e.format=function(t){if(Array.isArray(t[0]))return e.formatRows(t);var r=new i,u=[];return t.forEach(function(n){for(var t in n)r.has(t)||u.push(r.add(t))}),[u.map(a).join(n)].concat(t.map(function(t){return u.map(function(n){return a(t[n])}).join(n)})).join("\n")},e.formatRows=function(n){return n.map(o).join("\n")},e},mo.csv=mo.dsv(",","text/csv"),mo.tsv=mo.dsv(" ","text/tab-separated-values");var va,ma,ya,Ma,xa,ba=_o[a(_o,"requestAnimationFrame")]||function(n){setTimeout(n,17)};mo.timer=function(n,t,e){var r=arguments.length;2>r&&(t=0),3>r&&(e=Date.now());var u=e+t,i={callback:n,time:u,next:null};ma?ma.next=i:va=i,ma=i,ya||(Ma=clearTimeout(Ma),ya=1,ba(Mt))},mo.timer.flush=function(){bt(),_t()};var _a=".",wa=",",Sa=[3,3],Ea="$",ka=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"].map(wt);mo.formatPrefix=function(n,t){var e=0;return n&&(0>n&&(n*=-1),t&&(n=mo.round(n,St(n,t))),e=1+Math.floor(1e-12+Math.log(n)/Math.LN10),e=Math.max(-24,Math.min(24,3*Math.floor((0>=e?e+1:e-1)/3)))),ka[8+e/3]},mo.round=function(n,t){return t?Math.round(n*(t=Math.pow(10,t)))/t:Math.round(n)},mo.format=function(n){var t=Aa.exec(n),e=t[1]||" ",r=t[2]||">",u=t[3]||"",i=t[4]||"",o=t[5],a=+t[6],c=t[7],l=t[8],s=t[9],f=1,h="",g=!1;switch(l&&(l=+l.substring(1)),(o||"0"===e&&"="===r)&&(o=e="0",r="=",c&&(a-=Math.floor((a-1)/4))),s){case"n":c=!0,s="g";break;case"%":f=100,h="%",s="f";break;case"p":f=100,h="%",s="r";break;case"b":case"o":case"x":case"X":"#"===i&&(i="0"+s.toLowerCase());case"c":case"d":g=!0,l=0;break;case"s":f=-1,s="r"}"#"===i?i="":"$"===i&&(i=Ea),"r"!=s||l||(s="g"),null!=l&&("g"==s?l=Math.max(1,Math.min(21,l)):("e"==s||"f"==s)&&(l=Math.max(0,Math.min(20,l)))),s=Na.get(s)||Et;var p=o&&c;return function(n){if(g&&n%1)return"";var t=0>n||0===n&&0>1/n?(n=-n,"-"):u;if(0>f){var d=mo.formatPrefix(n,l);n=d.scale(n),h=d.symbol}else n*=f;n=s(n,l);var v=n.lastIndexOf("."),m=0>v?n:n.substring(0,v),y=0>v?"":_a+n.substring(v+1);!o&&c&&(m=Ta(m));var M=i.length+m.length+y.length+(p?0:t.length),x=a>M?new Array(M=a-M+1).join(e):"";return p&&(m=Ta(x+m)),t+=i,n=m+y,("<"===r?t+n+x:">"===r?x+t+n:"^"===r?x.substring(0,M>>=1)+t+n+x.substring(M):t+(p?n:x+n))+h}};var Aa=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,Na=mo.map({b:function(n){return n.toString(2)},c:function(n){return String.fromCharCode(n)},o:function(n){return n.toString(8)},x:function(n){return n.toString(16)},X:function(n){return n.toString(16).toUpperCase()},g:function(n,t){return n.toPrecision(t)},e:function(n,t){return n.toExponential(t)},f:function(n,t){return n.toFixed(t)},r:function(n,t){return(n=mo.round(n,St(n,t))).toFixed(Math.max(0,Math.min(20,St(n*(1+1e-15),t))))}}),Ta=dt;if(Sa){var qa=Sa.length;Ta=function(n){for(var t=n.length,e=[],r=0,u=Sa[0];t>0&&u>0;)e.push(n.substring(t-=u,t+u)),u=Sa[r=(r+1)%qa];return e.reverse().join(wa)}}mo.geo={},kt.prototype={s:0,t:0,add:function(n){At(n,this.t,za),At(za.s,this.s,this),this.s?this.t+=za.t:this.s=za.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var za=new kt;mo.geo.stream=function(n,t){n&&Ca.hasOwnProperty(n.type)?Ca[n.type](n,t):Nt(n,t)};var Ca={Feature:function(n,t){Nt(n.geometry,t)},FeatureCollection:function(n,t){for(var e=n.features,r=-1,u=e.length;++rn?4*Bo+n:n,Ha.lineStart=Ha.lineEnd=Ha.point=c}};mo.geo.bounds=function(){function n(n,t){M.push(x=[s=n,h=n]),f>t&&(f=t),t>g&&(g=t)}function t(t,e){var r=Ct([t*Qo,e*Qo]);if(m){var u=jt(m,r),i=[u[1],-u[0],0],o=jt(i,u);Ft(o),o=Pt(o);var c=t-p,l=c>0?1:-1,d=o[0]*na*l,v=Math.abs(c)>180;if(v^(d>l*p&&l*t>d)){var y=o[1]*na;y>g&&(g=y)}else if(d=(d+360)%360-180,v^(d>l*p&&l*t>d)){var y=-o[1]*na;f>y&&(f=y)}else f>e&&(f=e),e>g&&(g=e);v?p>t?a(s,t)>a(s,h)&&(h=t):a(t,h)>a(s,h)&&(s=t):h>=s?(s>t&&(s=t),t>h&&(h=t)):t>p?a(s,t)>a(s,h)&&(h=t):a(t,h)>a(s,h)&&(s=t)}else n(t,e);m=r,p=t}function e(){b.point=t}function r(){x[0]=s,x[1]=h,b.point=n,m=null}function u(n,e){if(m){var r=n-p;y+=Math.abs(r)>180?r+(r>0?360:-360):r}else d=n,v=e;Ha.point(n,e),t(n,e)}function i(){Ha.lineStart()}function o(){u(d,v),Ha.lineEnd(),Math.abs(y)>Go&&(s=-(h=180)),x[0]=s,x[1]=h,m=null}function a(n,t){return(t-=n)<0?t+360:t}function c(n,t){return n[0]-t[0]}function l(n,t){return t[0]<=t[1]?t[0]<=n&&n<=t[1]:nLa?(s=-(h=180),f=-(g=90)):y>Go?g=90:-Go>y&&(f=-90),x[0]=s,x[1]=h}};return function(n){g=h=-(s=f=1/0),M=[],mo.geo.stream(n,b);var t=M.length;if(t){M.sort(c);for(var e,r=1,u=M[0],i=[u];t>r;++r)e=M[r],l(e[0],u)||l(e[1],u)?(a(u[0],e[1])>a(u[0],u[1])&&(u[1]=e[1]),a(e[0],u[1])>a(u[0],u[1])&&(u[0]=e[0])):i.push(u=e);for(var o,e,p=-1/0,t=i.length-1,r=0,u=i[t];t>=r;u=e,++r)e=i[r],(o=a(u[1],e[0]))>p&&(p=o,s=e[0],h=u[1])}return M=x=null,1/0===s||1/0===f?[[0/0,0/0],[0/0,0/0]]:[[s,f],[h,g]]}}(),mo.geo.centroid=function(n){Fa=Pa=Oa=Ra=Ya=Ia=Ua=Za=Va=Xa=$a=0,mo.geo.stream(n,Ba);var t=Va,e=Xa,r=$a,u=t*t+e*e+r*r;return Ko>u&&(t=Ia,e=Ua,r=Za,Go>Pa&&(t=Oa,e=Ra,r=Ya),u=t*t+e*e+r*r,Ko>u)?[0/0,0/0]:[Math.atan2(e,t)*na,O(r/Math.sqrt(u))*na]};var Fa,Pa,Oa,Ra,Ya,Ia,Ua,Za,Va,Xa,$a,Ba={sphere:c,point:Rt,lineStart:It,lineEnd:Ut,polygonStart:function(){Ba.lineStart=Zt},polygonEnd:function(){Ba.lineStart=It}},Wa=Bt(Vt,Qt,te,[-Bo,-Bo/2]),Ja=1e9;mo.geo.clipExtent=function(){var n,t,e,r,u,i,o={stream:function(n){return u&&(u.valid=!1),u=i(n),u.valid=!0,u},extent:function(a){return arguments.length?(i=re(n=+a[0][0],t=+a[0][1],e=+a[1][0],r=+a[1][1]),u&&(u.valid=!1,u=null),o):[[n,t],[e,r]]}};return o.extent([[0,0],[960,500]])},(mo.geo.conicEqualArea=function(){return oe(ae)}).raw=ae,mo.geo.albers=function(){return mo.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},mo.geo.albersUsa=function(){function n(n){var i=n[0],o=n[1];return t=null,e(i,o),t||(r(i,o),t)||u(i,o),t}var t,e,r,u,i=mo.geo.albers(),o=mo.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),a=mo.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),c={point:function(n,e){t=[n,e]}};return n.invert=function(n){var t=i.scale(),e=i.translate(),r=(n[0]-e[0])/t,u=(n[1]-e[1])/t;return(u>=.12&&.234>u&&r>=-.425&&-.214>r?o:u>=.166&&.234>u&&r>=-.214&&-.115>r?a:i).invert(n)},n.stream=function(n){var t=i.stream(n),e=o.stream(n),r=a.stream(n);return{point:function(n,u){t.point(n,u),e.point(n,u),r.point(n,u)},sphere:function(){t.sphere(),e.sphere(),r.sphere()},lineStart:function(){t.lineStart(),e.lineStart(),r.lineStart()},lineEnd:function(){t.lineEnd(),e.lineEnd(),r.lineEnd()},polygonStart:function(){t.polygonStart(),e.polygonStart(),r.polygonStart()},polygonEnd:function(){t.polygonEnd(),e.polygonEnd(),r.polygonEnd()}}},n.precision=function(t){return arguments.length?(i.precision(t),o.precision(t),a.precision(t),n):i.precision()},n.scale=function(t){return arguments.length?(i.scale(t),o.scale(.35*t),a.scale(t),n.translate(i.translate())):i.scale()},n.translate=function(t){if(!arguments.length)return i.translate();var l=i.scale(),s=+t[0],f=+t[1];return e=i.translate(t).clipExtent([[s-.455*l,f-.238*l],[s+.455*l,f+.238*l]]).stream(c).point,r=o.translate([s-.307*l,f+.201*l]).clipExtent([[s-.425*l+Go,f+.12*l+Go],[s-.214*l-Go,f+.234*l-Go]]).stream(c).point,u=a.translate([s-.205*l,f+.212*l]).clipExtent([[s-.214*l+Go,f+.166*l+Go],[s-.115*l-Go,f+.234*l-Go]]).stream(c).point,n},n.scale(1070)};var Ga,Ka,Qa,nc,tc,ec,rc={point:c,lineStart:c,lineEnd:c,polygonStart:function(){Ka=0,rc.lineStart=ce},polygonEnd:function(){rc.lineStart=rc.lineEnd=rc.point=c,Ga+=Math.abs(Ka/2)}},uc={point:le,lineStart:c,lineEnd:c,polygonStart:c,polygonEnd:c},ic={point:he,lineStart:ge,lineEnd:pe,polygonStart:function(){ic.lineStart=de},polygonEnd:function(){ic.point=he,ic.lineStart=ge,ic.lineEnd=pe}};mo.geo.transform=function(n){return{stream:function(t){var e=new ye(t);for(var r in n)e[r]=n[r];return e}}},ye.prototype={point:function(n,t){this.stream.point(n,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}},mo.geo.path=function(){function n(n){return n&&("function"==typeof a&&i.pointRadius(+a.apply(this,arguments)),o&&o.valid||(o=u(i)),mo.geo.stream(n,o)),i.result()}function t(){return o=null,n}var e,r,u,i,o,a=4.5;return n.area=function(n){return Ga=0,mo.geo.stream(n,u(rc)),Ga},n.centroid=function(n){return Oa=Ra=Ya=Ia=Ua=Za=Va=Xa=$a=0,mo.geo.stream(n,u(ic)),$a?[Va/$a,Xa/$a]:Za?[Ia/Za,Ua/Za]:Ya?[Oa/Ya,Ra/Ya]:[0/0,0/0]},n.bounds=function(n){return tc=ec=-(Qa=nc=1/0),mo.geo.stream(n,u(uc)),[[Qa,nc],[tc,ec]]},n.projection=function(n){return arguments.length?(u=(e=n)?n.stream||Me(n):dt,t()):e},n.context=function(n){return arguments.length?(i=null==(r=n)?new se:new ve(n),"function"!=typeof a&&i.pointRadius(a),t()):r},n.pointRadius=function(t){return arguments.length?(a="function"==typeof t?t:(i.pointRadius(+t),+t),n):a},n.projection(mo.geo.albersUsa()).context(null)},mo.geo.projection=xe,mo.geo.projectionMutator=be,(mo.geo.equirectangular=function(){return xe(we)}).raw=we.invert=we,mo.geo.rotation=function(n){function t(t){return t=n(t[0]*Qo,t[1]*Qo),t[0]*=na,t[1]*=na,t}return n=Ee(n[0]%360*Qo,n[1]*Qo,n.length>2?n[2]*Qo:0),t.invert=function(t){return t=n.invert(t[0]*Qo,t[1]*Qo),t[0]*=na,t[1]*=na,t},t},Se.invert=we,mo.geo.circle=function(){function n(){var n="function"==typeof r?r.apply(this,arguments):r,t=Ee(-n[0]*Qo,-n[1]*Qo,0).invert,u=[];return e(null,null,1,{point:function(n,e){u.push(n=t(n,e)),n[0]*=na,n[1]*=na}}),{type:"Polygon",coordinates:[u]}}var t,e,r=[0,0],u=6;return n.origin=function(t){return arguments.length?(r=t,n):r},n.angle=function(r){return arguments.length?(e=Te((t=+r)*Qo,u*Qo),n):t},n.precision=function(r){return arguments.length?(e=Te(t*Qo,(u=+r)*Qo),n):u},n.angle(90)},mo.geo.distance=function(n,t){var e,r=(t[0]-n[0])*Qo,u=n[1]*Qo,i=t[1]*Qo,o=Math.sin(r),a=Math.cos(r),c=Math.sin(u),l=Math.cos(u),s=Math.sin(i),f=Math.cos(i);return Math.atan2(Math.sqrt((e=f*o)*e+(e=l*s-c*f*a)*e),c*s+l*f*a)},mo.geo.graticule=function(){function n(){return{type:"MultiLineString",coordinates:t()}}function t(){return mo.range(Math.ceil(i/v)*v,u,v).map(h).concat(mo.range(Math.ceil(l/m)*m,c,m).map(g)).concat(mo.range(Math.ceil(r/p)*p,e,p).filter(function(n){return Math.abs(n%v)>Go -}).map(s)).concat(mo.range(Math.ceil(a/d)*d,o,d).filter(function(n){return Math.abs(n%m)>Go}).map(f))}var e,r,u,i,o,a,c,l,s,f,h,g,p=10,d=p,v=90,m=360,y=2.5;return n.lines=function(){return t().map(function(n){return{type:"LineString",coordinates:n}})},n.outline=function(){return{type:"Polygon",coordinates:[h(i).concat(g(c).slice(1),h(u).reverse().slice(1),g(l).reverse().slice(1))]}},n.extent=function(t){return arguments.length?n.majorExtent(t).minorExtent(t):n.minorExtent()},n.majorExtent=function(t){return arguments.length?(i=+t[0][0],u=+t[1][0],l=+t[0][1],c=+t[1][1],i>u&&(t=i,i=u,u=t),l>c&&(t=l,l=c,c=t),n.precision(y)):[[i,l],[u,c]]},n.minorExtent=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],a=+t[0][1],o=+t[1][1],r>e&&(t=r,r=e,e=t),a>o&&(t=a,a=o,o=t),n.precision(y)):[[r,a],[e,o]]},n.step=function(t){return arguments.length?n.majorStep(t).minorStep(t):n.minorStep()},n.majorStep=function(t){return arguments.length?(v=+t[0],m=+t[1],n):[v,m]},n.minorStep=function(t){return arguments.length?(p=+t[0],d=+t[1],n):[p,d]},n.precision=function(t){return arguments.length?(y=+t,s=ze(a,o,90),f=Ce(r,e,y),h=ze(l,c,90),g=Ce(i,u,y),n):y},n.majorExtent([[-180,-90+Go],[180,90-Go]]).minorExtent([[-180,-80-Go],[180,80+Go]])},mo.geo.greatArc=function(){function n(){return{type:"LineString",coordinates:[t||r.apply(this,arguments),e||u.apply(this,arguments)]}}var t,e,r=De,u=je;return n.distance=function(){return mo.geo.distance(t||r.apply(this,arguments),e||u.apply(this,arguments))},n.source=function(e){return arguments.length?(r=e,t="function"==typeof e?null:e,n):r},n.target=function(t){return arguments.length?(u=t,e="function"==typeof t?null:t,n):u},n.precision=function(){return arguments.length?n:0},n},mo.geo.interpolate=function(n,t){return Le(n[0]*Qo,n[1]*Qo,t[0]*Qo,t[1]*Qo)},mo.geo.length=function(n){return oc=0,mo.geo.stream(n,ac),oc};var oc,ac={sphere:c,point:c,lineStart:He,lineEnd:c,polygonStart:c,polygonEnd:c},cc=Fe(function(n){return Math.sqrt(2/(1+n))},function(n){return 2*Math.asin(n/2)});(mo.geo.azimuthalEqualArea=function(){return xe(cc)}).raw=cc;var lc=Fe(function(n){var t=Math.acos(n);return t&&t/Math.sin(t)},dt);(mo.geo.azimuthalEquidistant=function(){return xe(lc)}).raw=lc,(mo.geo.conicConformal=function(){return oe(Pe)}).raw=Pe,(mo.geo.conicEquidistant=function(){return oe(Oe)}).raw=Oe;var sc=Fe(function(n){return 1/n},Math.atan);(mo.geo.gnomonic=function(){return xe(sc)}).raw=sc,Re.invert=function(n,t){return[n,2*Math.atan(Math.exp(t))-Jo]},(mo.geo.mercator=function(){return Ye(Re)}).raw=Re;var fc=Fe(function(){return 1},Math.asin);(mo.geo.orthographic=function(){return xe(fc)}).raw=fc;var hc=Fe(function(n){return 1/(1+n)},function(n){return 2*Math.atan(n)});(mo.geo.stereographic=function(){return xe(hc)}).raw=hc,Ie.invert=function(n,t){return[Math.atan2(R(n),Math.cos(t)),O(Math.sin(t)/Y(n))]},(mo.geo.transverseMercator=function(){return Ye(Ie)}).raw=Ie,mo.geom={},mo.svg={},mo.svg.line=function(){return Ue(dt)};var gc=mo.map({linear:Xe,"linear-closed":$e,step:Be,"step-before":We,"step-after":Je,basis:er,"basis-open":rr,"basis-closed":ur,bundle:ir,cardinal:Qe,"cardinal-open":Ge,"cardinal-closed":Ke,monotone:fr});gc.forEach(function(n,t){t.key=n,t.closed=/-closed$/.test(n)});var pc=[0,2/3,1/3,0],dc=[0,1/3,2/3,0],vc=[0,1/6,2/3,1/6];mo.geom.hull=function(n){function t(n){if(n.length<3)return[];var t,u,i,o,a,c,l,s,f,h,g,p,d=pt(e),v=pt(r),m=n.length,y=m-1,M=[],x=[],b=0;if(d===Ze&&r===Ve)t=n;else for(i=0,t=[];m>i;++i)t.push([+d.call(this,u=n[i],i),+v.call(this,u,i)]);for(i=1;m>i;++i)(t[i][1]i;++i)i!==b&&(c=t[i][1]-t[b][1],a=t[i][0]-t[b][0],M.push({angle:Math.atan2(c,a),index:i}));for(M.sort(function(n,t){return n.angle-t.angle}),g=M[0].angle,h=M[0].index,f=0,i=1;y>i;++i){if(o=M[i].index,g==M[i].angle){if(a=t[h][0]-t[b][0],c=t[h][1]-t[b][1],l=t[o][0]-t[b][0],s=t[o][1]-t[b][1],a*a+c*c>=l*l+s*s){M[i].index=-1;continue}M[f].index=-1}g=M[i].angle,f=i,h=o}for(x.push(b),i=0,o=0;2>i;++o)M[o].index>-1&&(x.push(M[o].index),i++);for(p=x.length;y>o;++o)if(!(M[o].index<0)){for(;!hr(x[p-2],x[p-1],M[o].index,t);)--p;x[p++]=M[o].index}var _=[];for(i=p-1;i>=0;--i)_.push(n[x[i]]);return _}var e=Ze,r=Ve;return arguments.length?t(n):(t.x=function(n){return arguments.length?(e=n,t):e},t.y=function(n){return arguments.length?(r=n,t):r},t)},mo.geom.polygon=function(n){return Lo(n,mc),n};var mc=mo.geom.polygon.prototype=[];mc.area=function(){for(var n,t=-1,e=this.length,r=this[e-1],u=0;++ta;a++)e.push([u,t[a],t[a+1]])}),e},mo.geom.voronoi=function(n){function t(n){var t,i,o,a=n.map(function(){return[]}),c=pt(e),l=pt(r),s=n.length,f=1e6;if(c===Ze&&l===Ve)t=n;else for(t=new Array(s),o=0;s>o;++o)t[o]=[+c.call(this,i=n[o],o),+l.call(this,i,o)];if(vr(t,function(n){var t,e,r,u,i,o;1===n.a&&n.b>=0?(t=n.ep.r,e=n.ep.l):(t=n.ep.l,e=n.ep.r),1===n.a?(i=t?t.y:-f,r=n.c-n.b*i,o=e?e.y:f,u=n.c-n.b*o):(r=t?t.x:-f,i=n.c-n.a*r,u=e?e.x:f,o=n.c-n.a*u);var c=[r,i],l=[u,o];a[n.region.l.index].push(c,l),a[n.region.r.index].push(c,l)}),a=a.map(function(n,e){var r=t[e][0],u=t[e][1],i=n.map(function(n){return Math.atan2(n[0]-r,n[1]-u)}),o=mo.range(n.length).sort(function(n,t){return i[n]-i[t]});return o.filter(function(n,t){return!t||i[n]-i[o[t-1]]>Go}).map(function(t){return n[t]})}),a.forEach(function(n,e){var r=n.length;if(!r)return n.push([-f,-f],[-f,f],[f,f],[f,-f]);if(!(r>2)){var u=t[e],i=n[0],o=n[1],a=u[0],c=u[1],l=i[0],s=i[1],h=o[0],g=o[1],p=Math.abs(h-l),d=g-s;if(Math.abs(d)c?-f:f;n.push([-f,v],[f,v])}else if(Go>p){var m=l>a?-f:f;n.push([m,-f],[m,f])}else{var v=(l-a)*(g-s)>(h-l)*(s-c)?f:-f,y=Math.abs(d)-p;Math.abs(y)d?v:-v,v]):(y>0&&(v*=-1),n.push([-f,v],[f,v]))}}}),u)for(o=0;s>o;++o)u.clip(a[o]);for(o=0;s>o;++o)a[o].point=n[o];return a}var e=Ze,r=Ve,u=null;return arguments.length?t(n):(t.x=function(n){return arguments.length?(e=n,t):e},t.y=function(n){return arguments.length?(r=n,t):r},t.clipExtent=function(n){if(!arguments.length)return u&&[u[0],u[2]];if(null==n)u=null;else{var e=+n[0][0],r=+n[0][1],i=+n[1][0],o=+n[1][1];u=mo.geom.polygon([[e,r],[e,o],[i,o],[i,r]])}return t},t.size=function(n){return arguments.length?t.clipExtent(n&&[[0,0],n]):u&&u[2]},t.links=function(n){var t,u,i,o=n.map(function(){return[]}),a=[],c=pt(e),l=pt(r),s=n.length;if(c===Ze&&l===Ve)t=n;else for(t=new Array(s),i=0;s>i;++i)t[i]=[+c.call(this,u=n[i],i),+l.call(this,u,i)];return vr(t,function(t){var e=t.region.l.index,r=t.region.r.index;o[e][r]||(o[e][r]=o[r][e]=!0,a.push({source:n[e],target:n[r]}))}),a},t.triangles=function(n){if(e===Ze&&r===Ve)return mo.geom.delaunay(n);for(var t,u=new Array(c),i=pt(e),o=pt(r),a=-1,c=n.length;++a=l,h=r>=s,g=(h<<1)+f;n.leaf=!1,n=n.nodes[g]||(n.nodes[g]=Mr()),f?u=l:a=l,h?o=s:c=s,i(n,t,e,r,u,o,a,c)}var s,f,h,g,p,d,v,m,y,M=pt(a),x=pt(c);if(null!=t)d=t,v=e,m=r,y=u;else if(m=y=-(d=v=1/0),f=[],h=[],p=n.length,o)for(g=0;p>g;++g)s=n[g],s.xm&&(m=s.x),s.y>y&&(y=s.y),f.push(s.x),h.push(s.y);else for(g=0;p>g;++g){var b=+M(s=n[g],g),_=+x(s,g);d>b&&(d=b),v>_&&(v=_),b>m&&(m=b),_>y&&(y=_),f.push(b),h.push(_)}var w=m-d,S=y-v;w>S?y=v+w:m=d+S;var E=Mr();if(E.add=function(n){i(E,n,+M(n,++g),+x(n,g),d,v,m,y)},E.visit=function(n){xr(n,E,d,v,m,y)},g=-1,null==t){for(;++g=0?n.substring(0,t):n,r=t>=0?n.substring(t+1):"in";return e=bc.get(e)||xc,r=_c.get(r)||dt,Ar(r(e.apply(null,Array.prototype.slice.call(arguments,1))))},mo.interpolateHcl=Rr,mo.interpolateHsl=Yr,mo.interpolateLab=Ir,mo.interpolateRound=Ur,mo.transform=function(n){var t=xo.createElementNS(mo.ns.prefix.svg,"g");return(mo.transform=function(n){if(null!=n){t.setAttribute("transform",n);var e=t.transform.baseVal.consolidate()}return new Zr(e?e.matrix:wc)})(n)},Zr.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var wc={a:1,b:0,c:0,d:1,e:0,f:0};mo.interpolateTransform=Br,mo.layout={},mo.layout.bundle=function(){return function(n){for(var t=[],e=-1,r=n.length;++e(u-e)*a){var c=t.charge*a*a;return n.px-=i*c,n.py-=o*c,!0}if(t.point&&isFinite(a)){var c=t.pointCharge*a*a;n.px-=i*c,n.py-=o*c}}return!t.charge}}function t(n){n.px=mo.event.x,n.py=mo.event.y,a.resume()}var e,r,u,i,o,a={},c=mo.dispatch("start","tick","end"),l=[1,1],s=.9,f=Sc,h=Ec,g=-30,p=.1,d=.8,v=[],m=[];return a.tick=function(){if((r*=.99)<.005)return c.end({type:"end",alpha:r=0}),!0;var t,e,a,f,h,d,y,M,x,b=v.length,_=m.length;for(e=0;_>e;++e)a=m[e],f=a.source,h=a.target,M=h.x-f.x,x=h.y-f.y,(d=M*M+x*x)&&(d=r*i[e]*((d=Math.sqrt(d))-u[e])/d,M*=d,x*=d,h.x-=M*(y=f.weight/(h.weight+f.weight)),h.y-=x*y,f.x+=M*(y=1-y),f.y+=x*y);if((y=r*p)&&(M=l[0]/2,x=l[1]/2,e=-1,y))for(;++e0?n:0:n>0&&(c.start({type:"start",alpha:r=n}),mo.timer(a.tick)),a):r},a.start=function(){function n(n,r){for(var u,i=t(e),o=-1,a=i.length;++or;++r)c[r]=[];for(r=0;d>r;++r){var n=m[r];c[n.source.index].push(n.target),c[n.target.index].push(n.source)}}return c[e]}var e,r,c,s,p=v.length,d=m.length,y=l[0],M=l[1];for(e=0;p>e;++e)(s=v[e]).index=e,s.weight=0;for(e=0;d>e;++e)s=m[e],"number"==typeof s.source&&(s.source=v[s.source]),"number"==typeof s.target&&(s.target=v[s.target]),++s.source.weight,++s.target.weight;for(e=0;p>e;++e)s=v[e],isNaN(s.x)&&(s.x=n("x",y)),isNaN(s.y)&&(s.y=n("y",M)),isNaN(s.px)&&(s.px=s.x),isNaN(s.py)&&(s.py=s.y);if(u=[],"function"==typeof f)for(e=0;d>e;++e)u[e]=+f.call(this,m[e],e);else for(e=0;d>e;++e)u[e]=f;if(i=[],"function"==typeof h)for(e=0;d>e;++e)i[e]=+h.call(this,m[e],e);else for(e=0;d>e;++e)i[e]=h;if(o=[],"function"==typeof g)for(e=0;p>e;++e)o[e]=+g.call(this,v[e],e);else for(e=0;p>e;++e)o[e]=g;return a.resume()},a.resume=function(){return a.alpha(.1)},a.stop=function(){return a.alpha(0)},a.drag=function(){return e||(e=mo.behavior.drag().origin(dt).on("dragstart.force",nu).on("drag.force",t).on("dragend.force",tu)),arguments.length?(this.on("mouseover.force",eu).on("mouseout.force",ru).call(e),void 0):e},mo.rebind(a,c,"on")};var Sc=20,Ec=1;mo.layout.hierarchy=function(){function n(t,o,a){var c=u.call(e,t,o);if(t.depth=o,a.push(t),c&&(l=c.length)){for(var l,s,f=-1,h=t.children=[],g=0,p=o+1;++fg;++g)for(u.call(n,l[0][g],p=d[g],s[0][g][1]),h=1;v>h;++h)u.call(n,l[h][g],p+=s[h-1][g][1],s[h][g][1]);return a}var t=dt,e=gu,r=pu,u=hu,i=su,o=fu;return n.values=function(e){return arguments.length?(t=e,n):t},n.order=function(t){return arguments.length?(e="function"==typeof t?t:Ac.get(t)||gu,n):e},n.offset=function(t){return arguments.length?(r="function"==typeof t?t:Nc.get(t)||pu,n):r},n.x=function(t){return arguments.length?(i=t,n):i},n.y=function(t){return arguments.length?(o=t,n):o},n.out=function(t){return arguments.length?(u=t,n):u},n};var Ac=mo.map({"inside-out":function(n){var t,e,r=n.length,u=n.map(du),i=n.map(vu),o=mo.range(r).sort(function(n,t){return u[n]-u[t]}),a=0,c=0,l=[],s=[];for(t=0;r>t;++t)e=o[t],c>a?(a+=i[e],l.push(e)):(c+=i[e],s.push(e));return s.reverse().concat(l)},reverse:function(n){return mo.range(n.length).reverse()},"default":gu}),Nc=mo.map({silhouette:function(n){var t,e,r,u=n.length,i=n[0].length,o=[],a=0,c=[];for(e=0;i>e;++e){for(t=0,r=0;u>t;t++)r+=n[t][e][1];r>a&&(a=r),o.push(r)}for(e=0;i>e;++e)c[e]=(a-o[e])/2;return c},wiggle:function(n){var t,e,r,u,i,o,a,c,l,s=n.length,f=n[0],h=f.length,g=[];for(g[0]=c=l=0,e=1;h>e;++e){for(t=0,u=0;s>t;++t)u+=n[t][e][1];for(t=0,i=0,a=f[e][0]-f[e-1][0];s>t;++t){for(r=0,o=(n[t][e][1]-n[t][e-1][1])/(2*a);t>r;++r)o+=(n[r][e][1]-n[r][e-1][1])/a;i+=o*n[t][e][1]}g[e]=c-=u?i/u*a:0,l>c&&(l=c)}for(e=0;h>e;++e)g[e]-=l;return g},expand:function(n){var t,e,r,u=n.length,i=n[0].length,o=1/u,a=[];for(e=0;i>e;++e){for(t=0,r=0;u>t;t++)r+=n[t][e][1];if(r)for(t=0;u>t;t++)n[t][e][1]/=r;else for(t=0;u>t;t++)n[t][e][1]=o}for(e=0;i>e;++e)a[e]=0;return a},zero:pu});mo.layout.histogram=function(){function n(n,i){for(var o,a,c=[],l=n.map(e,this),s=r.call(this,l,i),f=u.call(this,s,l,i),i=-1,h=l.length,g=f.length-1,p=t?1:1/h;++i0)for(i=-1;++i=s[0]&&a<=s[1]&&(o=c[mo.bisect(f,a,1,g)-1],o.y+=p,o.push(n[i]));return c}var t=!0,e=Number,r=xu,u=yu;return n.value=function(t){return arguments.length?(e=t,n):e},n.range=function(t){return arguments.length?(r=pt(t),n):r},n.bins=function(t){return arguments.length?(u="number"==typeof t?function(n){return Mu(n,t)}:pt(t),n):u},n.frequency=function(e){return arguments.length?(t=!!e,n):t},n},mo.layout.tree=function(){function n(n,i){function o(n,t){var r=n.children,u=n._tree;if(r&&(i=r.length)){for(var i,a,l,s=r[0],f=s,h=-1;++h0&&(qu(zu(a,n,r),n,u),l+=u,s+=u),f+=a._tree.mod,l+=i._tree.mod,h+=c._tree.mod,s+=o._tree.mod;a&&!wu(o)&&(o._tree.thread=a,o._tree.mod+=f-s),i&&!_u(c)&&(c._tree.thread=i,c._tree.mod+=l-h,r=n)}return r}var l=t.call(this,n,i),s=l[0];Nu(s,function(n,t){n._tree={ancestor:n,prelim:0,mod:0,change:0,shift:0,number:t?t._tree.number+1:0}}),o(s),a(s,-s._tree.prelim);var f=Su(s,ku),h=Su(s,Eu),g=Su(s,Au),p=f.x-e(f,h)/2,d=h.x+e(h,f)/2,v=g.depth||1;return Nu(s,u?function(n){n.x*=r[0],n.y=n.depth*r[1],delete n._tree}:function(n){n.x=(n.x-p)/(d-p)*r[0],n.y=n.depth/v*r[1],delete n._tree}),l}var t=mo.layout.hierarchy().sort(null).value(null),e=bu,r=[1,1],u=!1;return n.separation=function(t){return arguments.length?(e=t,n):e},n.size=function(t){return arguments.length?(u=null==(r=t),n):u?null:r},n.nodeSize=function(t){return arguments.length?(u=null!=(r=t),n):u?r:null},iu(n,t)},mo.layout.pack=function(){function n(n,i){var o=e.call(this,n,i),a=o[0],c=u[0],l=u[1],s=null==t?Math.sqrt:"function"==typeof t?t:function(){return t};if(a.x=a.y=0,Nu(a,function(n){n.r=+s(n.value)}),Nu(a,Hu),r){var f=r*(t?1:Math.max(2*a.r/c,2*a.r/l))/2;Nu(a,function(n){n.r+=f}),Nu(a,Hu),Nu(a,function(n){n.r-=f})}return Ou(a,c/2,l/2,t?1:1/Math.max(2*a.r/c,2*a.r/l)),o}var t,e=mo.layout.hierarchy().sort(Cu),r=0,u=[1,1];return n.size=function(t){return arguments.length?(u=t,n):u},n.radius=function(e){return arguments.length?(t=null==e||"function"==typeof e?e:+e,n):t},n.padding=function(t){return arguments.length?(r=+t,n):r},iu(n,e)},mo.layout.cluster=function(){function n(n,i){var o,a=t.call(this,n,i),c=a[0],l=0;Nu(c,function(n){var t=n.children;t&&t.length?(n.x=Iu(t),n.y=Yu(t)):(n.x=o?l+=e(n,o):0,n.y=0,o=n)});var s=Uu(c),f=Zu(c),h=s.x-e(s,f)/2,g=f.x+e(f,s)/2;return Nu(c,u?function(n){n.x=(n.x-c.x)*r[0],n.y=(c.y-n.y)*r[1]}:function(n){n.x=(n.x-h)/(g-h)*r[0],n.y=(1-(c.y?n.y/c.y:1))*r[1]}),a}var t=mo.layout.hierarchy().sort(null).value(null),e=bu,r=[1,1],u=!1;return n.separation=function(t){return arguments.length?(e=t,n):e},n.size=function(t){return arguments.length?(u=null==(r=t),n):u?null:r},n.nodeSize=function(t){return arguments.length?(u=null!=(r=t),n):u?r:null},iu(n,t)},mo.layout.treemap=function(){function n(n,t){for(var e,r,u=-1,i=n.length;++ut?0:t),e.area=isNaN(r)||0>=r?0:r}function t(e){var i=e.children;if(i&&i.length){var o,a,c,l=f(e),s=[],h=i.slice(),p=1/0,d="slice"===g?l.dx:"dice"===g?l.dy:"slice-dice"===g?1&e.depth?l.dy:l.dx:Math.min(l.dx,l.dy);for(n(h,l.dx*l.dy/e.value),s.area=0;(c=h.length)>0;)s.push(o=h[c-1]),s.area+=o.area,"squarify"!==g||(a=r(s,d))<=p?(h.pop(),p=a):(s.area-=s.pop().area,u(s,d,l,!1),d=Math.min(l.dx,l.dy),s.length=s.area=0,p=1/0);s.length&&(u(s,d,l,!0),s.length=s.area=0),i.forEach(t)}}function e(t){var r=t.children;if(r&&r.length){var i,o=f(t),a=r.slice(),c=[];for(n(a,o.dx*o.dy/t.value),c.area=0;i=a.pop();)c.push(i),c.area+=i.area,null!=i.z&&(u(c,i.z?o.dx:o.dy,o,!a.length),c.length=c.area=0);r.forEach(e)}}function r(n,t){for(var e,r=n.area,u=0,i=1/0,o=-1,a=n.length;++oe&&(i=e),e>u&&(u=e));return r*=r,t*=t,r?Math.max(t*u*p/r,r/(t*i*p)):1/0}function u(n,t,e,r){var u,i=-1,o=n.length,a=e.x,l=e.y,s=t?c(n.area/t):0;if(t==e.dx){for((r||s>e.dy)&&(s=e.dy);++ie.dx)&&(s=e.dx);++ie&&(t=1),1>e&&(n=0),function(){var e,r,u;do e=2*Math.random()-1,r=2*Math.random()-1,u=e*e+r*r;while(!u||u>1);return n+t*e*Math.sqrt(-2*Math.log(u)/u)}},logNormal:function(){var n=mo.random.normal.apply(mo,arguments);return function(){return Math.exp(n())}},irwinHall:function(n){return function(){for(var t=0,e=0;n>e;e++)t+=Math.random();return t/n}}},mo.scale={};var Tc={floor:dt,ceil:dt};mo.scale.linear=function(){return Qu([0,1],[0,1],Er,!1)},mo.scale.log=function(){return ii(mo.scale.linear().domain([0,1]),10,!0,[1,10])};var qc=mo.format(".0e"),zc={floor:function(n){return-Math.ceil(-n)},ceil:function(n){return-Math.floor(-n)}};mo.scale.pow=function(){return oi(mo.scale.linear(),1,[0,1])},mo.scale.sqrt=function(){return mo.scale.pow().exponent(.5)},mo.scale.ordinal=function(){return ci([],{t:"range",a:[[]]})},mo.scale.category10=function(){return mo.scale.ordinal().range(Cc)},mo.scale.category20=function(){return mo.scale.ordinal().range(Dc)},mo.scale.category20b=function(){return mo.scale.ordinal().range(jc)},mo.scale.category20c=function(){return mo.scale.ordinal().range(Lc)};var Cc=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(it),Dc=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(it),jc=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(it),Lc=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(it);mo.scale.quantile=function(){return li([],[])},mo.scale.quantize=function(){return si(0,1,[0,1])},mo.scale.threshold=function(){return fi([.5],[0,1])},mo.scale.identity=function(){return hi([0,1])},mo.svg.arc=function(){function n(){var n=t.apply(this,arguments),i=e.apply(this,arguments),o=r.apply(this,arguments)+Hc,a=u.apply(this,arguments)+Hc,c=(o>a&&(c=o,o=a,a=c),a-o),l=Bo>c?"0":"1",s=Math.cos(o),f=Math.sin(o),h=Math.cos(a),g=Math.sin(a);return c>=Fc?n?"M0,"+i+"A"+i+","+i+" 0 1,1 0,"+-i+"A"+i+","+i+" 0 1,1 0,"+i+"M0,"+n+"A"+n+","+n+" 0 1,0 0,"+-n+"A"+n+","+n+" 0 1,0 0,"+n+"Z":"M0,"+i+"A"+i+","+i+" 0 1,1 0,"+-i+"A"+i+","+i+" 0 1,1 0,"+i+"Z":n?"M"+i*s+","+i*f+"A"+i+","+i+" 0 "+l+",1 "+i*h+","+i*g+"L"+n*h+","+n*g+"A"+n+","+n+" 0 "+l+",0 "+n*s+","+n*f+"Z":"M"+i*s+","+i*f+"A"+i+","+i+" 0 "+l+",1 "+i*h+","+i*g+"L0,0"+"Z"}var t=gi,e=pi,r=di,u=vi;return n.innerRadius=function(e){return arguments.length?(t=pt(e),n):t},n.outerRadius=function(t){return arguments.length?(e=pt(t),n):e},n.startAngle=function(t){return arguments.length?(r=pt(t),n):r},n.endAngle=function(t){return arguments.length?(u=pt(t),n):u},n.centroid=function(){var n=(t.apply(this,arguments)+e.apply(this,arguments))/2,i=(r.apply(this,arguments)+u.apply(this,arguments))/2+Hc;return[Math.cos(i)*n,Math.sin(i)*n]},n};var Hc=-Jo,Fc=Wo-Go;mo.svg.line.radial=function(){var n=Ue(mi);return n.radius=n.x,delete n.x,n.angle=n.y,delete n.y,n},We.reverse=Je,Je.reverse=We,mo.svg.area=function(){return yi(dt)},mo.svg.area.radial=function(){var n=yi(mi);return n.radius=n.x,delete n.x,n.innerRadius=n.x0,delete n.x0,n.outerRadius=n.x1,delete n.x1,n.angle=n.y,delete n.y,n.startAngle=n.y0,delete n.y0,n.endAngle=n.y1,delete n.y1,n},mo.svg.chord=function(){function n(n,a){var c=t(this,i,n,a),l=t(this,o,n,a);return"M"+c.p0+r(c.r,c.p1,c.a1-c.a0)+(e(c,l)?u(c.r,c.p1,c.r,c.p0):u(c.r,c.p1,l.r,l.p0)+r(l.r,l.p1,l.a1-l.a0)+u(l.r,l.p1,c.r,c.p0))+"Z"}function t(n,t,e,r){var u=t.call(n,e,r),i=a.call(n,u,r),o=c.call(n,u,r)+Hc,s=l.call(n,u,r)+Hc;return{r:i,a0:o,a1:s,p0:[i*Math.cos(o),i*Math.sin(o)],p1:[i*Math.cos(s),i*Math.sin(s)]}}function e(n,t){return n.a0==t.a0&&n.a1==t.a1}function r(n,t,e){return"A"+n+","+n+" 0 "+ +(e>Bo)+",1 "+t}function u(n,t,e,r){return"Q 0,0 "+r}var i=De,o=je,a=Mi,c=di,l=vi;return n.radius=function(t){return arguments.length?(a=pt(t),n):a},n.source=function(t){return arguments.length?(i=pt(t),n):i},n.target=function(t){return arguments.length?(o=pt(t),n):o},n.startAngle=function(t){return arguments.length?(c=pt(t),n):c},n.endAngle=function(t){return arguments.length?(l=pt(t),n):l},n},mo.svg.diagonal=function(){function n(n,u){var i=t.call(this,n,u),o=e.call(this,n,u),a=(i.y+o.y)/2,c=[i,{x:i.x,y:a},{x:o.x,y:a},o];return c=c.map(r),"M"+c[0]+"C"+c[1]+" "+c[2]+" "+c[3]}var t=De,e=je,r=xi;return n.source=function(e){return arguments.length?(t=pt(e),n):t},n.target=function(t){return arguments.length?(e=pt(t),n):e},n.projection=function(t){return arguments.length?(r=t,n):r},n},mo.svg.diagonal.radial=function(){var n=mo.svg.diagonal(),t=xi,e=n.projection;return n.projection=function(n){return arguments.length?e(bi(t=n)):t},n},mo.svg.symbol=function(){function n(n,r){return(Pc.get(t.call(this,n,r))||Si)(e.call(this,n,r))}var t=wi,e=_i;return n.type=function(e){return arguments.length?(t=pt(e),n):t},n.size=function(t){return arguments.length?(e=pt(t),n):e},n};var Pc=mo.map({circle:Si,cross:function(n){var t=Math.sqrt(n/5)/2;return"M"+-3*t+","+-t+"H"+-t+"V"+-3*t+"H"+t+"V"+-t+"H"+3*t+"V"+t+"H"+t+"V"+3*t+"H"+-t+"V"+t+"H"+-3*t+"Z"},diamond:function(n){var t=Math.sqrt(n/(2*Ic)),e=t*Ic;return"M0,"+-t+"L"+e+",0"+" 0,"+t+" "+-e+",0"+"Z"},square:function(n){var t=Math.sqrt(n)/2;return"M"+-t+","+-t+"L"+t+","+-t+" "+t+","+t+" "+-t+","+t+"Z"},"triangle-down":function(n){var t=Math.sqrt(n/Yc),e=t*Yc/2;return"M0,"+e+"L"+t+","+-e+" "+-t+","+-e+"Z"},"triangle-up":function(n){var t=Math.sqrt(n/Yc),e=t*Yc/2;return"M0,"+-e+"L"+t+","+e+" "+-t+","+e+"Z"}});mo.svg.symbolTypes=Pc.keys();var Oc,Rc,Yc=Math.sqrt(3),Ic=Math.tan(30*Qo),Uc=[],Zc=0;Uc.call=Ro.call,Uc.empty=Ro.empty,Uc.node=Ro.node,Uc.size=Ro.size,mo.transition=function(n){return arguments.length?Oc?n.transition():n:Uo.transition()},mo.transition.prototype=Uc,Uc.select=function(n){var t,e,r,u=this.id,i=[];n=d(n);for(var o=-1,a=this.length;++oi;i++){u.push(t=[]);for(var e=this[i],a=0,c=e.length;c>a;a++)(r=e[a])&&n.call(r,r.__data__,a)&&t.push(r)}return Ei(u,this.id)},Uc.tween=function(n,t){var e=this.id;return arguments.length<2?this.node().__transition__[e].tween.get(n):N(this,null==t?function(t){t.__transition__[e].tween.remove(n)}:function(r){r.__transition__[e].tween.set(n,t)})},Uc.attr=function(n,t){function e(){this.removeAttribute(a)}function r(){this.removeAttributeNS(a.space,a.local)}function u(n){return null==n?e:(n+="",function(){var t,e=this.getAttribute(a);return e!==n&&(t=o(e,n),function(n){this.setAttribute(a,t(n))})})}function i(n){return null==n?r:(n+="",function(){var t,e=this.getAttributeNS(a.space,a.local);return e!==n&&(t=o(e,n),function(n){this.setAttributeNS(a.space,a.local,t(n)) -})})}if(arguments.length<2){for(t in n)this.attr(t,n[t]);return this}var o="transform"==n?Br:Er,a=mo.ns.qualify(n);return ki(this,"attr."+n,t,a.local?i:u)},Uc.attrTween=function(n,t){function e(n,e){var r=t.call(this,n,e,this.getAttribute(u));return r&&function(n){this.setAttribute(u,r(n))}}function r(n,e){var r=t.call(this,n,e,this.getAttributeNS(u.space,u.local));return r&&function(n){this.setAttributeNS(u.space,u.local,r(n))}}var u=mo.ns.qualify(n);return this.tween("attr."+n,u.local?r:e)},Uc.style=function(n,t,e){function r(){this.style.removeProperty(n)}function u(t){return null==t?r:(t+="",function(){var r,u=_o.getComputedStyle(this,null).getPropertyValue(n);return u!==t&&(r=Er(u,t),function(t){this.style.setProperty(n,r(t),e)})})}var i=arguments.length;if(3>i){if("string"!=typeof n){2>i&&(t="");for(e in n)this.style(e,n[e],t);return this}e=""}return ki(this,"style."+n,t,u)},Uc.styleTween=function(n,t,e){function r(r,u){var i=t.call(this,r,u,_o.getComputedStyle(this,null).getPropertyValue(n));return i&&function(t){this.style.setProperty(n,i(t),e)}}return arguments.length<3&&(e=""),this.tween("style."+n,r)},Uc.text=function(n){return ki(this,"text",n,Ai)},Uc.remove=function(){return this.each("end.transition",function(){var n;this.__transition__.count<2&&(n=this.parentNode)&&n.removeChild(this)})},Uc.ease=function(n){var t=this.id;return arguments.length<1?this.node().__transition__[t].ease:("function"!=typeof n&&(n=mo.ease.apply(mo,arguments)),N(this,function(e){e.__transition__[t].ease=n}))},Uc.delay=function(n){var t=this.id;return N(this,"function"==typeof n?function(e,r,u){e.__transition__[t].delay=+n.call(e,e.__data__,r,u)}:(n=+n,function(e){e.__transition__[t].delay=n}))},Uc.duration=function(n){var t=this.id;return N(this,"function"==typeof n?function(e,r,u){e.__transition__[t].duration=Math.max(1,n.call(e,e.__data__,r,u))}:(n=Math.max(1,n),function(e){e.__transition__[t].duration=n}))},Uc.each=function(n,t){var e=this.id;if(arguments.length<2){var r=Rc,u=Oc;Oc=e,N(this,function(t,r,u){Rc=t.__transition__[e],n.call(t,t.__data__,r,u)}),Rc=r,Oc=u}else N(this,function(r){var u=r.__transition__[e];(u.event||(u.event=mo.dispatch("start","end"))).on(n,t)});return this},Uc.transition=function(){for(var n,t,e,r,u=this.id,i=++Zc,o=[],a=0,c=this.length;c>a;a++){o.push(n=[]);for(var t=this[a],l=0,s=t.length;s>l;l++)(e=t[l])&&(r=Object.create(e.__transition__[u]),r.delay+=r.duration,Ni(e,l,i,r)),n.push(e)}return Ei(o,i)},mo.svg.axis=function(){function n(n){n.each(function(){var n,l=mo.select(this),s=this.__chart__||e,f=this.__chart__=e.copy(),h=null==c?f.ticks?f.ticks.apply(f,a):f.domain():c,g=null==t?f.tickFormat?f.tickFormat.apply(f,a):dt:t,p=l.selectAll(".tick").data(h,f),d=p.enter().insert("g",".domain").attr("class","tick").style("opacity",Go),v=mo.transition(p.exit()).style("opacity",Go).remove(),m=mo.transition(p).style("opacity",1),y=Bu(f),M=l.selectAll(".domain").data([0]),x=(M.enter().append("path").attr("class","domain"),mo.transition(M));d.append("line"),d.append("text");var b=d.select("line"),_=m.select("line"),w=p.select("text").text(g),S=d.select("text"),E=m.select("text");switch(r){case"bottom":n=Ti,b.attr("y2",u),S.attr("y",Math.max(u,0)+o),_.attr("x2",0).attr("y2",u),E.attr("x",0).attr("y",Math.max(u,0)+o),w.attr("dy",".71em").style("text-anchor","middle"),x.attr("d","M"+y[0]+","+i+"V0H"+y[1]+"V"+i);break;case"top":n=Ti,b.attr("y2",-u),S.attr("y",-(Math.max(u,0)+o)),_.attr("x2",0).attr("y2",-u),E.attr("x",0).attr("y",-(Math.max(u,0)+o)),w.attr("dy","0em").style("text-anchor","middle"),x.attr("d","M"+y[0]+","+-i+"V0H"+y[1]+"V"+-i);break;case"left":n=qi,b.attr("x2",-u),S.attr("x",-(Math.max(u,0)+o)),_.attr("x2",-u).attr("y2",0),E.attr("x",-(Math.max(u,0)+o)).attr("y",0),w.attr("dy",".32em").style("text-anchor","end"),x.attr("d","M"+-i+","+y[0]+"H0V"+y[1]+"H"+-i);break;case"right":n=qi,b.attr("x2",u),S.attr("x",Math.max(u,0)+o),_.attr("x2",u).attr("y2",0),E.attr("x",Math.max(u,0)+o).attr("y",0),w.attr("dy",".32em").style("text-anchor","start"),x.attr("d","M"+i+","+y[0]+"H0V"+y[1]+"H"+i)}if(f.rangeBand){var k=f.rangeBand()/2,A=function(n){return f(n)+k};d.call(n,A),m.call(n,A)}else d.call(n,s),m.call(n,f),v.call(n,f)})}var t,e=mo.scale.linear(),r=Vc,u=6,i=6,o=3,a=[10],c=null;return n.scale=function(t){return arguments.length?(e=t,n):e},n.orient=function(t){return arguments.length?(r=t in Xc?t+"":Vc,n):r},n.ticks=function(){return arguments.length?(a=arguments,n):a},n.tickValues=function(t){return arguments.length?(c=t,n):c},n.tickFormat=function(e){return arguments.length?(t=e,n):t},n.tickSize=function(t){var e=arguments.length;return e?(u=+t,i=+arguments[e-1],n):u},n.innerTickSize=function(t){return arguments.length?(u=+t,n):u},n.outerTickSize=function(t){return arguments.length?(i=+t,n):i},n.tickPadding=function(t){return arguments.length?(o=+t,n):o},n.tickSubdivide=function(){return arguments.length&&n},n};var Vc="bottom",Xc={top:1,right:1,bottom:1,left:1};mo.svg.brush=function(){function n(i){i.each(function(){var i=mo.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",u).on("touchstart.brush",u),o=i.selectAll(".background").data([0]);o.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),i.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var a=i.selectAll(".resize").data(v,dt);a.exit().remove(),a.enter().append("g").attr("class",function(n){return"resize "+n}).style("cursor",function(n){return $c[n]}).append("rect").attr("x",function(n){return/[ew]$/.test(n)?-3:null}).attr("y",function(n){return/^[ns]/.test(n)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),a.style("display",n.empty()?"none":null);var s,f=mo.transition(i),h=mo.transition(o);c&&(s=Bu(c),h.attr("x",s[0]).attr("width",s[1]-s[0]),e(f)),l&&(s=Bu(l),h.attr("y",s[0]).attr("height",s[1]-s[0]),r(f)),t(f)})}function t(n){n.selectAll(".resize").attr("transform",function(n){return"translate("+s[+/e$/.test(n)]+","+h[+/^s/.test(n)]+")"})}function e(n){n.select(".extent").attr("x",s[0]),n.selectAll(".extent,.n>rect,.s>rect").attr("width",s[1]-s[0])}function r(n){n.select(".extent").attr("y",h[0]),n.selectAll(".extent,.e>rect,.w>rect").attr("height",h[1]-h[0])}function u(){function u(){32==mo.event.keyCode&&(N||(M=null,q[0]-=s[1],q[1]-=h[1],N=2),f())}function g(){32==mo.event.keyCode&&2==N&&(q[0]+=s[1],q[1]+=h[1],N=0,f())}function v(){var n=mo.mouse(b),u=!1;x&&(n[0]+=x[0],n[1]+=x[1]),N||(mo.event.altKey?(M||(M=[(s[0]+s[1])/2,(h[0]+h[1])/2]),q[0]=s[+(n[0]f?(u=r,r=f):u=f),g[0]!=r||g[1]!=u?(e?o=null:i=null,g[0]=r,g[1]=u,!0):void 0}function y(){v(),S.style("pointer-events","all").selectAll(".resize").style("display",n.empty()?"none":null),mo.select("body").style("cursor",null),z.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null),T(),w({type:"brushend"})}var M,x,b=this,_=mo.select(mo.event.target),w=a.of(b,arguments),S=mo.select(b),E=_.datum(),k=!/^(n|s)$/.test(E)&&c,A=!/^(e|w)$/.test(E)&&l,N=_.classed("extent"),T=L(),q=mo.mouse(b),z=mo.select(_o).on("keydown.brush",u).on("keyup.brush",g);if(mo.event.changedTouches?z.on("touchmove.brush",v).on("touchend.brush",y):z.on("mousemove.brush",v).on("mouseup.brush",y),S.interrupt().selectAll("*").interrupt(),N)q[0]=s[0]-q[0],q[1]=h[0]-q[1];else if(E){var C=+/w$/.test(E),D=+/^n/.test(E);x=[s[1-C]-q[0],h[1-D]-q[1]],q[0]=s[C],q[1]=h[D]}else mo.event.altKey&&(M=q.slice());S.style("pointer-events","none").selectAll(".resize").style("display",null),mo.select("body").style("cursor",_.style("cursor")),w({type:"brushstart"}),v()}var i,o,a=g(n,"brushstart","brush","brushend"),c=null,l=null,s=[0,0],h=[0,0],p=!0,d=!0,v=Bc[0];return n.event=function(n){n.each(function(){var n=a.of(this,arguments),t={x:s,y:h,i:i,j:o},e=this.__chart__||t;this.__chart__=t,Oc?mo.select(this).transition().each("start.brush",function(){i=e.i,o=e.j,s=e.x,h=e.y,n({type:"brushstart"})}).tween("brush:brush",function(){var e=kr(s,t.x),r=kr(h,t.y);return i=o=null,function(u){s=t.x=e(u),h=t.y=r(u),n({type:"brush",mode:"resize"})}}).each("end.brush",function(){i=t.i,o=t.j,n({type:"brush",mode:"resize"}),n({type:"brushend"})}):(n({type:"brushstart"}),n({type:"brush",mode:"resize"}),n({type:"brushend"}))})},n.x=function(t){return arguments.length?(c=t,v=Bc[!c<<1|!l],n):c},n.y=function(t){return arguments.length?(l=t,v=Bc[!c<<1|!l],n):l},n.clamp=function(t){return arguments.length?(c&&l?(p=!!t[0],d=!!t[1]):c?p=!!t:l&&(d=!!t),n):c&&l?[p,d]:c?p:l?d:null},n.extent=function(t){var e,r,u,a,f;return arguments.length?(c&&(e=t[0],r=t[1],l&&(e=e[0],r=r[0]),i=[e,r],c.invert&&(e=c(e),r=c(r)),e>r&&(f=e,e=r,r=f),(e!=s[0]||r!=s[1])&&(s=[e,r])),l&&(u=t[0],a=t[1],c&&(u=u[1],a=a[1]),o=[u,a],l.invert&&(u=l(u),a=l(a)),u>a&&(f=u,u=a,a=f),(u!=h[0]||a!=h[1])&&(h=[u,a])),n):(c&&(i?(e=i[0],r=i[1]):(e=s[0],r=s[1],c.invert&&(e=c.invert(e),r=c.invert(r)),e>r&&(f=e,e=r,r=f))),l&&(o?(u=o[0],a=o[1]):(u=h[0],a=h[1],l.invert&&(u=l.invert(u),a=l.invert(a)),u>a&&(f=u,u=a,a=f))),c&&l?[[e,u],[r,a]]:c?[e,r]:l&&[u,a])},n.clear=function(){return n.empty()||(s=[0,0],h=[0,0],i=o=null),n},n.empty=function(){return!!c&&s[0]==s[1]||!!l&&h[0]==h[1]},mo.rebind(n,a,"on")};var $c={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},Bc=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]],Wc=mo.time={},Jc=Date,Gc=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];zi.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){Kc.setUTCDate.apply(this._,arguments)},setDay:function(){Kc.setUTCDay.apply(this._,arguments)},setFullYear:function(){Kc.setUTCFullYear.apply(this._,arguments)},setHours:function(){Kc.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){Kc.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){Kc.setUTCMinutes.apply(this._,arguments)},setMonth:function(){Kc.setUTCMonth.apply(this._,arguments)},setSeconds:function(){Kc.setUTCSeconds.apply(this._,arguments)},setTime:function(){Kc.setTime.apply(this._,arguments)}};var Kc=Date.prototype,Qc="%a %b %e %X %Y",nl="%m/%d/%Y",tl="%H:%M:%S",el=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],rl=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],ul=["January","February","March","April","May","June","July","August","September","October","November","December"],il=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];Wc.year=Ci(function(n){return n=Wc.day(n),n.setMonth(0,1),n},function(n,t){n.setFullYear(n.getFullYear()+t)},function(n){return n.getFullYear()}),Wc.years=Wc.year.range,Wc.years.utc=Wc.year.utc.range,Wc.day=Ci(function(n){var t=new Jc(2e3,0);return t.setFullYear(n.getFullYear(),n.getMonth(),n.getDate()),t},function(n,t){n.setDate(n.getDate()+t)},function(n){return n.getDate()-1}),Wc.days=Wc.day.range,Wc.days.utc=Wc.day.utc.range,Wc.dayOfYear=function(n){var t=Wc.year(n);return Math.floor((n-t-6e4*(n.getTimezoneOffset()-t.getTimezoneOffset()))/864e5)},Gc.forEach(function(n,t){n=n.toLowerCase(),t=7-t;var e=Wc[n]=Ci(function(n){return(n=Wc.day(n)).setDate(n.getDate()-(n.getDay()+t)%7),n},function(n,t){n.setDate(n.getDate()+7*Math.floor(t))},function(n){var e=Wc.year(n).getDay();return Math.floor((Wc.dayOfYear(n)+(e+t)%7)/7)-(e!==t)});Wc[n+"s"]=e.range,Wc[n+"s"].utc=e.utc.range,Wc[n+"OfYear"]=function(n){var e=Wc.year(n).getDay();return Math.floor((Wc.dayOfYear(n)+(e+t)%7)/7)}}),Wc.week=Wc.sunday,Wc.weeks=Wc.sunday.range,Wc.weeks.utc=Wc.sunday.utc.range,Wc.weekOfYear=Wc.sundayOfYear,Wc.format=ji;var ol=Hi(el),al=Fi(el),cl=Hi(rl),ll=Fi(rl),sl=Hi(ul),fl=Fi(ul),hl=Hi(il),gl=Fi(il),pl=/^%/,dl={"-":"",_:" ",0:"0"},vl={a:function(n){return rl[n.getDay()]},A:function(n){return el[n.getDay()]},b:function(n){return il[n.getMonth()]},B:function(n){return ul[n.getMonth()]},c:ji(Qc),d:function(n,t){return Pi(n.getDate(),t,2)},e:function(n,t){return Pi(n.getDate(),t,2)},H:function(n,t){return Pi(n.getHours(),t,2)},I:function(n,t){return Pi(n.getHours()%12||12,t,2)},j:function(n,t){return Pi(1+Wc.dayOfYear(n),t,3)},L:function(n,t){return Pi(n.getMilliseconds(),t,3)},m:function(n,t){return Pi(n.getMonth()+1,t,2)},M:function(n,t){return Pi(n.getMinutes(),t,2)},p:function(n){return n.getHours()>=12?"PM":"AM"},S:function(n,t){return Pi(n.getSeconds(),t,2)},U:function(n,t){return Pi(Wc.sundayOfYear(n),t,2)},w:function(n){return n.getDay()},W:function(n,t){return Pi(Wc.mondayOfYear(n),t,2)},x:ji(nl),X:ji(tl),y:function(n,t){return Pi(n.getFullYear()%100,t,2)},Y:function(n,t){return Pi(n.getFullYear()%1e4,t,4)},Z:ao,"%":function(){return"%"}},ml={a:Oi,A:Ri,b:Zi,B:Vi,c:Xi,d:no,e:no,H:eo,I:eo,j:to,L:io,m:Qi,M:ro,p:oo,S:uo,U:Ii,w:Yi,W:Ui,x:$i,X:Bi,y:Ji,Y:Wi,Z:Gi,"%":co},yl=/^\s*\d+/,Ml=mo.map({am:0,pm:1});ji.utc=lo;var xl=lo("%Y-%m-%dT%H:%M:%S.%LZ");ji.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?so:xl,so.parse=function(n){var t=new Date(n);return isNaN(t)?null:t},so.toString=xl.toString,Wc.second=Ci(function(n){return new Jc(1e3*Math.floor(n/1e3))},function(n,t){n.setTime(n.getTime()+1e3*Math.floor(t))},function(n){return n.getSeconds()}),Wc.seconds=Wc.second.range,Wc.seconds.utc=Wc.second.utc.range,Wc.minute=Ci(function(n){return new Jc(6e4*Math.floor(n/6e4))},function(n,t){n.setTime(n.getTime()+6e4*Math.floor(t))},function(n){return n.getMinutes()}),Wc.minutes=Wc.minute.range,Wc.minutes.utc=Wc.minute.utc.range,Wc.hour=Ci(function(n){var t=n.getTimezoneOffset()/60;return new Jc(36e5*(Math.floor(n/36e5-t)+t))},function(n,t){n.setTime(n.getTime()+36e5*Math.floor(t))},function(n){return n.getHours()}),Wc.hours=Wc.hour.range,Wc.hours.utc=Wc.hour.utc.range,Wc.month=Ci(function(n){return n=Wc.day(n),n.setDate(1),n},function(n,t){n.setMonth(n.getMonth()+t)},function(n){return n.getMonth()}),Wc.months=Wc.month.range,Wc.months.utc=Wc.month.utc.range;var bl=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],_l=[[Wc.second,1],[Wc.second,5],[Wc.second,15],[Wc.second,30],[Wc.minute,1],[Wc.minute,5],[Wc.minute,15],[Wc.minute,30],[Wc.hour,1],[Wc.hour,3],[Wc.hour,6],[Wc.hour,12],[Wc.day,1],[Wc.day,2],[Wc.week,1],[Wc.month,1],[Wc.month,3],[Wc.year,1]],wl=[[ji("%Y"),Vt],[ji("%B"),function(n){return n.getMonth()}],[ji("%b %d"),function(n){return 1!=n.getDate()}],[ji("%a %d"),function(n){return n.getDay()&&1!=n.getDate()}],[ji("%I %p"),function(n){return n.getHours()}],[ji("%I:%M"),function(n){return n.getMinutes()}],[ji(":%S"),function(n){return n.getSeconds()}],[ji(".%L"),function(n){return n.getMilliseconds()}]],Sl=go(wl);_l.year=Wc.year,Wc.scale=function(){return fo(mo.scale.linear(),_l,Sl)};var El={range:function(n,t,e){return mo.range(+n,+t,e).map(ho)}},kl=_l.map(function(n){return[n[0].utc,n[1]]}),Al=[[lo("%Y"),Vt],[lo("%B"),function(n){return n.getUTCMonth()}],[lo("%b %d"),function(n){return 1!=n.getUTCDate()}],[lo("%a %d"),function(n){return n.getUTCDay()&&1!=n.getUTCDate()}],[lo("%I %p"),function(n){return n.getUTCHours()}],[lo("%I:%M"),function(n){return n.getUTCMinutes()}],[lo(":%S"),function(n){return n.getUTCSeconds()}],[lo(".%L"),function(n){return n.getUTCMilliseconds()}]],Nl=go(Al);return kl.year=Wc.year.utc,Wc.scale.utc=function(){return fo(mo.scale.linear(),kl,Nl)},mo.text=vt(function(n){return n.responseText}),mo.json=function(n,t){return mt(n,"application/json",po,t)},mo.html=function(n,t){return mt(n,"text/html",vo,t)},mo.xml=vt(function(n){return n.responseXML}),mo}(); -/* - * ----------------------------- JSTORAGE ------------------------------------- - * Simple local storage wrapper to save data on the browser side, supporting - * all major browsers - IE6+, Firefox2+, Safari4+, Chrome4+ and Opera 10.5+ - * - * Copyright (c) 2010 Andris Reinman, andris.reinman@gmail.com - * Project homepage: www.jstorage.info - * - * Licensed under MIT-style license: - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -/** - * $.jStorage - * - * USAGE: - * - * jStorage requires Prototype, MooTools or jQuery! If jQuery is used, then - * jQuery-JSON (http://code.google.com/p/jquery-json/) is also needed. - * (jQuery-JSON needs to be loaded BEFORE jStorage!) - * - * Methods: - * - * -set(key, value) - * $.jStorage.set(key, value) -> saves a value - * - * -get(key[, default]) - * value = $.jStorage.get(key [, default]) -> - * retrieves value if key exists, or default if it doesn't - * - * -deleteKey(key) - * $.jStorage.deleteKey(key) -> removes a key from the storage - * - * -flush() - * $.jStorage.flush() -> clears the cache - * - * -storageObj() - * $.jStorage.storageObj() -> returns a read-ony copy of the actual storage - * - * -storageSize() - * $.jStorage.storageSize() -> returns the size of the storage in bytes - * - * -index() - * $.jStorage.index() -> returns the used keys as an array - * - * -storageAvailable() - * $.jStorage.storageAvailable() -> returns true if storage is available - * - * -reInit() - * $.jStorage.reInit() -> reloads the data from browser storage - * - * can be any JSON-able value, including objects and arrays. - * - **/ - - -(function($){ - if(!$ || !($.toJSON || Object.toJSON || window.JSON)){ - throw new Error("jQuery, MooTools or Prototype needs to be loaded before jStorage!"); - } - - var - /* This is the object, that holds the cached values */ - _storage = {}, - - /* Actual browser storage (localStorage or globalStorage['domain']) */ - _storage_service = {jStorage:"{}"}, - - /* DOM element for older IE versions, holds userData behavior */ - _storage_elm = null, - - /* How much space does the storage take */ - _storage_size = 0, - - /* function to encode objects to JSON strings */ - json_encode = $.toJSON || Object.toJSON || (window.JSON && (JSON.encode || JSON.stringify)), - - /* function to decode objects from JSON strings */ - json_decode = $.evalJSON || (window.JSON && (JSON.decode || JSON.parse)) || function(str){ - return String(str).evalJSON(); - }, - - /* which backend is currently used */ - _backend = false, - - /** - * XML encoding and decoding as XML nodes can't be JSON'ized - * XML nodes are encoded and decoded if the node is the value to be saved - * but not if it's as a property of another object - * Eg. - - * $.jStorage.set("key", xmlNode); // IS OK - * $.jStorage.set("key", {xml: xmlNode}); // NOT OK - */ - _XMLService = { - - /** - * Validates a XML node to be XML - * based on jQuery.isXML function - */ - isXML: function(elm){ - var documentElement = (elm ? elm.ownerDocument || elm : 0).documentElement; - return documentElement ? documentElement.nodeName !== "HTML" : false; - }, - - /** - * Encodes a XML node to string - * based on http://www.mercurytide.co.uk/news/article/issues-when-working-ajax/ - */ - encode: function(xmlNode) { - if(!this.isXML(xmlNode)){ - return false; - } - try{ // Mozilla, Webkit, Opera - return new XMLSerializer().serializeToString(xmlNode); - }catch(E1) { - try { // IE - return xmlNode.xml; - }catch(E2){} - } - return false; - }, - - /** - * Decodes a XML node from string - * loosely based on http://outwestmedia.com/jquery-plugins/xmldom/ - */ - decode: function(xmlString){ - var dom_parser = ("DOMParser" in window && (new DOMParser()).parseFromString) || - (window.ActiveXObject && function(_xmlString) { - var xml_doc = new ActiveXObject('Microsoft.XMLDOM'); - xml_doc.async = 'false'; - xml_doc.loadXML(_xmlString); - return xml_doc; - }), - resultXML; - if(!dom_parser){ - return false; - } - resultXML = dom_parser.call("DOMParser" in window && (new DOMParser()) || window, xmlString, 'text/xml'); - return this.isXML(resultXML)?resultXML:false; - } - }; - - ////////////////////////// PRIVATE METHODS //////////////////////// - - /** - * Initialization function. Detects if the browser supports DOM Storage - * or userData behavior and behaves accordingly. - * @returns undefined - */ - function _init(){ - /* Check if browser supports localStorage */ - var localStorageReallyWorks = false; - if("localStorage" in window){ - try { - window.localStorage.setItem('_tmptest', 'tmpval'); - localStorageReallyWorks = true; - window.localStorage.removeItem('_tmptest'); - } catch(BogusQuotaExceededErrorOnIos5) { - // Thanks be to iOS5 Private Browsing mode which throws - // QUOTA_EXCEEDED_ERRROR DOM Exception 22. - } - } - if(localStorageReallyWorks){ - try { - if(window.localStorage) { - _storage_service = window.localStorage; - _backend = "localStorage"; - } - } catch(E3) {/* Firefox fails when touching localStorage and cookies are disabled */} - } - /* Check if browser supports globalStorage */ - else if("globalStorage" in window){ - try { - if(window.globalStorage) { - _storage_service = window.globalStorage[window.location.hostname]; - _backend = "globalStorage"; - } - } catch(E4) {/* Firefox fails when touching localStorage and cookies are disabled */} - } - /* Check if browser supports userData behavior */ - else { - _storage_elm = document.createElement('link'); - if(_storage_elm.addBehavior){ - - /* Use a DOM element to act as userData storage */ - _storage_elm.style.behavior = 'url(#default#userData)'; - - /* userData element needs to be inserted into the DOM! */ - document.getElementsByTagName('head')[0].appendChild(_storage_elm); - - _storage_elm.load("jStorage"); - var data = "{}"; - try{ - data = _storage_elm.getAttribute("jStorage"); - }catch(E5){} - _storage_service.jStorage = data; - _backend = "userDataBehavior"; - }else{ - _storage_elm = null; - return; - } - } - - _load_storage(); - } - - /** - * Loads the data from the storage based on the supported mechanism - * @returns undefined - */ - function _load_storage(){ - /* if jStorage string is retrieved, then decode it */ - if(_storage_service.jStorage){ - try{ - _storage = json_decode(String(_storage_service.jStorage)); - }catch(E6){_storage_service.jStorage = "{}";} - }else{ - _storage_service.jStorage = "{}"; - } - _storage_size = _storage_service.jStorage?String(_storage_service.jStorage).length:0; - } - - /** - * This functions provides the "save" mechanism to store the jStorage object - * @returns undefined - */ - function _save(){ - try{ - _storage_service.jStorage = json_encode(_storage); - // If userData is used as the storage engine, additional - if(_storage_elm) { - _storage_elm.setAttribute("jStorage",_storage_service.jStorage); - _storage_elm.save("jStorage"); - } - _storage_size = _storage_service.jStorage?String(_storage_service.jStorage).length:0; - }catch(E7){/* probably cache is full, nothing is saved this way*/} - } - - /** - * Function checks if a key is set and is string or numberic - */ - function _checkKey(key){ - if(!key || (typeof key != "string" && typeof key != "number")){ - throw new TypeError('Key name must be string or numeric'); - } - return true; - } - - ////////////////////////// PUBLIC INTERFACE ///////////////////////// - - $.jStorage = { - /* Version number */ - version: "0.1.5.3", - - /** - * Sets a key's value. - * - * @param {String} key - Key to set. If this value is not set or not - * a string an exception is raised. - * @param value - Value to set. This can be any value that is JSON - * compatible (Numbers, Strings, Objects etc.). - * @returns the used value - */ - set: function(key, value){ - _checkKey(key); - if(_XMLService.isXML(value)){ - value = {_is_xml:true,xml:_XMLService.encode(value)}; - } - _storage[key] = value; - _save(); - return value; - }, - - /** - * Looks up a key in cache - * - * @param {String} key - Key to look up. - * @param {mixed} def - Default value to return, if key didn't exist. - * @returns the key value, default value or - */ - get: function(key, def){ - _checkKey(key); - if(key in _storage){ - if(_storage[key] && typeof _storage[key] == "object" && - _storage[key]._is_xml && - _storage[key]._is_xml){ - return _XMLService.decode(_storage[key].xml); - }else{ - return _storage[key]; - } - } - return typeof(def) == 'undefined' ? null : def; - }, - - /** - * Deletes a key from cache. - * - * @param {String} key - Key to delete. - * @returns true if key existed or false if it didn't - */ - deleteKey: function(key){ - _checkKey(key); - if(key in _storage){ - delete _storage[key]; - _save(); - return true; - } - return false; - }, - - /** - * Deletes everything in cache. - * - * @returns true - */ - flush: function(){ - _storage = {}; - _save(); - return true; - }, - - /** - * Returns a read-only copy of _storage - * - * @returns Object - */ - storageObj: function(){ - function F() {} - F.prototype = _storage; - return new F(); - }, - - /** - * Returns an index of all used keys as an array - * ['key1', 'key2',..'keyN'] - * - * @returns Array - */ - index: function(){ - var index = [], i; - for(i in _storage){ - if(_storage.hasOwnProperty(i)){ - index.push(i); - } - } - return index; - }, - - /** - * How much space in bytes does the storage take? - * - * @returns Number - */ - storageSize: function(){ - return _storage_size; - }, - - /** - * Which backend is currently in use? - * - * @returns String - */ - currentBackend: function(){ - return _backend; - }, - - /** - * Test if storage is available - * - * @returns Boolean - */ - storageAvailable: function(){ - return !!_backend; - }, - - /** - * Reloads the data from browser storage - * - * @returns undefined - */ - reInit: function(){ - var new_storage_elm, data; - if(_storage_elm && _storage_elm.addBehavior){ - new_storage_elm = document.createElement('link'); - - _storage_elm.parentNode.replaceChild(new_storage_elm, _storage_elm); - _storage_elm = new_storage_elm; - - /* Use a DOM element to act as userData storage */ - _storage_elm.style.behavior = 'url(#default#userData)'; - - /* userData element needs to be inserted into the DOM! */ - document.getElementsByTagName('head')[0].appendChild(_storage_elm); - - _storage_elm.load("jStorage"); - data = "{}"; - try{ - data = _storage_elm.getAttribute("jStorage"); - }catch(E5){} - _storage_service.jStorage = data; - _backend = "userDataBehavior"; - } - - _load_storage(); - } - }; - - // Initialize jStorage - _init(); - -})(window.jQuery || window.$); -(function() { - /* - Source, bug reports, examples: https://github.com/tamc/Sankey - Copyright: Thomas Counsell 2010, 2011 - Licence: MIT Open Source licence http://www.opensource.org/licenses/mit-license.php - */ - var FlowLine, Sankey, TransformationBox; - var __hasProp = Object.prototype.hasOwnProperty, __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; - Sankey = (function() { - function Sankey() { - this.display_in_element = 'sankey'; - this.display_width = $('#sankey').width(); - this.display_height = $('#sankey').height(); - this.r = Raphael(this.display_in_element, this.display_width, this.display_height); - this.left_margin = 100; - this.right_margin = 100; - this.y_space = 10; - this.threshold_for_drawing = 0; - this.box_width = 50; - this.flow_edge_width = 2; - this.flow_curve = 0.25; - this.boxes = {}; - this.box_array = []; - this.lines = {}; - this.line_array = []; - this.stacks = []; - this.bubbles = []; - this.bubbleColor = '#000'; - this.bubbleLabelColor = '#fff'; - } - Sankey.prototype.find_or_create_transformation_box = function(name) { - var new_box; - if (this.boxes[name] == null) { - new_box = new TransformationBox(this, name); - this.boxes[name] = new_box; - this.box_array.push(new_box); - } - return this.boxes[name]; - }; - Sankey.prototype.lineName = function(start, end) { - return "" + start + "-" + end; - }; - Sankey.prototype.createLine = function(datum) { - var new_line; - if (datum[0] === 0) { - return; - } - new_line = new FlowLine(this, datum[0], datum[1], datum[2]); - this.lines[this.lineName(datum[0], datum[2])] = new_line; - return this.line_array.push(new_line); - }; - Sankey.prototype.setData = function(data) { - var datum, _i, _len, _results; - _results = []; - for (_i = 0, _len = data.length; _i < _len; _i++) { - datum = data[_i]; - _results.push(this.createLine(datum)); - } - return _results; - }; - Sankey.prototype.setBubbles = function(data) { - return this.bubbles = data; - }; - Sankey.prototype.updateData = function(data) { - var datum, line, _i, _len, _results; - _results = []; - for (_i = 0, _len = data.length; _i < _len; _i++) { - datum = data[_i]; - line = this.lines[this.lineName(datum[0], datum[2])]; - _results.push(line ? line.setFlow(datum[1]) : this.createLine(datum)); - } - return _results; - }; - Sankey.prototype.convert_flow_values_callback = function(flow) { - return flow; - }; - Sankey.prototype.convert_flow_labels_callback = function(flow) { - return flow; - }; - Sankey.prototype.convert_box_value_labels_callback = function(flow) { - return this.convert_flow_labels_callback(flow); - }; - Sankey.prototype.convert_box_description_labels_callback = function(name) { - return name; - }; - Sankey.prototype.convert_bubble_values_callback = function(size) { - return size; - }; - Sankey.prototype.convert_bubble_labels_callback = function(size) { - return size; - }; - Sankey.prototype.nudge_boxes_callback = function() { - return; - }; - Sankey.prototype.nudge_colours_callback = function() { - return; - }; - Sankey.prototype.stack = function(x, box_names, y_box) { - return this.stacks.push({ - x: x, - box_names: box_names, - y_box: y_box - }); - }; - Sankey.prototype.setColors = function(colors) { - var box, box_name, color, _results; - _results = []; - for (box_name in colors) { - if (!__hasProp.call(colors, box_name)) continue; - color = colors[box_name]; - box = this.find_or_create_transformation_box(box_name); - _results.push(box.line_colour = colors[box.name] || box.line_colour); - } - return _results; - }; - Sankey.prototype.recolour = function(lines, new_colour) { - var line, _i, _len, _results; - _results = []; - for (_i = 0, _len = lines.length; _i < _len; _i++) { - line = lines[_i]; - _results.push(line.colour = new_colour); - } - return _results; - }; - Sankey.prototype.calculateXStep = function() { - var maximum_x, stack, _i, _len, _ref; - maximum_x = 0; - _ref = this.stacks; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - stack = _ref[_i]; - if (stack.x > maximum_x) { - maximum_x = stack.x; - } - } - return (this.display_width - this.left_margin - this.right_margin) / maximum_x; - }; - Sankey.prototype.position_boxes_and_lines = function() { - var box, bubble, name, stack, x, x_step, y, _i, _j, _k, _l, _len, _len2, _len3, _len4, _ref, _ref2, _ref3, _ref4, _ref5, _ref6; - x_step = this.calculateXStep(); - _ref = this.stacks; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - stack = _ref[_i]; - x = stack.x; - if (stack.y_box != null) { - y = ((_ref2 = this.boxes[stack.y_box]) != null ? _ref2.y : void 0) || 10; - } else { - y = 10; - } - _ref3 = stack.box_names; - for (_j = 0, _len2 = _ref3.length; _j < _len2; _j++) { - name = _ref3[_j]; - box = this.boxes[name]; - if (box == null) {} else { - box.y = y; - box.x = this.left_margin + (x * x_step); - y = box.b() + this.y_space; - } - } - } - this.nudge_boxes_callback(); - _ref4 = this.box_array; - for (_k = 0, _len3 = _ref4.length; _k < _len3; _k++) { - box = _ref4[_k]; - box.position_and_colour_lines(); - } - _ref5 = this.bubbles; - for (_l = 0, _len4 = _ref5.length; _l < _len4; _l++) { - bubble = _ref5[_l]; - if ((_ref6 = this.boxes[bubble[0]]) != null) { - _ref6.bubbleValue = bubble[1]; - } - } - this.nudge_colours_callback(); - return this.line_array.sort(function(a, b) { - return b.size - a.size; - }); - }; - Sankey.prototype.draw = function() { - var box, line, _i, _j, _len, _len2, _ref, _ref2, _results; - this.position_boxes_and_lines(); - _ref = this.line_array; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - line = _ref[_i]; - if (line.size > this.threshold_for_drawing) { - line.draw(this.r); - } - } - _ref2 = this.box_array; - _results = []; - for (_j = 0, _len2 = _ref2.length; _j < _len2; _j++) { - box = _ref2[_j]; - _results.push(box.size() > this.threshold_for_drawing ? box.draw(this.r) : void 0); - } - return _results; - }; - Sankey.prototype.redraw = function() { - var box, line, _i, _j, _len, _len2, _ref, _ref2, _results; - this.position_boxes_and_lines(); - _ref = this.line_array; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - line = _ref[_i]; - line.redraw(this.r); - } - _ref2 = this.box_array; - _results = []; - for (_j = 0, _len2 = _ref2.length; _j < _len2; _j++) { - box = _ref2[_j]; - _results.push(box.redraw(this.r)); - } - return _results; - }; - Sankey.prototype.fade_unless_highlighted = function() { - var box, line, _i, _j, _len, _len2, _ref, _ref2, _results; - _ref = this.line_array; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - line = _ref[_i]; - line.fade_unless_highlighted(); - void 0; - } - _ref2 = this.box_array; - _results = []; - for (_j = 0, _len2 = _ref2.length; _j < _len2; _j++) { - box = _ref2[_j]; - box.fade_unless_highlighted(); - _results.push(void 0); - } - return _results; - }; - Sankey.prototype.un_fade = function() { - var box, line, _i, _j, _len, _len2, _ref, _ref2, _results; - _ref = this.line_array; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - line = _ref[_i]; - line.un_fade(); - void 0; - } - _ref2 = this.box_array; - _results = []; - for (_j = 0, _len2 = _ref2.length; _j < _len2; _j++) { - box = _ref2[_j]; - box.un_fade(); - _results.push(void 0); - } - return _results; - }; - return Sankey; - })(); - FlowLine = (function() { - function FlowLine(sankey, left_box_name, flow, right_box_name) { - this.sankey = sankey; - this.hover_stop = __bind(this.hover_stop, this); - this.hover_start = __bind(this.hover_start, this); - this.setFlow(flow); - this.colour = void 0; - this.ox = 0; - this.oy = 0; - this.dx = 0; - this.dy = 0; - this.left_box = this.sankey.find_or_create_transformation_box(left_box_name); - this.right_box = this.sankey.find_or_create_transformation_box(right_box_name); - this.left_box.right_lines.push(this); - this.right_box.left_lines.push(this); - } - FlowLine.prototype.setFlow = function(flow) { - this.flow = flow; - return this.size = this.sankey.convert_flow_values_callback(this.flow); - }; - FlowLine.prototype.labelText = function() { - return this.sankey.convert_flow_labels_callback(this.flow); - }; - FlowLine.prototype.path = function() { - var curve; - curve = (this.dx - this.ox) * this.sankey.flow_curve; - return "M " + this.ox + "," + this.oy + " Q " + (this.ox + curve) + "," + this.oy + " " + ((this.ox + this.dx) / 2) + "," + ((this.oy + this.dy) / 2) + " Q " + (this.dx - curve) + "," + this.dy + " " + this.dx + "," + this.dy; - }; - FlowLine.prototype.innerWidth = function() { - if (this.size > this.sankey.flow_edge_width) { - return this.size - this.sankey.flow_edge_width; - } - return this.size; - }; - FlowLine.prototype.innerColor = function() { - var c; - c = Raphael.rgb2hsb(this.colour); - if (c.h !== 0 && c.s !== 0) { - if (c.b > 0.5) { - c.b = c.b - 0.15; - } else { - c.b = c.b + 0.15; - } - } - return Raphael.hsb2rgb(c.h, c.s, c.b); - }; - FlowLine.prototype.draw = function(r) { - this.outer_line = r.path(this.path()).attr({ - 'stroke-width': this.size, - 'stroke': this.colour - }); - this.inner_line = r.path(this.path()).attr({ - 'stroke-width': this.innerWidth(), - 'stroke': this.innerColor() - }); - r.set().push(this.inner_line, this.outer_line).hover(this.hover_start, this.hover_stop); - this.left_label = r.text(this.ox + 1, this.oy - (this.size / 2) - 5, this.labelText()).attr({ - 'text-anchor': 'start' - }); - this.right_label = r.text(this.dx - 1, this.dy - (this.size / 2) - 5, this.labelText()).attr({ - 'text-anchor': 'end' - }); - this.left_label.hide(); - return this.right_label.hide(); - }; - FlowLine.prototype.hover_start = function(event) { - this.highlight(true, true); - return this.sankey.fade_unless_highlighted(); - }; - FlowLine.prototype.hover_stop = function(event) { - this.un_highlight(true, true); - return this.sankey.un_fade(); - }; - FlowLine.prototype.redraw = function(r) { - if (this.outer_line == null) { - this.draw(r); - } - this.outer_line.attr({ - path: this.path(), - 'stroke-width': this.size - }); - this.inner_line.attr({ - path: this.path(), - 'stroke-width': this.innerWidth() - }); - this.left_label.attr({ - text: this.labelText(), - x: this.ox + 1, - y: this.oy - (this.size / 2) - 5 - }); - return this.right_label.attr({ - text: this.labelText(), - x: this.dx - 1, - y: this.dy - (this.size / 2) - 5 - }); - }; - FlowLine.prototype.fade_unless_highlighted = function() { - if (this.outer_line == null) { - return false; - } - if (this.inner_line == null) { - return false; - } - if (this.highlighed === true) { - return false; - } - this.outer_line.attr({ - 'opacity': '0.1' - }); - return this.inner_line.attr({ - 'opacity': '0.1' - }); - }; - FlowLine.prototype.un_fade = function() { - if (this.outer_line == null) { - return false; - } - if (this.inner_line == null) { - return false; - } - if (this.highlighed === true) { - return false; - } - this.outer_line.attr({ - 'opacity': '1.0' - }); - return this.inner_line.attr({ - 'opacity': '1.0' - }); - }; - FlowLine.prototype.highlight = function(left, right) { - if (this.outer_line == null) { - return false; - } - if (this.inner_line == null) { - return false; - } - this.highlighed = true; - if (left) { - this.left_label.toFront(); - this.left_label.show(); - this.left_box.highlight(); - } - if (right) { - this.right_label.toFront(); - this.right_label.show(); - return this.right_box.highlight(); - } - }; - FlowLine.prototype.un_highlight = function(left, right) { - if (this.outer_line == null) { - return false; - } - this.highlighed = false; - if (left) { - this.left_label.hide(); - this.left_box.un_highlight(); - } - if (right) { - this.right_label.hide(); - return this.right_box.un_highlight(); - } - }; - return FlowLine; - })(); - TransformationBox = (function() { - function TransformationBox(sankey, name) { - this.sankey = sankey; - this.name = name; - this.hover_end = __bind(this.hover_end, this); - this.hover_start = __bind(this.hover_start, this); - this.label_text = this.sankey.convert_box_description_labels_callback(name); - this.line_colour = "orange"; - this.left_lines = []; - this.right_lines = []; - this.x = 0; - this.y = 0; - this.bubbleValue = null; - } - TransformationBox.prototype.b = function() { - return this.y + this.size(); - }; - TransformationBox.prototype.is_left_box = function() { - return this.left_lines.length === 0; - }; - TransformationBox.prototype.is_right_box = function() { - return this.right_lines.length === 0; - }; - TransformationBox.prototype.size = function() { - var line, lines, s, _i, _len; - s = 0; - if (this.is_left_box()) { - lines = this.right_lines; - } else { - lines = this.left_lines; - } - for (_i = 0, _len = lines.length; _i < _len; _i++) { - line = lines[_i]; - if (line.size > this.sankey.threshold_for_drawing) { - s = s + line.size; - } - } - return s; - }; - TransformationBox.prototype.flow = function() { - var line, lines, s, _i, _len; - s = 0; - if (this.is_left_box()) { - lines = this.right_lines; - } else { - lines = this.left_lines; - } - for (_i = 0, _len = lines.length; _i < _len; _i++) { - line = lines[_i]; - if (line.size > this.sankey.threshold_for_drawing) { - s = s + line.flow; - } - } - return s; - }; - TransformationBox.prototype.position_and_colour_lines = function() { - var box_width, left_lines, line, ly, right_lines, ry, _i, _j, _len, _len2, _ref, _results; - ly = this.y; - left_lines = this.left_lines; - left_lines.sort(function(a, b) { - return a.left_box.y - b.left_box.y; - }); - for (_i = 0, _len = left_lines.length; _i < _len; _i++) { - line = left_lines[_i]; - line.dx = this.x; - line.dy = ly + (line.size / 2); - ly = ly + line.size; - } - ry = this.y; - right_lines = this.right_lines; - right_lines.sort(function(a, b) { - return a.right_box.y - b.right_box.y; - }); - box_width = this.sankey.box_width; - _results = []; - for (_j = 0, _len2 = right_lines.length; _j < _len2; _j++) { - line = right_lines[_j]; - if ((_ref = line.colour) == null) { - line.colour = this.line_colour; - } - line.ox = this.x + box_width; - line.oy = ry + (line.size / 2); - _results.push(ry = ry + line.size); - } - return _results; - }; - TransformationBox.prototype.valueLabelText = function() { - return this.sankey.convert_box_value_labels_callback(this.flow()); - }; - TransformationBox.prototype.descriptionLabelText = function() { - return this.label_text; - }; - TransformationBox.prototype.labelPositionX = function() { - if (this.is_left_box()) { - return this.x - 3.0; - } - if (this.is_right_box()) { - return this.x + this.sankey.box_width + 3.0; - } - return this.x + (this.sankey.box_width / 2); - }; - TransformationBox.prototype.labelPositionY = function() { - return this.y + (this.size() / 2); - }; - TransformationBox.prototype.labelAttributes = function() { - if (this.is_left_box()) { - return { - 'text-anchor': 'end' - }; - } - if (this.is_right_box()) { - return { - 'text-anchor': 'start' - }; - } - return {}; - }; - TransformationBox.prototype.numberLabelPositionX = function() { - return this.x + (this.sankey.box_width / 2); - }; - TransformationBox.prototype.numberLabelPositionY = function() { - return this.y - 5; - }; - TransformationBox.prototype.bubbleSize = function() { - return Math.sqrt(this.sankey.convert_bubble_values_callback(Math.abs(this.bubbleValue))); - }; - TransformationBox.prototype.bubbleLabel = function() { - return this.sankey.convert_bubble_labels_callback(this.bubbleValue); - }; - TransformationBox.prototype.bubbleColourForValue = function() { - if (this.bubbleValue > 0) { - return this.sankey.bubbleColor; - } - if (this.sankey.negativeBubbleColor == null) { - return this.sankey.bubbleColor; - } - return this.sankey.negativeBubbleColor; - }; - TransformationBox.prototype.bubbleLabelColourForValue = function() { - if (this.bubbleValue > 0) { - return this.sankey.bubbleLabelColor; - } - if (this.sankey.negativeBubbleLabelColor == null) { - return this.sankey.bubbleLabelColor; - } - return this.sankey.negativeBubbleLabelColor; - }; - TransformationBox.prototype.draw = function(r) { - var box_width; - if (!(this.size() > this.sankey.threshold_for_drawing)) { - return false; - } - box_width = this.sankey.box_width; - this.box = r.rect(this.x, this.y, box_width, this.size()).attr({ - 'fill': "#E8E2FF", - "stroke": "#D4CBF2" - }); - this.label = r.text(this.labelPositionX(), this.labelPositionY(), this.descriptionLabelText()).attr(this.labelAttributes()); - if (this.bubbleValue != null) { - this.bubble_circle = r.circle(this.x + box_width, this.y, this.bubbleSize()).attr({ - 'fill': this.bubbleColourForValue(), - 'stroke-width': 0 - }); - this.bubble_label = r.text(this.x + box_width, this.y, this.bubbleLabel()).attr({ - 'stroke': this.bubbleLabelColourForValue(), - 'text-anchor': 'middle' - }); - } - this.number_label = r.text(this.numberLabelPositionX(), this.numberLabelPositionY(), this.valueLabelText()); - this.number_label.hide(); - return r.set().push(this.number_label, this.label, this.box, this.bubble_circle, this.bubble_label).hover(this.hover_start, this.hover_end); - }; - TransformationBox.prototype.redraw = function(r) { - if (this.box == null) { - this.draw(r); - } - if (this.box == null) { - return; - } - this.box.attr({ - y: this.y, - height: this.size() - }); - this.label.attr({ - y: this.labelPositionY() - }); - this.number_label.attr({ - y: this.numberLabelPositionY(), - text: this.valueLabelText() - }); - if (this.bubbleValue != null) { - if (this.bubble_circle != null) { - this.bubble_circle.attr({ - cy: this.y, - r: this.bubbleSize(), - fill: this.bubbleColourForValue() - }); - this.bubble_label.attr({ - y: this.y, - text: this.bubbleLabel(), - 'stroke': this.bubbleLabelColourForValue() - }); - } else { - this.draw(r); - } - } - if (this.size() <= this.sankey.threshold_for_drawing) { - this.box.hide(); - this.label.hide(); - if (this.bubble_circle != null) { - return this.bubble_circle.hide(); - } - } else { - this.box.show(); - this.label.show(); - if (this.bubble_circle != null) { - return this.bubble_circle.show(); - } - } - }; - TransformationBox.prototype.hover_start = function() { - var line, _i, _j, _len, _len2, _ref, _ref2; - this.highlight(); - this.number_label.toFront(); - this.number_label.show(); - _ref = this.left_lines; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - line = _ref[_i]; - line.highlight(true, false); - } - _ref2 = this.right_lines; - for (_j = 0, _len2 = _ref2.length; _j < _len2; _j++) { - line = _ref2[_j]; - line.highlight(false, true); - } - return this.sankey.fade_unless_highlighted(); - }; - TransformationBox.prototype.hover_end = function() { - var line, _i, _j, _len, _len2, _ref, _ref2; - this.un_highlight(); - this.number_label.hide(); - _ref = this.left_lines; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - line = _ref[_i]; - line.un_highlight(true, false); - } - _ref2 = this.right_lines; - for (_j = 0, _len2 = _ref2.length; _j < _len2; _j++) { - line = _ref2[_j]; - line.un_highlight(false, true); - } - return this.sankey.un_fade(); - }; - TransformationBox.prototype.highlight = function() { - if (this.box == null) { - return false; - } - return this.highlighed = true; - }; - TransformationBox.prototype.un_highlight = function() { - if (this.box == null) { - return false; - } - return this.highlighed = false; - }; - TransformationBox.prototype.fade_unless_highlighted = function() { - if (this.box == null) { - return false; - } - if (this.highlighed === true) { - return false; - } - this.box.attr({ - 'opacity': '0.1' - }); - this.label.attr({ - 'opacity': '0.1' - }); - if (this.bubble_circle != null) { - this.bubble_circle.attr({ - 'opacity': '0.1' - }); - } - if (this.bubble_label != null) { - return this.bubble_label.attr({ - 'opacity': '0.1' - }); - } - }; - TransformationBox.prototype.un_fade = function() { - if (this.box == null) { - return false; - } - if (this.highlighed === true) { - return false; - } - this.box.attr({ - 'opacity': '1.0' - }); - this.label.attr({ - 'opacity': '1.0' - }); - if (this.bubble_circle != null) { - this.bubble_circle.attr({ - 'opacity': '1.0' - }); - } - if (this.bubble_label != null) { - return this.bubble_label.attr({ - 'opacity': '1.0' - }); - } - }; - return TransformationBox; - })(); - window.Sankey = Sankey; -}).call(this); -// éclair - FIXME: Need this so file is recognised as utf-8. Need a better solution than this bodge -// FIXME: In the end, this should only contain information drawn from the Excel Model. -// that is constant across pathways. The methods called are in helper.rb -window.twentyfifty = {}; -window.twentyfifty.default_pathway = "11111111111111111111111111111111111111111111111111111"; -window.twentyfifty.pathway_wiki_pages_hash = {"10111111111111110111111001111110111101101101110110111":75.0,"10111111111111110111111004424440444404204304440420111":"No","40444444444444440443424001121110111101102101110110111":"No","i0g2dd2pp1121f1i032211p004314110433304202304320420121":112.0,"e0d3jrg221ci12110222112004423220444404202304440420141":109.0,"r013ce1111111111042233B002322220233302202102330220121":110.0,"f023df111111111f0322123003223220333203102303430310221":111.0,"q011111111111111032413l004314110434104103204440410111":170.0,"10h4nn4431w23y110244111004424440343304202304430420441":95.0,"10h2pdppp12332130233122004414430343304102304430410231":96.0,"20222144411341110343321003422440423404203203340420141":94.0,"h0h2gg1211cj1j110322222003313230234102102203440320121":97.0,"g0f2oj11t1rgqj1j0343111003324240244104201304430420231":92.0,"00000000000000000000000000000000000000000000000000000":null}; -window.twentyfifty.pathway_descriptions_hash = {"10111111111111110111111001111110111101101101110110111":"Imported natural gas for electricity and\nheat. Imported oil for vehicles.","10111111111111110111111004424440444404204304440420111":"","40444444444444440443424001121110111101102101110110111":"","i0g2dd2pp1121f1i032211p004314110433304202304320420121":"Cost-optimising model based. Mix of supply\nsources. Ambitious demand reduction.","e0d3jrg221ci12110222112004423220444404202304440420141":"Renewables largest supply component. Very\nambitious demand reduction. Lots of storage.","r013ce1111111111042233B002322220233302202102330220121":"Lots of nuclear. Moderate energy demand\nreduction. Minimal renewables.","f023df111111111f0322123003223220333203102303430310221":"Lots of CCS and biomass co-firing. Ambitious\ndemand reduction.","q011111111111111032413l004314110434104103204440410111":"TBD\n","10h4nn4431w23y110244111004424440343304202304430420441":"Generation from wind, marine renewables and\nhydro. Ambitious demand reduction.","10h2pdppp12332130233122004414430343304102304430410231":"Offshore renewables, solar, geothermal and\nelectricity imports. Ambitious demand reduction.","20222144411341110343321003422440423404203203340420141":"Marine renewables, geothermal and algae\nsupply. Some nuclear and CCS.","h0h2gg1211cj1j110322222003313230234102102203440320121":"Wide range of generation sources. Moderate\ndemand reduction. Considerable bioenergy.","g0f2oj11t1rgqj1j0343111003324240244104201304430420231":"Energy from a range of sources. Emphasis on\nUK self-reliance.","00000000000000000000000000000000000000000000000000000":""}; -window.twentyfifty.pathway_names_hash = {"10111111111111110111111001111110111101101101110110111":"Doesn't tackle climate change (All at level 1)","10111111111111110111111004424440444404204304440420111":"Maximium demand, no supply","40444444444444440443424001121110111101102101110110111":"Maximum supply, no demand","i0g2dd2pp1121f1i032211p004314110433304202304320420121":"Analogous to MARKAL 3.26","e0d3jrg221ci12110222112004423220444404202304440420141":"Higher renewables, more energy efficiency","r013ce1111111111042233B002322220233302202102330220121":"Higher nuclear, less energy efficiency","f023df111111111f0322123003223220333203102303430310221":"Higher CCS, more bioenergy","q011111111111111032413l004314110434104103204440410111":"Low cost pathway","10h4nn4431w23y110244111004424440343304202304430420441":"Friends of the Earth","10h2pdppp12332130233122004414430343304102304430410231":"Campaign to Protect Rural England","20222144411341110343321003422440423404203203340420141":"Mark Brinkley","h0h2gg1211cj1j110322222003313230234102102203440320121":"National Grid","g0f2oj11t1rgqj1j0343111003324240244104201304430420231":"Atkins","00000000000000000000000000000000000000000000000000000":null}; -window.twentyfifty.comparator_pathways = ["i0g2dd2pp1121f1i032211p004314110433304202304320420121","e0d3jrg221ci12110222112004423220444404202304440420141","r013ce1111111111042233B002322220233302202102330220121","f023df111111111f0322123003223220333203102303430310221","q011111111111111032413l004314110434104103204440410111","10h4nn4431w23y110244111004424440343304202304430420441","10h2pdppp12332130233122004414430343304102304430410231","20222144411341110343321003422440423404203203340420141","h0h2gg1211cj1j110322222003313230234102102203440320121","g0f2oj11t1rgqj1j0343111003324240244104201304430420231","10111111111111110111111001111110111101101101110110111"]; -window.twentyfifty.default_comparator_code = "10111111111111110111111001111110111101101101110110111"; -window.twentyfifty.longDescriptions = [["No new nuclear power installed. Final nuclear power station estimated to close in 2035","~13 3GW nuclear power stations delivering ~280 TWh/yr","~30 3GW nuclear power stations delivering ~630 TWh/yr","~50 3GW nuclear power stations delivering ~1030 TWh/yr"],[null,null,null,null],["CCS demonstration plants only","~240 TWh/yr from 25-40 CCS power stations - comparable to current gas & coal generation","~340 TWh/yr from 35-60 CCS power stations - comparable to total current demand","~510 TWh/yr from 50-90 CCS power stations - this requires a similar build rate to that of gas plants in the 1990s"],["After demonstration plants, all CCS electricity is from solid fuel (coal or biomass)","After demonstration plants, two thirds of CCS electricity is from solid fuel (coal or biomass), one third from gas (natural gas or biogas)","After demonstration plants, one third of CCS electricity is from solid fuel (coal or biomass), two thirds from gas (natural gas or biogas)","After demonstration plants, all CCS electricity is from gas (natural gas or biogas)"],["~1,400 offshore wind turbines in 2025, reducing to zero as decommissioned sites are not replanted","~10,000 offshore wind turbines in 2050, delivering ~180 TWh/yr","~17,000 offshore wind turbines in 2050, delivering ~310 TWh/yr","~40,000 offshore wind turbines in 2050, delivering ~430 TWh/yr"],["~4,400 onshore wind turbines in 2025, reducing to zero as decommissioned sites are not replanted","~8,000 onshore wind turbines in 2050, delivering ~50 TWh/yr. ","~13,000 onshore wind turbines in 2050, delivering ~80 TWh/yr","~20,000 onshore wind turbines in 2050, delivering ~130 TWh/yr"],["None in 2050","~300km of wave farms","~600km of wave farms","~900km of wave farms"],["None in 2050","1,000 tidal stream turbines","4,700 tidal stream turbines","10,600 tidal stream turbines"],["None in 2050","3 small tidal range schemes","4 tidal range schemes","8 tidal range schemes"],["Only existing biomass plants and those already under construction (0.6GW)","8GW of biomass power stations by 2050 delivering 62TWh/yr","12GW of biomass power stations by 2050 delivering 100TWh/yr","Over 20GW of biomass power stations by 2050 delivering 180TWh/yr"],["No significant solar PV capacity is installed","4m2 of photovoltaic panels per person in 2050, supplying ~60 TWh/yr of electricity"," 5.4m2 of photovoltaic panels per person in 2050, supplying ~80 TWh/yr","9.5m2 of photovoltaic panels per person – all suitable roof and facade space used"],["As today, a negligible proportion of buildings have solar thermal in 2050","~30% of suitable buildings get ~30% of their hot water from solar thermal","All suitable buildings get ~30% of their hot water from solar thermal","All suitable buildings get ~60% of their hot water from solar thermal"],["No deployment of geothermal electricity generation","Supply of geothermal electricity grows slowly to 7 TWh/yr in 2035 and is sustained","Supply of geothermal electricity grows quickly reaching 21 TWh/yr by 2030 and is sustained","Supply of geothermal electricity grows rapidly reaching 35 TWh/yr by 2030 and is sustained"],["Supply of hydroelectricity is maintained at current levels of 5 TWh/yr","Supply of hydroelectricity grows slowly, reaching 7 TWh/yr by 2050","Supply of hydroelectricity grows more quickly, reaching 8 TWh/yr by 2030 and is sustained","Supply of hydroelectricity grows rapidly reaching 13 TWh/yr by 2035 and is sustained"],["As today, no discernable supply of electricity from micro-wind turbines","Supply of electricity from micro wind turbines increases to 1.3 TWh/yr by 2020 and is sustained","Micro wind turbines installed in all ~450,000 suitable domestic properties, supplying 3.5 TWh/year from 2020","Micro wind turbines installed in all suitable domestic and non-domestic sties, supplying 8.9 TWh/year from 2020"],["No electricity imports, other than for balancing","30 TWh/yr of electricity imported from Southern Europe","70 TWh/yr of electricity imported from a 10% share of an internationally coordinated desert solar project ","140 TWh/yr of electricity imported from a 20% share of an internationally coordinated desert solar project"],[null,null,null,null],["Energy crops and food production similar to today","5% of UK land used for energy crops","10% of UK land used for energy crops","17% of UK land used for energy crops"],["Livestock numbers increase by 10%","Livestock numbers same as today","Livestock numbers decrease by 10%","Livestock numbers decrease by 20%"],["Overall quantity of waste increases 50% to 2050; 21% increase in recycling rate and 44% increase in rate of energy from waste. 24% of waste is sent to landfill","Overall quantity of waste increases almost 20% by 2050; recycling and energy from waste rates increase by 36% and 89% respectively. 11% of waste is sent to landfill.","Overall quantity of waste increases 33%; waste is handled through high-tech and industry-led approaches; by 2050, recycling and energy from waste rates increase by 36% and 89% respectively. Only 2% is sent to landfill.","Quantity of waste decreases 20% by 2050; recycling and energy from waste increase by 70% and 7% respectively; by 2050, 3% of waste sent to landfill."],["No development of macro-algae cultivation","Macro algae covering the same area as half of natural reserve used, delivering ~4 TWh/yr","Macro algae covering the same area as all of natural reserve used, delivering ~9 TWh/yr","Macro algae covering the same area as four times natural reserve used, delivering ~46 TWh/yr"],["Biomass converted to a mixture of solid, liquid and gas biofuels","Biomass mainly converted to solid biofuel","Biomass mainly converted to liquid biofuel","Biomass mainly converted to biogas fuel"],["Imported biofuel declines from ~ 4 TWh/yr currently to zero","Up to 70 TWh/yr of imported bioenergy in 2050","Up to 140 TWh/yr of imported bioenergy in 2050","Up to 280 TWh/yr of imported bioenergy in 2050"],[null,null,null,null],[null,null,null,null],["In 2050, individuals travel 9% further than today. No noticeable modal shift.","Individuals travel 7% further than today, cars and vans are 80% of 2050 passenger mileage","Individuals travel 7% further than today; cars and vans 74% of 2050 passenger mileage","In 2050, individuals travel the same distance as today. Signficant shift to public transport."],["By 2050, 20% plug in hybrid electric cars; 2.5% zero emission cars.","By 2050, 35% conventional petrol or diesel engine cars; 54% plug-in hybrid vehicles; 11% zero emission vehicles; all buses hybrids; 73% of passenger railway is electrifi","By 2050, 20% conventional combustion engine cars, with 32% in plug-in hybrid vehicles and 48% in zero emission vehicles: 22% of bus travel fully electric or fuel cell electric ","By 2050 100% electric motor or hydrogen fuel cell; all passenger trains electrified; 50% bus electrified "],["By 2050, 100% electric","by 2050, 80% electric, 20% hydrogen fuel cell","By 2050, 20% electric, 80% hydrogen fuel cell","By 2050, 100% hydrogen fuel cells"],["Road haulage makes up 73% of distance, using conventional engines. Rail all diesel","Some shift from road to rail and water, and more efficient engines","Greater modal shift to rail and water; more efficient HGVs; more efficient logistics","Road modal share falls to half; greater hybridisation. Rail freight is all electric "],["By 2050, international aviation has 130% more passengers but uses only 50% more fuel","By 2050, international aviation has 130% more passengers but uses only 45% more fuel","By 2050, international aviation has 130% more passengers but uses only 31% more fuel","By 2050, international aviation has 85% more passengers but uses only 5% more fuel"],["no improvements from energy efficiency; between 2007 and 2050 emissions increase by 139%","1/3 of technical feasible reductions realised; between 2007 and 2050 emissions increase by 78%","2/3 of technical feasible reductions realised; between 2007 and 2050 emissions increase by 16%","maximum technical feasible reductions realised; between 2007 and 2050 emissions decrease by 46%"],[null,null,null,null],["Average room temperature increases to 20°C (a 2.5°C increase on 2007)","Average room temperature increases to 18°C (a 0.5°C increase on 2007)","Average room temperature decreases to 17°C (a 0.5°C decrease on 2007)","Average room temperature decreases to 16°C (a 1.5°C decrease on 2007)"],["Over 7m homes insulated, average thermal leakiness falls by 25%","Over 8m homes insulated, average thermal leakiness falls by 33%","Over 18m homes insulated, average thermal leakiness falls by 42%","Over 24m homes insulated, average thermal leakiness decreases by 50% "],["The proportion of domestic heat supplied using electricity is 0-10%, as today","The proportion of new domestic heating systems using electricity is 20%","The proportion of new domestic heating systems supplied using electricity is 30-60%","The proportion of new domestic heating systems supplied using electricity is 80-100%"],["The dominant non-electric heat source is gas (biogas if available)","The dominant non-electric heat source is coal (biomass if available)","The dominant non-electric heat source is waste heat from power stations","A mixture of gas/biogas; coal/biomass; and heat from power stations"],[null,null,null,null],["Energy demand for domestic lights and appliances increases by 20% (relative to 2007)","Energy demand for domestic lights and appliances is stable","Energy demand for domestic lights and appliances decreases by 40%","Energy demand for domestic lights and appliances decreases by 60%"],["Energy used for domestic cooking remains at 63% electricity and 37% gas","Energy used for domestic cooking is entirely electric","Energy used for domestic cooking is entirely electric","Energy used for domestic cooking is entirely electric"],[null,null,null,null],["UK industry output more than doubles by 2050","UK industry grows in line with current trends","UK industry output falls 30-40% by 2050","UK industry output falls 30-40% by 2050"],["No electrification of industrial processes and little improvement in industrial energy intensity","Some industrial processes electrified and moderate improvements in process emissions and energy demand","Many industrial processes electrified, CCS captures 48% of emissions and substantial improvements in process emissions and energy demand","Many industrial processes electrified, CCS captures 48% of emissions and substantial improvements in process emissions and energy demand"],[null,null,null,null],["Commercial space heating demand increases by 50%, hot water demand by 60%, cooling demand by 250%","Commercial space heating demand increases by 30%, hot water demand by 50%, cooling demand by 60%","Commercial space heating demand stable, hot water demand increases by 25%, cooling demand stable","Commercial space heating demand drops by 25%, hot water demand by 10%, cooling demand by 60%"],["The proportion of non-domestic heat supplied using electricity is 0-10%, as today","The proportion of non-domestic heat supplied using electricity is 20%","The proportion of non-domestic heat supplied using electricity is 30-60%","The proportion of non-domestic heat supplied using electricity is 80-100%"],["The dominant non-electric heat source is gas (biogas if available)","The dominant non-electric heating fuel is coal (biomass if available)","The dominant non-electric heat source is heat from power stations","A mixture of gas/biogas, coal/biomass, and heat from power stations"],[null,null,null,null],["Energy demand for commercial lights & appliances increases by 33%. Energy for cooking is stable","Energy demand for commercial lights & appliances increases by 15%; decreases by 5% for cooking","Energy demand for commercial lights & appliances decreases by 5%; decreases by 20% for cooking","Energy demand for commercial lights & appliances decreases by 30%; decreases by 25% for cooking"],["Energy used for commercial cooking is 60% electricity and 40% gas (no change from 2007)","Energy used for commercial cooking is 100% electric","Energy used for commercial cooking is 100% electric","Energy used for commercial cooking is 100% electric"],[null,null,null,null],["No geosequestration","Carbon dioxide sequestred at a rate of 1 million tonnes per annum by 2050","Carbon dioxide sequestred at a rate of ~30 million tonnes per annum by 2050","Carbon dioxide sequestred at a rate of ~110 million tonnes per annum by 2050"],["Today’s 3.5 GW of pumped storage and 4 GW interconnection with Europe available for balancing electricity supply and demand","4 GW of pumped storage and 10 GW interconnection with Europe available for balancing electricity supply and demand","7 GW of pumped storage (includign 2 more sites), 15 GW of interconnection with Europe and some demand shifting available for balancing electricity supply and demand","20 GW of pumped storage with large lagoons, 30 GW of interconnection with Europe and substantial demand shifting available for balancing electricity supply and demand"],[null,null,null,null]]; -window.twentyfifty.helpPages = {"primary_energy_chart":"83","electricity":"84","energy_security":"85","sankey":"86","map":"87","costs_in_context":"88","costs_compared_overview":"89","costs_sensitivity":"90","story":"91","air_quality":"TBD"}; -window.twentyfifty.choice_sizes = {"0":4,"2":4,"3":4,"4":4,"5":4,"6":4,"7":4,"8":4,"9":4,"10":4,"11":4,"12":4,"13":4,"14":4,"15":4,"17":4,"18":4,"19":4,"20":4,"21":4,"22":4,"25":4,"26":4,"27":4,"28":4,"29":4,"30":4,"32":4,"33":4,"34":4,"35":4,"37":4,"38":2,"40":3,"41":3,"43":4,"44":4,"45":4,"47":4,"48":2,"50":4,"51":4,"52":3}; -(function() { - var cache, choices, choicesForCode, codeForChoices, comparator, controller, demoOriginalLevel, demoTimer, documentReady, float_to_letter_map, getChoices, getComparator, getSector, go, letter_to_float_map, loadMainPathway, loadSecondaryPathway, old_choices, pathwayDescriptions, pathwayName, pathwayWikiPages, sector, setChoices, setHelpUrl, setUpControls, setVariablesFromURL, startDemo, stopDemo, switchComparator, switchPathway, switchSector, switchView, updateControls, url, view, view_manager, views; - - views = {}; - - controller = null; - - choices = null; - - view = null; - - sector = null; - - comparator = null; - - view_manager = null; - - old_choices = []; - - cache = {}; - - documentReady = function() { - if ($.jStorage.get('CostCaveatShown') !== true) { - $('#cost_caveats').show(); - } - setUpControls(); - setVariablesFromURL(); - switchView(view); - return loadMainPathway(); - }; - - $(document).ready(documentReady); - - setUpControls = function() { - $("a[title]").tooltip({ - delay: 0, - position: 'top left', - offset: [3, 3], - tip: '#tooltip' - }); - $("a.choiceLink").click(function(event) { - var c, l, t; - event.preventDefault(); - t = $(event.target); - c = t.data().choicenumber; - l = t.data().choicelevel; - return go(c, l); - }); - $("a.view").click(function(event) { - var t, v; - event.preventDefault(); - t = $(event.target); - v = t.data().view; - return switchView(v); - }); - return $(".newdropdown").click(function(event) { - var d, o, space, t; - event.preventDefault(); - t = $(event.target); - d = $(t.data().dropdown); - if (d.hasClass("showdropdown")) { - return d.removeClass("showdropdown"); - } else { - d.addClass("showdropdown"); - o = t.offset(); - o.top = o.top + t.height(); - space = $(document).width() - o.left - d.width(); - if (space < 0) { - o.left = o.left + space; - } - return d.offset(o); - } - }); - }; - - setVariablesFromURL = function() { - var url_elements; - url_elements = window.location.pathname.split('/'); - controller = url_elements[1] || "pathways"; - choices = choicesForCode(url_elements[2] || twentyfifty.default_pathway); - view = url_elements[3] || "primary_energy_chart"; - if (view === 'costs_compared_within_sector') { - sector = url_elements[4]; - } - if (url_elements[4] === 'comparator') { - return comparator = url_elements[5]; - } - }; - - float_to_letter_map = { - "": "0", - 1.0: "1", - 1.1: "b", - 1.2: "c", - 1.3: "d", - 1.4: "e", - 1.5: "f", - 1.6: "g", - 1.7: "h", - 1.8: "i", - 1.9: "j", - 2.0: "2", - 2.1: "l", - 2.2: "m", - 2.3: "n", - 2.4: "o", - 2.5: "p", - 2.6: "q", - 2.7: "r", - 2.8: "s", - 2.9: "t", - 3.0: "3", - 3.1: "v", - 3.2: "w", - 3.3: "x", - 3.4: "y", - 3.5: "z", - 3.6: "A", - 3.7: "B", - 3.8: "C", - 3.9: "D", - 0.0: "0", - 4.0: "4" - }; - - codeForChoices = function(c) { - var cd, choice; - if (c == null) { - c = choices; - } - cd = (function() { - var _i, _len, _results; - _results = []; - for (_i = 0, _len = c.length; _i < _len; _i++) { - choice = c[_i]; - _results.push(float_to_letter_map[choice]); - } - return _results; - })(); - return cd.join(''); - }; - - letter_to_float_map = { - "1": 1.0, - "b": 1.1, - "c": 1.2, - "d": 1.3, - "e": 1.4, - "f": 1.5, - "g": 1.6, - "h": 1.7, - "i": 1.8, - "j": 1.9, - "2": 2.0, - "l": 2.1, - "m": 2.2, - "n": 2.3, - "o": 2.4, - "p": 2.5, - "q": 2.6, - "r": 2.7, - "s": 2.8, - "t": 2.9, - "3": 3.0, - "v": 3.1, - "w": 3.2, - "x": 3.3, - "y": 3.4, - "z": 3.5, - "A": 3.6, - "B": 3.7, - "C": 3.8, - "D": 3.9, - "0": 0.0, - "4": 4.0 - }; - - choicesForCode = function(newCode) { - var choice, _i, _len, _ref, _results; - _ref = newCode.split(''); - _results = []; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - choice = _ref[_i]; - _results.push(letter_to_float_map[choice]); - } - return _results; - }; - - getChoices = function() { - return choices; - }; - - getSector = function() { - return parseInt(sector); - }; - - switchSector = function(new_sector) { - sector = new_sector; - if (history['pushState'] != null) { - history.pushState(choices, codeForChoices(), url()); - } - switchView('costs_compared_within_sector'); - view_manager.teardown(); - return view_manager.updateResults(cache[codeForChoices()]); - }; - - getComparator = function() { - return comparator; - }; - - switchComparator = function(new_comparator) { - comparator = new_comparator; - if (history['pushState'] != null) { - history.pushState(choices, codeForChoices(), url()); - } - if (view_manager.switchComparator != null) { - return view_manager.switchComparator(comparator); - } - }; - - url = function(options) { - var s; - if (options == null) { - options = {}; - } - s = jQuery.extend({ - controller: controller, - code: codeForChoices(), - view: view, - sector: sector, - comparator: getComparator() - }, options); - if (s.view === 'costs_compared_within_sector' && (s.sector != null)) { - return "/" + s.controller + "/" + s.code + "/" + s.view + "/" + s.sector; - } else if (s.comparator != null) { - return "/" + s.controller + "/" + s.code + "/" + s.view + "/comparator/" + s.comparator; - } else { - return "/" + s.controller + "/" + s.code + "/" + s.view; - } - }; - - go = function(index, level) { - old_choices = choices.slice(0); - if (index <= 15 && index !== 3 && level > 1 && Math.ceil(choices[index]) === level) { - choices[index] = Math.round((choices[index] - 0.1) * 10) / 10; - } else { - choices[index] = level; - } - return loadMainPathway(); - }; - - demoTimer = null; - - demoOriginalLevel = null; - - startDemo = function(choice) { - var demoLevel, demoMaximum; - demoLevel = 1; - demoOriginalLevel = choices[choice]; - demoMaximum = window.twentyfifty.choice_sizes[choice]; - return demoTimer = setInterval((function() { - go(choice, demoLevel); - demoLevel = demoLevel + 1; - if (demoLevel > demoMaximum) { - demoLevel = 1; - } - return false; - }), 1000); - }; - - stopDemo = function(choice) { - if (demoTimer != null) { - clearInterval(demoTimer); - } - if ((demoOriginalLevel != null) && demoOriginalLevel !== choices[choice]) { - return go(choice, demoOriginalLevel); - } - }; - - switchView = function(new_view) { - var c, data; - $('.showdropdown').removeClass("showdropdown"); - if (view === new_view && (view_manager != null)) { - return false; - } - if (view_manager != null) { - view_manager.teardown(); - } - view = new_view; - view_manager = views[view]; - setHelpUrl(); - $("a.selected").removeClass("selected"); - $("a.view[data-view='" + view + "']").addClass("selected"); - if (view === "costs_in_context") { - $("#cost_choice").addClass("selected").text("Costs: context"); - } else if (view === "costs_compared_overview") { - $("#cost_choice").addClass("selected").text("Costs: compared"); - } else if (view === "costs_sensitivity") { - $("#cost_choice").addClass("selected").text("Costs: sensitivity"); - } else { - $("#cost_choice").text("Costs"); - } - c = codeForChoices(); - data = cache[c]; - if (data != null) { - view_manager.updateResults(data); - } - if (history['pushState'] != null) { - return history.pushState(choices, c, url()); - } - }; - - setHelpUrl = function() { - return $('#help a').attr('href', "http://2050-calculator-tool-wiki.decc.gov.uk/pages/" + twentyfifty.helpPages[view]); - }; - - switchPathway = function(new_code) { - return setChoices(choicesForCode(new_code)); - }; - - setChoices = function(new_choices) { - $('.showdropdown').removeClass("showdropdown"); - old_choices = choices.slice(0); - choices = new_choices; - return loadMainPathway(); - }; - - loadMainPathway = function(pushState) { - var fetch, main_code; - if (pushState == null) { - pushState = true; - } - if (choices.join('') === old_choices.join('')) { - return false; - } - updateControls(old_choices, choices); - main_code = codeForChoices(); - if (history['pushState'] != null) { - history.pushState(choices, main_code, url()); - } - if (cache[main_code] != null) { - view_manager.updateResults(cache[main_code]); - return $('#calculating').hide(); - } else { - $('#calculating').show(); - fetch = function() { - return $.getJSON(url({ - code: main_code, - view: 'data', - sector: null, - comparator: null - }), function(data) { - if (data != null) { - cache[data._id] = data; - if (data._id === codeForChoices()) { - view_manager.updateResults(data); - return $('#calculating').hide(); - } - } - }); - }; - return fetch(); - } - }; - - loadSecondaryPathway = function(secondary_code, callback) { - var fetch, - _this = this; - if (cache[secondary_code] != null) { - return callback(cache[secondary_code]); - } else { - fetch = function() { - return $.getJSON(url({ - code: secondary_code, - view: 'data', - sector: null, - comparator: null - }), function(data) { - if (data != null) { - cache[data._id] = data; - return callback(data); - } - }); - }; - return fetch(); - } - }; - - window.onpopstate = function(event) { - var url_elements; - if (!event.state) { - return false; - } - url_elements = window.location.pathname.split('/'); - setChoices(choicesForCode(url_elements[2])); - switchView(url_elements[3]); - if (view === 'costs_compared_within_sector') { - switchSector(url_elements[4]); - } - if (url_elements[4] === 'comparator') { - return switchComparator(url_elements[5]); - } - }; - - updateControls = function(old_choices, choices) { - var c, choice, choice_frview, choice_whole, controls, i, old_choice, old_choice_frview, old_choice_whole, row, _i, _j, _len, _ref, _ref1, _results; - this.choices = choices; - controls = $('#classic_controls'); - _ref = this.choices; - _results = []; - for (i = _i = 0, _len = _ref.length; _i < _len; i = ++_i) { - choice = _ref[i]; - old_choice = old_choices[i]; - if (choice !== old_choices[i]) { - old_choice_whole = Math.ceil(old_choice); - old_choice_frview = parseInt((old_choice % 1) * 10); - choice_whole = Math.ceil(choice); - choice_frview = parseInt((choice % 1) * 10); - row = controls.find("tr#r" + i); - row.find(".selected, .level" + old_choice_whole + ", .level" + old_choice_whole + "_" + old_choice_frview).removeClass("selected level" + old_choice_whole + " level" + old_choice_whole + "_" + old_choice_frview); - if (old_choice_frview !== 0) { - controls.find("#c" + i + "l" + old_choice_whole).text(old_choice_whole); - } - row.find("#c" + i + "l" + choice_whole).addClass('selected'); - for (c = _j = 1, _ref1 = choice_whole - 1; 1 <= _ref1 ? _j <= _ref1 : _j >= _ref1; c = 1 <= _ref1 ? ++_j : --_j) { - controls.find("#c" + i + "l" + c).addClass("level" + choice_whole); - } - if (choice_frview !== 0) { - controls.find("#c" + i + "l" + choice_whole).text(choice); - _results.push(controls.find("#c" + i + "l" + choice_whole).addClass("level" + choice_whole + "_" + choice_frview)); - } else { - _results.push(controls.find("#c" + i + "l" + choice_whole).addClass("level" + choice_whole)); - } - } else { - _results.push(void 0); - } - } - return _results; - }; - - pathwayName = function(pathway_code, default_name) { - if (default_name == null) { - default_name = null; - } - return window.twentyfifty.pathway_names_hash[pathway_code] || default_name; - }; - - pathwayDescriptions = function(pathway_code, default_description) { - if (default_description == null) { - default_description = null; - } - return window.twentyfifty.pathway_descriptions_hash[pathway_code] || default_description; - }; - - pathwayWikiPages = function(pathway_code, default_page) { - if (default_page == null) { - default_page = null; - } - return "http://2050-calculator-tool-wiki.decc.gov.uk/pages/" + (window.twentyfifty.pathway_wiki_pages_hash[pathway_code] || default_page); - }; - - window.twentyfifty.code = codeForChoices; - - window.twentyfifty.getChoices = getChoices; - - window.twentyfifty.setChoices = setChoices; - - window.twentyfifty.getSector = getSector; - - window.twentyfifty.switchSector = switchSector; - - window.twentyfifty.getComparator = getComparator; - - window.twentyfifty.switchComparator = switchComparator; - - window.twentyfifty.url = url; - - window.twentyfifty.go = go; - - window.twentyfifty.loadMainPathway = loadMainPathway; - - window.twentyfifty.loadSecondaryPathway = loadSecondaryPathway; - - window.twentyfifty.switchView = switchView; - - window.twentyfifty.switchPathway = switchPathway; - - window.twentyfifty.pathwayName = pathwayName; - - window.twentyfifty.pathwayDescriptions = pathwayDescriptions; - - window.twentyfifty.pathwayWikiPages = pathwayWikiPages; - - window.twentyfifty.startDemo = startDemo; - - window.twentyfifty.stopDemo = stopDemo; - - window.twentyfifty.views = views; - -}).call(this); -(function() { - var adjust_costs_of_pathway, calculateIncrementalCost, cost_categories, cost_override_in_place_warning, costs_in_category, group_costs_of_pathway, setDefaultStoreIfRequired, - __hasProp = {}.hasOwnProperty; - - window.costCaveatHTML = "
\n We would like your help to develop this tool. Please\nclick here\n to find out more about our methodology and suggest improvements.\nBefore viewing the cost implications of your choices, please note that:\n
    \n
  1. \n The Calculator expresses pathway costs as 'average pounds per person per year'. This is not the same as your energy bill. It is the cost of everything the UK buys that makes, converts, saves or uses energy: from kettles and insulation foam to trains and power stations. You can choose to see the results in different units when using the\n excel version of the Calculator.\n
  2. \n
  3. The Calculator does not choose any options automatically, regardless of their cost.
  4. \n
  5. \n The Calculator uses forecasts from credible sources of how technology and fuel costs might rise or fall over time. You vary these forecasts using the\n cost sensitivity\n implication from the menu on the top left. The full set of data points is available on the\n wiki.\n
  6. \n
  7. The cost of not tackling climate change is not included in the Calculator. The Stern review estimated that failing to tackle climate change could reduce global GDP by up to 20%. This is the equivalent of up to £6,500 per person per year on average, on top of the cost of the energy system.
  8. \n
  9. Some other important effects have been excluded from the Calculator. The costs of travelling less or with different modes of transport, having colder homes or fewer goods, and changing the appearance of our houses or landscape are not included. Nor are profits, taxes, subsidies or economies of scale driven by pathway choices. The Calculator includes only the physical costs of constructing, operating and fuelling equipment.
  10. \n
  11. Costs are just one feature for comparing 2050 pathways. The Calculator provides information on other impacts, as well as some illustrative pathways to compare your choices with.
  12. \n
\n\n
"; - - window.costEssentialNotesHTML = "
\n Note: The cost of failing to tackle climate change is not included. Some pathways, including the 'All at Level 1' pathway shown here, fail to tackle climate change. The Stern review estimated that failing to tackle climate change could reduce global GDP by up to 20% (equivalent to up to £6500 per person per year on top of the cost of the energy system included in the chart above). Nor are the costs of travelling less, being colder, or consuming less included.\n Show the caveats again\n
"; - - cost_categories = { - "Conventional thermal plant": "Electricity", - "Combustion + CCS": "Electricity", - "Nuclear power": "Electricity", - "Onshore wind": "Electricity", - "Offshore wind": "Electricity", - "Hydroelectric": "Electricity", - "Wave and Tidal": "Electricity", - "Geothermal": "Electricity", - "Distributed solar PV": "Electricity", - "Distributed solar thermal": "Buildings", - "Micro wind": "Electricity", - "Biomatter to fuel conversion": "Bioenergy", - "Bioenergy imports": "Bioenergy", - "Agriculture and land use": "Bioenergy", - "Energy from waste": "Bioenergy", - "Waste arising": "Bioenergy", - "Marine algae": "Bioenergy", - "Electricity imports": "Electricity", - "Electricity Exports": "Electricity", - "Electricity grid distribution": "Electricity", - "Storage, demand shifting, backup": "Electricity", - "H2 Production": "Transport", - "Domestic heating": "Buildings", - "Domestic insulation": "Buildings", - "Commercial heating and cooling": "Buildings", - "Domestic lighting, appliances, and cooking": "Buildings", - "Commercial lighting, appliances, and catering": "Buildings", - "Industrial processes": "Industry", - "Conventional cars and buses": "Transport", - "Hybrid cars and buses": "Transport", - "Electric cars and buses": "Transport", - "Fuel cell cars and buses": "Transport", - "Bikes": "Transport", - "Rail": "Transport", - "Domestic aviation": "Transport", - "Domestic freight": "Transport", - "International aviation": "Transport", - "International shipping (maritime bunkers)": "Transport", - "Geosequestration": "Other", - "Petroleum refineries": "Industry", - "Coal": "Fossil fuels", - "Oil": "Fossil fuels", - "Gas": "Fossil fuels", - "Fossil fuel transfers": "Fossil fuels", - "District heating effective demand": "Buildings", - "Power Carbon Capture": "Electricity", - "Industry Carbon Capture": "Industry", - "Storage of captured CO2": "Other", - "Finance cost": "Finance" - }; - - costs_in_category = function(desired_category) { - var category, cost, costs; - costs = []; - for (cost in cost_categories) { - if (!__hasProp.call(cost_categories, cost)) continue; - category = cost_categories[cost]; - if (category === desired_category) { - costs.push(cost); - } - } - return costs; - }; - - group_costs_of_pathway = function(pathway) { - var categorised_costs, category, category_name, high, low, name, range, values, _ref; - if (pathway.total_cost_low_adjusted == null) { - adjust_costs_of_pathway(pathway); - } - categorised_costs = {}; - _ref = pathway.cost_components; - for (name in _ref) { - if (!__hasProp.call(_ref, name)) continue; - values = _ref[name]; - category_name = cost_categories[name]; - category = categorised_costs[category_name]; - if (category == null) { - category = categorised_costs[category_name] = { - low: 0, - range: 0, - high: 0 - }; - } - low = values.low_adjusted; - range = values.range_adjusted; - high = values.high_adjusted; - values.low_adjusted_with_finance = low; - values.range_adjusted_with_finance = range; - values.high_adjusted_with_finance = high; - category.low += low; - category.range += range; - category.high += high; - category[name] = values; - } - pathway.categorised_costs = categorised_costs; - return pathway; - }; - - cost_override_in_place_warning = function() { - var ignore, name, o, _results; - _results = []; - for (name in cost_categories) { - if (!__hasProp.call(cost_categories, name)) continue; - ignore = cost_categories[name]; - o = jQuery.jStorage.get(name, void 0); - if ((o != null) && o !== 'point') { - $('#cost_override_warning').show(); - break; - } else { - _results.push(void 0); - } - } - return _results; - }; - - adjust_costs_of_pathway = function(pathway) { - var cost, finance, fraction_of_width, implied_fraction_of_width, name, total, values, _ref; - total = { - low: 0, - range: 0, - high: 0, - finance_max: 0 - }; - _ref = pathway.cost_components; - for (name in _ref) { - if (!__hasProp.call(_ref, name)) continue; - values = _ref[name]; - fraction_of_width = jQuery.jStorage.get(name, null); - if ((fraction_of_width != null) && fraction_of_width !== 'point' && fraction_of_width !== 'uncertain') { - cost = values.low + (values.range * fraction_of_width); - finance = values.finance_low + (values.finance_range * fraction_of_width); - values.low_adjusted = cost; - values.range_adjusted = 0; - values.high_adjusted = cost; - values.finance_low_adjusted = finance; - values.finance_range_adjusted = 0; - values.finance_high_adjusted = finance; - } else if (fraction_of_width === 'uncertain') { - values.low_adjusted = values.low; - values.range_adjusted = values.range; - values.high_adjusted = values.high; - values.finance_low_adjusted = values.finance_low; - values.finance_range_adjusted = values.finance_range; - values.finance_high_adjusted = values.finance_high; - } else { - values.low_adjusted = values.point; - values.range_adjusted = 0; - values.high_adjusted = values.point; - implied_fraction_of_width = (values.point - values.low) / values.range; - finance = values.finance_low + (values.finance_range * implied_fraction_of_width); - values.finance_low_adjusted = values.finance; - values.finance_range_adjusted = 0; - values.finance_high_adjusted = values.finance; - } - total.low += values.low_adjusted; - total.range += values.range_adjusted; - total.high += values.high_adjusted; - total.finance_max += values.finance_high_adjusted; - } - pathway.total_cost_low_adjusted = total.low; - pathway.total_cost_range_adjusted = total.range; - pathway.total_cost_high_adjusted = total.high; - return pathway; - }; - - setDefaultStoreIfRequired = function(pathway) { - var name, values, _ref; - if (jQuery.jStorage.get('defaultCostsSet') === true) { - return false; - } - _ref = pathway.cost_components; - for (name in _ref) { - if (!__hasProp.call(_ref, name)) continue; - values = _ref[name]; - if ((name !== 'Oil') && (name !== 'Gas') && (name !== 'Coal') && (name !== 'Finance cost')) { - jQuery.jStorage.set(name, 0); - } - } - return jQuery.jStorage.set('defaultCostsSet', true); - }; - - calculateIncrementalCost = function(pt, pc) { - var cc, ct, cvalues, name, tc, tt, tvalues, _ref; - if (pt.total_cost_low_adjusted == null) { - adjust_costs_of_pathway(pt); - } - if (pc.total_cost_low_adjusted == null) { - adjust_costs_of_pathway(pc); - } - tt = 0; - tc = 0; - ct = 0; - cc = 0; - _ref = pt.cost_components; - for (name in _ref) { - if (!__hasProp.call(_ref, name)) continue; - tvalues = _ref[name]; - if (name !== 0) { - cvalues = pc.cost_components[name]; - if (tvalues.range_adjusted === cvalues.range_adjusted) { - tt += tvalues.low_adjusted; - tc += tvalues.low_adjusted; - ct += cvalues.low_adjusted; - cc += cvalues.low_adjusted; - } else if (tvalues.range_adjusted >= cvalues.range_adjusted) { - tt += tvalues.low_adjusted; - ct += cvalues.low_adjusted; - tc += tvalues.high_adjusted; - cc += cvalues.high_adjusted; - } else { - tt += tvalues.high_adjusted; - ct += cvalues.high_adjusted; - tc += tvalues.low_adjusted; - cc += cvalues.low_adjusted; - } - } - } - return { - tc: tc, - tt: tt, - cc: cc, - ct: ct - }; - }; - - window.twentyfifty.group_costs_of_pathway = group_costs_of_pathway; - - window.twentyfifty.adjust_costs_of_pathway = adjust_costs_of_pathway; - - window.twentyfifty.calculateIncrementalCost = calculateIncrementalCost; - - window.twentyfifty.costs_in_category = costs_in_category; - - window.twentyfifty.cost_override_in_place_warning = cost_override_in_place_warning; - -}).call(this); -(function() { - window.timeSeriesStackedAreaChart = function() { - var area, chart, color_class_index, color_classes, dataTableFormat, first_scale_year, height, label_threshold, last_scale_year, line, margin, max_value, min_value, seriesClass, showLabelFilter, stack, title, total_label, unit, width, xAxis, xScale, x_center, yAxis, yScale; - margin = { - top: 41, - right: 115, - bottom: 40, - left: 40 - }; - width = 375; - height = 125; - x_center = (width - margin.left - margin.right) / 2; - title = ""; - unit = "TWh/yr"; - first_scale_year = 2010; - last_scale_year = 2050; - min_value = 0; - max_value = 4000; - total_label = "Total"; - xScale = d3.scale.linear(); - yScale = d3.scale.linear(); - xAxis = d3.svg.axis().scale(xScale).orient("bottom").ticks(5).tickFormat(d3.format(".0f")); - yAxis = d3.svg.axis().scale(yScale).orient("left").ticks(5); - stack = d3.layout.stack().values(function(d) { - return d.value; - }); - area = d3.svg.area().x(function(d, i) { - return xScale(d.x); - }).y0(function(d, i) { - return yScale(d.y0); - }).y1(function(d, i) { - return yScale(d.y0 + d.y); - }); - line = d3.svg.line().x(function(d, i) { - return xScale(d.x); - }).y(function(d, i) { - return yScale(d.y); - }); - color_classes = { - 'Total': 'total', - 'Total Use': 'total', - 'Total Primary Supply': 'total', - 'Total generation supplied to grid': 'total', - 'Environmental heat': 'environmentalheat' - }; - color_class_index = 0; - seriesClass = function(d, i) { - var c; - c = color_classes[d.key]; - if (c == null) { - c = "q" + color_class_index + "-12"; - color_classes[d.key] = c; - color_class_index++; - } - return c; - }; - label_threshold = 200; - showLabelFilter = function(d) { - return Math.abs(d.total) > label_threshold; - }; - dataTableFormat = d3.format(".0f"); - chart = function(selection) { - return selection.each(function(data) { - var areas, d, dataTable, g, gEnter, label, label_width, label_x, labels, minimum_y_space, negative_series, p, positive_series, previous_y, removeDataTable, series, stacked_data, svg, total, total_series, y, _i, _j, _k, _l, _len, _len1, _len2, _len3, _ref, _ref1; - width = $(this).width(); - height = width / 1.4; - x_center = (width - (margin.left * 2)) / 2; - positive_series = []; - negative_series = []; - total_series = []; - _ref = data.entries(); - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - series = _ref[_i]; - series.value = series.value.map(function(p, i) { - return { - x: first_scale_year + (i * 5), - y: p - }; - }); - total = 0; - _ref1 = series.value; - for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) { - p = _ref1[_j]; - total += p.y; - } - series.total = total; - if (series.key === total_label) { - series.path = line; - total_series.push(series); - } else { - series.path = area; - if (total >= 0) { - positive_series.push(series); - } else { - negative_series.push(series); - } - } - } - stacked_data = stack(positive_series.sort(function(a, b) { - return d3.descending(a.total, b.total); - })); - if (negative_series.length > 0) { - stacked_data = stack(negative_series.sort(function(a, b) { - return d3.ascending(a.total, b.total); - })).reverse().concat(stacked_data); - } - if (total_series.length > 0) { - stacked_data = stacked_data.concat(total_series.sort(function(a, b) { - return d3.descending(a.total, b.total); - })); - } - xScale.domain([first_scale_year, last_scale_year]).range([0, width - margin.left - margin.right]); - yScale.domain([min_value, max_value]).range([height - margin.top - margin.bottom, 0]); - svg = d3.select(this).selectAll("svg").data([stacked_data]); - gEnter = svg.enter().append("svg").append("g").attr('class', 'drawing Paired'); - gEnter.append("g").attr('class', 'context'); - gEnter.append("g").attr('class', 'series'); - svg.attr("width", width).attr("height", height); - g = svg.select("g.drawing").attr("transform", "translate(" + margin.left + "," + margin.top + ")"); - areas = g.select('g.series').selectAll("path").data(Object, function(d) { - return d.key; - }); - areas.enter().append("path").attr("class", function(d, i) { - return seriesClass(d, i); - }).on("mouseover", function(d, i) { - var c, l, s; - c = seriesClass(d, i); - dataTable(d, c); - g.selectAll("." + c).classed("hover", true); - if (!showLabelFilter(d)) { - l = g.selectAll("." + c + ".linelabel").attr("display", "inline"); - s = l[0][0].getBBox(); - return g.insert("rect", "." + c + ".linelabel").attr("class", "labelbackground").attr("x", s.x).attr("y", s.y).attr("width", s.width + 6).attr("height", s.height); - } - }).on("mouseout", function(d, i) { - var c; - removeDataTable(); - c = seriesClass(d, i); - g.selectAll("." + c).classed("hover", false); - if (!showLabelFilter(d)) { - g.selectAll("." + c + ".linelabel").attr("display", "none"); - return g.selectAll(".labelbackground").remove(); - } - }); - areas.transition().attr("d", function(d) { - return d.path(d.value); - }); - gEnter.append("g").attr("class", "x axis"); - gEnter.append("g").attr("class", "y axis"); - gEnter.append("text").attr("class", "y axislabel"); - gEnter.append("text").attr("class", "charttitle"); - g.select(".x.axis").attr("transform", "translate(0," + yScale(0) + ")").call(xAxis); - if (min_value < 0) { - g.selectAll(".x.axis text").attr("dy", yScale(min_value) - yScale(0) + 7); - } - g.select(".y.axis").attr("transform", "translate(0," + xScale.range()[0] + ")").call(yAxis); - g.select(".y.axislabel").attr("transform", "translate(0," + (xScale.range()[0] - 10) + ")").text(unit); - label = g.select(".y.axislabel"); - label_width = label[0][0].getBBox().width; - if (label_width > margin.left) { - label.attr("dx", label_width - margin.left); - } - g.select(".charttitle").attr("transform", "translate(" + x_center + "," + (xScale.range()[0] - 30) + ")").text(title); - label_x = xScale.range()[1] + 2; - minimum_y_space = Math.abs(yScale.invert(10) - yScale.invert(0)); - label_threshold = Math.abs(yScale.invert(5) - yScale.invert(0)) * 9; - for (_k = 0, _len2 = stacked_data.length; _k < _len2; _k++) { - d = stacked_data[_k]; - p = d.value[d.value.length - 1]; - if (p.y0 != null) { - d.label_y = p.y0 + (p.y / 2); - } else { - d.label_y = p.y; - } - d; - } - stacked_data.sort(function(a, b) { - var a_y, b_y; - a_y = a.label_y; - b_y = b.label_y; - if (a_y < 0 && b_y > 0) { - return -1; - } else if (a_y > 0 && b_y < 0) { - return 1; - } else if (a_y > 0 && b_y > 0) { - return a_y - b_y; - } else { - return a_y - b_y; - } - }); - previous_y = min_value - 1000; - for (_l = 0, _len3 = stacked_data.length; _l < _len3; _l++) { - d = stacked_data[_l]; - y = d.label_y; - if (showLabelFilter(d)) { - y = Math.max(previous_y + minimum_y_space, y); - previous_y = y; - d.label_y = y; - } - } - labels = g.selectAll(".linelabel").data(Object, (function(d) { - return d.key; - })); - labels.enter().append("text").attr("class", function(d, i) { - return "linelabel " + (seriesClass(d, i)); - }).attr("x", label_x).attr("y", function(d) { - return yScale(d.label_y) + 4; - }).text(function(d) { - return d.key; - }).on("mouseover", function(d, i) { - dataTable(d, seriesClass(d, i)); - return g.selectAll("." + (seriesClass(d, i))).classed("hover", true); - }).on("mouseout", function(d, i) { - removeDataTable(); - return g.selectAll("." + (seriesClass(d, i))).classed("hover", false); - }); - labels.exit().remove(); - labels.sort(function(a, b) { - return d3.descending(Math.abs(a.total), Math.abs(b.total)); - }).transition().attr("x", label_x).attr("y", function(d) { - return yScale(d.label_y) + 4; - }).attr("display", function(d, i) { - if (showLabelFilter(d)) { - return "inline"; - } else { - return "none"; - } - }); - dataTable = function(series, seriesclass) { - var grid; - labels = series.value; - grid = g.selectAll(".seriesValue").data(labels); - grid.enter().append("text").attr("class", "seriesValue"); - return grid.text(function(d, i) { - if ((i % 2) === 0) { - return dataTableFormat(d.y); - } else { - return ""; - } - }).attr("transform", function(d, i) { - return "translate(" + xScale(first_scale_year + (i * 5)) + "," + (yScale.range()[0] + 30) + ")"; - }).classed(seriesclass, true); - }; - return removeDataTable = function() { - return g.selectAll(".seriesValue").remove(); - }; - }); - }; - chart.title = function(_) { - if (_ == null) { - return title; - } - title = _; - return chart; - }; - chart.total_label = function(_) { - if (_ == null) { - return total_label; - } - total_label = _; - return chart; - }; - chart.unit = function(_) { - if (_ == null) { - return unit; - } - unit = _; - return chart; - }; - chart.max_value = function(_) { - if (_ == null) { - return max_value; - } - max_value = _; - return chart; - }; - chart.min_value = function(_) { - if (_ == null) { - return min_value; - } - min_value = _; - return chart; - }; - chart.x_center = function() { - return x_center; - }; - chart.area = function(_) { - if (_ == null) { - return area; - } - area = _; - return chart; - }; - return chart; - }; - -}).call(this); -(function() { - var PrimaryEnergy; - - PrimaryEnergy = (function() { - function PrimaryEnergy() {} - - PrimaryEnergy.prototype.setup = function() { - var charts; - charts = d3.select("#results").selectAll(".chart").data(['demand_chart', 'supply_chart', 'emissions_chart']); - charts.enter().append('div').attr('id', Object).attr('class', 'chart'); - this.final_energy_chart = timeSeriesStackedAreaChart().title("Final Energy Demand").unit('TWh/yr').total_label('Total Use').max_value(4000); - this.primary_energy_chart = timeSeriesStackedAreaChart().title("Primary Energy Supply").unit('TWh/yr').total_label('Total Primary Supply').max_value(4000); - return this.emissions_chart = timeSeriesStackedAreaChart().title("Greenhouse Gas Emissions").unit('MtCO2e/yr').total_label('Total').min_value(-500).max_value(1000); - }; - - PrimaryEnergy.prototype.teardown = function() { - $('#results').empty(); - this.final_energy_chart = null; - this.primary_energy_chart = null; - return this.emissions_chart = null; - }; - - PrimaryEnergy.prototype.updateResults = function(pathway) { - var percent, series, t; - this.pathway = pathway; - if (!((this.emissions_chart != null) && (this.final_energy_chart != null) && (this.primary_energy_chart != null))) { - this.setup(); - } - d3.select('#demand_chart').datum(d3.map(this.pathway.final_energy_demand)).call(this.final_energy_chart); - d3.select('#supply_chart').datum(d3.map(this.pathway.primary_energy_supply)).call(this.primary_energy_chart); - series = d3.map(this.pathway.ghg); - series.remove("percent_reduction_from_1990"); - percent = this.pathway.ghg.percent_reduction_from_1990; - d3.select('#emissions_chart').datum(series).call(this.emissions_chart); - t = d3.select('#emissions_chart g.drawing').selectAll('text.target').data([percent]); - t.enter().append('text').attr('class', 'target'); - t.attr('transform', 'translate(' + this.emissions_chart.x_center() + ',-18)'); - return t.transition().tween('text', function(d) { - var current, i; - current = parseInt(this.textContent) || +d; - i = d3.interpolateRound(current, +d); - return function(t) { - return this.textContent = "" + (i(t)) + "% reduction 1990-2050; Target is 80%"; - }; - }); - }; - - return PrimaryEnergy; - - })(); - - window.twentyfifty.views['primary_energy_chart'] = new PrimaryEnergy; - -}).call(this); -(function() { - var Electricity; - - Electricity = (function() { - var showContext; - - function Electricity() {} - - Electricity.prototype.setup = function() { - var charts; - charts = d3.select("#results").selectAll(".chart").data(['demand_chart', 'supply_chart', 'emissions_chart']); - charts.enter().append('div').attr('id', Object).attr('class', 'chart'); - this.demand_chart = timeSeriesStackedAreaChart().title("Electricity Demand").unit('TWh/yr').max_value(4000); - this.supply_chart = timeSeriesStackedAreaChart().title("Electricity Supply").unit('TWh/yr').total_label('Total generation supplied to grid').max_value(4000); - return this.emissions_chart = timeSeriesStackedAreaChart().title("Emissions from Electricity").unit('MtCO2e/yr').total_label('Total').min_value(-500).max_value(1000); - }; - - Electricity.prototype.teardown = function() { - $('#results').empty(); - this.final_energy_chart = null; - this.primary_energy_chart = null; - return this.emissions_chart = null; - }; - - showContext = function(data, chart_id, chart_object) { - var d, i, p, total; - d = (function() { - var _i, _len, _results; - _results = []; - for (i = _i = 0, _len = data.length; _i < _len; i = ++_i) { - p = data[i]; - _results.push({ - x: 2010 + (i * 5), - y: p, - y0: 0 - }); - } - return _results; - })(); - total = d3.select(chart_id).select('g.context').selectAll('path').data([d]); - total.enter().append("path"); - return total.transition().attr("d", function(d) { - return chart_object.area()(d); - }); - }; - - Electricity.prototype.updateResults = function(pathway) { - var series; - this.pathway = pathway; - if (!((this.emissions_chart != null) && (this.demand_chart != null) && (this.supply_chart != null))) { - this.setup(); - } - d3.select('#demand_chart').datum(d3.map(this.pathway.electricity.demand)).call(this.demand_chart); - series = d3.map(this.pathway.electricity.supply); - series.remove('Biomass/Coal power stations'); - series.remove('Non-thermal renewable generation'); - d3.select('#supply_chart').datum(series).call(this.supply_chart); - d3.select('#emissions_chart').datum(d3.map(this.pathway.electricity.emissions)).call(this.emissions_chart); - showContext(this.pathway['final_energy_demand']['Total Use'], '#demand_chart', this.demand_chart); - showContext(this.pathway['final_energy_demand']['Total Use'], '#supply_chart', this.supply_chart); - return showContext(this.pathway.ghg.Total, '#emissions_chart', this.emissions_chart); - }; - - return Electricity; - - })(); - - window.twentyfifty.views['electricity'] = new Electricity; - -}).call(this); -(function() { - var EnergySecurity, - __hasProp = {}.hasOwnProperty; - - EnergySecurity = (function() { - function EnergySecurity() { - this.long_descriptions = twentyfifty.longDescriptions; - } - - EnergySecurity.prototype.setup = function() { - this.ready = true; - return $('#results').append("
"); - }; - - EnergySecurity.prototype.teardown = function() { - this.ready = false; - return $('#results').empty(); - }; - - EnergySecurity.prototype.updateResults = function(pathway) { - this.pathway = pathway; - if (!this.ready) { - this.setup(); - } - this.updateBalancingSection(); - this.updateImportsSection(); - return this.updatedDiversitySection(); - }; - - EnergySecurity.prototype.updateBalancingSection = function() { - var element; - element = $('#balancing'); - element.empty(); - element.append("

Balancing electricity supply and demand

"); - if (this.pathway.electricity.automatically_built > 0) { - element.append("

" + (Math.round(this.pathway.electricity.automatically_built)) + " GW of conventional gas electricity generation plant has been assumed to have been built by 2050, to cover the gap between average electricity demand and the amount of low carbon generation selected in this pathway.

"); - } - element.append("

This tool does not model the hourly, daily or even seasonal operation of the electricity grid. It presents annual averages. Therefore it does not correctly represent the peaks and troughs of electricity demand.

"); - element.append("

To go some way to addressing this flaw, the tool applies a simulated stress test to your pathway of five cold, almost windless, days. This is described in more detail here."); - element.append("In this case, the stress test implies that " + (Math.round(this.pathway.electricity.peaking)) + " GW of additional peaking plant may be required for supply to meet demand over that period.

"); - return element.append("

You can influence the amount of peaking plant by changing your choice level of 'storage, demand shifting & interconnection' below right, or by reducing the amount of intermittent renewable generation, or by reducing the demand for electricity

"); - }; - - EnergySecurity.prototype.updateImportsSection = function() { - var element, name, values, _ref; - element = $('#imports'); - element.empty(); - element.append("

Dependence on imported energy

"); - element.append("

The calculator assumes that any available biomass is preferred over fossil fuels and that domestically produced fuels are preferred over imports. It assumes that fossil fuels are imported to cover any shortfall.

"); - element.append("
"); - element.append(""); - element.append(""); - _ref = this.pathway.imports; - for (name in _ref) { - if (!__hasProp.call(_ref, name)) continue; - values = _ref[name]; - element.append(""); - } - return element.append("
20072050
ImportsTWh/yr%TWh/yr%
" + name + "" + values['2007'].quantity + "" + values['2007'].proportion + " " + values['2050'].quantity + "" + values['2050'].proportion + "
"); - }; - - EnergySecurity.prototype.updatedDiversitySection = function() { - var element, name, values, _ref; - element = $('#diversity'); - element.empty(); - element.append("

Diversity of energy sources

"); - element.append("

There may be a benefit from maintaining a diversity of energy sources:

"); - element.append(""); - element.append(""); - _ref = this.pathway.diversity; - for (name in _ref) { - if (!__hasProp.call(_ref, name)) continue; - values = _ref[name]; - if (!(values['2007'] === "0%" && values['2050'] === "0%")) { - element.append(""); - } - } - return element.append("
Proportion of energy supply20072050
" + name + "" + values['2007'] + " " + values['2050'] + "
"); - }; - - return EnergySecurity; - - })(); - - window.twentyfifty.views['energy_security'] = new EnergySecurity; - -}).call(this); -(function() { - var Map; - - Raphael.fn.up_labeled_square = function(x, y, label, area, colour) { - var side, sq; - side = Math.sqrt(area); - sq = this.rect(x, y - side, side, side).attr({ - stroke: colour, - fill: colour, - 'fill-opacity': "0.5" - }); - label = this.text(x - 2, y - (side / 2), label).attr({ - 'text-anchor': 'end', - fill: 'black' - }); - label.hide(); - return { - square: sq, - label: label - }; - }; - - Raphael.fn.up_right_labeled_square = function(x, y, label, area, colour) { - var side, sq; - side = Math.sqrt(area); - sq = this.rect(x - (side / 2), y - side, side, side).attr({ - stroke: colour, - fill: colour, - 'fill-opacity': "0.5" - }); - label = this.text(x + (side / 2) + 4, y - (side / 2), label).attr({ - 'text-anchor': 'start', - fill: 'black' - }); - return { - square: sq, - label: label - }; - }; - - Raphael.fn.down_labeled_square = function(x, y, label, area, colour) { - var side, sq; - side = Math.sqrt(area); - sq = this.rect(x - side, y, side, side).attr({ - stroke: colour, - fill: colour, - 'fill-opacity': "0.5" - }); - label = this.text(x + 4, y + (side / 2), label).attr({ - 'text-anchor': 'start', - fill: 'black' - }); - return { - square: sq, - label: label - }; - }; - - Map = (function() { - var GW, MW, Mha, colours, display_height, display_in_element, display_width, ha, km, km2, labels, m, m2, map_height, map_image_url, map_offset_x, map_offset_y, map_width, pointSizes; - - display_in_element = 'map'; - - display_width = 1200; - - display_height = 800; - - map_image_url = '/assets/images/uk.png'; - - map_width = 492; - - map_height = 725; - - map_offset_x = 150; - - map_offset_y = 0; - - km = 0.69; - - m = km / 1000.0; - - m2 = m * m; - - ha = 10000 * m2; - - km2 = 1e6 * m2; - - Mha = 1e6 * ha; - - GW = 2; - - MW = GW / 1000; - - colours = { - 'III.a.2': '#ff0000', - 'III.a.1': '#ff0000', - 'IV.c': '#aa0000', - 'VI.a.Biocrop': '#00ff00', - 'VI.a.Forestry': '#408000', - 'VI.c': '#00ff00', - 'V.b': '#00ff00', - 'IV.a': '#ffff00', - 'IV.b': '#cccc00', - 'VII.a': '#ffff00', - 'III.b': '#0000ff', - 'III.c.TidalRange': '#0000ff', - 'III.c.TidalStream': '#aaaaff', - 'I.a': '#666', - 'I.b': '#CCC', - 'II.a': '#FF0', - 'III.d': '#F00', - 'VII.c': '#008000', - 'VI.b': '#F00' - }; - - labels = { - 'III.a.2': 'Offshore wind', - 'III.a.1': 'Onshore wind', - 'IV.c': 'Micro wind', - 'VI.a.Biocrop': 'Energy crops', - 'VI.a.Forestry': 'Forest', - 'VI.c': 'Marine algae', - 'V.b': 'Biocrops', - 'IV.a': 'Solar PV', - 'IV.b': 'Solar thermal', - 'VII.a': 'Solar PV', - 'III.b': 'Hydro', - 'III.c.TidalRange': 'Tidal range', - 'III.c.TidalStream': 'Tidal stream', - 'I.a': '2 GW coal gas or biomass power stations without CCS', - 'I.b': '1.2 GW coal gas or biomass power stations with CCS', - 'II.a': '3 GW nuclear power station', - 'III.d': '0.01 GW geothermal stations', - 'VII.c': '1 GW gas standby power stations', - 'VI.b': '215 kt/y waste to energy conversion facilities' - }; - - pointSizes = { - 'I.a': 2, - 'I.b': 1.2, - 'II.a': 3, - 'III.d': 0.01, - 'VII.c': 1, - 'VI.b': 0.01 - }; - - function Map() { - this.ready = false; - } - - Map.prototype.setup = function() { - var name, r, x, y, _i, _j, _k, _len, _len1, _len2, _ref, _ref1, _ref2; - this.ready = true; - $('#results').append("
"); - r = Raphael(display_in_element, display_width, display_height); - this.r = r; - r.image(map_image_url, map_offset_x, map_offset_y, map_width, map_height); - r.text(20, 10, "Illustration of scale of land and sea use in 2050 (positions are arbitrary)").attr({ - 'font-weight': 'bold', - 'text-anchor': 'start' - }); - this.wave = { - line: r.path([]).attr({ - stroke: 'blue', - 'stroke-width': 2 - }), - label: r.text(98, 34, "Wave").attr({ - 'text-anchor': 'end' - }) - }; - this.wave.label.hide(); - x = (map_width / 2) + map_offset_x; - y = map_height + map_offset_y - 100; - this.land_boxes = {}; - _ref = ['III.a.1', 'III.b', 'IV.a', 'IV.b', 'IV.c', 'VI.a.Biocrop', 'VI.a.Forestry']; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - name = _ref[_i]; - this.land_boxes[name] = r.up_labeled_square(x, y, labels[name], 0, colours[name]); - } - x = (map_width / 2) + map_offset_x + 250; - y = 30; - this.sea_boxes = {}; - _ref1 = ['III.a.2', 'III.c.TidalStream', 'III.c.TidalRange', 'VI.c']; - for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) { - name = _ref1[_j]; - this.sea_boxes[name] = r.down_labeled_square(x, y, labels[name], 0, colours[name]); - } - r.path("M244,695 q0,-200 -200,-200").attr({ - 'stroke': '#ccc' - }); - r.text(44, 510, "Imports").attr({ - 'fill': '#ccc', - 'font-weight': 'bold', - 'text-anchor': 'start' - }); - x = map_offset_x - 105; - y = map_height + map_offset_y - 30; - this.overseas_land_boxes = {}; - _ref2 = ['V.b', 'VII.a']; - for (_k = 0, _len2 = _ref2.length; _k < _len2; _k++) { - name = _ref2[_k]; - this.overseas_land_boxes[name] = r.up_labeled_square(x, y, labels[name], 0, colours[name]); - } - this.points = r.set(); - return r.text(700, 10, "Illustration of the number of thermal power stations in 2050 (scales and positions are arbitrary)").attr({ - 'font-weight': 'bold', - 'text-anchor': 'start' - }); - }; - - Map.prototype.point_stack = function(x, y, number, colour, label, size) { - var i, width, x_count, x_step, y_step, _i; - x_count = 0; - if (size < 10) { - x_step = 5; - y_step = 5; - } else { - x_step = 1.5 * size; - y_step = 1.5 * size; - } - width = 100; - if (number > 0) { - this.r.text(x - 20, y, label).attr({ - 'text-anchor': 'end' - }); - } - for (i = _i = 1; 1 <= number ? _i <= number : _i >= number; i = 1 <= number ? ++_i : --_i) { - this.r.circle(x + (x_count * x_step), y, size * km).attr({ - 'stroke-width': 0, - 'fill': colour - }); - this.r.circle(x + (x_count * x_step), y, 1).attr({ - 'stroke-width': 0, - 'fill': 'black' - }); - x_count = x_count + 1; - if ((x_count * x_step) > width) { - x_count = 0; - y = y + y_step; - } - } - return y = y + 30; - }; - - Map.prototype.teardown = function() { - $('#results').empty(); - return this.ready = false; - }; - - Map.prototype.updateResults = function(data) { - var box, map, name, side, size, value, values, x, y, _i, _j, _k, _l, _len, _len1, _len2, _len3, _len4, _m, _ref, _ref1, _ref2, _ref3; - if (!this.ready) { - this.setup(); - } - map = data.map; - if (map.wave > 0) { - this.wave.label.show(); - } - if (map.wave === 0) { - this.wave.label.hide(); - } - this.wave.line.attr({ - path: ["M", 100, 30, "l", 0, map.wave * km] - }); - y = map_height + map_offset_y - 100; - values = []; - _ref = this.land_boxes; - for (name in _ref) { - box = _ref[name]; - values.push({ - name: name, - value: map[name] - }); - } - values.sort(function(a, b) { - return b.value - a.value; - }); - for (_i = 0, _len = values.length; _i < _len; _i++) { - value = values[_i]; - box = this.land_boxes[value.name]; - side = Math.sqrt(value.value * km2); - box.square.attr({ - y: y - side, - width: side, - height: side - }); - box.label.attr({ - y: y - (side / 2) - }); - if (value.value > 10) { - box.label.show(); - } else { - box.label.hide(); - } - y = y - side - 5; - } - x = (map_width / 2) + map_offset_x + 250; - y = 30; - values = []; - _ref1 = this.sea_boxes; - for (name in _ref1) { - box = _ref1[name]; - values.push({ - name: name, - value: map[name] - }); - } - values.sort(function(a, b) { - return b.value - a.value; - }); - for (_j = 0, _len1 = values.length; _j < _len1; _j++) { - value = values[_j]; - box = this.sea_boxes[value.name]; - side = Math.sqrt(value.value * km2); - box.square.attr({ - x: x - side, - y: y, - width: side, - height: side - }); - box.label.attr({ - x: x + 4, - y: y + (side / 2) - }); - if (value.value > 10) { - box.label.show(); - } else { - box.label.hide(); - } - y = y + side + 5; - } - y = map_height + map_offset_y - 30; - values = []; - _ref2 = this.overseas_land_boxes; - for (name in _ref2) { - box = _ref2[name]; - values.push({ - name: name, - value: map[name] - }); - } - values.sort(function(a, b) { - return b.value - a.value; - }); - for (_k = 0, _len2 = values.length; _k < _len2; _k++) { - value = values[_k]; - box = this.overseas_land_boxes[value.name]; - side = Math.sqrt(value.value * km2); - box.square.attr({ - y: y - side, - width: side, - height: side - }); - box.label.attr({ - y: y - (side / 2) - }); - if (value.value > 10) { - box.label.show(); - } else { - box.label.hide(); - } - y = y - side - 5; - } - if (this.points != null) { - this.points.remove(); - } - this.r.setStart(); - y = 35; - x = 1055; - values = []; - _ref3 = ['I.a', 'I.b', 'II.a', 'III.d', 'VII.c', 'VI.b']; - for (_l = 0, _len3 = _ref3.length; _l < _len3; _l++) { - name = _ref3[_l]; - values.push({ - name: name, - value: map[name] - }); - } - values.sort(function(a, b) { - return b.value - a.value; - }); - for (_m = 0, _len4 = values.length; _m < _len4; _m++) { - value = values[_m]; - if (value.value >= 1) { - size = Math.round(Math.sqrt(pointSizes[value.name]) * 10); - y = this.point_stack(x, y, value.value, colours[value.name], "" + (Math.round(value.value)) + " x " + labels[value.name], size); - } - } - return this.points = this.r.setFinish(); - }; - - return Map; - - })(); - - window.twentyfifty.views['map'] = new Map; - -}).call(this); -(function() { - var SankeyDisplay; - - SankeyDisplay = (function() { - var convert_name, name_conversions; - - name_conversions = { - "UK land based bioenergy": "Forests & biocrops", - "Bio-conversion": "Biomass processing", - "H2 conversion": "Hydrogen production", - "H2": "Hydrogen", - "Useful district heat": "Delivered heat", - "Heating and cooling - homes": "Home heating & cooling", - "Heating and cooling - commercial": "Office heating & cooling", - "Lighting & appliances - homes": "Home lighting & appliances", - "Lighting & appliances - commercial": "Office lighting & appliances" - }; - - convert_name = function(name) { - return name_conversions[name] || name; - }; - - function SankeyDisplay() {} - - SankeyDisplay.prototype.updateResults = function(pathway) { - var data, max_y; - if (this.s == null) { - this.setup(); - } - data = pathway.sankey; - if (this.drawn === true) { - this.s.updateData(data); - this.s.redraw(); - } else { - this.s.setData(data); - this.s.draw(); - this.drawn = true; - } - max_y = this.s.boxes['Losses'].b(); - if ($('#sankey').height() < max_y) { - $('#sankey').height(max_y); - return this.s.r.setSize($('#sankey').width(), max_y); - } - }; - - SankeyDisplay.prototype.teardown = function() { - $('#results').empty(); - return this.s = null; - }; - - SankeyDisplay.prototype.setup = function() { - var pixels_per_TWh; - if (this.s != null) { - return false; - } - $('#results').append("
"); - $('#sankey').height($('#sankey').width() * 0.4); - this.s = new Sankey(); - this.s.stack(0, ["Pumped heat", "Solar", "Wind", "Tidal", "Wave", "Geothermal", "Hydro", "Electricity imports", "Nuclear", "Coal reserves", "Coal imports", "Biomass imports", "Oil reserves", "Oil imports", "Biofuel imports", "Gas reserves", "Gas imports", "UK land based bioenergy", "Agricultural 'waste'", "Other waste", "Marine algae"]); - this.s.stack(1, ["Coal"], "Coal reserves"); - this.s.stack(1, ["Oil"], "Oil reserves"); - this.s.stack(1, ["Natural Gas"], "Gas reserves"); - this.s.stack(1, ["Bio-conversion"], "UK land based bioenergy"); - this.s.stack(2, ["Solar Thermal", "Solar PV"], "Solar"); - this.s.stack(2, ["Solid", "Liquid", "Gas"], "Coal"); - this.s.stack(3, ["Thermal generation", "CHP"], "Nuclear"); - this.s.stack(4, ["Electricity grid", "District heating"], "Wind"); - this.s.stack(5, ["H2 conversion"], "Electricity grid"); - this.s.stack(6, ["H2"], "H2 conversion"); - this.s.stack(7, ["Heating and cooling - homes", "Heating and cooling - commercial", "Lighting & appliances - homes", "Lighting & appliances - commercial", "Industry", "Road transport", "Rail transport", "Domestic aviation", "International aviation", "National navigation", "International shipping", "Agriculture", "Geosequestration", "Over generation / exports", "Losses"]); - this.s.nudge_boxes_callback = function() { - return this.boxes["Losses"].y = this.boxes["Marine algae"].b() - this.boxes["Losses"].size(); - }; - this.s.setColors({ - "Coal reserves": "#8F6F38", - "Coal": "#8F6F38", - "Coal imports": "#8F6F38", - "Oil reserves": "#A99268", - "Oil": "#A99268", - "Oil imports": "#A99268", - "Gas reserves": "#DDD4C4", - "Natural Gas": "#DDD4C4", - "Gas imports": "#DDD4C4", - "Solar": "#F6FF00", - "Solar Thermal": "#F6FF00", - "Solar PV": "#F6FF00", - "UK land based bioenergy": "#30FF00", - "Bio-conversion": "#30FF00", - "Marine algae": "#30FF00", - "Agricultural 'waste'": "#30FF00", - "Other waste": "#30FF00", - "Biomass imports": "#30FF00", - "Biofuel imports": "#30FF00", - "Solid": "#557731", - "Liquid": "#7D9763", - "Gas": "#BCC2AD", - "Electricity grid": "#0000FF", - "Thermal generation": "#0000FF", - "CHP": "#FF0000", - "Nuclear": "#E2ABDB", - "District heating": "#FF0000", - "Pumped heat": "#FF0000", - "Useful district heat": "#FF0000", - "CHP Heat": "#FF0000", - "Electricity imports": "#0000FF", - "Wind": "#C7E7E6", - "Tidal": "#C7E7E6", - "Wave": "#C7E7E6", - "Geothermal": "#C7E7E6", - "Hydro": "#C7E7E6", - "H2 conversion": "#FF6FCF", - "Final electricity": "#0000FF", - "Over generation / exports": "#0000FF", - "H2": "#FF6FCF" - }); - this.s.nudge_colours_callback = function() { - this.recolour(this.boxes["Losses"].left_lines, "#ddd"); - this.recolour(this.boxes["District heating"].left_lines, "#FF0000"); - return this.recolour(this.boxes["Electricity grid"].left_lines, "#0000FF"); - }; - pixels_per_TWh = $('#sankey').height() / 5000; - this.s.y_space = Math.round(100 * pixels_per_TWh); - this.s.right_margin = 250; - this.s.left_margin = 150; - this.s.convert_flow_values_callback = function(flow) { - return flow * pixels_per_TWh; - }; - this.s.convert_flow_labels_callback = function(flow) { - return Math.round(flow); - }; - return this.s.convert_box_value_labels_callback = function(flow) { - return "" + Math.round(flow) + " TWh/y"; - }; - }; - - return SankeyDisplay; - - })(); - - window.twentyfifty.views['sankey'] = new SankeyDisplay; - -}).call(this); -(function() { - var AirQuality, airQualityHTML, - __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; - - airQualityHTML = "
\n

The impact of your pathway on air quality

\n
\n
\n
\n

How to interpret these results:

\n
    \n
  • Air pollution health impact index — this index measures the effect on human health from fine particulate matter and other air pollutants such as nitrogen oxides. For example, these pollutants have been linked to premature death caused by heart and lung disease. 2010 is the baseline year (100). A number lower than 100 indicates a reduction in average air pollution and associated health impacts, whilst a higher number indicates an increase. This index reflects changes in the average concentration of air pollutants across the UK. It does not provide information on the number or severity of pollution hotspots.
  • \n
  • Low end of hatched range — worst case scenario for air pollution whereby there is no further deployment or innovation in pollution abatement technology between now and 2050 beyond planned measures.
  • \n
  • High end of hatched range — best case scenario whereby innovation radically improves pollution abatement technology between now and 2050 and it is fully deployed.
  • \n
\n

\n We would welcome your feedback on the\n methodology used to calculate the impact of your pathway on air quality.\n You can also download the excel version of the 2050 pathways calcualtor to see the different types of air pollution and the relative importance of different sources.\n

\n
\n
"; - - AirQuality = (function() { - function AirQuality() { - this.updateResults = __bind(this.updateResults, this); - this.updateComparator = __bind(this.updateComparator, this); - this.ready = false; - } - - AirQuality.prototype.setup = function() { - var clow, comparator_id, crange, e, format, h, low, range, tick, x, _2010, _i, _len, _ref; - if (this.ready) { - return false; - } - this.ready = true; - $("#results").append(airQualityHTML); - $("#message").addClass('warning'); - e = $('#airquality'); - this.h = e.height(); - this.w = e.width(); - this.r = new Raphael('airquality', this.w, this.h); - this.x = d3.scale.linear().domain([0, 250]).range([300, this.w - 30]).nice(); - this.y = d3.scale.ordinal().domain(['2010', 'comparator', 'chosen']).rangeRoundBands([25, this.h - 20], 0.25); - comparator_id = twentyfifty.getComparator() || twentyfifty.default_comparator_code; - this.r.text(30, this.y("2010") + 9, "2010").attr({ - 'text-anchor': 'start', - 'font-weight': 'bold' - }); - this.r.text(30, this.y("comparator") + 9, "2050 - " + (twentyfifty.pathwayName(comparator_id))).attr({ - 'text-anchor': 'start', - 'font-weight': 'bold' - }); - this.r.text(30, this.y("chosen") + 9, "2050 - Your pathway").attr({ - 'text-anchor': 'start', - 'font-weight': 'bold' - }); - this.bars = {}; - h = this.y.rangeBand(); - x = this.x(0); - _2010 = this.r.rect(x, this.y('2010'), this.x(100) - this.x(0), h).attr({ - 'fill': '#008000', - 'stroke': 'none' - }); - this.r.text(30, this.y('comparator') + 27, twentyfifty.pathwayDescriptions(comparator_id, "")).attr({ - 'text-anchor': 'start' - }); - clow = this.r.rect(x, this.y('comparator'), 0, h).attr({ - 'fill': '#f00', - 'stroke': 'none' - }); - crange = this.r.rect(x, this.y('comparator'), 0, h).attr({ - 'fill': 'url(/assets/images/hatches/hatch-f00.png)', - 'stroke': 'none' - }); - this.bars['comparator'] = { - low: clow, - range: crange - }; - low = this.r.rect(x, this.y('chosen'), 0, h).attr({ - 'fill': '#1f77b4', - 'stroke': 'none' - }); - range = this.r.rect(x, this.y('chosen'), 0, h).attr({ - 'fill': 'url(/assets/images/hatches/hatch-1f77b4.png)', - 'stroke': 'none' - }); - this.bars['chosen'] = { - low: low, - range: range - }; - this.r.text(this.x(0), 10, "Air pollution health impact index (2010=100)").attr({ - 'text-anchor': 'start', - 'font-weight': 'bold', - 'fill': '#000' - }); - this.r.path(["M", this.x(0), this.h - 35, "L", this.x(0), 30, "L", this.w - 30, 30]).attr({ - 'stroke': '#000', - 'stroke-width': 2 - }); - format = this.x.tickFormat(10); - _ref = this.x.ticks(10); - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - tick = _ref[_i]; - this.r.text(this.x(tick), 23, format(tick)).attr({ - 'text-anchor': 'middle', - fill: '#000000' - }); - this.r.path(["M", this.x(tick), 29, "L", this.x(tick), this.h - 26]).attr({ - stroke: '#fff' - }); - } - return twentyfifty.loadSecondaryPathway(comparator_id, this.updateComparator); - }; - - AirQuality.prototype.teardown = function() { - $("#results").empty(); - $("#message").removeClass('warning'); - return this.ready = false; - }; - - AirQuality.prototype.updateComparator = function(pathway) { - if (!this.ready) { - this.setup(); - } - this.bars['comparator']['low'].attr({ - width: this.x(pathway.air_quality.low) - this.x(0) - }); - return this.bars['comparator']['range'].attr({ - width: this.x(pathway.air_quality.high - pathway.air_quality.low) - this.x(0), - x: this.x(pathway.air_quality.low) - }); - }; - - AirQuality.prototype.updateResults = function(pathway) { - var text; - if (!this.ready) { - this.setup(); - } - this.bars['chosen']['low'].attr({ - width: this.x(pathway.air_quality.low) - this.x(0) - }); - this.bars['chosen']['range'].attr({ - width: this.x(pathway.air_quality.high - pathway.air_quality.low) - this.x(0), - x: this.x(pathway.air_quality.low) - }); - text = ["The damage to human health arising from air pollution from this pathway, principally particulate matter, could be around "]; - text.push("" + (Math.abs(Math.round(100 - pathway.air_quality.high))) + "%"); - if (pathway.air_quality.high > 100 && pathway.air_quality.low <= 100) { - text.push(" higher "); - } - if (pathway.air_quality.high <= 100 && pathway.air_quality.low > 100) { - text.push(" lower "); - } - text.push(" to "); - text.push("" + (Math.abs(Math.round(100 - pathway.air_quality.low))) + "%"); - if (pathway.air_quality.low > 100) { - text.push(" higher"); - } - if (pathway.air_quality.low <= 100) { - text.push(" lower"); - } - text.push(" in 2050 compared to 2010."); - if (pathway.air_quality.high > 100) { - text.push(" Given the scope for adverse implications for air quality, if the UK were to adopt this pathway the Government would develop a policy framweork that supported the innovation required to be at the bottom end of the range"); - } - return $('#airqualitymessage').html(text.join('')); - }; - - return AirQuality; - - })(); - - window.twentyfifty.views['air_quality'] = new AirQuality; - -}).call(this); -(function() { - var CostsInContext, costsInContextHTML, - __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }, - __hasProp = {}.hasOwnProperty; - - costsInContextHTML = "
\n
NB Some costs not on default values
\n

\n The cost to society of your pathway. This is not your energy bill.
\n For comparison, UK average GDP 2010-2050 is forecast to be roughly £35000 per person.\n

\n " + window.costCaveatHTML + "\n
\n " + window.costEssentialNotesHTML + "\n
"; - - CostsInContext = (function() { - function CostsInContext() { - this.updateBar = __bind(this.updateBar, this); - this.setup = __bind(this.setup, this); - this.pathways = {}; - this.ready = false; - } - - CostsInContext.prototype.setup = function() { - var all_pathways, code, comparator_pathways, e, format, h, labels_hide, labels_show, low, low_label, message, overlay, overlays, range, range_label, tick, x, y, _i, _j, _k, _l, _len, _len1, _len2, _len3, _len4, _m, _ref, _results, - _this = this; - if (this.ready) { - return false; - } - this.ready = true; - $("#results").append(costsInContextHTML); - $("#message").addClass('warning'); - twentyfifty.cost_override_in_place_warning(); - all_pathways = ["chosen"].concat(twentyfifty.comparator_pathways); - comparator_pathways = twentyfifty.comparator_pathways; - e = $('#costsincontext'); - this.h = e.height(); - this.w = e.width(); - this.r = new Raphael('costsincontext', this.w, this.h); - this.x = d3.scale.linear().domain([0, 40000]).range([250, this.w - 30]).nice(); - this.y = d3.scale.ordinal().domain(all_pathways).rangeRoundBands([25, this.h - 20], 0.25); - for (_i = 0, _len = comparator_pathways.length; _i < _len; _i++) { - code = comparator_pathways[_i]; - this.r.rect(this.x(0), this.y(code), this.x(40000) - this.x(0), this.y.rangeBand()).attr({ - 'fill': '#ddd', - 'stroke': 'none' - }); - } - this.r.rect(25, this.y("chosen"), this.x(40000) - 25, this.y.rangeBand()).attr({ - 'fill': '#FCFF9B', - 'stroke': 'none' - }); - this.r.text(30, this.y("chosen") + 9, "Your pathway").attr({ - 'text-anchor': 'start', - 'font-weight': 'bold' - }); - this.r.text(30, this.y("chosen") + 27, "You can click on the chart to make a more\ndetailed comparison with the pathways below").attr({ - 'text-anchor': 'start' - }); - for (_j = 0, _len1 = comparator_pathways.length; _j < _len1; _j++) { - code = comparator_pathways[_j]; - this.r.text(30, this.y(code) + 9, twentyfifty.pathwayName(code, code)).attr({ - 'text-anchor': 'start', - 'font-weight': 'bold', - href: twentyfifty.pathwayWikiPages(code) - }); - this.r.text(30, this.y(code) + 27, twentyfifty.pathwayDescriptions(code, "")).attr({ - 'text-anchor': 'start', - href: twentyfifty.pathwayWikiPages(code) - }); - } - this.bars = {}; - this.low = { - boxes: this.r.set(), - labels: this.r.set(), - top_label: null, - top_label_box: null - }; - this.range = { - boxes: this.r.set(), - labels: this.r.set(), - top_label: null, - top_label_box: null - }; - overlays = this.r.set(); - x = this.x(0); - h = this.y.rangeBand(); - labels_show = function() { - _this.low.labels.show(); - return _this.range.labels.show(); - }; - labels_hide = function() { - _this.low.labels.hide(); - return _this.range.labels.hide(); - }; - for (_k = 0, _len2 = all_pathways.length; _k < _len2; _k++) { - code = all_pathways[_k]; - y = this.y(code); - low = this.r.rect(x, y, 0, h).attr({ - 'fill': '#008000', - 'stroke': 'none' - }); - range = this.r.rect(x, y, 0, h).attr({ - 'fill': 'url(/assets/images/hatches/hatch-green.png)', - 'stroke': 'none' - }); - low_label = this.r.text(x + 10, y + h / 2, "").attr({ - 'fill': '#000', - 'text-anchor': 'start' - }); - range_label = this.r.text(x, y + h / 2, "").attr({ - 'text-anchor': 'start', - 'fill': '#f00' - }); - message = this.r.text(x, y + h / 2, "").attr({ - 'fill': '#000', - 'text-anchor': 'start' - }); - overlay = this.r.rect(x, y, 0, h).attr({ - 'fill': '#fff', - 'stroke': 'none', - cursor: 'pointer', - 'fill-opacity': 0.0 - }); - this.bars[code] = { - low: low, - range: range, - low_label: low_label, - range_label: range_label, - message: message, - overlay: overlay - }; - this.low.boxes.push(low); - this.low.labels.push(low_label); - this.range.boxes.push(range); - this.range.labels.push(range_label); - overlays.push(overlay); - low_label.hide(); - range_label.hide(); - overlay.hover(labels_show, labels_hide); - overlay.click(function() { - return window.twentyfifty.switchView('costs_compared_overview'); - }); - } - this.incremental_overlay = this.r.rect(this.x(0), this.y('chosen'), 0, 480).attr({ - 'fill': '#fff', - 'fill-opacity': 0.5, - 'stroke': 'none' - }); - overlays.insertAfter(this.incremental_overlay); - this.r.text(this.x(0), this.h - 5, "The absolute cost to society of the whole energy system (mean undiscounted real pounds per person per year 2010-2050)").attr({ - 'text-anchor': 'start', - 'font-weight': 'bold', - 'fill': '#008000' - }); - this.r.path(["M", this.x(0), 40, "L", this.x(0), this.h - 28, "L", this.w - 30, this.h - 28]).attr({ - 'stroke': '#008000', - 'stroke-width': 2 - }); - format = this.x.tickFormat(10); - _ref = this.x.ticks(10); - for (_l = 0, _len3 = _ref.length; _l < _len3; _l++) { - tick = _ref[_l]; - this.r.text(this.x(tick), this.h - 20, format(tick)).attr({ - 'text-anchor': 'middle', - fill: '#008000' - }); - } - this.drawIndicator(3700, "Approximate energy system cost today"); - _results = []; - for (_m = 0, _len4 = comparator_pathways.length; _m < _len4; _m++) { - code = comparator_pathways[_m]; - _results.push(twentyfifty.loadSecondaryPathway(code, this.updateBar)); - } - return _results; - }; - - CostsInContext.prototype.drawIndicator = function(value, text) { - var x; - x = this.x(value); - this.r.text(x, 10, text).attr({ - 'text-anchor': 'end', - fill: '#aaa' - }); - this.r.path(["M", x, 8, "L", x, this.h - 15]).attr({ - stroke: '#000', - 'stroke-dasharray': '.' - }); - return this.r.text(x, this.h - 20, '3,700').attr({ - 'text-anchor': 'end', - fill: '#aaa' - }); - }; - - CostsInContext.prototype.teardown = function() { - $("#results").empty(); - $("#message").removeClass('warning'); - return this.ready = false; - }; - - CostsInContext.prototype.updateResults = function(pathway) { - if (!this.ready) { - this.setup(); - } - return this.updateBar(pathway, 'chosen'); - }; - - CostsInContext.prototype.updateBar = function(pathway, _id) { - var bar, code, format, p, tick, total_cost, total_range, _i, _len, _ref, _ref1; - if (_id == null) { - _id = pathway._id; - } - this.pathways[_id] = pathway; - total_cost = this.total_cost_low_adjusted(pathway); - total_range = this.total_cost_range_adjusted(pathway); - bar = this.bars[_id]; - if (_id === 'chosen') { - bar.low.attr({ - fill: '#1f77b4' - }); - bar.range.attr({ - fill: 'url(/assets/images/hatches/hatch-1f77b4.png)' - }); - } else if (_id === (twentyfifty.getComparator() || twentyfifty.default_comparator_code)) { - this.comparator = pathway; - this.r.text(this.x(total_cost), 10, "The extra cost to society above that of the '" + (twentyfifty.pathwayName(_id, "comparison")) + "' pathway (mean £/person/year 2010-2050)").attr({ - 'text-anchor': 'start', - 'font-weight': 'bold', - 'fill': '#f00' - }); - this.r.path(["M", this.x(total_cost), this.h - 35, "L", this.x(total_cost), 30, "L", this.w - 30, 30]).attr({ - 'stroke': '#f00', - 'stroke-width': 2 - }); - format = this.x.tickFormat(10); - _ref = this.x.ticks(10); - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - tick = _ref[_i]; - this.r.text(this.x(tick + total_cost), 23, format(tick)).attr({ - 'text-anchor': 'middle', - 'fill': '#f00' - }); - if (tick > 0) { - this.r.path(["M", this.x(tick + total_cost), 27, "L", this.x(tick + total_cost), this.h - 30]).attr({ - stroke: '#fff' - }); - } - } - bar.low.attr({ - fill: '#f00' - }); - bar.range.attr({ - fill: 'url(/assets/images/hatches/hatch-f00.png)' - }); - this.incremental_overlay.attr({ - width: this.x(total_cost) - this.x(0) - }); - this.low.labels.toFront(); - this.range.labels.toFront(); - _ref1 = this.pathways; - for (code in _ref1) { - if (!__hasProp.call(_ref1, code)) continue; - p = _ref1[code]; - this.setIncrementalCostLabel(code, p); - } - } - bar.low.attr({ - width: this.x(total_cost) - this.x(0) - }); - if (total_range === 0) { - bar.low_label.attr({ - text: "" + (Math.round(total_cost)) - }); - } else { - bar.low_label.attr({ - text: "" + (Math.round(total_cost)) + "–" + (Math.round(total_cost + total_range)) - }); - } - bar.range_label.attr({ - x: this.x(total_cost + total_range) + 10 - }); - this.setIncrementalCostLabel(_id, pathway); - bar.range.attr({ - x: this.x(total_cost), - width: this.x(total_range) - this.x(0) - }); - bar.overlay.attr({ - width: this.x(total_cost + total_range) - this.x(0) - }); - if (pathway.ghg['Total'][8] > 166) { - bar.message.attr({ - x: this.x(total_cost + total_range) + 100, - text: "This pathway does not reduce emissions by at least 80% on 1990 levels" - }); - return bar.message.toFront(); - } else { - bar.message.attr({ - x: this.x(total_cost + total_range) + 100, - text: "" - }); - return bar.message.toFront(); - } - }; - - CostsInContext.prototype.setIncrementalCostLabel = function(code, pathway) { - var a, delta, i, i1, i2, message; - if (this.comparator == null) { - return false; - } - if (code === this.comparator._id) { - return false; - } - if (pathway.total_cost_range_adjusted === 0 && this.comparator.total_cost_range_adjusted === 0) { - delta = Math.round(pathway.total_cost_low_adjusted - this.comparator.total_cost_low_adjusted); - if (delta < 0) { - message = "" + (-delta) + " less"; - } else if (delta === 0) { - message = "the same"; - } else { - message = "" + delta + " more"; - } - } else { - i = twentyfifty.calculateIncrementalCost(pathway, this.comparator); - i1 = Math.round(i.tc - i.cc); - i2 = Math.round(i.tt - i.ct); - if (i1 > i2) { - a = i2; - i2 = i1; - i1 = a; - } - if (i1 < 0 && i2 < 0) { - message = "" + (-i1) + " to " + (-i2) + " less"; - } else if (i1 < 0 && i2 > 0) { - message = "" + (-i1) + " less to " + i2 + " more"; - } else { - message = "" + i1 + " to " + i2 + " more"; - } - } - return this.bars[code].range_label.attr({ - text: message - }); - }; - - CostsInContext.prototype.total_cost_low_adjusted = function(pathway) { - if (pathway.total_cost_low_adjusted == null) { - twentyfifty.adjust_costs_of_pathway(pathway); - } - return pathway.total_cost_low_adjusted; - }; - - CostsInContext.prototype.total_cost_range_adjusted = function(pathway) { - if (pathway.total_cost_range_adjusted == null) { - twentyfifty.adjust_costs_of_pathway(pathway); - } - return pathway.total_cost_range_adjusted; - }; - - return CostsInContext; - - })(); - - window.twentyfifty.views['costs_in_context'] = new CostsInContext; - -}).call(this); -(function() { - var CostsComparedOverview, costsComparedOverviewHTML, - __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }, - __hasProp = {}.hasOwnProperty; - - costsComparedOverviewHTML = "
\n
NB Some costs not on default values
\n

\n The cost of your pathway, compared with other pathways.\n This is not your energy bill.\n

\n " + window.costCaveatHTML + "\n
\n " + window.costEssentialNotesHTML + "\n
"; - - CostsComparedOverview = (function() { - var categories, category_colors; - - categories = ["Fossil fuels", "Bioenergy", "Electricity", "Buildings", "Transport", "Industry", "Finance", "Other"]; - - category_colors = { - "Fossil fuels": { - low: "#8c564b", - range: "url(/assets/images/hatches/hatch-8c564b.png)" - }, - "Bioenergy": { - low: "#2ca02c", - range: "url(/assets/images/hatches/hatch-2ca02c.png)" - }, - "Electricity": { - low: "#1f77b4", - range: "url(/assets/images/hatches/hatch-1f77b4.png)" - }, - "Buildings": { - low: "#ff7f0e", - range: "url(/assets/images/hatches/hatch-ff7f0e.png)" - }, - "Transport": { - low: "#d62728", - range: "url(/assets/images/hatches/hatch-d62728.png)" - }, - "Industry": { - low: "#7f7f7f", - range: "url(/assets/images/hatches/hatch-7f7f7f.png)" - }, - "Finance": { - low: "#EA8BCC", - range: "url(/assets/images/hatches/hatch-EA8BCC.png)" - }, - "Other": { - low: "#a55194", - range: "url(/assets/images/hatches/hatch-a55194.png)" - } - }; - - function CostsComparedOverview() { - this.updateBar = __bind(this.updateBar, this); - this.ready = false; - } - - CostsComparedOverview.prototype.setup = function() { - var all_pathways, b, c, category, clickFunction, code, color, colors, e, format, h, lb, tick, x, y, _i, _j, _k, _l, _len, _len1, _len2, _len3, _len4, _len5, _m, _n, _ref, _ref1, _ref2, _ref3, _ref4, _results; - if (this.ready) { - return false; - } - this.ready = true; - $('#results').append(costsComparedOverviewHTML); - $("#message").addClass('warning'); - twentyfifty.cost_override_in_place_warning(); - all_pathways = ["chosen"].concat(twentyfifty.comparator_pathways); - e = $('#costscomparedoverview'); - this.h = e.height(); - this.w = e.width(); - this.r = new Raphael('costscomparedoverview', this.w, this.h); - this.x = d3.scale.linear().domain([0, 7000]).range([250, this.w - 30]).nice(); - this.y = d3.scale.ordinal().domain(all_pathways).rangeRoundBands([25, this.h - 20], 0.25); - this.r.text(250, 30, "Move your mouse over a coloured bar to see what it refers to. Click on a bar to see more detail").attr({ - 'text-anchor': 'start' - }); - _ref = twentyfifty.comparator_pathways; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - code = _ref[_i]; - this.r.rect(this.x(0), this.y(code), this.x(7000) - this.x(0), this.y.rangeBand()).attr({ - 'fill': '#ddd', - 'stroke': 'none' - }); - } - this.r.rect(25, this.y("chosen"), this.x(7000) - 25, this.y.rangeBand()).attr({ - 'fill': '#FCFF9B', - 'stroke': 'none' - }); - this.r.text(30, this.y("chosen") + 9, "Your pathway").attr({ - 'text-anchor': 'start', - 'font-weight': 'bold' - }); - this.r.text(30, this.y("chosen") + 27, "You can click on the chart to make a more\ndetailed comparison of specific costs").attr({ - 'text-anchor': 'start' - }); - _ref1 = twentyfifty.comparator_pathways; - for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) { - code = _ref1[_j]; - this.r.text(30, this.y(code) + 9, twentyfifty.pathwayName(code, code)).attr({ - 'text-anchor': 'start', - 'font-weight': 'bold', - href: twentyfifty.pathwayWikiPages(code) - }); - this.r.text(30, this.y(code) + 27, twentyfifty.pathwayDescriptions(code, "")).attr({ - 'text-anchor': 'start', - href: twentyfifty.pathwayWikiPages(code) - }); - } - this.boxes = {}; - this.boxes_by_category = {}; - for (_k = 0, _len2 = categories.length; _k < _len2; _k++) { - category = categories[_k]; - this.boxes_by_category[category] = { - boxes: this.r.set(), - labels: this.r.set(), - top_label: null, - top_label_box: null - }; - } - x = this.x(0); - h = this.y.rangeBand(); - clickFunction = function(category) { - return function() { - return window.twentyfifty.switchSector(categories.indexOf(category)); - }; - }; - _ref2 = ["chosen"].concat(twentyfifty.comparator_pathways); - for (_l = 0, _len3 = _ref2.length; _l < _len3; _l++) { - code = _ref2[_l]; - b = {}; - y = this.y(code); - for (category in category_colors) { - if (!__hasProp.call(category_colors, category)) continue; - colors = category_colors[category]; - b[category] = { - low: this.r.rect(x, y, 0, h).attr({ - 'fill': colors.low, - 'stroke': 'none', - cursor: "pointer" - }).click(clickFunction(category)), - low_label: this.r.text(x, y + h / 2, "").attr({ - 'fill': '#000', - 'text-anchor': 'middle', - cursor: "pointer" - }).click(clickFunction(category)), - range: this.r.rect(x, y, 0, h).attr({ - 'fill': colors.range, - 'stroke': 'none', - cursor: "pointer" - }).click(clickFunction(category)), - range_label: this.r.text(x, y + h / 2, "").attr({ - 'fill': '#000', - 'text-anchor': 'middle', - cursor: "pointer" - }).click(clickFunction(category)) - }; - c = this.boxes_by_category[category]; - c.boxes.push(b[category].low, b[category].range); - c.labels.push(b[category].low_label, b[category].range_label); - } - this.boxes[code] = b; - } - this.r.text(this.x(0), this.h - 5, "The absolute cost to society of the whole energy system (mean undiscounted real pounds per person per year 2010-2050)").attr({ - 'text-anchor': 'start', - 'font-weight': 'bold', - 'fill': '#008000' - }); - this.r.path(["M", this.x(0), 40, "L", this.x(0), this.h - 28, "L", this.w - 30, this.h - 28]).attr({ - 'stroke': '#008000', - 'stroke-width': 2 - }); - format = this.x.tickFormat(10); - _ref3 = this.x.ticks(10); - for (_m = 0, _len4 = _ref3.length; _m < _len4; _m++) { - tick = _ref3[_m]; - this.r.text(this.x(tick), this.h - 20, format(tick)).attr({ - 'text-anchor': 'middle', - fill: '#008000' - }); - this.r.path(["M", this.x(tick), 40, "L", this.x(tick), this.h - 26]).attr({ - stroke: '#fff' - }); - } - for (category in category_colors) { - if (!__hasProp.call(category_colors, category)) continue; - color = category_colors[category]; - this.boxes_by_category[category].labels.hide(); - this.boxes_by_category[category].labels.toFront(); - this.hover(this.boxes_by_category[category].boxes, category); - this.hover(this.boxes_by_category[category].labels, category); - if (category === "Fossil fuels") { - lb = this.r.text(this.x(0) + 175, h * 0.75 / 2, "Fossil fuels for use in buildings, transport, electricity generation and industry").attr({ - 'text-anchor': 'middle', - 'font-weight': 'bold' - }); - } else if (category === "Bioenergy") { - lb = this.r.text(this.x(0) + 175, h * 0.75 / 2, "Bioenergy for use in buildings, transport, electricity generation and industry").attr({ - 'text-anchor': 'middle', - 'font-weight': 'bold' - }); - } else { - lb = this.r.text(this.x(0) + 50, h * 0.75 / 2, category).attr({ - 'text-anchor': 'middle', - 'font-weight': 'bold' - }); - } - this.boxes_by_category[category].top_label_box = this.r.rect(this.x(0), 0, lb.getBBox().width + 15, h * 0.75, 5).attr({ - 'fill': '#fff', - 'stroke': color.low - }).hide(); - this.boxes_by_category[category].top_label = lb; - lb.toFront(); - lb.hide(); - } - _ref4 = twentyfifty.comparator_pathways; - _results = []; - for (_n = 0, _len5 = _ref4.length; _n < _len5; _n++) { - code = _ref4[_n]; - _results.push(twentyfifty.loadSecondaryPathway(code, this.updateBar)); - } - return _results; - }; - - CostsComparedOverview.prototype.hover = function(boxes, category) { - var _this = this; - return boxes.hover((function() { - return _this.show(category); - }), (function() { - return _this.hide(category); - })); - }; - - CostsComparedOverview.prototype.show = function(category) { - var c, _i, _len, _results; - _results = []; - for (_i = 0, _len = categories.length; _i < _len; _i++) { - c = categories[_i]; - if (c === category) { - this.boxes_by_category[c].labels.show(); - this.boxes_by_category[c].top_label_box.show(); - _results.push(this.boxes_by_category[c].top_label.show()); - } else { - _results.push(this.boxes_by_category[c].boxes.attr({ - 'fill-opacity': 0.5 - })); - } - } - return _results; - }; - - CostsComparedOverview.prototype.hide = function(category) { - var c, _i, _len, _results; - _results = []; - for (_i = 0, _len = categories.length; _i < _len; _i++) { - c = categories[_i]; - if (c === category) { - this.boxes_by_category[c].labels.hide(); - this.boxes_by_category[c].top_label_box.hide(); - _results.push(this.boxes_by_category[c].top_label.hide()); - } else { - _results.push(this.boxes_by_category[c].boxes.attr({ - 'fill-opacity': 1.0 - })); - } - } - return _results; - }; - - CostsComparedOverview.prototype.teardown = function() { - $("#results").empty(); - $("#message").removeClass('warning'); - return this.ready = false; - }; - - CostsComparedOverview.prototype.updateResults = function(pathway) { - if (!this.ready) { - this.setup(); - } - return this.updateBar(pathway, 'chosen'); - }; - - CostsComparedOverview.prototype.updateBar = function(pathway, _id) { - var b, categorised_costs, category, cost, lb, _i, _j, _len, _len1, _results, _x; - if (_id == null) { - _id = pathway._id; - } - if (this.boxes == null) { - this.setupComparisonChart(); - } - if (pathway.categorised_costs == null) { - twentyfifty.group_costs_of_pathway(pathway); - } - categorised_costs = pathway.categorised_costs; - b = this.boxes[_id]; - _x = 0; - for (_i = 0, _len = categories.length; _i < _len; _i++) { - category = categories[_i]; - cost = categorised_costs[category]; - b[category].low.attr({ - x: this.x(_x), - width: this.x(cost.low) - this.x(0) - }); - if (cost.low > 1) { - b[category].low_label.attr({ - x: this.x(_x + cost.low / 2), - text: "" + (Math.round(cost.low)) - }); - } - if (_id === 'chosen') { - lb = this.boxes_by_category[category].top_label_box; - lb.attr({ - x: this.x(_x + cost.low / 2) - (lb.attr('width') / 2) - }); - this.boxes_by_category[category].top_label.attr({ - x: this.x(_x + cost.low / 2) - }); - } - _x += cost.low; - } - _results = []; - for (_j = 0, _len1 = categories.length; _j < _len1; _j++) { - category = categories[_j]; - cost = categorised_costs[category]; - b[category].range.attr({ - x: this.x(_x), - width: this.x(cost.range) - this.x(0) - }); - if (cost.range > 1) { - b[category].range_label.attr({ - x: this.x(_x + cost.range / 2), - text: "" + (Math.round(cost.range)) - }); - } - _results.push(_x += cost.range); - } - return _results; - }; - - return CostsComparedOverview; - - })(); - - window.twentyfifty.views['costs_compared_overview'] = new CostsComparedOverview; - -}).call(this); -(function() { - var CostsComparedWithinSector, costsComparedWithinSectorHTML, - __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }, - __hasProp = {}.hasOwnProperty; - - costsComparedWithinSectorHTML = "
\n
NB Some costs not on default values
\n \n

\n The cost of\n a sector\n within your and other pathways.\n This is not an energy bill.\n

\n " + window.costCaveatHTML + "\n
\n " + window.costEssentialNotesHTML + "\n
"; - - CostsComparedWithinSector = (function() { - var categories, cost_component_colors; - - categories = ["Fossil fuels", "Bioenergy", "Electricity", "Buildings", "Transport", "Industry", "Finance", "Other"]; - - cost_component_colors = { - "Conventional thermal plant": { - low: "#a55194", - range: "url(/assets/images/hatches/hatch-a55194.png)" - }, - "Combustion + CCS": { - low: "#8c564b", - range: "url(/assets/images/hatches/hatch-8c564b.png)" - }, - "Storage of captured CO2": { - low: "#8c564b", - range: "url(/assets/images/hatches/hatch-8c564b.png)" - }, - "Nuclear power": { - low: "#2ca02c", - range: "url(/assets/images/hatches/hatch-2ca02c.png)" - }, - "Onshore wind": { - low: "#1f77b4", - range: "url(/assets/images/hatches/hatch-1f77b4.png)" - }, - "Offshore wind": { - low: "#ff7f0e", - range: "url(/assets/images/hatches/hatch-ff7f0e.png)" - }, - "Hydroelectric": { - low: "#d62728", - range: "url(/assets/images/hatches/hatch-d62728.png)" - }, - "Wave and Tidal": { - low: "#7f7f7f", - range: "url(/assets/images/hatches/hatch-7f7f7f.png)" - }, - "Geothermal": { - low: "#EA8BCC", - range: "url(/assets/images/hatches/hatch-EA8BCC.png)" - }, - "Distributed solar PV": { - low: "#a55194", - range: "url(/assets/images/hatches/hatch-a55194.png)" - }, - "Distributed solar thermal": { - low: "#8c564b", - range: "url(/assets/images/hatches/hatch-8c564b.png)" - }, - "Micro wind": { - low: "#2ca02c", - range: "url(/assets/images/hatches/hatch-2ca02c.png)" - }, - "Biomatter to fuel conversion": { - low: "#1f77b4", - range: "url(/assets/images/hatches/hatch-1f77b4.png)" - }, - "Bioenergy imports": { - low: "#ff7f0e", - range: "url(/assets/images/hatches/hatch-ff7f0e.png)" - }, - "Agriculture and land use": { - low: "#d62728", - range: "url(/assets/images/hatches/hatch-d62728.png)" - }, - "Energy from waste": { - low: "#7f7f7f", - range: "url(/assets/images/hatches/hatch-7f7f7f.png)" - }, - "Waste arising": { - low: "#EA8BCC", - range: "url(/assets/images/hatches/hatch-EA8BCC.png)" - }, - "Marine algae": { - low: "#a55194", - range: "url(/assets/images/hatches/hatch-a55194.png)" - }, - "Electricity imports": { - low: "#8c564b", - range: "url(/assets/images/hatches/hatch-8c564b.png)" - }, - "Electricity Exports": { - low: "#2ca02c", - range: "url(/assets/images/hatches/hatch-2ca02c.png)" - }, - "Electricity grid distribution": { - low: "#1f77b4", - range: "url(/assets/images/hatches/hatch-1f77b4.png)" - }, - "Storage, demand shifting, backup": { - low: "#ff7f0e", - range: "url(/assets/images/hatches/hatch-ff7f0e.png)" - }, - "H2 Production": { - low: "#d62728", - range: "url(/assets/images/hatches/hatch-d62728.png)" - }, - "Domestic heating": { - low: "#7f7f7f", - range: "url(/assets/images/hatches/hatch-7f7f7f.png)" - }, - "Domestic insulation": { - low: "#EA8BCC", - range: "url(/assets/images/hatches/hatch-EA8BCC.png)" - }, - "Commercial heating and cooling": { - low: "#a55194", - range: "url(/assets/images/hatches/hatch-a55194.png)" - }, - "Domestic lighting, appliances, and cooking": { - low: "#8c564b", - range: "url(/assets/images/hatches/hatch-8c564b.png)" - }, - "Commercial lighting, appliances, and catering": { - low: "#2ca02c", - range: "url(/assets/images/hatches/hatch-2ca02c.png)" - }, - "Industrial processes": { - low: "#1f77b4", - range: "url(/assets/images/hatches/hatch-1f77b4.png)" - }, - "Conventional cars and buses": { - low: "#ff7f0e", - range: "url(/assets/images/hatches/hatch-ff7f0e.png)" - }, - "Hybrid cars and buses": { - low: "#d62728", - range: "url(/assets/images/hatches/hatch-d62728.png)" - }, - "Electric cars and buses": { - low: "#7f7f7f", - range: "url(/assets/images/hatches/hatch-7f7f7f.png)" - }, - "Fuel cell cars and buses": { - low: "#EA8BCC", - range: "url(/assets/images/hatches/hatch-EA8BCC.png)" - }, - "Bikes": { - low: "#a55194", - range: "url(/assets/images/hatches/hatch-a55194.png)" - }, - "Rail": { - low: "#8c564b", - range: "url(/assets/images/hatches/hatch-8c564b.png)" - }, - "Domestic aviation": { - low: "#2ca02c", - range: "url(/assets/images/hatches/hatch-2ca02c.png)" - }, - "Domestic freight": { - low: "#1f77b4", - range: "url(/assets/images/hatches/hatch-1f77b4.png)" - }, - "International aviation": { - low: "#ff7f0e", - range: "url(/assets/images/hatches/hatch-ff7f0e.png)" - }, - "International shipping (maritime bunkers)": { - low: "#d62728", - range: "url(/assets/images/hatches/hatch-d62728.png)" - }, - "Geosequestration": { - low: "#7f7f7f", - range: "url(/assets/images/hatches/hatch-7f7f7f.png)" - }, - "Petroleum refineries": { - low: "#8c564b", - range: "url(/assets/images/hatches/hatch-8c564b.png)" - }, - "Coal": { - low: "#2ca02c", - range: "url(/assets/images/hatches/hatch-2ca02c.png)" - }, - "Oil": { - low: "#1f77b4", - range: "url(/assets/images/hatches/hatch-1f77b4.png)" - }, - "Gas": { - low: "#ff7f0e", - range: "url(/assets/images/hatches/hatch-ff7f0e.png)" - }, - "Fossil fuel transfers": { - low: "#d62728", - range: "url(/assets/images/hatches/hatch-d62728.png)" - }, - "District heating effective demand": { - low: "#7f7f7f", - range: "url(/assets/images/hatches/hatch-7f7f7f.png)" - }, - "Power Carbon Capture": { - low: "#EA8BCC", - range: "url(/assets/images/hatches/hatch-EA8BCC.png)" - }, - "Industry Carbon Capture": { - low: "#a55194", - range: "url(/assets/images/hatches/hatch-a55194.png)" - }, - "Finance cost": { - low: "#8c564b", - range: "url(/assets/images/hatches/hatch-8c564b.png)" - } - }; - - function CostsComparedWithinSector() { - this.updateBar = __bind(this.updateBar, this); - this.ready = false; - } - - CostsComparedWithinSector.prototype.setup = function() { - var all_pathways, b, c, category, code, e, format, h, lb, tick, x, y, _i, _j, _k, _l, _len, _len1, _len2, _len3, _len4, _len5, _len6, _len7, _m, _n, _o, _p, _ref, _ref1, _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _results; - if (this.ready) { - return false; - } - this.ready = true; - $('#results').append(costsComparedWithinSectorHTML); - $('#message').addClass('warning'); - $('#sectorname').html(categories[twentyfifty.getSector()]); - twentyfifty.cost_override_in_place_warning(); - all_pathways = ["chosen"].concat(twentyfifty.comparator_pathways); - this.relevant_costs = twentyfifty.costs_in_category(categories[twentyfifty.getSector()]); - e = $('#costscomparedwithinsector'); - this.h = e.height(); - this.w = e.width(); - this.r = new Raphael('costscomparedwithinsector', this.w, this.h); - this.x = d3.scale.linear().domain([0, 3000]).range([250, this.w - 30]).nice(); - this.y = d3.scale.ordinal().domain(all_pathways).rangeRoundBands([25, this.h - 20], 0.25); - _ref = twentyfifty.comparator_pathways; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - code = _ref[_i]; - this.r.rect(this.x(0), this.y(code), this.x(3000) - this.x(0), this.y.rangeBand()).attr({ - 'fill': '#ddd', - 'stroke': 'none' - }); - } - this.r.rect(25, this.y("chosen"), this.x(3000) - 25, this.y.rangeBand()).attr({ - 'fill': '#FCFF9B', - 'stroke': 'none' - }); - this.r.text(30, this.y("chosen") + 9, "Your pathway").attr({ - 'text-anchor': 'start', - 'font-weight': 'bold' - }); - this.r.text(30, this.y("chosen") + 27, "").attr({ - 'text-anchor': 'start' - }); - _ref1 = twentyfifty.comparator_pathways; - for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) { - code = _ref1[_j]; - this.r.text(30, this.y(code) + 9, twentyfifty.pathwayName(code, code)).attr({ - 'text-anchor': 'start', - 'font-weight': 'bold', - href: twentyfifty.pathwayWikiPages(code) - }); - this.r.text(30, this.y(code) + 27, twentyfifty.pathwayDescriptions(code, "")).attr({ - 'text-anchor': 'start', - href: twentyfifty.pathwayWikiPages(code) - }); - } - this.boxes = {}; - this.boxes_by_category = {}; - _ref2 = this.relevant_costs; - for (_k = 0, _len2 = _ref2.length; _k < _len2; _k++) { - category = _ref2[_k]; - this.boxes_by_category[category] = { - boxes: this.r.set(), - labels: this.r.set(), - top_label: null, - top_label_box: null - }; - } - x = this.x(0); - h = this.y.rangeBand(); - _ref3 = ["chosen"].concat(twentyfifty.comparator_pathways); - for (_l = 0, _len3 = _ref3.length; _l < _len3; _l++) { - code = _ref3[_l]; - b = {}; - y = this.y(code); - _ref4 = this.relevant_costs; - for (_m = 0, _len4 = _ref4.length; _m < _len4; _m++) { - category = _ref4[_m]; - b[category] = { - low: this.r.rect(x, y, 0, h).attr({ - 'fill': cost_component_colors[category].low, - 'stroke': 'none' - }), - low_label: this.r.text(x, y + h / 2, "").attr({ - 'fill': '#000', - 'text-anchor': 'middle' - }), - range: this.r.rect(x, y, 0, h).attr({ - 'fill': cost_component_colors[category].range, - 'stroke': 'none' - }), - range_label: this.r.text(x, y + h / 2, "").attr({ - 'fill': '#000', - 'text-anchor': 'middle' - }) - }; - c = this.boxes_by_category[category]; - c.boxes.push(b[category].low, b[category].range); - c.labels.push(b[category].low_label, b[category].range_label); - } - this.boxes[code] = b; - } - this.r.text(this.x(0), this.h - 5, "The absolute cost to society of the whole energy system (mean undiscounted real pounds per person per year 2010-2050)").attr({ - 'text-anchor': 'start', - 'font-weight': 'bold', - 'fill': '#008000' - }); - this.r.path(["M", this.x(0), 40, "L", this.x(0), this.h - 28, "L", this.w - 30, this.h - 28]).attr({ - 'stroke': '#008000', - 'stroke-width': 2 - }); - format = this.x.tickFormat(10); - _ref5 = this.x.ticks(10); - for (_n = 0, _len5 = _ref5.length; _n < _len5; _n++) { - tick = _ref5[_n]; - this.r.text(this.x(tick), this.h - 20, format(tick)).attr({ - 'text-anchor': 'middle', - fill: '#008000' - }); - this.r.path(["M", this.x(tick), 40, "L", this.x(tick), this.h - 26]).attr({ - stroke: '#fff' - }); - } - _ref6 = this.relevant_costs; - for (_o = 0, _len6 = _ref6.length; _o < _len6; _o++) { - category = _ref6[_o]; - this.boxes_by_category[category].labels.hide(); - this.boxes_by_category[category].labels.toFront(); - this.hover(this.boxes_by_category[category].boxes, category); - this.hover(this.boxes_by_category[category].labels, category); - lb = this.boxes_by_category[category].top_label = this.r.text(this.x(0) + 100, h * 0.75 / 2, category).attr({ - 'text-anchor': 'middle', - 'font-weight': 'bold' - }).hide(); - this.boxes_by_category[category].top_label_box = this.r.rect(this.x(0), 0, lb.getBBox().width + 15, h * 0.75, 5).attr({ - 'fill': '#fff', - 'stroke': cost_component_colors[category].low - }).hide(); - lb.toFront(); - } - _ref7 = twentyfifty.comparator_pathways; - _results = []; - for (_p = 0, _len7 = _ref7.length; _p < _len7; _p++) { - code = _ref7[_p]; - _results.push(twentyfifty.loadSecondaryPathway(code, this.updateBar)); - } - return _results; - }; - - CostsComparedWithinSector.prototype.hover = function(boxes, category) { - var _this = this; - return boxes.hover((function() { - return _this.show(category); - }), (function() { - return _this.hide(category); - })); - }; - - CostsComparedWithinSector.prototype.show = function(category) { - var c, _i, _len, _ref, _results; - _ref = this.relevant_costs; - _results = []; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - c = _ref[_i]; - if (c === category) { - this.boxes_by_category[c].labels.show(); - this.boxes_by_category[c].top_label_box.show(); - _results.push(this.boxes_by_category[c].top_label.show()); - } else { - _results.push(this.boxes_by_category[c].boxes.attr({ - 'fill-opacity': 0.5 - })); - } - } - return _results; - }; - - CostsComparedWithinSector.prototype.hide = function(category) { - var c, _i, _len, _ref, _results; - _ref = this.relevant_costs; - _results = []; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - c = _ref[_i]; - if (c === category) { - this.boxes_by_category[c].labels.hide(); - this.boxes_by_category[c].top_label_box.hide(); - _results.push(this.boxes_by_category[c].top_label.hide()); - } else { - _results.push(this.boxes_by_category[c].boxes.attr({ - 'fill-opacity': 1.0 - })); - } - } - return _results; - }; - - CostsComparedWithinSector.prototype.teardown = function() { - $('#results').empty(); - $('#message').removeClass('warning'); - return this.ready = false; - }; - - CostsComparedWithinSector.prototype.updateResults = function(pathway) { - if (!this.ready) { - this.setup(); - } - return this.updateBar(pathway, 'chosen'); - }; - - CostsComparedWithinSector.prototype.updateBar = function(pathway, _id) { - var b, categorised_costs, category, cost, lb, low, range, _results, _x; - if (_id == null) { - _id = pathway._id; - } - if (this.boxes == null) { - this.setupComparisonChart(); - } - if (pathway.categorised_costs == null) { - twentyfifty.group_costs_of_pathway(pathway); - } - categorised_costs = pathway.categorised_costs[categories[twentyfifty.getSector()]]; - b = this.boxes[_id]; - _x = 0; - for (category in categorised_costs) { - if (!__hasProp.call(categorised_costs, category)) continue; - cost = categorised_costs[category]; - if (!(category === "high" || category === "low" || category === "range")) { - low = cost.low_adjusted; - if (_id === 'chosen') { - lb = this.boxes_by_category[category].top_label_box; - lb.attr({ - x: this.x(_x + low / 2) - (lb.attr('width') / 2) - }); - this.boxes_by_category[category].top_label.attr({ - x: this.x(_x + low / 2) - }); - } - if (low >= 0) { - b[category].low.attr({ - x: this.x(_x), - width: this.x(low) - this.x(0) - }); - if (Math.round(low) === 0) { - b[category].low_label.attr({ - x: this.x(_x + low / 2), - text: "" - }); - } else { - b[category].low_label.attr({ - x: this.x(_x + low / 2), - text: "" + (Math.round(low)) - }); - } - _x += low; - } else { - b[category].low.attr({ - x: this.x(0), - width: this.x(0) - this.x(0) - }); - b[category].low_label.attr({ - x: this.x(0), - text: "" - }); - } - } - } - _results = []; - for (category in categorised_costs) { - if (!__hasProp.call(categorised_costs, category)) continue; - cost = categorised_costs[category]; - if (!(category === "high" || category === "low" || category === "range")) { - range = cost.range_adjusted; - low = cost.low_adjusted; - if (low >= 0) { - b[category].range.attr({ - x: this.x(_x), - width: this.x(range) - this.x(0) - }); - if (Math.round(range) === 0) { - b[category].range_label.attr({ - x: this.x(_x + range / 2), - text: "" - }); - } else { - b[category].range_label.attr({ - x: this.x(_x + range / 2), - text: "" + (Math.round(range)) - }); - } - _results.push(_x += range); - } else { - b[category].range.attr({ - x: this.x(0), - width: this.x(0) - this.x(0) - }); - _results.push(b[category].range_label.attr({ - x: this.x(0), - text: "" - })); - } - } else { - _results.push(void 0); - } - } - return _results; - }; - - return CostsComparedWithinSector; - - })(); - - window.twentyfifty.views['costs_compared_within_sector'] = new CostsComparedWithinSector; - -}).call(this); -(function() { - var CostsSensitivity, - __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; - - CostsSensitivity = (function() { - var bottom_area_start, c_low_fill_color, c_range_fill_color, color, cost_component_names, cost_component_value, cost_component_values, cost_wiki_links, costsSensitivityHTML, direction, label_components, optional_arrow, p_low_fill_color, p_range_fill_color; - - costsSensitivityHTML = "
\n \n

The cost of your pathway compared with another, allowing simple variation in cost estimates.

\n " + window.costCaveatHTML + "\n
\n " + window.costEssentialNotesHTML + "\n
"; - - bottom_area_start = 219; - - cost_component_names = ["Conventional thermal plant", "Combustion + CCS", "Nuclear power", "Onshore wind", "Offshore wind", "Hydroelectric", "Wave and Tidal", "Geothermal", "Distributed solar PV", "Distributed solar thermal", "Micro wind", "Biomatter to fuel conversion", "Bioenergy imports", "Agriculture and land use", "Energy from waste", "Waste arising", "Marine algae", "Electricity imports", "Electricity Exports", "Electricity grid distribution", "Storage, demand shifting, backup", "H2 Production", "Domestic heating", "Domestic insulation", "Commercial heating and cooling", "Domestic lighting, appliances, and cooking", "Commercial lighting, appliances, and catering", "Industrial processes", "Conventional cars and buses", "Hybrid cars and buses", "Electric cars and buses", "Fuel cell cars and buses", "Bikes", "Rail", "Domestic aviation", "Domestic freight", "International aviation", "International shipping (maritime bunkers)", "Geosequestration", "Petroleum refineries", "Fossil fuel transfers", "District heating effective demand", "Storage of captured CO2", "Coal", "Oil", "Gas", "Finance cost"]; - - cost_wiki_links = { - "Fuel cell cars and buses": '/pages/63', - "Conventional cars and buses": '/pages/63', - "Hybrid cars and buses": '/pages/63', - "Gas": '/pages/13', - "Electric cars and buses": '/pages/63', - "Domestic insulation": '/pages/31', - "Wave and Tidal": '/pages/38', - "Finance cost": '/pages/28', - "Industrial processes": '/pages/24', - "Domestic heating": '/pages/31', - "Offshore wind": '/pages/6', - "Commercial heating and cooling": '/pages/44', - "Oil": '/pages/13', - "Conventional thermal plant": '/pages/42', - "Distributed solar PV": '/pages/40', - "Nuclear power": '/pages/7', - "Bioenergy imports": '/pages/3', - "Agriculture and land use": '/pages/19', - "Carbon Storage": '/pages/36', - "Fossil fuel transfers": '/pages/12', - "H2 Production": '/pages/43', - "Combustion + CCS": '/pages/8', - "Storage of captured CO2": '/pages/36', - "Biomatter to fuel conversion": '/pages/26', - "Electricity grid distribution": '/pages/11', - "Storage, demand shifting, backup": '/pages/10', - "Onshore wind": '/pages/5', - "Electricity Exports": '/pages/32', - "Energy from waste": '/pages/19', - "Waste arising": '/pages/27', - "Distributed solar thermal": '/pages/31', - "Domestic freight": '/pages/64', - "Coal": '/pages/13', - "Geothermal": '/pages/39', - "Micro wind": '/pages/56', - "District heating effective demand": '/pages/30', - "Commercial lighting, appliances, and catering": '/pages/23', - "Marine algae": '/pages/17', - "Rail": '/pages/63', - "Hydroelectric": '/pages/9', - "Domestic aviation": '/pages/63', - "Domestic lighting, appliances, and cooking": '/pages/46', - "Geosequestration": '/pages/29', - "Petroleum refineries": '/pages/25', - "International shipping (maritime bunkers)": '/pages/71', - "International aviation": '/pages/70', - "Bikes": '/pages/63', - "Electricity imports": '/pages/32' - }; - - cost_component_values = { - "Oil": { - cheap: "$75/bbl", - "default": "$130/bbl", - expensive: "$170/bbl" - }, - "Coal": { - cheap: "$80/tCoal", - "default": "$110/tCoal", - expensive: "$155/tCoal" - }, - "Gas": { - cheap: "45p/therm", - "default": "70p/therm", - expensive: "100p/therm" - }, - "Finance cost": { - cheap: "None", - "default": "7% real", - expensive: "10% real" - } - }; - - cost_component_value = function(name) { - return cost_component_values[name] || { - cheap: "Cheap", - "default": "Default", - expensive: "Today's cost" - }; - }; - - direction = function(value) { - if (value > 0) { - return "more expensive"; - } - return "cheaper"; - }; - - color = function(value) { - if (value > 0) { - return "#f00"; - } - return "#0f0"; - }; - - p_low_fill_color = '#1f77b4'; - - p_range_fill_color = 'url(/assets/images/hatches/hatch-1f77b4.png)'; - - c_low_fill_color = '#f00'; - - c_range_fill_color = 'url(/assets/images/hatches/hatch-f00.png)'; - - function CostsSensitivity() { - this.updateComparator = __bind(this.updateComparator, this); - this.updateResults = __bind(this.updateResults, this); - this.ready = false; - } - - CostsSensitivity.prototype.setup = function() { - if (this.ready) { - return false; - } - this.ready = true; - $("#results").append(costsSensitivityHTML); - $('#message').addClass('warning'); - this.drawChart(); - return this.switchComparator(twentyfifty.getComparator() || twentyfifty.default_comparator_code); - }; - - CostsSensitivity.prototype.teardown = function() { - $('#results').empty(); - $('#message').removeClass('warning'); - return this.ready = false; - }; - - CostsSensitivity.prototype.updateResults = function(pathway) { - this.pathway = pathway; - if (!this.ready) { - this.setup(); - } - if (this.pathway.total_cost_low_adjusted == null) { - twentyfifty.adjust_costs_of_pathway(this.pathway); - } - this.sortComponents(); - this.updateBar(this.top_pathway_chart, this.pathway.total_cost_low_adjusted, this.pathway.total_cost_range_adjusted); - return this.updateIncrement(); - }; - - CostsSensitivity.prototype.switchComparator = function(code) { - return twentyfifty.loadSecondaryPathway(code, this.updateComparator); - }; - - CostsSensitivity.prototype.updateComparator = function(comparator) { - this.comparator = comparator; - if (this.comparator.total_cost_low_adjusted == null) { - twentyfifty.adjust_costs_of_pathway(this.comparator); - } - this.updateBar(this.top_comparator_chart, this.comparator.total_cost_low_adjusted, this.comparator.total_cost_range_adjusted); - this.top_comparator_chart.name.attr({ - text: twentyfifty.pathwayName(this.comparator._id, this.comparator._id), - href: twentyfifty.pathwayWikiPages(this.comparator._id) - }); - this.top_comparator_chart.description.attr({ - text: twentyfifty.pathwayDescriptions(this.comparator._id, ""), - href: twentyfifty.pathwayWikiPages(this.comparator._id) - }); - this.key_label.attr({ - text: "The cost in '" + (twentyfifty.pathwayName(this.comparator._id, this.comparator._id)) + "'" - }); - if (this.pathway != null) { - this.updateIncrement(); - return this.updateComponents(false, true); - } - }; - - CostsSensitivity.prototype.updateToBarForNewCost = function() { - this.updateBar(this.top_pathway_chart, this.pathway.total_cost_low_adjusted, this.pathway.total_cost_range_adjusted); - this.updateBar(this.top_comparator_chart, this.comparator.total_cost_low_adjusted, this.comparator.total_cost_range_adjusted); - return this.updateIncrement(); - }; - - CostsSensitivity.prototype.updateIncrement = function() { - var average, c, i, i1, i2, max, min, p; - if (!((this.pathway != null) && (this.comparator != null))) { - return; - } - p = this.pathway; - c = this.comparator; - i = twentyfifty.calculateIncrementalCost(p, c); - min = Math.min(p.total_cost_low_adjusted, c.total_cost_low_adjusted); - max = Math.max(p.total_cost_high_adjusted, c.total_cost_high_adjusted); - average = (min + max) / 2; - i1 = i.tc - i.cc; - i2 = i.tt - i.ct; - if (i1 === i2) { - this.increment_arrows.low.hide(); - this.increment_arrows.high.hide(); - this.increment_arrows.range_message.hide(); - this.increment_arrows.low_value.hide(); - this.increment_arrows.high_value.hide(); - this.increment_arrows.single.attr({ - path: ["M", this.x(p.total_cost_low_adjusted - i1), this.top_y('i') + this.top_bar_height * 0.5, "L", this.x(p.total_cost_low_adjusted), this.top_y('i') + this.top_bar_height * 0.5], - stroke: color(i2), - fill: color(i2) - }); - this.increment_arrows.single_value.attr({ - x: this.x(max) + 3, - text: "£" + (Math.round(Math.abs(i1))) + "/person/year " + (direction(i1)) - }); - optional_arrow(this.increment_arrows.single, i1); - this.increment_arrows.single.show(); - return this.increment_arrows.single_value.show(); - } else { - this.increment_arrows.single.hide(); - this.increment_arrows.single_value.hide(); - this.increment_arrows.low.attr({ - path: ["M", this.x(average - i2 / 2), this.top_y('i') + this.top_bar_height * 0.25, "L", this.x(average + i2 / 2), this.top_y('i') + this.top_bar_height * 0.25], - stroke: color(i2), - fill: color(i2) - }); - this.increment_arrows.high.attr({ - path: ["M", this.x(average - i1 / 2), this.top_y('i') + this.top_bar_height * 0.75, "L", this.x(average + i1 / 2), this.top_y('i') + this.top_bar_height * 0.75], - stroke: color(i1), - fill: color(i1) - }); - this.increment_arrows.range_message.attr({ - x: this.x(min) - 3 - }); - this.increment_arrows.low_value.attr({ - x: this.x(max) + 3, - text: "£" + (Math.round(Math.abs(i2))) + "/person/year " + (direction(i2)) + " and" - }); - this.increment_arrows.high_value.attr({ - x: this.x(max) + 3, - text: "£" + (Math.round(Math.abs(i1))) + "/person/year " + (direction(i1)) - }); - optional_arrow(this.increment_arrows.low, i2); - optional_arrow(this.increment_arrows.high, i1); - this.increment_arrows.low.show(); - this.increment_arrows.high.show(); - this.increment_arrows.range_message.show(); - this.increment_arrows.low_value.show(); - return this.increment_arrows.high_value.show(); - } - }; - - optional_arrow = function(arrow, value) { - if (Math.abs(value) > 200) { - return arrow.attr({ - 'arrow-end': 'classic-narrow-short' - }); - } else { - return arrow.attr({ - 'arrow-end': 'none' - }); - } - }; - - label_components = { - labels: ['name', 'details', 'cheap', 'default', 'expensive', 'uncertain'], - boxes: ['details_box', 'cheap_box', 'default_box', 'expensive_box', 'uncertain_box'] - }; - - CostsSensitivity.prototype.sortComponents = function() { - var a, bar_offset, component, cy, ly, name, p, py, y, _i, _j, _k, _len, _len1, _len2, _ref, _ref1; - p = this.pathway.cost_components; - bar_offset = this.bar_offset; - cost_component_names.sort(function(a, b) { - return p[b].high_adjusted - p[a].high_adjusted; - }); - this.bottom_y = y = d3.scale.ordinal().domain(cost_component_names).rangeRoundBands([bottom_area_start, this.h], 0.25); - for (_i = 0, _len = cost_component_names.length; _i < _len; _i++) { - name = cost_component_names[_i]; - component = this.components[name]; - py = y(name); - cy = py + bar_offset; - ly = py + (y.rangeBand() / 2); - _ref = label_components.labels; - for (_j = 0, _len1 = _ref.length; _j < _len1; _j++) { - a = _ref[_j]; - component[a].attr({ - y: ly - }); - } - _ref1 = label_components.boxes; - for (_k = 0, _len2 = _ref1.length; _k < _len2; _k++) { - a = _ref1[_k]; - component[a].attr({ - y: py - }); - } - component.pathway.low.attr({ - y: py - }); - component.pathway.range.attr({ - y: py - }); - component.comparator.low.attr({ - y: cy - }); - component.comparator.range.attr({ - y: cy - }); - } - return this.updateComponents(); - }; - - CostsSensitivity.prototype.updateComponents = function(update_pathway, update_comparator) { - var name, _i, _len, _results; - if (update_pathway == null) { - update_pathway = true; - } - if (update_comparator == null) { - update_comparator = true; - } - if (!(this.pathway || this.comparator)) { - return; - } - _results = []; - for (_i = 0, _len = cost_component_names.length; _i < _len; _i++) { - name = cost_component_names[_i]; - _results.push(this.updateComponentNamed(name, update_pathway, update_comparator)); - } - return _results; - }; - - CostsSensitivity.prototype.updateComponentNamed = function(name, update_pathway, update_comparator) { - var a, c, chosen, component, cy, p, py, setting, _i, _len, _ref; - if (update_pathway == null) { - update_pathway = true; - } - if (update_comparator == null) { - update_comparator = true; - } - component = this.components[name]; - if (update_pathway && (this.pathway != null)) { - p = this.pathway.cost_components[name]; - py = this.bottom_y(name); - this.updateBar(component.pathway, p.low_adjusted, p.range_adjusted); - component.pathway.uncertainty.attr({ - path: ["M", this.x(p.low), py, "L", this.x(p.high), py] - }); - } - if (update_comparator && (this.comparator != null)) { - c = this.comparator.cost_components[name]; - cy = this.bottom_y(name) + this.bar_offset; - this.updateBar(component.comparator, c.low_adjusted, c.range_adjusted); - component.comparator.uncertainty.attr({ - path: ["M", this.x(c.low), cy, "L", this.x(c.high), cy] - }); - } - setting = $.jStorage.get(name); - _ref = ['details', 'cheap', 'default', 'expensive', 'uncertain', 'details_box', 'cheap_box', 'default_box', 'expensive_box', 'uncertain_box']; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - a = _ref[_i]; - component[a].attr({ - 'font-weight': 'normal' - }); - } - if ((setting == null) || setting === 'point') { - chosen = component["default"]; - } else if (setting === 'uncertain') { - chosen = component.uncertain; - } else if (setting === 0) { - chosen = component.cheap; - } else if (setting === 1) { - chosen = component.expensive; - } - return chosen.attr({ - 'font-weight': 'bold' - }); - }; - - CostsSensitivity.prototype.updateBar = function(bar, low, range) { - if (low < 0) { - bar.low.attr({ - x: this.x(low + range), - width: this.w(Math.abs(range)) - }); - } else { - bar.low.attr({ - width: this.w(low) - }); - } - if (range < 0) { - return bar.range.attr({ - x: this.x(low + range), - width: this.w(Math.abs(range)) - }); - } else { - return bar.range.attr({ - x: this.x(low), - width: this.w(range) - }); - } - }; - - CostsSensitivity.prototype.w = function(value) { - return this.x(value) - this.x(0); - }; - - CostsSensitivity.prototype.drawChart = function() { - var bar_height, bar_offset, box_attr, boxy, component, components, cy, e, format, h, increment, labels, ly, name, py, r, sensitivity_label_height, sensitivity_label_width, tick, url, w, x, y, _i, _j, _k, _len, _len1, _len2, _ref, - _this = this; - e = $('#costssensitivity'); - this.h = h = e.height(); - w = e.width(); - r = new Raphael('costssensitivity', w, h); - this.x = x = d3.scale.linear().domain([0, 10000]).range([250, w - 30]).nice(); - this.top_y = y = d3.scale.ordinal().domain(['p', 'i', 'c']).rangeRoundBands([30, 180], 0.15); - r.text(x(5000), 17, "The mean cost to society of the whole energy system in undiscounted real pounds per person 2010-2050").attr({ - 'text-anchor': 'center', - 'font-weight': 'bold' - }); - this.top_bar_height = bar_height = y.rangeBand(); - r.rect(25, y('p'), x(10000) - 25, bar_height).attr({ - 'fill': '#FCFF9B', - 'stroke': 'none' - }); - r.text(30, y("p") + 9, "Your pathway").attr({ - 'text-anchor': 'start', - 'font-weight': 'bold' - }); - r.text(30, y("p") + 27, "You can use the chart below to see how\nsensitive it is to different cost assumptions").attr({ - 'text-anchor': 'start' - }); - this.top_pathway_chart = { - low: r.rect(x(0), y('p'), 0, bar_height).attr({ - 'fill': p_low_fill_color, - 'stroke': 'none' - }), - range: r.rect(x(0), y('p'), 0, bar_height).attr({ - 'fill': p_range_fill_color, - 'stroke': 'none' - }) - }; - r.rect(x(0), y('c'), x(10000) - x(0), bar_height).attr({ - 'fill': '#ddd', - 'stroke': 'none' - }); - this.top_comparator_chart = { - name: r.text(30, y('c') + 9, "").attr({ - 'text-anchor': 'start', - 'font-weight': 'bold' - }), - description: r.text(30, y('c') + 27, "").attr({ - 'text-anchor': 'start' - }), - low: r.rect(x(0), y('c'), 0, bar_height).attr({ - 'fill': c_low_fill_color, - 'stroke': 'none' - }), - range: r.rect(x(0), y('c'), 0, bar_height).attr({ - 'fill': c_range_fill_color, - 'stroke': 'none' - }) - }; - r.setStart(); - this.increment_arrows = { - single: r.path(["M", 0, 0, "L", 0, 0]).attr({ - 'stroke-width': '15' - }), - single_value: r.text(0, y('i') + bar_height / 2, "").attr({ - 'text-anchor': 'start' - }), - range_message: r.text(0, y('i') + bar_height / 2, "Some costs are uncertain, therefore your pathway could be between").attr({ - 'text-anchor': 'end' - }), - low: r.path(["M", 0, 0, "L", 0, 0]).attr({ - 'stroke-width': '10' - }), - high: r.path(["M", 0, 0, "L", 0, 0]).attr({ - 'stroke-width': '10' - }), - low_value: r.text(0, y('i') + bar_height * 0.25, "").attr({ - 'text-anchor': 'start' - }), - high_value: r.text(0, y('i') + bar_height * 0.75, "").attr({ - 'text-anchor': 'start' - }) - }; - increment = r.setFinish(); - increment.hide(); - this.bottom_y = y = d3.scale.ordinal().domain(cost_component_names).rangeRoundBands([bottom_area_start, h], 0.25); - bar_height = (y.rangeBand() - 2) / 2; - this.bar_offset = bar_offset = ((y.rangeBand() - 2) / 2) + 2; - components = {}; - for (_i = 0, _len = cost_component_names.length; _i < _len; _i++) { - name = cost_component_names[_i]; - py = y(name); - r.rect(x(0), py, x(10000) - x(0), y.rangeBand()).attr({ - 'fill': '#ddd', - 'stroke': 'none' - }); - } - sensitivity_label_height = y.rangeBand(); - sensitivity_label_width = this.w(1000) - 2; - box_attr = { - fill: '#fff', - stroke: '#000', - 'fill-opacity': 0, - 'stroke-opacity': 0 - }; - for (_j = 0, _len1 = cost_component_names.length; _j < _len1; _j++) { - name = cost_component_names[_j]; - py = y(name); - cy = py + bar_offset; - ly = py + (y.rangeBand() / 2); - boxy = py; - component = {}; - url = "http://2050-calculator-tool-wiki.decc.gov.uk" + (cost_wiki_links[name] || "/"); - component.name = r.text(245, ly, name).attr({ - 'text-anchor': 'end', - href: url - }); - component.pathway = {}; - component.pathway.low = r.rect(x(0), py, 0, bar_height).attr({ - 'fill': p_low_fill_color, - 'stroke': 'none' - }); - component.pathway.range = r.rect(x(0), py, 0, bar_height).attr({ - 'fill': p_range_fill_color, - 'stroke': 'none' - }); - component.pathway.uncertainty = r.path(["M", 0, 0, "L", 0, 0]).attr({ - stroke: '#000', - 'arrow-end': "classic-narrow-long", - 'arrow-start': "classic-narrow-long" - }); - component.comparator = {}; - component.comparator.low = r.rect(x(0), cy, 0, bar_height).attr({ - 'fill': c_low_fill_color, - 'stroke': 'none' - }); - component.comparator.range = r.rect(x(0), cy, 0, bar_height).attr({ - 'fill': c_range_fill_color, - 'stroke': 'none' - }); - component.comparator.uncertainty = r.path(["M", 0, 0, "L", 0, 0]).attr({ - stroke: '#000', - 'arrow-end': "classic-narrow-long", - 'arrow-start': "classic-narrow-long" - }); - labels = cost_component_value(name); - component.details = r.text(x(5500), ly, "See assumptions").attr({ - 'text-anchor': 'middle', - href: url - }); - component.details_box = r.rect(x(5000), py, sensitivity_label_width, sensitivity_label_height).attr({ - fill: '#ccc', - opacity: 0, - cursor: 'pointer', - href: url - }); - component.cheap = r.text(x(6500), ly, labels.cheap).attr({ - 'text-anchor': 'middle' - }); - component.cheap_box = r.rect(x(6000) + 1, boxy, sensitivity_label_width, sensitivity_label_height).attr(box_attr); - component["default"] = r.text(x(7500), ly, labels["default"]).attr({ - 'text-anchor': 'middle' - }); - component.default_box = r.rect(x(7000) + 1, boxy, sensitivity_label_width, sensitivity_label_height).attr(box_attr); - component.expensive = r.text(x(8500), ly, labels.expensive).attr({ - 'text-anchor': 'middle' - }); - component.expensive_box = r.rect(x(8000) + 1, boxy, sensitivity_label_width, sensitivity_label_height).attr(box_attr); - component.uncertain = r.text(x(9500), ly, "Uncertain").attr({ - 'text-anchor': 'middle' - }); - component.uncertain_box = r.rect(x(9000) + 1, boxy, sensitivity_label_width, sensitivity_label_height).attr(box_attr); - this.clickToChangeCost(component.cheap_box, name, 0); - this.clickToChangeCost(component.default_box, name, "point"); - this.clickToChangeCost(component.expensive_box, name, 1); - this.clickToChangeCost(component.uncertain_box, name, "uncertain"); - components[name] = component; - } - this.components = components; - format = x.tickFormat(10); - _ref = x.ticks(10); - for (_k = 0, _len2 = _ref.length; _k < _len2; _k++) { - tick = _ref[_k]; - r.text(x(tick), 30, format(tick)).attr({ - 'text-anchor': 'middle' - }); - r.path(["M", x(tick), 40, "L", x(tick), h]).attr({ - stroke: '#fff' - }); - } - r.text(30, 205, "The biggest costs in your pathway").attr({ - 'text-anchor': 'start', - 'font-weight': 'bold' - }); - r.path(["M", 32, 212, "L", 32, 300]).attr({ - stroke: '#000', - 'arrow-end': "classic-wide-long" - }); - r.rect(250, 205, 30, bar_height).attr({ - 'fill': p_low_fill_color, - 'stroke': 'none' - }); - r.text(285, 208, "The cost in your pathway").attr({ - 'text-anchor': 'start', - 'font-weight': 'normal' - }); - r.rect(250, 215, 30, bar_height).attr({ - 'fill': c_low_fill_color, - 'stroke': 'none' - }); - this.key_label = r.text(285, 218, "The cost in your comparator").attr({ - 'text-anchor': 'start', - 'font-weight': 'normal' - }); - r.path(["M", 250, 228, "L", 280, 228]).attr({ - stroke: '#000', - 'arrow-end': "classic-wide-long", - 'arrow-start': 'classic-wide-short' - }); - r.text(285, 228, "The range of cost estimates").attr({ - 'text-anchor': 'start', - 'font-weight': 'normal' - }); - r.text(x(7500), 220, "Try different cost scenarios").attr({ - 'text-anchor': 'middle', - 'font-weight': 'bold' - }); - r.text(x(6500), 233, "Cheap"); - r.path(["M", x(7000), 233, "L", x(8000) - 2, 233]).attr({ - stroke: '#000', - 'arrow-end': "classic-wide-long" - }); - r.text(x(8500), 233, "Expensive"); - r.text(w - 30, 233, "(reset)").attr({ - 'text-anchor': 'end', - cursor: 'pointer' - }).click(function() { - var _l, _len3; - for (_l = 0, _len3 = cost_component_names.length; _l < _len3; _l++) { - name = cost_component_names[_l]; - jQuery.jStorage.set(name, 'point'); - } - twentyfifty.adjust_costs_of_pathway(_this.pathway); - twentyfifty.adjust_costs_of_pathway(_this.comparator); - _this.updateComponents(); - return _this.updateToBarForNewCost(); - }); - return increment.toFront(); - }; - - CostsSensitivity.prototype.clickToChangeCost = function(element, name, level) { - var _this = this; - element.click(function() { - jQuery.jStorage.set(name, level); - twentyfifty.adjust_costs_of_pathway(_this.pathway); - twentyfifty.adjust_costs_of_pathway(_this.comparator); - _this.updateComponentNamed(name); - return _this.updateToBarForNewCost(); - }); - element.hover((function() { - return this.attr({ - 'stroke-opacity': 1.0 - }); - }), (function() { - return this.attr({ - 'stroke-opacity': 0.0 - }); - })); - return element.attr({ - cursor: 'pointer' - }); - }; - - return CostsSensitivity; - - })(); - - window.twentyfifty.views['costs_sensitivity'] = new CostsSensitivity; - -}).call(this); -(function() { - var Story, - __slice = [].slice, - __hasProp = {}.hasOwnProperty; - - Story = (function() { - function Story() { - this.ready = false; - } - - Story.prototype.setup = function() { - $("#results").append("
"); - return this.ready = true; - }; - - Story.prototype.teardown = function() { - $("#results").empty(); - return this.ready = false; - }; - - Story.prototype.updateResults = function(pathway) { - var element; - this.pathway = pathway; - if (!this.ready) { - this.setup(); - } - this.choices = twentyfifty.choices; - element = $('#demand_story'); - element.empty(); - this.stories_for_choices(element, "Homes in 2050", 32, 33, 37, 38); - this.heating_choice_table(element, this.pathway.heating.residential); - this.stories_for_choices(element, "Personal transport in 2050", 25, 26, 27, 29); - this.stories_for_choices(element, "Businesses in 2050", 43, 47, 48); - this.heating_choice_table(element, this.pathway.heating.commercial); - this.stories_for_choices(element, "Industry in 2050", 40, 41); - this.stories_for_choices(element, "Commercial transport in 2050", 28, 29, 30); - element = $('#supply_story'); - element.empty(); - this.stories_for_choices(element, "Thermal power stations in 2050", 0, 2, 3, 9, 12); - this.stories_for_choices(element, "Wind in 2050", 4, 5, 14); - this.stories_for_choices(element, "Water: wave, tide and hydro in 2050", 6, 7, 8, 13); - this.stories_for_choices(element, "Solar in 2050", 10, 11, 15); - this.stories_for_choices(element, "Bioenergy, farming and waste in 2050", 22, 17, 18, 19, 20, 21); - element = $('#ghg_story'); - element.empty(); - this.electricity_generation_capacity_table(element); - element.append("

Greenhouse gases

"); - element.append("

2050 emissions will be " + this.pathway.ghg.percent_reduction_from_1990 + "% below 1990 levels.

"); - element.append("

International aviation and shipping emissions are not included in the UK's 2050 target but are included here to enable emissions from all sectors to be considered.

"); - this.stories_for_choices(element, null, 50); - element.append("

Energy security

"); - this.stories_for_choices(element, null, 51); - element.append("

If there are five cold, almost windless, winter days, then up to " + (Math.round(this.pathway.electricity.peaking)) + " GW of backup generation capacity will be required to ensure that electricity is always available.

"); - return this.stories_for_choices(element, null, 22, 15); - }; - - Story.prototype.stories_for_choices = function() { - var choice, element, row, rows, text, title, _i, _len; - element = arguments[0], title = arguments[1], rows = 3 <= arguments.length ? __slice.call(arguments, 2) : []; - if (title != null) { - element.append("

" + title + "

"); - } - text = []; - for (_i = 0, _len = rows.length; _i < _len; _i++) { - row = rows[_i]; - choice = choices[row] - 1; - if (choice % 1 === 0.0) { - text.push(window.twentyfifty.longDescriptions[row][choice]); - } else { - text.push("Between " + window.twentyfifty.longDescriptions[row][Math.floor(choice)] + " and " + window.twentyfifty.longDescriptions[row][Math.ceil(choice)]); - } - } - return element.append("

" + (text.join(". ")) + ".

"); - }; - - Story.prototype.heating_choice_table = function(element, heat) { - var html, name, value, values, _i, _len; - html = []; - html.push(""); - html.push(""); - values = []; - for (name in heat) { - if (!__hasProp.call(heat, name)) continue; - value = heat[name]; - values.push({ - name: name, - value: value - }); - } - values.sort(function(a, b) { - return a.value - b.value; - }); - for (_i = 0, _len = values.length; _i < _len; _i++) { - value = values[_i]; - if (value.value > 0.01) { - html.push(""); - } - } - html.push("
Type of heater2050 proportion of heating
" + value.name + "" + (Math.round(value.value * 100)) + "%
"); - return element.append(html.join('')); - }; - - Story.prototype.electricity_generation_capacity_table = function(element) { - var data, html, name, value, values, _i, _len, _ref; - html = []; - html.push(""); - html.push(""); - values = []; - _ref = this.pathway.electricity.capacity; - for (name in _ref) { - if (!__hasProp.call(_ref, name)) continue; - data = _ref[name]; - values.push({ - name: name, - d2010: data[0], - d2050: data[8] - }); - } - values.sort(function(a, b) { - return a.d2050 - b.d2050; - }); - for (_i = 0, _len = values.length; _i < _len; _i++) { - value = values[_i]; - if ((value.d2010 + value.d2050) !== 0.0) { - html.push(""); - } - } - html.push("
GW Capacity20102050
" + value.name + "" + (Math.round(value.d2010)) + "" + (Math.round(value.d2050)) + "
"); - return element.append(html.join('')); - }; - - return Story; - - })(); - - window.twentyfifty.views['story'] = new Story; - -}).call(this); -(function() { - var FilledBoxChart, SimpleSankeyDisplay, VectorChart, - __hasProp = {}.hasOwnProperty, - __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; - - FilledBoxChart = function(r, px, py, h, w, maximum_value, square_size, titles) { - var box, boxes, cols, gx, gy, i, inverse_x, label, labels, path, row_size, rows, setValues, title, x, y, _i, _j, _k, _len, _x, _x_end, _x_origin, _y; - rows = cols = Math.ceil(Math.sqrt(maximum_value / square_size)); - row_size = cols * square_size; - x = d3.scale.linear().domain([0, row_size]).range([px, px + w]); - inverse_x = d3.scale.linear().domain([0, row_size]).range([px + w, px]); - y = d3.scale.linear().domain([0, maximum_value]).range([h + py, py]); - _x = function(value) { - if (Math.floor(value / row_size) % 2 === 0) { - return x(value % row_size); - } else { - return inverse_x(value % row_size); - } - }; - _y = function(value) { - return y(Math.floor(value / row_size) * row_size); - }; - _x_origin = function(value) { - if (Math.floor(value / row_size) % 2 === 0) { - return x(0); - } else { - return inverse_x(0); - } - }; - _x_end = function(value) { - if (Math.floor(value / row_size) % 2 === 0) { - return x(row_size); - } else { - return inverse_x(row_size); - } - }; - path = function(start, end) { - var p; - if (_y(end) === _y(start)) { - return p = ["M", _x(start), _y(start), "L", _x(end), _y(end), "L", _x(end), _y(end + row_size), "L", _x(start), _y(end + row_size), "Z"]; - } else if (_y(end) === _y(start + row_size)) { - return p = ["M", _x(start), _y(start), "L", _x_end(start), _y(start), "L", _x_end(start), _y(end + row_size), "L", _x(end), _y(end + row_size), "L", _x(end), _y(end), "L", _x(start), _y(end), "Z"]; - } else if ((Math.floor(start / row_size) % 2) !== (Math.floor(end / row_size) % 2)) { - return p = ["M", _x(start), _y(start), "L", _x_end(start), _y(start), "L", _x_end(start), _y(end + row_size), "L", _x(end), _y(end + row_size), "L", _x(end), _y(end), "L", _x_end(end), _y(end), "L", _x_end(end), _y(start + row_size), "L", _x(start), _y(start + row_size), "L", _x(start), _y(start), "Z"]; - } else { - return p = ["M", _x(start), _y(start), "L", _x_end(start), _y(start), "L", _x_end(start), _y(end), "L", _x(end), _y(end), "L", _x(end), _y(end + row_size), "L", _x_origin(end), _y(end + row_size), "L", _x_origin(end), _y(start + row_size), "L", _x(start), _y(start + row_size), "L", _x(start), _y(start), "Z"]; - } - }; - for (gy = _i = 0; row_size > 0 ? _i <= maximum_value : _i >= maximum_value; gy = _i += row_size) { - r.path(["M", x(0), y(gy), "L", x(row_size), y(gy)]).attr({ - stroke: '#ccc' - }); - for (gx = _j = 0; square_size > 0 ? _j <= row_size : _j >= row_size; gx = _j += square_size) { - r.path(["M", x(gx), y(0), "L", x(gx), y(maximum_value)]).attr({ - stroke: '#ccc' - }); - } - } - boxes = {}; - labels = {}; - label = function(name, start, value) { - var l; - l = r.text(_x(start + value / 2), _y(start + value / 2), name); - l.hide(); - return l; - }; - box = function(name, start, value, color) { - var b; - if (color == null) { - color = "#0f0"; - } - b = r.path(path(start, start + value)).attr({ - 'stroke': '#000', - fill: color, - 'fill-opacity': 0.5, - 'stroke-width': '1' - }); - return b.hover(function() { - labels[name].show(); - return this.attr({ - 'fill-opacity': 0.75 - }); - }, function() { - labels[name].hide(); - return this.attr({ - 'fill-opacity': 0.5 - }); - }); - }; - for (i = _k = 0, _len = titles.length; _k < _len; i = ++_k) { - title = titles[i]; - boxes[title] = box(title, 0, 0, "#" + i + i + i); - labels[title] = label(title, 0, 0); - } - setValues = function(values) { - var name, sum, value, _results; - sum = 0; - _results = []; - for (name in values) { - if (!__hasProp.call(values, name)) continue; - value = values[name]; - boxes[name].attr({ - path: path(sum, sum + value) - }); - labels[name].attr({ - x: (_x(sum) + _x(sum + value)) / 2, - y: (_y(sum) + _y(sum + value)) / 2 - }); - _results.push(sum += value); - } - return _results; - }; - return { - box: box, - setValues: setValues - }; - }; - - VectorChart = function(r, px, py, h, w, maximum_value, square_size, titles) { - var box, boxes, cols, gx, gy, i, label, labels, row_size, rows, setValues, spacing, title, x, y, _i, _j, _k, _len; - rows = cols = Math.ceil(Math.sqrt(maximum_value / square_size)); - row_size = cols * square_size; - spacing = row_size * 0.1; - x = d3.scale.linear().domain([0, row_size]).range([px, px + w]); - y = d3.scale.linear().domain([0, maximum_value]).range([h + py, py]); - for (gy = _i = 0; row_size > 0 ? _i <= maximum_value : _i >= maximum_value; gy = _i += row_size) { - r.path(["M", x(0), y(gy), "L", x(row_size), y(gy)]).attr({ - stroke: '#ccc' - }); - for (gx = _j = 0; square_size > 0 ? _j <= row_size : _j >= row_size; gx = _j += square_size) { - r.path(["M", x(gx), y(0), "L", x(gx), y(maximum_value)]).attr({ - stroke: '#ccc' - }); - } - } - boxes = {}; - labels = {}; - label = function(name, start, value) { - var l; - l = r.text(x(row_size / 2), y(start + value / 2), name); - l.hide(); - return l; - }; - box = function(name, start, value, color) { - var b; - if (color == null) { - color = "#0f0"; - } - if (name === "Oil") { - b = r.path(["M", x(0), y(start + value / 2), "L", x(row_size), y(start + value / 2)]).attr({ - "stroke": '#F00', - 'stroke-width': y(start) - y(start + value) - }); - } else { - b = r.rect(x(0), y(start), x(row_size) - x(0), y(start + value) - y(start)).attr({ - 'stroke': '#000', - fill: color, - 'fill-opacity': 0.5, - 'stroke-width': '1' - }); - } - return b.hover(function() { - labels[name].show(); - return this.attr({ - 'fill-opacity': 0.75 - }); - }, function() { - labels[name].hide(); - return this.attr({ - 'fill-opacity': 0.5 - }); - }); - }; - for (i = _k = 0, _len = titles.length; _k < _len; i = ++_k) { - title = titles[i]; - boxes[title] = box(title, 0, 0, "#" + i + i + i); - labels[title] = label(title, 0, 0); - } - setValues = function(values) { - var name, sum, value, _results; - sum = 0; - _results = []; - for (name in values) { - if (!__hasProp.call(values, name)) continue; - value = values[name]; - boxes[name].attr({ - y: y(sum + value), - height: y(sum) - y(sum + value) - }); - labels[name].attr({ - x: x(sum + (value / 2)), - y: y(sum + value / 2) - }); - if (value > 0) { - _results.push(sum += value + spacing); - } else { - _results.push(void 0); - } - } - return _results; - }; - return { - box: box, - setValues: setValues - }; - }; - - SimpleSankeyDisplay = (function() { - var demand_titles, supply_titles, vector_titles; - - supply_titles = ["Nuclear fission", "Solar", "Wind", "Tidal", "Wave", "Geothermal", "Hydro", "Electricity oversupply (imports)", "Environmental heat", "Bioenergy", "Coal", "Oil", "Natural gas"]; - - demand_titles = ['Industry', 'Transport', 'Heating and cooling', 'Lighting & appliances']; - - vector_titles = ["Electricity", "Gas or biogas", "Coal or biomass", "Oil or biofuel", "Hydrogen", "Heat", "Overgeneration or exports", "Losses"]; - - function SimpleSankeyDisplay() { - this.documentReady = __bind(this.documentReady, this); - } - - SimpleSankeyDisplay.prototype.documentReady = function() { - var width; - if (this.drawn != null) { - return false; - } - this.drawn = true; - this.raphael = new Raphael('simplesankey'); - width = $('#simplesankey').width(); - this.supply = new FilledBoxChart(this.raphael, 30, 10, 300, 300, 3500, 10, supply_titles); - this.demand = new FilledBoxChart(this.raphael, 635, 10, 300, 300, 3500, 10, demand_titles); - this.vectors = new VectorChart(this.raphael, 335, 10, 300, 300, 3500, 10, supply_titles); - this.raphael.path(["M", 332, 10, "L", 332, 310]).attr({ - 'stroke-width': '5' - }); - return this.raphael.path(["M", 635, 10, "L", 635, 310]).attr({ - 'stroke-width': '5' - }); - }; - - SimpleSankeyDisplay.prototype.updateResults = function(pathway) { - var new_values, title, _i, _j, _len, _len1; - new_values = {}; - for (_i = 0, _len = supply_titles.length; _i < _len; _i++) { - title = supply_titles[_i]; - new_values[title] = pathway.primary_energy_supply[title][8]; - } - this.supply.setValues(new_values); - this.vectors.setValues(new_values); - new_values = {}; - for (_j = 0, _len1 = demand_titles.length; _j < _len1; _j++) { - title = demand_titles[_j]; - new_values[title] = pathway.final_energy_demand[title][8]; - } - return this.demand.setValues(new_values); - }; - - return SimpleSankeyDisplay; - - })(); - - window.twentyfifty.SimpleSankeyDisplay = SimpleSankeyDisplay; - -}).call(this); -(function() { - var Share, loadFromExcel, shareHTML; - - shareHTML = "
\n
\n

Sharing this pathway with others

\n

\n If you want to save or share your pathway, bookmark this page, or take note of its url*:\n \n

\n

\n To share, just send someone the url, or click this share button:\n \n \"Bookmark\n \n \n \n

\n

* On modern browsers, this url is the same as the one you will see in the address bar as you use the calculator. On older browsers, such as Internet Explorer 6 and 7, it will not be.

\n
\n
\n

Sharing this pathway with the excel version of the 2050 pathways calculator

\n

\n You may want to explore your pathway in more detail, taking a look at all the assumptions behind our modelling, by downloading\n the underlying excel spreadsheet.\n

\n

\n If you do, then you can recreate the pathway you have chosen in this tool by copying the numbers from the box below and pasting them in cells E5 to E57 on the 'Control' sheet of the workbook. You can also copy a pathway from that range in the excel model, paste it in the box below and click the 'Go to this pathway' button at the bottom of the page.\n

\n \n \n
\n

\n
\n
"; - - Share = (function() { - function Share() { - this.ready = false; - } - - Share.prototype.setup = function() { - if (this.ready) { - return false; - } - this.ready = true; - return $('#results').append(shareHTML); - }; - - Share.prototype.teardown = function() { - $('#results').empty(); - return this.ready = false; - }; - - Share.prototype.updateResults = function(pathway) { - var url; - this.pathway = pathway; - if (!this.ready) { - this.setup(); - } - url = "http://" + window.location.host + (twentyfifty.url({ - action: 'primary_energy_chart' - })); - $('#share a#pathwayurl').text(url); - $('#share a#pathwayurl').attr({ - href: url - }); - return $('#excel textarea').val(twentyfifty.getChoices().join("\n")); - }; - - return Share; - - })(); - - loadFromExcel = function() { - var c, pasted_choices; - pasted_choices = $('#excel textarea').val().split(/\r\n|\r|\n/); - pasted_choices = (function() { - var _i, _len, _results; - _results = []; - for (_i = 0, _len = pasted_choices.length; _i < _len; _i++) { - c = pasted_choices[_i]; - if (c === "") { - _results.push("0"); - } else { - _results.push(c); - } - } - return _results; - })(); - twentyfifty.setChoices(pasted_choices); - twentyfifty.switchView('primary_energy_chart'); - return false; - }; - - window.twentyfifty.loadFromExcel = loadFromExcel; - - window.twentyfifty.views['share'] = new Share; - -}).call(this); -// This is a manifest file that'll be compiled into including all the files listed below. -// Add new JavaScript/Coffee code in separate files in this directory and they'll automatically -// be included in the compiled file accessible from http://example.com/assets/application.js -// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the -// the compiled file. -// - -// First the support libs - - -// we aren't using this: require jquery_ujs - - - - - - - -// Now the common methods - - - - - -// Now the individual views - - - - - - - - - - - - - - -; diff --git a/public/assets/application-18ca72d94d8afac8fddb4cd5755190df.js.gz b/public/assets/application-18ca72d94d8afac8fddb4cd5755190df.js.gz deleted file mode 100644 index 7c7e60843c36f1015ee442163205d4ec22406236..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160334 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 VIP%bz`QPEz{{Y3H$}&@i2mrM5-=F{h diff --git a/public/assets/application-451a3706ab7783856b8b9d17c037093f.js b/public/assets/application-2ec9c428c8b26d406e58cc655298544b.js similarity index 99% rename from public/assets/application-451a3706ab7783856b8b9d17c037093f.js rename to public/assets/application-2ec9c428c8b26d406e58cc655298544b.js index 3b3e08be..48bb1b7e 100644 --- a/public/assets/application-451a3706ab7783856b8b9d17c037093f.js +++ b/public/assets/application-2ec9c428c8b26d406e58cc655298544b.js @@ -2441,7 +2441,7 @@ window.twentyfifty.choice_sizes = {"0":4,"2":4,"3":4,"4":4,"5":4,"6":4,"7":4,"8" var PrimaryEnergy; PrimaryEnergy = (function() { - var sum_time_series; + var accumulation; function PrimaryEnergy() {} @@ -2474,7 +2474,7 @@ window.twentyfifty.choice_sizes = {"0":4,"2":4,"3":4,"4":4,"5":4,"6":4,"7":4,"8" }; PrimaryEnergy.prototype.updateResults = function(pathway) { - var acc, acc_percent, acc_success, acc_text, percent, series, t, target_acc; + var acc, acc_percent, acc_success, ghg_result_text_height, ghg_result_text_top, ghg_result_text_x, percent, series, t, t2, target_acc, texts; this.pathway = pathway; if (!((this.emissions_chart != null) && (this.final_energy_chart != null) && (this.primary_energy_chart != null))) { this.setup(); @@ -2486,8 +2486,10 @@ window.twentyfifty.choice_sizes = {"0":4,"2":4,"3":4,"4":4,"5":4,"6":4,"7":4,"8" percent = this.pathway.ghg.percent_reduction_from_1990; d3.select('#emissions_chart').datum(series).call(this.emissions_chart); t = d3.select('#emissions_chart g.drawing').selectAll('text.target').data([percent]); - t.enter().append('text').attr('class', 'target'); - t.attr('transform', 'translate(' + this.emissions_chart.x_center() + ',-18)'); + t.enter().append('text').attr('class', 'target result'); + ghg_result_text_top = -18; + ghg_result_text_x = this.emissions_chart.x_center(); + t.attr('transform', 'translate(' + ghg_result_text_x + ',' + ghg_result_text_top + ')'); t.transition().tween('text', function(d) { var current, i; current = parseInt(this.textContent) || +d; @@ -2496,11 +2498,32 @@ window.twentyfifty.choice_sizes = {"0":4,"2":4,"3":4,"4":4,"5":4,"6":4,"7":4,"8" return this.textContent = "" + (i(t)) + "% reduction 1990-2050; Target is 80%"; }; }); + acc = accumulation(this.pathway.ghg['Total'], 5); target_acc = 9486; - acc = sum_time_series(this.pathway.ghg); acc_percent = (acc / target_acc) * 100; - acc_success = (acc_percent <= 100 ? '

Meets CCC intended carbon budget

' : '

Exceeds CCC intended carbon budget!

'); - acc_text = '

Cumulative emissions: ' + acc.toString() + ' MtCO2e

' + '

Percentage of CCC pathway\'s cumulative emissions: ' + acc_percent.toFixed().toString() + '%

' + acc_success; + acc_success = acc_percent <= 100; + texts = [ + { + "class": 'cumulative-emissions', + text: 'Cumulative emissions: ' + acc.toString() + ' MtCO2e' + }, { + "class": 'percent-cumulative-emissions-target', + text: 'Percentage of CCC pathway\'s cumulative emissions: ' + acc_percent.toFixed().toString() + '%' + }, { + "class": 'cumulative-emissions-result-message', + text: acc_success ? 'Meets CCC intended carbon budget' : 'Exceeds CCC intended carbon budget!' + } + ]; + t2 = d3.select('#emissions_chart g.drawing').selectAll('text.target_acc').data(texts); + t2.enter().append('text').attr('class', function(d) { + return d["class"] + ' result'; + }).text(function(d) { + return d.text; + }); + ghg_result_text_height = 12; + t2.attr('transform', function(d, i) { + return 'translate(' + ghg_result_text_x + ',' + (ghg_reslut_text_top + (i + 1) * ghg_result_text_height) + ')'; + }); return jQuery('#cumulative_emissions').html(acc_text); }; @@ -2514,18 +2537,17 @@ window.twentyfifty.choice_sizes = {"0":4,"2":4,"3":4,"4":4,"5":4,"6":4,"7":4,"8" return this.updateResults(this.pathway); }; - sum_time_series = function(matrix) { - var avg, end, i, num_periods, period_total, row, start, sum; - row = matrix["Total"]; - num_periods = row.length - 1; + accumulation = function(series, step_period) { + var avg, end, i, num_steps, start, step_total, sum; + num_steps = series.length - 1; sum = 0; i = 0; - while (i < num_periods) { - start = row[i]; - end = row[i + 1]; + while (i < num_steps) { + start = series[i]; + end = series[i + 1]; avg = (start + end) / 2; - period_total = avg * 5; - sum += period_total; + step_total = avg * step_period; + sum += step_total; i++; } return sum.toFixed(); diff --git a/public/assets/application-eacb613df6ba1d9c9bcea2cdf790b412.js.gz b/public/assets/application-2ec9c428c8b26d406e58cc655298544b.js.gz similarity index 78% rename from public/assets/application-eacb613df6ba1d9c9bcea2cdf790b412.js.gz rename to public/assets/application-2ec9c428c8b26d406e58cc655298544b.js.gz index 0f692dfbf51b22532072588755c5e135d1003cba..0a078af2f1234d10abf521a438e6871a50616853 100644 GIT binary patch delta 35404 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 Mzfc`WDZG*h0A`Eh=Kufz delta 34860 zcmV)DK*7JR>ItIe2?rmG2mtkLi-8BV2LT1_f9rPJMz${cKTma)g(>U@zs_BwDs+D ze+mjss@LkHS`?(dcNr$2!K64~M2J4&Bbw!F*?mjV+qRuqDq3q-V<&qxG8S z6md&X5T>YkJzIdJ2fZ?x|1$saZ(bJ0f79JGjH6&arfI(AYSU`fuQh~9dG|%;RT5?x znibJ5q07cGhzXD+7zG^~+IbPfpyys3z6bf+-?_s=@)i+TqvcF+D@M;2g7gkc%v*+a z6$Me5T>Kr@o)_~VPA+j?<%#$9#rJ=E@wGSX4i4|IhJ1;8<k@7M zf;7LngM2;>W{V)YoFf-}mnJz#VDEcU!(PuXV`i~C2-$1zB?wxWa;rPY%5O+A0!d$_ z(c}&??nQnb&9l}6XvP#H9E5d}f684jIdyM2Ik%mG+s>+OC(E|;VO!?kmdm&0;B7f} zTMqTNT;9%W%`zHqVpwc4&umqVvz9oSU%t}zgUI%0t#1+v4ODM&q1N_!b~#ai1|K72%)2 z9ikLg#s&ww@CLJ4b?{MI-NQyD=Lw9PDqm?H z|2*ic0=dM4-tN z|MY1u!+veOn4)FX)rUSsV8-f=okYgO!KNdcc+(|lcpd7UB$YclRQT$O&2NyjD4nS7 z;HDM$Fuoy|!HKbj9o^!=iQ(5eVv2&crbTPd9f_&y@VZiQAphC-e?j$yR)`%UN*51O zU(o$6n)8DLpSL|Y!+<~j9;OKz+b1D#=q$=Ipald)7U5+HG-A(_+@t8Sa}XdTFM57& zO(h3C-<-&X;OHN1T)?oe7qGuM1^b31fg-r0<`39UPngJgV;T=6iCvH7@}>nCy*%h` zn!RuK(Kk3PL_(JLf4%D&&XAknedtYtbcTxGKM&onpE_PUO6?Poc{BlrhN%z+Gesos z?);;gufT|hm7n#xWMxAyo8k209K0jX##iBtE30__#Q7e}{}vCF!rKUzSLi=!%Mwx+ z?F;!8uC+l7q)k>7u{z~bq?FALUZ>YR{NiU62~S{2gx*qxf0)w#VnuDxhwE^l#=1Y) zG&3kBD)+bW4iao!#FL)EEHD)==Miid@q~=bQQmhydEMO~%Zf5_J<{9oK;;}ZE=Taw z1cYg_qR_o$&r`NUePuNCv3G1pzz2bkT`a2A!Hm99jO)dWTTF(D7(~!udS<59DW0j#EvyzB~< zK$8B@^c=Z_O>A`Dm!u#GX$L+DGw5O=@u0&ot~#oF{r#r34enT5%~o0*S-`L^Sb>=) z$prI>V-mH;q%G`(tgZ(n)_?q)ho((h>iDQxD~fcrX335kBtuHS1~nwhlkv63zP-hK zf58a?wLxL!G#Nr*1(~9~oC4JQwWa83U@%w}1g!|!{kJ8kKR9Zn`DS^j&Eo^;1L!!E zh9|H*JSs?rxsrzC)i_4(r=2^tet+Lef*+7Mw1Xw8qw5X!A89p0Ls61LUD%6w%|xhq z>nIH38Jg6Q!-UvA(FjADN_7)eX73LVe;-lWCr=+i?rZ@(2YrY~e*JzuncaqT4u_9U zic(WOOxg0m4{A-yLmXiVi`G~fQU?2yX2L%0A_{-Ak0o=3;la-A#Di;kE$B? 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

$wYP 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 SUKCnAb&5fsaDa?25dJ^g5$f*% diff --git a/public/assets/application-6822710c96eb4cb06a5155b4179c91fe.js b/public/assets/application-6822710c96eb4cb06a5155b4179c91fe.js deleted file mode 100644 index c0cf75b1..00000000 --- a/public/assets/application-6822710c96eb4cb06a5155b4179c91fe.js +++ /dev/null @@ -1,5747 +0,0 @@ -/*! jQuery v1.8.3 jquery.com | jquery.org/license */ - -(function(e,t){function _(e){var t=M[e]={};return v.each(e.split(y),function(e,n){t[n]=!0}),t}function H(e,n,r){if(r===t&&e.nodeType===1){var i="data-"+n.replace(P,"-$1").toLowerCase();r=e.getAttribute(i);if(typeof r=="string"){try{r=r==="true"?!0:r==="false"?!1:r==="null"?null:+r+""===r?+r:D.test(r)?v.parseJSON(r):r}catch(s){}v.data(e,n,r)}else r=t}return r}function B(e){var t;for(t in e){if(t==="data"&&v.isEmptyObject(e[t]))continue;if(t!=="toJSON")return!1}return!0}function et(){return!1}function tt(){return!0}function ut(e){return!e||!e.parentNode||e.parentNode.nodeType===11}function at(e,t){do e=e[t];while(e&&e.nodeType!==1);return e}function ft(e,t,n){t=t||0;if(v.isFunction(t))return v.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return v.grep(e,function(e,r){return e===t===n});if(typeof t=="string"){var r=v.grep(e,function(e){return e.nodeType===1});if(it.test(t))return v.filter(t,r,!n);t=v.filter(t,r)}return v.grep(e,function(e,r){return v.inArray(e,t)>=0===n})}function lt(e){var t=ct.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function At(e,t){if(t.nodeType!==1||!v.hasData(e))return;var n,r,i,s=v._data(e),o=v._data(t,s),u=s.events;if(u){delete o.handle,o.events={};for(n in u)for(r=0,i=u[n].length;r").appendTo(i.body),n=t.css("display");t.remove();if(n==="none"||n===""){Pt=i.body.appendChild(Pt||v.extend(i.createElement("iframe"),{frameBorder:0,width:0,height:0}));if(!Ht||!Pt.createElement)Ht=(Pt.contentWindow||Pt.contentDocument).document,Ht.write(""),Ht.close();t=Ht.body.appendChild(Ht.createElement(e)),n=Dt(t,"display"),i.body.removeChild(Pt)}return Wt[e]=n,n}function fn(e,t,n,r){var i;if(v.isArray(t))v.each(t,function(t,i){n||sn.test(e)?r(e,i):fn(e+"["+(typeof i=="object"?t:"")+"]",i,n,r)});else if(!n&&v.type(t)==="object")for(i in t)fn(e+"["+i+"]",t[i],n,r);else r(e,t)}function Cn(e){return function(t,n){typeof t!="string"&&(n=t,t="*");var r,i,s,o=t.toLowerCase().split(y),u=0,a=o.length;if(v.isFunction(n))for(;u)[^>]*$|#([\w\-]*)$)/,E=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,S=/^[\],:{}\s]*$/,x=/(?:^|:|,)(?:\s*\[)+/g,T=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,N=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,C=/^-ms-/,k=/-([\da-z])/gi,L=function(e,t){return(t+"").toUpperCase()},A=function(){i.addEventListener?(i.removeEventListener("DOMContentLoaded",A,!1),v.ready()):i.readyState==="complete"&&(i.detachEvent("onreadystatechange",A),v.ready())},O={};v.fn=v.prototype={constructor:v,init:function(e,n,r){var s,o,u,a;if(!e)return this;if(e.nodeType)return this.context=this[0]=e,this.length=1,this;if(typeof e=="string"){e.charAt(0)==="<"&&e.charAt(e.length-1)===">"&&e.length>=3?s=[null,e,null]:s=w.exec(e);if(s&&(s[1]||!n)){if(s[1])return n=n instanceof v?n[0]:n,a=n&&n.nodeType?n.ownerDocument||n:i,e=v.parseHTML(s[1],a,!0),E.test(s[1])&&v.isPlainObject(n)&&this.attr.call(e,n,!0),v.merge(this,e);o=i.getElementById(s[2]);if(o&&o.parentNode){if(o.id!==s[2])return r.find(e);this.length=1,this[0]=o}return this.context=i,this.selector=e,this}return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e)}return v.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),v.makeArray(e,this))},selector:"",jquery:"1.8.3",length:0,size:function(){return this.length},toArray:function(){return l.call(this)},get:function(e){return e==null?this.toArray():e<0?this[this.length+e]:this[e]},pushStack:function(e,t,n){var r=v.merge(this.constructor(),e);return r.prevObject=this,r.context=this.context,t==="find"?r.selector=this.selector+(this.selector?" ":"")+n:t&&(r.selector=this.selector+"."+t+"("+n+")"),r},each:function(e,t){return v.each(this,e,t)},ready:function(e){return v.ready.promise().done(e),this},eq:function(e){return e=+e,e===-1?this.slice(e):this.slice(e,e+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(l.apply(this,arguments),"slice",l.call(arguments).join(","))},map:function(e){return this.pushStack(v.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:[].sort,splice:[].splice},v.fn.init.prototype=v.fn,v.extend=v.fn.extend=function(){var e,n,r,i,s,o,u=arguments[0]||{},a=1,f=arguments.length,l=!1;typeof u=="boolean"&&(l=u,u=arguments[1]||{},a=2),typeof u!="object"&&!v.isFunction(u)&&(u={}),f===a&&(u=this,--a);for(;a0)return;r.resolveWith(i,[v]),v.fn.trigger&&v(i).trigger("ready").off("ready")},isFunction:function(e){return v.type(e)==="function"},isArray:Array.isArray||function(e){return v.type(e)==="array"},isWindow:function(e){return e!=null&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return e==null?String(e):O[h.call(e)]||"object"},isPlainObject:function(e){if(!e||v.type(e)!=="object"||e.nodeType||v.isWindow(e))return!1;try{if(e.constructor&&!p.call(e,"constructor")&&!p.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||p.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw new Error(e)},parseHTML:function(e,t,n){var r;return!e||typeof e!="string"?null:(typeof t=="boolean"&&(n=t,t=0),t=t||i,(r=E.exec(e))?[t.createElement(r[1])]:(r=v.buildFragment([e],t,n?null:[]),v.merge([],(r.cacheable?v.clone(r.fragment):r.fragment).childNodes)))},parseJSON:function(t){if(!t||typeof t!="string")return null;t=v.trim(t);if(e.JSON&&e.JSON.parse)return e.JSON.parse(t);if(S.test(t.replace(T,"@").replace(N,"]").replace(x,"")))return(new Function("return "+t))();v.error("Invalid JSON: "+t)},parseXML:function(n){var r,i;if(!n||typeof n!="string")return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(s){r=t}return(!r||!r.documentElement||r.getElementsByTagName("parsererror").length)&&v.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&g.test(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(C,"ms-").replace(k,L)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,n,r){var i,s=0,o=e.length,u=o===t||v.isFunction(e);if(r){if(u){for(i in e)if(n.apply(e[i],r)===!1)break}else for(;s0&&e[0]&&e[a-1]||a===0||v.isArray(e));if(f)for(;u-1)a.splice(n,1),i&&(n<=o&&o--,n<=u&&u--)}),this},has:function(e){return v.inArray(e,a)>-1},empty:function(){return a=[],this},disable:function(){return a=f=n=t,this},disabled:function(){return!a},lock:function(){return f=t,n||c.disable(),this},locked:function(){return!f},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],a&&(!r||f)&&(i?f.push(t):l(t)),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},v.extend({Deferred:function(e){var t=[["resolve","done",v.Callbacks("once memory"),"resolved"],["reject","fail",v.Callbacks("once memory"),"rejected"],["notify","progress",v.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return v.Deferred(function(n){v.each(t,function(t,r){var s=r[0],o=e[t];i[r[1]](v.isFunction(o)?function(){var e=o.apply(this,arguments);e&&v.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[s+"With"](this===i?n:this,[e])}:n[s])}),e=null}).promise()},promise:function(e){return e!=null?v.extend(e,r):r}},i={};return r.pipe=r.then,v.each(t,function(e,s){var o=s[2],u=s[3];r[s[1]]=o.add,u&&o.add(function(){n=u},t[e^1][2].disable,t[2][2].lock),i[s[0]]=o.fire,i[s[0]+"With"]=o.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=l.call(arguments),r=n.length,i=r!==1||e&&v.isFunction(e.promise)?r:0,s=i===1?e:v.Deferred(),o=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?l.call(arguments):r,n===u?s.notifyWith(t,n):--i||s.resolveWith(t,n)}},u,a,f;if(r>1){u=new Array(r),a=new Array(r),f=new Array(r);for(;t
a",n=p.getElementsByTagName("*"),r=p.getElementsByTagName("a")[0];if(!n||!r||!n.length)return{};s=i.createElement("select"),o=s.appendChild(i.createElement("option")),u=p.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={leadingWhitespace:p.firstChild.nodeType===3,tbody:!p.getElementsByTagName("tbody").length,htmlSerialize:!!p.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:r.getAttribute("href")==="/a",opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:u.value==="on",optSelected:o.selected,getSetAttribute:p.className!=="t",enctype:!!i.createElement("form").enctype,html5Clone:i.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",boxModel:i.compatMode==="CSS1Compat",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},u.checked=!0,t.noCloneChecked=u.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!o.disabled;try{delete p.test}catch(d){t.deleteExpando=!1}!p.addEventListener&&p.attachEvent&&p.fireEvent&&(p.attachEvent("onclick",h=function(){t.noCloneEvent=!1}),p.cloneNode(!0).fireEvent("onclick"),p.detachEvent("onclick",h)),u=i.createElement("input"),u.value="t",u.setAttribute("type","radio"),t.radioValue=u.value==="t",u.setAttribute("checked","checked"),u.setAttribute("name","t"),p.appendChild(u),a=i.createDocumentFragment(),a.appendChild(p.lastChild),t.checkClone=a.cloneNode(!0).cloneNode(!0).lastChild.checked,t.appendChecked=u.checked,a.removeChild(u),a.appendChild(p);if(p.attachEvent)for(l in{submit:!0,change:!0,focusin:!0})f="on"+l,c=f in p,c||(p.setAttribute(f,"return;"),c=typeof p[f]=="function"),t[l+"Bubbles"]=c;return v(function(){var n,r,s,o,u="padding:0;margin:0;border:0;display:block;overflow:hidden;",a=i.getElementsByTagName("body")[0];if(!a)return;n=i.createElement("div"),n.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",a.insertBefore(n,a.firstChild),r=i.createElement("div"),n.appendChild(r),r.innerHTML="
t
",s=r.getElementsByTagName("td"),s[0].style.cssText="padding:0;margin:0;border:0;display:none",c=s[0].offsetHeight===0,s[0].style.display="",s[1].style.display="none",t.reliableHiddenOffsets=c&&s[0].offsetHeight===0,r.innerHTML="",r.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=r.offsetWidth===4,t.doesNotIncludeMarginInBodyOffset=a.offsetTop!==1,e.getComputedStyle&&(t.pixelPosition=(e.getComputedStyle(r,null)||{}).top!=="1%",t.boxSizingReliable=(e.getComputedStyle(r,null)||{width:"4px"}).width==="4px",o=i.createElement("div"),o.style.cssText=r.style.cssText=u,o.style.marginRight=o.style.width="0",r.style.width="1px",r.appendChild(o),t.reliableMarginRight=!parseFloat((e.getComputedStyle(o,null)||{}).marginRight)),typeof r.style.zoom!="undefined"&&(r.innerHTML="",r.style.cssText=u+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=r.offsetWidth===3,r.style.display="block",r.style.overflow="visible",r.innerHTML="

",r.firstChild.style.width="5px",t.shrinkWrapBlocks=r.offsetWidth!==3,n.style.zoom=1),a.removeChild(n),n=r=s=o=null}),a.removeChild(p),n=r=s=o=u=a=p=null,t}();var D=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,P=/([A-Z])/g;v.extend({cache:{},deletedIds:[],uuid:0,expando:"jQuery"+(v.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?v.cache[e[v.expando]]:e[v.expando],!!e&&!B(e)},data:function(e,n,r,i){if(!v.acceptData(e))return;var s,o,u=v.expando,a=typeof n=="string",f=e.nodeType,l=f?v.cache:e,c=f?e[u]:e[u]&&u;if((!c||!l[c]||!i&&!l[c].data)&&a&&r===t)return;c||(f?e[u]=c=v.deletedIds.pop()||v.guid++:c=u),l[c]||(l[c]={},f||(l[c].toJSON=v.noop));if(typeof n=="object"||typeof n=="function")i?l[c]=v.extend(l[c],n):l[c].data=v.extend(l[c].data,n);return s=l[c],i||(s.data||(s.data={}),s=s.data),r!==t&&(s[v.camelCase(n)]=r),a?(o=s[n],o==null&&(o=s[v.camelCase(n)])):o=s,o},removeData:function(e,t,n){if(!v.acceptData(e))return;var r,i,s,o=e.nodeType,u=o?v.cache:e,a=o?e[v.expando]:v.expando;if(!u[a])return;if(t){r=n?u[a]:u[a].data;if(r){v.isArray(t)||(t in r?t=[t]:(t=v.camelCase(t),t in r?t=[t]:t=t.split(" ")));for(i=0,s=t.length;i1,null,!1))},removeData:function(e){return this.each(function(){v.removeData(this,e)})}}),v.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=v._data(e,t),n&&(!r||v.isArray(n)?r=v._data(e,t,v.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=v.queue(e,t),r=n.length,i=n.shift(),s=v._queueHooks(e,t),o=function(){v.dequeue(e,t)};i==="inprogress"&&(i=n.shift(),r--),i&&(t==="fx"&&n.unshift("inprogress"),delete s.stop,i.call(e,o,s)),!r&&s&&s.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return v._data(e,n)||v._data(e,n,{empty:v.Callbacks("once memory").add(function(){v.removeData(e,t+"queue",!0),v.removeData(e,n,!0)})})}}),v.fn.extend({queue:function(e,n){var r=2;return typeof e!="string"&&(n=e,e="fx",r--),arguments.length1)},removeAttr:function(e){return this.each(function(){v.removeAttr(this,e)})},prop:function(e,t){return v.access(this,v.prop,e,t,arguments.length>1)},removeProp:function(e){return e=v.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,s,o,u;if(v.isFunction(e))return this.each(function(t){v(this).addClass(e.call(this,t,this.className))});if(e&&typeof e=="string"){t=e.split(y);for(n=0,r=this.length;n=0)r=r.replace(" "+n[s]+" "," ");i.className=e?v.trim(r):""}}}return this},toggleClass:function(e,t){var n=typeof e,r=typeof t=="boolean";return v.isFunction(e)?this.each(function(n){v(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if(n==="string"){var i,s=0,o=v(this),u=t,a=e.split(y);while(i=a[s++])u=r?u:!o.hasClass(i),o[u?"addClass":"removeClass"](i)}else if(n==="undefined"||n==="boolean")this.className&&v._data(this,"__className__",this.className),this.className=this.className||e===!1?"":v._data(this,"__className__")||""})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;n=0)return!0;return!1},val:function(e){var n,r,i,s=this[0];if(!arguments.length){if(s)return n=v.valHooks[s.type]||v.valHooks[s.nodeName.toLowerCase()],n&&"get"in n&&(r=n.get(s,"value"))!==t?r:(r=s.value,typeof r=="string"?r.replace(R,""):r==null?"":r);return}return i=v.isFunction(e),this.each(function(r){var s,o=v(this);if(this.nodeType!==1)return;i?s=e.call(this,r,o.val()):s=e,s==null?s="":typeof s=="number"?s+="":v.isArray(s)&&(s=v.map(s,function(e){return e==null?"":e+""})),n=v.valHooks[this.type]||v.valHooks[this.nodeName.toLowerCase()];if(!n||!("set"in n)||n.set(this,s,"value")===t)this.value=s})}}),v.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,s=e.type==="select-one"||i<0,o=s?null:[],u=s?i+1:r.length,a=i<0?u:s?i:0;for(;a=0}),n.length||(e.selectedIndex=-1),n}}},attrFn:{},attr:function(e,n,r,i){var s,o,u,a=e.nodeType;if(!e||a===3||a===8||a===2)return;if(i&&v.isFunction(v.fn[n]))return v(e)[n](r);if(typeof e.getAttribute=="undefined")return v.prop(e,n,r);u=a!==1||!v.isXMLDoc(e),u&&(n=n.toLowerCase(),o=v.attrHooks[n]||(X.test(n)?F:j));if(r!==t){if(r===null){v.removeAttr(e,n);return}return o&&"set"in o&&u&&(s=o.set(e,r,n))!==t?s:(e.setAttribute(n,r+""),r)}return o&&"get"in o&&u&&(s=o.get(e,n))!==null?s:(s=e.getAttribute(n),s===null?t:s)},removeAttr:function(e,t){var n,r,i,s,o=0;if(t&&e.nodeType===1){r=t.split(y);for(;o=0}})});var $=/^(?:textarea|input|select)$/i,J=/^([^\.]*|)(?:\.(.+)|)$/,K=/(?:^|\s)hover(\.\S+|)\b/,Q=/^key/,G=/^(?:mouse|contextmenu)|click/,Y=/^(?:focusinfocus|focusoutblur)$/,Z=function(e){return v.event.special.hover?e:e.replace(K,"mouseenter$1 mouseleave$1")};v.event={add:function(e,n,r,i,s){var o,u,a,f,l,c,h,p,d,m,g;if(e.nodeType===3||e.nodeType===8||!n||!r||!(o=v._data(e)))return;r.handler&&(d=r,r=d.handler,s=d.selector),r.guid||(r.guid=v.guid++),a=o.events,a||(o.events=a={}),u=o.handle,u||(o.handle=u=function(e){return typeof v=="undefined"||!!e&&v.event.triggered===e.type?t:v.event.dispatch.apply(u.elem,arguments)},u.elem=e),n=v.trim(Z(n)).split(" ");for(f=0;f=0&&(y=y.slice(0,-1),a=!0),y.indexOf(".")>=0&&(b=y.split("."),y=b.shift(),b.sort());if((!s||v.event.customEvent[y])&&!v.event.global[y])return;n=typeof n=="object"?n[v.expando]?n:new v.Event(y,n):new v.Event(y),n.type=y,n.isTrigger=!0,n.exclusive=a,n.namespace=b.join("."),n.namespace_re=n.namespace?new RegExp("(^|\\.)"+b.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,h=y.indexOf(":")<0?"on"+y:"";if(!s){u=v.cache;for(f in u)u[f].events&&u[f].events[y]&&v.event.trigger(n,r,u[f].handle.elem,!0);return}n.result=t,n.target||(n.target=s),r=r!=null?v.makeArray(r):[],r.unshift(n),p=v.event.special[y]||{};if(p.trigger&&p.trigger.apply(s,r)===!1)return;m=[[s,p.bindType||y]];if(!o&&!p.noBubble&&!v.isWindow(s)){g=p.delegateType||y,l=Y.test(g+y)?s:s.parentNode;for(c=s;l;l=l.parentNode)m.push([l,g]),c=l;c===(s.ownerDocument||i)&&m.push([c.defaultView||c.parentWindow||e,g])}for(f=0;f=0:v.find(h,this,null,[s]).length),u[h]&&f.push(c);f.length&&w.push({elem:s,matches:f})}d.length>m&&w.push({elem:this,matches:d.slice(m)});for(r=0;r0?this.on(t,null,e,n):this.trigger(t)},Q.test(t)&&(v.event.fixHooks[t]=v.event.keyHooks),G.test(t)&&(v.event.fixHooks[t]=v.event.mouseHooks)}),function(e,t){function nt(e,t,n,r){n=n||[],t=t||g;var i,s,a,f,l=t.nodeType;if(!e||typeof e!="string")return n;if(l!==1&&l!==9)return[];a=o(t);if(!a&&!r)if(i=R.exec(e))if(f=i[1]){if(l===9){s=t.getElementById(f);if(!s||!s.parentNode)return n;if(s.id===f)return n.push(s),n}else if(t.ownerDocument&&(s=t.ownerDocument.getElementById(f))&&u(t,s)&&s.id===f)return n.push(s),n}else{if(i[2])return S.apply(n,x.call(t.getElementsByTagName(e),0)),n;if((f=i[3])&&Z&&t.getElementsByClassName)return S.apply(n,x.call(t.getElementsByClassName(f),0)),n}return vt(e.replace(j,"$1"),t,n,r,a)}function rt(e){return function(t){var n=t.nodeName.toLowerCase();return n==="input"&&t.type===e}}function it(e){return function(t){var n=t.nodeName.toLowerCase();return(n==="input"||n==="button")&&t.type===e}}function st(e){return N(function(t){return t=+t,N(function(n,r){var i,s=e([],n.length,t),o=s.length;while(o--)n[i=s[o]]&&(n[i]=!(r[i]=n[i]))})})}function ot(e,t,n){if(e===t)return n;var r=e.nextSibling;while(r){if(r===t)return-1;r=r.nextSibling}return 1}function ut(e,t){var n,r,s,o,u,a,f,l=L[d][e+" "];if(l)return t?0:l.slice(0);u=e,a=[],f=i.preFilter;while(u){if(!n||(r=F.exec(u)))r&&(u=u.slice(r[0].length)||u),a.push(s=[]);n=!1;if(r=I.exec(u))s.push(n=new m(r.shift())),u=u.slice(n.length),n.type=r[0].replace(j," ");for(o in i.filter)(r=J[o].exec(u))&&(!f[o]||(r=f[o](r)))&&(s.push(n=new m(r.shift())),u=u.slice(n.length),n.type=o,n.matches=r);if(!n)break}return t?u.length:u?nt.error(e):L(e,a).slice(0)}function at(e,t,r){var i=t.dir,s=r&&t.dir==="parentNode",o=w++;return t.first?function(t,n,r){while(t=t[i])if(s||t.nodeType===1)return e(t,n,r)}:function(t,r,u){if(!u){var a,f=b+" "+o+" ",l=f+n;while(t=t[i])if(s||t.nodeType===1){if((a=t[d])===l)return t.sizset;if(typeof a=="string"&&a.indexOf(f)===0){if(t.sizset)return t}else{t[d]=l;if(e(t,r,u))return t.sizset=!0,t;t.sizset=!1}}}else while(t=t[i])if(s||t.nodeType===1)if(e(t,r,u))return t}}function ft(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function lt(e,t,n,r,i){var s,o=[],u=0,a=e.length,f=t!=null;for(;u-1&&(s[f]=!(o[f]=c))}}else g=lt(g===o?g.splice(d,g.length):g),i?i(null,o,g,a):S.apply(o,g)})}function ht(e){var t,n,r,s=e.length,o=i.relative[e[0].type],u=o||i.relative[" "],a=o?1:0,f=at(function(e){return e===t},u,!0),l=at(function(e){return T.call(t,e)>-1},u,!0),h=[function(e,n,r){return!o&&(r||n!==c)||((t=n).nodeType?f(e,n,r):l(e,n,r))}];for(;a1&&ft(h),a>1&&e.slice(0,a-1).join("").replace(j,"$1"),n,a0,s=e.length>0,o=function(u,a,f,l,h){var p,d,v,m=[],y=0,w="0",x=u&&[],T=h!=null,N=c,C=u||s&&i.find.TAG("*",h&&a.parentNode||a),k=b+=N==null?1:Math.E;T&&(c=a!==g&&a,n=o.el);for(;(p=C[w])!=null;w++){if(s&&p){for(d=0;v=e[d];d++)if(v(p,a,f)){l.push(p);break}T&&(b=k,n=++o.el)}r&&((p=!v&&p)&&y--,u&&x.push(p))}y+=w;if(r&&w!==y){for(d=0;v=t[d];d++)v(x,m,a,f);if(u){if(y>0)while(w--)!x[w]&&!m[w]&&(m[w]=E.call(l));m=lt(m)}S.apply(l,m),T&&!u&&m.length>0&&y+t.length>1&&nt.uniqueSort(l)}return T&&(b=k,c=N),x};return o.el=0,r?N(o):o}function dt(e,t,n){var r=0,i=t.length;for(;r2&&(f=u[0]).type==="ID"&&t.nodeType===9&&!s&&i.relative[u[1].type]){t=i.find.ID(f.matches[0].replace($,""),t,s)[0];if(!t)return n;e=e.slice(u.shift().length)}for(o=J.POS.test(e)?-1:u.length-1;o>=0;o--){f=u[o];if(i.relative[l=f.type])break;if(c=i.find[l])if(r=c(f.matches[0].replace($,""),z.test(u[0].type)&&t.parentNode||t,s)){u.splice(o,1),e=r.length&&u.join("");if(!e)return S.apply(n,x.call(r,0)),n;break}}}return a(e,h)(r,t,s,n,z.test(e)),n}function mt(){}var n,r,i,s,o,u,a,f,l,c,h=!0,p="undefined",d=("sizcache"+Math.random()).replace(".",""),m=String,g=e.document,y=g.documentElement,b=0,w=0,E=[].pop,S=[].push,x=[].slice,T=[].indexOf||function(e){var t=0,n=this.length;for(;ti.cacheLength&&delete e[t.shift()],e[n+" "]=r},e)},k=C(),L=C(),A=C(),O="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",_=M.replace("w","w#"),D="([*^$|!~]?=)",P="\\["+O+"*("+M+")"+O+"*(?:"+D+O+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+_+")|)|)"+O+"*\\]",H=":("+M+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:"+P+")|[^:]|\\\\.)*|.*))\\)|)",B=":(even|odd|eq|gt|lt|nth|first|last)(?:\\("+O+"*((?:-\\d)?\\d*)"+O+"*\\)|)(?=[^-]|$)",j=new RegExp("^"+O+"+|((?:^|[^\\\\])(?:\\\\.)*)"+O+"+$","g"),F=new RegExp("^"+O+"*,"+O+"*"),I=new RegExp("^"+O+"*([\\x20\\t\\r\\n\\f>+~])"+O+"*"),q=new RegExp(H),R=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,U=/^:not/,z=/[\x20\t\r\n\f]*[+~]/,W=/:not\($/,X=/h\d/i,V=/input|select|textarea|button/i,$=/\\(?!\\)/g,J={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),NAME:new RegExp("^\\[name=['\"]?("+M+")['\"]?\\]"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+H),POS:new RegExp(B,"i"),CHILD:new RegExp("^:(only|nth|first|last)-child(?:\\("+O+"*(even|odd|(([+-]|)(\\d*)n|)"+O+"*(?:([+-]|)"+O+"*(\\d+)|))"+O+"*\\)|)","i"),needsContext:new RegExp("^"+O+"*[>+~]|"+B,"i")},K=function(e){var t=g.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}},Q=K(function(e){return e.appendChild(g.createComment("")),!e.getElementsByTagName("*").length}),G=K(function(e){return e.innerHTML="",e.firstChild&&typeof e.firstChild.getAttribute!==p&&e.firstChild.getAttribute("href")==="#"}),Y=K(function(e){e.innerHTML="";var t=typeof e.lastChild.getAttribute("multiple");return t!=="boolean"&&t!=="string"}),Z=K(function(e){return e.innerHTML="",!e.getElementsByClassName||!e.getElementsByClassName("e").length?!1:(e.lastChild.className="e",e.getElementsByClassName("e").length===2)}),et=K(function(e){e.id=d+0,e.innerHTML="
",y.insertBefore(e,y.firstChild);var t=g.getElementsByName&&g.getElementsByName(d).length===2+g.getElementsByName(d+0).length;return r=!g.getElementById(d),y.removeChild(e),t});try{x.call(y.childNodes,0)[0].nodeType}catch(tt){x=function(e){var t,n=[];for(;t=this[e];e++)n.push(t);return n}}nt.matches=function(e,t){return nt(e,null,null,t)},nt.matchesSelector=function(e,t){return nt(t,null,null,[e]).length>0},s=nt.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(i===1||i===9||i===11){if(typeof e.textContent=="string")return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=s(e)}else if(i===3||i===4)return e.nodeValue}else for(;t=e[r];r++)n+=s(t);return n},o=nt.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?t.nodeName!=="HTML":!1},u=nt.contains=y.contains?function(e,t){var n=e.nodeType===9?e.documentElement:e,r=t&&t.parentNode;return e===r||!!(r&&r.nodeType===1&&n.contains&&n.contains(r))}:y.compareDocumentPosition?function(e,t){return t&&!!(e.compareDocumentPosition(t)&16)}:function(e,t){while(t=t.parentNode)if(t===e)return!0;return!1},nt.attr=function(e,t){var n,r=o(e);return r||(t=t.toLowerCase()),(n=i.attrHandle[t])?n(e):r||Y?e.getAttribute(t):(n=e.getAttributeNode(t),n?typeof e[t]=="boolean"?e[t]?t:null:n.specified?n.value:null:null)},i=nt.selectors={cacheLength:50,createPseudo:N,match:J,attrHandle:G?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},find:{ID:r?function(e,t,n){if(typeof t.getElementById!==p&&!n){var r=t.getElementById(e);return r&&r.parentNode?[r]:[]}}:function(e,n,r){if(typeof n.getElementById!==p&&!r){var i=n.getElementById(e);return i?i.id===e||typeof i.getAttributeNode!==p&&i.getAttributeNode("id").value===e?[i]:t:[]}},TAG:Q?function(e,t){if(typeof t.getElementsByTagName!==p)return t.getElementsByTagName(e)}:function(e,t){var n=t.getElementsByTagName(e);if(e==="*"){var r,i=[],s=0;for(;r=n[s];s++)r.nodeType===1&&i.push(r);return i}return n},NAME:et&&function(e,t){if(typeof t.getElementsByName!==p)return t.getElementsByName(name)},CLASS:Z&&function(e,t,n){if(typeof t.getElementsByClassName!==p&&!n)return t.getElementsByClassName(e)}},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace($,""),e[3]=(e[4]||e[5]||"").replace($,""),e[2]==="~="&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),e[1]==="nth"?(e[2]||nt.error(e[0]),e[3]=+(e[3]?e[4]+(e[5]||1):2*(e[2]==="even"||e[2]==="odd")),e[4]=+(e[6]+e[7]||e[2]==="odd")):e[2]&&nt.error(e[0]),e},PSEUDO:function(e){var t,n;if(J.CHILD.test(e[0]))return null;if(e[3])e[2]=e[3];else if(t=e[4])q.test(t)&&(n=ut(t,!0))&&(n=t.indexOf(")",t.length-n)-t.length)&&(t=t.slice(0,n),e[0]=e[0].slice(0,n)),e[2]=t;return e.slice(0,3)}},filter:{ID:r?function(e){return e=e.replace($,""),function(t){return t.getAttribute("id")===e}}:function(e){return e=e.replace($,""),function(t){var n=typeof t.getAttributeNode!==p&&t.getAttributeNode("id");return n&&n.value===e}},TAG:function(e){return e==="*"?function(){return!0}:(e=e.replace($,"").toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=k[d][e+" "];return t||(t=new RegExp("(^|"+O+")"+e+"("+O+"|$)"))&&k(e,function(e){return t.test(e.className||typeof e.getAttribute!==p&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r,i){var s=nt.attr(r,e);return s==null?t==="!=":t?(s+="",t==="="?s===n:t==="!="?s!==n:t==="^="?n&&s.indexOf(n)===0:t==="*="?n&&s.indexOf(n)>-1:t==="$="?n&&s.substr(s.length-n.length)===n:t==="~="?(" "+s+" ").indexOf(n)>-1:t==="|="?s===n||s.substr(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r){return e==="nth"?function(e){var t,i,s=e.parentNode;if(n===1&&r===0)return!0;if(s){i=0;for(t=s.firstChild;t;t=t.nextSibling)if(t.nodeType===1){i++;if(e===t)break}}return i-=r,i===n||i%n===0&&i/n>=0}:function(t){var n=t;switch(e){case"only":case"first":while(n=n.previousSibling)if(n.nodeType===1)return!1;if(e==="first")return!0;n=t;case"last":while(n=n.nextSibling)if(n.nodeType===1)return!1;return!0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||nt.error("unsupported pseudo: "+e);return r[d]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?N(function(e,n){var i,s=r(e,t),o=s.length;while(o--)i=T.call(e,s[o]),e[i]=!(n[i]=s[o])}):function(e){return r(e,0,n)}):r}},pseudos:{not:N(function(e){var t=[],n=[],r=a(e.replace(j,"$1"));return r[d]?N(function(e,t,n,i){var s,o=r(e,null,i,[]),u=e.length;while(u--)if(s=o[u])e[u]=!(t[u]=s)}):function(e,i,s){return t[0]=e,r(t,null,s,n),!n.pop()}}),has:N(function(e){return function(t){return nt(e,t).length>0}}),contains:N(function(e){return function(t){return(t.textContent||t.innerText||s(t)).indexOf(e)>-1}}),enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&!!e.checked||t==="option"&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},parent:function(e){return!i.pseudos.empty(e)},empty:function(e){var t;e=e.firstChild;while(e){if(e.nodeName>"@"||(t=e.nodeType)===3||t===4)return!1;e=e.nextSibling}return!0},header:function(e){return X.test(e.nodeName)},text:function(e){var t,n;return e.nodeName.toLowerCase()==="input"&&(t=e.type)==="text"&&((n=e.getAttribute("type"))==null||n.toLowerCase()===t)},radio:rt("radio"),checkbox:rt("checkbox"),file:rt("file"),password:rt("password"),image:rt("image"),submit:it("submit"),reset:it("reset"),button:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&e.type==="button"||t==="button"},input:function(e){return V.test(e.nodeName)},focus:function(e){var t=e.ownerDocument;return e===t.activeElement&&(!t.hasFocus||t.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},active:function(e){return e===e.ownerDocument.activeElement},first:st(function(){return[0]}),last:st(function(e,t){return[t-1]}),eq:st(function(e,t,n){return[n<0?n+t:n]}),even:st(function(e,t){for(var n=0;n=0;)e.push(r);return e}),gt:st(function(e,t,n){for(var r=n<0?n+t:n;++r",e.querySelectorAll("[selected]").length||i.push("\\["+O+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||i.push(":checked")}),K(function(e){e.innerHTML="

",e.querySelectorAll("[test^='']").length&&i.push("[*^$]="+O+"*(?:\"\"|'')"),e.innerHTML="",e.querySelectorAll(":enabled").length||i.push(":enabled",":disabled")}),i=new RegExp(i.join("|")),vt=function(e,r,s,o,u){if(!o&&!u&&!i.test(e)){var a,f,l=!0,c=d,h=r,p=r.nodeType===9&&e;if(r.nodeType===1&&r.nodeName.toLowerCase()!=="object"){a=ut(e),(l=r.getAttribute("id"))?c=l.replace(n,"\\$&"):r.setAttribute("id",c),c="[id='"+c+"'] ",f=a.length;while(f--)a[f]=c+a[f].join("");h=z.test(e)&&r.parentNode||r,p=a.join(",")}if(p)try{return S.apply(s,x.call(h.querySelectorAll(p),0)),s}catch(v){}finally{l||r.removeAttribute("id")}}return t(e,r,s,o,u)},u&&(K(function(t){e=u.call(t,"div");try{u.call(t,"[test!='']:sizzle"),s.push("!=",H)}catch(n){}}),s=new RegExp(s.join("|")),nt.matchesSelector=function(t,n){n=n.replace(r,"='$1']");if(!o(t)&&!s.test(n)&&!i.test(n))try{var a=u.call(t,n);if(a||e||t.document&&t.document.nodeType!==11)return a}catch(f){}return nt(n,null,null,[t]).length>0})}(),i.pseudos.nth=i.pseudos.eq,i.filters=mt.prototype=i.pseudos,i.setFilters=new mt,nt.attr=v.attr,v.find=nt,v.expr=nt.selectors,v.expr[":"]=v.expr.pseudos,v.unique=nt.uniqueSort,v.text=nt.getText,v.isXMLDoc=nt.isXML,v.contains=nt.contains}(e);var nt=/Until$/,rt=/^(?:parents|prev(?:Until|All))/,it=/^.[^:#\[\.,]*$/,st=v.expr.match.needsContext,ot={children:!0,contents:!0,next:!0,prev:!0};v.fn.extend({find:function(e){var t,n,r,i,s,o,u=this;if(typeof e!="string")return v(e).filter(function(){for(t=0,n=u.length;t0)for(i=r;i=0:v.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,s=[],o=st.test(e)||typeof e!="string"?v(e,t||this.context):0;for(;r-1:v.find.matchesSelector(n,e)){s.push(n);break}n=n.parentNode}}return s=s.length>1?v.unique(s):s,this.pushStack(s,"closest",e)},index:function(e){return e?typeof e=="string"?v.inArray(this[0],v(e)):v.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(e,t){var n=typeof e=="string"?v(e,t):v.makeArray(e&&e.nodeType?[e]:e),r=v.merge(this.get(),n);return this.pushStack(ut(n[0])||ut(r[0])?r:v.unique(r))},addBack:function(e){return this.add(e==null?this.prevObject:this.prevObject.filter(e))}}),v.fn.andSelf=v.fn.addBack,v.each({parent:function(e){var t=e.parentNode;return t&&t.nodeType!==11?t:null},parents:function(e){return v.dir(e,"parentNode")},parentsUntil:function(e,t,n){return v.dir(e,"parentNode",n)},next:function(e){return at(e,"nextSibling")},prev:function(e){return at(e,"previousSibling")},nextAll:function(e){return v.dir(e,"nextSibling")},prevAll:function(e){return v.dir(e,"previousSibling")},nextUntil:function(e,t,n){return v.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return v.dir(e,"previousSibling",n)},siblings:function(e){return v.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return v.sibling(e.firstChild)},contents:function(e){return v.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:v.merge([],e.childNodes)}},function(e,t){v.fn[e]=function(n,r){var i=v.map(this,t,n);return nt.test(e)||(r=n),r&&typeof r=="string"&&(i=v.filter(r,i)),i=this.length>1&&!ot[e]?v.unique(i):i,this.length>1&&rt.test(e)&&(i=i.reverse()),this.pushStack(i,e,l.call(arguments).join(","))}}),v.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),t.length===1?v.find.matchesSelector(t[0],e)?[t[0]]:[]:v.find.matches(e,t)},dir:function(e,n,r){var i=[],s=e[n];while(s&&s.nodeType!==9&&(r===t||s.nodeType!==1||!v(s).is(r)))s.nodeType===1&&i.push(s),s=s[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)e.nodeType===1&&e!==t&&n.push(e);return n}});var ct="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ht=/ jQuery\d+="(?:null|\d+)"/g,pt=/^\s+/,dt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,vt=/<([\w:]+)/,mt=/]","i"),Et=/^(?:checkbox|radio)$/,St=/checked\s*(?:[^=]|=\s*.checked.)/i,xt=/\/(java|ecma)script/i,Tt=/^\s*\s*$/g,Nt={option:[1,""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},Ct=lt(i),kt=Ct.appendChild(i.createElement("div"));Nt.optgroup=Nt.option,Nt.tbody=Nt.tfoot=Nt.colgroup=Nt.caption=Nt.thead,Nt.th=Nt.td,v.support.htmlSerialize||(Nt._default=[1,"X
","
"]),v.fn.extend({text:function(e){return v.access(this,function(e){return e===t?v.text(this):this.empty().append((this[0]&&this[0].ownerDocument||i).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(v.isFunction(e))return this.each(function(t){v(this).wrapAll(e.call(this,t))});if(this[0]){var t=v(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&e.firstChild.nodeType===1)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return v.isFunction(e)?this.each(function(t){v(this).wrapInner(e.call(this,t))}):this.each(function(){var t=v(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=v.isFunction(e);return this.each(function(n){v(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){v.nodeName(this,"body")||v(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(this.nodeType===1||this.nodeType===11)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(this.nodeType===1||this.nodeType===11)&&this.insertBefore(e,this.firstChild)})},before:function(){if(!ut(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this)});if(arguments.length){var e=v.clean(arguments);return this.pushStack(v.merge(e,this),"before",this.selector)}},after:function(){if(!ut(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this.nextSibling)});if(arguments.length){var e=v.clean(arguments);return this.pushStack(v.merge(this,e),"after",this.selector)}},remove:function(e,t){var n,r=0;for(;(n=this[r])!=null;r++)if(!e||v.filter(e,[n]).length)!t&&n.nodeType===1&&(v.cleanData(n.getElementsByTagName("*")),v.cleanData([n])),n.parentNode&&n.parentNode.removeChild(n);return this},empty:function(){var e,t=0;for(;(e=this[t])!=null;t++){e.nodeType===1&&v.cleanData(e.getElementsByTagName("*"));while(e.firstChild)e.removeChild(e.firstChild)}return this},clone:function(e,t){return e=e==null?!1:e,t=t==null?e:t,this.map(function(){return v.clone(this,e,t)})},html:function(e){return v.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return n.nodeType===1?n.innerHTML.replace(ht,""):t;if(typeof e=="string"&&!yt.test(e)&&(v.support.htmlSerialize||!wt.test(e))&&(v.support.leadingWhitespace||!pt.test(e))&&!Nt[(vt.exec(e)||["",""])[1].toLowerCase()]){e=e.replace(dt,"<$1>");try{for(;r1&&typeof f=="string"&&St.test(f))return this.each(function(){v(this).domManip(e,n,r)});if(v.isFunction(f))return this.each(function(i){var s=v(this);e[0]=f.call(this,i,n?s.html():t),s.domManip(e,n,r)});if(this[0]){i=v.buildFragment(e,this,l),o=i.fragment,s=o.firstChild,o.childNodes.length===1&&(o=s);if(s){n=n&&v.nodeName(s,"tr");for(u=i.cacheable||c-1;a0?this.clone(!0):this).get(),v(o[i])[t](r),s=s.concat(r);return this.pushStack(s,e,o.selector)}}),v.extend({clone:function(e,t,n){var r,i,s,o;v.support.html5Clone||v.isXMLDoc(e)||!wt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(kt.innerHTML=e.outerHTML,kt.removeChild(o=kt.firstChild));if((!v.support.noCloneEvent||!v.support.noCloneChecked)&&(e.nodeType===1||e.nodeType===11)&&!v.isXMLDoc(e)){Ot(e,o),r=Mt(e),i=Mt(o);for(s=0;r[s];++s)i[s]&&Ot(r[s],i[s])}if(t){At(e,o);if(n){r=Mt(e),i=Mt(o);for(s=0;r[s];++s)At(r[s],i[s])}}return r=i=null,o},clean:function(e,t,n,r){var s,o,u,a,f,l,c,h,p,d,m,g,y=t===i&&Ct,b=[];if(!t||typeof t.createDocumentFragment=="undefined")t=i;for(s=0;(u=e[s])!=null;s++){typeof u=="number"&&(u+="");if(!u)continue;if(typeof u=="string")if(!gt.test(u))u=t.createTextNode(u);else{y=y||lt(t),c=t.createElement("div"),y.appendChild(c),u=u.replace(dt,"<$1>"),a=(vt.exec(u)||["",""])[1].toLowerCase(),f=Nt[a]||Nt._default,l=f[0],c.innerHTML=f[1]+u+f[2];while(l--)c=c.lastChild;if(!v.support.tbody){h=mt.test(u),p=a==="table"&&!h?c.firstChild&&c.firstChild.childNodes:f[1]===""&&!h?c.childNodes:[];for(o=p.length-1;o>=0;--o)v.nodeName(p[o],"tbody")&&!p[o].childNodes.length&&p[o].parentNode.removeChild(p[o])}!v.support.leadingWhitespace&&pt.test(u)&&c.insertBefore(t.createTextNode(pt.exec(u)[0]),c.firstChild),u=c.childNodes,c.parentNode.removeChild(c)}u.nodeType?b.push(u):v.merge(b,u)}c&&(u=c=y=null);if(!v.support.appendChecked)for(s=0;(u=b[s])!=null;s++)v.nodeName(u,"input")?_t(u):typeof u.getElementsByTagName!="undefined"&&v.grep(u.getElementsByTagName("input"),_t);if(n){m=function(e){if(!e.type||xt.test(e.type))return r?r.push(e.parentNode?e.parentNode.removeChild(e):e):n.appendChild(e)};for(s=0;(u=b[s])!=null;s++)if(!v.nodeName(u,"script")||!m(u))n.appendChild(u),typeof u.getElementsByTagName!="undefined"&&(g=v.grep(v.merge([],u.getElementsByTagName("script")),m),b.splice.apply(b,[s+1,0].concat(g)),s+=g.length)}return b},cleanData:function(e,t){var n,r,i,s,o=0,u=v.expando,a=v.cache,f=v.support.deleteExpando,l=v.event.special;for(;(i=e[o])!=null;o++)if(t||v.acceptData(i)){r=i[u],n=r&&a[r];if(n){if(n.events)for(s in n.events)l[s]?v.event.remove(i,s):v.removeEvent(i,s,n.handle);a[r]&&(delete a[r],f?delete i[u]:i.removeAttribute?i.removeAttribute(u):i[u]=null,v.deletedIds.push(r))}}}}),function(){var e,t;v.uaMatch=function(e){e=e.toLowerCase();var t=/(chrome)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||e.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[];return{browser:t[1]||"",version:t[2]||"0"}},e=v.uaMatch(o.userAgent),t={},e.browser&&(t[e.browser]=!0,t.version=e.version),t.chrome?t.webkit=!0:t.webkit&&(t.safari=!0),v.browser=t,v.sub=function(){function e(t,n){return new e.fn.init(t,n)}v.extend(!0,e,this),e.superclass=this,e.fn=e.prototype=this(),e.fn.constructor=e,e.sub=this.sub,e.fn.init=function(r,i){return i&&i instanceof v&&!(i instanceof e)&&(i=e(i)),v.fn.init.call(this,r,i,t)},e.fn.init.prototype=e.fn;var t=e(i);return e}}();var Dt,Pt,Ht,Bt=/alpha\([^)]*\)/i,jt=/opacity=([^)]*)/,Ft=/^(top|right|bottom|left)$/,It=/^(none|table(?!-c[ea]).+)/,qt=/^margin/,Rt=new RegExp("^("+m+")(.*)$","i"),Ut=new RegExp("^("+m+")(?!px)[a-z%]+$","i"),zt=new RegExp("^([-+])=("+m+")","i"),Wt={BODY:"block"},Xt={position:"absolute",visibility:"hidden",display:"block"},Vt={letterSpacing:0,fontWeight:400},$t=["Top","Right","Bottom","Left"],Jt=["Webkit","O","Moz","ms"],Kt=v.fn.toggle;v.fn.extend({css:function(e,n){return v.access(this,function(e,n,r){return r!==t?v.style(e,n,r):v.css(e,n)},e,n,arguments.length>1)},show:function(){return Yt(this,!0)},hide:function(){return Yt(this)},toggle:function(e,t){var n=typeof e=="boolean";return v.isFunction(e)&&v.isFunction(t)?Kt.apply(this,arguments):this.each(function(){(n?e:Gt(this))?v(this).show():v(this).hide()})}}),v.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Dt(e,"opacity");return n===""?"1":n}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":v.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(!e||e.nodeType===3||e.nodeType===8||!e.style)return;var s,o,u,a=v.camelCase(n),f=e.style;n=v.cssProps[a]||(v.cssProps[a]=Qt(f,a)),u=v.cssHooks[n]||v.cssHooks[a];if(r===t)return u&&"get"in u&&(s=u.get(e,!1,i))!==t?s:f[n];o=typeof r,o==="string"&&(s=zt.exec(r))&&(r=(s[1]+1)*s[2]+parseFloat(v.css(e,n)),o="number");if(r==null||o==="number"&&isNaN(r))return;o==="number"&&!v.cssNumber[a]&&(r+="px");if(!u||!("set"in u)||(r=u.set(e,r,i))!==t)try{f[n]=r}catch(l){}},css:function(e,n,r,i){var s,o,u,a=v.camelCase(n);return n=v.cssProps[a]||(v.cssProps[a]=Qt(e.style,a)),u=v.cssHooks[n]||v.cssHooks[a],u&&"get"in u&&(s=u.get(e,!0,i)),s===t&&(s=Dt(e,n)),s==="normal"&&n in Vt&&(s=Vt[n]),r||i!==t?(o=parseFloat(s),r||v.isNumeric(o)?o||0:s):s},swap:function(e,t,n){var r,i,s={};for(i in t)s[i]=e.style[i],e.style[i]=t[i];r=n.call(e);for(i in t)e.style[i]=s[i];return r}}),e.getComputedStyle?Dt=function(t,n){var r,i,s,o,u=e.getComputedStyle(t,null),a=t.style;return u&&(r=u.getPropertyValue(n)||u[n],r===""&&!v.contains(t.ownerDocument,t)&&(r=v.style(t,n)),Ut.test(r)&&qt.test(n)&&(i=a.width,s=a.minWidth,o=a.maxWidth,a.minWidth=a.maxWidth=a.width=r,r=u.width,a.width=i,a.minWidth=s,a.maxWidth=o)),r}:i.documentElement.currentStyle&&(Dt=function(e,t){var n,r,i=e.currentStyle&&e.currentStyle[t],s=e.style;return i==null&&s&&s[t]&&(i=s[t]),Ut.test(i)&&!Ft.test(t)&&(n=s.left,r=e.runtimeStyle&&e.runtimeStyle.left,r&&(e.runtimeStyle.left=e.currentStyle.left),s.left=t==="fontSize"?"1em":i,i=s.pixelLeft+"px",s.left=n,r&&(e.runtimeStyle.left=r)),i===""?"auto":i}),v.each(["height","width"],function(e,t){v.cssHooks[t]={get:function(e,n,r){if(n)return e.offsetWidth===0&&It.test(Dt(e,"display"))?v.swap(e,Xt,function(){return tn(e,t,r)}):tn(e,t,r)},set:function(e,n,r){return Zt(e,n,r?en(e,t,r,v.support.boxSizing&&v.css(e,"boxSizing")==="border-box"):0)}}}),v.support.opacity||(v.cssHooks.opacity={get:function(e,t){return jt.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=v.isNumeric(t)?"alpha(opacity="+t*100+")":"",s=r&&r.filter||n.filter||"";n.zoom=1;if(t>=1&&v.trim(s.replace(Bt,""))===""&&n.removeAttribute){n.removeAttribute("filter");if(r&&!r.filter)return}n.filter=Bt.test(s)?s.replace(Bt,i):s+" "+i}}),v(function(){v.support.reliableMarginRight||(v.cssHooks.marginRight={get:function(e,t){return v.swap(e,{display:"inline-block"},function(){if(t)return Dt(e,"marginRight")})}}),!v.support.pixelPosition&&v.fn.position&&v.each(["top","left"],function(e,t){v.cssHooks[t]={get:function(e,n){if(n){var r=Dt(e,t);return Ut.test(r)?v(e).position()[t]+"px":r}}}})}),v.expr&&v.expr.filters&&(v.expr.filters.hidden=function(e){return e.offsetWidth===0&&e.offsetHeight===0||!v.support.reliableHiddenOffsets&&(e.style&&e.style.display||Dt(e,"display"))==="none"},v.expr.filters.visible=function(e){return!v.expr.filters.hidden(e)}),v.each({margin:"",padding:"",border:"Width"},function(e,t){v.cssHooks[e+t]={expand:function(n){var r,i=typeof n=="string"?n.split(" "):[n],s={};for(r=0;r<4;r++)s[e+$t[r]+t]=i[r]||i[r-2]||i[0];return s}},qt.test(e)||(v.cssHooks[e+t].set=Zt)});var rn=/%20/g,sn=/\[\]$/,on=/\r?\n/g,un=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,an=/^(?:select|textarea)/i;v.fn.extend({serialize:function(){return v.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?v.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||an.test(this.nodeName)||un.test(this.type))}).map(function(e,t){var n=v(this).val();return n==null?null:v.isArray(n)?v.map(n,function(e,n){return{name:t.name,value:e.replace(on,"\r\n")}}):{name:t.name,value:n.replace(on,"\r\n")}}).get()}}),v.param=function(e,n){var r,i=[],s=function(e,t){t=v.isFunction(t)?t():t==null?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};n===t&&(n=v.ajaxSettings&&v.ajaxSettings.traditional);if(v.isArray(e)||e.jquery&&!v.isPlainObject(e))v.each(e,function(){s(this.name,this.value)});else for(r in e)fn(r,e[r],n,s);return i.join("&").replace(rn,"+")};var ln,cn,hn=/#.*$/,pn=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,dn=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,vn=/^(?:GET|HEAD)$/,mn=/^\/\//,gn=/\?/,yn=/)<[^<]*)*<\/script>/gi,bn=/([?&])_=[^&]*/,wn=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,En=v.fn.load,Sn={},xn={},Tn=["*/"]+["*"];try{cn=s.href}catch(Nn){cn=i.createElement("a"),cn.href="",cn=cn.href}ln=wn.exec(cn.toLowerCase())||[],v.fn.load=function(e,n,r){if(typeof e!="string"&&En)return En.apply(this,arguments);if(!this.length)return this;var i,s,o,u=this,a=e.indexOf(" ");return a>=0&&(i=e.slice(a,e.length),e=e.slice(0,a)),v.isFunction(n)?(r=n,n=t):n&&typeof n=="object"&&(s="POST"),v.ajax({url:e,type:s,dataType:"html",data:n,complete:function(e,t){r&&u.each(r,o||[e.responseText,t,e])}}).done(function(e){o=arguments,u.html(i?v("
").append(e.replace(yn,"")).find(i):e)}),this},v.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,t){v.fn[t]=function(e){return this.on(t,e)}}),v.each(["get","post"],function(e,n){v[n]=function(e,r,i,s){return v.isFunction(r)&&(s=s||i,i=r,r=t),v.ajax({type:n,url:e,data:r,success:i,dataType:s})}}),v.extend({getScript:function(e,n){return v.get(e,t,n,"script")},getJSON:function(e,t,n){return v.get(e,t,n,"json")},ajaxSetup:function(e,t){return t?Ln(e,v.ajaxSettings):(t=e,e=v.ajaxSettings),Ln(e,t),e},ajaxSettings:{url:cn,isLocal:dn.test(ln[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":Tn},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":e.String,"text html":!0,"text json":v.parseJSON,"text xml":v.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:Cn(Sn),ajaxTransport:Cn(xn),ajax:function(e,n){function T(e,n,s,a){var l,y,b,w,S,T=n;if(E===2)return;E=2,u&&clearTimeout(u),o=t,i=a||"",x.readyState=e>0?4:0,s&&(w=An(c,x,s));if(e>=200&&e<300||e===304)c.ifModified&&(S=x.getResponseHeader("Last-Modified"),S&&(v.lastModified[r]=S),S=x.getResponseHeader("Etag"),S&&(v.etag[r]=S)),e===304?(T="notmodified",l=!0):(l=On(c,w),T=l.state,y=l.data,b=l.error,l=!b);else{b=T;if(!T||e)T="error",e<0&&(e=0)}x.status=e,x.statusText=(n||T)+"",l?d.resolveWith(h,[y,T,x]):d.rejectWith(h,[x,T,b]),x.statusCode(g),g=t,f&&p.trigger("ajax"+(l?"Success":"Error"),[x,c,l?y:b]),m.fireWith(h,[x,T]),f&&(p.trigger("ajaxComplete",[x,c]),--v.active||v.event.trigger("ajaxStop"))}typeof e=="object"&&(n=e,e=t),n=n||{};var r,i,s,o,u,a,f,l,c=v.ajaxSetup({},n),h=c.context||c,p=h!==c&&(h.nodeType||h instanceof v)?v(h):v.event,d=v.Deferred(),m=v.Callbacks("once memory"),g=c.statusCode||{},b={},w={},E=0,S="canceled",x={readyState:0,setRequestHeader:function(e,t){if(!E){var n=e.toLowerCase();e=w[n]=w[n]||e,b[e]=t}return this},getAllResponseHeaders:function(){return E===2?i:null},getResponseHeader:function(e){var n;if(E===2){if(!s){s={};while(n=pn.exec(i))s[n[1].toLowerCase()]=n[2]}n=s[e.toLowerCase()]}return n===t?null:n},overrideMimeType:function(e){return E||(c.mimeType=e),this},abort:function(e){return e=e||S,o&&o.abort(e),T(0,e),this}};d.promise(x),x.success=x.done,x.error=x.fail,x.complete=m.add,x.statusCode=function(e){if(e){var t;if(E<2)for(t in e)g[t]=[g[t],e[t]];else t=e[x.status],x.always(t)}return this},c.url=((e||c.url)+"").replace(hn,"").replace(mn,ln[1]+"//"),c.dataTypes=v.trim(c.dataType||"*").toLowerCase().split(y),c.crossDomain==null&&(a=wn.exec(c.url.toLowerCase()),c.crossDomain=!(!a||a[1]===ln[1]&&a[2]===ln[2]&&(a[3]||(a[1]==="http:"?80:443))==(ln[3]||(ln[1]==="http:"?80:443)))),c.data&&c.processData&&typeof c.data!="string"&&(c.data=v.param(c.data,c.traditional)),kn(Sn,c,n,x);if(E===2)return x;f=c.global,c.type=c.type.toUpperCase(),c.hasContent=!vn.test(c.type),f&&v.active++===0&&v.event.trigger("ajaxStart");if(!c.hasContent){c.data&&(c.url+=(gn.test(c.url)?"&":"?")+c.data,delete c.data),r=c.url;if(c.cache===!1){var N=v.now(),C=c.url.replace(bn,"$1_="+N);c.url=C+(C===c.url?(gn.test(c.url)?"&":"?")+"_="+N:"")}}(c.data&&c.hasContent&&c.contentType!==!1||n.contentType)&&x.setRequestHeader("Content-Type",c.contentType),c.ifModified&&(r=r||c.url,v.lastModified[r]&&x.setRequestHeader("If-Modified-Since",v.lastModified[r]),v.etag[r]&&x.setRequestHeader("If-None-Match",v.etag[r])),x.setRequestHeader("Accept",c.dataTypes[0]&&c.accepts[c.dataTypes[0]]?c.accepts[c.dataTypes[0]]+(c.dataTypes[0]!=="*"?", "+Tn+"; q=0.01":""):c.accepts["*"]);for(l in c.headers)x.setRequestHeader(l,c.headers[l]);if(!c.beforeSend||c.beforeSend.call(h,x,c)!==!1&&E!==2){S="abort";for(l in{success:1,error:1,complete:1})x[l](c[l]);o=kn(xn,c,n,x);if(!o)T(-1,"No Transport");else{x.readyState=1,f&&p.trigger("ajaxSend",[x,c]),c.async&&c.timeout>0&&(u=setTimeout(function(){x.abort("timeout")},c.timeout));try{E=1,o.send(b,T)}catch(k){if(!(E<2))throw k;T(-1,k)}}return x}return x.abort()},active:0,lastModified:{},etag:{}});var Mn=[],_n=/\?/,Dn=/(=)\?(?=&|$)|\?\?/,Pn=v.now();v.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Mn.pop()||v.expando+"_"+Pn++;return this[e]=!0,e}}),v.ajaxPrefilter("json jsonp",function(n,r,i){var s,o,u,a=n.data,f=n.url,l=n.jsonp!==!1,c=l&&Dn.test(f),h=l&&!c&&typeof a=="string"&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Dn.test(a);if(n.dataTypes[0]==="jsonp"||c||h)return s=n.jsonpCallback=v.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,o=e[s],c?n.url=f.replace(Dn,"$1"+s):h?n.data=a.replace(Dn,"$1"+s):l&&(n.url+=(_n.test(f)?"&":"?")+n.jsonp+"="+s),n.converters["script json"]=function(){return u||v.error(s+" was not called"),u[0]},n.dataTypes[0]="json",e[s]=function(){u=arguments},i.always(function(){e[s]=o,n[s]&&(n.jsonpCallback=r.jsonpCallback,Mn.push(s)),u&&v.isFunction(o)&&o(u[0]),u=o=t}),"script"}),v.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(e){return v.globalEval(e),e}}}),v.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),v.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=i.head||i.getElementsByTagName("head")[0]||i.documentElement;return{send:function(s,o){n=i.createElement("script"),n.async="async",e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,i){if(i||!n.readyState||/loaded|complete/.test(n.readyState))n.onload=n.onreadystatechange=null,r&&n.parentNode&&r.removeChild(n),n=t,i||o(200,"success")},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(0,1)}}}});var Hn,Bn=e.ActiveXObject?function(){for(var e in Hn)Hn[e](0,1)}:!1,jn=0;v.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&Fn()||In()}:Fn,function(e){v.extend(v.support,{ajax:!!e,cors:!!e&&"withCredentials"in e})}(v.ajaxSettings.xhr()),v.support.ajax&&v.ajaxTransport(function(n){if(!n.crossDomain||v.support.cors){var r;return{send:function(i,s){var o,u,a=n.xhr();n.username?a.open(n.type,n.url,n.async,n.username,n.password):a.open(n.type,n.url,n.async);if(n.xhrFields)for(u in n.xhrFields)a[u]=n.xhrFields[u];n.mimeType&&a.overrideMimeType&&a.overrideMimeType(n.mimeType),!n.crossDomain&&!i["X-Requested-With"]&&(i["X-Requested-With"]="XMLHttpRequest");try{for(u in i)a.setRequestHeader(u,i[u])}catch(f){}a.send(n.hasContent&&n.data||null),r=function(e,i){var u,f,l,c,h;try{if(r&&(i||a.readyState===4)){r=t,o&&(a.onreadystatechange=v.noop,Bn&&delete Hn[o]);if(i)a.readyState!==4&&a.abort();else{u=a.status,l=a.getAllResponseHeaders(),c={},h=a.responseXML,h&&h.documentElement&&(c.xml=h);try{c.text=a.responseText}catch(p){}try{f=a.statusText}catch(p){f=""}!u&&n.isLocal&&!n.crossDomain?u=c.text?200:404:u===1223&&(u=204)}}}catch(d){i||s(-1,d)}c&&s(u,f,c,l)},n.async?a.readyState===4?setTimeout(r,0):(o=++jn,Bn&&(Hn||(Hn={},v(e).unload(Bn)),Hn[o]=r),a.onreadystatechange=r):r()},abort:function(){r&&r(0,1)}}}});var qn,Rn,Un=/^(?:toggle|show|hide)$/,zn=new RegExp("^(?:([-+])=|)("+m+")([a-z%]*)$","i"),Wn=/queueHooks$/,Xn=[Gn],Vn={"*":[function(e,t){var n,r,i=this.createTween(e,t),s=zn.exec(t),o=i.cur(),u=+o||0,a=1,f=20;if(s){n=+s[2],r=s[3]||(v.cssNumber[e]?"":"px");if(r!=="px"&&u){u=v.css(i.elem,e,!0)||n||1;do a=a||".5",u/=a,v.style(i.elem,e,u+r);while(a!==(a=i.cur()/o)&&a!==1&&--f)}i.unit=r,i.start=u,i.end=s[1]?u+(s[1]+1)*n:n}return i}]};v.Animation=v.extend(Kn,{tweener:function(e,t){v.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;r-1,f={},l={},c,h;a?(l=i.position(),c=l.top,h=l.left):(c=parseFloat(o)||0,h=parseFloat(u)||0),v.isFunction(t)&&(t=t.call(e,n,s)),t.top!=null&&(f.top=t.top-s.top+c),t.left!=null&&(f.left=t.left-s.left+h),"using"in t?t.using.call(e,f):i.css(f)}},v.fn.extend({position:function(){if(!this[0])return;var e=this[0],t=this.offsetParent(),n=this.offset(),r=er.test(t[0].nodeName)?{top:0,left:0}:t.offset();return n.top-=parseFloat(v.css(e,"marginTop"))||0,n.left-=parseFloat(v.css(e,"marginLeft"))||0,r.top+=parseFloat(v.css(t[0],"borderTopWidth"))||0,r.left+=parseFloat(v.css(t[0],"borderLeftWidth"))||0,{top:n.top-r.top,left:n.left-r.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||i.body;while(e&&!er.test(e.nodeName)&&v.css(e,"position")==="static")e=e.offsetParent;return e||i.body})}}),v.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);v.fn[e]=function(i){return v.access(this,function(e,i,s){var o=tr(e);if(s===t)return o?n in o?o[n]:o.document.documentElement[i]:e[i];o?o.scrollTo(r?v(o).scrollLeft():s,r?s:v(o).scrollTop()):e[i]=s},e,i,arguments.length,null)}}),v.each({Height:"height",Width:"width"},function(e,n){v.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){v.fn[i]=function(i,s){var o=arguments.length&&(r||typeof i!="boolean"),u=r||(i===!0||s===!0?"margin":"border");return v.access(this,function(n,r,i){var s;return v.isWindow(n)?n.document.documentElement["client"+e]:n.nodeType===9?(s=n.documentElement,Math.max(n.body["scroll"+e],s["scroll"+e],n.body["offset"+e],s["offset"+e],s["client"+e])):i===t?v.css(n,r,i,u):v.style(n,r,i,u)},n,o?i:t,o,null)}})}),e.jQuery=e.$=v,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return v})})(window); -/* - * jQuery JSON Plugin - * version: 2.1 (2009-08-14) - * - * This document is licensed as free software under the terms of the - * MIT License: http://www.opensource.org/licenses/mit-license.php - * - * Brantley Harris wrote this plugin. It is based somewhat on the JSON.org - * website's http://www.json.org/json2.js, which proclaims: - * "NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.", a sentiment that - * I uphold. - * - * It is also influenced heavily by MochiKit's serializeJSON, which is - * copyrighted 2005 by Bob Ippolito. - */ - - -(function($) { - /** jQuery.toJSON( json-serializble ) - Converts the given argument into a JSON respresentation. - - If an object has a "toJSON" function, that will be used to get the representation. - Non-integer/string keys are skipped in the object, as are keys that point to a function. - - json-serializble: - The *thing* to be converted. - **/ - $.toJSON = function(o) - { - if (typeof(JSON) == 'object' && JSON.stringify) - return JSON.stringify(o); - - var type = typeof(o); - - if (o === null) - return "null"; - - if (type == "undefined") - return undefined; - - if (type == "number" || type == "boolean") - return o + ""; - - if (type == "string") - return $.quoteString(o); - - if (type == 'object') - { - if (typeof o.toJSON == "function") - return $.toJSON( o.toJSON() ); - - if (o.constructor === Date) - { - var month = o.getUTCMonth() + 1; - if (month < 10) month = '0' + month; - - var day = o.getUTCDate(); - if (day < 10) day = '0' + day; - - var year = o.getUTCFullYear(); - - var hours = o.getUTCHours(); - if (hours < 10) hours = '0' + hours; - - var minutes = o.getUTCMinutes(); - if (minutes < 10) minutes = '0' + minutes; - - var seconds = o.getUTCSeconds(); - if (seconds < 10) seconds = '0' + seconds; - - var milli = o.getUTCMilliseconds(); - if (milli < 100) milli = '0' + milli; - if (milli < 10) milli = '0' + milli; - - return '"' + year + '-' + month + '-' + day + 'T' + - hours + ':' + minutes + ':' + seconds + - '.' + milli + 'Z"'; - } - - if (o.constructor === Array) - { - var ret = []; - for (var i = 0; i < o.length; i++) - ret.push( $.toJSON(o[i]) || "null" ); - - return "[" + ret.join(",") + "]"; - } - - var pairs = []; - for (var k in o) { - var name; - var type = typeof k; - - if (type == "number") - name = '"' + k + '"'; - else if (type == "string") - name = $.quoteString(k); - else - continue; //skip non-string or number keys - - if (typeof o[k] == "function") - continue; //skip pairs where the value is a function. - - var val = $.toJSON(o[k]); - - pairs.push(name + ":" + val); - } - - return "{" + pairs.join(", ") + "}"; - } - }; - - /** jQuery.evalJSON(src) - Evaluates a given piece of json source. - **/ - $.evalJSON = function(src) - { - if (typeof(JSON) == 'object' && JSON.parse) - return JSON.parse(src); - return eval("(" + src + ")"); - }; - - /** jQuery.secureEvalJSON(src) - Evals JSON in a way that is *more* secure. - **/ - $.secureEvalJSON = function(src) - { - if (typeof(JSON) == 'object' && JSON.parse) - return JSON.parse(src); - - var filtered = src; - filtered = filtered.replace(/\\["\\\/bfnrtu]/g, '@'); - filtered = filtered.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']'); - filtered = filtered.replace(/(?:^|:|,)(?:\s*\[)+/g, ''); - - if (/^[\],:{}\s]*$/.test(filtered)) - return eval("(" + src + ")"); - else - throw new SyntaxError("Error parsing JSON, source is not valid."); - }; - - /** jQuery.quoteString(string) - Returns a string-repr of a string, escaping quotes intelligently. - Mostly a support function for toJSON. - - Examples: - >>> jQuery.quoteString("apple") - "apple" - - >>> jQuery.quoteString('"Where are we going?", she asked.') - "\"Where are we going?\", she asked." - **/ - $.quoteString = function(string) - { - if (string.match(_escapeable)) - { - return '"' + string.replace(_escapeable, function (a) - { - var c = _meta[a]; - if (typeof c === 'string') return c; - c = a.charCodeAt(); - return '\\u00' + Math.floor(c / 16).toString(16) + (c % 16).toString(16); - }) + '"'; - } - return '"' + string + '"'; - }; - - var _escapeable = /["\\\x00-\x1f\x7f-\x9f]/g; - - var _meta = { - '\b': '\\b', - '\t': '\\t', - '\n': '\\n', - '\f': '\\f', - '\r': '\\r', - '"' : '\\"', - '\\': '\\\\' - }; -})(jQuery); -/*! - * jQuery Tools v1.2.6 - The missing UI library for the Web - * - * tooltip/tooltip.js - * - * NO COPYRIGHTS OR LICENSES. DO WHAT YOU LIKE. - * - * http://flowplayer.org/tools/ - * - */ - -(function(a){a.tools=a.tools||{version:"v1.2.6"},a.tools.tooltip={conf:{effect:"toggle",fadeOutSpeed:"fast",predelay:0,delay:30,opacity:1,tip:0,fadeIE:!1,position:["top","center"],offset:[0,0],relative:!1,cancelDefault:!0,events:{def:"mouseenter,mouseleave",input:"focus,blur",widget:"focus mouseenter,blur mouseleave",tooltip:"mouseenter,mouseleave"},layout:"
",tipClass:"tooltip"},addEffect:function(a,c,d){b[a]=[c,d]}};var b={toggle:[function(a){var b=this.getConf(),c=this.getTip(),d=b.opacity;d<1&&c.css({opacity:d}),c.show(),a.call()},function(a){this.getTip().hide(),a.call()}],fade:[function(b){var c=this.getConf();!a.browser.msie||c.fadeIE?this.getTip().fadeTo(c.fadeInSpeed,c.opacity,b):(this.getTip().show(),b())},function(b){var c=this.getConf();!a.browser.msie||c.fadeIE?this.getTip().fadeOut(c.fadeOutSpeed,b):(this.getTip().hide(),b())}]};function c(b,c,d){var e=d.relative?b.position().top:b.offset().top,f=d.relative?b.position().left:b.offset().left,g=d.position[0];e-=c.outerHeight()-d.offset[0],f+=b.outerWidth()+d.offset[1],/iPad/i.test(navigator.userAgent)&&(e-=a(window).scrollTop());var h=c.outerHeight()+b.outerHeight();g=="center"&&(e+=h/2),g=="bottom"&&(e+=h),g=d.position[1];var i=c.outerWidth()+b.outerWidth();g=="center"&&(f-=i/2),g=="left"&&(f-=i);return{top:e,left:f}}function d(d,e){var f=this,g=d.add(f),h,i=0,j=0,k=d.attr("title"),l=d.attr("data-tooltip"),m=b[e.effect],n,o=d.is(":input"),p=o&&d.is(":checkbox, :radio, select, :button, :submit"),q=d.attr("type"),r=e.events[q]||e.events[o?p?"widget":"input":"def"];if(!m)throw"Nonexistent effect \""+e.effect+"\"";r=r.split(/,\s*/);if(r.length!=2)throw"Tooltip: bad events configuration for "+q;d.bind(r[0],function(a){clearTimeout(i),e.predelay?j=setTimeout(function(){f.show(a)},e.predelay):f.show(a)}).bind(r[1],function(a){clearTimeout(j),e.delay?i=setTimeout(function(){f.hide(a)},e.delay):f.hide(a)}),k&&e.cancelDefault&&(d.removeAttr("title"),d.data("title",k)),a.extend(f,{show:function(b){if(!h){l?h=a(l):e.tip?h=a(e.tip).eq(0):k?h=a(e.layout).addClass(e.tipClass).appendTo(document.body).hide().append(k):(h=d.next(),h.length||(h=d.parent().next()));if(!h.length)throw"Cannot find tooltip for "+d}if(f.isShown())return f;h.stop(!0,!0);var o=c(d,h,e);e.tip&&h.html(d.data("title")),b=a.Event(),b.type="onBeforeShow",g.trigger(b,[o]);if(b.isDefaultPrevented())return f;o=c(d,h,e),h.css({position:"absolute",top:o.top,left:o.left}),n=!0,m[0].call(f,function(){b.type="onShow",n="full",g.trigger(b)});var p=e.events.tooltip.split(/,\s*/);h.data("__set")||(h.unbind(p[0]).bind(p[0],function(){clearTimeout(i),clearTimeout(j)}),p[1]&&!d.is("input:not(:checkbox, :radio), textarea")&&h.unbind(p[1]).bind(p[1],function(a){a.relatedTarget!=d[0]&&d.trigger(r[1].split(" ")[0])}),e.tip||h.data("__set",!0));return f},hide:function(c){if(!h||!f.isShown())return f;c=a.Event(),c.type="onBeforeHide",g.trigger(c);if(!c.isDefaultPrevented()){n=!1,b[e.effect][1].call(f,function(){c.type="onHide",g.trigger(c)});return f}},isShown:function(a){return a?n=="full":n},getConf:function(){return e},getTip:function(){return h},getTrigger:function(){return d}}),a.each("onHide,onBeforeShow,onShow,onBeforeHide".split(","),function(b,c){a.isFunction(e[c])&&a(f).bind(c,e[c]),f[c]=function(b){b&&a(f).bind(c,b);return f}})}a.fn.tooltip=function(b){var c=this.data("tooltip");if(c)return c;b=a.extend(!0,{},a.tools.tooltip.conf,b),typeof b.position=="string"&&(b.position=b.position.split(/,?\s/)),this.each(function(){c=new d(a(this),b),a(this).data("tooltip",c)});return b.api?c:this}})(jQuery); -// For IE8 compatability, sigh -if (!Array.prototype.map) Array.prototype.map = function(callback, that) { - var i = -1, n = this.length, map = new Array(n); - while (++i < n) { - if (i in this) { - map[i] = callback.call(that, this[i], i, this); - } - } - return map; -}; -// ┌────────────────────────────────────────────────────────────────────┐ \\ -// │ Raphaël 2.1.0 - JavaScript Vector Library │ \\ -// ├────────────────────────────────────────────────────────────────────┤ \\ -// │ Copyright © 2008-2012 Dmitry Baranovskiy (http://raphaeljs.com) │ \\ -// │ Copyright © 2008-2012 Sencha Labs (http://sencha.com) │ \\ -// ├────────────────────────────────────────────────────────────────────┤ \\ -// │ Licensed under the MIT (http://raphaeljs.com/license.html) license.│ \\ -// └────────────────────────────────────────────────────────────────────┘ \\ - -(function(a){var b="0.3.4",c="hasOwnProperty",d=/[\.\/]/,e="*",f=function(){},g=function(a,b){return a-b},h,i,j={n:{}},k=function(a,b){var c=j,d=i,e=Array.prototype.slice.call(arguments,2),f=k.listeners(a),l=0,m=!1,n,o=[],p={},q=[],r=h,s=[];h=a,i=0;for(var t=0,u=f.length;tf*b.top){e=b.percents[y],p=b.percents[y-1]||0,t=t/b.top*(e-p),o=b.percents[y+1],j=b.anim[e];break}f&&d.attr(b.anim[b.percents[y]])}if(!!j){if(!k){for(var A in j)if(j[g](A))if(U[g](A)||d.paper.customAttributes[g](A)){u[A]=d.attr(A),u[A]==null&&(u[A]=T[A]),v[A]=j[A];switch(U[A]){case C:w[A]=(v[A]-u[A])/t;break;case"colour":u[A]=a.getRGB(u[A]);var B=a.getRGB(v[A]);w[A]={r:(B.r-u[A].r)/t,g:(B.g-u[A].g)/t,b:(B.b-u[A].b)/t};break;case"path":var D=bR(u[A],v[A]),E=D[1];u[A]=D[0],w[A]=[];for(y=0,z=u[A].length;yd)return d;while(cf?c=e:d=e,e=(d-c)/2+c}return e}function n(a,b){var c=o(a,b);return((l*c+k)*c+j)*c}function m(a){return((i*a+h)*a+g)*a}var g=3*b,h=3*(d-b)-g,i=1-g-h,j=3*c,k=3*(e-c)-j,l=1-j-k;return n(a,1/(200*f))}function cq(){return this.x+q+this.y+q+this.width+" × "+this.height}function cp(){return this.x+q+this.y}function cb(a,b,c,d,e,f){a!=null?(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 bH(b,c,d){b=a._path2curve(b),c=a._path2curve(c);var e,f,g,h,i,j,k,l,m,n,o=d?0:[];for(var p=0,q=b.length;p=0&&y<=1&&A>=0&&A<=1&&(d?n++:n.push({x:x.x,y:x.y,t1:y,t2:A}))}}return n}function bF(a,b){return bG(a,b,1)}function bE(a,b){return bG(a,b)}function bD(a,b,c,d,e,f,g,h){if(!(x(a,c)x(e,g)||x(b,d)x(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)return;var l=i/k,m=j/k,n=+l.toFixed(2),o=+m.toFixed(2);if(n<+y(a,c).toFixed(2)||n>+x(a,c).toFixed(2)||n<+y(e,g).toFixed(2)||n>+x(e,g).toFixed(2)||o<+y(b,d).toFixed(2)||o>+x(b,d).toFixed(2)||o<+y(f,h).toFixed(2)||o>+x(f,h).toFixed(2))return;return{x:l,y:m}}}function bC(a,b,c,d,e,f,g,h,i){if(!(i<0||bB(a,b,c,d,e,f,g,h)n)k/=2,l+=(m1?1:i<0?0:i;var j=i/2,k=12,l=[-0.1252,.1252,-0.3678,.3678,-0.5873,.5873,-0.7699,.7699,-0.9041,.9041,-0.9816,.9816],m=[.2491,.2491,.2335,.2335,.2032,.2032,.1601,.1601,.1069,.1069,.0472,.0472],n=0;for(var o=0;od;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 bx(){return this.hex}function bv(a,b,c){function d(){var e=Array.prototype.slice.call(arguments,0),f=e.join("␀"),h=d.cache=d.cache||{},i=d.count=d.count||[];if(h[g](f)){bu(i,f);return c?c(h[f]):h[f]}i.length>=1e3&&delete h[i.shift()],i.push(f),h[f]=a[m](b,e);return c?c(h[f]):h[f]}return d}function bu(a,b){for(var c=0,d=a.length;c',bl=bk.firstChild,bl.style.behavior="url(#default#VML)";if(!bl||typeof bl.adj!="object")return a.type=p;bk=null}a.svg=!(a.vml=a.type=="VML"),a._Paper=j,a.fn=k=j.prototype=a.prototype,a._id=0,a._oid=0,a.is=function(a,b){b=v.call(b);if(b=="finite")return!M[g](+a);if(b=="array")return a instanceof Array;return b=="null"&&a===null||b==typeof a&&a!==null||b=="object"&&a===Object(a)||b=="array"&&Array.isArray&&Array.isArray(a)||H.call(a).slice(8,-1).toLowerCase()==b},a.angle=function(b,c,d,e,f,g){if(f==null){var h=b-d,i=c-e;if(!h&&!i)return 0;return(180+w.atan2(-i,-h)*180/B+360)%360}return a.angle(b,c,f,g)-a.angle(d,e,f,g)},a.rad=function(a){return a%360*B/180},a.deg=function(a){return a*180/B%360},a.snapTo=function(b,c,d){d=a.is(d,"finite")?d:10;if(a.is(b,E)){var e=b.length;while(e--)if(z(b[e]-c)<=d)return b[e]}else{b=+b;var f=c%b;if(fb-d)return c-f+b}return c};var bn=a.createUUID=function(a,b){return function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(a,b).toUpperCase()}}(/[xy]/g,function(a){var b=w.random()*16|0,c=a=="x"?b:b&3|8;return c.toString(16)});a.setWindow=function(b){eve("raphael.setWindow",a,h.win,b),h.win=b,h.doc=h.win.document,a._engine.initWin&&a._engine.initWin(h.win)};var bo=function(b){if(a.vml){var c=/^\s+|\s+$/g,d;try{var e=new ActiveXObject("htmlfile");e.write(""),e.close(),d=e.body}catch(f){d=createPopup().document.body}var g=d.createTextRange();bo=bv(function(a){try{d.style.color=r(a).replace(c,p);var b=g.queryCommandValue("ForeColor");b=(b&255)<<16|b&65280|(b&16711680)>>>16;return"#"+("000000"+b.toString(16)).slice(-6)}catch(e){return"none"}})}else{var i=h.doc.createElement("i");i.title="Raphaël Colour Picker",i.style.display="none",h.doc.body.appendChild(i),bo=bv(function(a){i.style.color=a;return h.doc.defaultView.getComputedStyle(i,p).getPropertyValue("color")})}return bo(b)},bp=function(){return"hsb("+[this.h,this.s,this.b]+")"},bq=function(){return"hsl("+[this.h,this.s,this.l]+")"},br=function(){return this.hex},bs=function(b,c,d){c==null&&a.is(b,"object")&&"r"in b&&"g"in b&&"b"in b&&(d=b.b,c=b.g,b=b.r);if(c==null&&a.is(b,D)){var e=a.getRGB(b);b=e.r,c=e.g,d=e.b}if(b>1||c>1||d>1)b/=255,c/=255,d/=255;return[b,c,d]},bt=function(b,c,d,e){b*=255,c*=255,d*=255;var f={r:b,g:c,b:d,hex:a.rgb(b,c,d),toString:br};a.is(e,"finite")&&(f.opacity=e);return f};a.color=function(b){var c;a.is(b,"object")&&"h"in b&&"s"in b&&"b"in b?(c=a.hsb2rgb(b),b.r=c.r,b.g=c.g,b.b=c.b,b.hex=c.hex):a.is(b,"object")&&"h"in b&&"s"in b&&"l"in b?(c=a.hsl2rgb(b),b.r=c.r,b.g=c.g,b.b=c.b,b.hex=c.hex):(a.is(b,"string")&&(b=a.getRGB(b)),a.is(b,"object")&&"r"in b&&"g"in b&&"b"in b?(c=a.rgb2hsl(b),b.h=c.h,b.s=c.s,b.l=c.l,c=a.rgb2hsb(b),b.v=c.b):(b={hex:"none"},b.r=b.g=b.b=b.h=b.s=b.v=b.l=-1)),b.toString=br;return b},a.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,a=a.h,d=a.o),a*=360;var e,f,g,h,i;a=a%360/60,i=c*b,h=i*(1-z(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];return bt(e,f,g,d)},a.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);if(a>1||b>1||c>1)a/=360,b/=100,c/=100;a*=360;var e,f,g,h,i;a=a%360/60,i=2*b*(c<.5?c:1-c),h=i*(1-z(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];return bt(e,f,g,d)},a.rgb2hsb=function(a,b,c){c=bs(a,b,c),a=c[0],b=c[1],c=c[2];var d,e,f,g;f=x(a,b,c),g=f-y(a,b,c),d=g==0?null:f==a?(b-c)/g:f==b?(c-a)/g+2:(a-b)/g+4,d=(d+360)%6*60/360,e=g==0?0:g/f;return{h:d,s:e,b:f,toString:bp}},a.rgb2hsl=function(a,b,c){c=bs(a,b,c),a=c[0],b=c[1],c=c[2];var d,e,f,g,h,i;g=x(a,b,c),h=y(a,b,c),i=g-h,d=i==0?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=i==0?0:f<.5?i/(2*f):i/(2-2*f);return{h:d,s:e,l:f,toString:bq}},a._path2string=function(){return this.join(",").replace(Y,"$1")};var bw=a._preload=function(a,b){var c=h.doc.createElement("img");c.style.cssText="position:absolute;left:-9999em;top:-9999em",c.onload=function(){b.call(this),this.onload=null,h.doc.body.removeChild(this)},c.onerror=function(){h.doc.body.removeChild(this)},h.doc.body.appendChild(c),c.src=a};a.getRGB=bv(function(b){if(!b||!!((b=r(b)).indexOf("-")+1))return{r:-1,g:-1,b:-1,hex:"none",error:1,toString:bx};if(b=="none")return{r:-1,g:-1,b:-1,hex:"none",toString:bx};!X[g](b.toLowerCase().substring(0,2))&&b.charAt()!="#"&&(b=bo(b));var c,d,e,f,h,i,j,k=b.match(L);if(k){k[2]&&(f=R(k[2].substring(5),16),e=R(k[2].substring(3,5),16),d=R(k[2].substring(1,3),16)),k[3]&&(f=R((i=k[3].charAt(3))+i,16),e=R((i=k[3].charAt(2))+i,16),d=R((i=k[3].charAt(1))+i,16)),k[4]&&(j=k[4][s](W),d=Q(j[0]),j[0].slice(-1)=="%"&&(d*=2.55),e=Q(j[1]),j[1].slice(-1)=="%"&&(e*=2.55),f=Q(j[2]),j[2].slice(-1)=="%"&&(f*=2.55),k[1].toLowerCase().slice(0,4)=="rgba"&&(h=Q(j[3])),j[3]&&j[3].slice(-1)=="%"&&(h/=100));if(k[5]){j=k[5][s](W),d=Q(j[0]),j[0].slice(-1)=="%"&&(d*=2.55),e=Q(j[1]),j[1].slice(-1)=="%"&&(e*=2.55),f=Q(j[2]),j[2].slice(-1)=="%"&&(f*=2.55),(j[0].slice(-3)=="deg"||j[0].slice(-1)=="°")&&(d/=360),k[1].toLowerCase().slice(0,4)=="hsba"&&(h=Q(j[3])),j[3]&&j[3].slice(-1)=="%"&&(h/=100);return a.hsb2rgb(d,e,f,h)}if(k[6]){j=k[6][s](W),d=Q(j[0]),j[0].slice(-1)=="%"&&(d*=2.55),e=Q(j[1]),j[1].slice(-1)=="%"&&(e*=2.55),f=Q(j[2]),j[2].slice(-1)=="%"&&(f*=2.55),(j[0].slice(-3)=="deg"||j[0].slice(-1)=="°")&&(d/=360),k[1].toLowerCase().slice(0,4)=="hsla"&&(h=Q(j[3])),j[3]&&j[3].slice(-1)=="%"&&(h/=100);return a.hsl2rgb(d,e,f,h)}k={r:d,g:e,b:f,toString:bx},k.hex="#"+(16777216|f|e<<8|d<<16).toString(16).slice(1),a.is(h,"finite")&&(k.opacity=h);return k}return{r:-1,g:-1,b:-1,hex:"none",error:1,toString:bx}},a),a.hsb=bv(function(b,c,d){return a.hsb2rgb(b,c,d).hex}),a.hsl=bv(function(b,c,d){return a.hsl2rgb(b,c,d).hex}),a.rgb=bv(function(a,b,c){return"#"+(16777216|c|b<<8|a<<16).toString(16).slice(1)}),a.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);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}));return c.hex},a.getColor.reset=function(){delete this.start},a.parsePathString=function(b){if(!b)return null;var c=bz(b);if(c.arr)return bJ(c.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=[];a.is(b,E)&&a.is(b[0],E)&&(e=bJ(b)),e.length||r(b).replace(Z,function(a,b,c){var f=[],g=b.toLowerCase();c.replace(_,function(a,b){b&&f.push(+b)}),g=="m"&&f.length>2&&(e.push([b][n](f.splice(0,2))),g="l",b=b=="m"?"l":"L");if(g=="r")e.push([b][n](f));else while(f.length>=d[g]){e.push([b][n](f.splice(0,d[g])));if(!d[g])break}}),e.toString=a._path2string,c.arr=bJ(e);return e},a.parseTransformString=bv(function(b){if(!b)return null;var c={r:3,s:4,t:2,m:6},d=[];a.is(b,E)&&a.is(b[0],E)&&(d=bJ(b)),d.length||r(b).replace($,function(a,b,c){var e=[],f=v.call(b);c.replace(_,function(a,b){b&&e.push(+b)}),d.push([b][n](e))}),d.toString=a._path2string;return d});var bz=function(a){var b=bz.ps=bz.ps||{};b[a]?b[a].sleep=100:b[a]={sleep:100},setTimeout(function(){for(var c in b)b[g](c)&&c!=a&&(b[c].sleep--,!b[c].sleep&&delete b[c])});return b[a]};a.findDotsAtSegment=function(a,b,c,d,e,f,g,h,i){var j=1-i,k=A(j,3),l=A(j,2),m=i*i,n=m*i,o=k*a+l*3*i*c+j*3*i*i*e+n*g,p=k*b+l*3*i*d+j*3*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,x=j*e+i*g,y=j*f+i*h,z=90-w.atan2(q-s,r-t)*180/B;(q>s||r=a.x&&b<=a.x2&&c>=a.y&&c<=a.y2},a.isBBoxIntersect=function(b,c){var d=a.isPointInsideBBox;return d(c,b.x,b.y)||d(c,b.x2,b.y)||d(c,b.x,b.y2)||d(c,b.x2,b.y2)||d(b,c.x,c.y)||d(b,c.x2,c.y)||d(b,c.x,c.y2)||d(b,c.x2,c.y2)||(b.xc.x||c.xb.x)&&(b.yc.y||c.yb.y)},a.pathIntersection=function(a,b){return bH(a,b)},a.pathIntersectionNumber=function(a,b){return bH(a,b,1)},a.isPointInsidePath=function(b,c,d){var e=a.pathBBox(b);return a.isPointInsideBBox(e,c,d)&&bH(b,[["M",c,d],["H",e.x2+10]],1)%2==1},a._removedFactory=function(a){return function(){eve("raphael.log",null,"Raphaël: you are calling to method “"+a+"” of removed object",a)}};var bI=a.pathBBox=function(a){var b=bz(a);if(b.bbox)return b.bbox;if(!a)return{x:0,y:0,width:0,height:0,x2:0,y2:0};a=bR(a);var c=0,d=0,e=[],f=[],g;for(var h=0,i=a.length;h1&&(v=w.sqrt(v),c=v*c,d=v*d);var x=c*c,y=d*d,A=(f==g?-1:1)*w.sqrt(z((x*y-x*u*u-y*t*t)/(x*u*u+y*t*t))),C=A*c*u/d+(a+h)/2,D=A*-d*t/c+(b+i)/2,E=w.asin(((b-D)/d).toFixed(9)),F=w.asin(((i-D)/d).toFixed(9));E=aF&&(E=E-B*2),!g&&F>E&&(F=F-B*2)}else E=j[0],F=j[1],C=j[2],D=j[3];var G=F-E;if(z(G)>k){var H=F,I=h,J=i;F=E+k*(g&&F>E?1:-1),h=C+c*w.cos(F),i=D+d*w.sin(F),m=bO(h,i,c,d,e,0,g,I,J,[F,H,C,D])}G=F-E;var K=w.cos(E),L=w.sin(E),M=w.cos(F),N=w.sin(F),O=w.tan(G/4),P=4/3*c*O,Q=4/3*d*O,R=[a,b],S=[a+P*L,b-Q*K],T=[h+P*N,i-Q*M],U=[h,i];S[0]=2*R[0]-S[0],S[1]=2*R[1]-S[1];if(j)return[S,T,U][n](m);m=[S,T,U][n](m).join()[s](",");var V=[];for(var W=0,X=m.length;W"1e12"&&(l=.5),z(n)>"1e12"&&(n=.5),l>0&&l<1&&(q=bP(a,b,c,d,e,f,g,h,l),p.push(q.x),o.push(q.y)),n>0&&n<1&&(q=bP(a,b,c,d,e,f,g,h,n),p.push(q.x),o.push(q.y)),i=f-2*d+b-(h-2*f+d),j=2*(d-b)-2*(f-d),k=b-d,l=(-j+w.sqrt(j*j-4*i*k))/2/i,n=(-j-w.sqrt(j*j-4*i*k))/2/i,z(l)>"1e12"&&(l=.5),z(n)>"1e12"&&(n=.5),l>0&&l<1&&(q=bP(a,b,c,d,e,f,g,h,l),p.push(q.x),o.push(q.y)),n>0&&n<1&&(q=bP(a,b,c,d,e,f,g,h,n),p.push(q.x),o.push(q.y));return{min:{x:y[m](0,p),y:y[m](0,o)},max:{x:x[m](0,p),y:x[m](0,o)}}}),bR=a._path2curve=bv(function(a,b){var c=!b&&bz(a);if(!b&&c.curve)return bJ(c.curve);var d=bL(a),e=b&&bL(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){var c,d;if(!a)return["C",b.x,b.y,b.x,b.y,b.x,b.y];!(a[0]in{T:1,Q:1})&&(b.qx=b.qy=null);switch(a[0]){case"M":b.X=a[1],b.Y=a[2];break;case"A":a=["C"][n](bO[m](0,[b.x,b.y][n](a.slice(1))));break;case"S":c=b.x+(b.x-(b.bx||b.x)),d=b.y+(b.y-(b.by||b.y)),a=["C",c,d][n](a.slice(1));break;case"T":b.qx=b.x+(b.x-(b.qx||b.x)),b.qy=b.y+(b.y-(b.qy||b.y)),a=["C"][n](bN(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"][n](bN(b.x,b.y,a[1],a[2],a[3],a[4]));break;case"L":a=["C"][n](bM(b.x,b.y,a[1],a[2]));break;case"H":a=["C"][n](bM(b.x,b.y,a[1],b.y));break;case"V":a=["C"][n](bM(b.x,b.y,b.x,a[1]));break;case"Z":a=["C"][n](bM(b.x,b.y,b.X,b.Y))}return a},i=function(a,b){if(a[b].length>7){a[b].shift();var c=a[b];while(c.length)a.splice(b++,0,["C"][n](c.splice(0,6)));a.splice(b,1),l=x(d.length,e&&e.length||0)}},j=function(a,b,c,f,g){a&&b&&a[g][0]=="M"&&b[g][0]!="M"&&(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],l=x(d.length,e&&e.length||0))};for(var k=0,l=x(d.length,e&&e.length||0);ke){if(c&&!l.start){m=cs(g,h,i[1],i[2],i[3],i[4],i[5],i[6],e-n),k+=["C"+m.start.x,m.start.y,m.m.x,m.m.y,m.x,m.y];if(f)return k;l.start=k,k=["M"+m.x,m.y+"C"+m.n.x,m.n.y,m.end.x,m.end.y,i[5],i[6]].join(),n+=j,g=+i[5],h=+i[6];continue}if(!b&&!c){m=cs(g,h,i[1],i[2],i[3],i[4],i[5],i[6],e-n);return{x:m.x,y:m.y,alpha:m.alpha}}}n+=j,g=+i[5],h=+i[6]}k+=i.shift()+i}l.end=k,m=b?n:c?l:a.findDotsAtSegment(g,h,i[0],i[1],i[2],i[3],i[4],i[5],1),m.alpha&&(m={x:m.x,y:m.y,alpha:m.alpha});return m}},cu=ct(1),cv=ct(),cw=ct(0,1);a.getTotalLength=cu,a.getPointAtLength=cv,a.getSubpath=function(a,b,c){if(this.getTotalLength(a)-c<1e-6)return cw(a,b).end;var d=cw(a,c,1);return b?cw(d,b).end:d},cl.getTotalLength=function(){if(this.type=="path"){if(this.node.getTotalLength)return this.node.getTotalLength();return cu(this.attrs.path)}},cl.getPointAtLength=function(a){if(this.type=="path")return cv(this.attrs.path,a)},cl.getSubpath=function(b,c){if(this.type=="path")return a.getSubpath(this.attrs.path,b,c)};var cx=a.easing_formulas={linear:function(a){return a},"<":function(a){return A(a,1.7)},">":function(a){return A(a,.48)},"<>":function(a){var b=.48-a/1.04,c=w.sqrt(.1734+b*b),d=c-b,e=A(z(d),1/3)*(d<0?-1:1),f=-c-b,g=A(z(f),1/3)*(f<0?-1:1),h=e+g+.5;return(1-h)*3*h*h+h*h*h},backIn:function(a){var b=1.70158;return a*a*((b+1)*a-b)},backOut:function(a){a=a-1;var b=1.70158;return a*a*((b+1)*a+b)+1},elastic:function(a){if(a==!!a)return a;return A(2,-10*a)*w.sin((a-.075)*2*B/.3)+1},bounce:function(a){var b=7.5625,c=2.75,d;a<1/c?d=b*a*a:a<2/c?(a-=1.5/c,d=b*a*a+.75):a<2.5/c?(a-=2.25/c,d=b*a*a+.9375):(a-=2.625/c,d=b*a*a+.984375);return d}};cx.easeIn=cx["ease-in"]=cx["<"],cx.easeOut=cx["ease-out"]=cx[">"],cx.easeInOut=cx["ease-in-out"]=cx["<>"],cx["back-in"]=cx.backIn,cx["back-out"]=cx.backOut;var cy=[],cz=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(a){setTimeout(a,16)},cA=function(){var b=+(new Date),c=0;for(;c1&&!d.next){for(s in k)k[g](s)&&(r[s]=d.totalOrigin[s]);d.el.attr(r),cE(d.anim,d.el,d.anim.percents[0],null,d.totalOrigin,d.repeat-1)}d.next&&!d.stop&&cE(d.anim,d.el,d.next,null,d.totalOrigin,d.repeat)}}a.svg&&m&&m.paper&&m.paper.safari(),cy.length&&cz(cA)},cB=function(a){return a>255?255:a<0?0:a};cl.animateWith=function(b,c,d,e,f,g){var h=this;if(h.removed){g&&g.call(h);return h}var i=d instanceof cD?d:a.animation(d,e,f,g),j,k;cE(i,h,i.percents[0],null,h.attr());for(var l=0,m=cy.length;l.5)*2-1;i(m-.5,2)+i(n-.5,2)>.25&&(n=f.sqrt(.25-i(m-.5,2))*e+.5)&&n!=.5&&(n=n.toFixed(5)-1e-5*e)}return l}),e=e.split(/\s*\-\s*/);if(j=="linear"){var t=e.shift();t=-d(t);if(isNaN(t))return null;var u=[0,0,f.cos(a.rad(t)),f.sin(a.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=a._parseDots(e);if(!w)return null;k=k.replace(/[\(\)\s,\xb0#]/g,"_"),b.gradient&&k!=b.gradient.id&&(p.defs.removeChild(b.gradient),delete b.gradient);if(!b.gradient){s=q(j+"Gradient",{id:k}),b.gradient=s,q(s,j=="radial"?{fx:m,fy:n}:{x1:u[0],y1:u[1],x2:u[2],y2:u[3],gradientTransform:b.matrix.invert()}),p.defs.appendChild(s);for(var x=0,y=w.length;x1?G.opacity/100:G.opacity});case"stroke":G=a.getRGB(p),i.setAttribute(o,G.hex),o=="stroke"&&G[b]("opacity")&&q(i,{"stroke-opacity":G.opacity>1?G.opacity/100:G.opacity}),o=="stroke"&&d._.arrows&&("startString"in d._.arrows&&t(d,d._.arrows.startString),"endString"in d._.arrows&&t(d,d._.arrows.endString,1));break;case"gradient":(d.type=="circle"||d.type=="ellipse"||c(p).charAt()!="r")&&r(d,p);break;case"opacity":k.gradient&&!k[b]("stroke-opacity")&&q(i,{"stroke-opacity":p>1?p/100:p});case"fill-opacity":if(k.gradient){H=a._g.doc.getElementById(i.getAttribute("fill").replace(/^url\(#|\)$/g,l)),H&&(I=H.getElementsByTagName("stop"),q(I[I.length-1],{"stop-opacity":p}));break};default:o=="font-size"&&(p=e(p,10)+"px");var J=o.replace(/(\-.)/g,function(a){return a.substring(1).toUpperCase()});i.style[J]=p,d._.dirty=1,i.setAttribute(o,p)}}y(d,f),i.style.visibility=m},x=1.2,y=function(d,f){if(d.type=="text"&&!!(f[b]("text")||f[b]("font")||f[b]("font-size")||f[b]("x")||f[b]("y"))){var g=d.attrs,h=d.node,i=h.firstChild?e(a._g.doc.defaultView.getComputedStyle(h.firstChild,l).getPropertyValue("font-size"),10):10;if(f[b]("text")){g.text=f.text;while(h.firstChild)h.removeChild(h.firstChild);var j=c(f.text).split("\n"),k=[],m;for(var n=0,o=j.length;n"));var $=X.getBoundingClientRect();t.W=m.w=($.right-$.left)/Y,t.H=m.h=($.bottom-$.top)/Y,t.X=m.x,t.Y=m.y+t.H/2,("x"in i||"y"in i)&&(t.path.v=a.format("m{0},{1}l{2},{1}",f(m.x*u),f(m.y*u),f(m.x*u)+1));var _=["x","y","text","font","font-family","font-weight","font-style","font-size"];for(var ba=0,bb=_.length;ba.25&&(c=e.sqrt(.25-i(b-.5,2))*((c>.5)*2-1)+.5),m=b+n+c);return o}),f=f.split(/\s*\-\s*/);if(l=="linear"){var p=f.shift();p=-d(p);if(isNaN(p))return null}var q=a._parseDots(f);if(!q)return null;b=b.shape||b.node;if(q.length){b.removeChild(g),g.on=!0,g.method="none",g.color=q[0].color,g.color2=q[q.length-1].color;var r=[];for(var s=0,t=q.length;s')}}catch(c){F=function(a){return b.createElement("<"+a+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">')}}},a._engine.initWin(a._g.win),a._engine.create=function(){var b=a._getContainer.apply(0,arguments),c=b.container,d=b.height,e,f=b.width,g=b.x,h=b.y;if(!c)throw new Error("VML container not found.");var i=new a._Paper,j=i.canvas=a._g.doc.createElement("div"),k=j.style;g=g||0,h=h||0,f=f||512,d=d||342,i.width=f,i.height=d,f==+f&&(f+="px"),d==+d&&(d+="px"),i.coordsize=u*1e3+n+u*1e3,i.coordorigin="0 0",i.span=a._g.doc.createElement("span"),i.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;",j.appendChild(i.span),k.cssText=a.format("top:0;left:0;width:{0};height:{1};display:inline-block;position:relative;clip:rect(0 {0} {1} 0);overflow:hidden",f,d),c==1?(a._g.doc.body.appendChild(j),k.left=g+"px",k.top=h+"px",k.position="absolute"):c.firstChild?c.insertBefore(j,c.firstChild):c.appendChild(j),i.renderfix=function(){};return i},a.prototype.clear=function(){a.eve("raphael.clear",this),this.canvas.innerHTML=o,this.span=a._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},a.prototype.remove=function(){a.eve("raphael.remove",this),this.canvas.parentNode.removeChild(this.canvas);for(var b in this)this[b]=typeof this[b]=="function"?a._removedFactory(b):null;return!0};var G=a.st;for(var H in E)E[b](H)&&!G[b](H)&&(G[H]=function(a){return function(){var b=arguments;return this.forEach(function(c){c[a].apply(c,b)})}}(H))}(window.Raphael) -; -d3=function(){function n(n){return null!=n&&!isNaN(n)}function t(n){return n.length}function e(n){for(var t=1;n*t%1;)t*=10;return t}function r(n,t){try{for(var e in t)Object.defineProperty(n.prototype,e,{value:t[e],enumerable:!1})}catch(r){n.prototype=t}}function u(){}function i(){}function o(n,t,e){return function(){var r=e.apply(t,arguments);return r===t?n:r}}function a(n,t){if(t in n)return t;t=t.charAt(0).toUpperCase()+t.substring(1);for(var e=0,r=Do.length;r>e;++e){var u=Do[e]+t;if(u in n)return u}}function c(){}function l(){}function s(n){function t(){for(var t,r=e,u=-1,i=r.length;++ue;e++)for(var u,i=n[e],o=0,a=i.length;a>o;o++)(u=i[o])&&t(u,o,e);return n}function T(n){return Lo(n,Io),n}function q(n){var t,e;return function(r,u,i){var o,a=n[i].update,c=a.length;for(i!=e&&(e=i,t=0),u>=t&&(t=u+1);!(o=a[t])&&++t0&&(n=n.substring(0,a));var s=Zo.get(n);return s&&(n=s,l=j),a?t?u:r:t?c:i}function D(n,t){return function(e){var r=mo.event;mo.event=e,t[0]=this.__data__;try{n.apply(this,t)}finally{mo.event=r}}}function j(n,t){var e=D(n,t);return function(n){var t=this,r=n.relatedTarget;r&&(r===t||8&r.compareDocumentPosition(t))||e.call(t,n)}}function L(){var n=".dragsuppress-"+ ++Xo,t="touchmove"+n,e="selectstart"+n,r="dragstart"+n,u="click"+n,i=mo.select(_o).on(t,f).on(e,f).on(r,f),o=bo.style,a=o[Vo];return o[Vo]="none",function(t){function e(){i.on(u,null)}i.on(n,null),o[Vo]=a,t&&(i.on(u,function(){f(),e()},!0),setTimeout(e,0))}}function H(n,t){t.changedTouches&&(t=t.changedTouches[0]);var e=n.ownerSVGElement||n;if(e.createSVGPoint){var r=e.createSVGPoint();if(0>$o&&(_o.scrollX||_o.scrollY)){e=mo.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var u=e[0][0].getScreenCTM();$o=!(u.f||u.e),e.remove()}return $o?(r.x=t.pageX,r.y=t.pageY):(r.x=t.clientX,r.y=t.clientY),r=r.matrixTransform(n.getScreenCTM().inverse()),[r.x,r.y]}var i=n.getBoundingClientRect();return[t.clientX-i.left-n.clientLeft,t.clientY-i.top-n.clientTop]}function F(n){return n>0?1:0>n?-1:0}function P(n){return n>1?0:-1>n?Bo:Math.acos(n)}function O(n){return n>1?Jo:-1>n?-Jo:Math.asin(n)}function R(n){return((n=Math.exp(n))-1/n)/2}function Y(n){return((n=Math.exp(n))+1/n)/2}function I(n){return((n=Math.exp(2*n))-1)/(n+1)}function U(n){return(n=Math.sin(n/2))*n}function Z(){}function V(n,t,e){return new X(n,t,e)}function X(n,t,e){this.h=n,this.s=t,this.l=e}function $(n,t,e){function r(n){return n>360?n-=360:0>n&&(n+=360),60>n?i+(o-i)*n/60:180>n?o:240>n?i+(o-i)*(240-n)/60:i}function u(n){return Math.round(255*r(n))}var i,o;return n=isNaN(n)?0:(n%=360)<0?n+360:n,t=isNaN(t)?0:0>t?0:t>1?1:t,e=0>e?0:e>1?1:e,o=.5>=e?e*(1+t):e+t-e*t,i=2*e-o,ot(u(n+120),u(n),u(n-120))}function B(n,t,e){return new W(n,t,e)}function W(n,t,e){this.h=n,this.c=t,this.l=e}function J(n,t,e){return isNaN(n)&&(n=0),isNaN(t)&&(t=0),G(e,Math.cos(n*=Qo)*t,Math.sin(n)*t)}function G(n,t,e){return new K(n,t,e)}function K(n,t,e){this.l=n,this.a=t,this.b=e}function Q(n,t,e){var r=(n+16)/116,u=r+t/500,i=r-e/200;return u=tt(u)*sa,r=tt(r)*fa,i=tt(i)*ha,ot(rt(3.2404542*u-1.5371385*r-.4985314*i),rt(-.969266*u+1.8760108*r+.041556*i),rt(.0556434*u-.2040259*r+1.0572252*i))}function nt(n,t,e){return n>0?B(Math.atan2(e,t)*na,Math.sqrt(t*t+e*e),n):B(0/0,0/0,n)}function tt(n){return n>.206893034?n*n*n:(n-4/29)/7.787037}function et(n){return n>.008856?Math.pow(n,1/3):7.787037*n+4/29}function rt(n){return Math.round(255*(.00304>=n?12.92*n:1.055*Math.pow(n,1/2.4)-.055))}function ut(n){return ot(n>>16,255&n>>8,255&n)}function it(n){return ut(n)+""}function ot(n,t,e){return new at(n,t,e)}function at(n,t,e){this.r=n,this.g=t,this.b=e}function ct(n){return 16>n?"0"+Math.max(0,n).toString(16):Math.min(255,n).toString(16)}function lt(n,t,e){var r,u,i,o=0,a=0,c=0;if(r=/([a-z]+)\((.*)\)/i.exec(n))switch(u=r[2].split(","),r[1]){case"hsl":return e(parseFloat(u[0]),parseFloat(u[1])/100,parseFloat(u[2])/100);case"rgb":return t(gt(u[0]),gt(u[1]),gt(u[2]))}return(i=da.get(n))?t(i.r,i.g,i.b):(null!=n&&"#"===n.charAt(0)&&(4===n.length?(o=n.charAt(1),o+=o,a=n.charAt(2),a+=a,c=n.charAt(3),c+=c):7===n.length&&(o=n.substring(1,3),a=n.substring(3,5),c=n.substring(5,7)),o=parseInt(o,16),a=parseInt(a,16),c=parseInt(c,16)),t(o,a,c))}function st(n,t,e){var r,u,i=Math.min(n/=255,t/=255,e/=255),o=Math.max(n,t,e),a=o-i,c=(o+i)/2;return a?(u=.5>c?a/(o+i):a/(2-o-i),r=n==o?(t-e)/a+(e>t?6:0):t==o?(e-n)/a+2:(n-t)/a+4,r*=60):(r=0/0,u=c>0&&1>c?0:r),V(r,u,c)}function ft(n,t,e){n=ht(n),t=ht(t),e=ht(e);var r=et((.4124564*n+.3575761*t+.1804375*e)/sa),u=et((.2126729*n+.7151522*t+.072175*e)/fa),i=et((.0193339*n+.119192*t+.9503041*e)/ha);return G(116*u-16,500*(r-u),200*(u-i))}function ht(n){return(n/=255)<=.04045?n/12.92:Math.pow((n+.055)/1.055,2.4)}function gt(n){var t=parseFloat(n);return"%"===n.charAt(n.length-1)?Math.round(2.55*t):t}function pt(n){return"function"==typeof n?n:function(){return n}}function dt(n){return n}function vt(n){return function(t,e,r){return 2===arguments.length&&"function"==typeof e&&(r=e,e=null),mt(t,e,n,r)}}function mt(n,t,e,r){function u(){var n,t=c.status;if(!t&&c.responseText||t>=200&&300>t||304===t){try{n=e.call(i,c)}catch(r){return o.error.call(i,r),void 0}o.load.call(i,n)}else o.error.call(i,c)}var i={},o=mo.dispatch("beforesend","progress","load","error"),a={},c=new XMLHttpRequest,l=null;return!_o.XDomainRequest||"withCredentials"in c||!/^(http(s)?:)?\/\//.test(n)||(c=new XDomainRequest),"onload"in c?c.onload=c.onerror=u:c.onreadystatechange=function(){c.readyState>3&&u()},c.onprogress=function(n){var t=mo.event;mo.event=n;try{o.progress.call(i,c)}finally{mo.event=t}},i.header=function(n,t){return n=(n+"").toLowerCase(),arguments.length<2?a[n]:(null==t?delete a[n]:a[n]=t+"",i)},i.mimeType=function(n){return arguments.length?(t=null==n?null:n+"",i):t},i.responseType=function(n){return arguments.length?(l=n,i):l},i.response=function(n){return e=n,i},["get","post"].forEach(function(n){i[n]=function(){return i.send.apply(i,[n].concat(Mo(arguments)))}}),i.send=function(e,r,u){if(2===arguments.length&&"function"==typeof r&&(u=r,r=null),c.open(e,n,!0),null==t||"accept"in a||(a.accept=t+",*/*"),c.setRequestHeader)for(var s in a)c.setRequestHeader(s,a[s]);return null!=t&&c.overrideMimeType&&c.overrideMimeType(t),null!=l&&(c.responseType=l),null!=u&&i.on("error",u).on("load",function(n){u(null,n)}),o.beforesend.call(i,c),c.send(null==r?null:r),i},i.abort=function(){return c.abort(),i},mo.rebind(i,o,"on"),null==r?i:i.get(yt(r))}function yt(n){return 1===n.length?function(t,e){n(null==t?e:null)}:n}function Mt(){var n=bt(),t=_t()-n;t>24?(isFinite(t)&&(clearTimeout(Ma),Ma=setTimeout(Mt,t)),ya=0):(ya=1,ba(Mt))}function xt(n,t,e){var r=arguments.length;2>r&&(t=0),3>r&&(e=Date.now()),xa.callback=n,xa.time=e+t}function bt(){var n=Date.now();for(xa=va;xa;)n>=xa.time&&(xa.flush=xa.callback(n-xa.time)),xa=xa.next;return n}function _t(){for(var n,t=va,e=1/0;t;)t.flush?t=n?n.next=t.next:va=t.next:(t.time8?function(n){return n/e}:function(n){return n*e},symbol:n}}function St(n,t){return t-(n?Math.ceil(Math.log(n)/Math.LN10):1)}function Et(n){return n+""}function kt(){}function At(n,t,e){var r=e.s=n+t,u=r-n,i=r-u;e.t=n-i+(t-u)}function Nt(n,t){n&&Da.hasOwnProperty(n.type)&&Da[n.type](n,t)}function Tt(n,t,e){var r,u=-1,i=n.length-e;for(t.lineStart();++ua;++a)u.point((e=n[a])[0],e[1]);return u.lineEnd(),void 0}var c={point:e,points:n,other:null,visited:!1,entry:!0,subject:!0},l={point:e,points:[e],other:c,visited:!1,entry:!1,subject:!1};c.other=l,i.push(c),o.push(l),c={point:r,points:[r],other:null,visited:!1,entry:!1,subject:!0},l={point:r,points:[r],other:c,visited:!1,entry:!0,subject:!1},c.other=l,i.push(c),o.push(l)}}),o.sort(t),$t(i),$t(o),i.length){for(var a=0,c=e,l=o.length;l>a;++a)o[a].entry=c=!c;for(var s,f,h,g=i[0];;){for(s=g;s.visited;)if((s=s.next)===g)return;f=s.points,u.lineStart();do{if(s.visited=s.other.visited=!0,s.entry){if(s.subject)for(var a=0;a=0;)u.point((h=f[a])[0],h[1])}else r(s.point,s.prev.point,-1,u);s=s.prev}s=s.other,f=s.points}while(!s.visited);u.lineEnd()}}}function $t(n){if(t=n.length){for(var t,e,r=0,u=n[0];++r1&&2&t&&e.push(e.pop().concat(e.shift())),g.push(e.filter(Wt))}}var g,p,d,v=t(i),m=u.invert(r[0],r[1]),y={point:o,lineStart:c,lineEnd:l,polygonStart:function(){y.point=s,y.lineStart=f,y.lineEnd=h,g=[],p=[],i.polygonStart()},polygonEnd:function(){y.point=o,y.lineStart=c,y.lineEnd=l,g=mo.merge(g);var n=Kt(m,p);g.length?Xt(g,Gt,n,e,i):n&&(i.lineStart(),e(null,null,1,i),i.lineEnd()),i.polygonEnd(),g=p=null},sphere:function(){i.polygonStart(),i.lineStart(),e(null,null,1,i),i.lineEnd(),i.polygonEnd()}},M=Jt(),x=t(M);return y}}function Wt(n){return n.length>1}function Jt(){var n,t=[];return{lineStart:function(){t.push(n=[])},point:function(t,e){n.push([t,e])},lineEnd:c,buffer:function(){var e=t;return t=[],n=null,e},rejoin:function(){t.length>1&&t.push(t.pop().concat(t.shift()))}}}function Gt(n,t){return((n=n.point)[0]<0?n[1]-Jo-Go:Jo-n[1])-((t=t.point)[0]<0?t[1]-Jo-Go:Jo-t[1])}function Kt(n,t){var e=n[0],r=n[1],u=[Math.sin(e),-Math.cos(e),0],i=0,o=0;La.reset();for(var a=0,c=t.length;c>a;++a){var l=t[a],s=l.length;if(s)for(var f=l[0],h=f[0],g=f[1]/2+Bo/4,p=Math.sin(g),d=Math.cos(g),v=1;;){v===s&&(v=0),n=l[v];var m=n[0],y=n[1]/2+Bo/4,M=Math.sin(y),x=Math.cos(y),b=m-h,_=Math.abs(b)>Bo,w=p*M;if(La.add(Math.atan2(w*Math.sin(b),d*x+w*Math.cos(b))),i+=_?b+(b>=0?2:-2)*Bo:b,_^h>=e^m>=e){var S=jt(Ct(f),Ct(n));Ft(S);var E=jt(u,S);Ft(E);var k=(_^b>=0?-1:1)*O(E[2]);(r>k||r===k&&(S[0]||S[1]))&&(o+=_^b>=0?1:-1)}if(!v++)break;h=m,p=M,d=x,f=n}}return(-Go>i||Go>i&&0>La)^1&o}function Qt(n){var t,e=0/0,r=0/0,u=0/0;return{lineStart:function(){n.lineStart(),t=1},point:function(i,o){var a=i>0?Bo:-Bo,c=Math.abs(i-e);Math.abs(c-Bo)0?Jo:-Jo),n.point(u,r),n.lineEnd(),n.lineStart(),n.point(a,r),n.point(i,r),t=0):u!==a&&c>=Bo&&(Math.abs(e-u)Go?Math.atan((Math.sin(t)*(i=Math.cos(r))*Math.sin(e)-Math.sin(r)*(u=Math.cos(t))*Math.sin(n))/(u*i*o)):(t+r)/2}function te(n,t,e,r){var u;if(null==n)u=e*Jo,r.point(-Bo,u),r.point(0,u),r.point(Bo,u),r.point(Bo,0),r.point(Bo,-u),r.point(0,-u),r.point(-Bo,-u),r.point(-Bo,0),r.point(-Bo,u);else if(Math.abs(n[0]-t[0])>Go){var i=(n[0]i}function e(n){var e,i,c,l,s;return{lineStart:function(){l=c=!1,s=1},point:function(f,h){var g,p=[f,h],d=t(f,h),v=o?d?0:u(f,h):d?u(f+(0>f?Bo:-Bo),h):0;if(!e&&(l=c=d)&&n.lineStart(),d!==c&&(g=r(e,p),(Ot(e,g)||Ot(p,g))&&(p[0]+=Go,p[1]+=Go,d=t(p[0],p[1]))),d!==c)s=0,d?(n.lineStart(),g=r(p,e),n.point(g[0],g[1])):(g=r(e,p),n.point(g[0],g[1]),n.lineEnd()),e=g;else if(a&&e&&o^d){var m;v&i||!(m=r(p,e,!0))||(s=0,o?(n.lineStart(),n.point(m[0][0],m[0][1]),n.point(m[1][0],m[1][1]),n.lineEnd()):(n.point(m[1][0],m[1][1]),n.lineEnd(),n.lineStart(),n.point(m[0][0],m[0][1])))}!d||e&&Ot(e,p)||n.point(p[0],p[1]),e=p,c=d,i=v},lineEnd:function(){c&&n.lineEnd(),e=null},clean:function(){return s|(l&&c)<<1}}}function r(n,t,e){var r=Ct(n),u=Ct(t),o=[1,0,0],a=jt(r,u),c=Dt(a,a),l=a[0],s=c-l*l;if(!s)return!e&&n;var f=i*c/s,h=-i*l/s,g=jt(o,a),p=Ht(o,f),d=Ht(a,h);Lt(p,d);var v=g,m=Dt(p,v),y=Dt(v,v),M=m*m-y*(Dt(p,p)-1);if(!(0>M)){var x=Math.sqrt(M),b=Ht(v,(-m-x)/y);if(Lt(b,p),b=Pt(b),!e)return b;var _,w=n[0],S=t[0],E=n[1],k=t[1];w>S&&(_=w,w=S,S=_);var A=S-w,N=Math.abs(A-Bo)A;if(!N&&E>k&&(_=E,E=k,k=_),T?N?E+k>0^b[1]<(Math.abs(b[0]-w)Bo^(w<=b[0]&&b[0]<=S)){var q=Ht(v,(-m+x)/y);return Lt(q,p),[b,Pt(q)]}}}function u(t,e){var r=o?n:Bo-n,u=0;return-r>t?u|=1:t>r&&(u|=2),-r>e?u|=4:e>r&&(u|=8),u}var i=Math.cos(n),o=i>0,a=Math.abs(i)>Go,c=Te(n,6*Qo);return Bt(t,e,c,o?[0,-n]:[-Bo,n-Bo])}function re(n,t,e,r){function u(r,u){return Math.abs(r[0]-n)0?0:3:Math.abs(r[0]-e)0?2:1:Math.abs(r[1]-t)0?1:0:u>0?3:2}function i(n,t){return o(n.point,t.point)}function o(n,t){var e=u(n,1),r=u(t,1);return e!==r?e-r:0===e?t[1]-n[1]:1===e?n[0]-t[0]:2===e?n[1]-t[1]:t[0]-n[0]}function a(u,i){var o=i[0]-u[0],a=i[1]-u[1],c=[0,1];return Math.abs(o)0&&(u[0]+=c[0]*o,u[1]+=c[0]*a),!0):!1}return function(c){function l(n){for(var t=0,e=y.length,r=n[1],u=0;e>u;++u)for(var i,o=1,a=y[u],c=a.length,l=a[0];c>o;++o)i=a[o],l[1]<=r?i[1]>r&&s(l,i,n)>0&&++t:i[1]<=r&&s(l,i,n)<0&&--t,l=i;return 0!==t}function s(n,t,e){return(t[0]-n[0])*(e[1]-n[1])-(e[0]-n[0])*(t[1]-n[1])}function f(i,a,c,l){var s=0,f=0;if(null==i||(s=u(i,c))!==(f=u(a,c))||o(i,a)<0^c>0){do l.point(0===s||3===s?n:e,s>1?r:t);while((s=(s+c+4)%4)!==f)}else l.point(a[0],a[1])}function h(u,i){return u>=n&&e>=u&&i>=t&&r>=i}function g(n,t){h(n,t)&&c.point(n,t)}function p(){q.point=v,y&&y.push(M=[]),k=!0,E=!1,w=S=0/0}function d(){m&&(v(x,b),_&&E&&T.rejoin(),m.push(T.buffer())),q.point=g,E&&c.lineEnd()}function v(n,t){n=Math.max(-Ja,Math.min(Ja,n)),t=Math.max(-Ja,Math.min(Ja,t));var e=h(n,t);if(y&&M.push([n,t]),k)x=n,b=t,_=e,k=!1,e&&(c.lineStart(),c.point(n,t));else if(e&&E)c.point(n,t);else{var r=[w,S],u=[n,t];a(r,u)?(E||(c.lineStart(),c.point(r[0],r[1])),c.point(u[0],u[1]),e||c.lineEnd(),A=!1):e&&(c.lineStart(),c.point(n,t),A=!1)}w=n,S=t,E=e}var m,y,M,x,b,_,w,S,E,k,A,N=c,T=Jt(),q={point:g,lineStart:p,lineEnd:d,polygonStart:function(){c=T,m=[],y=[],A=!0},polygonEnd:function(){c=N,m=mo.merge(m);var t=l([n,r]),e=A&&t,u=m.length;(e||u)&&(c.polygonStart(),e&&(c.lineStart(),f(null,null,1,c),c.lineEnd()),u&&Xt(m,i,t,f,c),c.polygonEnd()),m=y=M=null}};return q}}function ue(n,t,e){if(Math.abs(t)=n;var r=n/t;if(t>0){if(r>e[1])return!1;r>e[0]&&(e[0]=r)}else{if(rn&&(Qa=n),n>tc&&(tc=n),nc>t&&(nc=t),t>ec&&(ec=t)}function se(){function n(n,t){o.push("M",n,",",t,i)}function t(n,t){o.push("M",n,",",t),a.point=e}function e(n,t){o.push("L",n,",",t)}function r(){a.point=n}function u(){o.push("Z")}var i=fe(4.5),o=[],a={point:n,lineStart:function(){a.point=t},lineEnd:r,polygonStart:function(){a.lineEnd=u},polygonEnd:function(){a.lineEnd=r,a.point=n},pointRadius:function(n){return i=fe(n),a},result:function(){if(o.length){var n=o.join("");return o=[],n}}};return a}function fe(n){return"m0,"+n+"a"+n+","+n+" 0 1,1 0,"+-2*n+"a"+n+","+n+" 0 1,1 0,"+2*n+"z"}function he(n,t){Oa+=n,Ra+=t,++Ya}function ge(){function n(n,r){var u=n-t,i=r-e,o=Math.sqrt(u*u+i*i);Ia+=o*(t+n)/2,Ua+=o*(e+r)/2,Za+=o,he(t=n,e=r)}var t,e;ic.point=function(r,u){ic.point=n,he(t=r,e=u)}}function pe(){ic.point=he}function de(){function n(n,t){var e=n-r,i=t-u,o=Math.sqrt(e*e+i*i);Ia+=o*(r+n)/2,Ua+=o*(u+t)/2,Za+=o,o=u*n-r*t,Va+=o*(r+n),Xa+=o*(u+t),$a+=3*o,he(r=n,u=t)}var t,e,r,u;ic.point=function(i,o){ic.point=n,he(t=r=i,e=u=o)},ic.lineEnd=function(){n(t,e)}}function ve(n){function t(t,e){n.moveTo(t,e),n.arc(t,e,o,0,Wo)}function e(t,e){n.moveTo(t,e),a.point=r}function r(t,e){n.lineTo(t,e)}function u(){a.point=t}function i(){n.closePath()}var o=4.5,a={point:t,lineStart:function(){a.point=e},lineEnd:u,polygonStart:function(){a.lineEnd=i},polygonEnd:function(){a.lineEnd=u,a.point=t},pointRadius:function(n){return o=n,a},result:c};return a}function me(n){function t(t){function r(e,r){e=n(e,r),t.point(e[0],e[1])}function u(){M=0/0,S.point=o,t.lineStart()}function o(r,u){var o=Ct([r,u]),a=n(r,u);e(M,x,y,b,_,w,M=a[0],x=a[1],y=r,b=o[0],_=o[1],w=o[2],i,t),t.point(M,x)}function a(){S.point=r,t.lineEnd()}function c(){u(),S.point=l,S.lineEnd=s}function l(n,t){o(f=n,h=t),g=M,p=x,d=b,v=_,m=w,S.point=o}function s(){e(M,x,y,b,_,w,g,p,f,d,v,m,i,t),S.lineEnd=a,a()}var f,h,g,p,d,v,m,y,M,x,b,_,w,S={point:r,lineStart:u,lineEnd:a,polygonStart:function(){t.polygonStart(),S.lineStart=c},polygonEnd:function(){t.polygonEnd(),S.lineStart=u}};return S}function e(t,i,o,a,c,l,s,f,h,g,p,d,v,m){var y=s-t,M=f-i,x=y*y+M*M;if(x>4*r&&v--){var b=a+g,_=c+p,w=l+d,S=Math.sqrt(b*b+_*_+w*w),E=Math.asin(w/=S),k=Math.abs(Math.abs(w)-1)r||Math.abs((y*q+M*z)/x-.5)>.3||u>a*g+c*p+l*d)&&(e(t,i,o,a,c,l,N,T,k,b/=S,_/=S,w,v,m),m.point(N,T),e(N,T,k,b,_,w,s,f,h,g,p,d,v,m))}}var r=.5,u=Math.cos(30*Qo),i=16;return t.precision=function(n){return arguments.length?(i=(r=n*n)>0&&16,t):Math.sqrt(r)},t}function ye(n){this.stream=n}function Me(n){var t=me(function(t,e){return n([t*na,e*na])});return function(n){var e=new ye(n=t(n));return e.point=function(t,e){n.point(t*Qo,e*Qo)},e}}function xe(n){return be(function(){return n})()}function be(n){function t(n){return n=a(n[0]*Qo,n[1]*Qo),[n[0]*h+c,l-n[1]*h]}function e(n){return n=a.invert((n[0]-c)/h,(l-n[1])/h),n&&[n[0]*na,n[1]*na]}function r(){a=ie(o=Ee(m,y,M),i);var n=i(d,v);return c=g-n[0]*h,l=p+n[1]*h,u()}function u(){return s&&(s.valid=!1,s=null),t}var i,o,a,c,l,s,f=me(function(n,t){return n=i(n,t),[n[0]*h+c,l-n[1]*h]}),h=150,g=480,p=250,d=0,v=0,m=0,y=0,M=0,x=Wa,b=dt,_=null,w=null;return t.stream=function(n){return s&&(s.valid=!1),s=_e(x(o,f(b(n)))),s.valid=!0,s},t.clipAngle=function(n){return arguments.length?(x=null==n?(_=n,Wa):ee((_=+n)*Qo),u()):_},t.clipExtent=function(n){return arguments.length?(w=n,b=n?re(n[0][0],n[0][1],n[1][0],n[1][1]):dt,u()):w},t.scale=function(n){return arguments.length?(h=+n,r()):h},t.translate=function(n){return arguments.length?(g=+n[0],p=+n[1],r()):[g,p]},t.center=function(n){return arguments.length?(d=n[0]%360*Qo,v=n[1]%360*Qo,r()):[d*na,v*na]},t.rotate=function(n){return arguments.length?(m=n[0]%360*Qo,y=n[1]%360*Qo,M=n.length>2?n[2]%360*Qo:0,r()):[m*na,y*na,M*na]},mo.rebind(t,f,"precision"),function(){return i=n.apply(this,arguments),t.invert=i.invert&&e,r()}}function _e(n){var t=new ye(n);return t.point=function(t,e){n.point(t*Qo,e*Qo)},t}function we(n,t){return[n,t]}function Se(n,t){return[n>Bo?n-Wo:-Bo>n?n+Wo:n,t]}function Ee(n,t,e){return n?t||e?ie(Ae(n),Ne(t,e)):Ae(n):t||e?Ne(t,e):Se}function ke(n){return function(t,e){return t+=n,[t>Bo?t-Wo:-Bo>t?t+Wo:t,e]}}function Ae(n){var t=ke(n);return t.invert=ke(-n),t}function Ne(n,t){function e(n,t){var e=Math.cos(t),a=Math.cos(n)*e,c=Math.sin(n)*e,l=Math.sin(t),s=l*r+a*u;return[Math.atan2(c*i-s*o,a*r-l*u),O(s*i+c*o)]}var r=Math.cos(n),u=Math.sin(n),i=Math.cos(t),o=Math.sin(t);return e.invert=function(n,t){var e=Math.cos(t),a=Math.cos(n)*e,c=Math.sin(n)*e,l=Math.sin(t),s=l*i-c*o;return[Math.atan2(c*i+l*o,a*r+s*u),O(s*r-a*u)]},e}function Te(n,t){var e=Math.cos(n),r=Math.sin(n);return function(u,i,o,a){var c=o*t;null!=u?(u=qe(e,u),i=qe(e,i),(o>0?i>u:u>i)&&(u+=o*Wo)):(u=n+o*Wo,i=n-.5*c);for(var l,s=u;o>0?s>i:i>s;s-=c)a.point((l=Pt([e,-r*Math.cos(s),-r*Math.sin(s)]))[0],l[1])}}function qe(n,t){var e=Ct(t);e[0]-=n,Ft(e);var r=P(-e[1]);return((-e[2]<0?-r:r)+2*Math.PI-Go)%(2*Math.PI)}function ze(n,t,e){var r=mo.range(n,t-Go,e).concat(t);return function(n){return r.map(function(t){return[n,t]})}}function Ce(n,t,e){var r=mo.range(n,t-Go,e).concat(t);return function(n){return r.map(function(t){return[t,n]})}}function De(n){return n.source}function je(n){return n.target}function Le(n,t,e,r){var u=Math.cos(t),i=Math.sin(t),o=Math.cos(r),a=Math.sin(r),c=u*Math.cos(n),l=u*Math.sin(n),s=o*Math.cos(e),f=o*Math.sin(e),h=2*Math.asin(Math.sqrt(U(r-t)+u*o*U(e-n))),g=1/Math.sin(h),p=h?function(n){var t=Math.sin(n*=h)*g,e=Math.sin(h-n)*g,r=e*c+t*s,u=e*l+t*f,o=e*i+t*a;return[Math.atan2(u,r)*na,Math.atan2(o,Math.sqrt(r*r+u*u))*na]}:function(){return[n*na,t*na]};return p.distance=h,p}function He(){function n(n,u){var i=Math.sin(u*=Qo),o=Math.cos(u),a=Math.abs((n*=Qo)-t),c=Math.cos(a);oc+=Math.atan2(Math.sqrt((a=o*Math.sin(a))*a+(a=r*i-e*o*c)*a),e*i+r*o*c),t=n,e=i,r=o}var t,e,r;ac.point=function(u,i){t=u*Qo,e=Math.sin(i*=Qo),r=Math.cos(i),ac.point=n},ac.lineEnd=function(){ac.point=ac.lineEnd=c}}function Fe(n,t){function e(t,e){var r=Math.cos(t),u=Math.cos(e),i=n(r*u);return[i*u*Math.sin(t),i*Math.sin(e)]}return e.invert=function(n,e){var r=Math.sqrt(n*n+e*e),u=t(r),i=Math.sin(u),o=Math.cos(u);return[Math.atan2(n*i,r*o),Math.asin(r&&e*i/r)]},e}function Pe(n,t){function e(n,t){var e=Math.abs(Math.abs(t)-Jo)1&&u.push("H",r[0]),u.join("")}function We(n){for(var t=0,e=n.length,r=n[0],u=[r[0],",",r[1]];++t1){a=t[1],i=n[c],c++,r+="C"+(u[0]+o[0])+","+(u[1]+o[1])+","+(i[0]-a[0])+","+(i[1]-a[1])+","+i[0]+","+i[1];for(var l=2;l9&&(u=3*t/Math.sqrt(u),o[a]=u*e,o[a+1]=u*r));for(a=-1;++a<=c;)u=(n[Math.min(c,a+1)][0]-n[Math.max(0,a-1)][0])/(6*(1+o[a]*o[a])),i.push([u||0,o[a]*u||0]);return i}function fr(n){return n.length<3?Xe(n):n[0]+nr(n,sr(n))}function hr(n,t,e,r){var u,i,o,a,c,l,s;return u=r[n],i=u[0],o=u[1],u=r[t],a=u[0],c=u[1],u=r[e],l=u[0],s=u[1],(s-o)*(a-i)-(c-o)*(l-i)>0}function gr(n,t,e){return(e[0]-t[0])*(n[1]-t[1])<(e[1]-t[1])*(n[0]-t[0])}function pr(n,t,e,r){var u=n[0],i=e[0],o=t[0]-u,a=r[0]-i,c=n[1],l=e[1],s=t[1]-c,f=r[1]-l,h=(a*(c-l)-f*(u-i))/(f*o-a*s);return[u+h*o,c+h*s]}function dr(n){var t=n[0],e=n[n.length-1];return!(t[0]-e[0]||t[1]-e[1])}function vr(n,t){var e={list:n.map(function(n,t){return{index:t,x:n[0],y:n[1]}}).sort(function(n,t){return n.yt.y?1:n.xt.x?1:0}),bottomSite:null},r={list:[],leftEnd:null,rightEnd:null,init:function(){r.leftEnd=r.createHalfEdge(null,"l"),r.rightEnd=r.createHalfEdge(null,"l"),r.leftEnd.r=r.rightEnd,r.rightEnd.l=r.leftEnd,r.list.unshift(r.leftEnd,r.rightEnd)},createHalfEdge:function(n,t){return{edge:n,side:t,vertex:null,l:null,r:null}},insert:function(n,t){t.l=n,t.r=n.r,n.r.l=t,n.r=t},leftBound:function(n){var t=r.leftEnd;do t=t.r;while(t!=r.rightEnd&&u.rightOf(t,n));return t=t.l},del:function(n){n.l.r=n.r,n.r.l=n.l,n.edge=null},right:function(n){return n.r},left:function(n){return n.l},leftRegion:function(n){return null==n.edge?e.bottomSite:n.edge.region[n.side]},rightRegion:function(n){return null==n.edge?e.bottomSite:n.edge.region[yc[n.side]]}},u={bisect:function(n,t){var e={region:{l:n,r:t},ep:{l:null,r:null}},r=t.x-n.x,u=t.y-n.y,i=r>0?r:-r,o=u>0?u:-u;return e.c=n.x*r+n.y*u+.5*(r*r+u*u),i>o?(e.a=1,e.b=u/r,e.c/=r):(e.b=1,e.a=r/u,e.c/=u),e},intersect:function(n,t){var e=n.edge,r=t.edge;if(!e||!r||e.region.r==r.region.r)return null;var u=e.a*r.b-e.b*r.a;if(Math.abs(u)<1e-10)return null;var i,o,a=(e.c*r.b-r.c*e.b)/u,c=(r.c*e.a-e.c*r.a)/u,l=e.region.r,s=r.region.r;l.y=o.region.r.x;return f&&"l"===i.side||!f&&"r"===i.side?null:{x:a,y:c}},rightOf:function(n,t){var e=n.edge,r=e.region.r,u=t.x>r.x;if(u&&"l"===n.side)return 1;if(!u&&"r"===n.side)return 0;if(1===e.a){var i=t.y-r.y,o=t.x-r.x,a=0,c=0;if(!u&&e.b<0||u&&e.b>=0?c=a=i>=e.b*o:(c=t.x+t.y*e.b>e.c,e.b<0&&(c=!c),c||(a=1)),!a){var l=r.x-e.region.l.x;c=e.b*(o*o-i*i)h*h+g*g}return"l"===n.side?c:!c},endPoint:function(n,e,r){n.ep[e]=r,n.ep[yc[e]]&&t(n)},distance:function(n,t){var e=n.x-t.x,r=n.y-t.y;return Math.sqrt(e*e+r*r)}},i={list:[],insert:function(n,t,e){n.vertex=t,n.ystar=t.y+e;for(var r=0,u=i.list,o=u.length;o>r;r++){var a=u[r];if(!(n.ystar>a.ystar||n.ystar==a.ystar&&t.x>a.vertex.x))break}u.splice(r,0,n)},del:function(n){for(var t=0,e=i.list,r=e.length;r>t&&e[t]!=n;++t);e.splice(t,1)},empty:function(){return 0===i.list.length},nextEvent:function(n){for(var t=0,e=i.list,r=e.length;r>t;++t)if(e[t]==n)return e[t+1];return null},min:function(){var n=i.list[0];return{x:n.vertex.x,y:n.ystar}},extractMin:function(){return i.list.shift()}};r.init(),e.bottomSite=e.list.shift();for(var o,a,c,l,s,f,h,g,p,d,v,m,y,M=e.list.shift();;)if(i.empty()||(o=i.min()),M&&(i.empty()||M.yg.y&&(p=h,h=g,g=p,y="r"),m=u.bisect(h,g),f=r.createHalfEdge(m,y),r.insert(l,f),u.endPoint(m,yc[y],v),d=u.intersect(l,f),d&&(i.del(l),i.insert(l,d,u.distance(d,h))),d=u.intersect(f,s),d&&i.insert(f,d,u.distance(d,h))}for(a=r.right(r.leftEnd);a!=r.rightEnd;a=r.right(a))t(a.edge)}function mr(n){return n.x}function yr(n){return n.y}function Mr(){return{leaf:!0,nodes:[],point:null,x:null,y:null}}function xr(n,t,e,r,u,i){if(!n(t,e,r,u,i)){var o=.5*(e+u),a=.5*(r+i),c=t.nodes;c[0]&&xr(n,c[0],e,r,o,a),c[1]&&xr(n,c[1],o,r,u,a),c[2]&&xr(n,c[2],e,a,o,i),c[3]&&xr(n,c[3],o,a,u,i)}}function br(n,t){n=mo.rgb(n),t=mo.rgb(t);var e=n.r,r=n.g,u=n.b,i=t.r-e,o=t.g-r,a=t.b-u;return function(n){return"#"+ct(Math.round(e+i*n))+ct(Math.round(r+o*n))+ct(Math.round(u+a*n))}}function _r(n,t){var e,r={},u={};for(e in n)e in t?r[e]=Er(n[e],t[e]):u[e]=n[e];for(e in t)e in n||(u[e]=t[e]);return function(n){for(e in r)u[e]=r[e](n);return u}}function wr(n,t){return t-=n=+n,function(e){return n+t*e}}function Sr(n,t){var e,r,u,i,o,a=0,c=0,l=[],s=[];for(n+="",t+="",Mc.lastIndex=0,r=0;e=Mc.exec(t);++r)e.index&&l.push(t.substring(a,c=e.index)),s.push({i:l.length,x:e[0]}),l.push(null),a=Mc.lastIndex;for(ar;++r)if(o=s[r],o.x==e[0]){if(o.i)if(null==l[o.i+1])for(l[o.i-1]+=o.x,l.splice(o.i,1),u=r+1;i>u;++u)s[u].i--;else for(l[o.i-1]+=o.x+l[o.i+1],l.splice(o.i,2),u=r+1;i>u;++u)s[u].i-=2;else if(null==l[o.i+1])l[o.i]=o.x;else for(l[o.i]=o.x+l[o.i+1],l.splice(o.i+1,1),u=r+1;i>u;++u)s[u].i--;s.splice(r,1),i--,r--}else o.x=wr(parseFloat(e[0]),parseFloat(o.x));for(;i>r;)o=s.pop(),null==l[o.i+1]?l[o.i]=o.x:(l[o.i]=o.x+l[o.i+1],l.splice(o.i+1,1)),i--;return 1===l.length?null==l[0]?(o=s[0].x,function(n){return o(n)+""}):function(){return t}:function(n){for(r=0;i>r;++r)l[(o=s[r]).i]=o.x(n);return l.join("")}}function Er(n,t){for(var e,r=mo.interpolators.length;--r>=0&&!(e=mo.interpolators[r](n,t)););return e}function kr(n,t){var e,r=[],u=[],i=n.length,o=t.length,a=Math.min(n.length,t.length);for(e=0;a>e;++e)r.push(Er(n[e],t[e]));for(;i>e;++e)u[e]=n[e];for(;o>e;++e)u[e]=t[e];return function(n){for(e=0;a>e;++e)u[e]=r[e](n);return u}}function Ar(n){return function(t){return 0>=t?0:t>=1?1:n(t)}}function Nr(n){return function(t){return 1-n(1-t)}}function Tr(n){return function(t){return.5*(.5>t?n(2*t):2-n(2-2*t))}}function qr(n){return n*n}function zr(n){return n*n*n}function Cr(n){if(0>=n)return 0;if(n>=1)return 1;var t=n*n,e=t*n;return 4*(.5>n?e:3*(n-t)+e-.75)}function Dr(n){return function(t){return Math.pow(t,n)}}function jr(n){return 1-Math.cos(n*Jo)}function Lr(n){return Math.pow(2,10*(n-1))}function Hr(n){return 1-Math.sqrt(1-n*n)}function Fr(n,t){var e;return arguments.length<2&&(t=.45),arguments.length?e=t/Wo*Math.asin(1/n):(n=1,e=t/4),function(r){return 1+n*Math.pow(2,-10*r)*Math.sin((r-e)*Wo/t)}}function Pr(n){return n||(n=1.70158),function(t){return t*t*((n+1)*t-n)}}function Or(n){return 1/2.75>n?7.5625*n*n:2/2.75>n?7.5625*(n-=1.5/2.75)*n+.75:2.5/2.75>n?7.5625*(n-=2.25/2.75)*n+.9375:7.5625*(n-=2.625/2.75)*n+.984375}function Rr(n,t){n=mo.hcl(n),t=mo.hcl(t);var e=n.h,r=n.c,u=n.l,i=t.h-e,o=t.c-r,a=t.l-u;return isNaN(o)&&(o=0,r=isNaN(r)?t.c:r),isNaN(i)?(i=0,e=isNaN(e)?t.h:e):i>180?i-=360:-180>i&&(i+=360),function(n){return J(e+i*n,r+o*n,u+a*n)+""}}function Yr(n,t){n=mo.hsl(n),t=mo.hsl(t);var e=n.h,r=n.s,u=n.l,i=t.h-e,o=t.s-r,a=t.l-u;return isNaN(o)&&(o=0,r=isNaN(r)?t.s:r),isNaN(i)?(i=0,e=isNaN(e)?t.h:e):i>180?i-=360:-180>i&&(i+=360),function(n){return $(e+i*n,r+o*n,u+a*n)+""}}function Ir(n,t){n=mo.lab(n),t=mo.lab(t);var e=n.l,r=n.a,u=n.b,i=t.l-e,o=t.a-r,a=t.b-u;return function(n){return Q(e+i*n,r+o*n,u+a*n)+""}}function Ur(n,t){return t-=n,function(e){return Math.round(n+t*e)}}function Zr(n){var t=[n.a,n.b],e=[n.c,n.d],r=Xr(t),u=Vr(t,e),i=Xr($r(e,t,-u))||0;t[0]*e[1]180?s+=360:s-l>180&&(l+=360),u.push({i:r.push(r.pop()+"rotate(",null,")")-2,x:wr(l,s)})):s&&r.push(r.pop()+"rotate("+s+")"),f!=h?u.push({i:r.push(r.pop()+"skewX(",null,")")-2,x:wr(f,h)}):h&&r.push(r.pop()+"skewX("+h+")"),g[0]!=p[0]||g[1]!=p[1]?(e=r.push(r.pop()+"scale(",null,",",null,")"),u.push({i:e-4,x:wr(g[0],p[0])},{i:e-2,x:wr(g[1],p[1])})):(1!=p[0]||1!=p[1])&&r.push(r.pop()+"scale("+p+")"),e=u.length,function(n){for(var t,i=-1;++ie;++e)(t=n[e][1])>u&&(r=e,u=t);return r}function vu(n){return n.reduce(mu,0)}function mu(n,t){return n+t[1]}function yu(n,t){return Mu(n,Math.ceil(Math.log(t.length)/Math.LN2+1))}function Mu(n,t){for(var e=-1,r=+n[0],u=(n[1]-r)/t,i=[];++e<=t;)i[e]=u*e+r;return i}function xu(n){return[mo.min(n),mo.max(n)]}function bu(n,t){return n.parent==t.parent?1:2}function _u(n){var t=n.children;return t&&t.length?t[0]:n._tree.thread}function wu(n){var t,e=n.children;return e&&(t=e.length)?e[t-1]:n._tree.thread}function Su(n,t){var e=n.children;if(e&&(u=e.length))for(var r,u,i=-1;++i0&&(n=r);return n}function Eu(n,t){return n.x-t.x}function ku(n,t){return t.x-n.x}function Au(n,t){return n.depth-t.depth}function Nu(n,t){function e(n,r){var u=n.children;if(u&&(o=u.length))for(var i,o,a=null,c=-1;++c=0;)t=u[i]._tree,t.prelim+=e,t.mod+=e,e+=t.shift+(r+=t.change)}function qu(n,t,e){n=n._tree,t=t._tree;var r=e/(t.number-n.number);n.change+=r,t.change-=r,t.shift+=e,t.prelim+=e,t.mod+=e}function zu(n,t,e){return n._tree.ancestor.parent==t.parent?n._tree.ancestor:e}function Cu(n,t){return n.value-t.value}function Du(n,t){var e=n._pack_next;n._pack_next=t,t._pack_prev=n,t._pack_next=e,e._pack_prev=t}function ju(n,t){n._pack_next=t,t._pack_prev=n}function Lu(n,t){var e=t.x-n.x,r=t.y-n.y,u=n.r+t.r;return.999*u*u>e*e+r*r}function Hu(n){function t(n){s=Math.min(n.x-n.r,s),f=Math.max(n.x+n.r,f),h=Math.min(n.y-n.r,h),g=Math.max(n.y+n.r,g)}if((e=n.children)&&(l=e.length)){var e,r,u,i,o,a,c,l,s=1/0,f=-1/0,h=1/0,g=-1/0;if(e.forEach(Fu),r=e[0],r.x=-r.r,r.y=0,t(r),l>1&&(u=e[1],u.x=u.r,u.y=0,t(u),l>2))for(i=e[2],Ru(r,u,i),t(i),Du(r,i),r._pack_prev=i,Du(i,u),u=r._pack_next,o=3;l>o;o++){Ru(r,u,i=e[o]);var p=0,d=1,v=1;for(a=u._pack_next;a!==u;a=a._pack_next,d++)if(Lu(a,i)){p=1;break}if(1==p)for(c=r._pack_prev;c!==a._pack_prev&&!Lu(c,i);c=c._pack_prev,v++);p?(v>d||d==v&&u.ro;o++)i=e[o],i.x-=m,i.y-=y,M=Math.max(M,i.r+Math.sqrt(i.x*i.x+i.y*i.y));n.r=M,e.forEach(Pu)}}function Fu(n){n._pack_next=n._pack_prev=n}function Pu(n){delete n._pack_next,delete n._pack_prev}function Ou(n,t,e,r){var u=n.children;if(n.x=t+=r*n.x,n.y=e+=r*n.y,n.r*=r,u)for(var i=-1,o=u.length;++iu&&(e+=u/2,u=0),0>i&&(r+=i/2,i=0),{x:e,y:r,dx:u,dy:i}}function $u(n){var t=n[0],e=n[n.length-1];return e>t?[t,e]:[e,t]}function Bu(n){return n.rangeExtent?n.rangeExtent():$u(n.range())}function Wu(n,t,e,r){var u=e(n[0],n[1]),i=r(t[0],t[1]);return function(n){return i(u(n))}}function Ju(n,t){var e,r=0,u=n.length-1,i=n[r],o=n[u];return i>o&&(e=r,r=u,u=e,e=i,i=o,o=e),n[r]=t.floor(i),n[u]=t.ceil(o),n}function Gu(n){return n?{floor:function(t){return Math.floor(t/n)*n},ceil:function(t){return Math.ceil(t/n)*n}}:Tc}function Ku(n,t,e,r){var u=[],i=[],o=0,a=Math.min(n.length,t.length)-1;for(n[a]2?Ku:Wu,c=r?Jr:Wr;return o=u(n,t,c,e),a=u(t,n,c,Er),i}function i(n){return o(n)}var o,a;return i.invert=function(n){return a(n)},i.domain=function(t){return arguments.length?(n=t.map(Number),u()):n},i.range=function(n){return arguments.length?(t=n,u()):t},i.rangeRound=function(n){return i.range(n).interpolate(Ur)},i.clamp=function(n){return arguments.length?(r=n,u()):r},i.interpolate=function(n){return arguments.length?(e=n,u()):e},i.ticks=function(t){return ri(n,t)},i.tickFormat=function(t,e){return ui(n,t,e)},i.nice=function(t){return ti(n,t),u()},i.copy=function(){return Qu(n,t,e,r)},u()}function ni(n,t){return mo.rebind(n,t,"range","rangeRound","interpolate","clamp")}function ti(n,t){return Ju(n,Gu(ei(n,t)[2]))}function ei(n,t){null==t&&(t=10);var e=$u(n),r=e[1]-e[0],u=Math.pow(10,Math.floor(Math.log(r/t)/Math.LN10)),i=t/r*u;return.15>=i?u*=10:.35>=i?u*=5:.75>=i&&(u*=2),e[0]=Math.ceil(e[0]/u)*u,e[1]=Math.floor(e[1]/u)*u+.5*u,e[2]=u,e}function ri(n,t){return mo.range.apply(mo,ei(n,t))}function ui(n,t,e){var r=-Math.floor(Math.log(ei(n,t)[2])/Math.LN10+.01);return mo.format(e?e.replace(Aa,function(n,t,e,u,i,o,a,c,l,s){return[t,e,u,i,o,a,c,l||"."+(r-2*("%"===s)),s].join("")}):",."+r+"f")}function ii(n,t,e,r){function u(n){return(e?Math.log(0>n?0:n):-Math.log(n>0?0:-n))/Math.log(t)}function i(n){return e?Math.pow(t,n):-Math.pow(t,-n)}function o(t){return n(u(t))}return o.invert=function(t){return i(n.invert(t))},o.domain=function(t){return arguments.length?(e=t[0]>=0,n.domain((r=t.map(Number)).map(u)),o):r},o.base=function(e){return arguments.length?(t=+e,n.domain(r.map(u)),o):t},o.nice=function(){var t=Ju(r.map(u),e?Math:zc);return n.domain(t),r=t.map(i),o},o.ticks=function(){var n=$u(r),o=[],a=n[0],c=n[1],l=Math.floor(u(a)),s=Math.ceil(u(c)),f=t%1?2:t;if(isFinite(s-l)){if(e){for(;s>l;l++)for(var h=1;f>h;h++)o.push(i(l)*h);o.push(i(l))}else for(o.push(i(l));l++0;h--)o.push(i(l)*h);for(l=0;o[l]c;s--);o=o.slice(l,s)}return o},o.tickFormat=function(n,t){if(!arguments.length)return qc;arguments.length<2?t=qc:"function"!=typeof t&&(t=mo.format(t));var r,a=Math.max(.1,n/o.ticks().length),c=e?(r=1e-12,Math.ceil):(r=-1e-12,Math.floor);return function(n){return n/i(c(u(n)+r))<=a?t(n):""}},o.copy=function(){return ii(n.copy(),t,e,r)},ni(o,n)}function oi(n,t,e){function r(t){return n(u(t))}var u=ai(t),i=ai(1/t);return r.invert=function(t){return i(n.invert(t))},r.domain=function(t){return arguments.length?(n.domain((e=t.map(Number)).map(u)),r):e},r.ticks=function(n){return ri(e,n)},r.tickFormat=function(n,t){return ui(e,n,t)},r.nice=function(n){return r.domain(ti(e,n))},r.exponent=function(o){return arguments.length?(u=ai(t=o),i=ai(1/t),n.domain(e.map(u)),r):t},r.copy=function(){return oi(n.copy(),t,e)},ni(r,n)}function ai(n){return function(t){return 0>t?-Math.pow(-t,n):Math.pow(t,n)}}function ci(n,t){function e(e){return o[((i.get(e)||"range"===t.t&&i.set(e,n.push(e)))-1)%o.length]}function r(t,e){return mo.range(n.length).map(function(n){return t+e*n})}var i,o,a;return e.domain=function(r){if(!arguments.length)return n;n=[],i=new u;for(var o,a=-1,c=r.length;++ae?[0/0,0/0]:[e>0?u[e-1]:n[0],et?0/0:t/i+n,[t,t+1/i]},r.copy=function(){return si(n,t,e)},u()}function fi(n,t){function e(e){return e>=e?t[mo.bisect(n,e)]:void 0}return e.domain=function(t){return arguments.length?(n=t,e):n},e.range=function(n){return arguments.length?(t=n,e):t},e.invertExtent=function(e){return e=t.indexOf(e),[n[e-1],n[e]]},e.copy=function(){return fi(n,t)},e}function hi(n){function t(n){return+n}return t.invert=t,t.domain=t.range=function(e){return arguments.length?(n=e.map(t),t):n},t.ticks=function(t){return ri(n,t)},t.tickFormat=function(t,e){return ui(n,t,e)},t.copy=function(){return hi(n)},t}function gi(n){return n.innerRadius}function pi(n){return n.outerRadius}function di(n){return n.startAngle}function vi(n){return n.endAngle}function mi(n){for(var t,e,r,u=-1,i=n.length;++ue?l():(i.active=e,o.event&&o.event.start.call(n,s,t),o.tween.forEach(function(e,r){(r=r.call(n,s,t))&&p.push(r)}),c(r||1)?1:(xt(c,h,a),void 0))}function c(r){if(i.active!==e)return l();for(var u=r/g,a=f(u),c=p.length;c>0;)p[--c].call(n,a);return u>=1?(o.event&&o.event.end.call(n,s,t),l()):void 0}function l(){return--i.count?delete i[e]:delete n.__transition__,1}var s=n.__data__,f=o.ease,h=o.delay,g=o.duration,p=[];return r>=h?u(r-h):(xt(u,h,a),void 0)},0,a)}}function Ti(n,t){n.attr("transform",function(n){return"translate("+t(n)+",0)"})}function qi(n,t){n.attr("transform",function(n){return"translate(0,"+t(n)+")"})}function zi(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function Ci(n,t,e){function r(t){var e=n(t),r=i(e,1);return r-t>t-e?e:r}function u(e){return t(e=n(new Jc(e-1)),1),e}function i(n,e){return t(n=new Jc(+n),e),n}function o(n,r,i){var o=u(n),a=[];if(i>1)for(;r>o;)e(o)%i||a.push(new Date(+o)),t(o,1);else for(;r>o;)a.push(new Date(+o)),t(o,1);return a}function a(n,t,e){try{Jc=zi;var r=new zi;return r._=n,o(r,t,e)}finally{Jc=Date}}n.floor=n,n.round=r,n.ceil=u,n.offset=i,n.range=o;var c=n.utc=Di(n);return c.floor=c,c.round=Di(r),c.ceil=Di(u),c.offset=Di(i),c.range=a,n}function Di(n){return function(t,e){try{Jc=zi;var r=new zi;return r._=t,n(r,e)._}finally{Jc=Date}}}function ji(n){function t(t){for(var r,u,i,o=[],a=-1,c=0;++aa;){if(r>=l)return-1;if(u=t.charCodeAt(a++),37===u){if(o=t.charAt(a++),i=ml[o in dl?t.charAt(a++):o],!i||(r=i(n,e,r))<0)return-1}else if(u!=e.charCodeAt(r++))return-1}return r}function Hi(n){return new RegExp("^(?:"+n.map(mo.requote).join("|")+")","i")}function Fi(n){for(var t=new u,e=-1,r=n.length;++en?"-":"",u=(r?-n:n)+"",i=u.length;return r+(e>i?new Array(e-i+1).join(t)+u:u)}function Oi(n,t,e){cl.lastIndex=0;var r=cl.exec(t.substring(e));return r?(n.w=ll.get(r[0].toLowerCase()),e+r[0].length):-1}function Ri(n,t,e){ol.lastIndex=0;var r=ol.exec(t.substring(e));return r?(n.w=al.get(r[0].toLowerCase()),e+r[0].length):-1}function Yi(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e,e+1));return r?(n.w=+r[0],e+r[0].length):-1}function Ii(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e));return r?(n.U=+r[0],e+r[0].length):-1}function Ui(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e));return r?(n.W=+r[0],e+r[0].length):-1}function Zi(n,t,e){hl.lastIndex=0;var r=hl.exec(t.substring(e));return r?(n.m=gl.get(r[0].toLowerCase()),e+r[0].length):-1}function Vi(n,t,e){sl.lastIndex=0;var r=sl.exec(t.substring(e));return r?(n.m=fl.get(r[0].toLowerCase()),e+r[0].length):-1}function Xi(n,t,e){return Li(n,vl.c.toString(),t,e)}function $i(n,t,e){return Li(n,vl.x.toString(),t,e)}function Bi(n,t,e){return Li(n,vl.X.toString(),t,e)}function Wi(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e,e+4));return r?(n.y=+r[0],e+r[0].length):-1}function Ji(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e,e+2));return r?(n.y=Ki(+r[0]),e+r[0].length):-1}function Gi(n,t,e){return/^[+-]\d{4}$/.test(t=t.substring(e,e+5))?(n.Z=+t,e+5):-1}function Ki(n){return n+(n>68?1900:2e3)}function Qi(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e,e+2));return r?(n.m=r[0]-1,e+r[0].length):-1}function no(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e,e+2));return r?(n.d=+r[0],e+r[0].length):-1}function to(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e,e+3));return r?(n.j=+r[0],e+r[0].length):-1}function eo(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e,e+2));return r?(n.H=+r[0],e+r[0].length):-1}function ro(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e,e+2));return r?(n.M=+r[0],e+r[0].length):-1}function uo(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e,e+2));return r?(n.S=+r[0],e+r[0].length):-1}function io(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e,e+3));return r?(n.L=+r[0],e+r[0].length):-1}function oo(n,t,e){var r=Ml.get(t.substring(e,e+=2).toLowerCase());return null==r?-1:(n.p=r,e)}function ao(n){var t=n.getTimezoneOffset(),e=t>0?"-":"+",r=~~(Math.abs(t)/60),u=Math.abs(t)%60;return e+Pi(r,"0",2)+Pi(u,"0",2)}function co(n,t,e){pl.lastIndex=0;var r=pl.exec(t.substring(e,e+1));return r?e+r[0].length:-1}function lo(n){function t(n){try{Jc=zi;var t=new Jc;return t._=n,e(t)}finally{Jc=Date}}var e=ji(n);return t.parse=function(n){try{Jc=zi;var t=e.parse(n);return t&&t._}finally{Jc=Date}},t.toString=e.toString,t}function so(n){return n.toISOString()}function fo(n,t,e){function r(t){return n(t)}function u(n,e){var r=n[1]-n[0],u=r/e,i=mo.bisect(bl,u);return i==bl.length?[t.year,ei(n.map(function(n){return n/31536e6}),e)[2]]:i?t[u/bl[i-1]1?{floor:function(t){for(;e(t=n.floor(t));)t=ho(t-1);return t},ceil:function(t){for(;e(t=n.ceil(t));)t=ho(+t+1);return t}}:n))},r.ticks=function(n,t){var e=$u(r.domain()),i=null==n?u(e,10):"number"==typeof n?u(e,n):!n.range&&[{range:n},t];return i&&(n=i[0],t=i[1]),n.range(e[0],ho(+e[1]+1),1>t?1:t)},r.tickFormat=function(){return e},r.copy=function(){return fo(n.copy(),t,e)},ni(r,n)}function ho(n){return new Date(n)}function go(n){return function(t){for(var e=n.length-1,r=n[e];!r[1](t);)r=n[--e];return r[0](t)}}function po(n){return JSON.parse(n.responseText)}function vo(n){var t=xo.createRange();return t.selectNode(xo.body),t.createContextualFragment(n.responseText)}var mo={version:"3.3.6"};Date.now||(Date.now=function(){return+new Date});var yo=[].slice,Mo=function(n){return yo.call(n)},xo=document,bo=xo.documentElement,_o=window;try{Mo(bo.childNodes)[0].nodeType}catch(wo){Mo=function(n){for(var t=n.length,e=new Array(t);t--;)e[t]=n[t];return e}}try{xo.createElement("div").style.setProperty("opacity",0,"")}catch(So){var Eo=_o.Element.prototype,ko=Eo.setAttribute,Ao=Eo.setAttributeNS,No=_o.CSSStyleDeclaration.prototype,To=No.setProperty;Eo.setAttribute=function(n,t){ko.call(this,n,t+"")},Eo.setAttributeNS=function(n,t,e){Ao.call(this,n,t,e+"")},No.setProperty=function(n,t,e){To.call(this,n,t+"",e)}}mo.ascending=function(n,t){return t>n?-1:n>t?1:n>=t?0:0/0},mo.descending=function(n,t){return n>t?-1:t>n?1:t>=n?0:0/0},mo.min=function(n,t){var e,r,u=-1,i=n.length;if(1===arguments.length){for(;++u=e);)e=void 0;for(;++ur&&(e=r)}else{for(;++u=e);)e=void 0;for(;++ur&&(e=r)}return e},mo.max=function(n,t){var e,r,u=-1,i=n.length;if(1===arguments.length){for(;++u=e);)e=void 0;for(;++ue&&(e=r)}else{for(;++u=e);)e=void 0;for(;++ue&&(e=r)}return e},mo.extent=function(n,t){var e,r,u,i=-1,o=n.length;if(1===arguments.length){for(;++i=e);)e=u=void 0;for(;++ir&&(e=r),r>u&&(u=r))}else{for(;++i=e);)e=void 0;for(;++ir&&(e=r),r>u&&(u=r))}return[e,u]},mo.sum=function(n,t){var e,r=0,u=n.length,i=-1;if(1===arguments.length)for(;++i1&&(t=t.map(e)),t=t.filter(n),t.length?mo.quantile(t.sort(mo.ascending),.5):void 0},mo.bisector=function(n){return{left:function(t,e,r,u){for(arguments.length<3&&(r=0),arguments.length<4&&(u=t.length);u>r;){var i=r+u>>>1;n.call(t,t[i],i)r;){var i=r+u>>>1;er?0:r);r>e;)i[e]=[t=u,u=n[++e]];return i},mo.zip=function(){if(!(u=arguments.length))return[];for(var n=-1,e=mo.min(arguments,t),r=new Array(e);++nr)for(;(u=n+r*++a)>t;)i.push(u/o);else for(;(u=n+r*++a)=o.length)return r?r.call(i,a):e?a.sort(e):a;for(var l,s,f,h,g=-1,p=a.length,d=o[c++],v=new u;++g=o.length)return n;var r=[],u=a[e++];return n.forEach(function(n,u){r.push({key:n,values:t(u,e)})}),u?r.sort(function(n,t){return u(n.key,t.key)}):r}var e,r,i={},o=[],a=[];return i.map=function(t,e){return n(e,t,0)},i.entries=function(e){return t(n(mo.map,e,0),0)},i.key=function(n){return o.push(n),i},i.sortKeys=function(n){return a[o.length-1]=n,i},i.sortValues=function(n){return e=n,i},i.rollup=function(n){return r=n,i},i},mo.set=function(n){var t=new i;if(n)for(var e=0,r=n.length;r>e;++e)t.add(n[e]);return t},r(i,{has:function(n){return zo+n in this},add:function(n){return this[zo+n]=!0,n},remove:function(n){return n=zo+n,n in this&&delete this[n]},values:function(){var n=[];return this.forEach(function(t){n.push(t)}),n},forEach:function(n){for(var t in this)t.charCodeAt(0)===Co&&n.call(this,t.substring(1))}}),mo.behavior={},mo.rebind=function(n,t){for(var e,r=1,u=arguments.length;++r=0&&(r=n.substring(e+1),n=n.substring(0,e)),n)return arguments.length<2?this[n].on(r):this[n].on(r,t);if(2===arguments.length){if(null==t)for(n in this)this.hasOwnProperty(n)&&this[n].on(r,null);return this}},mo.event=null,mo.requote=function(n){return n.replace(jo,"\\$&")};var jo=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,Lo={}.__proto__?function(n,t){n.__proto__=t}:function(n,t){for(var e in t)n[e]=t[e]},Ho=function(n,t){return t.querySelector(n)},Fo=function(n,t){return t.querySelectorAll(n)},Po=bo[a(bo,"matchesSelector")],Oo=function(n,t){return Po.call(n,t)};"function"==typeof Sizzle&&(Ho=function(n,t){return Sizzle(n,t)[0]||null},Fo=function(n,t){return Sizzle.uniqueSort(Sizzle(n,t))},Oo=Sizzle.matchesSelector),mo.selection=function(){return Uo};var Ro=mo.selection.prototype=[];Ro.select=function(n){var t,e,r,u,i=[];n=d(n);for(var o=-1,a=this.length;++o=0&&(e=n.substring(0,t),n=n.substring(t+1)),Yo.hasOwnProperty(e)?{space:Yo[e],local:n}:n}},Ro.attr=function(n,t){if(arguments.length<2){if("string"==typeof n){var e=this.node();return n=mo.ns.qualify(n),n.local?e.getAttributeNS(n.space,n.local):e.getAttribute(n)}for(t in n)this.each(m(t,n[t]));return this}return this.each(m(n,t))},Ro.classed=function(n,t){if(arguments.length<2){if("string"==typeof n){var e=this.node(),r=(n=n.trim().split(/^|\s+/g)).length,u=-1;if(t=e.classList){for(;++ur){if("string"!=typeof n){2>r&&(t="");for(e in n)this.each(_(e,n[e],t));return this}if(2>r)return _o.getComputedStyle(this.node(),null).getPropertyValue(n);e=""}return this.each(_(n,t,e))},Ro.property=function(n,t){if(arguments.length<2){if("string"==typeof n)return this.node()[n];for(t in n)this.each(w(t,n[t]));return this}return this.each(w(n,t))},Ro.text=function(n){return arguments.length?this.each("function"==typeof n?function(){var t=n.apply(this,arguments);this.textContent=null==t?"":t}:null==n?function(){this.textContent=""}:function(){this.textContent=n}):this.node().textContent},Ro.html=function(n){return arguments.length?this.each("function"==typeof n?function(){var t=n.apply(this,arguments);this.innerHTML=null==t?"":t}:null==n?function(){this.innerHTML=""}:function(){this.innerHTML=n}):this.node().innerHTML},Ro.append=function(n){return n=S(n),this.select(function(){return this.appendChild(n.apply(this,arguments))})},Ro.insert=function(n,t){return n=S(n),t=d(t),this.select(function(){return this.insertBefore(n.apply(this,arguments),t.apply(this,arguments))})},Ro.remove=function(){return this.each(function(){var n=this.parentNode;n&&n.removeChild(this)})},Ro.data=function(n,t){function e(n,e){var r,i,o,a=n.length,f=e.length,h=Math.min(a,f),g=new Array(f),p=new Array(f),d=new Array(a);if(t){var v,m=new u,y=new u,M=[];for(r=-1;++rr;++r)p[r]=E(e[r]);for(;a>r;++r)d[r]=n[r]}p.update=g,p.parentNode=g.parentNode=d.parentNode=n.parentNode,c.push(p),l.push(g),s.push(d)}var r,i,o=-1,a=this.length;if(!arguments.length){for(n=new Array(a=(r=this[0]).length);++oi;i++){u.push(t=[]),t.parentNode=(e=this[i]).parentNode;for(var a=0,c=e.length;c>a;a++)(r=e[a])&&n.call(r,r.__data__,a)&&t.push(r)}return p(u)},Ro.order=function(){for(var n=-1,t=this.length;++n=0;)(e=r[u])&&(i&&i!==e.nextSibling&&i.parentNode.insertBefore(e,i),i=e);return this},Ro.sort=function(n){n=A.apply(this,arguments);for(var t=-1,e=this.length;++tn;n++)for(var e=this[n],r=0,u=e.length;u>r;r++){var i=e[r];if(i)return i}return null},Ro.size=function(){var n=0;return this.each(function(){++n}),n};var Io=[];mo.selection.enter=T,mo.selection.enter.prototype=Io,Io.append=Ro.append,Io.empty=Ro.empty,Io.node=Ro.node,Io.call=Ro.call,Io.size=Ro.size,Io.select=function(n){for(var t,e,r,u,i,o=[],a=-1,c=this.length;++ar){if("string"!=typeof n){2>r&&(t=!1);for(e in n)this.each(C(e,n[e],t));return this}if(2>r)return(r=this.node()["__on"+n])&&r._;e=!1}return this.each(C(n,t,e))};var Zo=mo.map({mouseenter:"mouseover",mouseleave:"mouseout"});Zo.forEach(function(n){"on"+n in xo&&Zo.remove(n)});var Vo=a(bo.style,"userSelect"),Xo=0;mo.mouse=function(n){return H(n,h())};var $o=/WebKit/.test(_o.navigator.userAgent)?-1:0;mo.touches=function(n,t){return arguments.length<2&&(t=h().touches),t?Mo(t).map(function(t){var e=H(n,t);return e.identifier=t.identifier,e}):[]},mo.behavior.drag=function(){function n(){this.on("mousedown.drag",o).on("touchstart.drag",a)}function t(){return mo.event.changedTouches[0].identifier}function e(n,t){return mo.touches(n).filter(function(n){return n.identifier===t})[0]}function r(n,t,e,r){return function(){function o(){var n=t(s,g),e=n[0]-d[0],r=n[1]-d[1];v|=e|r,d=n,f({type:"drag",x:n[0]+c[0],y:n[1]+c[1],dx:e,dy:r})}function a(){m.on(e+"."+p,null).on(r+"."+p,null),y(v&&mo.event.target===h),f({type:"dragend"})}var c,l=this,s=l.parentNode,f=u.of(l,arguments),h=mo.event.target,g=n(),p=null==g?"drag":"drag-"+g,d=t(s,g),v=0,m=mo.select(_o).on(e+"."+p,o).on(r+"."+p,a),y=L();i?(c=i.apply(l,arguments),c=[c.x-d[0],c.y-d[1]]):c=[0,0],f({type:"dragstart"})}}var u=g(n,"drag","dragstart","dragend"),i=null,o=r(c,mo.mouse,"mousemove","mouseup"),a=r(t,e,"touchmove","touchend");return n.origin=function(t){return arguments.length?(i=t,n):i},mo.rebind(n,u,"on")};var Bo=Math.PI,Wo=2*Bo,Jo=Bo/2,Go=1e-6,Ko=Go*Go,Qo=Bo/180,na=180/Bo,ta=Math.SQRT2,ea=2,ra=4;mo.interpolateZoom=function(n,t){function e(n){var t=n*y;if(m){var e=Y(d),o=i/(ea*h)*(e*I(ta*t+d)-R(d));return[r+o*l,u+o*s,i*e/Y(ta*t+d)]}return[r+n*l,u+n*s,i*Math.exp(ta*t)]}var r=n[0],u=n[1],i=n[2],o=t[0],a=t[1],c=t[2],l=o-r,s=a-u,f=l*l+s*s,h=Math.sqrt(f),g=(c*c-i*i+ra*f)/(2*i*ea*h),p=(c*c-i*i-ra*f)/(2*c*ea*h),d=Math.log(Math.sqrt(g*g+1)-g),v=Math.log(Math.sqrt(p*p+1)-p),m=v-d,y=(m||Math.log(c/i))/ta;return e.duration=1e3*y,e},mo.behavior.zoom=function(){function n(n){n.on(A,l).on(oa+".zoom",h).on(N,p).on("dblclick.zoom",d).on(q,s)}function t(n){return[(n[0]-S.x)/S.k,(n[1]-S.y)/S.k]}function e(n){return[n[0]*S.k+S.x,n[1]*S.k+S.y]}function r(n){S.k=Math.max(k[0],Math.min(k[1],n))}function u(n,t){t=e(t),S.x+=n[0]-t[0],S.y+=n[1]-t[1]}function i(){b&&b.domain(x.range().map(function(n){return(n-S.x)/S.k}).map(x.invert)),w&&w.domain(_.range().map(function(n){return(n-S.y)/S.k}).map(_.invert))}function o(n){n({type:"zoomstart"})}function a(n){i(),n({type:"zoom",scale:S.k,translate:[S.x,S.y]})}function c(n){n({type:"zoomend"})}function l(){function n(){s=1,u(mo.mouse(r),h),a(i)}function e(){f.on(N,_o===r?p:null).on(T,null),g(s&&mo.event.target===l),c(i)}var r=this,i=C.of(r,arguments),l=mo.event.target,s=0,f=mo.select(_o).on(N,n).on(T,e),h=t(mo.mouse(r)),g=L();z.call(r),o(i)}function s(){function n(){var n=mo.touches(p);return g=S.k,n.forEach(function(n){n.identifier in v&&(v[n.identifier]=t(n))}),n}function e(){for(var t=mo.event.changedTouches,e=0,i=t.length;i>e;++e)v[t[e].identifier]=null;var o=n(),c=Date.now();if(1===o.length){if(500>c-M){var l=o[0],s=v[l.identifier];r(2*S.k),u(l,s),f(),a(d)}M=c}else if(o.length>1){var l=o[0],h=o[1],g=l[0]-h[0],p=l[1]-h[1];m=g*g+p*p}}function i(){for(var n,t,e,i,o=mo.touches(p),c=0,l=o.length;l>c;++c,i=null)if(e=o[c],i=v[e.identifier]){if(t)break;n=e,t=i}if(i){var s=(s=e[0]-n[0])*s+(s=e[1]-n[1])*s,f=m&&Math.sqrt(s/m);n=[(n[0]+e[0])/2,(n[1]+e[1])/2],t=[(t[0]+i[0])/2,(t[1]+i[1])/2],r(f*g)}M=null,u(n,t),a(d)}function h(){if(mo.event.touches.length){for(var t=mo.event.changedTouches,e=0,r=t.length;r>e;++e)delete v[t[e].identifier];for(var u in v)return void n()}_.on(x,null).on(b,null),w.on(A,l).on(q,s),E(),c(d)}var g,p=this,d=C.of(p,arguments),v={},m=0,y=mo.event.changedTouches[0].identifier,x="touchmove.zoom-"+y,b="touchend.zoom-"+y,_=mo.select(_o).on(x,i).on(b,h),w=mo.select(p).on(A,null).on(q,e),E=L();z.call(p),e(),o(d)}function h(){var n=C.of(this,arguments);y?clearTimeout(y):(z.call(this),o(n)),y=setTimeout(function(){y=null,c(n)},50),f();var e=m||mo.mouse(this);v||(v=t(e)),r(Math.pow(2,.002*ua())*S.k),u(e,v),a(n)}function p(){v=null}function d(){var n=C.of(this,arguments),e=mo.mouse(this),i=t(e),l=Math.log(S.k)/Math.LN2;o(n),r(Math.pow(2,mo.event.shiftKey?Math.ceil(l)-1:Math.floor(l)+1)),u(e,i),a(n),c(n)}var v,m,y,M,x,b,_,w,S={x:0,y:0,k:1},E=[960,500],k=ia,A="mousedown.zoom",N="mousemove.zoom",T="mouseup.zoom",q="touchstart.zoom",C=g(n,"zoomstart","zoom","zoomend");return n.event=function(n){n.each(function(){var n=C.of(this,arguments),t=S;Oc?mo.select(this).transition().each("start.zoom",function(){S=this.__chart__||{x:0,y:0,k:1},o(n)}).tween("zoom:zoom",function(){var e=E[0],r=E[1],u=e/2,i=r/2,o=mo.interpolateZoom([(u-S.x)/S.k,(i-S.y)/S.k,e/S.k],[(u-t.x)/t.k,(i-t.y)/t.k,e/t.k]);return function(t){var r=o(t),c=e/r[2];this.__chart__=S={x:u-r[0]*c,y:i-r[1]*c,k:c},a(n)}}).each("end.zoom",function(){c(n)}):(this.__chart__=S,o(n),a(n),c(n))})},n.translate=function(t){return arguments.length?(S={x:+t[0],y:+t[1],k:S.k},i(),n):[S.x,S.y]},n.scale=function(t){return arguments.length?(S={x:S.x,y:S.y,k:+t},i(),n):S.k},n.scaleExtent=function(t){return arguments.length?(k=null==t?ia:[+t[0],+t[1]],n):k},n.center=function(t){return arguments.length?(m=t&&[+t[0],+t[1]],n):m},n.size=function(t){return arguments.length?(E=t&&[+t[0],+t[1]],n):E},n.x=function(t){return arguments.length?(b=t,x=t.copy(),S={x:0,y:0,k:1},n):b},n.y=function(t){return arguments.length?(w=t,_=t.copy(),S={x:0,y:0,k:1},n):w},mo.rebind(n,C,"on")};var ua,ia=[0,1/0],oa="onwheel"in xo?(ua=function(){return-mo.event.deltaY*(mo.event.deltaMode?120:1)},"wheel"):"onmousewheel"in xo?(ua=function(){return mo.event.wheelDelta},"mousewheel"):(ua=function(){return-mo.event.detail},"MozMousePixelScroll");Z.prototype.toString=function(){return this.rgb()+""},mo.hsl=function(n,t,e){return 1===arguments.length?n instanceof X?V(n.h,n.s,n.l):lt(""+n,st,V):V(+n,+t,+e)};var aa=X.prototype=new Z;aa.brighter=function(n){return n=Math.pow(.7,arguments.length?n:1),V(this.h,this.s,this.l/n)},aa.darker=function(n){return n=Math.pow(.7,arguments.length?n:1),V(this.h,this.s,n*this.l)},aa.rgb=function(){return $(this.h,this.s,this.l)},mo.hcl=function(n,t,e){return 1===arguments.length?n instanceof W?B(n.h,n.c,n.l):n instanceof K?nt(n.l,n.a,n.b):nt((n=ft((n=mo.rgb(n)).r,n.g,n.b)).l,n.a,n.b):B(+n,+t,+e)};var ca=W.prototype=new Z;ca.brighter=function(n){return B(this.h,this.c,Math.min(100,this.l+la*(arguments.length?n:1)))},ca.darker=function(n){return B(this.h,this.c,Math.max(0,this.l-la*(arguments.length?n:1)))},ca.rgb=function(){return J(this.h,this.c,this.l).rgb()},mo.lab=function(n,t,e){return 1===arguments.length?n instanceof K?G(n.l,n.a,n.b):n instanceof W?J(n.l,n.c,n.h):ft((n=mo.rgb(n)).r,n.g,n.b):G(+n,+t,+e)};var la=18,sa=.95047,fa=1,ha=1.08883,ga=K.prototype=new Z;ga.brighter=function(n){return G(Math.min(100,this.l+la*(arguments.length?n:1)),this.a,this.b)},ga.darker=function(n){return G(Math.max(0,this.l-la*(arguments.length?n:1)),this.a,this.b)},ga.rgb=function(){return Q(this.l,this.a,this.b)},mo.rgb=function(n,t,e){return 1===arguments.length?n instanceof at?ot(n.r,n.g,n.b):lt(""+n,ot,$):ot(~~n,~~t,~~e)};var pa=at.prototype=new Z;pa.brighter=function(n){n=Math.pow(.7,arguments.length?n:1);var t=this.r,e=this.g,r=this.b,u=30;return t||e||r?(t&&u>t&&(t=u),e&&u>e&&(e=u),r&&u>r&&(r=u),ot(Math.min(255,~~(t/n)),Math.min(255,~~(e/n)),Math.min(255,~~(r/n)))):ot(u,u,u)},pa.darker=function(n){return n=Math.pow(.7,arguments.length?n:1),ot(~~(n*this.r),~~(n*this.g),~~(n*this.b))},pa.hsl=function(){return st(this.r,this.g,this.b)},pa.toString=function(){return"#"+ct(this.r)+ct(this.g)+ct(this.b)};var da=mo.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});da.forEach(function(n,t){da.set(n,ut(t))}),mo.functor=pt,mo.xhr=vt(dt),mo.dsv=function(n,t){function e(n,e,i){arguments.length<3&&(i=e,e=null);var o=mo.xhr(n,t,i);return o.row=function(n){return arguments.length?o.response(null==(e=n)?r:u(n)):e},o.row(e)}function r(n){return e.parse(n.responseText)}function u(n){return function(t){return e.parse(t.responseText,n)}}function o(t){return t.map(a).join(n)}function a(n){return c.test(n)?'"'+n.replace(/\"/g,'""')+'"':n}var c=new RegExp('["'+n+"\n]"),l=n.charCodeAt(0);return e.parse=function(n,t){var r;return e.parseRows(n,function(n,e){if(r)return r(n,e-1);var u=new Function("d","return {"+n.map(function(n,t){return JSON.stringify(n)+": d["+t+"]"}).join(",")+"}");r=t?function(n,e){return t(u(n),e)}:u})},e.parseRows=function(n,t){function e(){if(s>=c)return o;if(u)return u=!1,i;var t=s;if(34===n.charCodeAt(t)){for(var e=t;e++s;){var r=n.charCodeAt(s++),a=1;if(10===r)u=!0;else if(13===r)u=!0,10===n.charCodeAt(s)&&(++s,++a);else if(r!==l)continue;return n.substring(t,s-a)}return n.substring(t)}for(var r,u,i={},o={},a=[],c=n.length,s=0,f=0;(r=e())!==o;){for(var h=[];r!==i&&r!==o;)h.push(r),r=e();(!t||(h=t(h,f++)))&&a.push(h)}return a},e.format=function(t){if(Array.isArray(t[0]))return e.formatRows(t);var r=new i,u=[];return t.forEach(function(n){for(var t in n)r.has(t)||u.push(r.add(t))}),[u.map(a).join(n)].concat(t.map(function(t){return u.map(function(n){return a(t[n])}).join(n)})).join("\n")},e.formatRows=function(n){return n.map(o).join("\n")},e},mo.csv=mo.dsv(",","text/csv"),mo.tsv=mo.dsv(" ","text/tab-separated-values");var va,ma,ya,Ma,xa,ba=_o[a(_o,"requestAnimationFrame")]||function(n){setTimeout(n,17)};mo.timer=function(n,t,e){var r=arguments.length;2>r&&(t=0),3>r&&(e=Date.now());var u=e+t,i={callback:n,time:u,next:null};ma?ma.next=i:va=i,ma=i,ya||(Ma=clearTimeout(Ma),ya=1,ba(Mt))},mo.timer.flush=function(){bt(),_t()};var _a=".",wa=",",Sa=[3,3],Ea="$",ka=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"].map(wt);mo.formatPrefix=function(n,t){var e=0;return n&&(0>n&&(n*=-1),t&&(n=mo.round(n,St(n,t))),e=1+Math.floor(1e-12+Math.log(n)/Math.LN10),e=Math.max(-24,Math.min(24,3*Math.floor((0>=e?e+1:e-1)/3)))),ka[8+e/3]},mo.round=function(n,t){return t?Math.round(n*(t=Math.pow(10,t)))/t:Math.round(n)},mo.format=function(n){var t=Aa.exec(n),e=t[1]||" ",r=t[2]||">",u=t[3]||"",i=t[4]||"",o=t[5],a=+t[6],c=t[7],l=t[8],s=t[9],f=1,h="",g=!1;switch(l&&(l=+l.substring(1)),(o||"0"===e&&"="===r)&&(o=e="0",r="=",c&&(a-=Math.floor((a-1)/4))),s){case"n":c=!0,s="g";break;case"%":f=100,h="%",s="f";break;case"p":f=100,h="%",s="r";break;case"b":case"o":case"x":case"X":"#"===i&&(i="0"+s.toLowerCase());case"c":case"d":g=!0,l=0;break;case"s":f=-1,s="r"}"#"===i?i="":"$"===i&&(i=Ea),"r"!=s||l||(s="g"),null!=l&&("g"==s?l=Math.max(1,Math.min(21,l)):("e"==s||"f"==s)&&(l=Math.max(0,Math.min(20,l)))),s=Na.get(s)||Et;var p=o&&c;return function(n){if(g&&n%1)return"";var t=0>n||0===n&&0>1/n?(n=-n,"-"):u;if(0>f){var d=mo.formatPrefix(n,l);n=d.scale(n),h=d.symbol}else n*=f;n=s(n,l);var v=n.lastIndexOf("."),m=0>v?n:n.substring(0,v),y=0>v?"":_a+n.substring(v+1);!o&&c&&(m=Ta(m));var M=i.length+m.length+y.length+(p?0:t.length),x=a>M?new Array(M=a-M+1).join(e):"";return p&&(m=Ta(x+m)),t+=i,n=m+y,("<"===r?t+n+x:">"===r?x+t+n:"^"===r?x.substring(0,M>>=1)+t+n+x.substring(M):t+(p?n:x+n))+h}};var Aa=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,Na=mo.map({b:function(n){return n.toString(2)},c:function(n){return String.fromCharCode(n)},o:function(n){return n.toString(8)},x:function(n){return n.toString(16)},X:function(n){return n.toString(16).toUpperCase()},g:function(n,t){return n.toPrecision(t)},e:function(n,t){return n.toExponential(t)},f:function(n,t){return n.toFixed(t)},r:function(n,t){return(n=mo.round(n,St(n,t))).toFixed(Math.max(0,Math.min(20,St(n*(1+1e-15),t))))}}),Ta=dt;if(Sa){var qa=Sa.length;Ta=function(n){for(var t=n.length,e=[],r=0,u=Sa[0];t>0&&u>0;)e.push(n.substring(t-=u,t+u)),u=Sa[r=(r+1)%qa];return e.reverse().join(wa)}}mo.geo={},kt.prototype={s:0,t:0,add:function(n){At(n,this.t,za),At(za.s,this.s,this),this.s?this.t+=za.t:this.s=za.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var za=new kt;mo.geo.stream=function(n,t){n&&Ca.hasOwnProperty(n.type)?Ca[n.type](n,t):Nt(n,t)};var Ca={Feature:function(n,t){Nt(n.geometry,t)},FeatureCollection:function(n,t){for(var e=n.features,r=-1,u=e.length;++rn?4*Bo+n:n,Ha.lineStart=Ha.lineEnd=Ha.point=c}};mo.geo.bounds=function(){function n(n,t){M.push(x=[s=n,h=n]),f>t&&(f=t),t>g&&(g=t)}function t(t,e){var r=Ct([t*Qo,e*Qo]);if(m){var u=jt(m,r),i=[u[1],-u[0],0],o=jt(i,u);Ft(o),o=Pt(o);var c=t-p,l=c>0?1:-1,d=o[0]*na*l,v=Math.abs(c)>180;if(v^(d>l*p&&l*t>d)){var y=o[1]*na;y>g&&(g=y)}else if(d=(d+360)%360-180,v^(d>l*p&&l*t>d)){var y=-o[1]*na;f>y&&(f=y)}else f>e&&(f=e),e>g&&(g=e);v?p>t?a(s,t)>a(s,h)&&(h=t):a(t,h)>a(s,h)&&(s=t):h>=s?(s>t&&(s=t),t>h&&(h=t)):t>p?a(s,t)>a(s,h)&&(h=t):a(t,h)>a(s,h)&&(s=t)}else n(t,e);m=r,p=t}function e(){b.point=t}function r(){x[0]=s,x[1]=h,b.point=n,m=null}function u(n,e){if(m){var r=n-p;y+=Math.abs(r)>180?r+(r>0?360:-360):r}else d=n,v=e;Ha.point(n,e),t(n,e)}function i(){Ha.lineStart()}function o(){u(d,v),Ha.lineEnd(),Math.abs(y)>Go&&(s=-(h=180)),x[0]=s,x[1]=h,m=null}function a(n,t){return(t-=n)<0?t+360:t}function c(n,t){return n[0]-t[0]}function l(n,t){return t[0]<=t[1]?t[0]<=n&&n<=t[1]:nLa?(s=-(h=180),f=-(g=90)):y>Go?g=90:-Go>y&&(f=-90),x[0]=s,x[1]=h}};return function(n){g=h=-(s=f=1/0),M=[],mo.geo.stream(n,b);var t=M.length;if(t){M.sort(c);for(var e,r=1,u=M[0],i=[u];t>r;++r)e=M[r],l(e[0],u)||l(e[1],u)?(a(u[0],e[1])>a(u[0],u[1])&&(u[1]=e[1]),a(e[0],u[1])>a(u[0],u[1])&&(u[0]=e[0])):i.push(u=e);for(var o,e,p=-1/0,t=i.length-1,r=0,u=i[t];t>=r;u=e,++r)e=i[r],(o=a(u[1],e[0]))>p&&(p=o,s=e[0],h=u[1])}return M=x=null,1/0===s||1/0===f?[[0/0,0/0],[0/0,0/0]]:[[s,f],[h,g]]}}(),mo.geo.centroid=function(n){Fa=Pa=Oa=Ra=Ya=Ia=Ua=Za=Va=Xa=$a=0,mo.geo.stream(n,Ba);var t=Va,e=Xa,r=$a,u=t*t+e*e+r*r;return Ko>u&&(t=Ia,e=Ua,r=Za,Go>Pa&&(t=Oa,e=Ra,r=Ya),u=t*t+e*e+r*r,Ko>u)?[0/0,0/0]:[Math.atan2(e,t)*na,O(r/Math.sqrt(u))*na]};var Fa,Pa,Oa,Ra,Ya,Ia,Ua,Za,Va,Xa,$a,Ba={sphere:c,point:Rt,lineStart:It,lineEnd:Ut,polygonStart:function(){Ba.lineStart=Zt},polygonEnd:function(){Ba.lineStart=It}},Wa=Bt(Vt,Qt,te,[-Bo,-Bo/2]),Ja=1e9;mo.geo.clipExtent=function(){var n,t,e,r,u,i,o={stream:function(n){return u&&(u.valid=!1),u=i(n),u.valid=!0,u},extent:function(a){return arguments.length?(i=re(n=+a[0][0],t=+a[0][1],e=+a[1][0],r=+a[1][1]),u&&(u.valid=!1,u=null),o):[[n,t],[e,r]]}};return o.extent([[0,0],[960,500]])},(mo.geo.conicEqualArea=function(){return oe(ae)}).raw=ae,mo.geo.albers=function(){return mo.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},mo.geo.albersUsa=function(){function n(n){var i=n[0],o=n[1];return t=null,e(i,o),t||(r(i,o),t)||u(i,o),t}var t,e,r,u,i=mo.geo.albers(),o=mo.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),a=mo.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),c={point:function(n,e){t=[n,e]}};return n.invert=function(n){var t=i.scale(),e=i.translate(),r=(n[0]-e[0])/t,u=(n[1]-e[1])/t;return(u>=.12&&.234>u&&r>=-.425&&-.214>r?o:u>=.166&&.234>u&&r>=-.214&&-.115>r?a:i).invert(n)},n.stream=function(n){var t=i.stream(n),e=o.stream(n),r=a.stream(n);return{point:function(n,u){t.point(n,u),e.point(n,u),r.point(n,u)},sphere:function(){t.sphere(),e.sphere(),r.sphere()},lineStart:function(){t.lineStart(),e.lineStart(),r.lineStart()},lineEnd:function(){t.lineEnd(),e.lineEnd(),r.lineEnd()},polygonStart:function(){t.polygonStart(),e.polygonStart(),r.polygonStart()},polygonEnd:function(){t.polygonEnd(),e.polygonEnd(),r.polygonEnd()}}},n.precision=function(t){return arguments.length?(i.precision(t),o.precision(t),a.precision(t),n):i.precision()},n.scale=function(t){return arguments.length?(i.scale(t),o.scale(.35*t),a.scale(t),n.translate(i.translate())):i.scale()},n.translate=function(t){if(!arguments.length)return i.translate();var l=i.scale(),s=+t[0],f=+t[1];return e=i.translate(t).clipExtent([[s-.455*l,f-.238*l],[s+.455*l,f+.238*l]]).stream(c).point,r=o.translate([s-.307*l,f+.201*l]).clipExtent([[s-.425*l+Go,f+.12*l+Go],[s-.214*l-Go,f+.234*l-Go]]).stream(c).point,u=a.translate([s-.205*l,f+.212*l]).clipExtent([[s-.214*l+Go,f+.166*l+Go],[s-.115*l-Go,f+.234*l-Go]]).stream(c).point,n},n.scale(1070)};var Ga,Ka,Qa,nc,tc,ec,rc={point:c,lineStart:c,lineEnd:c,polygonStart:function(){Ka=0,rc.lineStart=ce},polygonEnd:function(){rc.lineStart=rc.lineEnd=rc.point=c,Ga+=Math.abs(Ka/2)}},uc={point:le,lineStart:c,lineEnd:c,polygonStart:c,polygonEnd:c},ic={point:he,lineStart:ge,lineEnd:pe,polygonStart:function(){ic.lineStart=de},polygonEnd:function(){ic.point=he,ic.lineStart=ge,ic.lineEnd=pe}};mo.geo.transform=function(n){return{stream:function(t){var e=new ye(t);for(var r in n)e[r]=n[r];return e}}},ye.prototype={point:function(n,t){this.stream.point(n,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}},mo.geo.path=function(){function n(n){return n&&("function"==typeof a&&i.pointRadius(+a.apply(this,arguments)),o&&o.valid||(o=u(i)),mo.geo.stream(n,o)),i.result()}function t(){return o=null,n}var e,r,u,i,o,a=4.5;return n.area=function(n){return Ga=0,mo.geo.stream(n,u(rc)),Ga},n.centroid=function(n){return Oa=Ra=Ya=Ia=Ua=Za=Va=Xa=$a=0,mo.geo.stream(n,u(ic)),$a?[Va/$a,Xa/$a]:Za?[Ia/Za,Ua/Za]:Ya?[Oa/Ya,Ra/Ya]:[0/0,0/0]},n.bounds=function(n){return tc=ec=-(Qa=nc=1/0),mo.geo.stream(n,u(uc)),[[Qa,nc],[tc,ec]]},n.projection=function(n){return arguments.length?(u=(e=n)?n.stream||Me(n):dt,t()):e},n.context=function(n){return arguments.length?(i=null==(r=n)?new se:new ve(n),"function"!=typeof a&&i.pointRadius(a),t()):r},n.pointRadius=function(t){return arguments.length?(a="function"==typeof t?t:(i.pointRadius(+t),+t),n):a},n.projection(mo.geo.albersUsa()).context(null)},mo.geo.projection=xe,mo.geo.projectionMutator=be,(mo.geo.equirectangular=function(){return xe(we)}).raw=we.invert=we,mo.geo.rotation=function(n){function t(t){return t=n(t[0]*Qo,t[1]*Qo),t[0]*=na,t[1]*=na,t}return n=Ee(n[0]%360*Qo,n[1]*Qo,n.length>2?n[2]*Qo:0),t.invert=function(t){return t=n.invert(t[0]*Qo,t[1]*Qo),t[0]*=na,t[1]*=na,t},t},Se.invert=we,mo.geo.circle=function(){function n(){var n="function"==typeof r?r.apply(this,arguments):r,t=Ee(-n[0]*Qo,-n[1]*Qo,0).invert,u=[];return e(null,null,1,{point:function(n,e){u.push(n=t(n,e)),n[0]*=na,n[1]*=na}}),{type:"Polygon",coordinates:[u]}}var t,e,r=[0,0],u=6;return n.origin=function(t){return arguments.length?(r=t,n):r},n.angle=function(r){return arguments.length?(e=Te((t=+r)*Qo,u*Qo),n):t},n.precision=function(r){return arguments.length?(e=Te(t*Qo,(u=+r)*Qo),n):u},n.angle(90)},mo.geo.distance=function(n,t){var e,r=(t[0]-n[0])*Qo,u=n[1]*Qo,i=t[1]*Qo,o=Math.sin(r),a=Math.cos(r),c=Math.sin(u),l=Math.cos(u),s=Math.sin(i),f=Math.cos(i);return Math.atan2(Math.sqrt((e=f*o)*e+(e=l*s-c*f*a)*e),c*s+l*f*a)},mo.geo.graticule=function(){function n(){return{type:"MultiLineString",coordinates:t()}}function t(){return mo.range(Math.ceil(i/v)*v,u,v).map(h).concat(mo.range(Math.ceil(l/m)*m,c,m).map(g)).concat(mo.range(Math.ceil(r/p)*p,e,p).filter(function(n){return Math.abs(n%v)>Go -}).map(s)).concat(mo.range(Math.ceil(a/d)*d,o,d).filter(function(n){return Math.abs(n%m)>Go}).map(f))}var e,r,u,i,o,a,c,l,s,f,h,g,p=10,d=p,v=90,m=360,y=2.5;return n.lines=function(){return t().map(function(n){return{type:"LineString",coordinates:n}})},n.outline=function(){return{type:"Polygon",coordinates:[h(i).concat(g(c).slice(1),h(u).reverse().slice(1),g(l).reverse().slice(1))]}},n.extent=function(t){return arguments.length?n.majorExtent(t).minorExtent(t):n.minorExtent()},n.majorExtent=function(t){return arguments.length?(i=+t[0][0],u=+t[1][0],l=+t[0][1],c=+t[1][1],i>u&&(t=i,i=u,u=t),l>c&&(t=l,l=c,c=t),n.precision(y)):[[i,l],[u,c]]},n.minorExtent=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],a=+t[0][1],o=+t[1][1],r>e&&(t=r,r=e,e=t),a>o&&(t=a,a=o,o=t),n.precision(y)):[[r,a],[e,o]]},n.step=function(t){return arguments.length?n.majorStep(t).minorStep(t):n.minorStep()},n.majorStep=function(t){return arguments.length?(v=+t[0],m=+t[1],n):[v,m]},n.minorStep=function(t){return arguments.length?(p=+t[0],d=+t[1],n):[p,d]},n.precision=function(t){return arguments.length?(y=+t,s=ze(a,o,90),f=Ce(r,e,y),h=ze(l,c,90),g=Ce(i,u,y),n):y},n.majorExtent([[-180,-90+Go],[180,90-Go]]).minorExtent([[-180,-80-Go],[180,80+Go]])},mo.geo.greatArc=function(){function n(){return{type:"LineString",coordinates:[t||r.apply(this,arguments),e||u.apply(this,arguments)]}}var t,e,r=De,u=je;return n.distance=function(){return mo.geo.distance(t||r.apply(this,arguments),e||u.apply(this,arguments))},n.source=function(e){return arguments.length?(r=e,t="function"==typeof e?null:e,n):r},n.target=function(t){return arguments.length?(u=t,e="function"==typeof t?null:t,n):u},n.precision=function(){return arguments.length?n:0},n},mo.geo.interpolate=function(n,t){return Le(n[0]*Qo,n[1]*Qo,t[0]*Qo,t[1]*Qo)},mo.geo.length=function(n){return oc=0,mo.geo.stream(n,ac),oc};var oc,ac={sphere:c,point:c,lineStart:He,lineEnd:c,polygonStart:c,polygonEnd:c},cc=Fe(function(n){return Math.sqrt(2/(1+n))},function(n){return 2*Math.asin(n/2)});(mo.geo.azimuthalEqualArea=function(){return xe(cc)}).raw=cc;var lc=Fe(function(n){var t=Math.acos(n);return t&&t/Math.sin(t)},dt);(mo.geo.azimuthalEquidistant=function(){return xe(lc)}).raw=lc,(mo.geo.conicConformal=function(){return oe(Pe)}).raw=Pe,(mo.geo.conicEquidistant=function(){return oe(Oe)}).raw=Oe;var sc=Fe(function(n){return 1/n},Math.atan);(mo.geo.gnomonic=function(){return xe(sc)}).raw=sc,Re.invert=function(n,t){return[n,2*Math.atan(Math.exp(t))-Jo]},(mo.geo.mercator=function(){return Ye(Re)}).raw=Re;var fc=Fe(function(){return 1},Math.asin);(mo.geo.orthographic=function(){return xe(fc)}).raw=fc;var hc=Fe(function(n){return 1/(1+n)},function(n){return 2*Math.atan(n)});(mo.geo.stereographic=function(){return xe(hc)}).raw=hc,Ie.invert=function(n,t){return[Math.atan2(R(n),Math.cos(t)),O(Math.sin(t)/Y(n))]},(mo.geo.transverseMercator=function(){return Ye(Ie)}).raw=Ie,mo.geom={},mo.svg={},mo.svg.line=function(){return Ue(dt)};var gc=mo.map({linear:Xe,"linear-closed":$e,step:Be,"step-before":We,"step-after":Je,basis:er,"basis-open":rr,"basis-closed":ur,bundle:ir,cardinal:Qe,"cardinal-open":Ge,"cardinal-closed":Ke,monotone:fr});gc.forEach(function(n,t){t.key=n,t.closed=/-closed$/.test(n)});var pc=[0,2/3,1/3,0],dc=[0,1/3,2/3,0],vc=[0,1/6,2/3,1/6];mo.geom.hull=function(n){function t(n){if(n.length<3)return[];var t,u,i,o,a,c,l,s,f,h,g,p,d=pt(e),v=pt(r),m=n.length,y=m-1,M=[],x=[],b=0;if(d===Ze&&r===Ve)t=n;else for(i=0,t=[];m>i;++i)t.push([+d.call(this,u=n[i],i),+v.call(this,u,i)]);for(i=1;m>i;++i)(t[i][1]i;++i)i!==b&&(c=t[i][1]-t[b][1],a=t[i][0]-t[b][0],M.push({angle:Math.atan2(c,a),index:i}));for(M.sort(function(n,t){return n.angle-t.angle}),g=M[0].angle,h=M[0].index,f=0,i=1;y>i;++i){if(o=M[i].index,g==M[i].angle){if(a=t[h][0]-t[b][0],c=t[h][1]-t[b][1],l=t[o][0]-t[b][0],s=t[o][1]-t[b][1],a*a+c*c>=l*l+s*s){M[i].index=-1;continue}M[f].index=-1}g=M[i].angle,f=i,h=o}for(x.push(b),i=0,o=0;2>i;++o)M[o].index>-1&&(x.push(M[o].index),i++);for(p=x.length;y>o;++o)if(!(M[o].index<0)){for(;!hr(x[p-2],x[p-1],M[o].index,t);)--p;x[p++]=M[o].index}var _=[];for(i=p-1;i>=0;--i)_.push(n[x[i]]);return _}var e=Ze,r=Ve;return arguments.length?t(n):(t.x=function(n){return arguments.length?(e=n,t):e},t.y=function(n){return arguments.length?(r=n,t):r},t)},mo.geom.polygon=function(n){return Lo(n,mc),n};var mc=mo.geom.polygon.prototype=[];mc.area=function(){for(var n,t=-1,e=this.length,r=this[e-1],u=0;++ta;a++)e.push([u,t[a],t[a+1]])}),e},mo.geom.voronoi=function(n){function t(n){var t,i,o,a=n.map(function(){return[]}),c=pt(e),l=pt(r),s=n.length,f=1e6;if(c===Ze&&l===Ve)t=n;else for(t=new Array(s),o=0;s>o;++o)t[o]=[+c.call(this,i=n[o],o),+l.call(this,i,o)];if(vr(t,function(n){var t,e,r,u,i,o;1===n.a&&n.b>=0?(t=n.ep.r,e=n.ep.l):(t=n.ep.l,e=n.ep.r),1===n.a?(i=t?t.y:-f,r=n.c-n.b*i,o=e?e.y:f,u=n.c-n.b*o):(r=t?t.x:-f,i=n.c-n.a*r,u=e?e.x:f,o=n.c-n.a*u);var c=[r,i],l=[u,o];a[n.region.l.index].push(c,l),a[n.region.r.index].push(c,l)}),a=a.map(function(n,e){var r=t[e][0],u=t[e][1],i=n.map(function(n){return Math.atan2(n[0]-r,n[1]-u)}),o=mo.range(n.length).sort(function(n,t){return i[n]-i[t]});return o.filter(function(n,t){return!t||i[n]-i[o[t-1]]>Go}).map(function(t){return n[t]})}),a.forEach(function(n,e){var r=n.length;if(!r)return n.push([-f,-f],[-f,f],[f,f],[f,-f]);if(!(r>2)){var u=t[e],i=n[0],o=n[1],a=u[0],c=u[1],l=i[0],s=i[1],h=o[0],g=o[1],p=Math.abs(h-l),d=g-s;if(Math.abs(d)c?-f:f;n.push([-f,v],[f,v])}else if(Go>p){var m=l>a?-f:f;n.push([m,-f],[m,f])}else{var v=(l-a)*(g-s)>(h-l)*(s-c)?f:-f,y=Math.abs(d)-p;Math.abs(y)d?v:-v,v]):(y>0&&(v*=-1),n.push([-f,v],[f,v]))}}}),u)for(o=0;s>o;++o)u.clip(a[o]);for(o=0;s>o;++o)a[o].point=n[o];return a}var e=Ze,r=Ve,u=null;return arguments.length?t(n):(t.x=function(n){return arguments.length?(e=n,t):e},t.y=function(n){return arguments.length?(r=n,t):r},t.clipExtent=function(n){if(!arguments.length)return u&&[u[0],u[2]];if(null==n)u=null;else{var e=+n[0][0],r=+n[0][1],i=+n[1][0],o=+n[1][1];u=mo.geom.polygon([[e,r],[e,o],[i,o],[i,r]])}return t},t.size=function(n){return arguments.length?t.clipExtent(n&&[[0,0],n]):u&&u[2]},t.links=function(n){var t,u,i,o=n.map(function(){return[]}),a=[],c=pt(e),l=pt(r),s=n.length;if(c===Ze&&l===Ve)t=n;else for(t=new Array(s),i=0;s>i;++i)t[i]=[+c.call(this,u=n[i],i),+l.call(this,u,i)];return vr(t,function(t){var e=t.region.l.index,r=t.region.r.index;o[e][r]||(o[e][r]=o[r][e]=!0,a.push({source:n[e],target:n[r]}))}),a},t.triangles=function(n){if(e===Ze&&r===Ve)return mo.geom.delaunay(n);for(var t,u=new Array(c),i=pt(e),o=pt(r),a=-1,c=n.length;++a=l,h=r>=s,g=(h<<1)+f;n.leaf=!1,n=n.nodes[g]||(n.nodes[g]=Mr()),f?u=l:a=l,h?o=s:c=s,i(n,t,e,r,u,o,a,c)}var s,f,h,g,p,d,v,m,y,M=pt(a),x=pt(c);if(null!=t)d=t,v=e,m=r,y=u;else if(m=y=-(d=v=1/0),f=[],h=[],p=n.length,o)for(g=0;p>g;++g)s=n[g],s.xm&&(m=s.x),s.y>y&&(y=s.y),f.push(s.x),h.push(s.y);else for(g=0;p>g;++g){var b=+M(s=n[g],g),_=+x(s,g);d>b&&(d=b),v>_&&(v=_),b>m&&(m=b),_>y&&(y=_),f.push(b),h.push(_)}var w=m-d,S=y-v;w>S?y=v+w:m=d+S;var E=Mr();if(E.add=function(n){i(E,n,+M(n,++g),+x(n,g),d,v,m,y)},E.visit=function(n){xr(n,E,d,v,m,y)},g=-1,null==t){for(;++g=0?n.substring(0,t):n,r=t>=0?n.substring(t+1):"in";return e=bc.get(e)||xc,r=_c.get(r)||dt,Ar(r(e.apply(null,Array.prototype.slice.call(arguments,1))))},mo.interpolateHcl=Rr,mo.interpolateHsl=Yr,mo.interpolateLab=Ir,mo.interpolateRound=Ur,mo.transform=function(n){var t=xo.createElementNS(mo.ns.prefix.svg,"g");return(mo.transform=function(n){if(null!=n){t.setAttribute("transform",n);var e=t.transform.baseVal.consolidate()}return new Zr(e?e.matrix:wc)})(n)},Zr.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var wc={a:1,b:0,c:0,d:1,e:0,f:0};mo.interpolateTransform=Br,mo.layout={},mo.layout.bundle=function(){return function(n){for(var t=[],e=-1,r=n.length;++e(u-e)*a){var c=t.charge*a*a;return n.px-=i*c,n.py-=o*c,!0}if(t.point&&isFinite(a)){var c=t.pointCharge*a*a;n.px-=i*c,n.py-=o*c}}return!t.charge}}function t(n){n.px=mo.event.x,n.py=mo.event.y,a.resume()}var e,r,u,i,o,a={},c=mo.dispatch("start","tick","end"),l=[1,1],s=.9,f=Sc,h=Ec,g=-30,p=.1,d=.8,v=[],m=[];return a.tick=function(){if((r*=.99)<.005)return c.end({type:"end",alpha:r=0}),!0;var t,e,a,f,h,d,y,M,x,b=v.length,_=m.length;for(e=0;_>e;++e)a=m[e],f=a.source,h=a.target,M=h.x-f.x,x=h.y-f.y,(d=M*M+x*x)&&(d=r*i[e]*((d=Math.sqrt(d))-u[e])/d,M*=d,x*=d,h.x-=M*(y=f.weight/(h.weight+f.weight)),h.y-=x*y,f.x+=M*(y=1-y),f.y+=x*y);if((y=r*p)&&(M=l[0]/2,x=l[1]/2,e=-1,y))for(;++e0?n:0:n>0&&(c.start({type:"start",alpha:r=n}),mo.timer(a.tick)),a):r},a.start=function(){function n(n,r){for(var u,i=t(e),o=-1,a=i.length;++or;++r)c[r]=[];for(r=0;d>r;++r){var n=m[r];c[n.source.index].push(n.target),c[n.target.index].push(n.source)}}return c[e]}var e,r,c,s,p=v.length,d=m.length,y=l[0],M=l[1];for(e=0;p>e;++e)(s=v[e]).index=e,s.weight=0;for(e=0;d>e;++e)s=m[e],"number"==typeof s.source&&(s.source=v[s.source]),"number"==typeof s.target&&(s.target=v[s.target]),++s.source.weight,++s.target.weight;for(e=0;p>e;++e)s=v[e],isNaN(s.x)&&(s.x=n("x",y)),isNaN(s.y)&&(s.y=n("y",M)),isNaN(s.px)&&(s.px=s.x),isNaN(s.py)&&(s.py=s.y);if(u=[],"function"==typeof f)for(e=0;d>e;++e)u[e]=+f.call(this,m[e],e);else for(e=0;d>e;++e)u[e]=f;if(i=[],"function"==typeof h)for(e=0;d>e;++e)i[e]=+h.call(this,m[e],e);else for(e=0;d>e;++e)i[e]=h;if(o=[],"function"==typeof g)for(e=0;p>e;++e)o[e]=+g.call(this,v[e],e);else for(e=0;p>e;++e)o[e]=g;return a.resume()},a.resume=function(){return a.alpha(.1)},a.stop=function(){return a.alpha(0)},a.drag=function(){return e||(e=mo.behavior.drag().origin(dt).on("dragstart.force",nu).on("drag.force",t).on("dragend.force",tu)),arguments.length?(this.on("mouseover.force",eu).on("mouseout.force",ru).call(e),void 0):e},mo.rebind(a,c,"on")};var Sc=20,Ec=1;mo.layout.hierarchy=function(){function n(t,o,a){var c=u.call(e,t,o);if(t.depth=o,a.push(t),c&&(l=c.length)){for(var l,s,f=-1,h=t.children=[],g=0,p=o+1;++fg;++g)for(u.call(n,l[0][g],p=d[g],s[0][g][1]),h=1;v>h;++h)u.call(n,l[h][g],p+=s[h-1][g][1],s[h][g][1]);return a}var t=dt,e=gu,r=pu,u=hu,i=su,o=fu;return n.values=function(e){return arguments.length?(t=e,n):t},n.order=function(t){return arguments.length?(e="function"==typeof t?t:Ac.get(t)||gu,n):e},n.offset=function(t){return arguments.length?(r="function"==typeof t?t:Nc.get(t)||pu,n):r},n.x=function(t){return arguments.length?(i=t,n):i},n.y=function(t){return arguments.length?(o=t,n):o},n.out=function(t){return arguments.length?(u=t,n):u},n};var Ac=mo.map({"inside-out":function(n){var t,e,r=n.length,u=n.map(du),i=n.map(vu),o=mo.range(r).sort(function(n,t){return u[n]-u[t]}),a=0,c=0,l=[],s=[];for(t=0;r>t;++t)e=o[t],c>a?(a+=i[e],l.push(e)):(c+=i[e],s.push(e));return s.reverse().concat(l)},reverse:function(n){return mo.range(n.length).reverse()},"default":gu}),Nc=mo.map({silhouette:function(n){var t,e,r,u=n.length,i=n[0].length,o=[],a=0,c=[];for(e=0;i>e;++e){for(t=0,r=0;u>t;t++)r+=n[t][e][1];r>a&&(a=r),o.push(r)}for(e=0;i>e;++e)c[e]=(a-o[e])/2;return c},wiggle:function(n){var t,e,r,u,i,o,a,c,l,s=n.length,f=n[0],h=f.length,g=[];for(g[0]=c=l=0,e=1;h>e;++e){for(t=0,u=0;s>t;++t)u+=n[t][e][1];for(t=0,i=0,a=f[e][0]-f[e-1][0];s>t;++t){for(r=0,o=(n[t][e][1]-n[t][e-1][1])/(2*a);t>r;++r)o+=(n[r][e][1]-n[r][e-1][1])/a;i+=o*n[t][e][1]}g[e]=c-=u?i/u*a:0,l>c&&(l=c)}for(e=0;h>e;++e)g[e]-=l;return g},expand:function(n){var t,e,r,u=n.length,i=n[0].length,o=1/u,a=[];for(e=0;i>e;++e){for(t=0,r=0;u>t;t++)r+=n[t][e][1];if(r)for(t=0;u>t;t++)n[t][e][1]/=r;else for(t=0;u>t;t++)n[t][e][1]=o}for(e=0;i>e;++e)a[e]=0;return a},zero:pu});mo.layout.histogram=function(){function n(n,i){for(var o,a,c=[],l=n.map(e,this),s=r.call(this,l,i),f=u.call(this,s,l,i),i=-1,h=l.length,g=f.length-1,p=t?1:1/h;++i0)for(i=-1;++i=s[0]&&a<=s[1]&&(o=c[mo.bisect(f,a,1,g)-1],o.y+=p,o.push(n[i]));return c}var t=!0,e=Number,r=xu,u=yu;return n.value=function(t){return arguments.length?(e=t,n):e},n.range=function(t){return arguments.length?(r=pt(t),n):r},n.bins=function(t){return arguments.length?(u="number"==typeof t?function(n){return Mu(n,t)}:pt(t),n):u},n.frequency=function(e){return arguments.length?(t=!!e,n):t},n},mo.layout.tree=function(){function n(n,i){function o(n,t){var r=n.children,u=n._tree;if(r&&(i=r.length)){for(var i,a,l,s=r[0],f=s,h=-1;++h0&&(qu(zu(a,n,r),n,u),l+=u,s+=u),f+=a._tree.mod,l+=i._tree.mod,h+=c._tree.mod,s+=o._tree.mod;a&&!wu(o)&&(o._tree.thread=a,o._tree.mod+=f-s),i&&!_u(c)&&(c._tree.thread=i,c._tree.mod+=l-h,r=n)}return r}var l=t.call(this,n,i),s=l[0];Nu(s,function(n,t){n._tree={ancestor:n,prelim:0,mod:0,change:0,shift:0,number:t?t._tree.number+1:0}}),o(s),a(s,-s._tree.prelim);var f=Su(s,ku),h=Su(s,Eu),g=Su(s,Au),p=f.x-e(f,h)/2,d=h.x+e(h,f)/2,v=g.depth||1;return Nu(s,u?function(n){n.x*=r[0],n.y=n.depth*r[1],delete n._tree}:function(n){n.x=(n.x-p)/(d-p)*r[0],n.y=n.depth/v*r[1],delete n._tree}),l}var t=mo.layout.hierarchy().sort(null).value(null),e=bu,r=[1,1],u=!1;return n.separation=function(t){return arguments.length?(e=t,n):e},n.size=function(t){return arguments.length?(u=null==(r=t),n):u?null:r},n.nodeSize=function(t){return arguments.length?(u=null!=(r=t),n):u?r:null},iu(n,t)},mo.layout.pack=function(){function n(n,i){var o=e.call(this,n,i),a=o[0],c=u[0],l=u[1],s=null==t?Math.sqrt:"function"==typeof t?t:function(){return t};if(a.x=a.y=0,Nu(a,function(n){n.r=+s(n.value)}),Nu(a,Hu),r){var f=r*(t?1:Math.max(2*a.r/c,2*a.r/l))/2;Nu(a,function(n){n.r+=f}),Nu(a,Hu),Nu(a,function(n){n.r-=f})}return Ou(a,c/2,l/2,t?1:1/Math.max(2*a.r/c,2*a.r/l)),o}var t,e=mo.layout.hierarchy().sort(Cu),r=0,u=[1,1];return n.size=function(t){return arguments.length?(u=t,n):u},n.radius=function(e){return arguments.length?(t=null==e||"function"==typeof e?e:+e,n):t},n.padding=function(t){return arguments.length?(r=+t,n):r},iu(n,e)},mo.layout.cluster=function(){function n(n,i){var o,a=t.call(this,n,i),c=a[0],l=0;Nu(c,function(n){var t=n.children;t&&t.length?(n.x=Iu(t),n.y=Yu(t)):(n.x=o?l+=e(n,o):0,n.y=0,o=n)});var s=Uu(c),f=Zu(c),h=s.x-e(s,f)/2,g=f.x+e(f,s)/2;return Nu(c,u?function(n){n.x=(n.x-c.x)*r[0],n.y=(c.y-n.y)*r[1]}:function(n){n.x=(n.x-h)/(g-h)*r[0],n.y=(1-(c.y?n.y/c.y:1))*r[1]}),a}var t=mo.layout.hierarchy().sort(null).value(null),e=bu,r=[1,1],u=!1;return n.separation=function(t){return arguments.length?(e=t,n):e},n.size=function(t){return arguments.length?(u=null==(r=t),n):u?null:r},n.nodeSize=function(t){return arguments.length?(u=null!=(r=t),n):u?r:null},iu(n,t)},mo.layout.treemap=function(){function n(n,t){for(var e,r,u=-1,i=n.length;++ut?0:t),e.area=isNaN(r)||0>=r?0:r}function t(e){var i=e.children;if(i&&i.length){var o,a,c,l=f(e),s=[],h=i.slice(),p=1/0,d="slice"===g?l.dx:"dice"===g?l.dy:"slice-dice"===g?1&e.depth?l.dy:l.dx:Math.min(l.dx,l.dy);for(n(h,l.dx*l.dy/e.value),s.area=0;(c=h.length)>0;)s.push(o=h[c-1]),s.area+=o.area,"squarify"!==g||(a=r(s,d))<=p?(h.pop(),p=a):(s.area-=s.pop().area,u(s,d,l,!1),d=Math.min(l.dx,l.dy),s.length=s.area=0,p=1/0);s.length&&(u(s,d,l,!0),s.length=s.area=0),i.forEach(t)}}function e(t){var r=t.children;if(r&&r.length){var i,o=f(t),a=r.slice(),c=[];for(n(a,o.dx*o.dy/t.value),c.area=0;i=a.pop();)c.push(i),c.area+=i.area,null!=i.z&&(u(c,i.z?o.dx:o.dy,o,!a.length),c.length=c.area=0);r.forEach(e)}}function r(n,t){for(var e,r=n.area,u=0,i=1/0,o=-1,a=n.length;++oe&&(i=e),e>u&&(u=e));return r*=r,t*=t,r?Math.max(t*u*p/r,r/(t*i*p)):1/0}function u(n,t,e,r){var u,i=-1,o=n.length,a=e.x,l=e.y,s=t?c(n.area/t):0;if(t==e.dx){for((r||s>e.dy)&&(s=e.dy);++ie.dx)&&(s=e.dx);++ie&&(t=1),1>e&&(n=0),function(){var e,r,u;do e=2*Math.random()-1,r=2*Math.random()-1,u=e*e+r*r;while(!u||u>1);return n+t*e*Math.sqrt(-2*Math.log(u)/u)}},logNormal:function(){var n=mo.random.normal.apply(mo,arguments);return function(){return Math.exp(n())}},irwinHall:function(n){return function(){for(var t=0,e=0;n>e;e++)t+=Math.random();return t/n}}},mo.scale={};var Tc={floor:dt,ceil:dt};mo.scale.linear=function(){return Qu([0,1],[0,1],Er,!1)},mo.scale.log=function(){return ii(mo.scale.linear().domain([0,1]),10,!0,[1,10])};var qc=mo.format(".0e"),zc={floor:function(n){return-Math.ceil(-n)},ceil:function(n){return-Math.floor(-n)}};mo.scale.pow=function(){return oi(mo.scale.linear(),1,[0,1])},mo.scale.sqrt=function(){return mo.scale.pow().exponent(.5)},mo.scale.ordinal=function(){return ci([],{t:"range",a:[[]]})},mo.scale.category10=function(){return mo.scale.ordinal().range(Cc)},mo.scale.category20=function(){return mo.scale.ordinal().range(Dc)},mo.scale.category20b=function(){return mo.scale.ordinal().range(jc)},mo.scale.category20c=function(){return mo.scale.ordinal().range(Lc)};var Cc=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(it),Dc=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(it),jc=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(it),Lc=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(it);mo.scale.quantile=function(){return li([],[])},mo.scale.quantize=function(){return si(0,1,[0,1])},mo.scale.threshold=function(){return fi([.5],[0,1])},mo.scale.identity=function(){return hi([0,1])},mo.svg.arc=function(){function n(){var n=t.apply(this,arguments),i=e.apply(this,arguments),o=r.apply(this,arguments)+Hc,a=u.apply(this,arguments)+Hc,c=(o>a&&(c=o,o=a,a=c),a-o),l=Bo>c?"0":"1",s=Math.cos(o),f=Math.sin(o),h=Math.cos(a),g=Math.sin(a);return c>=Fc?n?"M0,"+i+"A"+i+","+i+" 0 1,1 0,"+-i+"A"+i+","+i+" 0 1,1 0,"+i+"M0,"+n+"A"+n+","+n+" 0 1,0 0,"+-n+"A"+n+","+n+" 0 1,0 0,"+n+"Z":"M0,"+i+"A"+i+","+i+" 0 1,1 0,"+-i+"A"+i+","+i+" 0 1,1 0,"+i+"Z":n?"M"+i*s+","+i*f+"A"+i+","+i+" 0 "+l+",1 "+i*h+","+i*g+"L"+n*h+","+n*g+"A"+n+","+n+" 0 "+l+",0 "+n*s+","+n*f+"Z":"M"+i*s+","+i*f+"A"+i+","+i+" 0 "+l+",1 "+i*h+","+i*g+"L0,0"+"Z"}var t=gi,e=pi,r=di,u=vi;return n.innerRadius=function(e){return arguments.length?(t=pt(e),n):t},n.outerRadius=function(t){return arguments.length?(e=pt(t),n):e},n.startAngle=function(t){return arguments.length?(r=pt(t),n):r},n.endAngle=function(t){return arguments.length?(u=pt(t),n):u},n.centroid=function(){var n=(t.apply(this,arguments)+e.apply(this,arguments))/2,i=(r.apply(this,arguments)+u.apply(this,arguments))/2+Hc;return[Math.cos(i)*n,Math.sin(i)*n]},n};var Hc=-Jo,Fc=Wo-Go;mo.svg.line.radial=function(){var n=Ue(mi);return n.radius=n.x,delete n.x,n.angle=n.y,delete n.y,n},We.reverse=Je,Je.reverse=We,mo.svg.area=function(){return yi(dt)},mo.svg.area.radial=function(){var n=yi(mi);return n.radius=n.x,delete n.x,n.innerRadius=n.x0,delete n.x0,n.outerRadius=n.x1,delete n.x1,n.angle=n.y,delete n.y,n.startAngle=n.y0,delete n.y0,n.endAngle=n.y1,delete n.y1,n},mo.svg.chord=function(){function n(n,a){var c=t(this,i,n,a),l=t(this,o,n,a);return"M"+c.p0+r(c.r,c.p1,c.a1-c.a0)+(e(c,l)?u(c.r,c.p1,c.r,c.p0):u(c.r,c.p1,l.r,l.p0)+r(l.r,l.p1,l.a1-l.a0)+u(l.r,l.p1,c.r,c.p0))+"Z"}function t(n,t,e,r){var u=t.call(n,e,r),i=a.call(n,u,r),o=c.call(n,u,r)+Hc,s=l.call(n,u,r)+Hc;return{r:i,a0:o,a1:s,p0:[i*Math.cos(o),i*Math.sin(o)],p1:[i*Math.cos(s),i*Math.sin(s)]}}function e(n,t){return n.a0==t.a0&&n.a1==t.a1}function r(n,t,e){return"A"+n+","+n+" 0 "+ +(e>Bo)+",1 "+t}function u(n,t,e,r){return"Q 0,0 "+r}var i=De,o=je,a=Mi,c=di,l=vi;return n.radius=function(t){return arguments.length?(a=pt(t),n):a},n.source=function(t){return arguments.length?(i=pt(t),n):i},n.target=function(t){return arguments.length?(o=pt(t),n):o},n.startAngle=function(t){return arguments.length?(c=pt(t),n):c},n.endAngle=function(t){return arguments.length?(l=pt(t),n):l},n},mo.svg.diagonal=function(){function n(n,u){var i=t.call(this,n,u),o=e.call(this,n,u),a=(i.y+o.y)/2,c=[i,{x:i.x,y:a},{x:o.x,y:a},o];return c=c.map(r),"M"+c[0]+"C"+c[1]+" "+c[2]+" "+c[3]}var t=De,e=je,r=xi;return n.source=function(e){return arguments.length?(t=pt(e),n):t},n.target=function(t){return arguments.length?(e=pt(t),n):e},n.projection=function(t){return arguments.length?(r=t,n):r},n},mo.svg.diagonal.radial=function(){var n=mo.svg.diagonal(),t=xi,e=n.projection;return n.projection=function(n){return arguments.length?e(bi(t=n)):t},n},mo.svg.symbol=function(){function n(n,r){return(Pc.get(t.call(this,n,r))||Si)(e.call(this,n,r))}var t=wi,e=_i;return n.type=function(e){return arguments.length?(t=pt(e),n):t},n.size=function(t){return arguments.length?(e=pt(t),n):e},n};var Pc=mo.map({circle:Si,cross:function(n){var t=Math.sqrt(n/5)/2;return"M"+-3*t+","+-t+"H"+-t+"V"+-3*t+"H"+t+"V"+-t+"H"+3*t+"V"+t+"H"+t+"V"+3*t+"H"+-t+"V"+t+"H"+-3*t+"Z"},diamond:function(n){var t=Math.sqrt(n/(2*Ic)),e=t*Ic;return"M0,"+-t+"L"+e+",0"+" 0,"+t+" "+-e+",0"+"Z"},square:function(n){var t=Math.sqrt(n)/2;return"M"+-t+","+-t+"L"+t+","+-t+" "+t+","+t+" "+-t+","+t+"Z"},"triangle-down":function(n){var t=Math.sqrt(n/Yc),e=t*Yc/2;return"M0,"+e+"L"+t+","+-e+" "+-t+","+-e+"Z"},"triangle-up":function(n){var t=Math.sqrt(n/Yc),e=t*Yc/2;return"M0,"+-e+"L"+t+","+e+" "+-t+","+e+"Z"}});mo.svg.symbolTypes=Pc.keys();var Oc,Rc,Yc=Math.sqrt(3),Ic=Math.tan(30*Qo),Uc=[],Zc=0;Uc.call=Ro.call,Uc.empty=Ro.empty,Uc.node=Ro.node,Uc.size=Ro.size,mo.transition=function(n){return arguments.length?Oc?n.transition():n:Uo.transition()},mo.transition.prototype=Uc,Uc.select=function(n){var t,e,r,u=this.id,i=[];n=d(n);for(var o=-1,a=this.length;++oi;i++){u.push(t=[]);for(var e=this[i],a=0,c=e.length;c>a;a++)(r=e[a])&&n.call(r,r.__data__,a)&&t.push(r)}return Ei(u,this.id)},Uc.tween=function(n,t){var e=this.id;return arguments.length<2?this.node().__transition__[e].tween.get(n):N(this,null==t?function(t){t.__transition__[e].tween.remove(n)}:function(r){r.__transition__[e].tween.set(n,t)})},Uc.attr=function(n,t){function e(){this.removeAttribute(a)}function r(){this.removeAttributeNS(a.space,a.local)}function u(n){return null==n?e:(n+="",function(){var t,e=this.getAttribute(a);return e!==n&&(t=o(e,n),function(n){this.setAttribute(a,t(n))})})}function i(n){return null==n?r:(n+="",function(){var t,e=this.getAttributeNS(a.space,a.local);return e!==n&&(t=o(e,n),function(n){this.setAttributeNS(a.space,a.local,t(n)) -})})}if(arguments.length<2){for(t in n)this.attr(t,n[t]);return this}var o="transform"==n?Br:Er,a=mo.ns.qualify(n);return ki(this,"attr."+n,t,a.local?i:u)},Uc.attrTween=function(n,t){function e(n,e){var r=t.call(this,n,e,this.getAttribute(u));return r&&function(n){this.setAttribute(u,r(n))}}function r(n,e){var r=t.call(this,n,e,this.getAttributeNS(u.space,u.local));return r&&function(n){this.setAttributeNS(u.space,u.local,r(n))}}var u=mo.ns.qualify(n);return this.tween("attr."+n,u.local?r:e)},Uc.style=function(n,t,e){function r(){this.style.removeProperty(n)}function u(t){return null==t?r:(t+="",function(){var r,u=_o.getComputedStyle(this,null).getPropertyValue(n);return u!==t&&(r=Er(u,t),function(t){this.style.setProperty(n,r(t),e)})})}var i=arguments.length;if(3>i){if("string"!=typeof n){2>i&&(t="");for(e in n)this.style(e,n[e],t);return this}e=""}return ki(this,"style."+n,t,u)},Uc.styleTween=function(n,t,e){function r(r,u){var i=t.call(this,r,u,_o.getComputedStyle(this,null).getPropertyValue(n));return i&&function(t){this.style.setProperty(n,i(t),e)}}return arguments.length<3&&(e=""),this.tween("style."+n,r)},Uc.text=function(n){return ki(this,"text",n,Ai)},Uc.remove=function(){return this.each("end.transition",function(){var n;this.__transition__.count<2&&(n=this.parentNode)&&n.removeChild(this)})},Uc.ease=function(n){var t=this.id;return arguments.length<1?this.node().__transition__[t].ease:("function"!=typeof n&&(n=mo.ease.apply(mo,arguments)),N(this,function(e){e.__transition__[t].ease=n}))},Uc.delay=function(n){var t=this.id;return N(this,"function"==typeof n?function(e,r,u){e.__transition__[t].delay=+n.call(e,e.__data__,r,u)}:(n=+n,function(e){e.__transition__[t].delay=n}))},Uc.duration=function(n){var t=this.id;return N(this,"function"==typeof n?function(e,r,u){e.__transition__[t].duration=Math.max(1,n.call(e,e.__data__,r,u))}:(n=Math.max(1,n),function(e){e.__transition__[t].duration=n}))},Uc.each=function(n,t){var e=this.id;if(arguments.length<2){var r=Rc,u=Oc;Oc=e,N(this,function(t,r,u){Rc=t.__transition__[e],n.call(t,t.__data__,r,u)}),Rc=r,Oc=u}else N(this,function(r){var u=r.__transition__[e];(u.event||(u.event=mo.dispatch("start","end"))).on(n,t)});return this},Uc.transition=function(){for(var n,t,e,r,u=this.id,i=++Zc,o=[],a=0,c=this.length;c>a;a++){o.push(n=[]);for(var t=this[a],l=0,s=t.length;s>l;l++)(e=t[l])&&(r=Object.create(e.__transition__[u]),r.delay+=r.duration,Ni(e,l,i,r)),n.push(e)}return Ei(o,i)},mo.svg.axis=function(){function n(n){n.each(function(){var n,l=mo.select(this),s=this.__chart__||e,f=this.__chart__=e.copy(),h=null==c?f.ticks?f.ticks.apply(f,a):f.domain():c,g=null==t?f.tickFormat?f.tickFormat.apply(f,a):dt:t,p=l.selectAll(".tick").data(h,f),d=p.enter().insert("g",".domain").attr("class","tick").style("opacity",Go),v=mo.transition(p.exit()).style("opacity",Go).remove(),m=mo.transition(p).style("opacity",1),y=Bu(f),M=l.selectAll(".domain").data([0]),x=(M.enter().append("path").attr("class","domain"),mo.transition(M));d.append("line"),d.append("text");var b=d.select("line"),_=m.select("line"),w=p.select("text").text(g),S=d.select("text"),E=m.select("text");switch(r){case"bottom":n=Ti,b.attr("y2",u),S.attr("y",Math.max(u,0)+o),_.attr("x2",0).attr("y2",u),E.attr("x",0).attr("y",Math.max(u,0)+o),w.attr("dy",".71em").style("text-anchor","middle"),x.attr("d","M"+y[0]+","+i+"V0H"+y[1]+"V"+i);break;case"top":n=Ti,b.attr("y2",-u),S.attr("y",-(Math.max(u,0)+o)),_.attr("x2",0).attr("y2",-u),E.attr("x",0).attr("y",-(Math.max(u,0)+o)),w.attr("dy","0em").style("text-anchor","middle"),x.attr("d","M"+y[0]+","+-i+"V0H"+y[1]+"V"+-i);break;case"left":n=qi,b.attr("x2",-u),S.attr("x",-(Math.max(u,0)+o)),_.attr("x2",-u).attr("y2",0),E.attr("x",-(Math.max(u,0)+o)).attr("y",0),w.attr("dy",".32em").style("text-anchor","end"),x.attr("d","M"+-i+","+y[0]+"H0V"+y[1]+"H"+-i);break;case"right":n=qi,b.attr("x2",u),S.attr("x",Math.max(u,0)+o),_.attr("x2",u).attr("y2",0),E.attr("x",Math.max(u,0)+o).attr("y",0),w.attr("dy",".32em").style("text-anchor","start"),x.attr("d","M"+i+","+y[0]+"H0V"+y[1]+"H"+i)}if(f.rangeBand){var k=f.rangeBand()/2,A=function(n){return f(n)+k};d.call(n,A),m.call(n,A)}else d.call(n,s),m.call(n,f),v.call(n,f)})}var t,e=mo.scale.linear(),r=Vc,u=6,i=6,o=3,a=[10],c=null;return n.scale=function(t){return arguments.length?(e=t,n):e},n.orient=function(t){return arguments.length?(r=t in Xc?t+"":Vc,n):r},n.ticks=function(){return arguments.length?(a=arguments,n):a},n.tickValues=function(t){return arguments.length?(c=t,n):c},n.tickFormat=function(e){return arguments.length?(t=e,n):t},n.tickSize=function(t){var e=arguments.length;return e?(u=+t,i=+arguments[e-1],n):u},n.innerTickSize=function(t){return arguments.length?(u=+t,n):u},n.outerTickSize=function(t){return arguments.length?(i=+t,n):i},n.tickPadding=function(t){return arguments.length?(o=+t,n):o},n.tickSubdivide=function(){return arguments.length&&n},n};var Vc="bottom",Xc={top:1,right:1,bottom:1,left:1};mo.svg.brush=function(){function n(i){i.each(function(){var i=mo.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",u).on("touchstart.brush",u),o=i.selectAll(".background").data([0]);o.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),i.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var a=i.selectAll(".resize").data(v,dt);a.exit().remove(),a.enter().append("g").attr("class",function(n){return"resize "+n}).style("cursor",function(n){return $c[n]}).append("rect").attr("x",function(n){return/[ew]$/.test(n)?-3:null}).attr("y",function(n){return/^[ns]/.test(n)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),a.style("display",n.empty()?"none":null);var s,f=mo.transition(i),h=mo.transition(o);c&&(s=Bu(c),h.attr("x",s[0]).attr("width",s[1]-s[0]),e(f)),l&&(s=Bu(l),h.attr("y",s[0]).attr("height",s[1]-s[0]),r(f)),t(f)})}function t(n){n.selectAll(".resize").attr("transform",function(n){return"translate("+s[+/e$/.test(n)]+","+h[+/^s/.test(n)]+")"})}function e(n){n.select(".extent").attr("x",s[0]),n.selectAll(".extent,.n>rect,.s>rect").attr("width",s[1]-s[0])}function r(n){n.select(".extent").attr("y",h[0]),n.selectAll(".extent,.e>rect,.w>rect").attr("height",h[1]-h[0])}function u(){function u(){32==mo.event.keyCode&&(N||(M=null,q[0]-=s[1],q[1]-=h[1],N=2),f())}function g(){32==mo.event.keyCode&&2==N&&(q[0]+=s[1],q[1]+=h[1],N=0,f())}function v(){var n=mo.mouse(b),u=!1;x&&(n[0]+=x[0],n[1]+=x[1]),N||(mo.event.altKey?(M||(M=[(s[0]+s[1])/2,(h[0]+h[1])/2]),q[0]=s[+(n[0]f?(u=r,r=f):u=f),g[0]!=r||g[1]!=u?(e?o=null:i=null,g[0]=r,g[1]=u,!0):void 0}function y(){v(),S.style("pointer-events","all").selectAll(".resize").style("display",n.empty()?"none":null),mo.select("body").style("cursor",null),z.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null),T(),w({type:"brushend"})}var M,x,b=this,_=mo.select(mo.event.target),w=a.of(b,arguments),S=mo.select(b),E=_.datum(),k=!/^(n|s)$/.test(E)&&c,A=!/^(e|w)$/.test(E)&&l,N=_.classed("extent"),T=L(),q=mo.mouse(b),z=mo.select(_o).on("keydown.brush",u).on("keyup.brush",g);if(mo.event.changedTouches?z.on("touchmove.brush",v).on("touchend.brush",y):z.on("mousemove.brush",v).on("mouseup.brush",y),S.interrupt().selectAll("*").interrupt(),N)q[0]=s[0]-q[0],q[1]=h[0]-q[1];else if(E){var C=+/w$/.test(E),D=+/^n/.test(E);x=[s[1-C]-q[0],h[1-D]-q[1]],q[0]=s[C],q[1]=h[D]}else mo.event.altKey&&(M=q.slice());S.style("pointer-events","none").selectAll(".resize").style("display",null),mo.select("body").style("cursor",_.style("cursor")),w({type:"brushstart"}),v()}var i,o,a=g(n,"brushstart","brush","brushend"),c=null,l=null,s=[0,0],h=[0,0],p=!0,d=!0,v=Bc[0];return n.event=function(n){n.each(function(){var n=a.of(this,arguments),t={x:s,y:h,i:i,j:o},e=this.__chart__||t;this.__chart__=t,Oc?mo.select(this).transition().each("start.brush",function(){i=e.i,o=e.j,s=e.x,h=e.y,n({type:"brushstart"})}).tween("brush:brush",function(){var e=kr(s,t.x),r=kr(h,t.y);return i=o=null,function(u){s=t.x=e(u),h=t.y=r(u),n({type:"brush",mode:"resize"})}}).each("end.brush",function(){i=t.i,o=t.j,n({type:"brush",mode:"resize"}),n({type:"brushend"})}):(n({type:"brushstart"}),n({type:"brush",mode:"resize"}),n({type:"brushend"}))})},n.x=function(t){return arguments.length?(c=t,v=Bc[!c<<1|!l],n):c},n.y=function(t){return arguments.length?(l=t,v=Bc[!c<<1|!l],n):l},n.clamp=function(t){return arguments.length?(c&&l?(p=!!t[0],d=!!t[1]):c?p=!!t:l&&(d=!!t),n):c&&l?[p,d]:c?p:l?d:null},n.extent=function(t){var e,r,u,a,f;return arguments.length?(c&&(e=t[0],r=t[1],l&&(e=e[0],r=r[0]),i=[e,r],c.invert&&(e=c(e),r=c(r)),e>r&&(f=e,e=r,r=f),(e!=s[0]||r!=s[1])&&(s=[e,r])),l&&(u=t[0],a=t[1],c&&(u=u[1],a=a[1]),o=[u,a],l.invert&&(u=l(u),a=l(a)),u>a&&(f=u,u=a,a=f),(u!=h[0]||a!=h[1])&&(h=[u,a])),n):(c&&(i?(e=i[0],r=i[1]):(e=s[0],r=s[1],c.invert&&(e=c.invert(e),r=c.invert(r)),e>r&&(f=e,e=r,r=f))),l&&(o?(u=o[0],a=o[1]):(u=h[0],a=h[1],l.invert&&(u=l.invert(u),a=l.invert(a)),u>a&&(f=u,u=a,a=f))),c&&l?[[e,u],[r,a]]:c?[e,r]:l&&[u,a])},n.clear=function(){return n.empty()||(s=[0,0],h=[0,0],i=o=null),n},n.empty=function(){return!!c&&s[0]==s[1]||!!l&&h[0]==h[1]},mo.rebind(n,a,"on")};var $c={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},Bc=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]],Wc=mo.time={},Jc=Date,Gc=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];zi.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){Kc.setUTCDate.apply(this._,arguments)},setDay:function(){Kc.setUTCDay.apply(this._,arguments)},setFullYear:function(){Kc.setUTCFullYear.apply(this._,arguments)},setHours:function(){Kc.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){Kc.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){Kc.setUTCMinutes.apply(this._,arguments)},setMonth:function(){Kc.setUTCMonth.apply(this._,arguments)},setSeconds:function(){Kc.setUTCSeconds.apply(this._,arguments)},setTime:function(){Kc.setTime.apply(this._,arguments)}};var Kc=Date.prototype,Qc="%a %b %e %X %Y",nl="%m/%d/%Y",tl="%H:%M:%S",el=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],rl=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],ul=["January","February","March","April","May","June","July","August","September","October","November","December"],il=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];Wc.year=Ci(function(n){return n=Wc.day(n),n.setMonth(0,1),n},function(n,t){n.setFullYear(n.getFullYear()+t)},function(n){return n.getFullYear()}),Wc.years=Wc.year.range,Wc.years.utc=Wc.year.utc.range,Wc.day=Ci(function(n){var t=new Jc(2e3,0);return t.setFullYear(n.getFullYear(),n.getMonth(),n.getDate()),t},function(n,t){n.setDate(n.getDate()+t)},function(n){return n.getDate()-1}),Wc.days=Wc.day.range,Wc.days.utc=Wc.day.utc.range,Wc.dayOfYear=function(n){var t=Wc.year(n);return Math.floor((n-t-6e4*(n.getTimezoneOffset()-t.getTimezoneOffset()))/864e5)},Gc.forEach(function(n,t){n=n.toLowerCase(),t=7-t;var e=Wc[n]=Ci(function(n){return(n=Wc.day(n)).setDate(n.getDate()-(n.getDay()+t)%7),n},function(n,t){n.setDate(n.getDate()+7*Math.floor(t))},function(n){var e=Wc.year(n).getDay();return Math.floor((Wc.dayOfYear(n)+(e+t)%7)/7)-(e!==t)});Wc[n+"s"]=e.range,Wc[n+"s"].utc=e.utc.range,Wc[n+"OfYear"]=function(n){var e=Wc.year(n).getDay();return Math.floor((Wc.dayOfYear(n)+(e+t)%7)/7)}}),Wc.week=Wc.sunday,Wc.weeks=Wc.sunday.range,Wc.weeks.utc=Wc.sunday.utc.range,Wc.weekOfYear=Wc.sundayOfYear,Wc.format=ji;var ol=Hi(el),al=Fi(el),cl=Hi(rl),ll=Fi(rl),sl=Hi(ul),fl=Fi(ul),hl=Hi(il),gl=Fi(il),pl=/^%/,dl={"-":"",_:" ",0:"0"},vl={a:function(n){return rl[n.getDay()]},A:function(n){return el[n.getDay()]},b:function(n){return il[n.getMonth()]},B:function(n){return ul[n.getMonth()]},c:ji(Qc),d:function(n,t){return Pi(n.getDate(),t,2)},e:function(n,t){return Pi(n.getDate(),t,2)},H:function(n,t){return Pi(n.getHours(),t,2)},I:function(n,t){return Pi(n.getHours()%12||12,t,2)},j:function(n,t){return Pi(1+Wc.dayOfYear(n),t,3)},L:function(n,t){return Pi(n.getMilliseconds(),t,3)},m:function(n,t){return Pi(n.getMonth()+1,t,2)},M:function(n,t){return Pi(n.getMinutes(),t,2)},p:function(n){return n.getHours()>=12?"PM":"AM"},S:function(n,t){return Pi(n.getSeconds(),t,2)},U:function(n,t){return Pi(Wc.sundayOfYear(n),t,2)},w:function(n){return n.getDay()},W:function(n,t){return Pi(Wc.mondayOfYear(n),t,2)},x:ji(nl),X:ji(tl),y:function(n,t){return Pi(n.getFullYear()%100,t,2)},Y:function(n,t){return Pi(n.getFullYear()%1e4,t,4)},Z:ao,"%":function(){return"%"}},ml={a:Oi,A:Ri,b:Zi,B:Vi,c:Xi,d:no,e:no,H:eo,I:eo,j:to,L:io,m:Qi,M:ro,p:oo,S:uo,U:Ii,w:Yi,W:Ui,x:$i,X:Bi,y:Ji,Y:Wi,Z:Gi,"%":co},yl=/^\s*\d+/,Ml=mo.map({am:0,pm:1});ji.utc=lo;var xl=lo("%Y-%m-%dT%H:%M:%S.%LZ");ji.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?so:xl,so.parse=function(n){var t=new Date(n);return isNaN(t)?null:t},so.toString=xl.toString,Wc.second=Ci(function(n){return new Jc(1e3*Math.floor(n/1e3))},function(n,t){n.setTime(n.getTime()+1e3*Math.floor(t))},function(n){return n.getSeconds()}),Wc.seconds=Wc.second.range,Wc.seconds.utc=Wc.second.utc.range,Wc.minute=Ci(function(n){return new Jc(6e4*Math.floor(n/6e4))},function(n,t){n.setTime(n.getTime()+6e4*Math.floor(t))},function(n){return n.getMinutes()}),Wc.minutes=Wc.minute.range,Wc.minutes.utc=Wc.minute.utc.range,Wc.hour=Ci(function(n){var t=n.getTimezoneOffset()/60;return new Jc(36e5*(Math.floor(n/36e5-t)+t))},function(n,t){n.setTime(n.getTime()+36e5*Math.floor(t))},function(n){return n.getHours()}),Wc.hours=Wc.hour.range,Wc.hours.utc=Wc.hour.utc.range,Wc.month=Ci(function(n){return n=Wc.day(n),n.setDate(1),n},function(n,t){n.setMonth(n.getMonth()+t)},function(n){return n.getMonth()}),Wc.months=Wc.month.range,Wc.months.utc=Wc.month.utc.range;var bl=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],_l=[[Wc.second,1],[Wc.second,5],[Wc.second,15],[Wc.second,30],[Wc.minute,1],[Wc.minute,5],[Wc.minute,15],[Wc.minute,30],[Wc.hour,1],[Wc.hour,3],[Wc.hour,6],[Wc.hour,12],[Wc.day,1],[Wc.day,2],[Wc.week,1],[Wc.month,1],[Wc.month,3],[Wc.year,1]],wl=[[ji("%Y"),Vt],[ji("%B"),function(n){return n.getMonth()}],[ji("%b %d"),function(n){return 1!=n.getDate()}],[ji("%a %d"),function(n){return n.getDay()&&1!=n.getDate()}],[ji("%I %p"),function(n){return n.getHours()}],[ji("%I:%M"),function(n){return n.getMinutes()}],[ji(":%S"),function(n){return n.getSeconds()}],[ji(".%L"),function(n){return n.getMilliseconds()}]],Sl=go(wl);_l.year=Wc.year,Wc.scale=function(){return fo(mo.scale.linear(),_l,Sl)};var El={range:function(n,t,e){return mo.range(+n,+t,e).map(ho)}},kl=_l.map(function(n){return[n[0].utc,n[1]]}),Al=[[lo("%Y"),Vt],[lo("%B"),function(n){return n.getUTCMonth()}],[lo("%b %d"),function(n){return 1!=n.getUTCDate()}],[lo("%a %d"),function(n){return n.getUTCDay()&&1!=n.getUTCDate()}],[lo("%I %p"),function(n){return n.getUTCHours()}],[lo("%I:%M"),function(n){return n.getUTCMinutes()}],[lo(":%S"),function(n){return n.getUTCSeconds()}],[lo(".%L"),function(n){return n.getUTCMilliseconds()}]],Nl=go(Al);return kl.year=Wc.year.utc,Wc.scale.utc=function(){return fo(mo.scale.linear(),kl,Nl)},mo.text=vt(function(n){return n.responseText}),mo.json=function(n,t){return mt(n,"application/json",po,t)},mo.html=function(n,t){return mt(n,"text/html",vo,t)},mo.xml=vt(function(n){return n.responseXML}),mo}(); -/* - * ----------------------------- JSTORAGE ------------------------------------- - * Simple local storage wrapper to save data on the browser side, supporting - * all major browsers - IE6+, Firefox2+, Safari4+, Chrome4+ and Opera 10.5+ - * - * Copyright (c) 2010 Andris Reinman, andris.reinman@gmail.com - * Project homepage: www.jstorage.info - * - * Licensed under MIT-style license: - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -/** - * $.jStorage - * - * USAGE: - * - * jStorage requires Prototype, MooTools or jQuery! If jQuery is used, then - * jQuery-JSON (http://code.google.com/p/jquery-json/) is also needed. - * (jQuery-JSON needs to be loaded BEFORE jStorage!) - * - * Methods: - * - * -set(key, value) - * $.jStorage.set(key, value) -> saves a value - * - * -get(key[, default]) - * value = $.jStorage.get(key [, default]) -> - * retrieves value if key exists, or default if it doesn't - * - * -deleteKey(key) - * $.jStorage.deleteKey(key) -> removes a key from the storage - * - * -flush() - * $.jStorage.flush() -> clears the cache - * - * -storageObj() - * $.jStorage.storageObj() -> returns a read-ony copy of the actual storage - * - * -storageSize() - * $.jStorage.storageSize() -> returns the size of the storage in bytes - * - * -index() - * $.jStorage.index() -> returns the used keys as an array - * - * -storageAvailable() - * $.jStorage.storageAvailable() -> returns true if storage is available - * - * -reInit() - * $.jStorage.reInit() -> reloads the data from browser storage - * - * can be any JSON-able value, including objects and arrays. - * - **/ - - -(function($){ - if(!$ || !($.toJSON || Object.toJSON || window.JSON)){ - throw new Error("jQuery, MooTools or Prototype needs to be loaded before jStorage!"); - } - - var - /* This is the object, that holds the cached values */ - _storage = {}, - - /* Actual browser storage (localStorage or globalStorage['domain']) */ - _storage_service = {jStorage:"{}"}, - - /* DOM element for older IE versions, holds userData behavior */ - _storage_elm = null, - - /* How much space does the storage take */ - _storage_size = 0, - - /* function to encode objects to JSON strings */ - json_encode = $.toJSON || Object.toJSON || (window.JSON && (JSON.encode || JSON.stringify)), - - /* function to decode objects from JSON strings */ - json_decode = $.evalJSON || (window.JSON && (JSON.decode || JSON.parse)) || function(str){ - return String(str).evalJSON(); - }, - - /* which backend is currently used */ - _backend = false, - - /** - * XML encoding and decoding as XML nodes can't be JSON'ized - * XML nodes are encoded and decoded if the node is the value to be saved - * but not if it's as a property of another object - * Eg. - - * $.jStorage.set("key", xmlNode); // IS OK - * $.jStorage.set("key", {xml: xmlNode}); // NOT OK - */ - _XMLService = { - - /** - * Validates a XML node to be XML - * based on jQuery.isXML function - */ - isXML: function(elm){ - var documentElement = (elm ? elm.ownerDocument || elm : 0).documentElement; - return documentElement ? documentElement.nodeName !== "HTML" : false; - }, - - /** - * Encodes a XML node to string - * based on http://www.mercurytide.co.uk/news/article/issues-when-working-ajax/ - */ - encode: function(xmlNode) { - if(!this.isXML(xmlNode)){ - return false; - } - try{ // Mozilla, Webkit, Opera - return new XMLSerializer().serializeToString(xmlNode); - }catch(E1) { - try { // IE - return xmlNode.xml; - }catch(E2){} - } - return false; - }, - - /** - * Decodes a XML node from string - * loosely based on http://outwestmedia.com/jquery-plugins/xmldom/ - */ - decode: function(xmlString){ - var dom_parser = ("DOMParser" in window && (new DOMParser()).parseFromString) || - (window.ActiveXObject && function(_xmlString) { - var xml_doc = new ActiveXObject('Microsoft.XMLDOM'); - xml_doc.async = 'false'; - xml_doc.loadXML(_xmlString); - return xml_doc; - }), - resultXML; - if(!dom_parser){ - return false; - } - resultXML = dom_parser.call("DOMParser" in window && (new DOMParser()) || window, xmlString, 'text/xml'); - return this.isXML(resultXML)?resultXML:false; - } - }; - - ////////////////////////// PRIVATE METHODS //////////////////////// - - /** - * Initialization function. Detects if the browser supports DOM Storage - * or userData behavior and behaves accordingly. - * @returns undefined - */ - function _init(){ - /* Check if browser supports localStorage */ - var localStorageReallyWorks = false; - if("localStorage" in window){ - try { - window.localStorage.setItem('_tmptest', 'tmpval'); - localStorageReallyWorks = true; - window.localStorage.removeItem('_tmptest'); - } catch(BogusQuotaExceededErrorOnIos5) { - // Thanks be to iOS5 Private Browsing mode which throws - // QUOTA_EXCEEDED_ERRROR DOM Exception 22. - } - } - if(localStorageReallyWorks){ - try { - if(window.localStorage) { - _storage_service = window.localStorage; - _backend = "localStorage"; - } - } catch(E3) {/* Firefox fails when touching localStorage and cookies are disabled */} - } - /* Check if browser supports globalStorage */ - else if("globalStorage" in window){ - try { - if(window.globalStorage) { - _storage_service = window.globalStorage[window.location.hostname]; - _backend = "globalStorage"; - } - } catch(E4) {/* Firefox fails when touching localStorage and cookies are disabled */} - } - /* Check if browser supports userData behavior */ - else { - _storage_elm = document.createElement('link'); - if(_storage_elm.addBehavior){ - - /* Use a DOM element to act as userData storage */ - _storage_elm.style.behavior = 'url(#default#userData)'; - - /* userData element needs to be inserted into the DOM! */ - document.getElementsByTagName('head')[0].appendChild(_storage_elm); - - _storage_elm.load("jStorage"); - var data = "{}"; - try{ - data = _storage_elm.getAttribute("jStorage"); - }catch(E5){} - _storage_service.jStorage = data; - _backend = "userDataBehavior"; - }else{ - _storage_elm = null; - return; - } - } - - _load_storage(); - } - - /** - * Loads the data from the storage based on the supported mechanism - * @returns undefined - */ - function _load_storage(){ - /* if jStorage string is retrieved, then decode it */ - if(_storage_service.jStorage){ - try{ - _storage = json_decode(String(_storage_service.jStorage)); - }catch(E6){_storage_service.jStorage = "{}";} - }else{ - _storage_service.jStorage = "{}"; - } - _storage_size = _storage_service.jStorage?String(_storage_service.jStorage).length:0; - } - - /** - * This functions provides the "save" mechanism to store the jStorage object - * @returns undefined - */ - function _save(){ - try{ - _storage_service.jStorage = json_encode(_storage); - // If userData is used as the storage engine, additional - if(_storage_elm) { - _storage_elm.setAttribute("jStorage",_storage_service.jStorage); - _storage_elm.save("jStorage"); - } - _storage_size = _storage_service.jStorage?String(_storage_service.jStorage).length:0; - }catch(E7){/* probably cache is full, nothing is saved this way*/} - } - - /** - * Function checks if a key is set and is string or numberic - */ - function _checkKey(key){ - if(!key || (typeof key != "string" && typeof key != "number")){ - throw new TypeError('Key name must be string or numeric'); - } - return true; - } - - ////////////////////////// PUBLIC INTERFACE ///////////////////////// - - $.jStorage = { - /* Version number */ - version: "0.1.5.3", - - /** - * Sets a key's value. - * - * @param {String} key - Key to set. If this value is not set or not - * a string an exception is raised. - * @param value - Value to set. This can be any value that is JSON - * compatible (Numbers, Strings, Objects etc.). - * @returns the used value - */ - set: function(key, value){ - _checkKey(key); - if(_XMLService.isXML(value)){ - value = {_is_xml:true,xml:_XMLService.encode(value)}; - } - _storage[key] = value; - _save(); - return value; - }, - - /** - * Looks up a key in cache - * - * @param {String} key - Key to look up. - * @param {mixed} def - Default value to return, if key didn't exist. - * @returns the key value, default value or - */ - get: function(key, def){ - _checkKey(key); - if(key in _storage){ - if(_storage[key] && typeof _storage[key] == "object" && - _storage[key]._is_xml && - _storage[key]._is_xml){ - return _XMLService.decode(_storage[key].xml); - }else{ - return _storage[key]; - } - } - return typeof(def) == 'undefined' ? null : def; - }, - - /** - * Deletes a key from cache. - * - * @param {String} key - Key to delete. - * @returns true if key existed or false if it didn't - */ - deleteKey: function(key){ - _checkKey(key); - if(key in _storage){ - delete _storage[key]; - _save(); - return true; - } - return false; - }, - - /** - * Deletes everything in cache. - * - * @returns true - */ - flush: function(){ - _storage = {}; - _save(); - return true; - }, - - /** - * Returns a read-only copy of _storage - * - * @returns Object - */ - storageObj: function(){ - function F() {} - F.prototype = _storage; - return new F(); - }, - - /** - * Returns an index of all used keys as an array - * ['key1', 'key2',..'keyN'] - * - * @returns Array - */ - index: function(){ - var index = [], i; - for(i in _storage){ - if(_storage.hasOwnProperty(i)){ - index.push(i); - } - } - return index; - }, - - /** - * How much space in bytes does the storage take? - * - * @returns Number - */ - storageSize: function(){ - return _storage_size; - }, - - /** - * Which backend is currently in use? - * - * @returns String - */ - currentBackend: function(){ - return _backend; - }, - - /** - * Test if storage is available - * - * @returns Boolean - */ - storageAvailable: function(){ - return !!_backend; - }, - - /** - * Reloads the data from browser storage - * - * @returns undefined - */ - reInit: function(){ - var new_storage_elm, data; - if(_storage_elm && _storage_elm.addBehavior){ - new_storage_elm = document.createElement('link'); - - _storage_elm.parentNode.replaceChild(new_storage_elm, _storage_elm); - _storage_elm = new_storage_elm; - - /* Use a DOM element to act as userData storage */ - _storage_elm.style.behavior = 'url(#default#userData)'; - - /* userData element needs to be inserted into the DOM! */ - document.getElementsByTagName('head')[0].appendChild(_storage_elm); - - _storage_elm.load("jStorage"); - data = "{}"; - try{ - data = _storage_elm.getAttribute("jStorage"); - }catch(E5){} - _storage_service.jStorage = data; - _backend = "userDataBehavior"; - } - - _load_storage(); - } - }; - - // Initialize jStorage - _init(); - -})(window.jQuery || window.$); -(function() { - /* - Source, bug reports, examples: https://github.com/tamc/Sankey - Copyright: Thomas Counsell 2010, 2011 - Licence: MIT Open Source licence http://www.opensource.org/licenses/mit-license.php - */ - var FlowLine, Sankey, TransformationBox; - var __hasProp = Object.prototype.hasOwnProperty, __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; - Sankey = (function() { - function Sankey() { - this.display_in_element = 'sankey'; - this.display_width = $('#sankey').width(); - this.display_height = $('#sankey').height(); - this.r = Raphael(this.display_in_element, this.display_width, this.display_height); - this.left_margin = 100; - this.right_margin = 100; - this.y_space = 10; - this.threshold_for_drawing = 0; - this.box_width = 50; - this.flow_edge_width = 2; - this.flow_curve = 0.25; - this.boxes = {}; - this.box_array = []; - this.lines = {}; - this.line_array = []; - this.stacks = []; - this.bubbles = []; - this.bubbleColor = '#000'; - this.bubbleLabelColor = '#fff'; - } - Sankey.prototype.find_or_create_transformation_box = function(name) { - var new_box; - if (this.boxes[name] == null) { - new_box = new TransformationBox(this, name); - this.boxes[name] = new_box; - this.box_array.push(new_box); - } - return this.boxes[name]; - }; - Sankey.prototype.lineName = function(start, end) { - return "" + start + "-" + end; - }; - Sankey.prototype.createLine = function(datum) { - var new_line; - if (datum[0] === 0) { - return; - } - new_line = new FlowLine(this, datum[0], datum[1], datum[2]); - this.lines[this.lineName(datum[0], datum[2])] = new_line; - return this.line_array.push(new_line); - }; - Sankey.prototype.setData = function(data) { - var datum, _i, _len, _results; - _results = []; - for (_i = 0, _len = data.length; _i < _len; _i++) { - datum = data[_i]; - _results.push(this.createLine(datum)); - } - return _results; - }; - Sankey.prototype.setBubbles = function(data) { - return this.bubbles = data; - }; - Sankey.prototype.updateData = function(data) { - var datum, line, _i, _len, _results; - _results = []; - for (_i = 0, _len = data.length; _i < _len; _i++) { - datum = data[_i]; - line = this.lines[this.lineName(datum[0], datum[2])]; - _results.push(line ? line.setFlow(datum[1]) : this.createLine(datum)); - } - return _results; - }; - Sankey.prototype.convert_flow_values_callback = function(flow) { - return flow; - }; - Sankey.prototype.convert_flow_labels_callback = function(flow) { - return flow; - }; - Sankey.prototype.convert_box_value_labels_callback = function(flow) { - return this.convert_flow_labels_callback(flow); - }; - Sankey.prototype.convert_box_description_labels_callback = function(name) { - return name; - }; - Sankey.prototype.convert_bubble_values_callback = function(size) { - return size; - }; - Sankey.prototype.convert_bubble_labels_callback = function(size) { - return size; - }; - Sankey.prototype.nudge_boxes_callback = function() { - return; - }; - Sankey.prototype.nudge_colours_callback = function() { - return; - }; - Sankey.prototype.stack = function(x, box_names, y_box) { - return this.stacks.push({ - x: x, - box_names: box_names, - y_box: y_box - }); - }; - Sankey.prototype.setColors = function(colors) { - var box, box_name, color, _results; - _results = []; - for (box_name in colors) { - if (!__hasProp.call(colors, box_name)) continue; - color = colors[box_name]; - box = this.find_or_create_transformation_box(box_name); - _results.push(box.line_colour = colors[box.name] || box.line_colour); - } - return _results; - }; - Sankey.prototype.recolour = function(lines, new_colour) { - var line, _i, _len, _results; - _results = []; - for (_i = 0, _len = lines.length; _i < _len; _i++) { - line = lines[_i]; - _results.push(line.colour = new_colour); - } - return _results; - }; - Sankey.prototype.calculateXStep = function() { - var maximum_x, stack, _i, _len, _ref; - maximum_x = 0; - _ref = this.stacks; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - stack = _ref[_i]; - if (stack.x > maximum_x) { - maximum_x = stack.x; - } - } - return (this.display_width - this.left_margin - this.right_margin) / maximum_x; - }; - Sankey.prototype.position_boxes_and_lines = function() { - var box, bubble, name, stack, x, x_step, y, _i, _j, _k, _l, _len, _len2, _len3, _len4, _ref, _ref2, _ref3, _ref4, _ref5, _ref6; - x_step = this.calculateXStep(); - _ref = this.stacks; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - stack = _ref[_i]; - x = stack.x; - if (stack.y_box != null) { - y = ((_ref2 = this.boxes[stack.y_box]) != null ? _ref2.y : void 0) || 10; - } else { - y = 10; - } - _ref3 = stack.box_names; - for (_j = 0, _len2 = _ref3.length; _j < _len2; _j++) { - name = _ref3[_j]; - box = this.boxes[name]; - if (box == null) {} else { - box.y = y; - box.x = this.left_margin + (x * x_step); - y = box.b() + this.y_space; - } - } - } - this.nudge_boxes_callback(); - _ref4 = this.box_array; - for (_k = 0, _len3 = _ref4.length; _k < _len3; _k++) { - box = _ref4[_k]; - box.position_and_colour_lines(); - } - _ref5 = this.bubbles; - for (_l = 0, _len4 = _ref5.length; _l < _len4; _l++) { - bubble = _ref5[_l]; - if ((_ref6 = this.boxes[bubble[0]]) != null) { - _ref6.bubbleValue = bubble[1]; - } - } - this.nudge_colours_callback(); - return this.line_array.sort(function(a, b) { - return b.size - a.size; - }); - }; - Sankey.prototype.draw = function() { - var box, line, _i, _j, _len, _len2, _ref, _ref2, _results; - this.position_boxes_and_lines(); - _ref = this.line_array; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - line = _ref[_i]; - if (line.size > this.threshold_for_drawing) { - line.draw(this.r); - } - } - _ref2 = this.box_array; - _results = []; - for (_j = 0, _len2 = _ref2.length; _j < _len2; _j++) { - box = _ref2[_j]; - _results.push(box.size() > this.threshold_for_drawing ? box.draw(this.r) : void 0); - } - return _results; - }; - Sankey.prototype.redraw = function() { - var box, line, _i, _j, _len, _len2, _ref, _ref2, _results; - this.position_boxes_and_lines(); - _ref = this.line_array; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - line = _ref[_i]; - line.redraw(this.r); - } - _ref2 = this.box_array; - _results = []; - for (_j = 0, _len2 = _ref2.length; _j < _len2; _j++) { - box = _ref2[_j]; - _results.push(box.redraw(this.r)); - } - return _results; - }; - Sankey.prototype.fade_unless_highlighted = function() { - var box, line, _i, _j, _len, _len2, _ref, _ref2, _results; - _ref = this.line_array; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - line = _ref[_i]; - line.fade_unless_highlighted(); - void 0; - } - _ref2 = this.box_array; - _results = []; - for (_j = 0, _len2 = _ref2.length; _j < _len2; _j++) { - box = _ref2[_j]; - box.fade_unless_highlighted(); - _results.push(void 0); - } - return _results; - }; - Sankey.prototype.un_fade = function() { - var box, line, _i, _j, _len, _len2, _ref, _ref2, _results; - _ref = this.line_array; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - line = _ref[_i]; - line.un_fade(); - void 0; - } - _ref2 = this.box_array; - _results = []; - for (_j = 0, _len2 = _ref2.length; _j < _len2; _j++) { - box = _ref2[_j]; - box.un_fade(); - _results.push(void 0); - } - return _results; - }; - return Sankey; - })(); - FlowLine = (function() { - function FlowLine(sankey, left_box_name, flow, right_box_name) { - this.sankey = sankey; - this.hover_stop = __bind(this.hover_stop, this); - this.hover_start = __bind(this.hover_start, this); - this.setFlow(flow); - this.colour = void 0; - this.ox = 0; - this.oy = 0; - this.dx = 0; - this.dy = 0; - this.left_box = this.sankey.find_or_create_transformation_box(left_box_name); - this.right_box = this.sankey.find_or_create_transformation_box(right_box_name); - this.left_box.right_lines.push(this); - this.right_box.left_lines.push(this); - } - FlowLine.prototype.setFlow = function(flow) { - this.flow = flow; - return this.size = this.sankey.convert_flow_values_callback(this.flow); - }; - FlowLine.prototype.labelText = function() { - return this.sankey.convert_flow_labels_callback(this.flow); - }; - FlowLine.prototype.path = function() { - var curve; - curve = (this.dx - this.ox) * this.sankey.flow_curve; - return "M " + this.ox + "," + this.oy + " Q " + (this.ox + curve) + "," + this.oy + " " + ((this.ox + this.dx) / 2) + "," + ((this.oy + this.dy) / 2) + " Q " + (this.dx - curve) + "," + this.dy + " " + this.dx + "," + this.dy; - }; - FlowLine.prototype.innerWidth = function() { - if (this.size > this.sankey.flow_edge_width) { - return this.size - this.sankey.flow_edge_width; - } - return this.size; - }; - FlowLine.prototype.innerColor = function() { - var c; - c = Raphael.rgb2hsb(this.colour); - if (c.h !== 0 && c.s !== 0) { - if (c.b > 0.5) { - c.b = c.b - 0.15; - } else { - c.b = c.b + 0.15; - } - } - return Raphael.hsb2rgb(c.h, c.s, c.b); - }; - FlowLine.prototype.draw = function(r) { - this.outer_line = r.path(this.path()).attr({ - 'stroke-width': this.size, - 'stroke': this.colour - }); - this.inner_line = r.path(this.path()).attr({ - 'stroke-width': this.innerWidth(), - 'stroke': this.innerColor() - }); - r.set().push(this.inner_line, this.outer_line).hover(this.hover_start, this.hover_stop); - this.left_label = r.text(this.ox + 1, this.oy - (this.size / 2) - 5, this.labelText()).attr({ - 'text-anchor': 'start' - }); - this.right_label = r.text(this.dx - 1, this.dy - (this.size / 2) - 5, this.labelText()).attr({ - 'text-anchor': 'end' - }); - this.left_label.hide(); - return this.right_label.hide(); - }; - FlowLine.prototype.hover_start = function(event) { - this.highlight(true, true); - return this.sankey.fade_unless_highlighted(); - }; - FlowLine.prototype.hover_stop = function(event) { - this.un_highlight(true, true); - return this.sankey.un_fade(); - }; - FlowLine.prototype.redraw = function(r) { - if (this.outer_line == null) { - this.draw(r); - } - this.outer_line.attr({ - path: this.path(), - 'stroke-width': this.size - }); - this.inner_line.attr({ - path: this.path(), - 'stroke-width': this.innerWidth() - }); - this.left_label.attr({ - text: this.labelText(), - x: this.ox + 1, - y: this.oy - (this.size / 2) - 5 - }); - return this.right_label.attr({ - text: this.labelText(), - x: this.dx - 1, - y: this.dy - (this.size / 2) - 5 - }); - }; - FlowLine.prototype.fade_unless_highlighted = function() { - if (this.outer_line == null) { - return false; - } - if (this.inner_line == null) { - return false; - } - if (this.highlighed === true) { - return false; - } - this.outer_line.attr({ - 'opacity': '0.1' - }); - return this.inner_line.attr({ - 'opacity': '0.1' - }); - }; - FlowLine.prototype.un_fade = function() { - if (this.outer_line == null) { - return false; - } - if (this.inner_line == null) { - return false; - } - if (this.highlighed === true) { - return false; - } - this.outer_line.attr({ - 'opacity': '1.0' - }); - return this.inner_line.attr({ - 'opacity': '1.0' - }); - }; - FlowLine.prototype.highlight = function(left, right) { - if (this.outer_line == null) { - return false; - } - if (this.inner_line == null) { - return false; - } - this.highlighed = true; - if (left) { - this.left_label.toFront(); - this.left_label.show(); - this.left_box.highlight(); - } - if (right) { - this.right_label.toFront(); - this.right_label.show(); - return this.right_box.highlight(); - } - }; - FlowLine.prototype.un_highlight = function(left, right) { - if (this.outer_line == null) { - return false; - } - this.highlighed = false; - if (left) { - this.left_label.hide(); - this.left_box.un_highlight(); - } - if (right) { - this.right_label.hide(); - return this.right_box.un_highlight(); - } - }; - return FlowLine; - })(); - TransformationBox = (function() { - function TransformationBox(sankey, name) { - this.sankey = sankey; - this.name = name; - this.hover_end = __bind(this.hover_end, this); - this.hover_start = __bind(this.hover_start, this); - this.label_text = this.sankey.convert_box_description_labels_callback(name); - this.line_colour = "orange"; - this.left_lines = []; - this.right_lines = []; - this.x = 0; - this.y = 0; - this.bubbleValue = null; - } - TransformationBox.prototype.b = function() { - return this.y + this.size(); - }; - TransformationBox.prototype.is_left_box = function() { - return this.left_lines.length === 0; - }; - TransformationBox.prototype.is_right_box = function() { - return this.right_lines.length === 0; - }; - TransformationBox.prototype.size = function() { - var line, lines, s, _i, _len; - s = 0; - if (this.is_left_box()) { - lines = this.right_lines; - } else { - lines = this.left_lines; - } - for (_i = 0, _len = lines.length; _i < _len; _i++) { - line = lines[_i]; - if (line.size > this.sankey.threshold_for_drawing) { - s = s + line.size; - } - } - return s; - }; - TransformationBox.prototype.flow = function() { - var line, lines, s, _i, _len; - s = 0; - if (this.is_left_box()) { - lines = this.right_lines; - } else { - lines = this.left_lines; - } - for (_i = 0, _len = lines.length; _i < _len; _i++) { - line = lines[_i]; - if (line.size > this.sankey.threshold_for_drawing) { - s = s + line.flow; - } - } - return s; - }; - TransformationBox.prototype.position_and_colour_lines = function() { - var box_width, left_lines, line, ly, right_lines, ry, _i, _j, _len, _len2, _ref, _results; - ly = this.y; - left_lines = this.left_lines; - left_lines.sort(function(a, b) { - return a.left_box.y - b.left_box.y; - }); - for (_i = 0, _len = left_lines.length; _i < _len; _i++) { - line = left_lines[_i]; - line.dx = this.x; - line.dy = ly + (line.size / 2); - ly = ly + line.size; - } - ry = this.y; - right_lines = this.right_lines; - right_lines.sort(function(a, b) { - return a.right_box.y - b.right_box.y; - }); - box_width = this.sankey.box_width; - _results = []; - for (_j = 0, _len2 = right_lines.length; _j < _len2; _j++) { - line = right_lines[_j]; - if ((_ref = line.colour) == null) { - line.colour = this.line_colour; - } - line.ox = this.x + box_width; - line.oy = ry + (line.size / 2); - _results.push(ry = ry + line.size); - } - return _results; - }; - TransformationBox.prototype.valueLabelText = function() { - return this.sankey.convert_box_value_labels_callback(this.flow()); - }; - TransformationBox.prototype.descriptionLabelText = function() { - return this.label_text; - }; - TransformationBox.prototype.labelPositionX = function() { - if (this.is_left_box()) { - return this.x - 3.0; - } - if (this.is_right_box()) { - return this.x + this.sankey.box_width + 3.0; - } - return this.x + (this.sankey.box_width / 2); - }; - TransformationBox.prototype.labelPositionY = function() { - return this.y + (this.size() / 2); - }; - TransformationBox.prototype.labelAttributes = function() { - if (this.is_left_box()) { - return { - 'text-anchor': 'end' - }; - } - if (this.is_right_box()) { - return { - 'text-anchor': 'start' - }; - } - return {}; - }; - TransformationBox.prototype.numberLabelPositionX = function() { - return this.x + (this.sankey.box_width / 2); - }; - TransformationBox.prototype.numberLabelPositionY = function() { - return this.y - 5; - }; - TransformationBox.prototype.bubbleSize = function() { - return Math.sqrt(this.sankey.convert_bubble_values_callback(Math.abs(this.bubbleValue))); - }; - TransformationBox.prototype.bubbleLabel = function() { - return this.sankey.convert_bubble_labels_callback(this.bubbleValue); - }; - TransformationBox.prototype.bubbleColourForValue = function() { - if (this.bubbleValue > 0) { - return this.sankey.bubbleColor; - } - if (this.sankey.negativeBubbleColor == null) { - return this.sankey.bubbleColor; - } - return this.sankey.negativeBubbleColor; - }; - TransformationBox.prototype.bubbleLabelColourForValue = function() { - if (this.bubbleValue > 0) { - return this.sankey.bubbleLabelColor; - } - if (this.sankey.negativeBubbleLabelColor == null) { - return this.sankey.bubbleLabelColor; - } - return this.sankey.negativeBubbleLabelColor; - }; - TransformationBox.prototype.draw = function(r) { - var box_width; - if (!(this.size() > this.sankey.threshold_for_drawing)) { - return false; - } - box_width = this.sankey.box_width; - this.box = r.rect(this.x, this.y, box_width, this.size()).attr({ - 'fill': "#E8E2FF", - "stroke": "#D4CBF2" - }); - this.label = r.text(this.labelPositionX(), this.labelPositionY(), this.descriptionLabelText()).attr(this.labelAttributes()); - if (this.bubbleValue != null) { - this.bubble_circle = r.circle(this.x + box_width, this.y, this.bubbleSize()).attr({ - 'fill': this.bubbleColourForValue(), - 'stroke-width': 0 - }); - this.bubble_label = r.text(this.x + box_width, this.y, this.bubbleLabel()).attr({ - 'stroke': this.bubbleLabelColourForValue(), - 'text-anchor': 'middle' - }); - } - this.number_label = r.text(this.numberLabelPositionX(), this.numberLabelPositionY(), this.valueLabelText()); - this.number_label.hide(); - return r.set().push(this.number_label, this.label, this.box, this.bubble_circle, this.bubble_label).hover(this.hover_start, this.hover_end); - }; - TransformationBox.prototype.redraw = function(r) { - if (this.box == null) { - this.draw(r); - } - if (this.box == null) { - return; - } - this.box.attr({ - y: this.y, - height: this.size() - }); - this.label.attr({ - y: this.labelPositionY() - }); - this.number_label.attr({ - y: this.numberLabelPositionY(), - text: this.valueLabelText() - }); - if (this.bubbleValue != null) { - if (this.bubble_circle != null) { - this.bubble_circle.attr({ - cy: this.y, - r: this.bubbleSize(), - fill: this.bubbleColourForValue() - }); - this.bubble_label.attr({ - y: this.y, - text: this.bubbleLabel(), - 'stroke': this.bubbleLabelColourForValue() - }); - } else { - this.draw(r); - } - } - if (this.size() <= this.sankey.threshold_for_drawing) { - this.box.hide(); - this.label.hide(); - if (this.bubble_circle != null) { - return this.bubble_circle.hide(); - } - } else { - this.box.show(); - this.label.show(); - if (this.bubble_circle != null) { - return this.bubble_circle.show(); - } - } - }; - TransformationBox.prototype.hover_start = function() { - var line, _i, _j, _len, _len2, _ref, _ref2; - this.highlight(); - this.number_label.toFront(); - this.number_label.show(); - _ref = this.left_lines; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - line = _ref[_i]; - line.highlight(true, false); - } - _ref2 = this.right_lines; - for (_j = 0, _len2 = _ref2.length; _j < _len2; _j++) { - line = _ref2[_j]; - line.highlight(false, true); - } - return this.sankey.fade_unless_highlighted(); - }; - TransformationBox.prototype.hover_end = function() { - var line, _i, _j, _len, _len2, _ref, _ref2; - this.un_highlight(); - this.number_label.hide(); - _ref = this.left_lines; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - line = _ref[_i]; - line.un_highlight(true, false); - } - _ref2 = this.right_lines; - for (_j = 0, _len2 = _ref2.length; _j < _len2; _j++) { - line = _ref2[_j]; - line.un_highlight(false, true); - } - return this.sankey.un_fade(); - }; - TransformationBox.prototype.highlight = function() { - if (this.box == null) { - return false; - } - return this.highlighed = true; - }; - TransformationBox.prototype.un_highlight = function() { - if (this.box == null) { - return false; - } - return this.highlighed = false; - }; - TransformationBox.prototype.fade_unless_highlighted = function() { - if (this.box == null) { - return false; - } - if (this.highlighed === true) { - return false; - } - this.box.attr({ - 'opacity': '0.1' - }); - this.label.attr({ - 'opacity': '0.1' - }); - if (this.bubble_circle != null) { - this.bubble_circle.attr({ - 'opacity': '0.1' - }); - } - if (this.bubble_label != null) { - return this.bubble_label.attr({ - 'opacity': '0.1' - }); - } - }; - TransformationBox.prototype.un_fade = function() { - if (this.box == null) { - return false; - } - if (this.highlighed === true) { - return false; - } - this.box.attr({ - 'opacity': '1.0' - }); - this.label.attr({ - 'opacity': '1.0' - }); - if (this.bubble_circle != null) { - this.bubble_circle.attr({ - 'opacity': '1.0' - }); - } - if (this.bubble_label != null) { - return this.bubble_label.attr({ - 'opacity': '1.0' - }); - } - }; - return TransformationBox; - })(); - window.Sankey = Sankey; -}).call(this); -// éclair - FIXME: Need this so file is recognised as utf-8. Need a better solution than this bodge -// FIXME: In the end, this should only contain information drawn from the Excel Model. -// that is constant across pathways. The methods called are in helper.rb -window.twentyfifty = {}; -window.twentyfifty.default_pathway = "11111111111111111111111111111111111111111111111111111"; -window.twentyfifty.pathway_wiki_pages_hash = {"10111111111111110111111001111110111101101101110110111":75.0,"10111111111111110111111004424440444404204304440420111":"No","40444444444444440443424001121110111101102101110110111":"No","i0g2dd2pp1121f1i032211p004314110433304202304320420121":112.0,"e0d3jrg221ci12110222112004423220444404202304440420141":109.0,"r013ce1111111111042233B002322220233302202102330220121":110.0,"f023df111111111f0322123003223220333203102303430310221":111.0,"q011111111111111032413l004314110434104103204440410111":170.0,"10h4nn4431w23y110244111004424440343304202304430420441":95.0,"10h2pdppp12332130233122004414430343304102304430410231":96.0,"20222144411341110343321003422440423404203203340420141":94.0,"h0h2gg1211cj1j110322222003313230234102102203440320121":97.0,"g0f2oj11t1rgqj1j0343111003324240244104201304430420231":92.0,"00000000000000000000000000000000000000000000000000000":null}; -window.twentyfifty.pathway_descriptions_hash = {"10111111111111110111111001111110111101101101110110111":"Imported natural gas for electricity and\nheat. Imported oil for vehicles.","10111111111111110111111004424440444404204304440420111":"","40444444444444440443424001121110111101102101110110111":"","i0g2dd2pp1121f1i032211p004314110433304202304320420121":"Cost-optimising model based. Mix of supply\nsources. Ambitious demand reduction.","e0d3jrg221ci12110222112004423220444404202304440420141":"Renewables largest supply component. Very\nambitious demand reduction. Lots of storage.","r013ce1111111111042233B002322220233302202102330220121":"Lots of nuclear. Moderate energy demand\nreduction. Minimal renewables.","f023df111111111f0322123003223220333203102303430310221":"Lots of CCS and biomass co-firing. Ambitious\ndemand reduction.","q011111111111111032413l004314110434104103204440410111":"TBD\n","10h4nn4431w23y110244111004424440343304202304430420441":"Generation from wind, marine renewables and\nhydro. Ambitious demand reduction.","10h2pdppp12332130233122004414430343304102304430410231":"Offshore renewables, solar, geothermal and\nelectricity imports. Ambitious demand reduction.","20222144411341110343321003422440423404203203340420141":"Marine renewables, geothermal and algae\nsupply. Some nuclear and CCS.","h0h2gg1211cj1j110322222003313230234102102203440320121":"Wide range of generation sources. Moderate\ndemand reduction. Considerable bioenergy.","g0f2oj11t1rgqj1j0343111003324240244104201304430420231":"Energy from a range of sources. Emphasis on\nUK self-reliance.","00000000000000000000000000000000000000000000000000000":""}; -window.twentyfifty.pathway_names_hash = {"10111111111111110111111001111110111101101101110110111":"Doesn't tackle climate change (All at level 1)","10111111111111110111111004424440444404204304440420111":"Maximium demand, no supply","40444444444444440443424001121110111101102101110110111":"Maximum supply, no demand","i0g2dd2pp1121f1i032211p004314110433304202304320420121":"Analogous to MARKAL 3.26","e0d3jrg221ci12110222112004423220444404202304440420141":"Higher renewables, more energy efficiency","r013ce1111111111042233B002322220233302202102330220121":"Higher nuclear, less energy efficiency","f023df111111111f0322123003223220333203102303430310221":"Higher CCS, more bioenergy","q011111111111111032413l004314110434104103204440410111":"Low cost pathway","10h4nn4431w23y110244111004424440343304202304430420441":"Friends of the Earth","10h2pdppp12332130233122004414430343304102304430410231":"Campaign to Protect Rural England","20222144411341110343321003422440423404203203340420141":"Mark Brinkley","h0h2gg1211cj1j110322222003313230234102102203440320121":"National Grid","g0f2oj11t1rgqj1j0343111003324240244104201304430420231":"Atkins","00000000000000000000000000000000000000000000000000000":null}; -window.twentyfifty.comparator_pathways = ["i0g2dd2pp1121f1i032211p004314110433304202304320420121","e0d3jrg221ci12110222112004423220444404202304440420141","r013ce1111111111042233B002322220233302202102330220121","f023df111111111f0322123003223220333203102303430310221","q011111111111111032413l004314110434104103204440410111","10h4nn4431w23y110244111004424440343304202304430420441","10h2pdppp12332130233122004414430343304102304430410231","20222144411341110343321003422440423404203203340420141","h0h2gg1211cj1j110322222003313230234102102203440320121","g0f2oj11t1rgqj1j0343111003324240244104201304430420231","10111111111111110111111001111110111101101101110110111"]; -window.twentyfifty.default_comparator_code = "10111111111111110111111001111110111101101101110110111"; -window.twentyfifty.longDescriptions = [["No new nuclear power installed. Final nuclear power station estimated to close in 2035","~13 3GW nuclear power stations delivering ~280 TWh/yr","~30 3GW nuclear power stations delivering ~630 TWh/yr","~50 3GW nuclear power stations delivering ~1030 TWh/yr"],[null,null,null,null],["CCS demonstration plants only","~240 TWh/yr from 25-40 CCS power stations - comparable to current gas & coal generation","~340 TWh/yr from 35-60 CCS power stations - comparable to total current demand","~510 TWh/yr from 50-90 CCS power stations - this requires a similar build rate to that of gas plants in the 1990s"],["After demonstration plants, all CCS electricity is from solid fuel (coal or biomass)","After demonstration plants, two thirds of CCS electricity is from solid fuel (coal or biomass), one third from gas (natural gas or biogas)","After demonstration plants, one third of CCS electricity is from solid fuel (coal or biomass), two thirds from gas (natural gas or biogas)","After demonstration plants, all CCS electricity is from gas (natural gas or biogas)"],["~1,400 offshore wind turbines in 2025, reducing to zero as decommissioned sites are not replanted","~10,000 offshore wind turbines in 2050, delivering ~180 TWh/yr","~17,000 offshore wind turbines in 2050, delivering ~310 TWh/yr","~40,000 offshore wind turbines in 2050, delivering ~430 TWh/yr"],["~4,400 onshore wind turbines in 2025, reducing to zero as decommissioned sites are not replanted","~8,000 onshore wind turbines in 2050, delivering ~50 TWh/yr. ","~13,000 onshore wind turbines in 2050, delivering ~80 TWh/yr","~20,000 onshore wind turbines in 2050, delivering ~130 TWh/yr"],["None in 2050","~300km of wave farms","~600km of wave farms","~900km of wave farms"],["None in 2050","1,000 tidal stream turbines","4,700 tidal stream turbines","10,600 tidal stream turbines"],["None in 2050","3 small tidal range schemes","4 tidal range schemes","8 tidal range schemes"],["Only existing biomass plants and those already under construction (0.6GW)","8GW of biomass power stations by 2050 delivering 62TWh/yr","12GW of biomass power stations by 2050 delivering 100TWh/yr","Over 20GW of biomass power stations by 2050 delivering 180TWh/yr"],["No significant solar PV capacity is installed","4m2 of photovoltaic panels per person in 2050, supplying ~60 TWh/yr of electricity"," 5.4m2 of photovoltaic panels per person in 2050, supplying ~80 TWh/yr","9.5m2 of photovoltaic panels per person – all suitable roof and facade space used"],["As today, a negligible proportion of buildings have solar thermal in 2050","~30% of suitable buildings get ~30% of their hot water from solar thermal","All suitable buildings get ~30% of their hot water from solar thermal","All suitable buildings get ~60% of their hot water from solar thermal"],["No deployment of geothermal electricity generation","Supply of geothermal electricity grows slowly to 7 TWh/yr in 2035 and is sustained","Supply of geothermal electricity grows quickly reaching 21 TWh/yr by 2030 and is sustained","Supply of geothermal electricity grows rapidly reaching 35 TWh/yr by 2030 and is sustained"],["Supply of hydroelectricity is maintained at current levels of 5 TWh/yr","Supply of hydroelectricity grows slowly, reaching 7 TWh/yr by 2050","Supply of hydroelectricity grows more quickly, reaching 8 TWh/yr by 2030 and is sustained","Supply of hydroelectricity grows rapidly reaching 13 TWh/yr by 2035 and is sustained"],["As today, no discernable supply of electricity from micro-wind turbines","Supply of electricity from micro wind turbines increases to 1.3 TWh/yr by 2020 and is sustained","Micro wind turbines installed in all ~450,000 suitable domestic properties, supplying 3.5 TWh/year from 2020","Micro wind turbines installed in all suitable domestic and non-domestic sties, supplying 8.9 TWh/year from 2020"],["No electricity imports, other than for balancing","30 TWh/yr of electricity imported from Southern Europe","70 TWh/yr of electricity imported from a 10% share of an internationally coordinated desert solar project ","140 TWh/yr of electricity imported from a 20% share of an internationally coordinated desert solar project"],[null,null,null,null],["Energy crops and food production similar to today","5% of UK land used for energy crops","10% of UK land used for energy crops","17% of UK land used for energy crops"],["Livestock numbers increase by 10%","Livestock numbers same as today","Livestock numbers decrease by 10%","Livestock numbers decrease by 20%"],["Overall quantity of waste increases 50% to 2050; 21% increase in recycling rate and 44% increase in rate of energy from waste. 24% of waste is sent to landfill","Overall quantity of waste increases almost 20% by 2050; recycling and energy from waste rates increase by 36% and 89% respectively. 11% of waste is sent to landfill.","Overall quantity of waste increases 33%; waste is handled through high-tech and industry-led approaches; by 2050, recycling and energy from waste rates increase by 36% and 89% respectively. Only 2% is sent to landfill.","Quantity of waste decreases 20% by 2050; recycling and energy from waste increase by 70% and 7% respectively; by 2050, 3% of waste sent to landfill."],["No development of macro-algae cultivation","Macro algae covering the same area as half of natural reserve used, delivering ~4 TWh/yr","Macro algae covering the same area as all of natural reserve used, delivering ~9 TWh/yr","Macro algae covering the same area as four times natural reserve used, delivering ~46 TWh/yr"],["Biomass converted to a mixture of solid, liquid and gas biofuels","Biomass mainly converted to solid biofuel","Biomass mainly converted to liquid biofuel","Biomass mainly converted to biogas fuel"],["Imported biofuel declines from ~ 4 TWh/yr currently to zero","Up to 70 TWh/yr of imported bioenergy in 2050","Up to 140 TWh/yr of imported bioenergy in 2050","Up to 280 TWh/yr of imported bioenergy in 2050"],[null,null,null,null],[null,null,null,null],["In 2050, individuals travel 9% further than today. No noticeable modal shift.","Individuals travel 7% further than today, cars and vans are 80% of 2050 passenger mileage","Individuals travel 7% further than today; cars and vans 74% of 2050 passenger mileage","In 2050, individuals travel the same distance as today. Signficant shift to public transport."],["By 2050, 20% plug in hybrid electric cars; 2.5% zero emission cars.","By 2050, 35% conventional petrol or diesel engine cars; 54% plug-in hybrid vehicles; 11% zero emission vehicles; all buses hybrids; 73% of passenger railway is electrifi","By 2050, 20% conventional combustion engine cars, with 32% in plug-in hybrid vehicles and 48% in zero emission vehicles: 22% of bus travel fully electric or fuel cell electric ","By 2050 100% electric motor or hydrogen fuel cell; all passenger trains electrified; 50% bus electrified "],["By 2050, 100% electric","by 2050, 80% electric, 20% hydrogen fuel cell","By 2050, 20% electric, 80% hydrogen fuel cell","By 2050, 100% hydrogen fuel cells"],["Road haulage makes up 73% of distance, using conventional engines. Rail all diesel","Some shift from road to rail and water, and more efficient engines","Greater modal shift to rail and water; more efficient HGVs; more efficient logistics","Road modal share falls to half; greater hybridisation. Rail freight is all electric "],["By 2050, international aviation has 130% more passengers but uses only 50% more fuel","By 2050, international aviation has 130% more passengers but uses only 45% more fuel","By 2050, international aviation has 130% more passengers but uses only 31% more fuel","By 2050, international aviation has 85% more passengers but uses only 5% more fuel"],["no improvements from energy efficiency; between 2007 and 2050 emissions increase by 139%","1/3 of technical feasible reductions realised; between 2007 and 2050 emissions increase by 78%","2/3 of technical feasible reductions realised; between 2007 and 2050 emissions increase by 16%","maximum technical feasible reductions realised; between 2007 and 2050 emissions decrease by 46%"],[null,null,null,null],["Average room temperature increases to 20°C (a 2.5°C increase on 2007)","Average room temperature increases to 18°C (a 0.5°C increase on 2007)","Average room temperature decreases to 17°C (a 0.5°C decrease on 2007)","Average room temperature decreases to 16°C (a 1.5°C decrease on 2007)"],["Over 7m homes insulated, average thermal leakiness falls by 25%","Over 8m homes insulated, average thermal leakiness falls by 33%","Over 18m homes insulated, average thermal leakiness falls by 42%","Over 24m homes insulated, average thermal leakiness decreases by 50% "],["The proportion of domestic heat supplied using electricity is 0-10%, as today","The proportion of new domestic heating systems using electricity is 20%","The proportion of new domestic heating systems supplied using electricity is 30-60%","The proportion of new domestic heating systems supplied using electricity is 80-100%"],["The dominant non-electric heat source is gas (biogas if available)","The dominant non-electric heat source is coal (biomass if available)","The dominant non-electric heat source is waste heat from power stations","A mixture of gas/biogas; coal/biomass; and heat from power stations"],[null,null,null,null],["Energy demand for domestic lights and appliances increases by 20% (relative to 2007)","Energy demand for domestic lights and appliances is stable","Energy demand for domestic lights and appliances decreases by 40%","Energy demand for domestic lights and appliances decreases by 60%"],["Energy used for domestic cooking remains at 63% electricity and 37% gas","Energy used for domestic cooking is entirely electric","Energy used for domestic cooking is entirely electric","Energy used for domestic cooking is entirely electric"],[null,null,null,null],["UK industry output more than doubles by 2050","UK industry grows in line with current trends","UK industry output falls 30-40% by 2050","UK industry output falls 30-40% by 2050"],["No electrification of industrial processes and little improvement in industrial energy intensity","Some industrial processes electrified and moderate improvements in process emissions and energy demand","Many industrial processes electrified, CCS captures 48% of emissions and substantial improvements in process emissions and energy demand","Many industrial processes electrified, CCS captures 48% of emissions and substantial improvements in process emissions and energy demand"],[null,null,null,null],["Commercial space heating demand increases by 50%, hot water demand by 60%, cooling demand by 250%","Commercial space heating demand increases by 30%, hot water demand by 50%, cooling demand by 60%","Commercial space heating demand stable, hot water demand increases by 25%, cooling demand stable","Commercial space heating demand drops by 25%, hot water demand by 10%, cooling demand by 60%"],["The proportion of non-domestic heat supplied using electricity is 0-10%, as today","The proportion of non-domestic heat supplied using electricity is 20%","The proportion of non-domestic heat supplied using electricity is 30-60%","The proportion of non-domestic heat supplied using electricity is 80-100%"],["The dominant non-electric heat source is gas (biogas if available)","The dominant non-electric heating fuel is coal (biomass if available)","The dominant non-electric heat source is heat from power stations","A mixture of gas/biogas, coal/biomass, and heat from power stations"],[null,null,null,null],["Energy demand for commercial lights & appliances increases by 33%. Energy for cooking is stable","Energy demand for commercial lights & appliances increases by 15%; decreases by 5% for cooking","Energy demand for commercial lights & appliances decreases by 5%; decreases by 20% for cooking","Energy demand for commercial lights & appliances decreases by 30%; decreases by 25% for cooking"],["Energy used for commercial cooking is 60% electricity and 40% gas (no change from 2007)","Energy used for commercial cooking is 100% electric","Energy used for commercial cooking is 100% electric","Energy used for commercial cooking is 100% electric"],[null,null,null,null],["No geosequestration","Carbon dioxide sequestred at a rate of 1 million tonnes per annum by 2050","Carbon dioxide sequestred at a rate of ~30 million tonnes per annum by 2050","Carbon dioxide sequestred at a rate of ~110 million tonnes per annum by 2050"],["Today’s 3.5 GW of pumped storage and 4 GW interconnection with Europe available for balancing electricity supply and demand","4 GW of pumped storage and 10 GW interconnection with Europe available for balancing electricity supply and demand","7 GW of pumped storage (includign 2 more sites), 15 GW of interconnection with Europe and some demand shifting available for balancing electricity supply and demand","20 GW of pumped storage with large lagoons, 30 GW of interconnection with Europe and substantial demand shifting available for balancing electricity supply and demand"],[null,null,null,null]]; -window.twentyfifty.choice_sizes = {"0":4,"2":4,"3":4,"4":4,"5":4,"6":4,"7":4,"8":4,"9":4,"10":4,"11":4,"12":4,"13":4,"14":4,"15":4,"17":4,"18":4,"19":4,"20":4,"21":4,"22":4,"25":4,"26":4,"27":4,"28":4,"29":4,"30":4,"32":4,"33":4,"34":4,"35":4,"37":4,"38":2,"40":3,"41":3,"43":4,"44":4,"45":4,"47":4,"48":2,"50":4,"51":4,"52":3}; -(function() { - var cache, choices, choicesForCode, codeForChoices, comparator, controller, demoOriginalLevel, demoTimer, documentReady, float_to_letter_map, getChoices, getComparator, getSector, go, letter_to_float_map, loadMainPathway, loadSecondaryPathway, old_choices, pathwayDescriptions, pathwayName, pathwayWikiPages, sector, setChoices, setUpControls, setVariablesFromURL, startDemo, stopDemo, switchComparator, switchPathway, switchSector, switchView, updateControls, url, view, view_manager, views; - - views = {}; - - controller = null; - - choices = null; - - view = null; - - sector = null; - - comparator = null; - - view_manager = null; - - old_choices = []; - - cache = {}; - - documentReady = function() { - if ($.jStorage.get('CostCaveatShown') !== true) { - $('#cost_caveats').show(); - } - setUpControls(); - setVariablesFromURL(); - switchView(view); - return loadMainPathway(); - }; - - $(document).ready(documentReady); - - setUpControls = function() { - $("a[title]").tooltip({ - delay: 0, - position: 'top left', - offset: [3, 3], - tip: '#tooltip' - }); - $("a.choiceLink").click(function(event) { - var c, l, t; - event.preventDefault(); - t = $(event.target); - c = t.data().choicenumber; - l = t.data().choicelevel; - return go(c, l); - }); - $("a.view").click(function(event) { - var t, v; - event.preventDefault(); - t = $(event.target); - v = t.data().view; - return switchView(v); - }); - return $(".newdropdown").click(function(event) { - var d, o, space, t; - event.preventDefault(); - t = $(event.target); - d = $(t.data().dropdown); - if (d.hasClass("showdropdown")) { - return d.removeClass("showdropdown"); - } else { - d.addClass("showdropdown"); - o = t.offset(); - o.top = o.top + t.height(); - space = $(document).width() - o.left - d.width(); - if (space < 0) { - o.left = o.left + space; - } - return d.offset(o); - } - }); - }; - - setVariablesFromURL = function() { - var url_elements; - url_elements = window.location.pathname.split('/'); - controller = url_elements[1] || "pathways"; - choices = choicesForCode(url_elements[2] || twentyfifty.default_pathway); - view = url_elements[3] || "primary_energy_chart"; - if (view === 'costs_compared_within_sector') { - sector = url_elements[4]; - } - if (url_elements[4] === 'comparator') { - return comparator = url_elements[5]; - } - }; - - float_to_letter_map = { - "": "0", - 1.0: "1", - 1.1: "b", - 1.2: "c", - 1.3: "d", - 1.4: "e", - 1.5: "f", - 1.6: "g", - 1.7: "h", - 1.8: "i", - 1.9: "j", - 2.0: "2", - 2.1: "l", - 2.2: "m", - 2.3: "n", - 2.4: "o", - 2.5: "p", - 2.6: "q", - 2.7: "r", - 2.8: "s", - 2.9: "t", - 3.0: "3", - 3.1: "v", - 3.2: "w", - 3.3: "x", - 3.4: "y", - 3.5: "z", - 3.6: "A", - 3.7: "B", - 3.8: "C", - 3.9: "D", - 0.0: "0", - 4.0: "4" - }; - - codeForChoices = function(c) { - var cd, choice; - if (c == null) { - c = choices; - } - cd = (function() { - var _i, _len, _results; - _results = []; - for (_i = 0, _len = c.length; _i < _len; _i++) { - choice = c[_i]; - _results.push(float_to_letter_map[choice]); - } - return _results; - })(); - return cd.join(''); - }; - - letter_to_float_map = { - "1": 1.0, - "b": 1.1, - "c": 1.2, - "d": 1.3, - "e": 1.4, - "f": 1.5, - "g": 1.6, - "h": 1.7, - "i": 1.8, - "j": 1.9, - "2": 2.0, - "l": 2.1, - "m": 2.2, - "n": 2.3, - "o": 2.4, - "p": 2.5, - "q": 2.6, - "r": 2.7, - "s": 2.8, - "t": 2.9, - "3": 3.0, - "v": 3.1, - "w": 3.2, - "x": 3.3, - "y": 3.4, - "z": 3.5, - "A": 3.6, - "B": 3.7, - "C": 3.8, - "D": 3.9, - "0": 0.0, - "4": 4.0 - }; - - choicesForCode = function(newCode) { - var choice, _i, _len, _ref, _results; - _ref = newCode.split(''); - _results = []; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - choice = _ref[_i]; - _results.push(letter_to_float_map[choice]); - } - return _results; - }; - - getChoices = function() { - return choices; - }; - - getSector = function() { - return parseInt(sector); - }; - - switchSector = function(new_sector) { - sector = new_sector; - if (history['pushState'] != null) { - history.pushState(choices, codeForChoices(), url()); - } - switchView('costs_compared_within_sector'); - view_manager.teardown(); - return view_manager.updateResults(cache[codeForChoices()]); - }; - - getComparator = function() { - return comparator; - }; - - switchComparator = function(new_comparator) { - comparator = new_comparator; - if (history['pushState'] != null) { - history.pushState(choices, codeForChoices(), url()); - } - if (view_manager.switchComparator != null) { - return view_manager.switchComparator(comparator); - } - }; - - url = function(options) { - var s; - if (options == null) { - options = {}; - } - s = jQuery.extend({ - controller: controller, - code: codeForChoices(), - view: view, - sector: sector, - comparator: getComparator() - }, options); - if (s.view === 'costs_compared_within_sector' && (s.sector != null)) { - return "/" + s.controller + "/" + s.code + "/" + s.view + "/" + s.sector; - } else if (s.comparator != null) { - return "/" + s.controller + "/" + s.code + "/" + s.view + "/comparator/" + s.comparator; - } else { - return "/" + s.controller + "/" + s.code + "/" + s.view; - } - }; - - go = function(index, level) { - old_choices = choices.slice(0); - if (index <= 15 && index !== 3 && level > 1 && Math.ceil(choices[index]) === level) { - choices[index] = Math.round((choices[index] - 0.1) * 10) / 10; - } else { - choices[index] = level; - } - return loadMainPathway(); - }; - - demoTimer = null; - - demoOriginalLevel = null; - - startDemo = function(choice) { - var demoLevel, demoMaximum; - demoLevel = 1; - demoOriginalLevel = choices[choice]; - demoMaximum = window.twentyfifty.choice_sizes[choice]; - return demoTimer = setInterval((function() { - go(choice, demoLevel); - demoLevel = demoLevel + 1; - if (demoLevel > demoMaximum) { - demoLevel = 1; - } - return false; - }), 1000); - }; - - stopDemo = function(choice) { - if (demoTimer != null) { - clearInterval(demoTimer); - } - if ((demoOriginalLevel != null) && demoOriginalLevel !== choices[choice]) { - return go(choice, demoOriginalLevel); - } - }; - - switchView = function(new_view) { - var c, data; - $('.showdropdown').removeClass("showdropdown"); - if (view === new_view && (view_manager != null)) { - return false; - } - if (view_manager != null) { - view_manager.teardown(); - } - view = new_view; - view_manager = views[view]; - $("a.selectedView").removeClass("selectedView"); - $("a.view[data-view='" + view + "']").addClass("selectedView"); - if (view === "costs_in_context") { - $("#cost_choice").addClass("selectedView").text("Costs: context"); - } else if (view === "costs_compared_overview") { - $("#cost_choice").addClass("selectedView").text("Costs: compared"); - } else if (view === "costs_sensitivity") { - $("#cost_choice").addClass("selectedView").text("Costs: sensitivity"); - } else { - $("#cost_choice").text("Costs"); - } - c = codeForChoices(); - data = cache[c]; - if (data != null) { - view_manager.updateResults(data); - } - if (history['pushState'] != null) { - return history.pushState(choices, c, url()); - } - }; - - switchPathway = function(new_code) { - return setChoices(choicesForCode(new_code)); - }; - - setChoices = function(new_choices) { - $('.showdropdown').removeClass("showdropdown"); - old_choices = choices.slice(0); - choices = new_choices; - return loadMainPathway(); - }; - - loadMainPathway = function(pushState) { - var fetch, main_code; - if (pushState == null) { - pushState = true; - } - if (choices.join('') === old_choices.join('')) { - return false; - } - updateControls(old_choices, choices); - main_code = codeForChoices(); - if (history['pushState'] != null) { - history.pushState(choices, main_code, url()); - } - if (cache[main_code] != null) { - view_manager.updateResults(cache[main_code]); - return $('#calculating').hide(); - } else { - $('#calculating').show(); - fetch = function() { - return $.getJSON(url({ - code: main_code, - view: 'data', - sector: null, - comparator: null - }), function(data) { - if (data != null) { - cache[data._id] = data; - if (data._id === codeForChoices()) { - view_manager.updateResults(data); - return $('#calculating').hide(); - } - } - }); - }; - return fetch(); - } - }; - - loadSecondaryPathway = function(secondary_code, callback) { - var fetch, - _this = this; - if (cache[secondary_code] != null) { - return callback(cache[secondary_code]); - } else { - fetch = function() { - return $.getJSON(url({ - code: secondary_code, - view: 'data', - sector: null, - comparator: null - }), function(data) { - if (data != null) { - cache[data._id] = data; - return callback(data); - } - }); - }; - return fetch(); - } - }; - - window.onpopstate = function(event) { - var url_elements; - if (!event.state) { - return false; - } - url_elements = window.location.pathname.split('/'); - setChoices(choicesForCode(url_elements[2])); - switchView(url_elements[3]); - if (view === 'costs_compared_within_sector') { - switchSector(url_elements[4]); - } - if (url_elements[4] === 'comparator') { - return switchComparator(url_elements[5]); - } - }; - - updateControls = function(old_choices, choices) { - var c, choice, choice_frview, choice_whole, controls, i, old_choice, old_choice_frview, old_choice_whole, row, _i, _j, _len, _ref, _ref1, _results; - this.choices = choices; - controls = $('#classic_controls'); - _ref = this.choices; - _results = []; - for (i = _i = 0, _len = _ref.length; _i < _len; i = ++_i) { - choice = _ref[i]; - old_choice = old_choices[i]; - if (choice !== old_choices[i]) { - old_choice_whole = Math.ceil(old_choice); - old_choice_frview = parseInt((old_choice % 1) * 10); - choice_whole = Math.ceil(choice); - choice_frview = parseInt((choice % 1) * 10); - row = controls.find("tr#r" + i); - row.find(".selected, .level" + old_choice_whole + ", .level" + old_choice_whole + "_" + old_choice_frview).removeClass("selected level" + old_choice_whole + " level" + old_choice_whole + "_" + old_choice_frview); - if (old_choice_frview !== 0) { - controls.find("#c" + i + "l" + old_choice_whole).text(old_choice_whole); - } - row.find("#c" + i + "l" + choice_whole).addClass('selected'); - for (c = _j = 1, _ref1 = choice_whole - 1; 1 <= _ref1 ? _j <= _ref1 : _j >= _ref1; c = 1 <= _ref1 ? ++_j : --_j) { - controls.find("#c" + i + "l" + c).addClass("level" + choice_whole); - } - if (choice_frview !== 0) { - controls.find("#c" + i + "l" + choice_whole).text(choice); - _results.push(controls.find("#c" + i + "l" + choice_whole).addClass("level" + choice_whole + "_" + choice_frview)); - } else { - _results.push(controls.find("#c" + i + "l" + choice_whole).addClass("level" + choice_whole)); - } - } else { - _results.push(void 0); - } - } - return _results; - }; - - pathwayName = function(pathway_code, default_name) { - if (default_name == null) { - default_name = null; - } - return window.twentyfifty.pathway_names_hash[pathway_code] || default_name; - }; - - pathwayDescriptions = function(pathway_code, default_description) { - if (default_description == null) { - default_description = null; - } - return window.twentyfifty.pathway_descriptions_hash[pathway_code] || default_description; - }; - - pathwayWikiPages = function(pathway_code, default_page) { - if (default_page == null) { - default_page = null; - } - return "http://2050-calculator-tool-wiki.decc.gov.uk/pages/" + (window.twentyfifty.pathway_wiki_pages_hash[pathway_code] || default_page); - }; - - window.twentyfifty.code = codeForChoices; - - window.twentyfifty.getChoices = getChoices; - - window.twentyfifty.setChoices = setChoices; - - window.twentyfifty.getSector = getSector; - - window.twentyfifty.switchSector = switchSector; - - window.twentyfifty.getComparator = getComparator; - - window.twentyfifty.switchComparator = switchComparator; - - window.twentyfifty.url = url; - - window.twentyfifty.go = go; - - window.twentyfifty.loadMainPathway = loadMainPathway; - - window.twentyfifty.loadSecondaryPathway = loadSecondaryPathway; - - window.twentyfifty.switchView = switchView; - - window.twentyfifty.switchPathway = switchPathway; - - window.twentyfifty.pathwayName = pathwayName; - - window.twentyfifty.pathwayDescriptions = pathwayDescriptions; - - window.twentyfifty.pathwayWikiPages = pathwayWikiPages; - - window.twentyfifty.startDemo = startDemo; - - window.twentyfifty.stopDemo = stopDemo; - - window.twentyfifty.views = views; - -}).call(this); -(function() { - var adjust_costs_of_pathway, calculateIncrementalCost, cost_categories, cost_override_in_place_warning, costs_in_category, group_costs_of_pathway, setDefaultStoreIfRequired, - __hasProp = {}.hasOwnProperty; - - window.costCaveatHTML = "
\n We would like your help to develop this tool. Please\nclick here\n to find out more about our methodology and suggest improvements.\nBefore viewing the cost implications of your choices, please note that:\n
    \n
  1. \n The Calculator expresses pathway costs as 'average pounds per person per year'. This is not the same as your energy bill. It is the cost of everything the UK buys that makes, converts, saves or uses energy: from kettles and insulation foam to trains and power stations. You can choose to see the results in different units when using the\n excel version of the Calculator.\n
  2. \n
  3. The Calculator does not choose any options automatically, regardless of their cost.
  4. \n
  5. \n The Calculator uses forecasts from credible sources of how technology and fuel costs might rise or fall over time. You vary these forecasts using the\n cost sensitivity\n implication from the menu on the top left. The full set of data points is available on the\n wiki.\n
  6. \n
  7. The cost of not tackling climate change is not included in the Calculator. The Stern review estimated that failing to tackle climate change could reduce global GDP by up to 20%. This is the equivalent of up to £6,500 per person per year on average, on top of the cost of the energy system.
  8. \n
  9. Some other important effects have been excluded from the Calculator. The costs of travelling less or with different modes of transport, having colder homes or fewer goods, and changing the appearance of our houses or landscape are not included. Nor are profits, taxes, subsidies or economies of scale driven by pathway choices. The Calculator includes only the physical costs of constructing, operating and fuelling equipment.
  10. \n
  11. Costs are just one feature for comparing 2050 pathways. The Calculator provides information on other impacts, as well as some illustrative pathways to compare your choices with.
  12. \n
\n\n
"; - - window.costEssentialNotesHTML = "
\n Note: The cost of failing to tackle climate change is not included. Some pathways, including the 'All at Level 1' pathway shown here, fail to tackle climate change. The Stern review estimated that failing to tackle climate change could reduce global GDP by up to 20% (equivalent to up to £6500 per person per year on top of the cost of the energy system included in the chart above). Nor are the costs of travelling less, being colder, or consuming less included.\n Show the caveats again\n
"; - - cost_categories = { - "Conventional thermal plant": "Electricity", - "Combustion + CCS": "Electricity", - "Nuclear power": "Electricity", - "Onshore wind": "Electricity", - "Offshore wind": "Electricity", - "Hydroelectric": "Electricity", - "Wave and Tidal": "Electricity", - "Geothermal": "Electricity", - "Distributed solar PV": "Electricity", - "Distributed solar thermal": "Buildings", - "Micro wind": "Electricity", - "Biomatter to fuel conversion": "Bioenergy", - "Bioenergy imports": "Bioenergy", - "Agriculture and land use": "Bioenergy", - "Energy from waste": "Bioenergy", - "Waste arising": "Bioenergy", - "Marine algae": "Bioenergy", - "Electricity imports": "Electricity", - "Electricity Exports": "Electricity", - "Electricity grid distribution": "Electricity", - "Storage, demand shifting, backup": "Electricity", - "H2 Production": "Transport", - "Domestic heating": "Buildings", - "Domestic insulation": "Buildings", - "Commercial heating and cooling": "Buildings", - "Domestic lighting, appliances, and cooking": "Buildings", - "Commercial lighting, appliances, and catering": "Buildings", - "Industrial processes": "Industry", - "Conventional cars and buses": "Transport", - "Hybrid cars and buses": "Transport", - "Electric cars and buses": "Transport", - "Fuel cell cars and buses": "Transport", - "Bikes": "Transport", - "Rail": "Transport", - "Domestic aviation": "Transport", - "Domestic freight": "Transport", - "International aviation": "Transport", - "International shipping (maritime bunkers)": "Transport", - "Geosequestration": "Other", - "Petroleum refineries": "Industry", - "Coal": "Fossil fuels", - "Oil": "Fossil fuels", - "Gas": "Fossil fuels", - "Fossil fuel transfers": "Fossil fuels", - "District heating effective demand": "Buildings", - "Power Carbon Capture": "Electricity", - "Industry Carbon Capture": "Industry", - "Storage of captured CO2": "Other", - "Finance cost": "Finance" - }; - - costs_in_category = function(desired_category) { - var category, cost, costs; - costs = []; - for (cost in cost_categories) { - if (!__hasProp.call(cost_categories, cost)) continue; - category = cost_categories[cost]; - if (category === desired_category) { - costs.push(cost); - } - } - return costs; - }; - - group_costs_of_pathway = function(pathway) { - var categorised_costs, category, category_name, high, low, name, range, values, _ref; - if (pathway.total_cost_low_adjusted == null) { - adjust_costs_of_pathway(pathway); - } - categorised_costs = {}; - _ref = pathway.cost_components; - for (name in _ref) { - if (!__hasProp.call(_ref, name)) continue; - values = _ref[name]; - category_name = cost_categories[name]; - category = categorised_costs[category_name]; - if (category == null) { - category = categorised_costs[category_name] = { - low: 0, - range: 0, - high: 0 - }; - } - low = values.low_adjusted; - range = values.range_adjusted; - high = values.high_adjusted; - values.low_adjusted_with_finance = low; - values.range_adjusted_with_finance = range; - values.high_adjusted_with_finance = high; - category.low += low; - category.range += range; - category.high += high; - category[name] = values; - } - pathway.categorised_costs = categorised_costs; - return pathway; - }; - - cost_override_in_place_warning = function() { - var ignore, name, o, _results; - _results = []; - for (name in cost_categories) { - if (!__hasProp.call(cost_categories, name)) continue; - ignore = cost_categories[name]; - o = jQuery.jStorage.get(name, void 0); - if ((o != null) && o !== 'point') { - $('#cost_override_warning').show(); - break; - } else { - _results.push(void 0); - } - } - return _results; - }; - - adjust_costs_of_pathway = function(pathway) { - var cost, finance, fraction_of_width, implied_fraction_of_width, name, total, values, _ref; - total = { - low: 0, - range: 0, - high: 0, - finance_max: 0 - }; - _ref = pathway.cost_components; - for (name in _ref) { - if (!__hasProp.call(_ref, name)) continue; - values = _ref[name]; - fraction_of_width = jQuery.jStorage.get(name, null); - if ((fraction_of_width != null) && fraction_of_width !== 'point' && fraction_of_width !== 'uncertain') { - cost = values.low + (values.range * fraction_of_width); - finance = values.finance_low + (values.finance_range * fraction_of_width); - values.low_adjusted = cost; - values.range_adjusted = 0; - values.high_adjusted = cost; - values.finance_low_adjusted = finance; - values.finance_range_adjusted = 0; - values.finance_high_adjusted = finance; - } else if (fraction_of_width === 'uncertain') { - values.low_adjusted = values.low; - values.range_adjusted = values.range; - values.high_adjusted = values.high; - values.finance_low_adjusted = values.finance_low; - values.finance_range_adjusted = values.finance_range; - values.finance_high_adjusted = values.finance_high; - } else { - values.low_adjusted = values.point; - values.range_adjusted = 0; - values.high_adjusted = values.point; - implied_fraction_of_width = (values.point - values.low) / values.range; - finance = values.finance_low + (values.finance_range * implied_fraction_of_width); - values.finance_low_adjusted = values.finance; - values.finance_range_adjusted = 0; - values.finance_high_adjusted = values.finance; - } - total.low += values.low_adjusted; - total.range += values.range_adjusted; - total.high += values.high_adjusted; - total.finance_max += values.finance_high_adjusted; - } - pathway.total_cost_low_adjusted = total.low; - pathway.total_cost_range_adjusted = total.range; - pathway.total_cost_high_adjusted = total.high; - return pathway; - }; - - setDefaultStoreIfRequired = function(pathway) { - var name, values, _ref; - if (jQuery.jStorage.get('defaultCostsSet') === true) { - return false; - } - _ref = pathway.cost_components; - for (name in _ref) { - if (!__hasProp.call(_ref, name)) continue; - values = _ref[name]; - if ((name !== 'Oil') && (name !== 'Gas') && (name !== 'Coal') && (name !== 'Finance cost')) { - jQuery.jStorage.set(name, 0); - } - } - return jQuery.jStorage.set('defaultCostsSet', true); - }; - - calculateIncrementalCost = function(pt, pc) { - var cc, ct, cvalues, name, tc, tt, tvalues, _ref; - if (pt.total_cost_low_adjusted == null) { - adjust_costs_of_pathway(pt); - } - if (pc.total_cost_low_adjusted == null) { - adjust_costs_of_pathway(pc); - } - tt = 0; - tc = 0; - ct = 0; - cc = 0; - _ref = pt.cost_components; - for (name in _ref) { - if (!__hasProp.call(_ref, name)) continue; - tvalues = _ref[name]; - if (name !== 0) { - cvalues = pc.cost_components[name]; - if (tvalues.range_adjusted === cvalues.range_adjusted) { - tt += tvalues.low_adjusted; - tc += tvalues.low_adjusted; - ct += cvalues.low_adjusted; - cc += cvalues.low_adjusted; - } else if (tvalues.range_adjusted >= cvalues.range_adjusted) { - tt += tvalues.low_adjusted; - ct += cvalues.low_adjusted; - tc += tvalues.high_adjusted; - cc += cvalues.high_adjusted; - } else { - tt += tvalues.high_adjusted; - ct += cvalues.high_adjusted; - tc += tvalues.low_adjusted; - cc += cvalues.low_adjusted; - } - } - } - return { - tc: tc, - tt: tt, - cc: cc, - ct: ct - }; - }; - - window.twentyfifty.group_costs_of_pathway = group_costs_of_pathway; - - window.twentyfifty.adjust_costs_of_pathway = adjust_costs_of_pathway; - - window.twentyfifty.calculateIncrementalCost = calculateIncrementalCost; - - window.twentyfifty.costs_in_category = costs_in_category; - - window.twentyfifty.cost_override_in_place_warning = cost_override_in_place_warning; - -}).call(this); -(function() { - window.timeSeriesStackedAreaChart = function() { - var area, chart, color_class_index, color_classes, dataTableFormat, first_scale_year, height, label_threshold, last_scale_year, line, margin, max_value, min_value, seriesClass, showLabelFilter, stack, title, total_label, unit, width, xAxis, xScale, x_center, yAxis, yScale; - margin = { - top: 41, - right: 115, - bottom: 40, - left: 40 - }; - width = 375; - height = 125; - x_center = (width - margin.left - margin.right) / 2; - title = ""; - unit = "TWh/yr"; - first_scale_year = 2010; - last_scale_year = 2050; - min_value = 0; - max_value = 4000; - total_label = "Total"; - xScale = d3.scale.linear(); - yScale = d3.scale.linear(); - xAxis = d3.svg.axis().scale(xScale).orient("bottom").ticks(5).tickFormat(d3.format(".0f")); - yAxis = d3.svg.axis().scale(yScale).orient("left").ticks(5); - stack = d3.layout.stack().values(function(d) { - return d.value; - }); - area = d3.svg.area().x(function(d, i) { - return xScale(d.x); - }).y0(function(d, i) { - return yScale(d.y0); - }).y1(function(d, i) { - return yScale(d.y0 + d.y); - }); - line = d3.svg.line().x(function(d, i) { - return xScale(d.x); - }).y(function(d, i) { - return yScale(d.y); - }); - color_classes = { - 'Total': 'total', - 'Total Use': 'total', - 'Total Primary Supply': 'total', - 'Total generation supplied to grid': 'total', - 'Environmental heat': 'environmentalheat' - }; - color_class_index = 0; - seriesClass = function(d, i) { - var c; - c = color_classes[d.key]; - if (c == null) { - c = "q" + color_class_index + "-12"; - color_classes[d.key] = c; - color_class_index++; - } - return c; - }; - label_threshold = 200; - showLabelFilter = function(d) { - return Math.abs(d.total) > label_threshold; - }; - dataTableFormat = d3.format(".0f"); - chart = function(selection) { - return selection.each(function(data) { - var areas, d, dataTable, g, gEnter, label, label_width, label_x, labels, minimum_y_space, negative_series, p, positive_series, previous_y, removeDataTable, series, stacked_data, svg, total, total_series, y, _i, _j, _k, _l, _len, _len1, _len2, _len3, _ref, _ref1; - width = $(this).width(); - height = width / 1.4; - x_center = (width - (margin.left * 2)) / 2; - positive_series = []; - negative_series = []; - total_series = []; - _ref = data.entries(); - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - series = _ref[_i]; - series.value = series.value.map(function(p, i) { - return { - x: first_scale_year + (i * 5), - y: p - }; - }); - total = 0; - _ref1 = series.value; - for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) { - p = _ref1[_j]; - total += p.y; - } - series.total = total; - if (series.key === total_label) { - series.path = line; - total_series.push(series); - } else { - series.path = area; - if (total >= 0) { - positive_series.push(series); - } else { - negative_series.push(series); - } - } - } - stacked_data = stack(positive_series.sort(function(a, b) { - return d3.descending(a.total, b.total); - })); - if (negative_series.length > 0) { - stacked_data = stack(negative_series.sort(function(a, b) { - return d3.ascending(a.total, b.total); - })).reverse().concat(stacked_data); - } - if (total_series.length > 0) { - stacked_data = stacked_data.concat(total_series.sort(function(a, b) { - return d3.descending(a.total, b.total); - })); - } - xScale.domain([first_scale_year, last_scale_year]).range([0, width - margin.left - margin.right]); - yScale.domain([min_value, max_value]).range([height - margin.top - margin.bottom, 0]); - svg = d3.select(this).selectAll("svg").data([stacked_data]); - gEnter = svg.enter().append("svg").append("g").attr('class', 'drawing Paired'); - gEnter.append("g").attr('class', 'context'); - gEnter.append("g").attr('class', 'series'); - svg.attr("width", width).attr("height", height); - g = svg.select("g.drawing").attr("transform", "translate(" + margin.left + "," + margin.top + ")"); - areas = g.select('g.series').selectAll("path").data(Object, function(d) { - return d.key; - }); - areas.enter().append("path").attr("class", function(d, i) { - return seriesClass(d, i); - }).on("mouseover", function(d, i) { - var c, l, s; - c = seriesClass(d, i); - dataTable(d, c); - g.selectAll("." + c).classed("hover", true); - if (!showLabelFilter(d)) { - l = g.selectAll("." + c + ".linelabel").attr("display", "inline"); - s = l[0][0].getBBox(); - return g.insert("rect", "." + c + ".linelabel").attr("class", "labelbackground").attr("x", s.x).attr("y", s.y).attr("width", s.width + 6).attr("height", s.height); - } - }).on("mouseout", function(d, i) { - var c; - removeDataTable(); - c = seriesClass(d, i); - g.selectAll("." + c).classed("hover", false); - if (!showLabelFilter(d)) { - g.selectAll("." + c + ".linelabel").attr("display", "none"); - return g.selectAll(".labelbackground").remove(); - } - }); - areas.transition().attr("d", function(d) { - return d.path(d.value); - }); - gEnter.append("g").attr("class", "x axis"); - gEnter.append("g").attr("class", "y axis"); - gEnter.append("text").attr("class", "y axislabel"); - gEnter.append("text").attr("class", "charttitle"); - g.select(".x.axis").attr("transform", "translate(0," + yScale(0) + ")").call(xAxis); - if (min_value < 0) { - g.selectAll(".x.axis text").attr("dy", yScale(min_value) - yScale(0) + 7); - } - g.select(".y.axis").attr("transform", "translate(0," + xScale.range()[0] + ")").call(yAxis); - g.select(".y.axislabel").attr("transform", "translate(0," + (xScale.range()[0] - 10) + ")").text(unit); - label = g.select(".y.axislabel"); - label_width = label[0][0].getBBox().width; - if (label_width > margin.left) { - label.attr("dx", label_width - margin.left); - } - g.select(".charttitle").attr("transform", "translate(" + x_center + "," + (xScale.range()[0] - 30) + ")").text(title); - label_x = xScale.range()[1] + 2; - minimum_y_space = Math.abs(yScale.invert(10) - yScale.invert(0)); - label_threshold = Math.abs(yScale.invert(5) - yScale.invert(0)) * 9; - for (_k = 0, _len2 = stacked_data.length; _k < _len2; _k++) { - d = stacked_data[_k]; - p = d.value[d.value.length - 1]; - if (p.y0 != null) { - d.label_y = p.y0 + (p.y / 2); - } else { - d.label_y = p.y; - } - d; - } - stacked_data.sort(function(a, b) { - var a_y, b_y; - a_y = a.label_y; - b_y = b.label_y; - if (a_y < 0 && b_y > 0) { - return -1; - } else if (a_y > 0 && b_y < 0) { - return 1; - } else if (a_y > 0 && b_y > 0) { - return a_y - b_y; - } else { - return a_y - b_y; - } - }); - previous_y = min_value - 1000; - for (_l = 0, _len3 = stacked_data.length; _l < _len3; _l++) { - d = stacked_data[_l]; - y = d.label_y; - if (showLabelFilter(d)) { - y = Math.max(previous_y + minimum_y_space, y); - previous_y = y; - d.label_y = y; - } - } - labels = g.selectAll(".linelabel").data(Object, (function(d) { - return d.key; - })); - labels.enter().append("text").attr("class", function(d, i) { - return "linelabel " + (seriesClass(d, i)); - }).attr("x", label_x).attr("y", function(d) { - return yScale(d.label_y) + 4; - }).text(function(d) { - return d.key; - }).on("mouseover", function(d, i) { - dataTable(d, seriesClass(d, i)); - return g.selectAll("." + (seriesClass(d, i))).classed("hover", true); - }).on("mouseout", function(d, i) { - removeDataTable(); - return g.selectAll("." + (seriesClass(d, i))).classed("hover", false); - }); - labels.exit().remove(); - labels.sort(function(a, b) { - return d3.descending(Math.abs(a.total), Math.abs(b.total)); - }).transition().attr("x", label_x).attr("y", function(d) { - return yScale(d.label_y) + 4; - }).attr("display", function(d, i) { - if (showLabelFilter(d)) { - return "inline"; - } else { - return "none"; - } - }); - dataTable = function(series, seriesclass) { - var grid; - labels = series.value; - grid = g.selectAll(".seriesValue").data(labels); - grid.enter().append("text").attr("class", "seriesValue"); - return grid.text(function(d, i) { - if ((i % 2) === 0) { - return dataTableFormat(d.y); - } else { - return ""; - } - }).attr("transform", function(d, i) { - return "translate(" + xScale(first_scale_year + (i * 5)) + "," + (yScale.range()[0] + 30) + ")"; - }).classed(seriesclass, true); - }; - return removeDataTable = function() { - return g.selectAll(".seriesValue").remove(); - }; - }); - }; - chart.title = function(_) { - if (_ == null) { - return title; - } - title = _; - return chart; - }; - chart.total_label = function(_) { - if (_ == null) { - return total_label; - } - total_label = _; - return chart; - }; - chart.unit = function(_) { - if (_ == null) { - return unit; - } - unit = _; - return chart; - }; - chart.max_value = function(_) { - if (_ == null) { - return max_value; - } - max_value = _; - return chart; - }; - chart.min_value = function(_) { - if (_ == null) { - return min_value; - } - min_value = _; - return chart; - }; - chart.x_center = function() { - return x_center; - }; - chart.area = function(_) { - if (_ == null) { - return area; - } - area = _; - return chart; - }; - return chart; - }; - -}).call(this); -(function() { - var PrimaryEnergy; - - PrimaryEnergy = (function() { - function PrimaryEnergy() {} - - PrimaryEnergy.prototype.setup = function() { - var charts; - charts = d3.select("#results").selectAll(".chart").data(['demand_chart', 'supply_chart', 'emissions_chart']); - charts.enter().append('div').attr('id', Object).attr('class', 'chart'); - this.final_energy_chart = timeSeriesStackedAreaChart().title("Final Energy Demand").unit('TWh/yr').total_label('Total Use').max_value(4000); - this.primary_energy_chart = timeSeriesStackedAreaChart().title("Primary Energy Supply").unit('TWh/yr').total_label('Total Primary Supply').max_value(4000); - return this.emissions_chart = timeSeriesStackedAreaChart().title("Greenhouse Gas Emissions").unit('MtCO2e/yr').total_label('Total').min_value(-500).max_value(1000); - }; - - PrimaryEnergy.prototype.teardown = function() { - $('#results').empty(); - this.final_energy_chart = null; - this.primary_energy_chart = null; - return this.emissions_chart = null; - }; - - PrimaryEnergy.prototype.updateResults = function(pathway) { - var percent, series, t; - this.pathway = pathway; - if (!((this.emissions_chart != null) && (this.final_energy_chart != null) && (this.primary_energy_chart != null))) { - this.setup(); - } - d3.select('#demand_chart').datum(d3.map(this.pathway.final_energy_demand)).call(this.final_energy_chart); - d3.select('#supply_chart').datum(d3.map(this.pathway.primary_energy_supply)).call(this.primary_energy_chart); - series = d3.map(this.pathway.ghg); - series.remove("percent_reduction_from_1990"); - percent = this.pathway.ghg.percent_reduction_from_1990; - d3.select('#emissions_chart').datum(series).call(this.emissions_chart); - t = d3.select('#emissions_chart g.drawing').selectAll('text.target').data([percent]); - t.enter().append('text').attr('class', 'target'); - t.attr('transform', 'translate(' + this.emissions_chart.x_center() + ',-18)'); - return t.transition().tween('text', function(d) { - var current, i; - current = parseInt(this.textContent) || +d; - i = d3.interpolateRound(current, +d); - return function(t) { - return this.textContent = "" + (i(t)) + "% reduction 1990-2050; Target is 80%"; - }; - }); - }; - - return PrimaryEnergy; - - })(); - - window.twentyfifty.views['primary_energy_chart'] = new PrimaryEnergy; - -}).call(this); -(function() { - var Electricity; - - Electricity = (function() { - var showContext; - - function Electricity() {} - - Electricity.prototype.setup = function() { - var charts; - charts = d3.select("#results").selectAll(".chart").data(['demand_chart', 'supply_chart', 'emissions_chart']); - charts.enter().append('div').attr('id', Object).attr('class', 'chart'); - this.demand_chart = timeSeriesStackedAreaChart().title("Electricity Demand").unit('TWh/yr').max_value(4000); - this.supply_chart = timeSeriesStackedAreaChart().title("Electricity Supply").unit('TWh/yr').total_label('Total generation supplied to grid').max_value(4000); - return this.emissions_chart = timeSeriesStackedAreaChart().title("Emissions from Electricity").unit('MtCO2e/yr').total_label('Total').min_value(-500).max_value(1000); - }; - - Electricity.prototype.teardown = function() { - $('#results').empty(); - this.final_energy_chart = null; - this.primary_energy_chart = null; - return this.emissions_chart = null; - }; - - showContext = function(data, chart_id, chart_object) { - var d, i, p, total; - d = (function() { - var _i, _len, _results; - _results = []; - for (i = _i = 0, _len = data.length; _i < _len; i = ++_i) { - p = data[i]; - _results.push({ - x: 2010 + (i * 5), - y: p, - y0: 0 - }); - } - return _results; - })(); - total = d3.select(chart_id).select('g.context').selectAll('path').data([d]); - total.enter().append("path"); - return total.transition().attr("d", function(d) { - return chart_object.area()(d); - }); - }; - - Electricity.prototype.updateResults = function(pathway) { - var series; - this.pathway = pathway; - if (!((this.emissions_chart != null) && (this.demand_chart != null) && (this.supply_chart != null))) { - this.setup(); - } - d3.select('#demand_chart').datum(d3.map(this.pathway.electricity.demand)).call(this.demand_chart); - series = d3.map(this.pathway.electricity.supply); - series.remove('Biomass/Coal power stations'); - series.remove('Non-thermal renewable generation'); - d3.select('#supply_chart').datum(series).call(this.supply_chart); - d3.select('#emissions_chart').datum(d3.map(this.pathway.electricity.emissions)).call(this.emissions_chart); - showContext(this.pathway['final_energy_demand']['Total Use'], '#demand_chart', this.demand_chart); - showContext(this.pathway['final_energy_demand']['Total Use'], '#supply_chart', this.supply_chart); - return showContext(this.pathway.ghg.Total, '#emissions_chart', this.emissions_chart); - }; - - return Electricity; - - })(); - - window.twentyfifty.views['electricity'] = new Electricity; - -}).call(this); -(function() { - var EnergySecurity, - __hasProp = {}.hasOwnProperty; - - EnergySecurity = (function() { - function EnergySecurity() { - this.long_descriptions = twentyfifty.longDescriptions; - } - - EnergySecurity.prototype.setup = function() { - this.ready = true; - return $('#results').append("
"); - }; - - EnergySecurity.prototype.teardown = function() { - this.ready = false; - return $('#results').empty(); - }; - - EnergySecurity.prototype.updateResults = function(pathway) { - this.pathway = pathway; - if (!this.ready) { - this.setup(); - } - this.updateBalancingSection(); - this.updateImportsSection(); - return this.updatedDiversitySection(); - }; - - EnergySecurity.prototype.updateBalancingSection = function() { - var element; - element = $('#balancing'); - element.empty(); - element.append("

Balancing electricity supply and demand

"); - if (this.pathway.electricity.automatically_built > 0) { - element.append("

" + (Math.round(this.pathway.electricity.automatically_built)) + " GW of conventional gas electricity generation plant has been assumed to have been built by 2050, to cover the gap between average electricity demand and the amount of low carbon generation selected in this pathway.

"); - } - element.append("

This tool does not model the hourly, daily or even seasonal operation of the electricity grid. It presents annual averages. Therefore it does not correctly represent the peaks and troughs of electricity demand.

"); - element.append("

To go some way to addressing this flaw, the tool applies a simulated stress test to your pathway of five cold, almost windless, days. This is described in more detail here."); - element.append("In this case, the stress test implies that " + (Math.round(this.pathway.electricity.peaking)) + " GW of additional peaking plant may be required for supply to meet demand over that period.

"); - return element.append("

You can influence the amount of peaking plant by changing your choice level of 'storage, demand shifting & interconnection' below right, or by reducing the amount of intermittent renewable generation, or by reducing the demand for electricity

"); - }; - - EnergySecurity.prototype.updateImportsSection = function() { - var element, name, values, _ref; - element = $('#imports'); - element.empty(); - element.append("

Dependence on imported energy

"); - element.append("

The calculator assumes that any available biomass is preferred over fossil fuels and that domestically produced fuels are preferred over imports. It assumes that fossil fuels are imported to cover any shortfall.

"); - element.append("
"); - element.append(""); - element.append(""); - _ref = this.pathway.imports; - for (name in _ref) { - if (!__hasProp.call(_ref, name)) continue; - values = _ref[name]; - element.append(""); - } - return element.append("
20072050
ImportsTWh/yr%TWh/yr%
" + name + "" + values['2007'].quantity + "" + values['2007'].proportion + " " + values['2050'].quantity + "" + values['2050'].proportion + "
"); - }; - - EnergySecurity.prototype.updatedDiversitySection = function() { - var element, name, values, _ref; - element = $('#diversity'); - element.empty(); - element.append("

Diversity of energy sources

"); - element.append("

There may be a benefit from maintaining a diversity of energy sources:

"); - element.append(""); - element.append(""); - _ref = this.pathway.diversity; - for (name in _ref) { - if (!__hasProp.call(_ref, name)) continue; - values = _ref[name]; - if (!(values['2007'] === "0%" && values['2050'] === "0%")) { - element.append(""); - } - } - return element.append("
Proportion of energy supply20072050
" + name + "" + values['2007'] + " " + values['2050'] + "
"); - }; - - return EnergySecurity; - - })(); - - window.twentyfifty.views['energy_security'] = new EnergySecurity; - -}).call(this); -(function() { - var Map; - - Raphael.fn.up_labeled_square = function(x, y, label, area, colour) { - var side, sq; - side = Math.sqrt(area); - sq = this.rect(x, y - side, side, side).attr({ - stroke: colour, - fill: colour, - 'fill-opacity': "0.5" - }); - label = this.text(x - 2, y - (side / 2), label).attr({ - 'text-anchor': 'end', - fill: 'black' - }); - label.hide(); - return { - square: sq, - label: label - }; - }; - - Raphael.fn.up_right_labeled_square = function(x, y, label, area, colour) { - var side, sq; - side = Math.sqrt(area); - sq = this.rect(x - (side / 2), y - side, side, side).attr({ - stroke: colour, - fill: colour, - 'fill-opacity': "0.5" - }); - label = this.text(x + (side / 2) + 4, y - (side / 2), label).attr({ - 'text-anchor': 'start', - fill: 'black' - }); - return { - square: sq, - label: label - }; - }; - - Raphael.fn.down_labeled_square = function(x, y, label, area, colour) { - var side, sq; - side = Math.sqrt(area); - sq = this.rect(x - side, y, side, side).attr({ - stroke: colour, - fill: colour, - 'fill-opacity': "0.5" - }); - label = this.text(x + 4, y + (side / 2), label).attr({ - 'text-anchor': 'start', - fill: 'black' - }); - return { - square: sq, - label: label - }; - }; - - Map = (function() { - var GW, MW, Mha, colours, display_height, display_in_element, display_width, ha, km, km2, labels, m, m2, map_height, map_image_url, map_offset_x, map_offset_y, map_width, pointSizes; - - display_in_element = 'map'; - - display_width = 1200; - - display_height = 800; - - map_image_url = '/assets/images/uk.png'; - - map_width = 492; - - map_height = 725; - - map_offset_x = 150; - - map_offset_y = 0; - - km = 0.69; - - m = km / 1000.0; - - m2 = m * m; - - ha = 10000 * m2; - - km2 = 1e6 * m2; - - Mha = 1e6 * ha; - - GW = 2; - - MW = GW / 1000; - - colours = { - 'III.a.2': '#ff0000', - 'III.a.1': '#ff0000', - 'IV.c': '#aa0000', - 'VI.a.Biocrop': '#00ff00', - 'VI.a.Forestry': '#408000', - 'VI.c': '#00ff00', - 'V.b': '#00ff00', - 'IV.a': '#ffff00', - 'IV.b': '#cccc00', - 'VII.a': '#ffff00', - 'III.b': '#0000ff', - 'III.c.TidalRange': '#0000ff', - 'III.c.TidalStream': '#aaaaff', - 'I.a': '#666', - 'I.b': '#CCC', - 'II.a': '#FF0', - 'III.d': '#F00', - 'VII.c': '#008000', - 'VI.b': '#F00' - }; - - labels = { - 'III.a.2': 'Offshore wind', - 'III.a.1': 'Onshore wind', - 'IV.c': 'Micro wind', - 'VI.a.Biocrop': 'Energy crops', - 'VI.a.Forestry': 'Forest', - 'VI.c': 'Marine algae', - 'V.b': 'Biocrops', - 'IV.a': 'Solar PV', - 'IV.b': 'Solar thermal', - 'VII.a': 'Solar PV', - 'III.b': 'Hydro', - 'III.c.TidalRange': 'Tidal range', - 'III.c.TidalStream': 'Tidal stream', - 'I.a': '2 GW coal gas or biomass power stations without CCS', - 'I.b': '1.2 GW coal gas or biomass power stations with CCS', - 'II.a': '3 GW nuclear power station', - 'III.d': '0.01 GW geothermal stations', - 'VII.c': '1 GW gas standby power stations', - 'VI.b': '215 kt/y waste to energy conversion facilities' - }; - - pointSizes = { - 'I.a': 2, - 'I.b': 1.2, - 'II.a': 3, - 'III.d': 0.01, - 'VII.c': 1, - 'VI.b': 0.01 - }; - - function Map() { - this.ready = false; - } - - Map.prototype.setup = function() { - var name, r, x, y, _i, _j, _k, _len, _len1, _len2, _ref, _ref1, _ref2; - this.ready = true; - $('#results').append("
"); - r = Raphael(display_in_element, display_width, display_height); - this.r = r; - r.image(map_image_url, map_offset_x, map_offset_y, map_width, map_height); - r.text(20, 10, "Illustration of scale of land and sea use in 2050 (positions are arbitrary)").attr({ - 'font-weight': 'bold', - 'text-anchor': 'start' - }); - this.wave = { - line: r.path([]).attr({ - stroke: 'blue', - 'stroke-width': 2 - }), - label: r.text(98, 34, "Wave").attr({ - 'text-anchor': 'end' - }) - }; - this.wave.label.hide(); - x = (map_width / 2) + map_offset_x; - y = map_height + map_offset_y - 100; - this.land_boxes = {}; - _ref = ['III.a.1', 'III.b', 'IV.a', 'IV.b', 'IV.c', 'VI.a.Biocrop', 'VI.a.Forestry']; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - name = _ref[_i]; - this.land_boxes[name] = r.up_labeled_square(x, y, labels[name], 0, colours[name]); - } - x = (map_width / 2) + map_offset_x + 250; - y = 30; - this.sea_boxes = {}; - _ref1 = ['III.a.2', 'III.c.TidalStream', 'III.c.TidalRange', 'VI.c']; - for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) { - name = _ref1[_j]; - this.sea_boxes[name] = r.down_labeled_square(x, y, labels[name], 0, colours[name]); - } - r.path("M244,695 q0,-200 -200,-200").attr({ - 'stroke': '#ccc' - }); - r.text(44, 510, "Imports").attr({ - 'fill': '#ccc', - 'font-weight': 'bold', - 'text-anchor': 'start' - }); - x = map_offset_x - 105; - y = map_height + map_offset_y - 30; - this.overseas_land_boxes = {}; - _ref2 = ['V.b', 'VII.a']; - for (_k = 0, _len2 = _ref2.length; _k < _len2; _k++) { - name = _ref2[_k]; - this.overseas_land_boxes[name] = r.up_labeled_square(x, y, labels[name], 0, colours[name]); - } - this.points = r.set(); - return r.text(700, 10, "Illustration of the number of thermal power stations in 2050 (scales and positions are arbitrary)").attr({ - 'font-weight': 'bold', - 'text-anchor': 'start' - }); - }; - - Map.prototype.point_stack = function(x, y, number, colour, label, size) { - var i, width, x_count, x_step, y_step, _i; - x_count = 0; - if (size < 10) { - x_step = 5; - y_step = 5; - } else { - x_step = 1.5 * size; - y_step = 1.5 * size; - } - width = 100; - if (number > 0) { - this.r.text(x - 20, y, label).attr({ - 'text-anchor': 'end' - }); - } - for (i = _i = 1; 1 <= number ? _i <= number : _i >= number; i = 1 <= number ? ++_i : --_i) { - this.r.circle(x + (x_count * x_step), y, size * km).attr({ - 'stroke-width': 0, - 'fill': colour - }); - this.r.circle(x + (x_count * x_step), y, 1).attr({ - 'stroke-width': 0, - 'fill': 'black' - }); - x_count = x_count + 1; - if ((x_count * x_step) > width) { - x_count = 0; - y = y + y_step; - } - } - return y = y + 30; - }; - - Map.prototype.teardown = function() { - $('#results').empty(); - return this.ready = false; - }; - - Map.prototype.updateResults = function(data) { - var box, map, name, side, size, value, values, x, y, _i, _j, _k, _l, _len, _len1, _len2, _len3, _len4, _m, _ref, _ref1, _ref2, _ref3; - if (!this.ready) { - this.setup(); - } - map = data.map; - if (map.wave > 0) { - this.wave.label.show(); - } - if (map.wave === 0) { - this.wave.label.hide(); - } - this.wave.line.attr({ - path: ["M", 100, 30, "l", 0, map.wave * km] - }); - y = map_height + map_offset_y - 100; - values = []; - _ref = this.land_boxes; - for (name in _ref) { - box = _ref[name]; - values.push({ - name: name, - value: map[name] - }); - } - values.sort(function(a, b) { - return b.value - a.value; - }); - for (_i = 0, _len = values.length; _i < _len; _i++) { - value = values[_i]; - box = this.land_boxes[value.name]; - side = Math.sqrt(value.value * km2); - box.square.attr({ - y: y - side, - width: side, - height: side - }); - box.label.attr({ - y: y - (side / 2) - }); - if (value.value > 10) { - box.label.show(); - } else { - box.label.hide(); - } - y = y - side - 5; - } - x = (map_width / 2) + map_offset_x + 250; - y = 30; - values = []; - _ref1 = this.sea_boxes; - for (name in _ref1) { - box = _ref1[name]; - values.push({ - name: name, - value: map[name] - }); - } - values.sort(function(a, b) { - return b.value - a.value; - }); - for (_j = 0, _len1 = values.length; _j < _len1; _j++) { - value = values[_j]; - box = this.sea_boxes[value.name]; - side = Math.sqrt(value.value * km2); - box.square.attr({ - x: x - side, - y: y, - width: side, - height: side - }); - box.label.attr({ - x: x + 4, - y: y + (side / 2) - }); - if (value.value > 10) { - box.label.show(); - } else { - box.label.hide(); - } - y = y + side + 5; - } - y = map_height + map_offset_y - 30; - values = []; - _ref2 = this.overseas_land_boxes; - for (name in _ref2) { - box = _ref2[name]; - values.push({ - name: name, - value: map[name] - }); - } - values.sort(function(a, b) { - return b.value - a.value; - }); - for (_k = 0, _len2 = values.length; _k < _len2; _k++) { - value = values[_k]; - box = this.overseas_land_boxes[value.name]; - side = Math.sqrt(value.value * km2); - box.square.attr({ - y: y - side, - width: side, - height: side - }); - box.label.attr({ - y: y - (side / 2) - }); - if (value.value > 10) { - box.label.show(); - } else { - box.label.hide(); - } - y = y - side - 5; - } - if (this.points != null) { - this.points.remove(); - } - this.r.setStart(); - y = 35; - x = 1055; - values = []; - _ref3 = ['I.a', 'I.b', 'II.a', 'III.d', 'VII.c', 'VI.b']; - for (_l = 0, _len3 = _ref3.length; _l < _len3; _l++) { - name = _ref3[_l]; - values.push({ - name: name, - value: map[name] - }); - } - values.sort(function(a, b) { - return b.value - a.value; - }); - for (_m = 0, _len4 = values.length; _m < _len4; _m++) { - value = values[_m]; - if (value.value >= 1) { - size = Math.round(Math.sqrt(pointSizes[value.name]) * 10); - y = this.point_stack(x, y, value.value, colours[value.name], "" + (Math.round(value.value)) + " x " + labels[value.name], size); - } - } - return this.points = this.r.setFinish(); - }; - - return Map; - - })(); - - window.twentyfifty.views['map'] = new Map; - -}).call(this); -(function() { - var SankeyDisplay; - - SankeyDisplay = (function() { - var convert_name, name_conversions; - - name_conversions = { - "UK land based bioenergy": "Forests & biocrops", - "Bio-conversion": "Biomass processing", - "H2 conversion": "Hydrogen production", - "H2": "Hydrogen", - "Useful district heat": "Delivered heat", - "Heating and cooling - homes": "Home heating & cooling", - "Heating and cooling - commercial": "Office heating & cooling", - "Lighting & appliances - homes": "Home lighting & appliances", - "Lighting & appliances - commercial": "Office lighting & appliances" - }; - - convert_name = function(name) { - return name_conversions[name] || name; - }; - - function SankeyDisplay() {} - - SankeyDisplay.prototype.updateResults = function(pathway) { - var data, max_y; - if (this.s == null) { - this.setup(); - } - data = pathway.sankey; - if (this.drawn === true) { - this.s.updateData(data); - this.s.redraw(); - } else { - this.s.setData(data); - this.s.draw(); - this.drawn = true; - } - max_y = this.s.boxes['Losses'].b(); - if ($('#sankey').height() < max_y) { - $('#sankey').height(max_y); - return this.s.r.setSize($('#sankey').width(), max_y); - } - }; - - SankeyDisplay.prototype.teardown = function() { - $('#results').empty(); - return this.s = null; - }; - - SankeyDisplay.prototype.setup = function() { - var pixels_per_TWh; - if (this.s != null) { - return false; - } - $('#results').append("
"); - $('#sankey').height($('#sankey').width() * 0.4); - this.s = new Sankey(); - this.s.stack(0, ["Pumped heat", "Solar", "Wind", "Tidal", "Wave", "Geothermal", "Hydro", "Electricity imports", "Nuclear", "Coal reserves", "Coal imports", "Biomass imports", "Oil reserves", "Oil imports", "Biofuel imports", "Gas reserves", "Gas imports", "UK land based bioenergy", "Agricultural 'waste'", "Other waste", "Marine algae"]); - this.s.stack(1, ["Coal"], "Coal reserves"); - this.s.stack(1, ["Oil"], "Oil reserves"); - this.s.stack(1, ["Natural Gas"], "Gas reserves"); - this.s.stack(1, ["Bio-conversion"], "UK land based bioenergy"); - this.s.stack(2, ["Solar Thermal", "Solar PV"], "Solar"); - this.s.stack(2, ["Solid", "Liquid", "Gas"], "Coal"); - this.s.stack(3, ["Thermal generation", "CHP"], "Nuclear"); - this.s.stack(4, ["Electricity grid", "District heating"], "Wind"); - this.s.stack(5, ["H2 conversion"], "Electricity grid"); - this.s.stack(6, ["H2"], "H2 conversion"); - this.s.stack(7, ["Heating and cooling - homes", "Heating and cooling - commercial", "Lighting & appliances - homes", "Lighting & appliances - commercial", "Industry", "Road transport", "Rail transport", "Domestic aviation", "International aviation", "National navigation", "International shipping", "Agriculture", "Geosequestration", "Over generation / exports", "Losses"]); - this.s.nudge_boxes_callback = function() { - return this.boxes["Losses"].y = this.boxes["Marine algae"].b() - this.boxes["Losses"].size(); - }; - this.s.setColors({ - "Coal reserves": "#8F6F38", - "Coal": "#8F6F38", - "Coal imports": "#8F6F38", - "Oil reserves": "#A99268", - "Oil": "#A99268", - "Oil imports": "#A99268", - "Gas reserves": "#DDD4C4", - "Natural Gas": "#DDD4C4", - "Gas imports": "#DDD4C4", - "Solar": "#F6FF00", - "Solar Thermal": "#F6FF00", - "Solar PV": "#F6FF00", - "UK land based bioenergy": "#30FF00", - "Bio-conversion": "#30FF00", - "Marine algae": "#30FF00", - "Agricultural 'waste'": "#30FF00", - "Other waste": "#30FF00", - "Biomass imports": "#30FF00", - "Biofuel imports": "#30FF00", - "Solid": "#557731", - "Liquid": "#7D9763", - "Gas": "#BCC2AD", - "Electricity grid": "#0000FF", - "Thermal generation": "#0000FF", - "CHP": "#FF0000", - "Nuclear": "#E2ABDB", - "District heating": "#FF0000", - "Pumped heat": "#FF0000", - "Useful district heat": "#FF0000", - "CHP Heat": "#FF0000", - "Electricity imports": "#0000FF", - "Wind": "#C7E7E6", - "Tidal": "#C7E7E6", - "Wave": "#C7E7E6", - "Geothermal": "#C7E7E6", - "Hydro": "#C7E7E6", - "H2 conversion": "#FF6FCF", - "Final electricity": "#0000FF", - "Over generation / exports": "#0000FF", - "H2": "#FF6FCF" - }); - this.s.nudge_colours_callback = function() { - this.recolour(this.boxes["Losses"].left_lines, "#ddd"); - this.recolour(this.boxes["District heating"].left_lines, "#FF0000"); - return this.recolour(this.boxes["Electricity grid"].left_lines, "#0000FF"); - }; - pixels_per_TWh = $('#sankey').height() / 5000; - this.s.y_space = Math.round(100 * pixels_per_TWh); - this.s.right_margin = 250; - this.s.left_margin = 150; - this.s.convert_flow_values_callback = function(flow) { - return flow * pixels_per_TWh; - }; - this.s.convert_flow_labels_callback = function(flow) { - return Math.round(flow); - }; - return this.s.convert_box_value_labels_callback = function(flow) { - return "" + Math.round(flow) + " TWh/y"; - }; - }; - - return SankeyDisplay; - - })(); - - window.twentyfifty.views['sankey'] = new SankeyDisplay; - -}).call(this); -(function() { - var AirQuality, airQualityHTML, - __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; - - airQualityHTML = "
\n

The impact of your pathway on air quality

\n
\n
\n
\n

How to interpret these results:

\n
    \n
  • Air pollution health impact index — this index measures the effect on human health from fine particulate matter and other air pollutants such as nitrogen oxides. For example, these pollutants have been linked to premature death caused by heart and lung disease. 2010 is the baseline year (100). A number lower than 100 indicates a reduction in average air pollution and associated health impacts, whilst a higher number indicates an increase. This index reflects changes in the average concentration of air pollutants across the UK. It does not provide information on the number or severity of pollution hotspots.
  • \n
  • Low end of hatched range — worst case scenario for air pollution whereby there is no further deployment or innovation in pollution abatement technology between now and 2050 beyond planned measures.
  • \n
  • High end of hatched range — best case scenario whereby innovation radically improves pollution abatement technology between now and 2050 and it is fully deployed.
  • \n
\n

\n We would welcome your feedback on the\n methodology used to calculate the impact of your pathway on air quality.\n You can also download the excel version of the 2050 pathways calcualtor to see the different types of air pollution and the relative importance of different sources.\n

\n
\n
"; - - AirQuality = (function() { - function AirQuality() { - this.updateResults = __bind(this.updateResults, this); - this.updateComparator = __bind(this.updateComparator, this); - this.ready = false; - } - - AirQuality.prototype.setup = function() { - var clow, comparator_id, crange, e, format, h, low, range, tick, x, _2010, _i, _len, _ref; - if (this.ready) { - return false; - } - this.ready = true; - $("#results").append(airQualityHTML); - $("#message").addClass('warning'); - e = $('#airquality'); - this.h = e.height(); - this.w = e.width(); - this.r = new Raphael('airquality', this.w, this.h); - this.x = d3.scale.linear().domain([0, 250]).range([300, this.w - 30]).nice(); - this.y = d3.scale.ordinal().domain(['2010', 'comparator', 'chosen']).rangeRoundBands([25, this.h - 20], 0.25); - comparator_id = twentyfifty.getComparator() || twentyfifty.default_comparator_code; - this.r.text(30, this.y("2010") + 9, "2010").attr({ - 'text-anchor': 'start', - 'font-weight': 'bold' - }); - this.r.text(30, this.y("comparator") + 9, "2050 - " + (twentyfifty.pathwayName(comparator_id))).attr({ - 'text-anchor': 'start', - 'font-weight': 'bold' - }); - this.r.text(30, this.y("chosen") + 9, "2050 - Your pathway").attr({ - 'text-anchor': 'start', - 'font-weight': 'bold' - }); - this.bars = {}; - h = this.y.rangeBand(); - x = this.x(0); - _2010 = this.r.rect(x, this.y('2010'), this.x(100) - this.x(0), h).attr({ - 'fill': '#008000', - 'stroke': 'none' - }); - this.r.text(30, this.y('comparator') + 27, twentyfifty.pathwayDescriptions(comparator_id, "")).attr({ - 'text-anchor': 'start' - }); - clow = this.r.rect(x, this.y('comparator'), 0, h).attr({ - 'fill': '#f00', - 'stroke': 'none' - }); - crange = this.r.rect(x, this.y('comparator'), 0, h).attr({ - 'fill': 'url(/assets/images/hatches/hatch-f00.png)', - 'stroke': 'none' - }); - this.bars['comparator'] = { - low: clow, - range: crange - }; - low = this.r.rect(x, this.y('chosen'), 0, h).attr({ - 'fill': '#1f77b4', - 'stroke': 'none' - }); - range = this.r.rect(x, this.y('chosen'), 0, h).attr({ - 'fill': 'url(/assets/images/hatches/hatch-1f77b4.png)', - 'stroke': 'none' - }); - this.bars['chosen'] = { - low: low, - range: range - }; - this.r.text(this.x(0), 10, "Air pollution health impact index (2010=100)").attr({ - 'text-anchor': 'start', - 'font-weight': 'bold', - 'fill': '#000' - }); - this.r.path(["M", this.x(0), this.h - 35, "L", this.x(0), 30, "L", this.w - 30, 30]).attr({ - 'stroke': '#000', - 'stroke-width': 2 - }); - format = this.x.tickFormat(10); - _ref = this.x.ticks(10); - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - tick = _ref[_i]; - this.r.text(this.x(tick), 23, format(tick)).attr({ - 'text-anchor': 'middle', - fill: '#000000' - }); - this.r.path(["M", this.x(tick), 29, "L", this.x(tick), this.h - 26]).attr({ - stroke: '#fff' - }); - } - return twentyfifty.loadSecondaryPathway(comparator_id, this.updateComparator); - }; - - AirQuality.prototype.teardown = function() { - $("#results").empty(); - $("#message").removeClass('warning'); - return this.ready = false; - }; - - AirQuality.prototype.updateComparator = function(pathway) { - if (!this.ready) { - this.setup(); - } - this.bars['comparator']['low'].attr({ - width: this.x(pathway.air_quality.low) - this.x(0) - }); - return this.bars['comparator']['range'].attr({ - width: this.x(pathway.air_quality.high - pathway.air_quality.low) - this.x(0), - x: this.x(pathway.air_quality.low) - }); - }; - - AirQuality.prototype.updateResults = function(pathway) { - var text; - if (!this.ready) { - this.setup(); - } - this.bars['chosen']['low'].attr({ - width: this.x(pathway.air_quality.low) - this.x(0) - }); - this.bars['chosen']['range'].attr({ - width: this.x(pathway.air_quality.high - pathway.air_quality.low) - this.x(0), - x: this.x(pathway.air_quality.low) - }); - text = ["The damage to human health arising from air pollution from this pathway, principally particulate matter, could be around "]; - text.push("" + (Math.abs(Math.round(100 - pathway.air_quality.high))) + "%"); - if (pathway.air_quality.high > 100 && pathway.air_quality.low <= 100) { - text.push(" higher "); - } - if (pathway.air_quality.high <= 100 && pathway.air_quality.low > 100) { - text.push(" lower "); - } - text.push(" to "); - text.push("" + (Math.abs(Math.round(100 - pathway.air_quality.low))) + "%"); - if (pathway.air_quality.low > 100) { - text.push(" higher"); - } - if (pathway.air_quality.low <= 100) { - text.push(" lower"); - } - text.push(" in 2050 compared to 2010."); - if (pathway.air_quality.high > 100) { - text.push(" Given the scope for adverse implications for air quality, if the UK were to adopt this pathway the Government would develop a policy framweork that supported the innovation required to be at the bottom end of the range"); - } - return $('#airqualitymessage').html(text.join('')); - }; - - return AirQuality; - - })(); - - window.twentyfifty.views['air_quality'] = new AirQuality; - -}).call(this); -(function() { - var CostsInContext, costsInContextHTML, - __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }, - __hasProp = {}.hasOwnProperty; - - costsInContextHTML = "
\n
NB Some costs not on default values
\n

\n The cost to society of your pathway. This is not your energy bill.
\n For comparison, UK average GDP 2010-2050 is forecast to be roughly £35000 per person.\n

\n " + window.costCaveatHTML + "\n
\n " + window.costEssentialNotesHTML + "\n
"; - - CostsInContext = (function() { - function CostsInContext() { - this.updateBar = __bind(this.updateBar, this); - this.setup = __bind(this.setup, this); - this.pathways = {}; - this.ready = false; - } - - CostsInContext.prototype.setup = function() { - var all_pathways, code, comparator_pathways, e, format, h, labels_hide, labels_show, low, low_label, message, overlay, overlays, range, range_label, tick, x, y, _i, _j, _k, _l, _len, _len1, _len2, _len3, _len4, _m, _ref, _results, - _this = this; - if (this.ready) { - return false; - } - this.ready = true; - $("#results").append(costsInContextHTML); - $("#message").addClass('warning'); - twentyfifty.cost_override_in_place_warning(); - all_pathways = ["chosen"].concat(twentyfifty.comparator_pathways); - comparator_pathways = twentyfifty.comparator_pathways; - e = $('#costsincontext'); - this.h = e.height(); - this.w = e.width(); - this.r = new Raphael('costsincontext', this.w, this.h); - this.x = d3.scale.linear().domain([0, 40000]).range([250, this.w - 30]).nice(); - this.y = d3.scale.ordinal().domain(all_pathways).rangeRoundBands([25, this.h - 20], 0.25); - for (_i = 0, _len = comparator_pathways.length; _i < _len; _i++) { - code = comparator_pathways[_i]; - this.r.rect(this.x(0), this.y(code), this.x(40000) - this.x(0), this.y.rangeBand()).attr({ - 'fill': '#ddd', - 'stroke': 'none' - }); - } - this.r.rect(25, this.y("chosen"), this.x(40000) - 25, this.y.rangeBand()).attr({ - 'fill': '#FCFF9B', - 'stroke': 'none' - }); - this.r.text(30, this.y("chosen") + 9, "Your pathway").attr({ - 'text-anchor': 'start', - 'font-weight': 'bold' - }); - this.r.text(30, this.y("chosen") + 27, "You can click on the chart to make a more\ndetailed comparison with the pathways below").attr({ - 'text-anchor': 'start' - }); - for (_j = 0, _len1 = comparator_pathways.length; _j < _len1; _j++) { - code = comparator_pathways[_j]; - this.r.text(30, this.y(code) + 9, twentyfifty.pathwayName(code, code)).attr({ - 'text-anchor': 'start', - 'font-weight': 'bold', - href: twentyfifty.pathwayWikiPages(code) - }); - this.r.text(30, this.y(code) + 27, twentyfifty.pathwayDescriptions(code, "")).attr({ - 'text-anchor': 'start', - href: twentyfifty.pathwayWikiPages(code) - }); - } - this.bars = {}; - this.low = { - boxes: this.r.set(), - labels: this.r.set(), - top_label: null, - top_label_box: null - }; - this.range = { - boxes: this.r.set(), - labels: this.r.set(), - top_label: null, - top_label_box: null - }; - overlays = this.r.set(); - x = this.x(0); - h = this.y.rangeBand(); - labels_show = function() { - _this.low.labels.show(); - return _this.range.labels.show(); - }; - labels_hide = function() { - _this.low.labels.hide(); - return _this.range.labels.hide(); - }; - for (_k = 0, _len2 = all_pathways.length; _k < _len2; _k++) { - code = all_pathways[_k]; - y = this.y(code); - low = this.r.rect(x, y, 0, h).attr({ - 'fill': '#008000', - 'stroke': 'none' - }); - range = this.r.rect(x, y, 0, h).attr({ - 'fill': 'url(/assets/images/hatches/hatch-green.png)', - 'stroke': 'none' - }); - low_label = this.r.text(x + 10, y + h / 2, "").attr({ - 'fill': '#000', - 'text-anchor': 'start' - }); - range_label = this.r.text(x, y + h / 2, "").attr({ - 'text-anchor': 'start', - 'fill': '#f00' - }); - message = this.r.text(x, y + h / 2, "").attr({ - 'fill': '#000', - 'text-anchor': 'start' - }); - overlay = this.r.rect(x, y, 0, h).attr({ - 'fill': '#fff', - 'stroke': 'none', - cursor: 'pointer', - 'fill-opacity': 0.0 - }); - this.bars[code] = { - low: low, - range: range, - low_label: low_label, - range_label: range_label, - message: message, - overlay: overlay - }; - this.low.boxes.push(low); - this.low.labels.push(low_label); - this.range.boxes.push(range); - this.range.labels.push(range_label); - overlays.push(overlay); - low_label.hide(); - range_label.hide(); - overlay.hover(labels_show, labels_hide); - overlay.click(function() { - return window.twentyfifty.switchView('costs_compared_overview'); - }); - } - this.incremental_overlay = this.r.rect(this.x(0), this.y('chosen'), 0, 480).attr({ - 'fill': '#fff', - 'fill-opacity': 0.5, - 'stroke': 'none' - }); - overlays.insertAfter(this.incremental_overlay); - this.r.text(this.x(0), this.h - 5, "The absolute cost to society of the whole energy system (mean undiscounted real pounds per person per year 2010-2050)").attr({ - 'text-anchor': 'start', - 'font-weight': 'bold', - 'fill': '#008000' - }); - this.r.path(["M", this.x(0), 40, "L", this.x(0), this.h - 28, "L", this.w - 30, this.h - 28]).attr({ - 'stroke': '#008000', - 'stroke-width': 2 - }); - format = this.x.tickFormat(10); - _ref = this.x.ticks(10); - for (_l = 0, _len3 = _ref.length; _l < _len3; _l++) { - tick = _ref[_l]; - this.r.text(this.x(tick), this.h - 20, format(tick)).attr({ - 'text-anchor': 'middle', - fill: '#008000' - }); - } - this.drawIndicator(3700, "Approximate energy system cost today"); - _results = []; - for (_m = 0, _len4 = comparator_pathways.length; _m < _len4; _m++) { - code = comparator_pathways[_m]; - _results.push(twentyfifty.loadSecondaryPathway(code, this.updateBar)); - } - return _results; - }; - - CostsInContext.prototype.drawIndicator = function(value, text) { - var x; - x = this.x(value); - this.r.text(x, 10, text).attr({ - 'text-anchor': 'end', - fill: '#aaa' - }); - this.r.path(["M", x, 8, "L", x, this.h - 15]).attr({ - stroke: '#000', - 'stroke-dasharray': '.' - }); - return this.r.text(x, this.h - 20, '3,700').attr({ - 'text-anchor': 'end', - fill: '#aaa' - }); - }; - - CostsInContext.prototype.teardown = function() { - $("#results").empty(); - $("#message").removeClass('warning'); - return this.ready = false; - }; - - CostsInContext.prototype.updateResults = function(pathway) { - if (!this.ready) { - this.setup(); - } - return this.updateBar(pathway, 'chosen'); - }; - - CostsInContext.prototype.updateBar = function(pathway, _id) { - var bar, code, format, p, tick, total_cost, total_range, _i, _len, _ref, _ref1; - if (_id == null) { - _id = pathway._id; - } - this.pathways[_id] = pathway; - total_cost = this.total_cost_low_adjusted(pathway); - total_range = this.total_cost_range_adjusted(pathway); - bar = this.bars[_id]; - if (_id === 'chosen') { - bar.low.attr({ - fill: '#1f77b4' - }); - bar.range.attr({ - fill: 'url(/assets/images/hatches/hatch-1f77b4.png)' - }); - } else if (_id === (twentyfifty.getComparator() || twentyfifty.default_comparator_code)) { - this.comparator = pathway; - this.r.text(this.x(total_cost), 10, "The extra cost to society above that of the '" + (twentyfifty.pathwayName(_id, "comparison")) + "' pathway (mean £/person/year 2010-2050)").attr({ - 'text-anchor': 'start', - 'font-weight': 'bold', - 'fill': '#f00' - }); - this.r.path(["M", this.x(total_cost), this.h - 35, "L", this.x(total_cost), 30, "L", this.w - 30, 30]).attr({ - 'stroke': '#f00', - 'stroke-width': 2 - }); - format = this.x.tickFormat(10); - _ref = this.x.ticks(10); - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - tick = _ref[_i]; - this.r.text(this.x(tick + total_cost), 23, format(tick)).attr({ - 'text-anchor': 'middle', - 'fill': '#f00' - }); - if (tick > 0) { - this.r.path(["M", this.x(tick + total_cost), 27, "L", this.x(tick + total_cost), this.h - 30]).attr({ - stroke: '#fff' - }); - } - } - bar.low.attr({ - fill: '#f00' - }); - bar.range.attr({ - fill: 'url(/assets/images/hatches/hatch-f00.png)' - }); - this.incremental_overlay.attr({ - width: this.x(total_cost) - this.x(0) - }); - this.low.labels.toFront(); - this.range.labels.toFront(); - _ref1 = this.pathways; - for (code in _ref1) { - if (!__hasProp.call(_ref1, code)) continue; - p = _ref1[code]; - this.setIncrementalCostLabel(code, p); - } - } - bar.low.attr({ - width: this.x(total_cost) - this.x(0) - }); - if (total_range === 0) { - bar.low_label.attr({ - text: "" + (Math.round(total_cost)) - }); - } else { - bar.low_label.attr({ - text: "" + (Math.round(total_cost)) + "–" + (Math.round(total_cost + total_range)) - }); - } - bar.range_label.attr({ - x: this.x(total_cost + total_range) + 10 - }); - this.setIncrementalCostLabel(_id, pathway); - bar.range.attr({ - x: this.x(total_cost), - width: this.x(total_range) - this.x(0) - }); - bar.overlay.attr({ - width: this.x(total_cost + total_range) - this.x(0) - }); - if (pathway.ghg['Total'][8] > 166) { - bar.message.attr({ - x: this.x(total_cost + total_range) + 100, - text: "This pathway does not reduce emissions by at least 80% on 1990 levels" - }); - return bar.message.toFront(); - } else { - bar.message.attr({ - x: this.x(total_cost + total_range) + 100, - text: "" - }); - return bar.message.toFront(); - } - }; - - CostsInContext.prototype.setIncrementalCostLabel = function(code, pathway) { - var a, delta, i, i1, i2, message; - if (this.comparator == null) { - return false; - } - if (code === this.comparator._id) { - return false; - } - if (pathway.total_cost_range_adjusted === 0 && this.comparator.total_cost_range_adjusted === 0) { - delta = Math.round(pathway.total_cost_low_adjusted - this.comparator.total_cost_low_adjusted); - if (delta < 0) { - message = "" + (-delta) + " less"; - } else if (delta === 0) { - message = "the same"; - } else { - message = "" + delta + " more"; - } - } else { - i = twentyfifty.calculateIncrementalCost(pathway, this.comparator); - i1 = Math.round(i.tc - i.cc); - i2 = Math.round(i.tt - i.ct); - if (i1 > i2) { - a = i2; - i2 = i1; - i1 = a; - } - if (i1 < 0 && i2 < 0) { - message = "" + (-i1) + " to " + (-i2) + " less"; - } else if (i1 < 0 && i2 > 0) { - message = "" + (-i1) + " less to " + i2 + " more"; - } else { - message = "" + i1 + " to " + i2 + " more"; - } - } - return this.bars[code].range_label.attr({ - text: message - }); - }; - - CostsInContext.prototype.total_cost_low_adjusted = function(pathway) { - if (pathway.total_cost_low_adjusted == null) { - twentyfifty.adjust_costs_of_pathway(pathway); - } - return pathway.total_cost_low_adjusted; - }; - - CostsInContext.prototype.total_cost_range_adjusted = function(pathway) { - if (pathway.total_cost_range_adjusted == null) { - twentyfifty.adjust_costs_of_pathway(pathway); - } - return pathway.total_cost_range_adjusted; - }; - - return CostsInContext; - - })(); - - window.twentyfifty.views['costs_in_context'] = new CostsInContext; - -}).call(this); -(function() { - var CostsComparedOverview, costsComparedOverviewHTML, - __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }, - __hasProp = {}.hasOwnProperty; - - costsComparedOverviewHTML = "
\n
NB Some costs not on default values
\n

\n The cost of your pathway, compared with other pathways.\n This is not your energy bill.\n

\n " + window.costCaveatHTML + "\n
\n " + window.costEssentialNotesHTML + "\n
"; - - CostsComparedOverview = (function() { - var categories, category_colors; - - categories = ["Fossil fuels", "Bioenergy", "Electricity", "Buildings", "Transport", "Industry", "Finance", "Other"]; - - category_colors = { - "Fossil fuels": { - low: "#8c564b", - range: "url(/assets/images/hatches/hatch-8c564b.png)" - }, - "Bioenergy": { - low: "#2ca02c", - range: "url(/assets/images/hatches/hatch-2ca02c.png)" - }, - "Electricity": { - low: "#1f77b4", - range: "url(/assets/images/hatches/hatch-1f77b4.png)" - }, - "Buildings": { - low: "#ff7f0e", - range: "url(/assets/images/hatches/hatch-ff7f0e.png)" - }, - "Transport": { - low: "#d62728", - range: "url(/assets/images/hatches/hatch-d62728.png)" - }, - "Industry": { - low: "#7f7f7f", - range: "url(/assets/images/hatches/hatch-7f7f7f.png)" - }, - "Finance": { - low: "#EA8BCC", - range: "url(/assets/images/hatches/hatch-EA8BCC.png)" - }, - "Other": { - low: "#a55194", - range: "url(/assets/images/hatches/hatch-a55194.png)" - } - }; - - function CostsComparedOverview() { - this.updateBar = __bind(this.updateBar, this); - this.ready = false; - } - - CostsComparedOverview.prototype.setup = function() { - var all_pathways, b, c, category, clickFunction, code, color, colors, e, format, h, lb, tick, x, y, _i, _j, _k, _l, _len, _len1, _len2, _len3, _len4, _len5, _m, _n, _ref, _ref1, _ref2, _ref3, _ref4, _results; - if (this.ready) { - return false; - } - this.ready = true; - $('#results').append(costsComparedOverviewHTML); - $("#message").addClass('warning'); - twentyfifty.cost_override_in_place_warning(); - all_pathways = ["chosen"].concat(twentyfifty.comparator_pathways); - e = $('#costscomparedoverview'); - this.h = e.height(); - this.w = e.width(); - this.r = new Raphael('costscomparedoverview', this.w, this.h); - this.x = d3.scale.linear().domain([0, 7000]).range([250, this.w - 30]).nice(); - this.y = d3.scale.ordinal().domain(all_pathways).rangeRoundBands([25, this.h - 20], 0.25); - this.r.text(250, 30, "Move your mouse over a coloured bar to see what it refers to. Click on a bar to see more detail").attr({ - 'text-anchor': 'start' - }); - _ref = twentyfifty.comparator_pathways; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - code = _ref[_i]; - this.r.rect(this.x(0), this.y(code), this.x(7000) - this.x(0), this.y.rangeBand()).attr({ - 'fill': '#ddd', - 'stroke': 'none' - }); - } - this.r.rect(25, this.y("chosen"), this.x(7000) - 25, this.y.rangeBand()).attr({ - 'fill': '#FCFF9B', - 'stroke': 'none' - }); - this.r.text(30, this.y("chosen") + 9, "Your pathway").attr({ - 'text-anchor': 'start', - 'font-weight': 'bold' - }); - this.r.text(30, this.y("chosen") + 27, "You can click on the chart to make a more\ndetailed comparison of specific costs").attr({ - 'text-anchor': 'start' - }); - _ref1 = twentyfifty.comparator_pathways; - for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) { - code = _ref1[_j]; - this.r.text(30, this.y(code) + 9, twentyfifty.pathwayName(code, code)).attr({ - 'text-anchor': 'start', - 'font-weight': 'bold', - href: twentyfifty.pathwayWikiPages(code) - }); - this.r.text(30, this.y(code) + 27, twentyfifty.pathwayDescriptions(code, "")).attr({ - 'text-anchor': 'start', - href: twentyfifty.pathwayWikiPages(code) - }); - } - this.boxes = {}; - this.boxes_by_category = {}; - for (_k = 0, _len2 = categories.length; _k < _len2; _k++) { - category = categories[_k]; - this.boxes_by_category[category] = { - boxes: this.r.set(), - labels: this.r.set(), - top_label: null, - top_label_box: null - }; - } - x = this.x(0); - h = this.y.rangeBand(); - clickFunction = function(category) { - return function() { - return window.twentyfifty.switchSector(categories.indexOf(category)); - }; - }; - _ref2 = ["chosen"].concat(twentyfifty.comparator_pathways); - for (_l = 0, _len3 = _ref2.length; _l < _len3; _l++) { - code = _ref2[_l]; - b = {}; - y = this.y(code); - for (category in category_colors) { - if (!__hasProp.call(category_colors, category)) continue; - colors = category_colors[category]; - b[category] = { - low: this.r.rect(x, y, 0, h).attr({ - 'fill': colors.low, - 'stroke': 'none', - cursor: "pointer" - }).click(clickFunction(category)), - low_label: this.r.text(x, y + h / 2, "").attr({ - 'fill': '#000', - 'text-anchor': 'middle', - cursor: "pointer" - }).click(clickFunction(category)), - range: this.r.rect(x, y, 0, h).attr({ - 'fill': colors.range, - 'stroke': 'none', - cursor: "pointer" - }).click(clickFunction(category)), - range_label: this.r.text(x, y + h / 2, "").attr({ - 'fill': '#000', - 'text-anchor': 'middle', - cursor: "pointer" - }).click(clickFunction(category)) - }; - c = this.boxes_by_category[category]; - c.boxes.push(b[category].low, b[category].range); - c.labels.push(b[category].low_label, b[category].range_label); - } - this.boxes[code] = b; - } - this.r.text(this.x(0), this.h - 5, "The absolute cost to society of the whole energy system (mean undiscounted real pounds per person per year 2010-2050)").attr({ - 'text-anchor': 'start', - 'font-weight': 'bold', - 'fill': '#008000' - }); - this.r.path(["M", this.x(0), 40, "L", this.x(0), this.h - 28, "L", this.w - 30, this.h - 28]).attr({ - 'stroke': '#008000', - 'stroke-width': 2 - }); - format = this.x.tickFormat(10); - _ref3 = this.x.ticks(10); - for (_m = 0, _len4 = _ref3.length; _m < _len4; _m++) { - tick = _ref3[_m]; - this.r.text(this.x(tick), this.h - 20, format(tick)).attr({ - 'text-anchor': 'middle', - fill: '#008000' - }); - this.r.path(["M", this.x(tick), 40, "L", this.x(tick), this.h - 26]).attr({ - stroke: '#fff' - }); - } - for (category in category_colors) { - if (!__hasProp.call(category_colors, category)) continue; - color = category_colors[category]; - this.boxes_by_category[category].labels.hide(); - this.boxes_by_category[category].labels.toFront(); - this.hover(this.boxes_by_category[category].boxes, category); - this.hover(this.boxes_by_category[category].labels, category); - if (category === "Fossil fuels") { - lb = this.r.text(this.x(0) + 175, h * 0.75 / 2, "Fossil fuels for use in buildings, transport, electricity generation and industry").attr({ - 'text-anchor': 'middle', - 'font-weight': 'bold' - }); - } else if (category === "Bioenergy") { - lb = this.r.text(this.x(0) + 175, h * 0.75 / 2, "Bioenergy for use in buildings, transport, electricity generation and industry").attr({ - 'text-anchor': 'middle', - 'font-weight': 'bold' - }); - } else { - lb = this.r.text(this.x(0) + 50, h * 0.75 / 2, category).attr({ - 'text-anchor': 'middle', - 'font-weight': 'bold' - }); - } - this.boxes_by_category[category].top_label_box = this.r.rect(this.x(0), 0, lb.getBBox().width + 15, h * 0.75, 5).attr({ - 'fill': '#fff', - 'stroke': color.low - }).hide(); - this.boxes_by_category[category].top_label = lb; - lb.toFront(); - lb.hide(); - } - _ref4 = twentyfifty.comparator_pathways; - _results = []; - for (_n = 0, _len5 = _ref4.length; _n < _len5; _n++) { - code = _ref4[_n]; - _results.push(twentyfifty.loadSecondaryPathway(code, this.updateBar)); - } - return _results; - }; - - CostsComparedOverview.prototype.hover = function(boxes, category) { - var _this = this; - return boxes.hover((function() { - return _this.show(category); - }), (function() { - return _this.hide(category); - })); - }; - - CostsComparedOverview.prototype.show = function(category) { - var c, _i, _len, _results; - _results = []; - for (_i = 0, _len = categories.length; _i < _len; _i++) { - c = categories[_i]; - if (c === category) { - this.boxes_by_category[c].labels.show(); - this.boxes_by_category[c].top_label_box.show(); - _results.push(this.boxes_by_category[c].top_label.show()); - } else { - _results.push(this.boxes_by_category[c].boxes.attr({ - 'fill-opacity': 0.5 - })); - } - } - return _results; - }; - - CostsComparedOverview.prototype.hide = function(category) { - var c, _i, _len, _results; - _results = []; - for (_i = 0, _len = categories.length; _i < _len; _i++) { - c = categories[_i]; - if (c === category) { - this.boxes_by_category[c].labels.hide(); - this.boxes_by_category[c].top_label_box.hide(); - _results.push(this.boxes_by_category[c].top_label.hide()); - } else { - _results.push(this.boxes_by_category[c].boxes.attr({ - 'fill-opacity': 1.0 - })); - } - } - return _results; - }; - - CostsComparedOverview.prototype.teardown = function() { - $("#results").empty(); - $("#message").removeClass('warning'); - return this.ready = false; - }; - - CostsComparedOverview.prototype.updateResults = function(pathway) { - if (!this.ready) { - this.setup(); - } - return this.updateBar(pathway, 'chosen'); - }; - - CostsComparedOverview.prototype.updateBar = function(pathway, _id) { - var b, categorised_costs, category, cost, lb, _i, _j, _len, _len1, _results, _x; - if (_id == null) { - _id = pathway._id; - } - if (this.boxes == null) { - this.setupComparisonChart(); - } - if (pathway.categorised_costs == null) { - twentyfifty.group_costs_of_pathway(pathway); - } - categorised_costs = pathway.categorised_costs; - b = this.boxes[_id]; - _x = 0; - for (_i = 0, _len = categories.length; _i < _len; _i++) { - category = categories[_i]; - cost = categorised_costs[category]; - b[category].low.attr({ - x: this.x(_x), - width: this.x(cost.low) - this.x(0) - }); - if (cost.low > 1) { - b[category].low_label.attr({ - x: this.x(_x + cost.low / 2), - text: "" + (Math.round(cost.low)) - }); - } - if (_id === 'chosen') { - lb = this.boxes_by_category[category].top_label_box; - lb.attr({ - x: this.x(_x + cost.low / 2) - (lb.attr('width') / 2) - }); - this.boxes_by_category[category].top_label.attr({ - x: this.x(_x + cost.low / 2) - }); - } - _x += cost.low; - } - _results = []; - for (_j = 0, _len1 = categories.length; _j < _len1; _j++) { - category = categories[_j]; - cost = categorised_costs[category]; - b[category].range.attr({ - x: this.x(_x), - width: this.x(cost.range) - this.x(0) - }); - if (cost.range > 1) { - b[category].range_label.attr({ - x: this.x(_x + cost.range / 2), - text: "" + (Math.round(cost.range)) - }); - } - _results.push(_x += cost.range); - } - return _results; - }; - - return CostsComparedOverview; - - })(); - - window.twentyfifty.views['costs_compared_overview'] = new CostsComparedOverview; - -}).call(this); -(function() { - var CostsComparedWithinSector, costsComparedWithinSectorHTML, - __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }, - __hasProp = {}.hasOwnProperty; - - costsComparedWithinSectorHTML = "
\n
NB Some costs not on default values
\n \n

\n The cost of\n a sector\n within your and other pathways.\n This is not an energy bill.\n

\n " + window.costCaveatHTML + "\n
\n " + window.costEssentialNotesHTML + "\n
"; - - CostsComparedWithinSector = (function() { - var categories, cost_component_colors; - - categories = ["Fossil fuels", "Bioenergy", "Electricity", "Buildings", "Transport", "Industry", "Finance", "Other"]; - - cost_component_colors = { - "Conventional thermal plant": { - low: "#a55194", - range: "url(/assets/images/hatches/hatch-a55194.png)" - }, - "Combustion + CCS": { - low: "#8c564b", - range: "url(/assets/images/hatches/hatch-8c564b.png)" - }, - "Storage of captured CO2": { - low: "#8c564b", - range: "url(/assets/images/hatches/hatch-8c564b.png)" - }, - "Nuclear power": { - low: "#2ca02c", - range: "url(/assets/images/hatches/hatch-2ca02c.png)" - }, - "Onshore wind": { - low: "#1f77b4", - range: "url(/assets/images/hatches/hatch-1f77b4.png)" - }, - "Offshore wind": { - low: "#ff7f0e", - range: "url(/assets/images/hatches/hatch-ff7f0e.png)" - }, - "Hydroelectric": { - low: "#d62728", - range: "url(/assets/images/hatches/hatch-d62728.png)" - }, - "Wave and Tidal": { - low: "#7f7f7f", - range: "url(/assets/images/hatches/hatch-7f7f7f.png)" - }, - "Geothermal": { - low: "#EA8BCC", - range: "url(/assets/images/hatches/hatch-EA8BCC.png)" - }, - "Distributed solar PV": { - low: "#a55194", - range: "url(/assets/images/hatches/hatch-a55194.png)" - }, - "Distributed solar thermal": { - low: "#8c564b", - range: "url(/assets/images/hatches/hatch-8c564b.png)" - }, - "Micro wind": { - low: "#2ca02c", - range: "url(/assets/images/hatches/hatch-2ca02c.png)" - }, - "Biomatter to fuel conversion": { - low: "#1f77b4", - range: "url(/assets/images/hatches/hatch-1f77b4.png)" - }, - "Bioenergy imports": { - low: "#ff7f0e", - range: "url(/assets/images/hatches/hatch-ff7f0e.png)" - }, - "Agriculture and land use": { - low: "#d62728", - range: "url(/assets/images/hatches/hatch-d62728.png)" - }, - "Energy from waste": { - low: "#7f7f7f", - range: "url(/assets/images/hatches/hatch-7f7f7f.png)" - }, - "Waste arising": { - low: "#EA8BCC", - range: "url(/assets/images/hatches/hatch-EA8BCC.png)" - }, - "Marine algae": { - low: "#a55194", - range: "url(/assets/images/hatches/hatch-a55194.png)" - }, - "Electricity imports": { - low: "#8c564b", - range: "url(/assets/images/hatches/hatch-8c564b.png)" - }, - "Electricity Exports": { - low: "#2ca02c", - range: "url(/assets/images/hatches/hatch-2ca02c.png)" - }, - "Electricity grid distribution": { - low: "#1f77b4", - range: "url(/assets/images/hatches/hatch-1f77b4.png)" - }, - "Storage, demand shifting, backup": { - low: "#ff7f0e", - range: "url(/assets/images/hatches/hatch-ff7f0e.png)" - }, - "H2 Production": { - low: "#d62728", - range: "url(/assets/images/hatches/hatch-d62728.png)" - }, - "Domestic heating": { - low: "#7f7f7f", - range: "url(/assets/images/hatches/hatch-7f7f7f.png)" - }, - "Domestic insulation": { - low: "#EA8BCC", - range: "url(/assets/images/hatches/hatch-EA8BCC.png)" - }, - "Commercial heating and cooling": { - low: "#a55194", - range: "url(/assets/images/hatches/hatch-a55194.png)" - }, - "Domestic lighting, appliances, and cooking": { - low: "#8c564b", - range: "url(/assets/images/hatches/hatch-8c564b.png)" - }, - "Commercial lighting, appliances, and catering": { - low: "#2ca02c", - range: "url(/assets/images/hatches/hatch-2ca02c.png)" - }, - "Industrial processes": { - low: "#1f77b4", - range: "url(/assets/images/hatches/hatch-1f77b4.png)" - }, - "Conventional cars and buses": { - low: "#ff7f0e", - range: "url(/assets/images/hatches/hatch-ff7f0e.png)" - }, - "Hybrid cars and buses": { - low: "#d62728", - range: "url(/assets/images/hatches/hatch-d62728.png)" - }, - "Electric cars and buses": { - low: "#7f7f7f", - range: "url(/assets/images/hatches/hatch-7f7f7f.png)" - }, - "Fuel cell cars and buses": { - low: "#EA8BCC", - range: "url(/assets/images/hatches/hatch-EA8BCC.png)" - }, - "Bikes": { - low: "#a55194", - range: "url(/assets/images/hatches/hatch-a55194.png)" - }, - "Rail": { - low: "#8c564b", - range: "url(/assets/images/hatches/hatch-8c564b.png)" - }, - "Domestic aviation": { - low: "#2ca02c", - range: "url(/assets/images/hatches/hatch-2ca02c.png)" - }, - "Domestic freight": { - low: "#1f77b4", - range: "url(/assets/images/hatches/hatch-1f77b4.png)" - }, - "International aviation": { - low: "#ff7f0e", - range: "url(/assets/images/hatches/hatch-ff7f0e.png)" - }, - "International shipping (maritime bunkers)": { - low: "#d62728", - range: "url(/assets/images/hatches/hatch-d62728.png)" - }, - "Geosequestration": { - low: "#7f7f7f", - range: "url(/assets/images/hatches/hatch-7f7f7f.png)" - }, - "Petroleum refineries": { - low: "#8c564b", - range: "url(/assets/images/hatches/hatch-8c564b.png)" - }, - "Coal": { - low: "#2ca02c", - range: "url(/assets/images/hatches/hatch-2ca02c.png)" - }, - "Oil": { - low: "#1f77b4", - range: "url(/assets/images/hatches/hatch-1f77b4.png)" - }, - "Gas": { - low: "#ff7f0e", - range: "url(/assets/images/hatches/hatch-ff7f0e.png)" - }, - "Fossil fuel transfers": { - low: "#d62728", - range: "url(/assets/images/hatches/hatch-d62728.png)" - }, - "District heating effective demand": { - low: "#7f7f7f", - range: "url(/assets/images/hatches/hatch-7f7f7f.png)" - }, - "Power Carbon Capture": { - low: "#EA8BCC", - range: "url(/assets/images/hatches/hatch-EA8BCC.png)" - }, - "Industry Carbon Capture": { - low: "#a55194", - range: "url(/assets/images/hatches/hatch-a55194.png)" - }, - "Finance cost": { - low: "#8c564b", - range: "url(/assets/images/hatches/hatch-8c564b.png)" - } - }; - - function CostsComparedWithinSector() { - this.updateBar = __bind(this.updateBar, this); - this.ready = false; - } - - CostsComparedWithinSector.prototype.setup = function() { - var all_pathways, b, c, category, code, e, format, h, lb, tick, x, y, _i, _j, _k, _l, _len, _len1, _len2, _len3, _len4, _len5, _len6, _len7, _m, _n, _o, _p, _ref, _ref1, _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _results; - if (this.ready) { - return false; - } - this.ready = true; - $('#results').append(costsComparedWithinSectorHTML); - $('#message').addClass('warning'); - $('#sectorname').html(categories[twentyfifty.getSector()]); - twentyfifty.cost_override_in_place_warning(); - all_pathways = ["chosen"].concat(twentyfifty.comparator_pathways); - this.relevant_costs = twentyfifty.costs_in_category(categories[twentyfifty.getSector()]); - e = $('#costscomparedwithinsector'); - this.h = e.height(); - this.w = e.width(); - this.r = new Raphael('costscomparedwithinsector', this.w, this.h); - this.x = d3.scale.linear().domain([0, 3000]).range([250, this.w - 30]).nice(); - this.y = d3.scale.ordinal().domain(all_pathways).rangeRoundBands([25, this.h - 20], 0.25); - _ref = twentyfifty.comparator_pathways; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - code = _ref[_i]; - this.r.rect(this.x(0), this.y(code), this.x(3000) - this.x(0), this.y.rangeBand()).attr({ - 'fill': '#ddd', - 'stroke': 'none' - }); - } - this.r.rect(25, this.y("chosen"), this.x(3000) - 25, this.y.rangeBand()).attr({ - 'fill': '#FCFF9B', - 'stroke': 'none' - }); - this.r.text(30, this.y("chosen") + 9, "Your pathway").attr({ - 'text-anchor': 'start', - 'font-weight': 'bold' - }); - this.r.text(30, this.y("chosen") + 27, "").attr({ - 'text-anchor': 'start' - }); - _ref1 = twentyfifty.comparator_pathways; - for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) { - code = _ref1[_j]; - this.r.text(30, this.y(code) + 9, twentyfifty.pathwayName(code, code)).attr({ - 'text-anchor': 'start', - 'font-weight': 'bold', - href: twentyfifty.pathwayWikiPages(code) - }); - this.r.text(30, this.y(code) + 27, twentyfifty.pathwayDescriptions(code, "")).attr({ - 'text-anchor': 'start', - href: twentyfifty.pathwayWikiPages(code) - }); - } - this.boxes = {}; - this.boxes_by_category = {}; - _ref2 = this.relevant_costs; - for (_k = 0, _len2 = _ref2.length; _k < _len2; _k++) { - category = _ref2[_k]; - this.boxes_by_category[category] = { - boxes: this.r.set(), - labels: this.r.set(), - top_label: null, - top_label_box: null - }; - } - x = this.x(0); - h = this.y.rangeBand(); - _ref3 = ["chosen"].concat(twentyfifty.comparator_pathways); - for (_l = 0, _len3 = _ref3.length; _l < _len3; _l++) { - code = _ref3[_l]; - b = {}; - y = this.y(code); - _ref4 = this.relevant_costs; - for (_m = 0, _len4 = _ref4.length; _m < _len4; _m++) { - category = _ref4[_m]; - b[category] = { - low: this.r.rect(x, y, 0, h).attr({ - 'fill': cost_component_colors[category].low, - 'stroke': 'none' - }), - low_label: this.r.text(x, y + h / 2, "").attr({ - 'fill': '#000', - 'text-anchor': 'middle' - }), - range: this.r.rect(x, y, 0, h).attr({ - 'fill': cost_component_colors[category].range, - 'stroke': 'none' - }), - range_label: this.r.text(x, y + h / 2, "").attr({ - 'fill': '#000', - 'text-anchor': 'middle' - }) - }; - c = this.boxes_by_category[category]; - c.boxes.push(b[category].low, b[category].range); - c.labels.push(b[category].low_label, b[category].range_label); - } - this.boxes[code] = b; - } - this.r.text(this.x(0), this.h - 5, "The absolute cost to society of the whole energy system (mean undiscounted real pounds per person per year 2010-2050)").attr({ - 'text-anchor': 'start', - 'font-weight': 'bold', - 'fill': '#008000' - }); - this.r.path(["M", this.x(0), 40, "L", this.x(0), this.h - 28, "L", this.w - 30, this.h - 28]).attr({ - 'stroke': '#008000', - 'stroke-width': 2 - }); - format = this.x.tickFormat(10); - _ref5 = this.x.ticks(10); - for (_n = 0, _len5 = _ref5.length; _n < _len5; _n++) { - tick = _ref5[_n]; - this.r.text(this.x(tick), this.h - 20, format(tick)).attr({ - 'text-anchor': 'middle', - fill: '#008000' - }); - this.r.path(["M", this.x(tick), 40, "L", this.x(tick), this.h - 26]).attr({ - stroke: '#fff' - }); - } - _ref6 = this.relevant_costs; - for (_o = 0, _len6 = _ref6.length; _o < _len6; _o++) { - category = _ref6[_o]; - this.boxes_by_category[category].labels.hide(); - this.boxes_by_category[category].labels.toFront(); - this.hover(this.boxes_by_category[category].boxes, category); - this.hover(this.boxes_by_category[category].labels, category); - lb = this.boxes_by_category[category].top_label = this.r.text(this.x(0) + 100, h * 0.75 / 2, category).attr({ - 'text-anchor': 'middle', - 'font-weight': 'bold' - }).hide(); - this.boxes_by_category[category].top_label_box = this.r.rect(this.x(0), 0, lb.getBBox().width + 15, h * 0.75, 5).attr({ - 'fill': '#fff', - 'stroke': cost_component_colors[category].low - }).hide(); - lb.toFront(); - } - _ref7 = twentyfifty.comparator_pathways; - _results = []; - for (_p = 0, _len7 = _ref7.length; _p < _len7; _p++) { - code = _ref7[_p]; - _results.push(twentyfifty.loadSecondaryPathway(code, this.updateBar)); - } - return _results; - }; - - CostsComparedWithinSector.prototype.hover = function(boxes, category) { - var _this = this; - return boxes.hover((function() { - return _this.show(category); - }), (function() { - return _this.hide(category); - })); - }; - - CostsComparedWithinSector.prototype.show = function(category) { - var c, _i, _len, _ref, _results; - _ref = this.relevant_costs; - _results = []; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - c = _ref[_i]; - if (c === category) { - this.boxes_by_category[c].labels.show(); - this.boxes_by_category[c].top_label_box.show(); - _results.push(this.boxes_by_category[c].top_label.show()); - } else { - _results.push(this.boxes_by_category[c].boxes.attr({ - 'fill-opacity': 0.5 - })); - } - } - return _results; - }; - - CostsComparedWithinSector.prototype.hide = function(category) { - var c, _i, _len, _ref, _results; - _ref = this.relevant_costs; - _results = []; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - c = _ref[_i]; - if (c === category) { - this.boxes_by_category[c].labels.hide(); - this.boxes_by_category[c].top_label_box.hide(); - _results.push(this.boxes_by_category[c].top_label.hide()); - } else { - _results.push(this.boxes_by_category[c].boxes.attr({ - 'fill-opacity': 1.0 - })); - } - } - return _results; - }; - - CostsComparedWithinSector.prototype.teardown = function() { - $('#results').empty(); - $('#message').removeClass('warning'); - return this.ready = false; - }; - - CostsComparedWithinSector.prototype.updateResults = function(pathway) { - if (!this.ready) { - this.setup(); - } - return this.updateBar(pathway, 'chosen'); - }; - - CostsComparedWithinSector.prototype.updateBar = function(pathway, _id) { - var b, categorised_costs, category, cost, lb, low, range, _results, _x; - if (_id == null) { - _id = pathway._id; - } - if (this.boxes == null) { - this.setupComparisonChart(); - } - if (pathway.categorised_costs == null) { - twentyfifty.group_costs_of_pathway(pathway); - } - categorised_costs = pathway.categorised_costs[categories[twentyfifty.getSector()]]; - b = this.boxes[_id]; - _x = 0; - for (category in categorised_costs) { - if (!__hasProp.call(categorised_costs, category)) continue; - cost = categorised_costs[category]; - if (!(category === "high" || category === "low" || category === "range")) { - low = cost.low_adjusted; - if (_id === 'chosen') { - lb = this.boxes_by_category[category].top_label_box; - lb.attr({ - x: this.x(_x + low / 2) - (lb.attr('width') / 2) - }); - this.boxes_by_category[category].top_label.attr({ - x: this.x(_x + low / 2) - }); - } - if (low >= 0) { - b[category].low.attr({ - x: this.x(_x), - width: this.x(low) - this.x(0) - }); - if (Math.round(low) === 0) { - b[category].low_label.attr({ - x: this.x(_x + low / 2), - text: "" - }); - } else { - b[category].low_label.attr({ - x: this.x(_x + low / 2), - text: "" + (Math.round(low)) - }); - } - _x += low; - } else { - b[category].low.attr({ - x: this.x(0), - width: this.x(0) - this.x(0) - }); - b[category].low_label.attr({ - x: this.x(0), - text: "" - }); - } - } - } - _results = []; - for (category in categorised_costs) { - if (!__hasProp.call(categorised_costs, category)) continue; - cost = categorised_costs[category]; - if (!(category === "high" || category === "low" || category === "range")) { - range = cost.range_adjusted; - low = cost.low_adjusted; - if (low >= 0) { - b[category].range.attr({ - x: this.x(_x), - width: this.x(range) - this.x(0) - }); - if (Math.round(range) === 0) { - b[category].range_label.attr({ - x: this.x(_x + range / 2), - text: "" - }); - } else { - b[category].range_label.attr({ - x: this.x(_x + range / 2), - text: "" + (Math.round(range)) - }); - } - _results.push(_x += range); - } else { - b[category].range.attr({ - x: this.x(0), - width: this.x(0) - this.x(0) - }); - _results.push(b[category].range_label.attr({ - x: this.x(0), - text: "" - })); - } - } else { - _results.push(void 0); - } - } - return _results; - }; - - return CostsComparedWithinSector; - - })(); - - window.twentyfifty.views['costs_compared_within_sector'] = new CostsComparedWithinSector; - -}).call(this); -(function() { - var CostsSensitivity, - __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; - - CostsSensitivity = (function() { - var bottom_area_start, c_low_fill_color, c_range_fill_color, color, cost_component_names, cost_component_value, cost_component_values, cost_wiki_links, costsSensitivityHTML, direction, label_components, optional_arrow, p_low_fill_color, p_range_fill_color; - - costsSensitivityHTML = "
\n \n

The cost of your pathway compared with another, allowing simple variation in cost estimates.

\n " + window.costCaveatHTML + "\n
\n " + window.costEssentialNotesHTML + "\n
"; - - bottom_area_start = 219; - - cost_component_names = ["Conventional thermal plant", "Combustion + CCS", "Nuclear power", "Onshore wind", "Offshore wind", "Hydroelectric", "Wave and Tidal", "Geothermal", "Distributed solar PV", "Distributed solar thermal", "Micro wind", "Biomatter to fuel conversion", "Bioenergy imports", "Agriculture and land use", "Energy from waste", "Waste arising", "Marine algae", "Electricity imports", "Electricity Exports", "Electricity grid distribution", "Storage, demand shifting, backup", "H2 Production", "Domestic heating", "Domestic insulation", "Commercial heating and cooling", "Domestic lighting, appliances, and cooking", "Commercial lighting, appliances, and catering", "Industrial processes", "Conventional cars and buses", "Hybrid cars and buses", "Electric cars and buses", "Fuel cell cars and buses", "Bikes", "Rail", "Domestic aviation", "Domestic freight", "International aviation", "International shipping (maritime bunkers)", "Geosequestration", "Petroleum refineries", "Fossil fuel transfers", "District heating effective demand", "Storage of captured CO2", "Coal", "Oil", "Gas", "Finance cost"]; - - cost_wiki_links = { - "Fuel cell cars and buses": '/pages/63', - "Conventional cars and buses": '/pages/63', - "Hybrid cars and buses": '/pages/63', - "Gas": '/pages/13', - "Electric cars and buses": '/pages/63', - "Domestic insulation": '/pages/31', - "Wave and Tidal": '/pages/38', - "Finance cost": '/pages/28', - "Industrial processes": '/pages/24', - "Domestic heating": '/pages/31', - "Offshore wind": '/pages/6', - "Commercial heating and cooling": '/pages/44', - "Oil": '/pages/13', - "Conventional thermal plant": '/pages/42', - "Distributed solar PV": '/pages/40', - "Nuclear power": '/pages/7', - "Bioenergy imports": '/pages/3', - "Agriculture and land use": '/pages/19', - "Carbon Storage": '/pages/36', - "Fossil fuel transfers": '/pages/12', - "H2 Production": '/pages/43', - "Combustion + CCS": '/pages/8', - "Storage of captured CO2": '/pages/36', - "Biomatter to fuel conversion": '/pages/26', - "Electricity grid distribution": '/pages/11', - "Storage, demand shifting, backup": '/pages/10', - "Onshore wind": '/pages/5', - "Electricity Exports": '/pages/32', - "Energy from waste": '/pages/19', - "Waste arising": '/pages/27', - "Distributed solar thermal": '/pages/31', - "Domestic freight": '/pages/64', - "Coal": '/pages/13', - "Geothermal": '/pages/39', - "Micro wind": '/pages/56', - "District heating effective demand": '/pages/30', - "Commercial lighting, appliances, and catering": '/pages/23', - "Marine algae": '/pages/17', - "Rail": '/pages/63', - "Hydroelectric": '/pages/9', - "Domestic aviation": '/pages/63', - "Domestic lighting, appliances, and cooking": '/pages/46', - "Geosequestration": '/pages/29', - "Petroleum refineries": '/pages/25', - "International shipping (maritime bunkers)": '/pages/71', - "International aviation": '/pages/70', - "Bikes": '/pages/63', - "Electricity imports": '/pages/32' - }; - - cost_component_values = { - "Oil": { - cheap: "$75/bbl", - "default": "$130/bbl", - expensive: "$170/bbl" - }, - "Coal": { - cheap: "$80/tCoal", - "default": "$110/tCoal", - expensive: "$155/tCoal" - }, - "Gas": { - cheap: "45p/therm", - "default": "70p/therm", - expensive: "100p/therm" - }, - "Finance cost": { - cheap: "None", - "default": "7% real", - expensive: "10% real" - } - }; - - cost_component_value = function(name) { - return cost_component_values[name] || { - cheap: "Cheap", - "default": "Default", - expensive: "Today's cost" - }; - }; - - direction = function(value) { - if (value > 0) { - return "more expensive"; - } - return "cheaper"; - }; - - color = function(value) { - if (value > 0) { - return "#f00"; - } - return "#0f0"; - }; - - p_low_fill_color = '#1f77b4'; - - p_range_fill_color = 'url(/assets/images/hatches/hatch-1f77b4.png)'; - - c_low_fill_color = '#f00'; - - c_range_fill_color = 'url(/assets/images/hatches/hatch-f00.png)'; - - function CostsSensitivity() { - this.updateComparator = __bind(this.updateComparator, this); - this.updateResults = __bind(this.updateResults, this); - this.ready = false; - } - - CostsSensitivity.prototype.setup = function() { - if (this.ready) { - return false; - } - this.ready = true; - $("#results").append(costsSensitivityHTML); - $('#message').addClass('warning'); - this.drawChart(); - return this.switchComparator(twentyfifty.getComparator() || twentyfifty.default_comparator_code); - }; - - CostsSensitivity.prototype.teardown = function() { - $('#results').empty(); - $('#message').removeClass('warning'); - return this.ready = false; - }; - - CostsSensitivity.prototype.updateResults = function(pathway) { - this.pathway = pathway; - if (!this.ready) { - this.setup(); - } - if (this.pathway.total_cost_low_adjusted == null) { - twentyfifty.adjust_costs_of_pathway(this.pathway); - } - this.sortComponents(); - this.updateBar(this.top_pathway_chart, this.pathway.total_cost_low_adjusted, this.pathway.total_cost_range_adjusted); - return this.updateIncrement(); - }; - - CostsSensitivity.prototype.switchComparator = function(code) { - return twentyfifty.loadSecondaryPathway(code, this.updateComparator); - }; - - CostsSensitivity.prototype.updateComparator = function(comparator) { - this.comparator = comparator; - if (this.comparator.total_cost_low_adjusted == null) { - twentyfifty.adjust_costs_of_pathway(this.comparator); - } - this.updateBar(this.top_comparator_chart, this.comparator.total_cost_low_adjusted, this.comparator.total_cost_range_adjusted); - this.top_comparator_chart.name.attr({ - text: twentyfifty.pathwayName(this.comparator._id, this.comparator._id), - href: twentyfifty.pathwayWikiPages(this.comparator._id) - }); - this.top_comparator_chart.description.attr({ - text: twentyfifty.pathwayDescriptions(this.comparator._id, ""), - href: twentyfifty.pathwayWikiPages(this.comparator._id) - }); - this.key_label.attr({ - text: "The cost in '" + (twentyfifty.pathwayName(this.comparator._id, this.comparator._id)) + "'" - }); - if (this.pathway != null) { - this.updateIncrement(); - return this.updateComponents(false, true); - } - }; - - CostsSensitivity.prototype.updateToBarForNewCost = function() { - this.updateBar(this.top_pathway_chart, this.pathway.total_cost_low_adjusted, this.pathway.total_cost_range_adjusted); - this.updateBar(this.top_comparator_chart, this.comparator.total_cost_low_adjusted, this.comparator.total_cost_range_adjusted); - return this.updateIncrement(); - }; - - CostsSensitivity.prototype.updateIncrement = function() { - var average, c, i, i1, i2, max, min, p; - if (!((this.pathway != null) && (this.comparator != null))) { - return; - } - p = this.pathway; - c = this.comparator; - i = twentyfifty.calculateIncrementalCost(p, c); - min = Math.min(p.total_cost_low_adjusted, c.total_cost_low_adjusted); - max = Math.max(p.total_cost_high_adjusted, c.total_cost_high_adjusted); - average = (min + max) / 2; - i1 = i.tc - i.cc; - i2 = i.tt - i.ct; - if (i1 === i2) { - this.increment_arrows.low.hide(); - this.increment_arrows.high.hide(); - this.increment_arrows.range_message.hide(); - this.increment_arrows.low_value.hide(); - this.increment_arrows.high_value.hide(); - this.increment_arrows.single.attr({ - path: ["M", this.x(p.total_cost_low_adjusted - i1), this.top_y('i') + this.top_bar_height * 0.5, "L", this.x(p.total_cost_low_adjusted), this.top_y('i') + this.top_bar_height * 0.5], - stroke: color(i2), - fill: color(i2) - }); - this.increment_arrows.single_value.attr({ - x: this.x(max) + 3, - text: "£" + (Math.round(Math.abs(i1))) + "/person/year " + (direction(i1)) - }); - optional_arrow(this.increment_arrows.single, i1); - this.increment_arrows.single.show(); - return this.increment_arrows.single_value.show(); - } else { - this.increment_arrows.single.hide(); - this.increment_arrows.single_value.hide(); - this.increment_arrows.low.attr({ - path: ["M", this.x(average - i2 / 2), this.top_y('i') + this.top_bar_height * 0.25, "L", this.x(average + i2 / 2), this.top_y('i') + this.top_bar_height * 0.25], - stroke: color(i2), - fill: color(i2) - }); - this.increment_arrows.high.attr({ - path: ["M", this.x(average - i1 / 2), this.top_y('i') + this.top_bar_height * 0.75, "L", this.x(average + i1 / 2), this.top_y('i') + this.top_bar_height * 0.75], - stroke: color(i1), - fill: color(i1) - }); - this.increment_arrows.range_message.attr({ - x: this.x(min) - 3 - }); - this.increment_arrows.low_value.attr({ - x: this.x(max) + 3, - text: "£" + (Math.round(Math.abs(i2))) + "/person/year " + (direction(i2)) + " and" - }); - this.increment_arrows.high_value.attr({ - x: this.x(max) + 3, - text: "£" + (Math.round(Math.abs(i1))) + "/person/year " + (direction(i1)) - }); - optional_arrow(this.increment_arrows.low, i2); - optional_arrow(this.increment_arrows.high, i1); - this.increment_arrows.low.show(); - this.increment_arrows.high.show(); - this.increment_arrows.range_message.show(); - this.increment_arrows.low_value.show(); - return this.increment_arrows.high_value.show(); - } - }; - - optional_arrow = function(arrow, value) { - if (Math.abs(value) > 200) { - return arrow.attr({ - 'arrow-end': 'classic-narrow-short' - }); - } else { - return arrow.attr({ - 'arrow-end': 'none' - }); - } - }; - - label_components = { - labels: ['name', 'details', 'cheap', 'default', 'expensive', 'uncertain'], - boxes: ['details_box', 'cheap_box', 'default_box', 'expensive_box', 'uncertain_box'] - }; - - CostsSensitivity.prototype.sortComponents = function() { - var a, bar_offset, component, cy, ly, name, p, py, y, _i, _j, _k, _len, _len1, _len2, _ref, _ref1; - p = this.pathway.cost_components; - bar_offset = this.bar_offset; - cost_component_names.sort(function(a, b) { - return p[b].high_adjusted - p[a].high_adjusted; - }); - this.bottom_y = y = d3.scale.ordinal().domain(cost_component_names).rangeRoundBands([bottom_area_start, this.h], 0.25); - for (_i = 0, _len = cost_component_names.length; _i < _len; _i++) { - name = cost_component_names[_i]; - component = this.components[name]; - py = y(name); - cy = py + bar_offset; - ly = py + (y.rangeBand() / 2); - _ref = label_components.labels; - for (_j = 0, _len1 = _ref.length; _j < _len1; _j++) { - a = _ref[_j]; - component[a].attr({ - y: ly - }); - } - _ref1 = label_components.boxes; - for (_k = 0, _len2 = _ref1.length; _k < _len2; _k++) { - a = _ref1[_k]; - component[a].attr({ - y: py - }); - } - component.pathway.low.attr({ - y: py - }); - component.pathway.range.attr({ - y: py - }); - component.comparator.low.attr({ - y: cy - }); - component.comparator.range.attr({ - y: cy - }); - } - return this.updateComponents(); - }; - - CostsSensitivity.prototype.updateComponents = function(update_pathway, update_comparator) { - var name, _i, _len, _results; - if (update_pathway == null) { - update_pathway = true; - } - if (update_comparator == null) { - update_comparator = true; - } - if (!(this.pathway || this.comparator)) { - return; - } - _results = []; - for (_i = 0, _len = cost_component_names.length; _i < _len; _i++) { - name = cost_component_names[_i]; - _results.push(this.updateComponentNamed(name, update_pathway, update_comparator)); - } - return _results; - }; - - CostsSensitivity.prototype.updateComponentNamed = function(name, update_pathway, update_comparator) { - var a, c, chosen, component, cy, p, py, setting, _i, _len, _ref; - if (update_pathway == null) { - update_pathway = true; - } - if (update_comparator == null) { - update_comparator = true; - } - component = this.components[name]; - if (update_pathway && (this.pathway != null)) { - p = this.pathway.cost_components[name]; - py = this.bottom_y(name); - this.updateBar(component.pathway, p.low_adjusted, p.range_adjusted); - component.pathway.uncertainty.attr({ - path: ["M", this.x(p.low), py, "L", this.x(p.high), py] - }); - } - if (update_comparator && (this.comparator != null)) { - c = this.comparator.cost_components[name]; - cy = this.bottom_y(name) + this.bar_offset; - this.updateBar(component.comparator, c.low_adjusted, c.range_adjusted); - component.comparator.uncertainty.attr({ - path: ["M", this.x(c.low), cy, "L", this.x(c.high), cy] - }); - } - setting = $.jStorage.get(name); - _ref = ['details', 'cheap', 'default', 'expensive', 'uncertain', 'details_box', 'cheap_box', 'default_box', 'expensive_box', 'uncertain_box']; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - a = _ref[_i]; - component[a].attr({ - 'font-weight': 'normal' - }); - } - if ((setting == null) || setting === 'point') { - chosen = component["default"]; - } else if (setting === 'uncertain') { - chosen = component.uncertain; - } else if (setting === 0) { - chosen = component.cheap; - } else if (setting === 1) { - chosen = component.expensive; - } - return chosen.attr({ - 'font-weight': 'bold' - }); - }; - - CostsSensitivity.prototype.updateBar = function(bar, low, range) { - if (low < 0) { - bar.low.attr({ - x: this.x(low + range), - width: this.w(Math.abs(range)) - }); - } else { - bar.low.attr({ - width: this.w(low) - }); - } - if (range < 0) { - return bar.range.attr({ - x: this.x(low + range), - width: this.w(Math.abs(range)) - }); - } else { - return bar.range.attr({ - x: this.x(low), - width: this.w(range) - }); - } - }; - - CostsSensitivity.prototype.w = function(value) { - return this.x(value) - this.x(0); - }; - - CostsSensitivity.prototype.drawChart = function() { - var bar_height, bar_offset, box_attr, boxy, component, components, cy, e, format, h, increment, labels, ly, name, py, r, sensitivity_label_height, sensitivity_label_width, tick, url, w, x, y, _i, _j, _k, _len, _len1, _len2, _ref, - _this = this; - e = $('#costssensitivity'); - this.h = h = e.height(); - w = e.width(); - r = new Raphael('costssensitivity', w, h); - this.x = x = d3.scale.linear().domain([0, 10000]).range([250, w - 30]).nice(); - this.top_y = y = d3.scale.ordinal().domain(['p', 'i', 'c']).rangeRoundBands([30, 180], 0.15); - r.text(x(5000), 17, "The mean cost to society of the whole energy system in undiscounted real pounds per person 2010-2050").attr({ - 'text-anchor': 'center', - 'font-weight': 'bold' - }); - this.top_bar_height = bar_height = y.rangeBand(); - r.rect(25, y('p'), x(10000) - 25, bar_height).attr({ - 'fill': '#FCFF9B', - 'stroke': 'none' - }); - r.text(30, y("p") + 9, "Your pathway").attr({ - 'text-anchor': 'start', - 'font-weight': 'bold' - }); - r.text(30, y("p") + 27, "You can use the chart below to see how\nsensitive it is to different cost assumptions").attr({ - 'text-anchor': 'start' - }); - this.top_pathway_chart = { - low: r.rect(x(0), y('p'), 0, bar_height).attr({ - 'fill': p_low_fill_color, - 'stroke': 'none' - }), - range: r.rect(x(0), y('p'), 0, bar_height).attr({ - 'fill': p_range_fill_color, - 'stroke': 'none' - }) - }; - r.rect(x(0), y('c'), x(10000) - x(0), bar_height).attr({ - 'fill': '#ddd', - 'stroke': 'none' - }); - this.top_comparator_chart = { - name: r.text(30, y('c') + 9, "").attr({ - 'text-anchor': 'start', - 'font-weight': 'bold' - }), - description: r.text(30, y('c') + 27, "").attr({ - 'text-anchor': 'start' - }), - low: r.rect(x(0), y('c'), 0, bar_height).attr({ - 'fill': c_low_fill_color, - 'stroke': 'none' - }), - range: r.rect(x(0), y('c'), 0, bar_height).attr({ - 'fill': c_range_fill_color, - 'stroke': 'none' - }) - }; - r.setStart(); - this.increment_arrows = { - single: r.path(["M", 0, 0, "L", 0, 0]).attr({ - 'stroke-width': '15' - }), - single_value: r.text(0, y('i') + bar_height / 2, "").attr({ - 'text-anchor': 'start' - }), - range_message: r.text(0, y('i') + bar_height / 2, "Some costs are uncertain, therefore your pathway could be between").attr({ - 'text-anchor': 'end' - }), - low: r.path(["M", 0, 0, "L", 0, 0]).attr({ - 'stroke-width': '10' - }), - high: r.path(["M", 0, 0, "L", 0, 0]).attr({ - 'stroke-width': '10' - }), - low_value: r.text(0, y('i') + bar_height * 0.25, "").attr({ - 'text-anchor': 'start' - }), - high_value: r.text(0, y('i') + bar_height * 0.75, "").attr({ - 'text-anchor': 'start' - }) - }; - increment = r.setFinish(); - increment.hide(); - this.bottom_y = y = d3.scale.ordinal().domain(cost_component_names).rangeRoundBands([bottom_area_start, h], 0.25); - bar_height = (y.rangeBand() - 2) / 2; - this.bar_offset = bar_offset = ((y.rangeBand() - 2) / 2) + 2; - components = {}; - for (_i = 0, _len = cost_component_names.length; _i < _len; _i++) { - name = cost_component_names[_i]; - py = y(name); - r.rect(x(0), py, x(10000) - x(0), y.rangeBand()).attr({ - 'fill': '#ddd', - 'stroke': 'none' - }); - } - sensitivity_label_height = y.rangeBand(); - sensitivity_label_width = this.w(1000) - 2; - box_attr = { - fill: '#fff', - stroke: '#000', - 'fill-opacity': 0, - 'stroke-opacity': 0 - }; - for (_j = 0, _len1 = cost_component_names.length; _j < _len1; _j++) { - name = cost_component_names[_j]; - py = y(name); - cy = py + bar_offset; - ly = py + (y.rangeBand() / 2); - boxy = py; - component = {}; - url = "http://2050-calculator-tool-wiki.decc.gov.uk" + (cost_wiki_links[name] || "/"); - component.name = r.text(245, ly, name).attr({ - 'text-anchor': 'end', - href: url - }); - component.pathway = {}; - component.pathway.low = r.rect(x(0), py, 0, bar_height).attr({ - 'fill': p_low_fill_color, - 'stroke': 'none' - }); - component.pathway.range = r.rect(x(0), py, 0, bar_height).attr({ - 'fill': p_range_fill_color, - 'stroke': 'none' - }); - component.pathway.uncertainty = r.path(["M", 0, 0, "L", 0, 0]).attr({ - stroke: '#000', - 'arrow-end': "classic-narrow-long", - 'arrow-start': "classic-narrow-long" - }); - component.comparator = {}; - component.comparator.low = r.rect(x(0), cy, 0, bar_height).attr({ - 'fill': c_low_fill_color, - 'stroke': 'none' - }); - component.comparator.range = r.rect(x(0), cy, 0, bar_height).attr({ - 'fill': c_range_fill_color, - 'stroke': 'none' - }); - component.comparator.uncertainty = r.path(["M", 0, 0, "L", 0, 0]).attr({ - stroke: '#000', - 'arrow-end': "classic-narrow-long", - 'arrow-start': "classic-narrow-long" - }); - labels = cost_component_value(name); - component.details = r.text(x(5500), ly, "See assumptions").attr({ - 'text-anchor': 'middle', - href: url - }); - component.details_box = r.rect(x(5000), py, sensitivity_label_width, sensitivity_label_height).attr({ - fill: '#ccc', - opacity: 0, - cursor: 'pointer', - href: url - }); - component.cheap = r.text(x(6500), ly, labels.cheap).attr({ - 'text-anchor': 'middle' - }); - component.cheap_box = r.rect(x(6000) + 1, boxy, sensitivity_label_width, sensitivity_label_height).attr(box_attr); - component["default"] = r.text(x(7500), ly, labels["default"]).attr({ - 'text-anchor': 'middle' - }); - component.default_box = r.rect(x(7000) + 1, boxy, sensitivity_label_width, sensitivity_label_height).attr(box_attr); - component.expensive = r.text(x(8500), ly, labels.expensive).attr({ - 'text-anchor': 'middle' - }); - component.expensive_box = r.rect(x(8000) + 1, boxy, sensitivity_label_width, sensitivity_label_height).attr(box_attr); - component.uncertain = r.text(x(9500), ly, "Uncertain").attr({ - 'text-anchor': 'middle' - }); - component.uncertain_box = r.rect(x(9000) + 1, boxy, sensitivity_label_width, sensitivity_label_height).attr(box_attr); - this.clickToChangeCost(component.cheap_box, name, 0); - this.clickToChangeCost(component.default_box, name, "point"); - this.clickToChangeCost(component.expensive_box, name, 1); - this.clickToChangeCost(component.uncertain_box, name, "uncertain"); - components[name] = component; - } - this.components = components; - format = x.tickFormat(10); - _ref = x.ticks(10); - for (_k = 0, _len2 = _ref.length; _k < _len2; _k++) { - tick = _ref[_k]; - r.text(x(tick), 30, format(tick)).attr({ - 'text-anchor': 'middle' - }); - r.path(["M", x(tick), 40, "L", x(tick), h]).attr({ - stroke: '#fff' - }); - } - r.text(30, 205, "The biggest costs in your pathway").attr({ - 'text-anchor': 'start', - 'font-weight': 'bold' - }); - r.path(["M", 32, 212, "L", 32, 300]).attr({ - stroke: '#000', - 'arrow-end': "classic-wide-long" - }); - r.rect(250, 205, 30, bar_height).attr({ - 'fill': p_low_fill_color, - 'stroke': 'none' - }); - r.text(285, 208, "The cost in your pathway").attr({ - 'text-anchor': 'start', - 'font-weight': 'normal' - }); - r.rect(250, 215, 30, bar_height).attr({ - 'fill': c_low_fill_color, - 'stroke': 'none' - }); - this.key_label = r.text(285, 218, "The cost in your comparator").attr({ - 'text-anchor': 'start', - 'font-weight': 'normal' - }); - r.path(["M", 250, 228, "L", 280, 228]).attr({ - stroke: '#000', - 'arrow-end': "classic-wide-long", - 'arrow-start': 'classic-wide-short' - }); - r.text(285, 228, "The range of cost estimates").attr({ - 'text-anchor': 'start', - 'font-weight': 'normal' - }); - r.text(x(7500), 220, "Try different cost scenarios").attr({ - 'text-anchor': 'middle', - 'font-weight': 'bold' - }); - r.text(x(6500), 233, "Cheap"); - r.path(["M", x(7000), 233, "L", x(8000) - 2, 233]).attr({ - stroke: '#000', - 'arrow-end': "classic-wide-long" - }); - r.text(x(8500), 233, "Expensive"); - r.text(w - 30, 233, "(reset)").attr({ - 'text-anchor': 'end', - cursor: 'pointer' - }).click(function() { - var _l, _len3; - for (_l = 0, _len3 = cost_component_names.length; _l < _len3; _l++) { - name = cost_component_names[_l]; - jQuery.jStorage.set(name, 'point'); - } - twentyfifty.adjust_costs_of_pathway(_this.pathway); - twentyfifty.adjust_costs_of_pathway(_this.comparator); - _this.updateComponents(); - return _this.updateToBarForNewCost(); - }); - return increment.toFront(); - }; - - CostsSensitivity.prototype.clickToChangeCost = function(element, name, level) { - var _this = this; - element.click(function() { - jQuery.jStorage.set(name, level); - twentyfifty.adjust_costs_of_pathway(_this.pathway); - twentyfifty.adjust_costs_of_pathway(_this.comparator); - _this.updateComponentNamed(name); - return _this.updateToBarForNewCost(); - }); - element.hover((function() { - return this.attr({ - 'stroke-opacity': 1.0 - }); - }), (function() { - return this.attr({ - 'stroke-opacity': 0.0 - }); - })); - return element.attr({ - cursor: 'pointer' - }); - }; - - return CostsSensitivity; - - })(); - - window.twentyfifty.views['costs_sensitivity'] = new CostsSensitivity; - -}).call(this); -(function() { - var Story, - __slice = [].slice, - __hasProp = {}.hasOwnProperty; - - Story = (function() { - function Story() { - this.ready = false; - } - - Story.prototype.setup = function() { - $("#results").append("
"); - return this.ready = true; - }; - - Story.prototype.teardown = function() { - $("#results").empty(); - return this.ready = false; - }; - - Story.prototype.updateResults = function(pathway) { - var element; - this.pathway = pathway; - if (!this.ready) { - this.setup(); - } - this.choices = twentyfifty.choices; - element = $('#demand_story'); - element.empty(); - this.stories_for_choices(element, "Homes in 2050", 32, 33, 37, 38); - this.heating_choice_table(element, this.pathway.heating.residential); - this.stories_for_choices(element, "Personal transport in 2050", 25, 26, 27, 29); - this.stories_for_choices(element, "Businesses in 2050", 43, 47, 48); - this.heating_choice_table(element, this.pathway.heating.commercial); - this.stories_for_choices(element, "Industry in 2050", 40, 41); - this.stories_for_choices(element, "Commercial transport in 2050", 28, 29, 30); - element = $('#supply_story'); - element.empty(); - this.stories_for_choices(element, "Thermal power stations in 2050", 0, 2, 3, 9, 12); - this.stories_for_choices(element, "Wind in 2050", 4, 5, 14); - this.stories_for_choices(element, "Water: wave, tide and hydro in 2050", 6, 7, 8, 13); - this.stories_for_choices(element, "Solar in 2050", 10, 11, 15); - this.stories_for_choices(element, "Bioenergy, farming and waste in 2050", 22, 17, 18, 19, 20, 21); - element = $('#ghg_story'); - element.empty(); - this.electricity_generation_capacity_table(element); - element.append("

Greenhouse gases

"); - element.append("

2050 emissions will be " + this.pathway.ghg.percent_reduction_from_1990 + "% below 1990 levels.

"); - element.append("

International aviation and shipping emissions are not included in the UK's 2050 target but are included here to enable emissions from all sectors to be considered.

"); - this.stories_for_choices(element, null, 50); - element.append("

Energy security

"); - this.stories_for_choices(element, null, 51); - element.append("

If there are five cold, almost windless, winter days, then up to " + (Math.round(this.pathway.electricity.peaking)) + " GW of backup generation capacity will be required to ensure that electricity is always available.

"); - return this.stories_for_choices(element, null, 22, 15); - }; - - Story.prototype.stories_for_choices = function() { - var choice, element, row, rows, text, title, _i, _len; - element = arguments[0], title = arguments[1], rows = 3 <= arguments.length ? __slice.call(arguments, 2) : []; - if (title != null) { - element.append("

" + title + "

"); - } - text = []; - for (_i = 0, _len = rows.length; _i < _len; _i++) { - row = rows[_i]; - choice = choices[row] - 1; - if (choice % 1 === 0.0) { - text.push(window.twentyfifty.longDescriptions[row][choice]); - } else { - text.push("Between " + window.twentyfifty.longDescriptions[row][Math.floor(choice)] + " and " + window.twentyfifty.longDescriptions[row][Math.ceil(choice)]); - } - } - return element.append("

" + (text.join(". ")) + ".

"); - }; - - Story.prototype.heating_choice_table = function(element, heat) { - var html, name, value, values, _i, _len; - html = []; - html.push(""); - html.push(""); - values = []; - for (name in heat) { - if (!__hasProp.call(heat, name)) continue; - value = heat[name]; - values.push({ - name: name, - value: value - }); - } - values.sort(function(a, b) { - return a.value - b.value; - }); - for (_i = 0, _len = values.length; _i < _len; _i++) { - value = values[_i]; - if (value.value > 0.01) { - html.push(""); - } - } - html.push("
Type of heater2050 proportion of heating
" + value.name + "" + (Math.round(value.value * 100)) + "%
"); - return element.append(html.join('')); - }; - - Story.prototype.electricity_generation_capacity_table = function(element) { - var data, html, name, value, values, _i, _len, _ref; - html = []; - html.push(""); - html.push(""); - values = []; - _ref = this.pathway.electricity.capacity; - for (name in _ref) { - if (!__hasProp.call(_ref, name)) continue; - data = _ref[name]; - values.push({ - name: name, - d2010: data[0], - d2050: data[8] - }); - } - values.sort(function(a, b) { - return a.d2050 - b.d2050; - }); - for (_i = 0, _len = values.length; _i < _len; _i++) { - value = values[_i]; - if ((value.d2010 + value.d2050) !== 0.0) { - html.push(""); - } - } - html.push("
GW Capacity20102050
" + value.name + "" + (Math.round(value.d2010)) + "" + (Math.round(value.d2050)) + "
"); - return element.append(html.join('')); - }; - - return Story; - - })(); - - window.twentyfifty.views['story'] = new Story; - -}).call(this); -(function() { - var FilledBoxChart, SimpleSankeyDisplay, VectorChart, - __hasProp = {}.hasOwnProperty, - __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; - - FilledBoxChart = function(r, px, py, h, w, maximum_value, square_size, titles) { - var box, boxes, cols, gx, gy, i, inverse_x, label, labels, path, row_size, rows, setValues, title, x, y, _i, _j, _k, _len, _x, _x_end, _x_origin, _y; - rows = cols = Math.ceil(Math.sqrt(maximum_value / square_size)); - row_size = cols * square_size; - x = d3.scale.linear().domain([0, row_size]).range([px, px + w]); - inverse_x = d3.scale.linear().domain([0, row_size]).range([px + w, px]); - y = d3.scale.linear().domain([0, maximum_value]).range([h + py, py]); - _x = function(value) { - if (Math.floor(value / row_size) % 2 === 0) { - return x(value % row_size); - } else { - return inverse_x(value % row_size); - } - }; - _y = function(value) { - return y(Math.floor(value / row_size) * row_size); - }; - _x_origin = function(value) { - if (Math.floor(value / row_size) % 2 === 0) { - return x(0); - } else { - return inverse_x(0); - } - }; - _x_end = function(value) { - if (Math.floor(value / row_size) % 2 === 0) { - return x(row_size); - } else { - return inverse_x(row_size); - } - }; - path = function(start, end) { - var p; - if (_y(end) === _y(start)) { - return p = ["M", _x(start), _y(start), "L", _x(end), _y(end), "L", _x(end), _y(end + row_size), "L", _x(start), _y(end + row_size), "Z"]; - } else if (_y(end) === _y(start + row_size)) { - return p = ["M", _x(start), _y(start), "L", _x_end(start), _y(start), "L", _x_end(start), _y(end + row_size), "L", _x(end), _y(end + row_size), "L", _x(end), _y(end), "L", _x(start), _y(end), "Z"]; - } else if ((Math.floor(start / row_size) % 2) !== (Math.floor(end / row_size) % 2)) { - return p = ["M", _x(start), _y(start), "L", _x_end(start), _y(start), "L", _x_end(start), _y(end + row_size), "L", _x(end), _y(end + row_size), "L", _x(end), _y(end), "L", _x_end(end), _y(end), "L", _x_end(end), _y(start + row_size), "L", _x(start), _y(start + row_size), "L", _x(start), _y(start), "Z"]; - } else { - return p = ["M", _x(start), _y(start), "L", _x_end(start), _y(start), "L", _x_end(start), _y(end), "L", _x(end), _y(end), "L", _x(end), _y(end + row_size), "L", _x_origin(end), _y(end + row_size), "L", _x_origin(end), _y(start + row_size), "L", _x(start), _y(start + row_size), "L", _x(start), _y(start), "Z"]; - } - }; - for (gy = _i = 0; row_size > 0 ? _i <= maximum_value : _i >= maximum_value; gy = _i += row_size) { - r.path(["M", x(0), y(gy), "L", x(row_size), y(gy)]).attr({ - stroke: '#ccc' - }); - for (gx = _j = 0; square_size > 0 ? _j <= row_size : _j >= row_size; gx = _j += square_size) { - r.path(["M", x(gx), y(0), "L", x(gx), y(maximum_value)]).attr({ - stroke: '#ccc' - }); - } - } - boxes = {}; - labels = {}; - label = function(name, start, value) { - var l; - l = r.text(_x(start + value / 2), _y(start + value / 2), name); - l.hide(); - return l; - }; - box = function(name, start, value, color) { - var b; - if (color == null) { - color = "#0f0"; - } - b = r.path(path(start, start + value)).attr({ - 'stroke': '#000', - fill: color, - 'fill-opacity': 0.5, - 'stroke-width': '1' - }); - return b.hover(function() { - labels[name].show(); - return this.attr({ - 'fill-opacity': 0.75 - }); - }, function() { - labels[name].hide(); - return this.attr({ - 'fill-opacity': 0.5 - }); - }); - }; - for (i = _k = 0, _len = titles.length; _k < _len; i = ++_k) { - title = titles[i]; - boxes[title] = box(title, 0, 0, "#" + i + i + i); - labels[title] = label(title, 0, 0); - } - setValues = function(values) { - var name, sum, value, _results; - sum = 0; - _results = []; - for (name in values) { - if (!__hasProp.call(values, name)) continue; - value = values[name]; - boxes[name].attr({ - path: path(sum, sum + value) - }); - labels[name].attr({ - x: (_x(sum) + _x(sum + value)) / 2, - y: (_y(sum) + _y(sum + value)) / 2 - }); - _results.push(sum += value); - } - return _results; - }; - return { - box: box, - setValues: setValues - }; - }; - - VectorChart = function(r, px, py, h, w, maximum_value, square_size, titles) { - var box, boxes, cols, gx, gy, i, label, labels, row_size, rows, setValues, spacing, title, x, y, _i, _j, _k, _len; - rows = cols = Math.ceil(Math.sqrt(maximum_value / square_size)); - row_size = cols * square_size; - spacing = row_size * 0.1; - x = d3.scale.linear().domain([0, row_size]).range([px, px + w]); - y = d3.scale.linear().domain([0, maximum_value]).range([h + py, py]); - for (gy = _i = 0; row_size > 0 ? _i <= maximum_value : _i >= maximum_value; gy = _i += row_size) { - r.path(["M", x(0), y(gy), "L", x(row_size), y(gy)]).attr({ - stroke: '#ccc' - }); - for (gx = _j = 0; square_size > 0 ? _j <= row_size : _j >= row_size; gx = _j += square_size) { - r.path(["M", x(gx), y(0), "L", x(gx), y(maximum_value)]).attr({ - stroke: '#ccc' - }); - } - } - boxes = {}; - labels = {}; - label = function(name, start, value) { - var l; - l = r.text(x(row_size / 2), y(start + value / 2), name); - l.hide(); - return l; - }; - box = function(name, start, value, color) { - var b; - if (color == null) { - color = "#0f0"; - } - if (name === "Oil") { - b = r.path(["M", x(0), y(start + value / 2), "L", x(row_size), y(start + value / 2)]).attr({ - "stroke": '#F00', - 'stroke-width': y(start) - y(start + value) - }); - } else { - b = r.rect(x(0), y(start), x(row_size) - x(0), y(start + value) - y(start)).attr({ - 'stroke': '#000', - fill: color, - 'fill-opacity': 0.5, - 'stroke-width': '1' - }); - } - return b.hover(function() { - labels[name].show(); - return this.attr({ - 'fill-opacity': 0.75 - }); - }, function() { - labels[name].hide(); - return this.attr({ - 'fill-opacity': 0.5 - }); - }); - }; - for (i = _k = 0, _len = titles.length; _k < _len; i = ++_k) { - title = titles[i]; - boxes[title] = box(title, 0, 0, "#" + i + i + i); - labels[title] = label(title, 0, 0); - } - setValues = function(values) { - var name, sum, value, _results; - sum = 0; - _results = []; - for (name in values) { - if (!__hasProp.call(values, name)) continue; - value = values[name]; - boxes[name].attr({ - y: y(sum + value), - height: y(sum) - y(sum + value) - }); - labels[name].attr({ - x: x(sum + (value / 2)), - y: y(sum + value / 2) - }); - if (value > 0) { - _results.push(sum += value + spacing); - } else { - _results.push(void 0); - } - } - return _results; - }; - return { - box: box, - setValues: setValues - }; - }; - - SimpleSankeyDisplay = (function() { - var demand_titles, supply_titles, vector_titles; - - supply_titles = ["Nuclear fission", "Solar", "Wind", "Tidal", "Wave", "Geothermal", "Hydro", "Electricity oversupply (imports)", "Environmental heat", "Bioenergy", "Coal", "Oil", "Natural gas"]; - - demand_titles = ['Industry', 'Transport', 'Heating and cooling', 'Lighting & appliances']; - - vector_titles = ["Electricity", "Gas or biogas", "Coal or biomass", "Oil or biofuel", "Hydrogen", "Heat", "Overgeneration or exports", "Losses"]; - - function SimpleSankeyDisplay() { - this.documentReady = __bind(this.documentReady, this); - } - - SimpleSankeyDisplay.prototype.documentReady = function() { - var width; - if (this.drawn != null) { - return false; - } - this.drawn = true; - this.raphael = new Raphael('simplesankey'); - width = $('#simplesankey').width(); - this.supply = new FilledBoxChart(this.raphael, 30, 10, 300, 300, 3500, 10, supply_titles); - this.demand = new FilledBoxChart(this.raphael, 635, 10, 300, 300, 3500, 10, demand_titles); - this.vectors = new VectorChart(this.raphael, 335, 10, 300, 300, 3500, 10, supply_titles); - this.raphael.path(["M", 332, 10, "L", 332, 310]).attr({ - 'stroke-width': '5' - }); - return this.raphael.path(["M", 635, 10, "L", 635, 310]).attr({ - 'stroke-width': '5' - }); - }; - - SimpleSankeyDisplay.prototype.updateResults = function(pathway) { - var new_values, title, _i, _j, _len, _len1; - new_values = {}; - for (_i = 0, _len = supply_titles.length; _i < _len; _i++) { - title = supply_titles[_i]; - new_values[title] = pathway.primary_energy_supply[title][8]; - } - this.supply.setValues(new_values); - this.vectors.setValues(new_values); - new_values = {}; - for (_j = 0, _len1 = demand_titles.length; _j < _len1; _j++) { - title = demand_titles[_j]; - new_values[title] = pathway.final_energy_demand[title][8]; - } - return this.demand.setValues(new_values); - }; - - return SimpleSankeyDisplay; - - })(); - - window.twentyfifty.SimpleSankeyDisplay = SimpleSankeyDisplay; - -}).call(this); -(function() { - var Share, loadFromExcel, shareHTML; - - shareHTML = "
\n
\n

Sharing this pathway with others

\n

\n If you want to save or share your pathway, bookmark this page, or take note of its url*:\n \n

\n

\n To share, just send someone the url, or click this share button:\n \n \"Bookmark\n \n \n \n

\n

* On modern browsers, this url is the same as the one you will see in the address bar as you use the calculator. On older browsers, such as Internet Explorer 6 and 7, it will not be.

\n
\n
\n

Sharing this pathway with the excel version of the 2050 pathways calculator

\n

\n You may want to explore your pathway in more detail, taking a look at all the assumptions behind our modelling, by downloading\n the underlying excel spreadsheet.\n

\n

\n If you do, then you can recreate the pathway you have chosen in this tool by copying the numbers from the box below and pasting them in cells E5 to E57 on the 'Control' sheet of the workbook. You can also copy a pathway from that range in the excel model, paste it in the box below and click the 'Go to this pathway' button at the bottom of the page.\n

\n \n \n
\n

\n
\n
"; - - Share = (function() { - function Share() { - this.ready = false; - } - - Share.prototype.setup = function() { - if (this.ready) { - return false; - } - this.ready = true; - return $('#results').append(shareHTML); - }; - - Share.prototype.teardown = function() { - $('#results').empty(); - return this.ready = false; - }; - - Share.prototype.updateResults = function(pathway) { - var url; - this.pathway = pathway; - if (!this.ready) { - this.setup(); - } - url = "http://" + window.location.host + (twentyfifty.url({ - action: 'primary_energy_chart' - })); - $('#share a#pathwayurl').text(url); - $('#share a#pathwayurl').attr({ - href: url - }); - return $('#excel textarea').val(twentyfifty.getChoices().join("\n")); - }; - - return Share; - - })(); - - loadFromExcel = function() { - var c, pasted_choices; - pasted_choices = $('#excel textarea').val().split(/\r\n|\r|\n/); - pasted_choices = (function() { - var _i, _len, _results; - _results = []; - for (_i = 0, _len = pasted_choices.length; _i < _len; _i++) { - c = pasted_choices[_i]; - if (c === "") { - _results.push("0"); - } else { - _results.push(c); - } - } - return _results; - })(); - twentyfifty.setChoices(pasted_choices); - twentyfifty.switchView('primary_energy_chart'); - return false; - }; - - window.twentyfifty.loadFromExcel = loadFromExcel; - - window.twentyfifty.views['share'] = new Share; - -}).call(this); -// This is a manifest file that'll be compiled into including all the files listed below. -// Add new JavaScript/Coffee code in separate files in this directory and they'll automatically -// be included in the compiled file accessible from http://example.com/assets/application.js -// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the -// the compiled file. -// - -// First the support libs - - -// we aren't using this: require jquery_ujs - - - - - - - -// Now the common methods - - - - - -// Now the individual views - - - - - - - - - - - - - - -; diff --git a/public/assets/application-6822710c96eb4cb06a5155b4179c91fe.js.gz b/public/assets/application-6822710c96eb4cb06a5155b4179c91fe.js.gz deleted file mode 100644 index 746ccdd15d7302fd09f436c679c0948462029956..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160215 zcmV(qK<~dFiwFSJsCrTY1H8R?d*eouC;b0@3K3l+1H}|2mF?MSP$+J>j<&mfwX3>q zH%0q_NKk@{1ZW&m$s*^ozwwL6Oe8>1cF(@g`Ves>@{Ej(J5HYtj(+)jofP*+x96k( z8hw29%dfZ_&GYrq*4*U9_30{|Cs~;sJw5$j|I1(2*}O{g%uiGmJea$qpZz3wxQ&aW zD*9@g%%X?gxJatH$c}DDNj$&tlTo=@rImjlD5r`nc&Mh?EE=5c0#)s7b)Vy%DuRb} z=@(HHRmaE4D9abgyZcQ-_vg}B8hMMjich>@HY$?MDxN3)x5_(ta_$AAD*rOSONy6q znfSrDh?3EDQoX3EBE71s#7~1URbEkj`SOU`@Jf1dA1XCdD$ z<5h{4tjjE)q{34j#jy7>oCVzeV&DV4r7Q1;|(Oi_l z!|ry3p6g-m5~`RwQSJ1k70pz9W@mQ1%nQFdO0%PcC#FItP>Xkbd^<|Z*XvDn|IO7e z$-MHDX*COid7f2iRwq2t0mhS~FJ2(c49<0XH2t={r1FCY``$jToX1Y-x<4Ry@ksl=y`aQn8Nmq%VxNAPZnj4Txnva+KF~d<*ZMSC_ zDdyshfw3wGEFfMJj8Jh0{t5#}gF!W#$Ey{dsl>LFQeU&3K#J|l?^I|y39xlO7eK3A zKtt0-)Kg7UNo&%irnD0Ha!0mIS5-p5L7g9D!MKXtN5Sq7b(p3tdr=heJuk=e=uA4_ z%=M~jHu=2L``O!ify!ue&5IUekiVDdKDV`rPGAzkR(*@Gy`Cu12dQyRL46 z&TD$H$v1vrS0QWq@TCS8J3q9i^=IX0_wVBCuj4h<98AwI#_>;ORm@Y~T%T)yJHYZhRPIiY>5QdQE-|13K@P`SOSR2ir`Do4pJ zdWt!z3F4DgQYA+@)tD_-iOThBU{CDz412u}a9KoWDvfHwm3q>~#YH+UhQr`iJ{rY~ z1vQf?l$jQ@V3#w7IX?E~g8GttsAx9)hn~)}S zM`gX)>pk^?&{o5Qh>SchUaVH#D!T9G z^XaVV-p|~<&dSkPlkU>l1#`yscLx{9*=xor+n(1O;P0P-=J*F;91X%lT0+oH{&}G2 zY^VMESA+8O5tp8v;NbdeHBDzj*>&wEdgy__bTA-}y@cR?Ueb5QeXlI1T64P-Yqj7nWk4wTm4}|!qBT4GbQnDg7!j@G z;yTT+*5xoVFq{paU_+<@^+y#GpG%s`QS>BYvii*`C))892J3C;_ybWTp9TR2qq0G} ziJtFt=jF4Z_dWMmJ}3B~PW_RVq#^S{2J>&VWR|6L=nc0x}*fN60Noo%orI;SEaOK0{9Op(QdLj#A~tzY)R zo=SrufVY{+j0tM$-S-u7rlwZF?_xj?aXcP@e0qK% ze=!c48kC!_a%QKi=<{lSe4lrzYQnQLe*`|2i)8i8$Q+uPv0MtTOq3~y>R)z|k74tK zUm@CEOBt$$wV|Cr_;|Z5Gkxp_lY(kVgAlb1y{R`eOj+tsnpH^4H}qy65%bKN2V-W= z8Kq+f;Tvkvp-!1VPjPTpfvr2`Iv9_k8mXkEa0w>>x+0?)A3bA`LxD~fBMtq@YHN&h5cJZ z1?}J~>IzXabUZx8GSXpJ%=piCOOyf~OcNr_%A0gq(U#oQ<&8I^Mt04B-)AE6kd6lr zWmMwa!}$tMqa?PC#*=Ti;8Adv56*a`H4OtNt6I{CR#7~O^_XZ|%p)+zZ!z1CAveVwT|3r9Z+$Md{ReM=sVpR>Cq6gMsw+OzNXGww5?ks z&LW@E#1Q%5w+hoU6j!yw#%kf0T}8sz@h|a*w@F3B!gV=XuHxz&<^)Pi29K=(h-E=W z^F3gZnD3W#JxRipuwhDEV-R3LP=GK5fK{U!IuQW*4uhK+0UK{8EQaDaHdvyhnNFIC zpgB)yzm^;7Px2;BR*RCmRH93(fPV@A=yXM^G>Z!Q8)zbTNsEfzLLjpo$#epCWCR35 zqjkDwJ`<2Y{J?j*na`7$@Skr``w5oL6V#Umw(&Ti`0gWzFl7q1M)SA><` z@2Dg?gT4lNgiGF*54JK9I1ZLtdO$7TCI#`9<+L1nN8S)GX2C-qmAb~7CZ5=OVzvRa zHCo8c36s+z;e+GjrYkueZqwXhO}@!GBsXtpXXZ5v0r<mMg zLzZ9@uAXLad2*u8XcHJ<*kQ3UE{)+3ZcnCObyMVbr8f(z2%m!y_Vmu49e0Jj2jfV?eQ{AhYn5>qk6Iu>-|8c8l{)VtA@WB#p8TI(9Y z<^GWAYH7FKj$S28TFYcXCu+R9i|87n=*7| ziPZCaQ#sG*w0S5u$vll$uj7)AvykA2rd#DjN~~DC`j+Y-)RHD;SlNgAvI60iiMg3&Mt~^=B`;LYu4yDs>%MEC}NC4JjQNqJyq3BTJ8u0 zR|F%xJmbG-{;GF)f!QxP?-ye2e#q>GSrU<8J`-Nga&d+>r`@|$D~MSgGSW1JWeafH zHMeFbF7e6o!>FQFEqn_pv3iKJbR8}gA+I_K^{0HJ1mK9KQ9P_`nvv49W$wYmWQlo- zYcuS5zTRMm2BT%1u1pDBH@jJ$$(<|l>pPPhfjlU7$SR0MTk&z30V!2<^w3UCXf;*C znUsM(iO$VSK9xi?fn%E~=u&BHf&!v8AcphvJbw@Rjt}qSV^74c9`%3;=UmHSsg36I zV%GGt45Yh6qUeUHYpiWewZaj7rt`;#ViA+B&UxF7mFnG9ED7I zL;TkJ?~8cDoglvEM(^Hc1)Lh1nnA`nljFWQci;TzzIir-n8cEr6}C*Jchf&Ik%yLn zJ;!&H7r7gMzr+JX$-PHf_?nQ3e8t zCa2=@Y$t`WL5kB^VaDN{8EqctGq31o@ z6WnSM%&Sgsh$3!m4Hm(zY<5Ns3kc|TdSZzSDd;4D7BY?2n89UqGjdL2Kc$}5bijl} z4KC<6!VPA?)QDr0wVYt2P(YJM>Y9eU9MK_RpXlExZ6u-FE#K(P20?S+N*jK(Vk5|c z9OC!K3@1pHgQcX6kycJQM~vP+2cicpfJ=5D8OIeJ@#kSjtW9)W7K!+}m>SvhFat;2 zNRH_?v1dJmD|8UW^R&7rvX%!HB}5H6vf#oI6X9?XsUAdHN!Y?Yf1WhzzBIXO3^3%2 zaB#kBlsicy0W6{5$>%~?f&a|n+w?lF@`5PgWF&S%EFXA6Ys_bxGlSRxM16E0Gv`Vu zy!)KGl6?4PNvDbM9?q*Of6G!CI%4+T-NfZLcbTRg@9F4~qVCs4x>mPQ+eFD(b|OJC zXSo9$U8mE_li_UQPr}Q^)63B|xLgeBW}3X7$s4-g2B)JkuL~N@b#!|9_Eg=|PdPkQ zSJCND)64R*e)Iaxo68R`&St}H=l;p*wYsBXsPv~lUCf^P7t_nT%kO8y=fU)+=d-6z zwtw>RQpK7etdhC0zzWM5(q z-1|WgrgHffjJD{Mghs?knbN+gh$H1%eJ{_rDD&j=n>f2ps6Mx{o%#l58UQK6@)ic8 z2Ra!_nm{O{!&?Pt3tfXZ!;@&jibW!gzL%&gJW2L!jqpZfa~~=u!XQ*jnDp0YPIRu! z=SFqz+8QN|mKsC9@L(089~tHD$vMA!&hO;W^XTJA8BGBO#2w&g7M9VSoS%sZY@qO> zlX$xw5WD@LML4G8Sp+JS<}sV2Pq&kddQMDU9A(h`nsH9DwqBa(k}y?Cq%G)RiNVzp zDN3i4dM$E3Zb*#ZzFoy>rezsW1@p|rRaF=kB;yZn#R|n|I+psMN2z0j@Y($rL{Ag# z5NM)1cg#+BX!$5z5b4fk40A-JAd%rz+5T!^mGWKR8m6*#rM6qpYiaE9GRQ*31akt- zY!R47LQ{(YG8(OUw{wn&H;pmbq|i`HU&9VlH>qXFoo?7m)#`3yu6PRL_ldO>qf*!n z=CjcAlyp4w*sRo3R#IQ4za^owyWM$_LOWIETysycm8>K;xKp%fVV}XA@DUTPQ`bcl zQgU&|kETvr!(_&jIZb9eg(Hmc!u-9vSsjU#3pcIV4;*X3g783cD?limQqkJ8=0>qH z7mMc6+Ss{ot;DdsFca^{W6e|+3dL~XD{tft39b4>WDLE)0~w(pXbXD}MI(gc%>d1m zVnFGeSdICtJV0zD8!;TR9IgyC=u@R`QqQUvt(Y{^f`6`LoE@Ktd zt%}Y~Mb8?2-N0&F*?`Z%Z&1AXHI!e}Y!or8B%AN#B-Zk-_+mMZMLz5&PD}AD7>Ff9 zTe<@qN>*=X%rDlgkFYG?>i9TilZN)GlLoL!h#KKf8U(?_FX=xTJ5kkzoK*6%Ahb+N z5`^}-TNl5jIY37m!_5`VcnUg3qwZP@bBw5Wry99zmJ>C!q~)$!@<|JKPiRcHYyAdHY0lkdB_8s$^B%u98BLlWT+dJNpj~%_jmI23q zGriH&R{)bTy@AmK2iCig051YN(m`Wo0bbTnizwl6!PcE&3?&!S&kkxNgt0M1pyxdI z0_TnUL4y>PM_n~H-z>eRC9N9E99Ib@6dH+>Ll!{Sz1`YQ6bvhlw?=CU_FO&e;H>wB zRx!F?vEq`M+}C)=3uP(iewt?7cx@Plp)ocQw-(oH!9mz!hC?ATI%~-D>5M9+`I_G(FcBkkGKVEMJzMH;gV4Dq zMuw^dkxsOz896*%TDVUeVD4MiSYCy?!M+n>A07xRhI)V<@hjX&V6kZPOc#HveKV{( z(mUn-AHo#o_G{(MoZAnIXgUK`K9P?<0HatK5uwHp$P>XLK z(=1bcph`z^d7sUVOBLM{vRTk;*d#SxQjJHHKPZU5EUd&z!xnKy2TaIamAnz&GppE{ zMNAq^V#btmmb>b_fDYj6Relw(UQ^i?DA93wZM<;!tOWGGWvhAzbyr}!6Z+OFq>09Z z8G*9Oqh3U6!Q-X!*5!!(o*s(tSYV5IhweKx^04{F(f!xTkO zT8GgTo#BHxw^*aNgv~27v7NAF6zvbr12M#4Rg~3cw+olUVQ=yNCS;b;LaOldyUpki z${7)}(wO^6<8G#a5W)qW7Yq5uyR4VVa(P*woyBKfFnQ!S^t^CkPQhLHctO|>I;(vJ z>;P6nv)i5ZHgf3-h7#lMneRg`rH@f%mQI?|W~v$s=sQc2==&nMPCjhB&QUvA%2?ne z7aDAh8{R+Kf$YF}1IZLa$J`*ExnX}`3^%5c7zoQEIuwX!cdgWEkA_)SiH>Dt{m$_* zt2T+yu~h)Dph@~gNPr*hP1Y!g+Q3i{D zhAy#p!#xOe=RN({^)V|!AWG^|hwqv%*hz&|XFx`G5nd~F%+Gx>?`TBcHC^|U90U{Tu$ zy@o$?^Mgso?{G+95LU!JvlUrqxeeDYgNtc_wIx5X=WIyp=r0Sq%!Om>%s6)?wvx9a zX@u)usbadCsdHvg$7OVG5jAtG!9yI?V)NOWp_I6Gz|O>vVe%by_ky09SmxoDeFo_e z4K4D91~C&JUX1Ytv{o1M@rpnT5JKH5R6I!yx~KbmfZw(9iDLncmZu z1pAK;Yf6%yvLMSmGYXUvi`f*S_21Q&B;8W2+5+uAr`b065VPNdCgzMmNZO_O94C5K zAuMttymAz^3e((|*=+;}Z2s7krGX{O%33%keHM+m`t&T=S&h$bhyNW(ugF0`&1o^J z_nELrM_)5eJQ5n&QuIfR0vSk-zDurOf7l!eh3q*Nu&RB;e>3%_vh|Kwt~>K)dxRU{ zAL0p~&aXr%^^!pMDxSZ0&VaO=wSlpbo1AUIi$Hz6DWVIaSF&zR%DvJ$QfpcVv z45TcK?Y_z0fMY;g1UK5O8{##{{gydvZj^5Vk>8+9OepnHR!Pnscd#ywo=QOiY^a z0F{biSo{3sJcx~Tbw+qdK`NSEM9`a^oG7}gX?0Id0HV?x8h5{Ftcg4jqh10(NJsj* z4H%Tl^jh{7T1G6RaLe_G)d%rT!4#>die*{9!ZFy;-epT$^L9AZauV zO%NP=!nY(eJ;=n^2SkN9Ly2$Y6hgFF+kGo{_)gPu-mlaeCmp&gF$Y*MNxC|{%!tGF zpfhcC95iOQnYJn?yam@7fSotvMxiR1WUSs(aJSr{1Wd+=JjQ{(3!3J3N?$%Ayq;Kq zgy1wJU{$FTU5F0ibVG#q2n(V1=QAO4n5QOZojuN@>Bq#3O`&F*VY(IzRYTE__!-W0 zW>HP6J57E%pV4;)4bYQkd=E4bz~c?RC{zubr^>CF4*e82J4n3Du!&%0$qbX1sS-o- zyA~YTjdn(`yvGBm7S~!xT#`o?xM2TloJi+H*}B9g+zR>$Zu_`Egr;OB8np~pUDe+6 z^T}Qp!-C^?)RWS6KR^TF$w|81mMx77+hXm+&X`$`=jSkA?8T2}-i(Bf?Bs z$HrQ1qCMB(MSAN6+{A5Vd5PfU98gV{ps_I3XuE!;#B{} zM>j>Xj6OPzKYAWtoW{>DIFJalx6wx&0OKnE@X_gWkJfN=I6?>9v=6+EJp|w}f@c=p z8i>`>8QQ_+{xHRi!2?{DEyv=$k~&HXyebd&LgJ$Y%(>|(3iGmj2Wt!uejDeT4`a5O z4#5nJwGC!C`qZN{`hh5UoFL!dq*YSVt0dfv*g}DO$mc`$(Ju+3Y7gPZcH|d9D^=)3JtdbrORbAWAMD!Yw zm$)k?`c2)LFB80|G^d~bjF$G5eURIi%*AVS`V9k;=B^iXgp6AAKn&ZCz`iSPI6mIE z5(C`g1l2eGrYlaE6Y2ckQ#USJwWH!vXb5<*Juq8oQwa)n3_wlojAQnLH3)K12J8X4 zbq7DQ$1;(zgh+CaV=3WE!ZJDArRPgM_4Kj13iirmF5-8QWsTD^Js6Np#jVnt5p1gX z8eQb}cmj#P?7&0o&VJ6+cCbJ=tn|8zC<^zJ1JZf@!KuJeRFw{6^) z@N6vR{&aDrLwAg|15L<|Gh^eN5{f6s*yDBTNB(kTm{T-1rYhM1+Q7y|vM1baTBcX& z3baD`^Wwj~@ltdMN%`3|20* z84weiXN;=Db1X|g5wr(IAKRwvmJ^pm`@C^LWc;^c+Y%Ss&RAke~PKz zcUf$AXn+o7&NM~mLFcH;Ae=9vGRn2^qw{{#ysx7;+K4i)+W8`Vf5o0Xmk)3$dOLf1 zx!Yb&&Gih5G$p!Odpei0;^M3ihKybuGSFu%CPlW#^gF@f$-=3_QJ|&$fefA#EtzkK!Cf4)9> z@%lesot&S~mnVPz&(Hqr z+if|4Dm%oVPqhxh9p)vxW*vCtO`)c1(AW+}LinU-2Wh-_RpwuwzkwJ?>eq*=G9<#E3H+UK0k^Z19}T?$G(*}n zrR{nnxFB=z?a@jcsI+PS=NyQ;@I8V6z>POd)wJNKU$k6FUq!*YJItc<> zi2KGBb1~FF_;bwt&Q$-fbtp>qZyQ&8Jt~_Xv6+!GNf0^je<18~^UV&HqaZIbwJ*Y# zH-qyaIDknzu2y?%=0p;(D<^x!Y!n^h<&bG$om<6yF*P3>M9;jhK8}0Wl5u<6sfttz<*f2H?0tIAuh2Sn-Yj5l}$ASvc#m5;# zrn?z9U4SWrz$q}s!Lz?VIy}99bU&uEUiGnSKYPv_v!(6ii4gZdvyoeY+j^9fxx!hu z8$SX{71mRCOdHI=?4?0S99A`H?JC;jbWF&`#O@ysmA>Q65;sAiW8YOMLQ^Wt;VO%!7WovaDMJN z6zy5~qFvh`I}7oVyYmp5?T>W{C4a9=-?nROZDM@?CjB70x1ZYJn3m%F9#!TLG2Zaj zw~e6|_ z)TEb^0B90|ui56-Vc;PZa$G!n({@rR@h`QlB0q-lo50)VO_YcoY#DKo)8+-jm2waA z2*!_=Gs}tk&Z+sbp}1kuNvH*11Q%x#HQqiLyNzjww34=dpLJjV>a;93|HrH2wD3P) zAc8{Sbs()p>VlxXTH~&$db04*D z1&RmfaMXINR)k0QfH=+YdSn!U9)?e~kEy!;O&VS8g%||>(61f^c?-{#0I~KW9$Uv{ z)$(p^qYopy5G`cqIFevLO{AY&=(HtlWyzM%9O}(^c0dLLehwTrLf>WVQ^SG4eVSTU zl6wIh!K+CDQ9vn*bG4tjZ_@0}?;xoTi^j9AFyxdq+=@E;r|+C>Vl`RD+=y%Xl4GS4 z#8GSZR-tlq78dCAf+kbCLx+ZE(i@eH3)O`1KZ8~)cqm9%#1JXf|ii5p0)fvY6;pS)pX7+L@?B2kHfRg6v=tSePCB3^DlywggALt7J!M)3X!F;*nke zpOwZh9af{0ba);X4bwnH2#L{S!=f0p^xR~zvSncBi2tlCZ%9E5Uw|HhD`UcMs-54 zwN|oqa5c#rL9T0e%yAvXHqT&M!e2f|R0WtQ)5+Hf)6bEDF;v;s88ksZhzVa7Ox}dQ zh~lRh7(sJk;HS-`B#rjQt~g<2z5nU5W<-=T52#5^$1c7{j!^)6_&J-3FsA;huE?G{0ZW|yPq?*usRe?c@kZ2BgyCNiHh_L;>hAK zQixfK!|(@_UP6^XsIg35%4*SMFH_z>2{~k(K1Cu6akytByM>fhU{s?=Hh6s4-(rYW zYm(O45WN_d6P3l=PatX)&!X8$m>kJt_#igRmW5_?K?mBCGI%$uAmcDxyt!KJ9TJ zI;8IOY0clk3e5)mMT0dy7@O{LU-k0S`ovdEM1>w*G1Bpr5mV`#9e>bnTOM70$(Np*C#w~#jA1F^;pVN}$Qxrr!Ee6RVPq9jRczvn zI*{K{@r=smD|tc}@}w>kczt{H`&GR06nj`|qaV*nGlg&2B{W&2Y;0vyYQ5GEynP8q zH-StKPOSx})`C-O7pEHh5Y@dHFYoL@V7H7VdU#?mp4K8y$_8JR5^{YHS*0QGz9K9e zjAY90p(80QLpGaKFMU6?k#&$4+evx`aJ(j$EoVHm6b-A*zQ_n+YqIwIEC_$w+wD@PjIoHMQL#)C6!1&|I}QGSZP5wX`|!JYW0&S**;QRiHO z|9RhTbi)pTrNyUv2a&`HYOi|H;Lid%p@3~W$4;jU0h0vkpL8OA5j{ZJ$+p&PuQJaG zJ(;TZ0vm4n9AZFyu^lHgW1dAG zUF3Yax?gA)7YAU3Ow!i*NSo6PXffie#r*>;F;v&SJFR zsD7fem0Gb0RjTd!T~;kId>RXv7;ITN^+Xg!Mw_HnO|m$w$@wb^OneWxtJ6 z^`jKft^%U1;=g%aU9IW@E&VI%^+uP3>N;`Gi2J~S_KkGuZ_49#fvAcn=SO@)$L4MF z*-A?j&iLj~hxkjOEwz%yG zZP`-O%(S*#K@u1(k(nU)r@VxvFZ5B`vAO1iTaIfpyqfSRN<{d@V)uW6P;nE>f!RaW zyyb-z`@W~tKa85R=1NY<|j!Ck5h z+WVKXD?snE!D2C5^F+EYbsTk?IwFz8&GAOZIUXVQ*dkEtD5m}~LB9?jGL>7EBquD- z4g6Q|(r5UGAv%&pswMqAlZDs8_G-}KH-QxOdw^aGpx4M8 zzG-igjk`%|wTN!GG)I|PG$F~B6L@}003F}+>6o}21>SJEzehD3(|bAxMo%x1yaG05 zKCYh7B?}ICYUVUG^9$3;curHZjutRu_EQlBu197kitv?_l>&b7iXjM(mq;GRTWUSB zJ1PjYxmv-6%{G;L?9na)P)j&D-PSMH@7!z(%hF+$H78K>s=j#*0RS zeRh1jBBo?v!_4^p0FIh*vB>W-1gJIFHf@`_)|*A|TtK6feFID16ftH5ST_VtYS|k5 zH#{;aVLs{FdU*oVYzGFTpt`K`wRp-tXp2lRaAkAZ7&$UOr%w_m4669)i4AxO+a5=8 z^D#{0ocsThZP~LW)jeddlA~5#5%$Bb_)%8+eznkM4EQmoo*? zb<7N{Q*vZVUZJFgYU;z4wGh10Fdm450gEH06V9Yf?~xs2&_P!Bv&NZl-zQ*_Ifm|& zER?)CvfB4x&sz^5muJG6UeS8LlL>&EFidggD5T)ba(lzkod6N%EUqc*;#F9|X0J#am| z4<=<;y8N5q)pEQVucDPJvDU}vbfvCm@Wx$@=g6^Eb~C_0TV~46+i9)lt+ZCKa-yns z4UxCDIBo#Agt1h7&DpKqR{3Vbf%ZWEt)expA1pjI9P=#*t;jd$?#iMiahID)(OGjc zQwf0p*y934%jBVz_W}KK2XE2WaNG$Lo|Di7Yzf{ zMZT2}FgzSN8|t6D0CG3i1~l5!Z2<)s3Zg4+!XmrXFo5^Zwc_m&DpoEQu3s;Jqwv2}6gf%Q?xszv- z7`ar;TP0<<+yy&BVm)7Xig6>RvlrLyFY-tFa-~BbcZ=0YOO9Xy?UV~CAD!6 z8>biXNVnLo_>1*AS)>FYy)AHh;CW=fol5%ldk*De0g|ekH+NV<_dMqWU(UUp6?2y| z&crcruAK<=NlGMRM67S*`+JPCCBtXpyDT5zM9^Gapz)hbgSrk>uKf({ah$`aka4WP zk7Sh?tUHqeZGtt0p#74URcrq^_pJ@o;2fPb+k^1-B~z?NxCBl;Dv}kg0VgjwDvP;x zB|nN+)!&l)qbrF;0d?-23exq_yed|B)mrr<9>llAH^S?picvtRZ<+1GINvG zxzpTNBU7!WjG6~wHPWpFD%tH6%iY@j66|y&KQwKtl&0ke{rlt5vLMn}&#)XrKj_~d zk7&7*ANcQ&N9DXolI#cl`{PlS>#u%icvjyg`cQ){5xs2WwB2aVxluC*w3DU3Hk36K z2Ikc45JwyfqZ1kzNrpH*jxsgdDu+Hh0+k&8_RC~RRd9Yg_rY0kBBkUTryh|`=}=%jJXDeB%Uo!}|EybT*(gKhO)b|n+Ic$&>fsY-#GFC-fT0vy$iE|hugc$?nL?`c} zOB2>x-)bXU$=MDwZ{ezRJUc{$(DI0C9Ar^GJvpgnN|e~JU$;PHSqpQCh!Yl-fRI)e zj9l3=PmTV<7H|l4g>b%%OQONRUaN8>fIl%85}GmDDUGGW2LyT!9}F|WtT~f};X_O0 z<7w%G1xzmAai)d)Je&VN0{oh*sn zia6yOtPs<6y=ui6)q=hzF0hvBI?OZt=2*s?sI+{mYmj&fbi$<>vW~Fe1O7hnNNe++ zsn9A_urDarITa9C@&IeFf9i>5nCsEf{BE_XCHaYZv#?IOOOo`Jf(*AWg)6&vpSO}^ zxO#DB;Hz=s#_7V!XiGa-26V!d@H1f@T3`8W6oL`USoZW^177b|?gJ@mwPCIl1YeCg zq$jH`G_1IbXfm}j+a|^2!T$0@Hi5H!1TI9H{ihBYHbB5n=nlVaEu(f_|F*NXld1}n zN+TQTf~rI(z(6Su9ohiek_C~B$lOA}lp))=?~5SLEacDE=5w(Yje1RutRPn0ZzbSg@&l))_|@GCYCJk@8sCdWT}+Bf#&*7Q@hfAiQ{WfEOW-3e*rPHc)odAhBi zMOg>?Q#O5XdP-%aNPo8y^Z4g0yHzlwhZ_*30URwIhAe!n&PE~8eIr}RH8LUk$I7=G zNw7Kjeb0=c^Px(#E@PkK`1cl9>)ND{owAOBQ!5^6517gOelUBY^O?E6Awd(K#P~^A zixZuL);!liF85*4SR_l^qn}NFkoLl~Fzd*C!(LdXQ90AO(Vu^*%SzXTprm3fbzm3t zHMn0(cZGW!I&Ye3R^HUFUH-W@jdRt0w}gg_kt2`3@9&>6hti@nvo@~rr`>E7?FFgh z@Mf!&_t^aRL%StPe;@kYIoN}KXW#bq)$ZE^NZy$T4U7X$KG*7^-0B{}X~>8YjX`_! z#6oam*<=rj$I*QMF7B8ObvCM=8DdL&H&}cBw!;Tod$R}Ooh-K`%#zC<^?ByNudp?j z-BqhBSEyX6H}QQ~v~l-@u4X-mBO4Ayv)q$tC=qjj{#iRY$;^j+yny+3FX%@rx$d4t zmFs%rX06)KeaXU=0_xl>sxVu7NdV zcZt1QKj|nxWHwSqyPR6;Zio<4&a1F_MRR183#pYaE2By212iW+os5^-g_CtF6(0kU zHj@S`*BgaT!-i`e%o6K@;Ny4J#zjGiT^x|pheE71Ya>zxe4^@X?~~3405Kzn*r`=| zn;eYc=9`T5(8UBA4jK>RC-pn3aStI>PbN~ik*mmHreQRFr z!X0!Ds%~A-f(yFlPys#XaFZ!2+fO@K(1GJ1BbyVeqaH=r@ORvRHFtkhkDA^&#>(0?@JM#fQNt~Ay@qSV1y#>ZhDVN}^&?s9*fo~Og|=eE zh6!jA)FwJ9(0&ZA=Vy~_o5}g9viXOUo8Bk)IlWXz@^t)Jt#+P z-MF+5MUf3#VH=F2qn469bnR#RP1DTRw5kx$|6UsyMLKBPaVNg`M|bXqIo zj)Z(_ zDj~7A>D7w1ojDGygS;tzay~}DAE&5U>hq?tx@!BMJ0{)Hm(#^;${|_UbYf*m`N>(h zGA5vK`AQg|#ka;85vfWBHC{IjfD4s|vsU3WEPVUsp)NeQ>` zc}%VAf{p0aL`vF)$o|~4xT<;_IeOElS7OL9Zf84RBGLtHP978dw8p^qin)K;U`H*j6)Gj zrn4{)*JHTE`!KRcK^-W48PVt0@ZTx?rNZ3OJHUK<{Z_Jmb3!YtS#Ukw&<_rWwZ57M zJC1F`bOZ=-zCiWtR&u>x8`X7>Yoz_v-NQ`h>(M=f-u(iRES}%1p%g~3K02mgyqjxX-crhC0MGf-v}+e|-EzuVp)}f?&J`##jftx7K@L9VqJUpoZs!SuX0| z(5@sL3o4z9{4HFFRu&Y@Fz3|(@FCQQEe^B{Cip+(g;(1HA?YDFhkV z!X~q^a>L0q72P(+nd2O7&LWW5aDch7SuW_<#1?R4vp&?(4GiCJI9Hb;tud=+;LjK( z*ARqRrR5i|n2U1AjX%@mm7lPFWJKnRiuISi&y^AT1GoG@e>XO1>V-gOmvu! zW^2}l(lxk!Cn011I{NmTw>r>EFgZC7P49^p$)6MOfERkeC~_ST)pip{ql;O#o6F|1mep_o zydmZR(?_sig5WTZZ9!#CllHLNi*IXz1!*r`D=_$HctmuvqnCFmxe?MzU=G&NTPA<$ zluxW}Eg`b&Jww|oMs8>7HDNkr=236?g0??lyQv02LU?qk$>{C2KfUu_=+EjR<21%b za$CWvp~;RgHr(lsuxP(!HK_4QuqBo)*%7YY%M|{wLneA_McU=hE&Z;~i|460%YCU= z+ZawvD+9}Hn#$a6RO}G*n$Y%3KTu!t-xvJ%o5-79UVeCXc6nJ{UKW>^+2!SO=BckD z4>2Gv;l(#SxxBoaZKpp`!Lu{E`4H2d9eV2L=&NSM?hvWvPqb#Q=+o)bpPp<7|2>;T zfv3KWyvxg}H~ePkJ@skHhhCs>CZRWcWiI{cN0;6#@SApj!tX42IteZ>Ki<-(KhvjM z`d2=ucb@t@@`VX4TD>In6Dk;<|l3G`gXgS_BjN^VD`YKxmC<`qRk_zLDye z$aSjxiAxQ)J_p+{eKvy#bS=XtG|>o$@}}qGr%Hb4^%s4w{r$y$KK$=lV88m+{p#}o z@#_(^<4^SA-Q~$_7;OE^JNkP$vQH4V1L5t%EU!)x(0KL2n$yXErtb7w{WW^{;#Jrh*PjeT1?uIOFW$aw zzlB?>egE}~uU>awPoZXv7+xm2q}%|w=;(g&m-ZJZ(}DS?aCb%hFW$ZTF6>PDw}JZh z?dyNM`lkDW=9Z2Y_vvTKOEHSizxc8<#?a?L{2g#RnRCWE7w9aA`u=oCFc$a>ec86z zaQcP5r`L$_;=-pV-Dm}@=z*ju;AZO$rPn+4w`d=mUiW8BN2vQo&=NG!?X8W@5|&4+ zdph1FT#)*E^tWDarBml=+MSUdLmkl{#?}M*=FR?2( z8Jr{FsgwEGh6<-r>W@^x0T5}JNwq)Si)b-CQ(YinjPa2-Tns${1Ri1Msf_QwouD^S z_ilpTvDqc9UP_eoo`?Rz?enm=#PH0NY0MM`*IkXz0?`fJtd|J3y_1cpNy7UPV;2yb zB~gcRR+0ZCMue`-h2lzf#i3_9O#@$+Z-ITx|6-F(2B zFC}tbw5LvNz2>O`BhmoIIAPAj(Q^dZFe;Hm)2R7UiA05;Pnv3N5J)Mf7XdO4Vfs*s zJO9YJP)Ur>9_-EG9lKs`NzkRdEf$$Hnk--t>=#dx+@lp^(jDE~%SoS+Tr0TNpC?JT zxsa1Ev{|9CBm6=fu7O{en3zp`{>--PUPCCe3(==F>N5j1$&4rc_65X~4v@5=|0Aff z&;PUIHsfd?T>UP9#^EMfSpZ)h?|OqZXBPGEm4SZ2_{(J zkjno!>BPE&30!Z?RKyLQSf?H^KlZSg;C@nZh>y^XqMA8@fJ1T1LV~u+8U>ZngTuXq zpPnf>yT2`ydXa};i%)j=SJiYs{LAEF7e3&W{3D_JB!uKMn9smv;SYSlVUh#(KFk&& zD9wHUsb-UR_2_cE53)v7*TK5ZasfIUAehhw4X3l+ZqM@0NfO)NnpLA@hg(Z0sVMau z8;5jnm8HJ4Ct@!0Z0d-mRK;YP&ccd&%f#{DC;Qe-`}5P#U1+CKMIA5|*!3r2IaJ)_ z?gU9^qw7v*NP?oJUJ(+*aD1&|FJld#N<}kUy9PZn!vK%hKRCwU8KAgou#vImRsPkk z`Y?dG)QbhQ{#F_)2UbqX$fLps@3|K~EYc!uDNgy=VSiBXsOLRB9@@u6a+~ILsSl;r zxBq>p5J&CSD)jJyS){(Lh&-J5(~*HC(~oD7pG-eN;;iYXI{06=%rgjNy#J2G#gM+> zY%X-c*;iB}$^Qg1&-~S+eQ3w@=jX@@Qr&nHKj9FBjSd^)OX=p2+n%7axI|~qgYel? z-*gb%8B#ClTjJBeprAZ|`=2xF^Z%Z83xv338F8z{o#88cs26OAzm9mIT4slDtlZP2 zyM+x7w}mTf;S7S|lUeYqW0jRfoI4P10en|Ap_~F_W!ECnEI6?id>jF|vJ;PJ$dCpn zjx-o9pR#z4`@MPhvEX5WnhqvzWg~CHLZ7iq2g~cc!AT3<{=q6+*`TTeNVGbDL|XyJ zEkf0J^nfalP}*eAvjGZlf3Kq*sO_DJCJ*x=t0V4`#ZUW0;d{q~##GD1M<+TM3kd?w zsU*S)js-?w@g7m^dZLn=XzEUOr{0tuhKugW2rY@8*aEkMXIhrRO)?>CEf8r^iykFT z+H@W60_!k{ys(=1oDoRzlgOKJE{xE;pTG@9-~L3m8C%oojl$7;&gA9O{g=;A&gI<` z^G=dH`=#AnW@j~R62hBs)~RyXN-O15w>7;)pgmpXnYHd3o^x$O?*xQ;08GA*A3L_$ ziA9C`h=JT!mYbA;zRXXB(Uo_16&S)Xd9-cC2K5PCn`CIIW9&k$&_=Vd3C0} zpOVFqR1o4gZKzj50TUSe+U!fu&nGm1DZI0sh0I&8ca z4yIz#HusnxrqMeS5))R4I7iq9kxdc#$u8)_si^ae-7gT*UFrEjV2mpK+TTZaFondQ zB8vBoN!v5h8V2@^V~SK5F-FQ(Id#|SsTQl5GD2S30H#PZmI^;*dmt_AqKZ#cRTx1B zhd4qOs(jTxuNIjI=+^Id__;h zt0RP?hVdCECJj;l@rbYJi73GSZ-KYTrl)PjH3;jwo#KLh>-Eo`^%AGozAm+dgswD> z$SSy18x0T)j}gzNe8bWIx6QQ=+K`2664X~R>1?u+r zmX*IpP{WusP&kfTuN{%!v^qIQndH}QiH5M8W*29ZY*>XEmn3Fyzcx@i+8KD9T~y<2 z7(ELTqtdrCN8c0k_t@v>zw`O3>g%ZazKCpJ$0sKR3|UMyMXQ?YKU~dlSWt(0YXK)0 z{hK0I2A+w(g8j%@5c-3I(pK2E9<2M|SK*`5+fUfm=X|&Cy4P}Fklsm(h%&E>dBT7S z?#j7!vhFkwPg+IB)_z9hR`e%tQPP~b+PRIR9L*wXVr}Zrb>Jh89o)D~h{d{bl+d_8 z4pJM;I7Y;4*TQccN3|_iK2i?iWo^V-L@k>cHeHtN4#&sKi-KeOvg^=tMqCoiZJlo8 zsp4k_YL=khCp;oNM_BIA6s*`$c}g=slbG8}*scy%s%1uZKr=-hJy+m6R?!VkTlrqR zK_0pa6PCflFYb+I?ghLGyLL{*J>Oz2 zPCwdSUY=f4k54b7j>(8W{plkQ<~c#<#pR5?py7FvM#kgK;)R0gJ=jd&ch!U2Ej`MA z`)dE`U2^q4t$JSMJ!}XCXUy@ zv8S4ZhB~zwXVY>WZ?;CyzcqOgw>I@H3!eg(jPAE<>g#E>c|}LVW5eGZfqIb9ZVrtP zMSh|(&G@W1-h=(vEV4tq^e(;aM;}R--G-Qc;gmMkxZw0ad!gnu`o?8mDKBhN`_dRw zSFDw4bIL8GwzsVyb=u8L+=Fs4_ay?|*h?CBA;kyAJX#RGD%2(_I)<(+FzIS2iUS1S zz>RVcYolB`FpC~}XE2#ZE6cuSis0wTG4gSD5`|J(HAe(^Z<;P(%`hK&AI*+DxEr)l z#gb4(%-#}1{4|!PH<7gyZELxVWD?cJHNvq~YMwF74gj-Znf~@0Q~ug#4iZ51 zxns-(=C*XA9nUcd}STX1>80TVYjqUTcis$bMe<%WLG zf})rl06LDbBnU7lCUhq;X`UlD(JC*gi3755c7)=_?3;871Gaz~!f#&Y%Kv)-qL}___0ZCR#*dx|LXlc2z z=Sb))=ngb|sX8mnQTce{^s;h7^eOi)N&fkSpxmH((yvplflq zAc$B-awBco=&wDp;zzT%c20e5$7N*Bef#_97QXk0rsSB21ojI);|>O#>iLv|FJ)aZ zu%SLct$B{1nOnjkcd&5R_(a!Eko4$adfNECPY$&7$7aB7kEZ~&{lUrW+Th^xQf>~c zn11W~NsAgsu8u}0z?*v3Vb&R5AcE>qf7alJ_M?bRaP&g1MhF1LuB#(!36S#1&WK3$dDWqLi2Sqg;9 zx=6OmJf{`hiUMtWb6w>1X1k7y_uF-X7g>C}&Fc!jQp7l2LoB#06CUBVtk+cXev8oX z+gs{J?x`E%FphrtJC5GV#gLu(Sn&maAMf;9ZNPzCmcvuEpsNdiG7!J3Vmr@Q+hl!} zEVehrHeFxqOwlw=+?RMuNF-hdKK#GJ*)W*?^nCU-xIBG+dYwWnLY3(^r)rJc3i(e? zQ+17-?eU)`mv_VQsk)bT!*X7vn`$cw)zL~oWv|*VMb4qSCE_#r0A=sm#zzIo<5&xkEYj}F*91cE$jH;z4n&gXwlYX33=1>r)ai~=-Q}$M`(!H#M8@D|CjhS z-X`;P97ylz%{!URrxybVtEMksy?FQHa=N`dxjYHB)63cA$?W0T?m3lsLUaE$F>^AA zaC)wcu<*zT?4pm%)kn{%>y4OjrdG){?RWWVnI@|RvCC4XxdWp`P$Y#a$g-q_zNFVh zIDKZ{$@1tTeCZaYYCi53y{HOZym;R84Z%-O{k9;zX5f}8?445q08x5RNLz~W#Y~xm zdExX7h9;gj+o_ioT<+6Ay|1E|Rm&eN?R7s3#$Q(>ntpCKl51KDT9pxZ5sxZtM_icx z@wMz&evcXEFK+mD;e-snsn)BvNs-cy{|!0q>AmT9gi-x)A-+MLb`qL(;^|fg$RWw_ zS8A5FvOMZ}gEWNA7eRrVn19{4fb{0Bh&Nq&N$0G8 z(>w|ehtmXtmL89EU4G&u?y3+_Z0y9%)MTyUB=^P;jFMmdGaAM!&k`T`Klk|zkiRYG zEK|9vm{{0z&t@r!ww!4B{k1&$S|(c^vx`O}YSuy`hPpv$c{0C%gu5RGT2ngt{ki0- z_GdHf4{EBXRU{Zt4;kXl55`8EG0B=mqI%3w61Ka+NP{{T{0og>{EN-DR zRcGzSIx-AiXoC9vz^$G5{@C-JPC+-Tg|6SH)s2pA>kyq(AB`1!9*_D^>x+E-Rh*@p zhIUhfv(}z%qK+GA(P9So5psVD*XUq189ng<|1Uexabwg{n1%}oOhTwm4ue5m*^L$a zUI)(~3xVI)1&tQ=P?FxUw}b$aICBW-1AM*VF^ud^X9V!tag4!o#LE_){r_N$Ei(20 z=kbbckH*Wx>KU$RQx1vLbYLGV|1z2RaHH1|su)F2S2lp;FeUSbd+}UF7a1B*q8?|sOJ|?&WWad^6a_RA-1D0nH|Hk^*`ST&a_1d z!it`0g$)Usi!ukwp0p)FSR+YgsdeZOmjyQDHHT!15H%2D zc(sCHX5QVP12=6EalJ2r9FC9YkX-5cTe=(Yt==rl$4L8zoU^B)j_J=wS!?AVt;o9S z==#R&PquUxJ5|}F)G!fNP|Wu>X_*Mf^sZ{cv~P;|dad&YqM}v6F&UTou_~k7m6YZV zMd%38IQ@qNBP>~ckAuNY)Ls=jIBy;4&`scYx7+#2`8d9qbD+dR#?$_mdmPWG27KTJ zlP@dhnb5DHd4NQ$^&}4sa?e5daY7&Joy7WES#uk$IaqZ>sTGoy5+@n|5`WM?{zF}? zLVh9s)ZSlSzw;C%Tap@7WFel4%lm8|5}k9s%CF)Tt~|DRD?KQuIXk8pzGe9lYWDC* z3ctRMSH5;4;FLi<&ICYqZ7@8GnKSJra#WFl(_ix{25h71yejk&gB;sv9&PZzQ6%^r8i*Q zKG>SgODEb}TW0^1{L~b>YZc02q=a0$W&)e&cTqHTqUu}Cz`G6FL+yN4`!#&cKF z?5Uhvc56fUNkqMUFb~60*&Pw)ocq+4M_@Fg;u7TfE)PAq@(d${NBYuJE*TwKVqTuU zU<%$)yc&iey=Waxzpq?qJk8IHG8yO{QCp3UId(CuUhh3Q#8{$1Yqx|LE8XJ2Wa)eG z4TAQ&F{^VTQyn1&q!mnbq!%^YJQR_inj{WZFcJ!G7QN@K&(;s9r(nst$&OqcVkAH| z<}SzJDkb(Q)+QS_A4=nXaBS>vnCi07NkBhr{1Jv8kyaB}Npm|ar^0~z_mxW(jqB_n@C{Cz9AwN_ zY`B-=H<$APmMH}S77T}FkkZBR@i)*nmotSsHk>1vd?8h^lO^n7ey5@rttxglJWwi! zLJk&#w(WtG$(^u{3SngtA^IN71`yOsgkYTN5S!MRqB?*kT8V*!DoSmC>2&1OOq$_> zb&g3ER>SkOUSHA1MX-Ii;s)Bh9dfEPs}qM=sGYz&D0HpCs15=c(|1Iibs&+4@1y(e zb_Kt85Jc@BpqRoiki0R;P1jdN34T5d%fb^0+9oEC; z^x4b_b3KpdO&F{WHOC}E@NfgGJ3R%k#AJslrYHzJZzl7WP}9A0@K3nZ!4QmQL4WF$ z&`P#E+H^vto}A=?L)C1ic|*QXHMrl$bjQd1{J>ehVNcJ&BTOBAZwHN0wMD*NDA?GQ zVkGKL0#?}_C%rt-sd=z-VzFPDsPR^leFfvwIj4)5NB5F$r?X-Pz68NITjQ#;HJtgZ zZED!b&lqiJ_Q8QTEUnDkM1c_i`}F~CQ&+5ht_-?aM;&SZz<6$bu&(^Kq!gvz6 zRtS^i&?F{c7sIS8`5Zqo7czzJd}x{!hsYZHzFi&df`4a<{Od^1l4Fu^Xu?d(0pdSj zX=_5wnq8@BIXs8=iauViVbDCZ!Rsw`dZke^1OfdrI5|g&0;waL|C=z*t*{pgc0vZE zBs}bEU1k+^l1XZTS4zk?x3ik-ptm@aA^q7@ER#qB95*TQFlI=|5ySRPz=GY@x#BXg znfL6I6|LB$lM@dP&0#B(Jszn{XZH)nsJ+Pxj61cQ=sWZwOuI(klf5U{4k#-}-L0OC z#TSdxy7cTgv*o@lkcgBzX4j7v#Byl8&Y%e&K@;8xkxqSa zJ9(r49OYxgeH}f8c?gu!W$qSK#PmGAEVx)uEE1xke?UGG4|-iiE@9;iSH(Vr}e|8)4aot4{ou zWlVC1c%6`=r5rCX*jf6OI%V_$33gFZNDxbrmeNNstFt!jc*@!2mmFJ;2#=bL`V;>6 zN;m)v;SeV+Q_t9^C!+!IfaEZogo@ip6BQnZ<+QV&hL1 zi^+I1iuwyMSG?lr1fV^`3})x38gwJCXVt(Wa)s!zHygxB-TqKy<$$)`F%&!3%GQ^P zi{qy|l5~!yE34~OKYi7!=(L}9({`(sp5>}6D$y^rHlMzG{u?2Rqe*Z{sNb&?GSzaT zhUd>GBRWH9#mDp5k4Myb#}Hv711bp!?ptS>f2PcIxDe9u5d)PBV620n(_bPCj`N_= z*xFw%+^%spnNkZrAe4Te@}QC9H4U55v%g1@UwENY;5+(zGx#6bI{D+T?G7sc9+?a@DMO_jW+8+*U5a&Wo_9Y=bmXm$YaijlbZvtk-sSpa;9I> zphb75Ib`VaAd|1wKG;6|Dh_BS7qGB8KP(QLp*;KwZYG_``A)S7{OW=uqk|@BxZ*`$ zOpua_IPZMU77CqPwN0E`0uT;Z0M*@k&U~vXu~D=tXLO9F;Uu`3Y%2IIqdpFp{YLLp z=|_ddMZOV1D=$;uBuh4#(OyniVB{ta>7az`6H6bnYcd(LCO4`Gs#>TAMt?N%7KW3f zEY0UH5Y{oY%Ww={D&nD40MDL1Xaykd;Kj!~{%=_6udsE=Ftqb@Hvl!`XvDW|0(42G zZ6_`-P;NCNP-emJ{`)KNl#EW=>e)qy5*QgDV?A#l}-2J3*iWw8vX0AC00@t+4bGkSy1pdxt^vrCVf&Q#9 zT}!n~=tEq3iUY^=N=B`piAI_DU);}?0_T4koU?yE?z7i9dyv-67WF(W> z*c;IhB>+!)=NKF;G@#Ke4$O(wnQS%<2T~QZ@NWu?FFUj@ zf_@ml#zkIQSaWD8QvHO~c;;lQYtUDzv>RFZY`J7}PNvRmR-=QSKO-=YZmRGjl69Uh zc0>wuq&HSUw3|ce5dzI(q4rj`6?k<}4z0(D^$gR@ZZ=CAH=7OesYRE{E)}WY_Chv* zzFihPAwMZ}aYm6>i%g=CKpd||Cl$-;c(rky{KB3IJl;w?S$Hl~=VNp3OI3yri}QKr zb}rWh)|s}1P3$Nft_8~(P*ffwYS;6Hdj~ECT4W(@(GSVAd3tK4hSHVsU9d(|3hp>_ z9Hb)?gF5nJQP9VTtGBMGYKCXa{? zbPoU-s!bQF^X6iAId*oYU&#=t^{GvV@>5%<)@YVdBo&qZqi+8^(heCn!$zIE(nqWTy-IHbqO~1Q20WV<$z^ko zCdu1gE6Ks=_MvGm^Q!Ha(9KZ8oZf*)`E&rVU-QiRUUlh@jAK z3&X=o2%OslacU)VF4o0!0X4zl+=Kes_D&HUB)~Po3U5Ms248ZS?>On455&1Xm}Ot7 znb~Z1k0Sw05~y6>X(!{I1${56yzRjrF>guwWGb_Y?KAa45Xa$^v&J#Fg9lza(}{{I zm?|MHI)`3AwSMxP@MV%SMDGANNZ}ta4bDy;FcTEY{t_nWP(#ejQ1q>~_&0lEpA)os zm6y}nX&fL{_pf-=7hBSaTmP!ns1NKpxz4-iy)Wzb1kPFKJfYxaqNG43qsa`CIT3$Y zc1Am@v|Bt#!Fcg#BV)Q5PhfsWfa{G`@V1$G$spRyBX1TAH;ZV*7K}s?XE_^fZldVY z`m#5txb?P}FUWZMCQzC(J5QiY#BvTKO%5lO zr**l?dHURaWv8jyuN^KNcbAT_0ArKt8!lcu?rH^Ggij;^4dPE9UIC`3a|HZMbU)J_ zdLV}OOFL265pXgv;(Ux23rLaT;LQ8!8udaxY`sy+w54RKnanH_-s+9}{fJpKQ{LM2r(^VoYccPDID^IX&wqyp3C$jn=jz(;z($2VU=So zd9=f8mGdg^(YeU%v0A11hCo)DU(2C7u2liwot|x8o<4aF(&rdq=k@b?-5%fw>eTHu z{hr9{(7E6J+ewdYa&?YQ&g&BT*gD~0tDFTvvd*WBX18;%XZ`MW|8}oeuG=?UCCso@ z&TBBm=CH9i$f!~O>YcwhR1AeUrdavfSatg}5z-;SaiRS&0a<><-?PN+8s)mttI&_p zW2V&rhz9g9D%}4qE!Y4`-*%qGJt)ddI3?6$QxfIdjuQ7K5&B24qjHm97woh#?%lR8 z3S66~DX4#%9H#0C3qrW-b3_UyALhZ+cal;@f%6{Y)(4?IwdxzChVL`Op$(=} z6gDayGY}>Qhp6QwDUVl@>1$$ogYo{|$1?+YGyb|rcUPB-}IpxbRx64zwPj%TXr>|xb+62D}kw79{%m4h7)@n9`_?p?gH zOy-C*K~|tqP={=TfW;kX6elmJS_K_mdELr|83k>EW^4{#znIAii)`L_#u8hmkLPJ- z&!ty{FsBna-z61O(?0U{zKdKhq%82@q|eD)n*zW8`0nl9dIEB}F6I+lLbf{0m(#;o z!=m#V0mVZfJkxl*+PNDn`?X|-0g8Nt!|Rt$-FW^Qz>^cIYkZV+n>{P#25scIN0oG$ zEOhMUn9dn$UVT-)xw)y*MKG>Xv2uTf?GjiZ0q*^D_M-X?SpOy%Wqux~f)(c}IryoX znzR~^cFG-(>=J-4xD1hXV5Pxz*=8(zDFIX5V}^|}ES7-~RR|=3HQy^8n$B60Q-{E{ zqn^6d!&TI!KrW;XZhP6LFIak4HCPA!`sTH6QGPocT*q}Z1H|v#8f9*aL9mK4mCNlf zafdJ(;^npAFbpz}u!2-L#z6;Dg@g%=yu~{fbfv1F!>nDzH`whOu7Sz>-n zEDk&)V0aE>2!SgVxU;y^ci1z<9_k4QG_u#WZ{OG-?K79nmz=U)K1J6)bz7kIf*E3V zMzA$q(cs>gxC8;Y9=}GfYEW~yrh{iehx6k`=Yi9(fq>n(PZBe*SFn}LVknQ@Rs;Cl z$#H{FIDUv|Jg|aV+ju+b} zho}#w)V^Y5^W8JP2+v@%jY{PNh8^Mg-;CUbwOw&J%Q>@{D~5J=ZJ*hzp5-6{cbN`fQMgb0T$l6=>{J8V_cTZSd-tZG#S8`*1Lpazm;}M9 zv)^zGz7J?%sF;9iT{|dh4DPEaR{@1lQRYrr`eHFSH>Igoua)X&5bTB7q>ux55>#m9 zo)oi-IpI?eHqXG@eJcRvo?+|kSX@p`$nZb~ZJ>2TZ8ibSqaV30*t~}6BiCj#EWGW5 zmN8_Gcr?-usnq9DpJplwP1wG^u08WcBi{=y=cX~COr>!&p3K$;#x=-|G|LhB0OM}( zIdvPf0*wImuv*KNdz)x2$#XmoQkn$$)#7gbZ-hSB=B+i`-w@RTclNPiIji~}PW6PR%lYKEQH|e%| zTLNnL>|bni@2(5M8(|)iPT5%;MsMiMIlIG%-05ax2DPzD;YJ!9B1B@gxWmHGX7dqD z@sk=S0@v;t0g^iFwjF|FV;ob(BWvU(Ej-e8&umyLy z^iqoe7|4?r^Jpyu*BSt}>f&qTsX`fqf;MDbV2_ISMmOFXrW|&p6KixoxTXnl7C3Qy zWXRc&p~loZPHct>Dn`8y%%P@%BnTZa%{B|7!@ay~+em?kYh(>(6M_IHW4f&MON!}b zI0xFYYZbAW>Bu~y8^jZ~R&Ev;+FHs7%Uh<`J;qC=N<$F&V(J*3ZyL^n2gjh>0mk7J zoc%x&OLr0+s5z)5#SJ93Ae<&at|t13mx{?FzB^V#9mpu*Jf$e?$aqDkQZ`d zeaa6F$xj5@Yu4icYWTIe(xYnyxk*w!bM=8*sR%Ljj$@U8e)YJVFOhIY)p?nZifazi zDzH{Mgvrxr8CFI0QgQc*4?Oam4h09o*~s=lWGTOO!Si`Ty?7?c(q-l+Fw^q8YgFD^ zZCRktD&{lF%bw1ituQ!`15;94Gn=@qNATrf*CVtB&k?yW!WdSy-DB1?Q~^~aG3-Jq zn1%ujGJ`EsZkxRaV;nC1RX+tzsvl!I{EhvbjDiT{ac3cK>6oc97oU-(w)iO8Oa6p` zZ6m*nS-D7{I7a8)Voa}dXH3N`1{{g~Gs7+!m9wN`v`bfRqt@WZCdeXxlshO)=iAp&uF+ z;6a#xg@DSB8_a7?L!n{k+)cbvcaWhH17A#YS|YoAO0`1Dhp<-PKGQ0WFXayAYs3<* z_Lpt$#bqX5vPvDQp3I0x!_Kcv2mGP5(41SXVe1X6>;GNR&7On&=S?;Fop^$ zUqFRS#K9c_)+1UZRqsSvot*#^oc)Cmn7e>* zQqbWsar@~h{+v&7qcXP~sGi|V(K{52n?F(a%kSy%Wv9BTktyQPZd1#!=&mBL2$tM) z_aW6KFASDj#cS@3H!l&IR>JyXL~sccGWO2k2?54N$MQukGostpjx|J;OTZZ>cEXZh zyMyV@c1G?^qLtxUK#~g+F`@aLm`fIBS-ONT)3VjXq;v(VEt67BBwmq0G7^VfDo{c0 z2!~#@L*c7x7Gvb8B&xPtftxI4eTUY;Bnwr@VI>tgLE;ERs)HL<(`v^HLVn(np}hs^U?K*2c1lG-F;LOvXPV=xvmHmk1&}pR0w%J7z@N?#)>S$zH*E6?>Fu0~jk?{5PGO?cmd49sT-LLW@*4fef z&6f{gmY0e35(36j2!!S@U?OVgA#OFCeXc~s6CetkgbaJ{-irjc+AI2Qofk<_af_x! zr)&)NEz|6djw0H3wBuNxw{a6MhRk2#;fSwt9@2)H2n3HFWTg=p z^#DVv08Rm->C#nH41%}3+Cd5xFkz6-h74e&M0k66@7{3tv}I&=H6FP`8O=bK$D~K{k-O01Hlp_w-N6jyzAtQ6fDX zOUnU?2v8<3^b3_o3ws$c%McavE8!L2B|ZCR>JJ`mx_5E&3cHF32;W4JdiR>UpA>Ov zA!=fRCH0V?s|vWm=@=pmjV2^j15*K;Kg^>Ei73yLAN9b+k#gii_6DAN_m%(>g-tYO z-WxH%K-+AyX|}@&;Q)B`s6907W!?2`%~72uURGvW+n7hCnx1ZF9S|Xc2$QW=`_>j_ z;Nk`BC1YvM7A|dk=s0vCrO;VcQfY<6NmBdD+a8RJJW1j)19xtEk^GR@w+oEb9!Ysu z#glqn6x`k6_w@ALx1BfI5arFv`87!s zMwatys_I!FMxJr^x5WM}$%)V1=0y7(iiC9Cp27rqM^5>sT*c%zJC;mFdzx zHRd<0#$8^p<=xFyTH9no6o1r>T93Tiq!5~=nK*e4=R3FRDwa&$ z$dvUiQg+rm{8cJt^LbJ|1z9}7P|M_?X_P;xEI$CXa5>|ZrSytTXh^Wgc+|SN5$tIt ziMtugF!S6z9H+#-q*SeBk;d25qgu^I-zqOEnXgzLU9nT8Vl5w(Nn*-w)a5H#Qid4m zwC(WsvxAz(t9OCITHKZF%*WaJ^4!~0ZSoGwt$qtgnO@P}ZY1-fC5~X^7~vToYv$8w zMO++vTJg54bBJRhE@jX`%vwP}P+%E=PQzKyzAsd{%RtU7A1fYIousoD!kPjKEi?;F z%*hw29ICkmVImb}WulLTEO8vYfU9J7b4vXArBRIhb|nES~!JT#gx&J6=uz+Q52ezl3;^9C4xUBG5{G9 z&=#+LU|D0Ev5UzRI*hg{qa(~BFz~_;9yz^;6E$=kX{ujB^&x>dnciWI;gDe%ByTH# zT6{K`?9(P3RGcW>ZTg*DtR);N?N+KuAVv092AjM8j9NvQFLR?K^>Pg zBKPDHclr8d)(N#4I8ILv3*~bNmX6Hi3~CSP@SCR=VhP-}+EAx)Bzq)`WU!PT-ff|mNK>+{%*O*MQ}+H zp$f|4RB?Z7ZYA2^i+YPK^u`j2ChQXTpsb`DrDX0LS4O9}U%-~6-c?}y861`(nOTql zk8FM4JG4+4T5u%kLUAhRIIAg~R(uK}xO~e@`hDC|>dea`QxV%v7U*P7EIGNQ(9d}% z=k8{y*p!M6Pp^Ej|EU(0EVEg505mM^!PZK}KWmc_0fH$PfSoxDCs5&tMjp1$IT?i+ zz(OalRIs-=RXD&qxoQ}Gy@hO%cTiJ(1d-UH9Tpu|dx*EiA+?eqg)%$ezq0BrzQkm| zyTTc~a`zw}4yIJWrMsuACCSbU2%21FZ$k=q$Sm>^3K6*pP>7?*w4kzahQ|(89<6rk zOiceJskK-Idf=JJrm`1X-4?2`s2j%Q-7QVgXaz0055T2ABzTE?mCz*xB6ZpwDJ)ju zkmo1_xXoibZ9u;3%oLXv_aU(eiFSpdCbz-}*ceT2oJWlY?eh7;0pT+R3t1;c3Ro$1 zi+@UjN^S7aJxq%iWl3sE@~V9E7AyFC-D=g~iWWd4%2WVo2it&^5mGcFDkEZ8yNoS+ zs*DRpF<8s+9a@D|fq=F}Y%8x1yIoMUB>Z3QEw0#x4H-9wMsB2aU(3_os3`R;FU*>g zQGQHtG_X=OaG7+{CLl<)VPrXU8wI;$r<@^Dx=u#Gqvd=W0R?+HStgM1dNztF?FTwL zcXe3x-8&MRV$*5{b#|=XlVb>c#R-)2H0UbUv4CQ;Xz@W6RZI};Ao@*u0=|e87PdVV z`Ri^Za@#zx{Th8M%j#SPxX(hw6|XwkT27z0g<1i(*>D}Sc_+zGYm)j}qlBa3$kX@>{2UImEk;yaWCq(Cy&n08kE}YJit}dhiO+d20i^-NT zpS`Z+FUGVeE%*pY1yMCY_eo%6qK2txq-)Hgk;jJ7l_qG`cTLk9tI;qm2CP)c%oV9s zE+Bw~I9Y=s*OV&4p*d&i@OULJ$eFcA!R_oW?UWvjSz@zbgU|;QV6S72umDooP3#y< zHy*h~{@gKx{0L5XREPPXr3~QS4Nlmn(t^aC#jFsRiq^2D$?MAHu9i4~G*e=7P$!#;&vlAtle0*(q_S~50Do>V%P{<@6-^KVhIBtI+mKVT z?Nqb~oa!t*zMs#7D)O1QgVG7EQf(n=s+36ckRQH3DG8ZPLt*go(u#vd8*iX{Tn~Mw zjMmCY^=BJ2w>{YuP`=od=%UNt0shlN(J^x8CE-N+D3x$^$QC7d(?g^Fn|?#J+I#SN z{KuN1vIjQY43X$I&#TCpbOgid0EKcUnK|*DYpWag9Ox}+!`Q9vf;sD4(+1C7045C7 z&N_1^7k&nK%W_2P2{80{Pydu?Ey)j`(twoemf!{CC=C;PW0jguRpQaCYt^VknoGd} z`>JEGCSeNB`j#H=P{(~`Sq$&j0z`q*;{Rw=&iu*&aUV1!}!v9~f4Uc$^qLsN$Q_PpTJ z31kcC1Vvv~In8&hjG19m3H-$xRE0RF1GaR~PdYK(qmy(Eur3@id`MgFOZQqU`4lJ! z_m&zf122gPt9j!v?^fA$kZFj3D~K5f^n_faPVNzqz^LXYKi9ISc3@nholz=y`n{FRIE@ zn+~U{DNko!vKU3{(o1hPqn6wd78dcjS(PdV&aCt(IT&1q7yb4mcSo9^5XH_L0;qSyV5UDK74rc_UyOP>96lU zoPPXx`n>e+L+RC<_pe`_KChL2`gmG;a#s57-A^A%?|yk(`ta)G4>iLsd8K*8x@c%D z7t}Ts_o}p<4uSKkZb~1#(R@PZSbwyPl7MiYaqRI)fF{yh_Zs5uYwfPlNCqz@VD!eT<*=2eGxX!@gIrZ?2SNK1ItFL`uk zGi{|bq?P5B45`>C>DJjiVx^mSG%ESD+AzmdHlYq&FClh?vUSmKsoB6-2hpr96D6zWraxnHdZ!bIT_bEoy3?hbVRo%*ZAF$ancz4JEMZjv`CXd86{B5 zHTzho8d;`k!0(r8tV?cM3*9*!b(pz`6djmh! zSSdBzdl^ubWH>1`8&;b6e&ar6U|;)-gVluII#&rAXIh8LM@lJO@<`d_zN6%IM4zna z7qmEkqo6~@AIv|bt7@Jr;3fQbHBJ&s^K?dOAp8DgmE$-e5HDZp8wt6qTAe|SdYWC0 zyZHZP<@1P^N|>+wqlDa5xy~S!XW6B4<^R(?AC2NdzsW!UeEpIKwR7L40Nr!){ZXzv zGTpWR?i)zNtEy7EUriTw>cg@m_ZhkO$|(Gk1wu)k+$^PjJ&={s=S#U?OB;>6e>Lv6 zi#fJm{E6d$$tF98&fx=rhJl8v+uI-3K9$9sq!`OayM*D@HfYFKsaOYlLInzKIy>6f z{0okCxl3@o-8CIX*Pw2rjMOGQ4*8zZ-Wi00>kh4*dNJ?Q-7clwxs=DdJH`Wyo9%-! zg{!o5d7ux6ZnMLKgj%pddGTFhqG_J@Qu2G_AKzy?g%MwuplB>1q>!*(cvKgbhe*?M|4x{cDQb7aqa4kJXPwmaD7+#W zCWeLLF%p)cQf+g9S8fpKz+BFv(>sS^F8B!TWv_HYXEX!(v^L7)$t)_DB)g18HW-;wTBq1!?pGPbZu0?-!{(1 zW*t)V@_E;)a0&OVJMe+}-@4~L+qvDI&wJ%B6{S&^YaJZw&#bP4=beZZg6H?+nvhM= z8)S;Qh!Um@=bfPAva7JLAecq<#9=MBa(7p4{^*r+Gi&e%ZY;L1#8iRqV*Ba zZ;Hyf99TJ7L<9-I*u`jF%MH|<$(%xvQ{I}=h0OPy9CfuKLUX$E@O(cnqPCA8KR(oU zmhp>rE*ceh`0l-!ze0~ENzlll%It>R9y`9r}?#(Z0rQF}Cc?H8XJ!F=NUHGpx+4Jvh~&IjJA(WsuUn*HlEm8wj48pm@!j(&Po8pZz1qg1@bDe9NVM_&9bDB~iY*41zA zVyIEmu-NmksS^!fc<2b{&=OA1|ID+On$j-!s90!JyM}ov1`qqVp<7`%`f(5r}Tc+jdkhFzM{hPvng{AM2fR$yG>^=G(%gl z4)sMZDB41smNhW2k>3mYyF}n(F@w5{1vA->(hzVbSM`R6_Ab90)#S*8`q~L4jOV7| zXj_U?cXIEZ3S*_n{$ypB9H{r15DdkNqRHLaC8hhCk-*vIu^AZ2GqT*;yIqWOVZ%dxdB_d;;9g%XS8STOo?dK zZ9)&~BC@8)Oh;}@m35{L%aZSfC20o;2K{)T*<*1j8kMVdSo5JobjFJ`cm5Q#{KXcF zV91@)xwu1#NnZ{HkBy$`)RvP4Te`01XX?5@T~bkeXGOgIrJ}SJ9cI~=Y-AySL&0)k z&ZL?AZ<|yg6hguE-q9AQyqX=kw4rzn7xfc+}WnHz! zF{Ban39JztlCZidY8obqNb`SWahO4>I>)!Q_^?mSP}B8(#%mV(_p%mc_0u5mb$ZA; z98Q)=#*s7;RwS@)QCG&`(&8($pJyS++9<6{z@0D}6`HBJP^alG*Kpa+ejKXN`2BY< zRX|n#u(nKi;ZMPCR!g1sF8^?DyX|ZV>cEtBq8-UmC6E+Ns=0S)S)vscdhNj#n5(>* zRlc(UJ-PX!@XVXhF?HmItUM}AyN@lK6AeW_n8Sm*zu6RfjP;VT$Mkot%>`-;Z8k>- zmtBxsI>FA;c?tQ5+?)hjZ`8qcbDKcwBX|0v3;T1QRkC0FHrJ1>ty=5k2Tp6L?j){S zGf-Hl;GP2$3;^(KFgvHpKTBQSld0LIusU<8T@;swo zpQ=r}l;G_p)4pz(BtQD5%`kuz!0ePIvr@rxRia;c&?>QZhJL5S0V<*!_ox(Ixt3Y+ z7Pjc+ihFh`7Plt)eIb8poTvyw=y_QF^4P^NdjIAB z9f8NJ)+kj=-+R}dC>k&Q9Pz{BYek;8^B>C5CH|*>UqkhO=Z5N;X4)$K=l=&>Ti;Y$ zjb^L#oWN`vou}T+OD5Oz%XnQf6`^H@!Hq^2bBI`3yF+zni65gR7<#4G1T3UQ%{eSB z=YP7vf2~;?GfqZuE*>0d&8)~!pQX7XYx$A-mw#U)^?#ycMZ%rXe~d=$xb}dq0M{6L z^LICiw#R7LpGtys-QBfEU`OJ+jBL3IZ$xns~Ny z$^;f)Pj-BA*^XrlRRUQ+DQnBdPEi#t1ow%v8n3P84%`N7gIDbw zoX{T&oJQ2fBLZ)`gB}*Ga;a^{R%IlF&|H`|=GJhjQX+-ymdUCF`;^CZ{S22uLhfG< zNX|`8#dF&F2pTWWoBL<6CRGwYn$`)`sQzzQSmDI zkS{IRjbS?DFm2V42e*%-LXgD+!`#mg^WFlwkO8`+0UBio#pTJUeM!TEs4?xw@kzRB z#uZoF%&J0-yxSeygp>|w4UK6HVfFXBm%Sqw8qwjRnTlmJl|QFn0P6fp14_3*TjykZPwPwZd-5Bgv*{@1O5O57b(=M zUiZ=|h`1E;cC-vjgr}^70xXwXXg#EOms|?>%+oy67mgR${Q8jdX1(|Le3qxrNbbQY-8Z2f(X}vy$Wr9~2oW=seIYv>puxnR+E@01 zW@tPoPyn*&+RO!SRo>!jT8N+AtS#%4Pwh3f6bf5WM0d@1@Ct2m@5Zccnzs~D) zRig&u8G-hF$IKeNrY6&7ZCcKyyRsGCeMR%T@J8!*^H`FNcZLwRp^|%z*?tX z)Agttjy)v(QZa>kdKL(^M@JVzKD*2oz!PlC3+(m_x_`_k7MwqcbF&F$4b*}q-6`YL zpzd5Hy8aJV>D`S{_xr(C$KvZq<#H3xEWw=>6lTAOi!wHXy@4-hbrfB^!0 z1o#r*Q@}P~>(pBe4F}~vcl{4s9rwbrPu=Hu)Z*qm2NjmaR;UG+M!%#<`Q3iy2A=sc zZ94YOD>Y}YYW>+{EEDsJmYVJb|3a%IEEfIgF6m}9deXN)-LLD^z0)C?&T5COEN;!NnPlo{-PU-RtmYd-x2^cT`! zM1TFB?SE4)0ySv6|7%pX+KYF?EJ!m7%Gd-B?#h{Ra!eUTFK~XWN zPeFYO>gDG=m|x3mzjkLPc9+$i_n`UV4f&UuAM^eM@2jJDTAe`^k6Hw8(pg`-Z}cPKEvIo+fu4WTB8kDHOJ=FS5pTV4kmz%78jfU5aM zxpWqfT$aqXpwKtwRS2kyHt}1kv6JW%O5=7&y(_m$l%G1YX!J5Jd9Usq~h1QVt z-p1~BmUbBT`_7HMm^jyVG;%^)Q(m2mT1o+)&Z28)YU2ganb@;v8hHyRM$@@X_JnUp zM;-H)ox3(20{!WlWpG(+V9-5ubV+|B+{TQE95uw2(QM)B5vVT8eWu&5)6s9HB>X3) zwZ;9hmuW@7Lz!^Bd@ce_KAFK2g&SYive9w-j0qJ=xa1Pr1SFY;B28&cUzDz9Q~*)f z;1|g;6$H=oKqsx@5KxQg9+(rHC>D+}Qew8=+ffScSst!S)-4ux0UgmjMi;jo$haZI zf@vG3VECc6O|@& zay>%X8-&ArBREXo9aE#K9=h|1ptF+{D~;M0u6bOJ%Tc9O9$NG>kVF^ONi(WGQe+Oo zfvf%c#WtYJBc#iKYGA8G8`a+iWxPUB3_qFC8b5ss0mll04=#ym`XZzhWFSH z#mKEFWvc`v_cdP?^d+mz4V|~4vo>|khR)c?4S@ervs{7F^g95rRbuGaQPY#F_EcjNGuQ7<`DU20eH7yjbbG|Eu$H(NGyvZ@F{v`_ZSSJ5Jp#H)&7YiEjBdYZTX;dXif%-xWFZJYdEFA6m5I$u)%Q5|_dVpD~cy zWOpG>=xCjs#Fb`yqGxwXtpq#G^T}fVWbsjkM%6=`RFA@>9$O$^@I7(6a;CMFy{7Nl zrklDRZ-o*imI@||3?ud>Z_*`2`fJ^cVV zUAUv}Rgcho`hox2{bbUSRGrmU)=90=Xm*UX;TS7}@c&P=MpxCvUd+n%pVJ0g*)wVp zWu`xB8T~Hkm$J~`nx}Tf811;bssW#W0cBR^1G-_|Rc)OMuu^fi{iMZ|ZNd3xwMFHV zX|B50z3PlUR^6PZZmUckf}WyaiZLly?QP4`Tb20kQB>EWDOhRcm@>x+lwlg7FrVVmRe1`rR90K)7&+xzBR8&J(iXg+Z{k))>72GeL8**$ zepWntQjsp@!U@BCTv;6mMOyTGKkZ)V1ZgoC#ZaW(4@Fvx*nZlb(4yu+S|TG_AmeQg zO!c4b&Z9EXb7aOR4T9#M?#=T_tY+$h?&wPzxE38_1he2ib!&}gd+hG#vPb%j?UOmK z#@6G+x~#jDv*McLlep7#s!gkmi8!2Bt;12i=}!+fJ*6ZOkcE>se%z$esWWuE#zJ8P zn=rM!iH3Kpjaswyuw~1ae8-Qz{>GLs`5u1r^|38q@_qg2+iz|8lJDEbgQhKC_`YdA zviXZ6y<2NN_?BYT_xSi>`fVJy^tbt_(M-RMN8jpit+5*xG0b4 z9IadcYI$N#ZAcbidD%1ZgU*U&K_~51`KmH2&)P|a0FFtod{diW5%Mrk?YUl*^M}Nf zY<%@=OqC$n%D3g9`fWL^9G9sc*DLockIH_v*&?|3Q8|4P^~wWIeVm7s{dEy5N;?)3 zOn_@y!30sYRX*|`hwZQegNssmmlklv>xNYtl(o2;y{)Z6byy`AR!LJC`9w{zKajZ~lI^Z{c@c$Bs}s!EYr zg(%etHybmTzR({_V|`tM*KD(jbOfzGD)+%&xT>H4x(w@&blh6UttD>FaVj;UkiLq_ zRW_AaMXe=@b4gnHS@+VVlAqMo4jwU#R=L<~Sw=aeGE6n@{V9He2H>+u$!P!UfBa_y z09L4sw5eYe+Gnc8nZ^k&k=)a(+jN>8nvT981{&df^MMn=X7pWZQwfqj_M0%suUT zQnja_Cjz>#nI$$Wd#qk)m1cSmc1yi9zY;J4UBk;OqewSlkRv<+Iu~ zXcSN92nRDa{lsH$01LKsHrLN@O^BACZ|eivk48GW23-Ps{76IhHk<^GmNBqz;=~a# zB5c#!8*lE&BF$!rR-H1rTceb=@j*t8c6&T`IIO0Ewgdv^hEXU7p0<%wBoVvJ)I=A( zA(9Pj&Cj3$ zaRH4yxGaVKNE|F6NL@|D1^EwgO_mGgpxF}Fa#~uTHl`(tlhd;+V$lh5h**gM%KR0y zMc$@WK+aHSH|(@N6%3~eT~1XP3qhnMc|?5EG>_A8*n z-_ru4)6TGe04?X$$DcmDcI$sz&PL~E_rB5VnBBjfTfIuhV&6G5gxg4QJ};Z*U%Fnk ze;)R3A8oBo<~t_eY~XvHa}&wB=izy+SNW<#9!OE#=@*>{g&?bAK}~|S8P0dhqtszE z*qpEY#^x*Q4+^KmyFpYm2XWz}|89k&{TQ@2?(JLeEp7EzNgrfzNa`9@?J=Ap1VA9JdI?GNI4MJL6_ zorRg&s<+Ru6ufIM9zot5MbYlYI-A^7v8Wv*nItfNBSEqybRZ;qoraxz&T@=KsZnZ1 z-{Q}Jk*xV-#v*cfnWBIdr4Jy?j5X^Rf9d!8R5(0UZCHi|t3OE=&i!U%x+)n@pqkLQ zPl+h7+V{pWoiNV*o$z`5DWck&4MPV&u_?E7Hl}nc^hWg8LPNhjfRGJdd>Xb;ap9Oj z==mVatO5Pqi$yf6&e2fXdQM&vn@@Y=O~a-ZU{Gf0=?p!c&jN?eI@-pQOFBdT(rBQO z;;n|>d?>pbX>=&eKm^_tT56YzMKK&8+g`*triP7T$TMO>RA_EQb&zQ6#bw0uL5}ge zKk|}GDhan!m5#*WWJbl0<1mC69ZP~a>AhiRPrU|Of3k-W3am$Ae6TsX8HtL$8iOH`Z;QXj{C&XRhx~oS->>=m4S&DouZM4|kMBeJ9;?z?oTl|HwBh{nkJO&B{SVZZ zy8WwrJDdYN8{h!`&8^#X;}M=S8eh%ki|f^=o@ICHgV_G7TUQaYD~h1-f0%yQJ-Uja zsHl8i!)EKK`)#HKvB_@{Udi=j;^xw&h{!TM`_uyIoYxM3o z3~A_m50^DyAaC@$hJ^?!odGmgfapKg2>t`LB}J78=2X_br)h?rT)yJ0- zg@+UUXnI!lM@XmJepHk*^81IFpgf8g@Dvg_^`5|=-G=FtMd+rS=7qAyC^2mlh6^of(zjJU6k1ims?r!k zKZs=HZyESJG)YRa2!o}t8Z0!TLy|p6m|B?dho)Z(R(OA2(+4IrH67{i&I{LU4NG%H zZAo`!A5eDWL1qSc=~v)w)e<3K{aXs6LYNqKsEpq=YpC_73ZkjFpj=~by0-`9&CM^; zY70+WZ4WHPo~3xN8hCn1pG!^#?TDGmnMaJ1^xdXCOvPQ={S*4bV@lvs1I@VG@7eUJ zG<%{rYF!M1#|@O%4O2SgwvAr9LkP%2gMrZHKK}gOlLQvqH%u_A#n53mPE7<1z4?pC zqXHt+$XS87IcAMzXCLa6zuBz!CCy)+dhX$^bmuGKYyZ2A79YScQQOOH0T%&2!AK#}$ zE+y*61bH!~kOGutEk7E1*YRZL8q3+p{EH$J{Do?_xIIUHW+ay~QJF`n5zCCM&264i zL&QviJ>NV_&9frT$g<^8lZ<_UeB| zss$8f<%xcrjA zB*kZqeu4+Zyt1LcFRA}wdof$9Wxy&s0;r|?Rc%oN0{HzH%9h$u?Pf;n$TUu%JnFFl ztvtbKg7Ku=Bod=$0rSlFvHWCO-%qAXsL?BEo>DBbp_=+Lx@$ksCV?#qYP)}3kb_72 zLUka6L^gA0I0E$S2KLlaubhJ#+iiL_8INfOe}+=XX zQ|sS*^sx0!V?$xhM_)GqpIeU~KW;u!Gi?0DsF+5B{}~m(Fx~nHs?y9$pHoAqLVSjf znp83+K72>T&`DEc5~gdUdOV&n8L;#|4leP+605F<@f<2YT}9iL0x_7i+#?qhI_-~O zTo^qs6~^Tv)TQ=w9NmZ-#qo5xh{BI-cq^vCMW}w{Q)3#)cxG>v{zNc?=>Y-A;oLWk zN>{i9gs*q5Sb%#K!!jt_)xm6|JF<;*wwZf}r9Utu*#3O)Obj&Ctxmx7uD*BAnBncu zC&xfLeC03!E8#KKuMt}60?1^Mgq^~kTN$UR5;OC$x%aT!kLjF-l^6kv=?ST{6z7yIs91h(%17D4U ztyi++&j8%TY{yVv6Kob!(VpEXr**0AsTH)RZmE4>JcoK1=f&~tm|)eWMbY90L2nzZ z^#ozw3K?A&&iOf~fyO{3-z#*S%IhY9xq?MK^D7Ro_llv4%Mc6L0u{w(9# zu+yPFfQ0g1p+0&0g^>m-0KLD-uS?S)~26<-4Y%CKRnzBpKNRi{7kQat$>W>u*E}PBjC)4|?RTWoe_we_w@j*nq-R z8iXS(?J_fLQwu^%IzRe1c7Bxa{3zdf;U&Q?*8AD=>KF%`c677Rz>cP$_8$*UtL&G} z;H37j6F5x*xIQyd_11s4u~O@BXRL5)`g7%`x|#ikHV~u>0{UqQJG_E!+kJPX(-QDn zU29KB&379eoR|)Q-(JV`A&)bF2iv9Uk*Ct4eOUG3dO$hMP@wBaWf~}qYb1p z8C-{Sz|EbA4!VBsT$^sQ9*zD@J>uCKWW5@?X`f;j0zIJ{r#%~FJ&WPdJ&V(x#fN*= zcg;a%XwmFOQe4C7V?D%mvsH%4VfwAYwcG7cq1#v7ZIOeS-=UE}uE^AiPYOu=W*c7; z&aFVm8T3gu!b zfLfZOv)LRSnRJ3fnWse%dKj(V^-ZH{Se2$`ccTls+N2wrK0ZF#VQ+J5@dTbu>uRg< zb58NcMHI3g{R$-CFCxmd`O=paVm9oSMQ5MSh6!Ml;K(J=m+wD@>#PD{O36||K?B3R zulX3fv~DkH02$8TOPT1sx z%>xM|ov_adTb!_UAYor8yhJ%WbEP;SA0Rc@nUG<~1s?Y-l!yVscfZ^rUqYhh>9YH< zXWgQs5B~u=YUXP^Mtm3zjLl}RA^-XRV{k0w%k_^32>e-p{{W>t>?v%j);lZ2xa>Ys zBlqav^~jC>jUzWIj@%^>k&w=)-TQe34LSh78ObK}`|Gb;gp&6+(aFg-n-KVU(VR&t zpD1AXuz;^zrua&xYU*o%Ts+zZXxv*P63z&xWE=fKw$Y(%fKUrKyMQS< zGDJE;!N$i3d7l{}E|O9C0wi*|@}TC;W+~0{d*xT0=C_{nwH-K*Y_Ly{ zoR&SNznSyEzM{W5{Vm9UO>v*Va~475C8fA(Y5_pbQ#Q8XQt`kpqg35Gz=jkm`>VaX zDwJRhWN>%xbOO9m%SZOkOTfK*N<~}+3dY%90t_)|{a}wvv$bi7_UXEGD@2n)=qv)DNYlja$1uc5;y`z_&X}&Xr*4B-AdmQYXR3dZV||} zd44dG8NDJ(7r~ikkkk0_0g&y$VxWWLIGxV1^Jq&a{%5B$)KeKAp2{x|P9@d{o&4ED z&1WYu%1>fg7{bVsusg;m(`Kf~rJoKQ4gROvbS_^=*R)})rh^Y1E>SeaaqqDGnp^fe zgFHf}bAYIJu}DWzQ(uK%NwNoQow&$amiLJBMZEv~h_YQgETRJ3-k z6Y(UAC1zi%=!LJf6Wih`sjW@| z?i9HmlMA+#RwusnlY+>_RMOh|1bL8dP3hK1w?6SXh+L1+R5^?n!*m$pJr%2ZNMDNB z`GE{?S?J_**&xrpJAXyKiyf5^s6r`($iUdWxiBNnMLmQH5@FK`gx%*Qfsr&Km1d*Y zquRe}xlp0XY)_yogfBdZ+pQ11#U- zNm%;VfBsLbd-Y%c`Tv5=N>y)35jAaSdX)qJRj$7W&wf+!0n~hdvPz*J_K9u`E8Tj` zP@gi`r}7E3{~FkNjcv-hk_kLEY<1TGc1Z;g0U^d2Tg&hyZVyE}s@EN|BXxb!W}D9nRDUBdF|2{CztIDEkQpb81$kidRTm@6lTRBjoy(4!{D*3 z+Yy?Q57JsG5g}SB4bN~!)IfKPR*oPmK1M4?5b_>l#f@mik?R3m58-+U*Q1_WF`)^l z8fDrW0G@QemYA=5)qXxEuXFNR)roY?&!ih0&OjPATiv zVi1(7JCZ@?ROz^XGMvbTRO&F_;~|As+zKb1Rhzw?QR^Rw(_@m$*W#y?Eai3^eg^fR z%>c+h%qa}E{nyzRd!mTmpWkAhKQAJjvTay7xDSy! z+l3l(OSSJEOOvxQeJTvZssdXM#eLwo*1@>H8tFO`b-^*~yG^xGPgooEtvVB+YYFGE zPv zO>SSx{>C=1M4-EUE#9wrH{{mj&#Lqaim&wZQ7;QoQ9kN}X!D$kmNDE@qfCESJ5#^Z zA~Ymb*L`&|V@*uc?iCe^FKy9jw^B*H{kD>Mr|T_5ss7rW+80)##cyz?s5a63S4Oopk+Ty3Zd!bWrRc zKW`4ac&kG|qsfY~X7iz0b!v-!a@gxgNnb;e#{(| z`tCDmInCOwz)erf%~k{4j#=NBB35Fmb%7ruiz<|Z(k|R@Y^!#;Tj_tB8+w$usv!IiOm@is{Ki z^K%NRhSa2>V)_+s;wj|)(Gimx{oJbOlu&(3WxU9upZQVI;WI$$nF=; z3;UFM~k0|KH<5N!bf`jCcICb&9K}F*k zg*t>s66yusCU~5_qtvIO3iLbc@ue)3m+lMul{>V*cjNX8_q1|ZHl=t`KSgu->pNZsvViH9v|riZ+uaxTOZ%Dqyk~8tQq=T=S{2mA*J?eSLcMWX z_FFeC7c%k-FEPKXKd|ig?t}UKR^FFi+kW-O@((@x%O%lm~h zfE7Z6J%GFRb6#!JFLadtn!#|toc!AUg^tpnyTA0@U+7q$65RL;bgIw~LAq9L?QjqW zK+7KmrPPg|>8yDF=SX zbtjCRiojRRsCE}L%uN5I0H*2DjpS7WI?~MQMMZ7Vi}FSF0o8bE(LSq#>`0N-J0d3_ zh7H+Lj%N>g_Er0nIkFxb&8XP|JT`J`4=wwXndHI}4jVnDy)}XzaJq#3_Xo79*;4_J zu7KoDw0ljvJ3-#$?!3uo^2V+rZ&ov!C65a$zikOc6X;kq{5OotKlmu<1v-wIbgBpe zQwu~=aZjwRJ@!^iI?ctd(pbE5_#cX@Y(2;l#FQV$Pt4cTFVki@FZGTEuZZ?Ao1 zLgQMT+@3j2`$wm_6>8(vih%yBwMcMixXsJpHiEnS+OICOv{5;~xzNv+hsy|{_gvJ> z2cG{<2EVJTMWB~~okigHqv5bD74)sIs-Tpup#6MhDS;}4uQ_~;a4aaPi=nNZqVolx zq0!v4tn90_Z0>Kq_^X}br7Lf9a%fj8&Smp3UDJK8x-N}E&im);jTTo23Cz9vEsEvB8{Mx!@ zuTlo5sF?`TTF5nuo$6@w2_L5Qr0dTqFnfg6l%*3>Gb>X+7upft_w>_Y1G0k`yH_Ji zFnP3p@7;sSwmd@3z9WUQ`?{6^w}lY%J{0;vn;)SJ{)+B!`dRZ2R>6R=`=GWKHwajt zX_>XnFmX0+b$8Ot+*R1U?75)gT=qZ(jm^-$w2<74BnCg!Jr0Y_2(cGhYDzp2=(*&* z)ONzTu&IkW;krt#Y!OIKfhq1wop&eQE5@y;k8pyRfr0qZgpXGAW+OvHqatC)61KJn zNQZ|0XimE`Njt#lKS1Iv;#eZqh~NxUp(Rm}_7O5i2#!9O1#ioqtUF!mZqFeEPTsn{ zr>*}{ZiCr8!n5b@yifHzC5YfeGgT&OBb*AuWuJh;=!)V21cM&J(_rbFPf5rI9NOfEGMK84|{?Duy zq|Iil+i0#7pau4RGy_%ys)89~%$t$CaKlQoeL;m>NFf2JiMou~&3Tnkq?jfpW~S{6 zH$q`Qnz1ahOP7!xLYT~pDitc!6>8rFw{KW+FYR0d-66V{3Axeyu?DL}X$2$%IAEhhch zWar(SEz?h?N3OihpK+L~N|cfMGiKP_B$aa zVlS$FkrnBNT9a&;Dzq1aq~V@HQh7=VyQ3cAZi&8vuBZbE;L;+OmOXb9zNum6Zr*`- z`ZX;l(;_H(XlQ7%s9H@ zxLm-c^l0QQBJ-xYv{%(@%X0FeSz_mk`M5e%XRBkbT?R5UOITFaY_dqRtO-i`LeB}=Dvvy-7kMNX3zjUU!mo;{- z-2plKwpdPz`Flh#%mqJ4cTD-E@pCJETY1*x8CXtMKOF?WAF>h*!*&X9+u>kTDBQwu zQu#+bSEa9+X=qbvXvtz{I=1Ac&rT0ITtJGt^c?tAhWUXE4?A3TGedNGP8NHtV!0TQ zIk4`en_U}5jd<&-#iwWLwtnn!&N8ifSaG#x`C3&6;x1pss z1d17)glts!mQF!}`f11fZo(chC^dl&xL~;Nf=?{Gjwmkk9jyyA{1Bm_fkvtpr#fag z1H}ik%q5FXhExyO4fIl3F@T0(?tuJ?eOP{_T+td-oz+hzR?0oXCS)%dwIFO}2$PaS zY%c^~vQBpizC^HQ6lY6l5lo=AUvgNMQv6%zKm~y=Ahmp(OVqSij&H9ikt7av;%K|oOj|j&690!xe*w@BNuViP zA8b#bONU>fG={;~b0KPL=kcJNp81?22LMt)t-q!s1{6YQH?2Ux#q?8m0eR9P%Kj$% zbH=aonl>nP86Vd9UuMPsKF;9JzL|Atz4CuN_;p2sU0KXhMzWw(N+jTwA7h|C2cO&2G} zj3y~l)r7Dg3&K8D7!^T11nL|!s57p(LvTfmdgYituwOlZpAh)5vPS0)0yZ3Y*7Z|WVm`14GuUjvs<>BNO2?X+?be5$aBR&4Qpn^t$|vnxxU ziZ6~p4BSP?vi@uqUuOv=OCMPVd0~_EY~Tdl85_raHuPrCCShcL`*p>$dN~tO+q_)< z{=#8ZP#r@~z*O4>RcJO;$Kh_~+^wAZIOl$lb3dde$Ri%~WH^TlZQW4;6$+S26(H?@ z5swNOb}E@PolORD=sf@R6;!UJuu1Jr9Ly&3NqiJm$dXt9;l430vpG9&*?`{zRiM%(Cu%Z@HM1qSe$(!uza5L{o0|dMD!+ ziALJH?W%!RsXdvk%zFQ;mhVwcls_Sv%kY|#W7>Y_nRntYgumb^QPO%vzzcwisy z3Njr)tu`Azm*zcFv2yFt0SQhmrpjKkA6VH`SN7V^v15M2J7I_a?T*jw z)(rei*PeRz3EafHjtAc2|7Y*rx7@aoe$oH;Q@A;q9#Vv^?RFBX(OSOS89Pp5=i-r- zUKB}5?3PHGqPiuw^sW6EXTRQll2cUxNbsVzlgu|~@3qcM+#&%GcN7YRs$a!PYrP7R zhf~C}l7jSKge#U0ZL`%tM-gpw`*t|_;~DH50i;GC;I`GzlU@grA181;dbosPyC?CO z5_a!p%eca<6KK_=l3Mxi2E?$6_R3fap{^E|&9T(ws2 z#7)9_R;z_5on{lAp}{}R>#TYcrvZ4i1h(j{g0~k)HdephT+Ed~3?`yVIawXX!j+BZ zSDe3yVJAQ;e$<7dcyI{nLU^Ti=TEP308pw5zfXkf9d2>nq{g!h`d)do9*=SDcOcF5 z%W_9Q)(Dp6PF;}}KAq{GqGu{P6aq^_pS%iJX#fW+t85jLF?eFPh>wrg!|`Z|bs@XqgE1(USqLkz~N65xpum-#mvmF?Br zdz;YzsK$sqVU+}^Ks?C11G(G@R(N4p2q?=}5hS>n0*)Rs0G(Y)`D=j29F=q|C=L;i z&~T(M3Ah(PSZV0EHA8X4b=BM;mx0;b8280Ss+l2)hEXu~Tdec7=~`9+9dT;}n^P-qdhLLaITPC_^n z@JTC}w=Vp|okB342QRfgxXk(hj?{%!I4He4u2rGTa`{OWakm;Tu4kzR5gfnBCg6&0 z%ie}#w31^Hyf57ZzWN>$EaA0)rq~w?1;Gv791R&H)u-8^s8OG#%`^n%mbO}U0UjW zy)?Zmr7)9CM&>KM8JJu?&PF)*_*p?HA*|LNIs~fj%c}eMu4?WJz=!-*Z!1 zau)&a&)lK0M#4q)RgYx~1{$=Ej@|~n^x|f(MM&bBb8TX#IF@ssILCJx6E|tEk-a- zFy3zJ)>=r9$AY^L{gM7mCC8@kCsaih8Ij?w1FDeq~F%W1k zLY-9D%7~t;tw*jWYK=%ijkT~7be+?K)oN&Uvie6^$vENe+~pC>OSld>2(*y-vZZ9E zxV6Fi0&!_Ts-j}(E`Ty#Tu6c}-^3smzZ1V)HPgQCW$O+N@QqjhSTZ`%ARIr zPqA$2?c~s{uvWNCd9eJ?7d_E1nAsKGpB7lKaenjs#LAvCSR&vGmzm;nRxQj0c1M&L zxoO$8Fs+TxSIo0CP=Tu!`Ca*<0il#xj~MP4_5epZdi-~c4mxl7>`cT&kgiyC)(4s!Bu|vb2A>ONfRvg` zd;|Hl7dsa59KQa7%84pga29^y4HaKV-_{lmA7B|zgZFQw7IdKVGJgJIH7871<4;ok z!{5pusv`3@tEqrPZnsXzHqPaK-@mFJdTX^&1yjsXG80|9t4yE~h)9joIpZ(0;uj!GY=1Z1uT$CWx1yjk13E zQ6Aml6j7b%b2OQgz(ISRW&$@>NL+g$m6s6ioV20~Z@b+%6h|&3^&oHhm4dLWF!{U>nkt9#AQD|eF2N%=JQ2Ni@EMpNShPVdl)h^MxjP@ z50K4~TcNB6%kV}h40bz~ZQ6OAiXNsdNMH$<*9f_YUc8RFnKNrw!R_vLty3oSC(y%) ze8O!?JZ`hVEwNZ=801JVBEa{NtMNTKR#8gWzSf68`FydgVbA=61tt@TfgixEm=tD$ zGs(n$Q`iNjXP(_9^;d}_<_n&9Qo6Ssi|UHb7*l5qWLV~WzUuxwK}Mm@VR|V-I`qa% zZqWr^V_Lw2Qhkmow)EaXxN zo*q?j9i19@&Pq<>$2FNF?Mv&q#GHr=md{6AIf;xh&Cuu#l*&UJ7A(^2z+#{z%iLZg zK3n!<;WE)5#&nqxX4rC5ZifOX3x0befh2dyy_HF&kXAlwCWfdP9-_{Dh&uNnp~yi_ zk$rhC9GZHt*U#nI`*!g~Ik2D^S?tOtvsHT`MIRfcp0@C`p!WqmB~m`Zu4p=wJ#Rg{E|_RoXQ?~FzTZYa2TzFy|gz!^8Qfs za{Pt`VRm9m1aj!2MZf#~zOLLobW5lVaP4qE$67-p7koU39B(kMopz#5ozdZn0fCbR z<8=(bqh8qpTj2f2ntP;F;$3sW{@>tl2l5kMA>PHQ3%oN)p}n;LuBHwDVX8u}Md;i0 zcv*Ffo747UX6S&|JL?9`2bqrejqq&;{UI#?D8ys=4fJ>bLB33chNXhV(Cb*U!^urW zc!kYE@h+nDvChTS#pg~^y>-3;u87joWzxLbJ9q4IqCzUi>vE2GK_#=SbZwzy>$1~F zq>?eQXM$92@Dd5t&!!hBJXz1(6~9IL?j}yX8)W0msEc_BL)C444OKSI4<=~c{{|DB zl~RaJ9U_}bpPcu)6Zo_Su=Gg99 z4fKH{K76w-`qu@1rP=L&_IrD5*BA^okgCSB1Wxk1os7K+##dqb)17G+@u#~J#GmPh~h@11$u?Cw}ufx?>G4n1Kuiucv>tbjt5rHjIOOYNdk33%L; zSJVT$3?rQ!I7x5S9fQ|w z!UkkHSstdy*RCna4B8XRYUkC$jtkB@c`wns6d|Vw64BP+MAvwS8(PH2O-JV1f&mqF zg+CA15)bCyV`qts#Cl|>jY;DY9(1q}kGyRfkOm#=pbozG$b4gB`c{&C(MsSTnMX|X zh-o2WoJWi;rG}3%TBwPy7fV|Y6sjRNTm!Ru!zmj%tFF&(`qwzKmc#22A7T_d3=zIl zeYD|Sw&gNLeYZK=_BVv|2&p$C(R%Tm)lalM!Iq78@40kKcu zGzN9c+VDr~|3!5_SoMAGUiDL*eFlB#YG0xM0I2NHSQzXRY6yQqF76ZR1b@Pl)+f{g z{)FnkqrE;sR@ceGlUZ=rI>(g>+56eZx@XMF`g*e5=R>kQ=z5Z?C`juAW1gT}q zu*GM4Yi};_UUR|3YL)J7E52_2X!agmDOYZQMH;$5bPq?Bw1CRs8}3bc zU773-ydN(SDnY7~U>Ue6Vlf{10xp9TMOI`mYF#09S>Z)af`Fk&gMr0;LwW}gVD*XC zQwa%_@YEE=l46srf+Bq@Jd@C^Lm?NYs?h9Odtbs+9A(6{oFm~=+>s0L)?{0Be7u1F z#H`95q;9oIeWAqM-Y3(0h}++zT9@PJz0=bH`~!{#eG|HSRMK#1V-0={D**dSS3|(H zkc^ka`$}|n3pJaHQOi9x&Gu3GVmQ&7L|zsAa62bhK@mBmtnPcXPKz2sC%66 z*_w7S?Ah}XmBBe`!qY2Wua995*$x*7H6zZ}B8r}i+QBoaF_1AEpHUeotbxzy4AiA9 zYb!j_?iOL6cDFTxf4V|^A`dq>n}m3bgsCa4S*f;0k0>LB9-1u`JM!@c26(dF zPOKr4X!XZjdOas&M%zafW$9P#lm z6au27?6fSq2gz#RCwwHq@X>7#y(+%qNSc3j0;Oo<&Db@VYsH%WjD!|U9Pg=k=J|N6v_}tK)R2l@v3s(1q>rZZcVh$ zg$dK9zZK0K$ywH229Z)@2Z;n3Kq(u0sIoA$gM%Pt-z{lS1{!IQ7*7&9Yl5rZ7t%JN zgDUiH-~k5f$VL5GK|5SaoI*2weOb}Iyl1+_WR6J9M3ke_z}~gjzwHz+r0DceSZa!{ zjS;Y2JBy5=&QM`e5UQ!Gh*I?}X%~x~3X7`fCT5?(bmvEik12x0u?D7lo$BIhz4-D< z3qt&5^;V-zq5WzbMA4N-6dNGVGoEY%)90W_iVCjuo?`}Tb1+{1X9fgI`uuq0jLldu zHiZh8_a8wH4CXzvDskRCa1#*)?L2J1oVlm@-~aP}t(3zVDJFYfRW}LKV6oy#8CvS; z%Bwz-$QeK;3~`UC^(E<7sIENos5?14CnoQ_n(%qvT?veObx zVV628yemFja=clvc9u40>c7cWqIJs(ZaBrB$(fuzj8 zVQGy?$S-(oO>`O5lpdfp6^@8jcreP3A>}c}NQKvjH>pDP8Bun}>Uo>v#xHU!*M&vdYpXzLyhy?pky%V{`#IAe6o=AmOYUqNC4xly24&GB9m zzJh`f-C>Ef)vsAVh0e+Nn4EIt<3sssM<|y{`yw{%|5@Eb9tzLQNian#s9!> zbz2kH3-Wt1xpifhYxG!9AA*D64a1Kd#1Nium$MZ-?TIo2@T^Iq20NsVs1d%8Q51d{B53eKoe6LMX=rfN0a|dWtX?qB?85qiDhbwHYjo z5&y|_Ya>{?N3#><~ax%zj2ID21^|jSSJoTU%qw>&)5SuvD-n$d&`CddvPwk z%9sKIxuXEA^-T11R>>AZ-oef!knc1gbkepgPL_;HleEN$&{hCyK?qOTn~;>;idW}; z2Ub};_noidVUFu1NSqTH2#?=%I(rzj-3}7csNqz^k<9y646Gc~iIO4W!ulzgKHV%$ z!~A{s;ls)@5R4@2*WW+feDFW4?4$o`ITuar-X-*p2?=*!Sq3vgBOm8bPD(16hFKIU zWjeD~8mv-y#IwJO3rETxnT*MV?oAN|J=^ay%yZa#5F(ANrnOaaLzDz&B}yBMQDilY zG0?|Hbuku#a2A4L480kC5?BS1MrUmaRGd_c{T!g+4c@wJQ)(lZsuWPYp zR~gPFF!>QvW{Jp<*iw|FE?Fd;VNV#^Pnwg=i9F6Ca{o{I`Sw88K`>ju@pJ^=fH4SXaUxwd(lyA*xM=jbq9E+zP+*&UGq zDx}wgM7egqI9ffm28cO@9v9%mke$u)!xY*^`I#O+osV<+5wKdbRexxs9ktMSTsmaY zn{UkH-EK*hgIMg=D$CUVaBBi(+K+7O!ychtdD|Q~@E=gHmSwi=fn^T(hatS}zS?~- zt=)&A`H!6;qCWIKj4bnm`N6UV@Uf?#m^70nUvn8hW))=038FGUReh2zqlEXKuq_Cn zH5S8ek09B@;DobGn;;166U0OD%o1_u?yld)z(oMG8!)pYB- z+oMYR;*d;m>|u227BtjaH|}a6>_mQ&Mmr&luOkmTGE8Hg5Hy5)FIf4WGBYEFM&7o= zs4a*-P6^lFz9ks2fp(c0uy0YpwIH2)^5*qCc74Oz>z^q+#&HE7hPL7gXbdX;XiXf~ zBE{fH9(4(cD=*0KV#M}JVe!^PV%4DE4H!Q-c$>-&i5XCB#I?ojAxQxBXLbGRI@wc2 zM5tQM^ok==l7#~&HE`tT;v%woVlig!>dj4rcrI`r*&-_;W(xENfgL}CB2t)q^zxES zr(V0_*oW?z(ZvvYKSUoctz~?}E_r*%?v3m=df>v50@`XAuvHoNfMP;8MF?p;TN_wgFKI*D)K$ainGUM}M#UEO>8%k$QU=)H6)o~)w?U5cw? z#62l$z7~*Xd+GB~SHz}$0sczj;iHKbRRICYeEyNlC^JD5ksJ%j4X^`rzqMMAMSAjz z17Fh^IL3e!{xijg@86mc(^Efy1DqKQ(b2P0ObT3xijnRDac8)glEIlU6qBYzkZH|K z=)s2AMl&;1GVld>3${hVxCn){ckc29aBjrcJ|=G`s5Imv7C!;08oCe8f@CjHj_eGf zDr%5#>d?0Xn4U14=(vo$*+v4VW-Lu05*~{huvOli5}x#xxL#Z#pALPXQQ6i-0wlnl zUrh0rj1NmPH>i+ELUMP6`aqp-!gGz_$FroGni-w9P+hXw?T6-~iPO=tLo*Uj=dIo; zd0(4ICDh(&GfQSQ0vo=#b0W;bY_HiB%spVNLL3}jQY{bAMk(1bs2 z0YlES4pb^(LFSt&gc7P5{Ugf~6JEwJD-cl2&N;j=DJAwmCIt z=9;`H;P1(ZE~c$M1~vFK!yxh78xeZt8jT5>_)1~CV^JCz*QL0V5rskAUht&4cOSGY z#-Y3^)ccBGY3Ced2R^LWht0V2H$3GS7X}i3HNwZoS4TX571vBlV2CHH0=iM2#8P^F zT99xlm%rbxU`=1z#&a29u-njguJ(G#e8oPRD~3ZPr_|tfvT+t{vUQ@pbGzv}*g=t_6bRtJrfg{zDHN0UI-;p82$ zTltW8s$1?<+qjq82;rG}V?$$YbTW{!y?^Q zLDyi*9vCnp(6^*aV~~z35kJ&%CDnUG^BNWnrA9!Nrn!qRLvGA)l3}TGp2AOH3Y@@6 z?^H@aqh`~RYN1m&A4ne)wAUMs(D9Smh&SAg<)hrvRRqi-`A8=wC*hc(t|kf9gzznt ztp!GKa*A&-xTgotW7sd9O)>3i20Ju{_Vx(VNktCKjm>*(i+?`hpEXR7Yv{rIFrjX^ zoN&SxO&;kGeheS>mSbM?HQ%&*SxOaGKK{YBchRD%t_G8VnZKd!2p&bzg;_Op)NHb1 z=xaB*LT0y|T7*M-sFW5%6QCylEWA_#h1Zs$#ZW1E6c;d2$&tixv*d|hF|^GEebqGV z1WxnS(9llojlJz3+JhfjgXQqy$hI9sZ!A-&k4SUGI$^g5Z32BK9ws9Og!Lg16NdS5 zDS~-?aPxm;u_yh<19Lfi1f{bl{BhB0`kk<$H;pw+E(<}U9rH1#3W>&Hm7vH+OuP!W z5YAS7bejRlI% zQeL(LGX-jk)qK`iK>x2e{N9zUwDx4i7W#X--LspakW-sZTH(AMcAt%(Xf2c?}eCk&N zM*`1fh?cD5;-%~icBd&`#Ejt&oR7@e-+RI#ePcrW8*xI}R^hv=nUKCZ)7+*6rDW_z z=glSx)3t_`3gt=mI$VY05LmKpzZ%4iS?K$~a^xn|ben|pYl8DDw$ugUg?sIWb9X!s z9#Wr($bxm#l26dg`U?K=rSkX{XZ#nM-S{p1HJ1fj6R~dyvy(8L2kM!Soef8v<3b%l z1?@8wTugD~fo8jMx4(fs3Sau`qMiH=3xTp0_5=u6^P7E)$O@v=!MZA$KxXa6fYUlR z1bEfJhyvjAmX=eKI%dUIdh29`M+r3w;vG7w-s;BBuLVloMU3>2kNmoj3e*XF86BD=Qhm72&;|UUe&_AHyP4EmUujV&!jszI}`1ttop-z2VQ}4OHKVkTOUoki<9@@~yJ?7#&%Ynp|lb+|_#Sh1; zc#h42$!xstu#P$)2;`Kmwvj?M;t(e{rZBpvN8+R_Z}K9g#qbFDMPFs;U>X#d@a7ddVZTyvDIHYUBR7K^vIaxS z0FSs1WRHrut1qn0p<2l^`SJ0}^ozCBiJ-V6{=$ZBv0+=$ux+JbTWZ)=HEfFwn@N9g zdCRtW%eHs7Z2Om5mT2>k@*dDEOg7GvC0l0+XV%X(T0bx+o|YdW3qs|?8fs13N{KiY zPZK28xM;0}j}m%B4<**J%~2L8;!qkWqJ*J}A}$x#V+66oPHym0AYQOkTa-&T@(muC z(QEXKUKfRK)BitQb~XK`F(%ivw@eDDP~0H4l_z3b5#CRL$h>^}^G~mcOg^!0X)lmd z$56*F2oi&NXg~Ob`#}dbgASA5{)}n`4jw|2w@aX_Z=#=}5^8hk$_)cWZXeBO`PYTh z>J#+wSKdONS*(b8ez8mfy#F#WIjeV+qB~^t^dND>1~zZZBrH>=Tjr^{)r9*c>pi?` z`}75STR|LI*wkdV@lWNID>Yrz2|_x7Ukb7CbLsqD?lqH40IYVOt2{(NVO}Y@CNqGs z4ko}L`-W0&o*amzx+}S9mIKsV<~b}%Qb)CUe+iT_NnsD$`3VxA3^HQJWKp`%b7*_+ZddU23(C^H_k%ryV98Z#kz z2`Kf2$n_&sGI5j&yd1vF;ST8#5-;=qDOP`wjf?|l7qi-yL8U(-A)Z|FS;Ciy zDTpF)A)Ax4?>QbRvce9G)^k<-d3TUKx6wxKc|K)yk_DgWGrCHbpTo`wG(Hwrn)n4A zlk2M@iQpfrOfl#GL&&)r3d8x!Q(VtBUsT%t)X^37W~uWIcIpy3b4i`JR3llO0>l92 zH&y?}Wy4;;pnPt@u+J@+X!re~1VUvq*q64y^P5y|QX6jZ+Nik+huz^0SCSkHlX{#I1Rks*( z*~16|+#>(Y6+csj0O!N}*4iJk>Uokq1`w_a}Mb;=?EnWO1!ez67Biz;r z8ymK9rmfAM;0`oSpri-!4hqH-rFn_BVJH*V6EBc2jnJJhDL$h2gZk+&t3cHiRlO=# zH3H5aGb`86!QhSvMwOwD<_y`fDdDe8TifDMQ_7Nja>y<016abRc#K)Lw)RpUWl+^K zksE)4_pHDT27<0+g(W02`&6q(h^AB>(m%&*{0z~Ik5R2kDncDeb4B7uFJj=O>^wG9 z25Y{KJIU3Bt7(-`P03(7hr8s`Sujm?o+OqJCJnA#QID*M3{7+D`V zTI^CrJqMgFx?~YxylC5|K(7Vjt0*}MuDOTEJB0oJ8FP!8r9OEUM@<%d>fthT>9IqB zxyNRq@iEr4D}}wfW*(zm?T@);`O@w|PP)}gyC=L~T7slKs-vwV@@suilu+o^C>!zz3 z)-@qad$QNn>d8ODt8pLVH#<>`tLklq6u6o$(!fomI|yw8=>qoJ`y-C`M}yk*2W0cL{ovH* zQ2SY~&F10V8+8eBB_41kLf=-sYAX8!RQ42u@yx}IcZ+rqq(7(+6epA1hZ!qXhyGeK zDKf1Y>7XvYkxsQ-%rNtJo+jJdF)x6@3VvC#q%6@{by5?J9lW@D=yK-{k0?FZG z$5_dtc|2+D-$g<-@+23x=IL*u`cf=stGMn-Eg7|kb$T#Ci+OFD1wu$6`vN}@0eKoL zLqo{JSfG*CGG)#UD3C;{%}#k2lq%IiYUJT)e?5%%c9y3$}`pgbUuk!_T5VitJD6KAw+9O^qw z+4LXkQ&=VuRAr$aK09bpVbDaQV}AD+$n4Jr&I22c6yrjTu=?7h!2>F)UaBrxV&h^f z#>y?J!-mTdkKvECzY*Cjsw_|ZEGZbg-c4Wr-J6DfuK5F-M(t--zh)m~!l~$@BmV3BQ#(GOC-U`ZjvCnm(CRrih4C?KOYb@gUKtc7n zYgrQ85F-wonV){CbCpvrt-DLzSqs)M{(Pr;(gtL=8xP01RFT5^p6=Xu;C;R?S>X%I z@jgG1u+btjmk=VP2Q9trwM`X8|LL}NvL=2(qqItn^T@kviF!tb+T|mN8=*Zu;=H2{ zJReCqoRW5IKySfwcfDGLZuAKCmaM)fH&e=X%>3FbN;s0NQvXSC9TJj=gQvA_>y*S> zdhZ7WY*BxW=VROj72`veo;>P^>SgzOes-@X_Y(05iF4@b5ZfuEGu09Kp1IzV6R3S6KQ?1EvZPNHk!I4VbA0VEwWB;>OokH@*S1 zXF@IsH}ZEYe(z}FOg52f1r3}^6x5Z*g|Lce%9=JR@e{OA-T8dBkrU~XMK*GRjhxnu z(gxZHZ3*sb$W%5&6%K7dw8>&yrg~dSz9;KPOX(9}&p^L>(C-T0B~bl7Vap@{!UFSq zwS<2B30H1zA~8LvS29MT^jD_Af$FRh&l%@qE80*yo;6-C3qvXHFFq$>t&HPX8%I@3 z%B$%{-V8MuGyDh)#gPRz!>O>{griZkIbj+YK|bnKPj&+xbmx#)d`psyjdlRx@=v+7 zq&KlONFRV>86#e$bV_tZ;Yv&@m$5t>>yE@yV@oedCcn5AJ}DK=S|v z-nR%BuN(;5X}1R@Pj|bM`#nbYL2?C5nY2T8x-F%`Ghv&>JX$$-+3})7YtFj^bEfob zS1Y{v;-PIU<5fr-vMaS5`{)|efo&A8U;Dr}!*f7au`IhhBk$h&N`c96$-9FkwLggngFBn7U8IIv1<8JBM~E%~Og+QJmszn0+-;JN(r2+S;1+ z+l93x@z?OOD&)bySOlmJZfstM(R=s@GmD|$J0abdQt(VEZ-NFs1%I_73dYdr-0LW# zcPiLk*m}WEAuo>3R9#3ihJPOX^O4ol$O5~SEp#qxH|`!@<)3jzEby|B9Oi*c1i{NvIGz!k#vQBLhZ~f zI!ht+=}UiHveMRd2Q=TR*-8+%$fiV8U(r=6{u-9`MLGb+V|w@R-Gu2(hk$Su{sXzt zteh3Gi~|vqm8isIWmr~u5|wWfuBwp4+8s}gQ{4LSswiC~$%SU)qA-126sC_qCrlp; zVY&drctn#t%la{9{m^=d!l%b*fb~c{nU98#|2xoR<@TNd%07mUHjAh$6%>~1#r!X! zun_bLI{6jF2J|7|W#;Q?siKjb$#;SP+N>=E5}eohQG&L`F8dDQvwC zy(C`6la!EJ?janDf$HqHuL=L|72)4KM*KVWF9%il7Y<%#0{55@Uf#9AK4JKtedKL( z=*<_OMiv{G!{6z#VYR0rOL$vV;KN%RPx2oSp2-^7A5gby#oNun@OSoM)r4wKS;`M_ z3LWARI(?~83_OEUGDenR&3oMk9mFZSC3S-?!xI_&5c7^|88>hwqH`z&%0mtYZz=)` zA3D*UeO#s2qjorDLDfK`Pu6Y=Nj~YOT&C%HYuI@Z=CUpNqdk>3=#@;+nWLUfZqBcP zHhrw1hiKrtG^Bz=vYIEO)Pw49bj5wkp3arr_=F@Z= zYfE$3Jhgr8WiL2T^l6Q*LHko3r&NH~%_=Z`A)gJeMlf~p2SrhZwh*MnCxf75Q9~`u zZh<%rT=@p?FV2$w05w;{>e@U6P>+P|(`ab5Yx==2#37!s}Pf`9PT%o2~;9zG)ewI*L+^D`gRF>Iln$WzDBjOd133h zw%8Ri6;$IH3<#;7U6Ja`48|mXwb*q_Q5R}dBZlf=vl=nV8B|>$x9b*lTOJ0PG(wo+ z@PQWC#Xt`-o)>oIYinN|A9{x4`u>k#NBMEEivIWi{9ma;ks=VOd(YfCN|qt|2DYsD z-Y>6T{ZVA8hZP%MG3~2XygHP~g!?4`5!{dz0HKBq0!PqA;D_r4LX4ff$~_vFA2#~4Mu?Ypn;V91i3C^UpP|=6m5`EKo=C1K;m#c38qfb5h)}xO-`Z}TTgu)XFPeeF9T0od?v>GfZ zpOErdP(C5$v%vK55j|0ggi<7wBH02P%7cvFZ>76Ib4`&JT(`Y4J9fT z!=tJJ3iyNkScdA=C^Upm=JdeDJBE|NGeyu7mmw5ImdGNG9=Qs`SYbX)U{BJLScO?k z7+YiIQHy~ru0tWxC$KE4Hpb}2p}SpT%|(MY=6`vzape^WEM~BIGcnNuU{Ez4l^;3s zmjz`zJrlb{Za93X99uILN_1~1rwCK?V#M$k0Fea*?3&frbQn}Cb9J~df2Q`XlmV}e z(}F#r-z|HJzc~E(gL0|o6tK+#`g1kD0*%y!)pOg~vs>WYZhP?W1peKZ@8TDj!HH=; zYCg4q7r@6S&FAXzk)4OyD)bTYHfSW2+hxa;?7NnbQGF*4?D!z$T!FkE6XF>X%zdW> zUn)+#ipcrFYs8lfjz%vFJLFui8-EG?U+ClAE{~8nu7& zJVf?hNWyT)?4R_ tH5{!D5;u!_-e;EI;%W2fE$cXf7<}Aa17$bW}f6<^Nwru!3 zFN3Tc@)Ah2RgBBiD!}S2^{=Aq%kf(70*4h`q3&hfWXr`Ep9s&7kFa|Zr zFnA=LIflyC>PTt|hh_O$7C|&7e_JJ<_ClY0K96D9Vo8rGTE11k(Tsbmk&7@5l6eR} zb+HIDf=7o#aRfo4>l?i~%+9jc{HWW1#a|sCzd}NB1P|tG{)#_?$Qr6mT?I*A;V-8* z+=8&R6bg$P{ei(?&~u@?m9|>`F6t=0>Z*^h5R4Xe{~igSc(1b|{@%KMr7d`lK;1>Y z{FTLCDK-D24igps9*uWjsaq#t2n`~LZ+M`qlE2C+)tlA^SnfBiEh}tW5X|1-wxt;c ze_t{TF79X*1L2B!@JQX{zY;KmxzVEPhgq=ki7y1^!F%$Y5xN|beWS8Qix!_aWI(+x@G2KNIuO?y#ZH+FZo z>sbhngRyFP7eXs7jXi`P{&;Bp zWSlony3g|F>>bYXqaUHzcl<|KVOgZ4UgDJ&nIu8kf~g`F-A#U~ROS$Usi!QpG{yQ+ ztnYqSSA9vV5Lt;I3+rD+c52#!+BeWAB6A6Q_p?6hMRKeEqofY1pWqWQdOr)xT{VZw z{qhB~=x2S}Up?* zj~^QFsz*XuKWfvsZs;gEKCaZpTQj-_O#uUQ%O?XrG()~&HM4=rfu#a3ye1le*S8UmUuk5^&kKoO1@ zWrj>bk0M6|DWj9QdPk%(L(7iJPzkcIQXq!!Ve;au7?WS|99iGG!LP&Gh>;WT-yxaN z>C=xyVbg*Mu63I#C0nVgP|)X(X?Fj{RU$OyWbb*m(_#OD^Rr-1#jo6N+aG+}95^3Z zAN+8IsP?myG;?@x2;Cv;benW{2{Juwdj15WKJ%$F@a&MNq zGVu)5q-*W0w~)u)IUReudpzYrZsG_F*{KH%vAePn7kr5KHi%LrReXd!I4g`lD~v7E zM~>+umf!2Sa7-MJ`9Nb6(Dj*=98e*ul@4!1 z@9?)hZ>K8 zr_cRb#(NYlPwMgK=Vko)C8m`4^Gn2^UuyXC%L4xVUbs;x;Jpi*)}xOFym$0V0~CLW zdeK5D8q$1JzBF%(8UjfN@prm;>kj?6WaoH2%{biUOqy!!CZ-fi@P5DB8uO6h*<-P_a-~hJ39S8wAHh{ni5C{R{_uYR0 zD&VPr3V5PH1w3U>3s3=1;JwBSSy&Q`ivkr8 zN4C-IHoGas_!|iJx4>nwN#7@>v2pPZy#1kdd$QksSob=;2dE-Ys>W^?TV$P3ZwejQ zW2IiJ8$3&ok4nL9brsx5ucqRX1&A#FFV8I5{b|y7yb*)xc2^QK6fkf(=3xKL4iH8B zBWT-hcO~^=3*sK@098P$zjmgko6)_8s&ZX}&E#U2%kGj-CBdYuuFywa6#pb|cFB`n zxOy9+vm*52B$!cQH2_~CWH&xao6<$mn%`o}vUxxIh|EiK2@Fhv>=exFBDJ`EcSJ zG+%jBmjPRwD}(dDgwXKxucLBY{Sj0SCU}@Ys1(tt%OK&yNd*00kKMsaQ?lIYpTTYT zV=xU*KL^urFuS;t(_I$)#hGxs&%GN9PQw<-;FN&)uT6S^0|(oR`1c~@h19ke(aIu4 zMA5SQE4UE)My>E5s$nHy2vQ^b95_S)>p?RJWPbpHfk~VL_)ytw;PagyQi^}KzG)43 z!_)sC7omiUaQW|pL?{9sT-5*_EOelQ#s4ip2a7V$L0&Hyn=b=BSm>Y!i!TE`Ah?3Q zuaFJQ2#+%nfgYe@>S4fxNC!M1Cj^l-uK*szRltL27>{VTiL6`vKK|>l2QfOYQxBgV z!ng+ZV9D?Pq8|2uno@v0h({a)vyS;Fynm4EkB`)C!;d4rgg@3kBI%D@0Y!L5QU8*( zl8X;4_DIwtDq$Est;0*GgBkiVzyggl7byQ7palo5yPy6+^n%YA{uj^#YJmy<8xRF5 zP5Ltk0^`DYnyeJ`5aIM##}zx78rkNbF1GX48s?W{~yE|c>3pX2EMFEI(bKY zX{-M@2Eo(2FbJe&{W?m+ML_o!Kps7LutbB&Oazgz*kS^%V4$D(B@%)9hWl{*T>yQ2 zL=INMO)$qz4uxm7DS-$qa;fFPnKi*Pb1vX-lG+v>_QfMg_|-?2<(PRX`RAR2d7XwE zu>TSWNW2I~4vMf9iuRN#nlonF<9MuJs}OnGAM0-#LgW)Nk%8mQVMNG%-zAnssP>_m zfsQ8Wi}2wHo(Qxv2J(oS=5{{9MaFQ`^Q2~Xk?qJ0$5DDr9q zcR&?5jca7$1OcYrn!uETVX^9B0| zEega02;o6BfnVZ_hTw1|_W!pM5z} zh!L96zr6U6*c_L<+n$n=?zQ3Q z9yI1>A@(MOhfR3H@VQmO3t21pLmrV!GFgM4rUHc#R$exOe{LlYk?Q>wzFU(71L+~HG zzJ4uLziMHHZCG@=FpR$mBkSJ=vQk1=krO#6L9A@ZE9CYN#tIDCT^K825e@`-JBj^q zw*ki$zm#-|_O1?sLKHAqXoEuxmQdUKCF$`|rf=i&n`8tE0#I)4tAJ47ni}2U1h*&r zWnp!TLN^mjH#%5n>EuA9D(!-YOtYKc!vBH=8EC8LB}{7AR-H~?997@}wK$r}Xd6Lk zidzbmh}(iHF5ljT<+n5g7ZP&V@Rb2L?Du^sw0FXYN+El~egzSxk5t@|L>zLs2cH4~ z@0S2`U}r{~UV&wE7>wo;D@#T*Q=zYRMOX1N^-^PPgD^9PA!#n}grvE|QK`p}Dezu@ z4l1Jn{*bHK#ZoN)1yd$V_}@8eisRfj3e~PiJ;aPUh~e=$po~&?eF<2`e+m>sj`&eW zY;Dhr=ol}sjHlL9lu^Dwbd2Zf$$UP1@t;7)cu|9n@jv?i!#~mcS3TZCWBgl9AM1!m zP-$`X8Cm-*U8<*(616-wQ1WMCz~1dgjr8x`zLhq3x0AIZPoJ0(ORZbnqSaRc4UYAO zgyJpXwoJivm{C4iU~7SHny&*V9l~iTh@h(yG|tYaG}yCV8qe+togbB(%|R1UcfKzRo5Go>j8`PT5*IcV;mZ2yBR% zW|?H!%8H!z2J!K63>i3Pj6evO6#)eWs1`X7y#TltL~K#&L9u12TL+aOM9p26NFoBI zS!|7$eWdS~Ade4~x`iUvdx$~+3vD`2psyA&lB_5t%`y0WBDhggTSGIgOJQDc^+_Kg z5mxa!@q(xHZlye`SvAw*D#QN6HsY)(_X$pnvjj34W-%~3Mtr69BXs#hH-Jy7^L{PX zsNliYdL8r1ua$jv#8enxvvjx?*5GnNVD=drewHpoE>&ycQlm1ja5erELucplejcBb zYOct51gozC>~QY|t!kwD+B&%Y6B#|L%V;51xJC)(ZGRayRwt&(fkcR~*`kvP0~#B{ z;max#E(NHlWecSj$yp^$HP^y7v6*=XIk0$fEpZ+U4z$aut5sm>RPe8qP}3>Sm$Wg+ zZuBCYtkJ6VaqZ5-3G5~?r>H<6*CO#CaRR4iBIF5NCwA0x2t*)j+_tbWLUk6Vu0Xj$ zXeHyGp>@Y={R>#bKLyjLo26-(1LybM2l&D=>;*c*`?!v&gKdn$h}~BfoKvTIW}BM% zmv0!&E)jxt--=-QOA$zEBI>Duk{lYMN z{duLv*gt~AVORCbM2RRB?s6RYY&i733Rjt$Lo!&?p*}*d^pcoIswzRnhdF$WPWTL? zpA5{j1@Gxg+$2ybxs?X16iDE17nHD1#dmCLu1OXZ;U&@GG}&xOX(CuU`M6LVN0l}R zR$eqAXM}1A0;OE#?)_w@MYVe#D5%wFwUZ5WNJ zL=(Lsq{UwNGU8Iq*im@}<%%Dm1Z&{zvQpoEcKek_lQJK&+lhW~S6)EY zT$*obozq6essRMGRHe}7Ts~UPQQABTv=YCU)26@}M><~|*tVsj*TDNB*#cIw!`vLf z%sr3$F{A@R5~A)2I*?tn7=gDkb~P*VU70g^S>#MUW<-kx6^fOxHIp{qG1MR$hNISc z39Snl0)Wc;kmk`54@ieJ1pcrCJm@)331Mpu{AvHljJZ2Zv8uM6o_T%Ejwi3mC%Gab zsc3dV5?Yc2TwL@c{5ERAnKr!Ei06QemRnxHV z+4gTSLSLrw+MAJ(2}TC7C1C8lR2W4eMNdvhHN=~ENzS-=Cmf()!NfbBwm>K-eoDlk5MXJ)?-=> zog=d&ASkeJzY7;ZyoRGMf=OxJ^g;?{P%aToq5rWIK#n13$1Z&sWmG#CvFi{Q@v zuVQ`#4Blk7Tek@HOmdtVGxSwFFq77XOwXsmZ!BqT<@0;Xkue?_IIB4E_8y)7Cepkn zH>-+D6%fuNQD|hbVS)xit*wC1gDvl%5w)n>Fe|wkk}SO$$$(ez!m^q`EPD7>k?-QA z#*{tN&obwoLD%V=M+j-z$Sur255f7a5=ymK_B4og|-rp1WHled1L8$NWc_Gw#0=6)Fr>6}pUjUnj zEYA2Vt_006Da`2aREIODnvFF>5t)cjF}`!2!rv4oMAyL$zH=VHdqD4q)!I5e2PQvg zm|Z)C!_n#?Q-u-$_|wEUt&1Pk48*UMf%vt4AiUav_^y2|(pBzCKFzk7Q6KqhK+;Q9W^eaNcS>)h}3PQQgTT?qcV*E{V&Dy;`#lPPr+ zkg7+fASOWPd(i7C%y(DzG+NT9jnobr0m^!vM`owpVfe3bB~rK(IfrUI_~zS_&dL2j z)PVoPgl^t%_rA5-U$?&g=IhSM*V=ta>C;Z3}))VA9`u^jbbBeF3k?JS%g zUTM%Zos-V}a~=)4z1Futs~qf>(?%ipUhBTq#9+Oj)_S%uX3_aM3_N6d3{T&P2VJV5 zC#P?1!_WkaY0dO>)5`qJf}~7TP0(rW1oiYnyAOaS86Cr>wk_O^i9?jZ{F*R##g?&v z#RJtZM`~9gX<_2yflZzlJ8(wpAd8Y9)VkaJ1c!(ZrrBy(AFOr=`$6C#ZIkF4uu6tK z9i@;ZXmcnqHfF22;V3OhGsl}Z*QAqO2!M~;h)`1q?1?~2fNdnxah6?bPE|Hj`MG#N zb63fYm?8IFd3>-2ur^x>3tLn8HwI=TyZtl%W+0+femw=m={|)>NCP;9X0cu1K5b5? zS{2lTa|qgndU?=^#XOsPFr&462(wy0=XBYLMH%HmC+w8G!DvCJ>}v~|Y3i7lu(V?a zBMIMS0WJl2d4PujaIA!+P%VANud2h&vk4QmInJ3>`~>uaC1;aOe2UzBGlcTY*baez z$nL2IFdJZ3@&<03q8#|`HF5vMV-DxQ8^R`KwO!i`U~_xmbSx*O-~jhl*X|(=N%84E zOB(zEqBCl>ccu?#@<{c-o*e@hw@U)gqvX(`Bh9eHU=?t&YVC#fm>1Gbt@f7Cr z{ci6*kW-*Dt&`KQPrrW91?ty=t^fYX*QY=P+bb7#Op&(N?LGLq_bsOVx_jC^?e#Ei z=j&cqB%QdZR7y!Z-EU7$PAF-&`)&7IO8M<6lBX^vow?a@@VNG{25R|6XSww-9wwg+~&epp@K`>?Yda z#dvx|1r{p75GE`u1S?_&y2wCj06b!@@I%=cxUS(-;fm_F*RNir>GG%G<2qQSY|eE} z5ICs*_9R}oVI<>sI|CieJWc{11|f9kE5w)bcDtkY?Y|5*use`#c&}*H_}pK z(A3Ce^eYs+x>hxXxnk~cl^fX#E``VpstzWhAH0^MUKfV@o%m!f9l>eiI#+RPMA(Gh zkt-j1h~5M_(1&DA(-0{R@ByuyjO0s!8VS3Cx=*921(YkqdEt)ZB&``zPsEs%jKtGq z^A8*-E`CFGaxw^=kodPPp0Tu@Y+GQ8bzZG_+Y*`iC6|yRI@<2?I?V*7W2{WdFW{#M z>;AlVe_)2IXQ)OTh~p}0Fe*{vYuNK&yId14z6RbMSgx&0P*m{KWn&jY^;&O=%vV*3 zrFWjFgYgMH2K)(-uvP>+J7m6bso&AS6c!b{p*10glfQPCoHr@|lEnQRmtVX6joY`P zb1uJy65wevU$16d%N&?6nSct#C^Q1Cxh1+tODaCsE^M#ecBhX@JtF5piWEoUNYRgT z?W!k)RfKZR#3hh;!GSO%*fJ?ewh|V=DKqV0bd&1B_KXAScG!tH`nltk`3nHL?Q z-JhO+GpM0cQ9IDC9JTO9uxG37VjRy47l&`t0(noHW+b>IF9_%2s6CHSgQ-o=ufFfX z#L$IjPYXOx;UsyL76fJwOY=OpqS zQ^L99l}j2Ln)GGG&`<>r{%bf&hTPrDTRcW5vi=KK^jc0j;UH(-X2Ezr17sq$pw^H@ zR=CU2KbV!b#Zt#RtcnXf17solT_?+eT56N~v3633aO9vrXzaMwP$gGS8hS4!4ZWAN ze$b@oPl{^?OK9Nzn~jAu@JbP$did1SzPc=YHI!+4qozy?^^;E>4C{zkCZD<())lc@ zrmxfj!QweaGE9b#GCzFOtMQ^-4a}a2yk!OS3j?hub732O6lE=rvKB|QI54KoMW*7n zhriktgGM`s+Qf=PrBN#K#-zNos=O)odPXBLeG^-5ojs3_kG1eFhIc7kyL?EsrPJ4_ zFHHav;r8FdfjgfS5n5|$GF_(45N(0J&xnm}KXcg|*M@DN`Np-{@b(kFrOltj+k1Qq zn(ygNyT7O`@wHyhFt6vD>In-xEL77~@3Nv^zIxVpU#)d@KA6A?2Mw>8G+^b;ZFox> zaWidr@-1z+&7c8m71*y7h(*wF?F3@`KR_eq>?Qtfn5j(*+G0P8_rRv5Y_Wfd_r!*? zE4u%BpUU%ZPBZ$CD)fT%FVJpXq!y81uZe_s1tS;37Rx3!Tb;I3wq?wDbvSUyVOfF_Wnq_3;ivVreqrKs0<$?5G|tk)E@*V=8=iV)m#8| z20XE*>q5)~{G^o2o0N1UVZs*}5yh7ROAZ{p3(SIRttC5xpm#%eL@pc9w_e6&u5-Rb zNnb=)-_nOp!0317z(Az4AfaOgL#KOb;5$cM2K;=ob&fi0wIqK?(riphcIRnhW3^r!X5NQRx3X3 zuUfL!ebj4$Ac0kD!9j5<6=(Ys2o%j_#cAWmI03UPAQ?3P7 zQ@gY6eA>y6Z+^STba}@OB;)YRA z&Qh#39UF16Cg?YgP>R70#S6AgUX#8$@o&hsGeVs!{<<|@PbLWUiw0B~oZQ5O zYQ{^%`W4kBbU30-LbJVlj9dXJ9SQv-?cfJf5IwyLZPC&}GseT88W(d-=xH>w*E&fL zt0X-+?;aobj?>KIDG(LZtfU0&yM+MkGKIiIGJi#;l{SSbTQZ+rb0TXCz82a^+F93P zTSZ%AmQ@{ys;rPRXZnFwza&w^zhc|G(R?D`a4SZ_2V3b9|AeK3@t);p;JRGnLav^c z>l|`j#H~e;OatJE#4z)Jrsjez5no!0*VjVdpgUoF0%GqDi{BRCioisH}v?!tdhd^VosE_+~XtQkm3KrG->! zk^KC#Am_=rIn*TPLrrABnz~#CQXx=f4BOc&7bV+4iOU1_LAAQ?N!H<3__Ix6&x13< zT%$>=Y{Q=LIcAa_)W%wQFqb zo1Fh2BlQYxelZx^<`}quLC@t%6Sp8?I z`Bo5srx>?pZz=4lC9#Lhi{B|%a_HT7V?HI>g_)dR?RKcZjIOfZLJ#bAZwYK0^&g-% z;-jw96u#q*u7N)izEEa-f&C4=ya5Iy+AB2bcg`Q7GI3Umpt%;Z z9C(5g^7B}VTtt0c85cIWOL1tLOgClN*gsV@y0XYx%%O&yPM>a0(<;3#G6nVuM+wdm z$VJqs3G|w&PMxA4=jx=fixSh4grJ#Qvt&(?Qo7r;$ z>DIb1*wTd(R@+=R!bXhHiK(3wRBF?5ed*XM?qMz9V;kSaERh|DGYds8^0lMC6rf}zLXBaBhFOZTxwjpfy@(ja+ZNM0L+)%tU z63Ei#5CkQ={EE<0h=z2j^LbdpW}uw~rUtNDY;`9InB$QW4#YKU9}bryrzvt-@CK|f za1Iy@v_BsBgO0PNSH~Z~gKc)sCz3>17)ok%N96DuO7RhBxX5(F`b9*rDNkViEiEQQ z8B=SwgNG$NAkkcsX!?1~mL!;l2do8#QV3Fc%E&^GK0Z<&y$sBIiBcT3Jg2nD(T7f6 zay3?8`?yZ0*(3py18s_bm*9$v{`E1C=Oc3=io$Dh)b7CQ#O3O!au)Jzu~27=JfbTj zx}!=p9P>+(u`eqU*q$SQw}YlouP>p_Drw%i(C{VtqXO3Bx|W!EYETtD6O8O3a<(rb#<}~A0 zQpkZ*FOrz0VZ&>$fX8WujX69_F((u;!qk3&Pl#EHPcBT{{wth)zS!um`4kQ}PcY;f z4>a&}jZd%nqOoXh8zx09$*U$w?mFkMrL1nF31D9%fAa#rHJgj(#%gbc3*popaDn(c`EqCE4rWQ-<-ciBN~1Ksop}83sL2V{B84weV=dA z59PMZ-tq5=k$6Z|{r>p)>G>7q@Dy^sf^07=_HOX~;HiCe-uZnDWt`ydM%n9Ap zQHQR9IqEnkPBAXX;(AV3kHed(EUxPS9fsc%r>EOS>ib5l2#30mwn`{Cx(KI>ED`p6 zH^+EALUoj&nK&Izzzym?(dp8Awp}_s`7ZCyoa{DIml@^eu_U`}q9QY1KH*m=yMO_J zKJJccSefD-9r1F5=!~yv#;s|_p;rqG=~4(z&BR&5u!v${bYWM4_ciq}Yi0qdDBH~w zKy?z<#DIb6VNU2+25U^^*%;J_8CIK$69GU|JcuR3PD;k{71B`>@d9aJmp}n>Sv2Qq z(`H@-fI(!|tvtcy2gXi6IA5dIL3W-)j<5^exkUwp+~8PJN;n$EC_A!3c#TJFE_!Hy zt-#f?GUp7HEV2H!ojRe2&m+ztqS-{H$WV<>2c}0_63*p@0A@A^fQ<~)%z;yLpoM2M zsvxEdaWt58?SUKWMCj%V4l<-&c1?;{7F5BUzzb=7?{+bM3w8b7JMUPxetd7PSTa1W z?sg~m0|X^ttMl$4aZ;-Y8njkGDdI@fxKmi~x0?BI5>xpAHZj zW{!1>Uhb~V4Z`AH0F6IBe%BHb5)(0sDW7+ltP;2zRnU|@#ro99Td(ESWv&e0{7#zB zpz1t4N2qasI6AeId{(p@M-f`}S{LB5D{I3e*b7s3fxx-gzJT=jbbdzfubgv-bWbfk zielu>F}z`KNw|W=^j)IH1M?}W;MQiHOEB}WbtYJ4!EUE@5_^a)y`8%&DiZBsGsm4A zhAyDpXu-DZHG_d-u+g)(>?ylq|1WcI+TOO2v$BXY!ouos31GyU}}BS65fv^@MhAhjwZf)xFCE zs0&4ay2=@``Cb7kZDGW=Od)@vKTqIYXOB?Sv3{VGxzO`kj8kIy7?p@wz$Zjesr#-o z@sUP7kg`@_RXVxb3s)rxC2LG7d^IhRKOkK7h+tfaSXE{Tx$?$37ffXizW7e%5ZsK| zsK+oT zA>r=TujlT7ov3#)#3=K-S-PRfC9gu14$)=yq`C639>WXTgHry^*@E@W1BwE4RfRBg z3*{VaE?J-2Wd!0n$Vr1Lvp8g+LbC)@=YI3=`T_J z4vvca=;CpHO0(qNWC0#wa%m5~UZVeYQJBN`=E#CcZA|EKwhKQu9ZRnn6_z*b0%FljN&+32wepoL*Q7W- zM|+8Op=grsqt-=|$Si6sL^r>%3zRx7UamCMiEvdC!{K(>nNXNtNQ(=vPRf{z#5{uV?}<<={aXE?_0N#59aQ zm9iH*^Cy!uT0tujw#%jEN-N9onw~y_>QV^JGk^fF;!+5`GsrJlZ7DRVbgT{6Dzwc; z-p*1I78b=);;$mCC3Uf^7}6t4wN&Qkylw>)O1Pdy=aNzjh(MHD5S3bx8cETDFeeMY z6=_+OOQvLXu0fOADk(=vHLIq*OgeVjn^6xK<~)pi+*Adf@=6eh8n1*-f*G{!$l-H$ zXm-utLsd>%mp)q&k-D^HI@C#~E3fckiI$LsfPfLkE;}mGC72Jb`(ni>_pf-jSn=rt zR=oG|6`z_4HTlSj4{2nI)$Y_S+v}YHC;>1BSwp46*$gj%i% z7ec%@rPmo-0dvI2)xZvKBtv{IWP581=Plx7BRU&|2)Upi3c019{tV1xQ9=5?f<>8C zDl%)e?xB)GEy(Nc(^J;tv8t3Jwh=gog)eJ}me0+VwFVBpd1GA=t9n~>fO;CHZY(tm ziW65*oiMLO-HQTk)0UHsRl9_Sg;_Z!6bfs_1WfbEX78PBRr>*1uGE6qH~-281*LD& zVmo+QUYW3Evc>g-S!#(G`;8S7aXz=MS{{w=rnxcB#U1Z@eAtW*4sKel939(O&~Q7( zibmTv=G6Lv5?(ehjf>`maofDr=}c9i#oTtRmpCQo2ZH?J7J^#7p$v^B5z3*$ie2Eq z{Dh|BTl1Mtr?4lOYOm;rrrJB}2deRV>lM}bsde6b*V;7SkF=-Fr=9gUy1UB@&^FC? z)SCBtXWb$$VcZ_jS!rxH7lzYZ8GdulUPnt^^n>||&V83uXY&GoZn>jyQs)^>(NOe| zsdx%hJ5_4rL>AE}<)UuTg#;74>v4esyoy}Mi#-*8`94EO&%(yg6at~%F-_NDF#u5+ z7I=(ORX5DDg4W4mrB(Xn`~Vr8J9bEbc&s;EzBFJC_eCD0ECsq(xAZ>Rv61! z<-)G`IyARoiTu-g4sA%u8Su^ic7qUEazwI z#8oHjeOceKU@Vy6enDR31>z!)r$J`8gK09P&f$V?QBcLP`h8_AEkNJl%O$?7aXf$D z*9-cZ?+q^9RAP>%%7kMI4bbZ1_?+550BwfL;{FrZ@~v6Vxfm>Xb|p)Crn| zDpsx1Yj4XvCVQMhTL4Q@Y(_sWbt+p#N_`AhHO}F8zhtZvTYfV#>}Fac1ag{QE2dMJ z-Hcj3-01zN#Z8YmhOjK4lGm1LNnGWXDix}QK1eS0-!;i=Q7!A6MBENH$%wNiMJ;N7 zMWXepzJG&~5mpT@cq%xk%*AThOh(eYA3!|sAZ|_3IsD}5rWTI76K|Xj)3FC0EX5)C zch*`;t-!!DYKWQ!1NJqnKA6llZXc*~6UljGzx2>;3{R=IB zRgHh$vVsNZ7EnVFN?%b#t`%F$b7g4j4E3%ema4>~WI_ACTwr1bg5#aJtt7XeWQ#$46gtKpi&k457MogP8x$5b;b<|0WvdO7 zUeAd5%@jgH*7{VeQf;T!DwR&nydNtDrlJ7~i6?56e;sV`Tq97+Qz+4nvLc@E?qkY= zROff9nze%l(io<>eY;n_TQR+6$*TRH9j08Eu>6)691t{O!FVMLcS#7T->hp08z+D= zF0|qeAjWRd@$6GdAsE9PNF(Z~>bIRd95w6!;S{|WHIm{-@TP*X7mbe$qNrVk=g5bIyx2Oq7Q#j#^%R+$Hpse$&~I+(cPZf-Ra)$-t9%A zo~7Q?k{0t#Q71Km9VH`H9-rL0!}~kTyYD*BYdr@->TXYRcPMBARVF+i*zycXfGMnS z+kd*M&OZw<*yfB+d!XaR>5W}s701njC9Iqbv%8-tci~jy&`W54P1FqeexDAyL!wk} z-JvndIQ_3O-g97s*>Md>J-js7E_C5XrUa6pC5U^@1XjJu~^; z5buUP1LMZJCW*kYMAZs!4CZdV6hLSb>6%4CCtY z5~ixTLkHL)O|R%neG*Ic9%G?KL)q3?RYGR^FjkO4HJytu{2t_Sh{_C^CVqZV$;RH& z-`s0ho&1J%@EfiG|G*8P*M946h%acL6lcKo!(;})a0A9PWDT2#eG-XJB77p88_pm0 zVJbdMw=5J$+-Ma(Tm%zZweXX)u?#iOS~wC6_U`Tv;=j=yR8q*I9yfTnMA#Npv`f;2 z*ChtKr0@A#IjW~b{ZVGi#aO;j9bSE|ruaj+@OZ7<5P#|JDoF;al4O?^zgVLSxBk%T zf_-)J*k!A5UIpJYOxF1ViUm*=a9YEnYy2iYD9+I^Cse+Q7;7fYC!u0V`A^jAH`Ghk zs7L9t5(}N2-GaaS$2uhMirs#wEBI@-EbYw@9SdekPY*f?1A4x-E1F(0a9xy}_p*0P4_1;LRKx&a;HGXawtfbuP zH*s0o8R)EPp|N^3!g_falF0{FCJu!1bsr+h%zhR(3XBGYf*p!B3=_pXr7T&$8HLCq zSj8Cym4#G7H*@bQF` zq{q4&fM|jB7;m9zQwv#RU635S^=3jYRIE#-E^Z{@CW`62JJ}MdK^=LB#6*k4M4P5? zaU>{0k0}D`KBa2Xe@s81u%9wH@l0q~q5Tf5DG?-IY+a0SzFOTD2nq;~1L}Hac-%STh{VQzLkDTvJP?C zjJ4qMcblF@r5%EiN2-lWjl)d8Z7Ldgh?z-M`XZfWWx8@~Oh$l4-^rDgyRldtGk<85`1p0e+nHE~vb(+oIL_2dsjIa^y20(b2VnJ#@wheH;7S{W=a)RtT#G}wTGfS6YXb880T_2+u7c@ zSE(FG%`*NZA{qhQed2Tx!<3TfhQa2H1r$Fg3(e^NC|WqXlb*+)(YUyJH1I8z9`k53 zMNUu{6Jz>=vdprg`2+w>R>*NycSz?21au%z5rLhAMXRn6HL29`8AB`&nn_1dON3i5 z$|Y^OrpzgAM!Hy0wk0cLQEgJ#A?KzQw6KhxJ`;VexW%wrB9sQ?7(Q~4c@uy1oRUn_ zySpxz+QgHB7^A3mMm2ySHH=X#9R3uFn^BFOdZr^#_>qaG0Y+RHX0Z(wZ$1fDAqP4| zpgV&&UD$eZpcc16T2OY&(_5Ou&pthm6(#&dR53+zbGz=Q3h*e*lK8o)*nTVOo7MJY zlhqYf=SiPZt)qf)^iW}BOcmw@!r**(@aaIU*-fgnueYwG&x4M3)eKv9GZ%_XQ)AgA z?vDP(${L?XHQ=Phq|J=x9*KqMG6F@C^9qXoWr<3D@Vz)02Icz}Wr=@a*M-BxTn`1T z2lMmWtuElr>J>iP8)D-&K**rSF&^=>rogobT#xYx_hGtu874`1{nASWR`r%vkEj$a zQTQu^TABb&@)pbD4H(s>ONO>gY(>)Z+&8v=^=!V7P&p01!H(Z$Cikb3S+(JuE&D?G zxb0hc8l>5xS=0f;KSLkXQK#a`luyLUx-l}Gas4jS8$w24a|DecDrn4f>VV$X}k zR*dt?7H%+0dDGM^RfXQ^32l_N;+$D6_H;WE6|Rr;MdUB;0{;K%k_d?(mo;(Q>ICDk zcEq33;z3u>WKI72{5DROB`px5T^}yJ7JXzP;7xQ1D`1bUFwdgB&abi$4v2zS zmgVt0ppHODRD=je0Uy>wn<%NXl~eD>tNS}wsXFGtdW<6B8a*pcOuMX;nBjetW+j&+ z*^ZX2x7&7hr;4c+(bNigy1~Ju;tvZMQP)21-rb2O;21d;fPpLwSvb@HK(#g~7mUG} zdfns?U=wIPf^i=lMOZyzK_2DMR8&eUZx?m=$l=_ykTyeDIXw289vGN@Gwk>VqAu7N!zah4x!CDQ5Y#Xwbrn(L^fcs(CeDHkZbtxsXSBwGSuG@R37{F_`~U zMnwq(6F_6KB9_DgRih_b^0eCFQkvL#GrP>*Gn(rb>IRy)p{Gsh0xGxgpw$Y$3k0ie%8t++SBp&cowu_WlurP%N(xqD1bZ=;_`gS10G?kTxmlKg zBcSoPUL~6vT#+uXEZ%@cR$CMJnCz_iQ)|ElX>9}UY9}Vq?#>f z3c-Nf&uR0{y9$hx=tLS^s$pb1$+=etl_HxXkHOHiZ-dv-c<$$04{EL?%Ljdr`aLv) ztDi7Rtk>qQ)qq@s%MzR|Xq}!jvSA)|PBbzEjXVd94BKqMy`~_V0=DEIn7aVpiIXu6 z09#&WFJgN|5FjJP&ZsS+r+l@`i(O}on3(&TEpS@WcD@_QAg(6OHstFSspn>zYnEtp zDn!RI?`ls`(MO761LZlOP-U8{ngVwFH!~v6`%&V(!8d&|18}P)dk~E%bzYpmIHD&D zz6a5ZO5ZxbXUbM5RWKuBnk_aGn<*SXY?L@h#5s9fRP-kvoGiov3Jwj6xg?%`fhnM^ ztR+=zfxAJ(p&v_wyVx_h8>PQ}^tVzUigl)&8ER4<1;0GtzB1r`bv%}g4pkY%_#=b3 zlsBPv-s?GItdDG!6&~5jDCt@MDrc*{z)bfUs%r~>8FMM=))92crTJCB6&bGm}5C%U32m;BApW= zdqqc9#eu$!Dvo-r0BZgPh=AgRCuyo?F)z!lGo=hiaD;`1fRO4NxS>k;@43_V?Kt@s z0t1V|C`YbEf$Tapfh;f5p;<%GV6i1OYvJ(|u0&-#n`Cf;58g1l^rx8*sm2y+0OBrz zO;K!1Em+9S9v8Q7bp^2(8aOzP3uKGDrUB6ByfI6xb=D<`85q93wpi*T4W~Ul$D{G5 z^a}YP%I23A5P#?ks;OjSC=dWk@UBekxkT=Xr|FCmw*;EW&eukkaXFj*o@}gsj*3#L z7eCC9Wu>Iq{$h;YJ@t(XhOYDKW{jx#CadT+wAk zm6ciOt0)WYS9amPN{&Ea3c)T{xlAz+ilrX$5E zVQdMf@)o?vBS!i7hmU;RYXy9TqkQt}{!g&2wvWciB+&YB8QZ5E`Yk+`tN==!KvS`p zd|!!Csmq52Eo#_K=T_FLGa^fa5l#^zz?0CpE3nuPx&}65>hTCeN94V~JS0Cw) zT-g&cK&3fcM0Fr>Y`KdIvwBb`3?UQcr=u{~~*|wWW6W)z`dK0>OGO=VsLpPkkA{8uUQX3-_myO414>wmJuXF`!g;i!*{ZU1OUKVyIy@^Z9cvx5 z9dZ54EZtJFbdF@{{DP(P;veiEw2-m1nY9oBkv^g1?01vjJsl!DKH&4ai}>Zx)ra1= zciNrM9yvJf4qNmLOl{3G@UGYG1K$Z2(PWm;6f7Y21w|FN)X-RIXk63KxTc};r!_SG zUuo#)A8qKjYD0ayVAAodG}PyY+6t5I%ZAzyVbVYQ`J*-Yb(g2DV`vrLoq1bz*}PV6 z(Wa;^)fHE1Q_RJnJ%`4}ACa(*_)TDlK$A4mK8K1$0!(TB?yft6oTrJKHAV>ID|*lu zJmUacK%~Dq8SnfM@!u4Gsn=j3FRfO!Xrk!$vZ58=J*vP2tpas}EpPbyLerY+>{6Yt zW+Fo9bx$MH%L3lIx0W|4neceXXsBG3{`OJT14V5!s`Ki{IjHwRfPN~w@+%oyejZgV zMj0*BZ7OaEUFq0RQTW`;#?VaUJ|V8*T7bKjLfE>|Q}p5;D^%WmiW5TuE3NGD3i5jD zK66Q7{IEa>YuT?5gr|I~p?W`JfX}--sEy&7xK~YbM~%ENts(I6pj;sy^ag|<*-58I zM;zjv8T`cIi)fQV2U#d|^aPrlJ`|;KIW@%?j)AO)SrnDxKeFP9=C@)d5HS;kVchcZ z3Z!mHA&Sb#ZzI8)8x7Gjno{#tU)0PuW3E$taIo(qBjyU3SC6daWPcgx=|Ad<0NOb5 zt7Ou7PA%^f{BjUCWMFkcD8ao>kH>()R5RlpE0j-yn z-4g}tH5C@+8Y@v@Hy6yCweo73;H(7V2|XBMVbZB5ju=Vlh!NEtF@CR5ObZTs0ZTCH z32T^Pw}yhUsbN#~bNAif%I7mhF(p4%^h}w3i5vd9qA8S_a|FfjXwDObL zC;>V#)N~SH6cRs|4O~*l!@c6(!xhQ%%L>ozA}@&2#plJ*qEJSzRBOs=7g>5?ckIIF zvk*wY5sF)rV-c^=!Ji8iVm4jM?>O_yyB3#E4gX$lNz!2xE`jBfut^!ExCp^fI;~4p zSgaHZ%&EAfzw*}Z{LWH+H>fcOR_jDjE-im_2$1q0qUTb=*eUxGDw>P_Sf=_~9RCk&s zV_Da1R8&qzJQbbbqmF(vFAy~>UN>9%Zf!-K>~l17W2O1Kq8OQ$R&Rk`fl+8ck%#D? zv-JEqOYd%R$jgEGOW66=lM5wGt8E+DYfD zx#WPgRh^}rcoh}7yPFcFtT!e9Am|IwESS0siQIvPE2@L(J|X^9x=)C|OpEK;O;=pa zs-TpMN>ik9d?sK~6wlH!;c4}x1JFWedpawrM|NwJ!RKj3`_bwt?gpiDf9@PgN?RDf zm9<~>aSGc4%Vm7Pn*49d9TB&xKH#WBI;O zk`|n&6=9liq;5#fcA@nb>79g?KiP%4l@QH};l za_bX!nzVZRvwNAA6&CXBq?JipWK~h8mMjYN*J-{`KJFB!5M2Vw(*_q6%KC}~wAyQ| zBB97Gs}zEjp%lSi_4~QIN|voe{31;Q7R$nT+J-d)IVGqUY;yjtAO1 zu`K$1>YPxEy!oU3`^S?JUMek5pgF7wP6<-zzsY#` zr62dj>V!6Se`fxYO26JFdnWw~uO2iFl=1Ko%&xjpD^kXdn9IS)ABUq5icwikly4~g z%dX&Ligr&pKNLy=sXC!-I$NY8+p^U>=dfP8(q6zh1@7Nh^sP{s5-NBruDxTaH5@r` zZl?qs96X{7U^6swEJukj;X!b;nrJuU`Q6>zvTj&I_c8V2{0IMyImh7ZAE$sL_YzS0B%9|e-q6o$- zhaRkUH`C~3THs~002L7qjP44(jYOuWnJ1vEM`07jE>x+JfWm4Y5%F(@3?R=QvJ^K| z#X-E^WISkFZ&6~JB2D@PPW;4IBe%^5I>Vtt{H8}k#pgN$P-T8I6_>nOq9}`2#NsMT z*fTO-$*fi7-fUI8gj!~@-on5Dn?PJY}FR4bS26rn~bs^h6H%hLy$ntbMtlLq5FfU(ouz@>OSIBN(> z0niiB%5ue@(^|i5CAhcx#*h1x@6+M$Fer#7-$ldUqrxYG$ds)nZFZR!(91Ji&y_r} zm9$E>Qa!iu&%OgPRDf@=I=R=Lhu5~Jz;h(`z;gsN1`u`pAlP;R1sfn2UR@8v_yD9C zf0*PS{(_6Ny05)VdZDX`CEBkMSKaaL>(#?SQ@GG*%Q~H(h<@T`pTkT^PaFJ%)sKH z>(GCh{m5By-=hy3 zCMAiC##PB4-m9g3g{0J-$bE@+kmB7iIGQA*~i+F97 zEZvnA6flZi?)@sQUt?v3(dkl$s37^GH|Y=AQJNP&hs}wr#Vudw8!A`Gtw!%#`p2bphHI)@}gVUEHJU0B84d@0`)DQrRT2 z-Z{epe(O;Nza=PYK?pKOh*8dR(XpuAGlPyCP-2~AdC-H#t_aJ=ejy77o*^AMi$EUG z`2}m@L~9 zXu9;<>nQgKpRnGePh*AhRqpOvsTA|XH1=(@crX|RH&-jMr@fD*Rl}6Y0KBiBbObQC$Vv4^{ zFVyjN{UH{0nQEHH=ya}5+niu}a2MWAV5t)$!jzCEuCBv}%NN;dpY8a1+Iy|G=ce$p z#Bk}jq!+#{3Nz~Jbc^n%4Z$doI@Rv&XQ^t9C%{Fb3fPm^UfQt+uoHVmEf-AjnOYx`Va8Y5!#pA5w1#=6Y=sq9z>8~@X(30Dk|&1e z@C7_aY-v9HmlQIm65^ZTDZb^R0*0wS(Hz5vXCB9hn~+lgoU&YRQMYRC^QwPo2lH~x zP3NAv@2CMk96X+xdRkc%teQo`?}6h z(#U=(bxhIpdk4OT(%E@}Du8UE{Yv{(+ZJkF?mmj?WGBarER?XD{9OW<2`suo3s$Ur z(1bL*diF*zY9M9>9KyTQ4ib;uYPub-?w(!M^%fexLiy?@^yZ&+hsm@MjihFVkDQJw zThGJg2v?p@C(Rm?`AC+oX8f`(Q zB6nJ+5f`e*X|Kupbb1NbH&wmKWWr|&XC3ANPN^K_+_Ec@YTNFgU4lu)$a2pl50KU+pCYYG_O+SYR{}0xc%>@}F9_U7xYbmYu*zw| zG}%ovFQ);*L&C1Z6fLQ85+atB1lL{-NS!4vBMQbb#jcU?y@V+w8juV?UH%(~Z3ip` zCLgXlAum&~^lLS6Hr_pm;c$^TFA&3REzquYXb{AvPtP}stRJE5D>*;Q3-AeW#W(mP zozhdI&I@b9wFDKv#BZvb7nV!he>B-0z{PgRxZ~!n#j36~NmiVMK?66B&qsQwAdN4n zqc&8&KA~C*6ugCHtko1iC0JR;WhHFJ4jBcS`9(Foal4aRAKnyj=G1{j>+|j}5+Ht_ zt&jPBO!L>!zymk&8w_fGONeXw1BMJXqj~$5O&lCRPp|$S%(;qMzV3cHIQqKx>FDU2 zhvK4p;vV7(!`lk0#hnGb;p9I|=iVwrT1>Nq{L$}+2Znx{8+i9?~Wp{UnakquP z;`xM@=n#{D>f(Gdxcil8#8rt#o_m#R+%oA~E74P_FQKYL)=CkItND7LcvZ?)aS9@7 zTZycxp5HFKf*>3pDw>i-c*F4`$9EMl`IlauT~pBcG6&RcoWoCfVlWO<&)*!>;MjDKcTa$slG-^N7BeX6J}9aww~kaP0gBAVZJfoO%3Gd~D6BOA6D*N~wcf=sch;K#GUket?yMJEE!puCsRo7- z9TqBKrTJm@wh|P+nD|##C`K8Ue`16ec#=a)EW$Kb3yH?CX49h9Qs<6KOC7g0yY!~Q z24q*RZ97RKX|RXufkusXRLPt#VN?pUt2b1Isds-fKc-5YV>!R~UbYG^SdRG>5?8m1 zac_d~_OGv=)>H68L{o;+eY)ppEES%_MHgh_#WiZwO2$dcozTit&%%mFP_Q8y>iV6d zxquG<9*JAJqf{M;LVZOfHt6K+mQ-^+#8r}&(nEN4MfBS8OsRimg;JUuw9|z0@D$@hM`q=i zj?9Xp8DgKaqZh37EK7O?{*%nsR(ts?Z?Bivk2jXKM`|oFLKnM@RrIp!jx?&ZLUu>W zlKC!+eo^fzM!3HH)pqf4Z*Q2^qVk^V)TlkYO=IncY56}5FXDBdijE0 z==ml6d!d^twf#bzOOo&<54lz6s$S*XU#O}d*{-bMc;zSXLYJR*XM4okJ8f&e98Tdp zAr%HC`MNL+-Q?wx3NS1goke-pwLc93Q#SV}rKn*zGanJ<#a%pGue8R$waKty2vb4UuzHt<2@w#nRPGwQ2bv8}RhxP4 zRZNkY50v&~iaf@B4C744?$5{uc#M6>!#77MGr4OS~O`9 z*9puE)d(nSt)aPNZ-UA^i6WYEZp$OGAX)++u|zc#HTS$A$5&C=Bx$8Ufy$;(5x2N> zjBtg1YxzE(J^^iCZXC7FhzeUoeMo~+=(*=bhjm4V4=URJTSfnw7rm(~dQ(?4<=5LO zo{PAzq;LO5NtIH5{dg(A{`aN){_#>?=cO#`N?AUjlxu78w+8IDyy&>D==ecJU;VA3 z|L`hCX-qP2{I-)**-SyA(2L*q&3gYgU+(+nkNw~L{`cnbVWn#}A0PYg{$5G_osz!y zG(-4ox~H_SD}B-V_ta?3-poH7Za?qP(LW|$&8n7lr0Xc+wPhsyR?6}F65%(rV0?T! z0WUM`y93qL+dtFJYvJdkcV8oe@E<8^{_(*}{$5FgN=bixyd?LZY120!FDd$GN;>~| zN$EdR(#wyRQ+!ZX1(I9r|KmSpEZFd-9$WlVSIL=`UT;nI`q0#xr?CW?=<+CDx z%A2>U>&VqZ_V-fnl{(K4cke*UXVOGU4~i4j1?w&(HHU9;vieIsMDHBHY6@^g8ucq! ztkoQN)#HGhKdOg-I4p_plknS@KW00Qaxor$M3qz3`A${$?t$?BB|HaqTmi);FVHW2 zGc6oTS=MEa#5zsd8#)`Y^8G%=yr47a9Sx4%<1HBJX@52wdXr?Db}s!X;Bg=0ch;ek z5lvKYHk>~5g)+ZLynTR%=`#FhR7?|AxXfRLuHiDQ(*@n9e()#*@jEzpl-a_$CRNbD z+@-HF8%H7d&NWFP%l^XV+j&`Bd1ep4J4yGUYfprlIV?XW~PjrmO9g~j=0(oF?IYndB8w1!Q z*{dd8=xW@fvVs-(5slnsSUKRb6j4pF2>0mh7Jw)v&wC8X`v`8y0GGv%4O^`Oju%9- zjFY=k3;6Ekk3VFTicZz>Dhy)xmAh7H#f`FCtV8Jq;1^-(S&+oo^@(2mK<9jo5?zM# z4V=)5#C#F7PEy-{9@&d)_OV_mjjh*1>jN%CaS78HvL9$myVJ7A-L5yX zuG|W-)CQ74VKiW#hjlln8>v+QZIX3p%|nL?gLxUEjoIrn-{sJY(7N@4d3ZYloj(t? z%TQPpqrEXasxrdTE1IBN$4;E3b{py+DkZC+Xi{q9T7?{dMlWf#MmoDKfiu+t1A2>6 z^RAbb(i(H`rlGgvWaGP#Ui=h=E24rMtr4zl$4fR1NW&VstkFw(OZF_ZF2c6Vq`iv5 zB*elp--gz+5cxbwXm7bp6W4sQ6ZFGN^9TO^>C2ZdQSeu;~Wx4R3&tB~ohvm9el_2X)1d?&Up6{4k1Okq_ z+v#p`JxDX*-f!^{eTyvc*9w$xuhspkjM`t(ACg|5b`;nJQD*HTpo>eXw##Zpv>`z= zPKVo8aj7*bQjc_*HY(Ca!b)10`|Qg(zqe#frc{4uDYf6_B^Gp6Ko0!>r(2@2`~SFG zloCtb;#O1%t8N|ypv8mx#(Nx=S^!iruhctfrREHfq4W=@){0RyBZe*@c2X~Q)^1Ts zv%MMMRrYpQxzL*L_EjL$JTcQ5cVC=d*Y{lsLqMQm?d!X|PU%ROY#%VnJXnDMputtI z4y);Q>Yjg-i^O^MyLM1fm6Ug1h1?(L(ILj$wz?myY=}w(=sOtb3pi;lYI%AG7h9$J z=1HYaNy0|`&?VXVEMr3_UUr>tD!TBsJfEi6ku-^8q@GuAQE;}TzKmLoYv;BKNVf?9 zQ#8Odv{F_J<6fG3JN>kW-)AJEMB0+Mx&S|LJZ1@)`-E@anE#TXP>{DNj8 z0k@ae{W86}^4)r-jNPagSFIpF-MbR_XESQGOzGC0kwVy4M!*g*3XNP8L|n)9E|XI* z@JRvwsN4h53IzWb2}c|7sWB_lgO%+?@xIzK1f6m+DBN-9C3MFTu^dnz9=j4Tahfm= zN-#AHr8tj^d+)7OPMci|rn|&N-see2Lc)ZZQ7$FWV*Y{2njxhI8%BUDd*xcPwZY!BG#A;nnaK{!LI~`jCIwr`T zna;AFsaiY`|14C;_7IAmxyN4z?R6HgBzhgVdSr{2PNXNxD7@u!@UtkQ7B;-#iVfC3 z6ZVZ#$smKdaSI`2qzi}djP(WltVDung(gjNvExB~*od0grN)2=6@8X=LUpfG5&LH4BwHR!`gMBUXZw(BE5Vb&09{cXATgy>hvVyyOb|?=s^hm&hgOZe`Z;lX_RB zSug1&?TfBX3*jlT!+~-bRYl&?(Zn>F(a}__g!iGb_Bm>d%2&p-HWcc08n;AFBW^!>CJ zZz_^W#1YO-_E2Mwsj*%#Tip_0C$X_2UT_Wo}kjT>4_Y+wQUO)dk68g7E-wqM| z-=R*RO3Zk>OZ&zP*?ne?ezlMHHNhk7a*=Sn$4AbotFU*`Y-WjDt&%6rK%5u8q9xI| zbuZs~fW5zt@h5ywf6w`ENdJCp%s>_AUc7<~v_u(mW)-u>HzhQCO~n|RJ(w2NN~l_~ za?^EPSS!kd(TBA0Y_#F1*lILJg7$Q!mZ@^vi93m)6a*g^fZ^Wj7HuLYPMb{= zhUyzt0!8&}g+RHR$%Ge8P|OF+E?Nyg-Uhj78MwivoEaHgosV0=%-*o!2SBz9bv>&V zJ2XSp`YSXWZ{B=<(9p&3{uNrC>6H`*KhP5aGm*LdbE~&BCn38UsC28n0^T$28{gmBSz?61WV=na4d;i{tuy9}9MFN3$ z2ER5!5%~GNsoQDbQ7c|z&r-gpW>7t4l1d|VL7eeYGFi)W{xuY%`wJiT^OVK%0eSl+ zi`k{|nHyvz3y7}>6qo5j493$oU%cUCR)&@I5Z0S!22PH<8L=_0eg7CW)DxXvdKW@}@^UttKid}v3fvZgwfFQ~bX+(y> zmj2JP1-3-HsA#+U1_w7pVag?Y4segTgUik0vX>nQ260=qn%yO}x%i0-hF`g{gM9<) zm?faIMJWYeeM9#^o_5}?FGa?;8sa)=Z|^? zupV+Kby0)!Yv^h|=i+mzYguF?JL^%mzE{@|?A5i>t9-w_bA>8SM?2gS)on12O1=9? z>D@kG&?K-JRh_IC1z$+f2YW$Qs|famGL}IXA-d>kc)g+yn)5}prj8lYPbA4!3!gkd z8C@!Sx4jp#S)#?Ox_jeKoJeXBqEe7l)(*<;0|(_+85F2fJjfut_`KFW{h{XEqg|t3 z!81-8jUlmCnbOXEX28_(!~4yI1=lM3OO4|;gXI6eZ!-gmeDmu3#RFShq_1nQl3S&< zd5j?5tCd@i)*M(b`KpQ?gEB*))p$5ZtjOaj)Ks)RO@v?q#SuL!BUr0y3$j3Bwvq>x zD>D1irOEE@E7(l#uaG!5TYE}yOXuC}T+C4l4;SF@Dl!tCz^58n09cm&Dt(1=q_nll zFNLpiJ1f=wiVfJ5g>qwY1q_nX>s)!Y`8Xy|hBxN5G)>yb-}CI=AQJwGBJi*`*^RdZ zw)YCY3tTtj5Z>sMIWDHW;WbOkZr~y0TySkSdO6E0B};&jxX3hO>&9!A+TB23f5F)) zg;}9K+{nW2?z9!+p8@F5+{hwB)JAmsPNCEeQPXp2KRFloX!KI33FN7l@X91n{JDA_ z3;~Opn4)(2Ft3GB6}TEl_+FR6_*BN&GA1u}yK1MaIZ!?p=1S#T7wXGgeF>Bo(-ED! z(jfuB(?U06@iZ4oZ9Ic^PbRe>l-&G4ohbSFq&v%DWwTQajZ`Er@&Uwe6{(@7Qd)N9f2&=1#H+z=LaNH^89e_Q*=Qw4S{x9)*+~VpV!NWSkjH^F!~@% zao1j*?qy7I+2Sp!aC~GdSmlaw`7sRYqx<3nfe=~&`wpO3p*3K^0uSRYJXI*3OQE5m zj(s@xMjreVrTdSif(K;}u{Fn1Vfr!dUV4{wQd%CEtStfsDHq`S89NO=rZDhp5LM>rYU0Ny!Y-d`gwPB-%d|6 zk44%nNB9Szs*^!oY_K{=)bHZ5yCwsdkpV9R&vbn&W(_b z;rCs+RRs^Of?H6Yg)DOU5CM*W`(g|shgX^V)zVAph&Hh&1R3#3Z@g^-p^X@(G_?nI5oZCOv~!J@(7dzz|_uUoad|` zox3~3c5{|N36MZfBMAr8Er5XfN8N3vky0KeRz=J%`~t>=D@d~> z+@_Qr+Ev*htTY@@!5@Gf;lN3RZWcE-vTvSw43Qz(bDF?Wx=QY4h~MkmV&2!Ok?bB* zC*R#mQqgFNfKhN{mKaxMM=wB77uy#rO95$xl9~M45 z>g^FeJbjSxK{7Pish;=-;sA_5xQM?Pxs?Cz+5KrQVBmJX=5|5}@xyhP#x7H+VS}HE zZ;l!!Kl-kH<7UBW(%9;w*I~`=v;LvMbwGpG;laV{>;T08zg*&Pp@mxqA zJ&)|g9(@UUVy9p+0Q2xR;PegRbUB#oClI_uxUD+z(NwK7fq^A_uFhYHcEM_-sNS}8 z{49C9k^KM%O?v^I0exDun^xc!_dF%!=?q6?7s*e-PRb9{T5K+K>8rXm7f^m|C^)A- zqnkU+y^Cbv@XQl$l4Q@8e>yStQQ)cyZ{*KNmi~@7sr}9 z?X~D|r@i6cp6Nph?wY`LSDVXI4-J<7ITnBt6r-TTn|aq{)^$*@)EqNg@uryHpcf7K zoUR&BuVa4F(ZBrpmsfq--L1YE z+14Q_kpk=aIt;Jx5dh_~!6tk0yv~TtpLDJV^k7GG?dDQ%YHsseEwP)4G1ptaP-NCG z)5r*$zM0bB*z}ri=g%xzX4Xn60!|Td3a+!eUU4!B{T^A;EH{uo-r*lN6v&!3BWr?# zM4)eltq3Tht(4}t-}H^R8D}CYhQVYBmF6^^me=%*$ZlS-t5B*M8bXsji)-a^j*OdI zx#OrJzeRIl^z;_5ftu)5bA{-YPRrw_HHSmm>$|%=q0{kny_2Y(IwadgBRptsOt(y^ z-v7EjOfZm`e`$!CVP~J-_rF-*eu|*g1#3gHxe8#Ox_Ms%*V% zul3H$_FGf9o`2ci@at?_o-P@DDt*$VXyYYtROtixvYA!908nt@KjvXkx)e-K4AyL6>W}g1x^5Ebyv#wod?m72ZYimK?)~!ghmWI{D zir*d_+-4bFJS3xyn$bm`Q3v#7?GTwsQ`M!&f!8wP1i7EIuE!*3`&lMIGm!# zxuZ)+m(@b#9#MjvEbaO+6qK}#I0CqhR)CE=_>yOcD>1V!LPmUB4fCDrmE5xyT3okh z`9SIPq-;=ZQJ(b_ds3wC1OCpQ6kBk`y|dH&Kr=-Y>tZKM)S6?(W4n1Tr9niwO6`cN zZ5MmL!g8!~GQY6U-9at)sq!A+L20wrZl-GJ%u3jOYYC~*)l{R{JzSDmalhe74Za(; zkSGn&n+hhItz0Hqf%~5`k}SFuzal6C4yG;+`}_*QP&oTC{fC7dDWH@SkU>#rM*GN_@@Mw@m+3+`FdN`~`chu!|D4m=VUy&0%&WesFciN4Wu!)~^ z_z9P0eY4%|_M0gkJM?T#yXFmMn+n0OLOZxP#XZEmZIjkcMGZi)V94kftP#q~+>G`| zA^T-jtCkOWy!5W1TRkaUJNi1Er4RV;kciP+%d^cVmU6%q`|A%@aVC&KudM87AOqf6>H%1UJr!q= zVly}8hMjM{%CSM{h?e(}`kUR_E>EnNqaU3~F>Sfy6|o@kCqfB8t)Y_lOCiU(xPaPo z0^sp-M}@*Y62oz8+<@Uu9%2GM6UXCcp!KQcvTyc?{xaRJoH?|qmMT1@m$OQy%WS2I z_yqBZh))ooa6J8;?e(i2S&)(7TBsAjiF~wsXW1G%~tc}ek$f5Uup#HoG*LWv5;$LBtmFl@WJLS_`9vi+@G#+ca%A^f1i*s zzTME@4P|O1d7hlV%x%9fquo5;=Bgl`J)DYKbDhDp4>?b#a=&?BcGvLQypzo}SFLnK za$hFTYBPC;Ox6#};gU|~Yb(hBY^r2~a=S!sn}_9gOSxU#o7-(!1n^W90i?F+*${d3 zI@F%fwkYm)>AHS{C7cs2wRc6~t(=0=uAbO`HnnoVc{q0`y?%GtqZ!%|+37>dnd#a` zvoFMWob)SXxs~#gEVGZ+E3rL)%N7df`0gif?fNer7`+f>e61J}+=CFz3ou$-YCxFf zPF%+Rj*MI;uEPVEl#CVsnEa*%?ImU#v^4dhpJ&|xv;J8cLs5B{~&&?ecG^z6t?)eqz+r$H;7+rpE7K9dDjo( z&tee$oi9XB{{7*zlS#<9W5qCJlrBun&-Ee2{^vh|`JewJ^e-Ejm2KI{PS3CQ^!x*8 zk;I1-L_E_%Sx60<_9gL;gF*%3?#{itizXWF?de!}B2U?%B$dcO^cLYQViPiYqekST z-ak5`mS{-_=c;O`TN@g6*kvX9A~oqh>i5-uOMJOsHA!+K-7H=f>dU1r3M*}9h3=Q& z@2SgVhvoBvKH0xnHvXq!IN7Iq{Y9~}+EDQ_0IZq z{<`$ycPQcb;vvm`$R02WR}kaf73i{(xT>p+9$n2-WX*&-!OF)grPt!yf(b ztlK-0A#m^1KRTxT<$EQ?+ok>1qihZbgZ`1o<{Ecli9I~)b~?#74vXA5XGfHq-(wy-8u>x@^spzsi(Ok3K$GE& zdQAkPv$-n{PX>pB!;>PETZ^7MJUdcD-Et_+@pozH(I6i6&kjXcHaU*Z&W_M`uDe>n zOp4mkJ3d1p6cWGPh=R|0M?G`yU2}oQXEcY7kHovHyod9J9P@s+JD?VrS01tMkwqM3Jfg^7i}B^qP;*n-4TqP0X*{7?kRReN-D4D?+YhDFw+&ZQZCCW7(~%sPhX z+G!uv;#gj9w3zz?T9`6O%;2+AT6B3(HC5JWN2iC!vX0q`pgq1rHE3A>w9AijzR*;{ zQ2Ip51MZTeV8n08N^cLBB5}*Mu_l&P#n_S z9CWkvf>?+-O^j#ngv#~iK{2tY188YcV2}WQ^cp)@zjt~>8F+EBiNZMB#PDh8ICks> zGNgZI2KJ5pSD4d;UxlsywaePW--^|v= zaj#2rXyvEZ*rWT0#{>E}yq!xTOJ&m@K`T*C3Cyw+TFJ7ZG-;^1)b$&=^Y>}@Jfck{ z3OBZx`Lv>ru_46veD1p<8I2>&`x7%?jYQ^X;nI6B&vH8M4(Q86vzT_>BMLe}K)j>{ z#Eqr;(rLwWgMd~9B{)8ziAfy54Tu{N`9A1FX(ba6QcT(7vy*Q3ScZsYJ)qH}!BbXr z781xMdvr#lR+`>Nhg~W)U+jm+#4b?3Bp`GHEDOB2LiS9-FsI*G`y+8=ytSR(C?1hD%65QtH!fH!9YdrlHY){0^6*2~DcNwj&war5}* zUb`lE#;XPI@+=qXUX14;E>T6^e9-a~zh#k%zEVCr-aQg-G0r1U+I%~T}>6|w=`zb#!c1ywbK+=CwLJW@mc)%cfDz*ltM zG&&3OUya7Ubc14sndyz<#p+*Ed|@=+1hWRNhJp%yQ@P$XARgB%Ls4ma5#Ep5wY{+yUGT&OYDw+%uE);5oxwp|6em0-7OWavwn|a|f;e~69 z8y+i}l~o*)~JwOnPqRO^{8iNUKe840Y0oc0HlSZ zqA!kI!+@TBZCY370tbhWsu8$y6F29E;cjEgHTs!{!)m&0oO%P+4$)G;0rk2&Wf^__ z;J`3qeaMj!Lux+iLLIyW003W!`9y1oiS{pHIX`m7@hJD?pynRKhnsB)3|r1#N9LnU zXF*g>-&403W;#?gv%rQGjsh)ThYhWtgRT1($Qw7U{Wj znODum{JW~){0lR00gmX!5||xo3wplt#3#J;5?yg|=?SZ_oS4)p%9KEt0zG0|$V9)p zla^o+!%_)4KTRw2XeL1#wPZ&TI$I0-{BYRRh+w8~3)-eynwbjg#zyJkhf=aGHwHuTxuomycUEOB+5vsYb2P#P+z!&;3g0brc)CJZNkmw=-QrK+ic-xdBYpq@~CO_XJgakJh!cq zHpDq}gCX?2w6$}#^3ST>zQW;96>VJtAMb+x2+7rjZ8h2r^Ok<7|6kH-8kmEb`HbE_ zZLee+ZhOJ0O1I? z9>z&1VaTdBwWN@D_PSi@PBK)Jh=Hq;m0X?pi7i|k1?*yJ+M~(a_zVt~pu|hhV>pmZ zrUN{~dt@>_6pv8)J%ZA&kxY+;*6#_lev|1bl-82z*^Fpr&sWc>AuS)T&o%pB}e@PkRH*!UmR*kiVp zs%ykmKUkd5ksr((!v$*S)3j9bk5N8b$x*>undO8sr2IcG@_$B4lM+0#;=4PamM*t5 z^BaurZNTIyp7_O#>?!lHXZpnLYU~@Ba-cq-U!6xqxj`w?caa|5YyDueA%0Bz!?Q%( zMp)s&fwQ9l67a6II5-Ht=*f+$(U2?=t-ZTD-rWxly5n9an9%BL1!kkw(1#3N+Z|tt z={dJ5E1Q;r5BBbUE*bPeHr>f_mLL$6{UzpQl{Y8$TOc_8QR@7)#GLo49i$Y zH&FLN1oilZZK#nq;G!O(wbWDB)+<}PmbCZW@+74;uCs?t_MojM-C>SNZmunRe6ILf zJ-6)EdG2l1)rZtgnZaUK&f2)feU$-++SawPF}22H;nq1J=6yY+HOg;mVt<2S%#<942ElijzGpzBA-98t&TPsYSVvzfMw?N@!0zJ4Dbt6<4x-` z4*L9m@YAJ#Z{`O5HSyGLO~l*OZoU745_CNChvFXNvKDu;a97#KWolg-5#PRw!t1A! zBV@`Jek8+FIMew^n%*%b`s3q?=;hbdDqGN7b5W02jE`utI$kVTA>vB*C!|AI7(jc{ z_BrX*{-n>nwL9lTQEj30cEV^$GV21O1rqiHy?wdppym5I-5DjDTvOWk(4T zfz1%}GeA^JfYs74FBUhZMByY<>W^2$J<2k%TxaiX=G5ONBhe5XYF)c(21JDNsl5Yy z*+xtC$y0kO9%r0*_(LK=8Ik`}+xqa_wG-U?mGeY0lz8nX(S|LUWxA)KFU{2V!BfIN zn@Ag*fJRY`?j>p} ztlTTnxiagYLVvT^8LW3Z^(cC$F8wD~;aye*%JpkG#t)h}azc0?ojN>YvQ=TzqNo5) zK(W6&1pWosk|5)7vdz9h20JRm{pJgMgu>yf9TlLxJ1A!% zU+8l@a`h~y=#@**`gorW8hTzLEv>C-Yz4$A(TUr3BN-1%Su`+ z;(DENchVcu_|Mrar5V^wKeO6{GX+N<_fFY;(9OTK`Pgp~Gvqgu@mv?hZ`h25J{xUh z8#a1w`ZBk)xiL8I>R-^G7ECesWzx!Wxf*Y{Q?gvHSexa_a_Lkg3vj6glhrtx*cw*T z7(YvJ%}eUPp-tVkR03lJF2}@#YcY3tEINECKOnwqyn1+6lC|Zr8C_cuj5f+oB!x`h{ zu@JdSCk5upq_!2d5Y`7lZ~}$kxH-Xz_7a?I5K|h?f>wC)4a6eEA;#o^D6+ubT2GIP zgrdKTS)vx;Dg{Jlcl^ShC<8%9{T3~fGa8cNhDK?E=V9yXP%f+%#gxa2=vd9EabYbf zBO+>6uR~t|cy5QlUuG(6=L*gSQ#(dUati2^4BY)(I35D@Qz8M^TnmVArY}6NrgWmk zBg`e}^kQpF%-CRTEMGw6upIHrCTK7*aPyemWZfBCu2F|%E?huEa+qV&rA6GLR>I^> z^`8os*@L&uWNbwv`p6XZ^-y08s2NOeMc!ka66p|b3NtyP@mzsSqFulF(x zrDWeG#7X~dTVE#HZ;APHVkWLRZG9PvTrTh&1SRhU%F9TZ;-K@FP&HETnewsR0$KXiNY2~o3`4==HRq_A|Ul_VxRq3 zoA%GzN9N&C`-p;tl&jZ0=?XD!QTng3y&ru*AfEB5C1gYV{1Qk|1DE(S;>>U-70E|j z`N+p@8P~p4EV~B(STmvIQ)*}5JUZp}D9t=NGLMfyL?4jdNjbZL**j~Wm9slFd#5uP zo5@|Z;^oSsY2qsLBiM1^o=e0%+3OI9dxhDU1l|U3Ak2yrnuY>_K^PWiF88!_Y_)s+ zgM)T|a0m((jjdMuuzz%L&}#R4hvR4x4mr*7aU~JOB2lk*M2YO7r)PfT12$pX5e_I- zmIM}+4wbjavWqua!QCE8aRkq}Ht2J!FOl-HHFpnC#o?X4%O4}$-G|`m}k7$2P3-9QN&X!lSxCW<9pLT-S$ifU620|;=h@*?i zPU|LAvPC|F?uq=S+oNx43hGm)#@8Xz^!ogW(s)%j{g#NJ)y~g#Wu~-N%VqYvSv`?q zO_`i^R_5`sQYg`o2NfFRlSFPa-0@%A=J&Swvuy^BnK-8Fm{CqyKUF~TJ@~-LQCJwq z-M5}f$>a+kIGjxUVSa5ZXVUNOP9KuRG_RfSKBRh%TE4S2z5M&7`u(CfkFDIj4fNDX z&-b>?%i2Iils;MH?`Z1EEhIcV8*u+s=f=0nuoZrt+}qDKSPS`KBNEyjZU!=)FCNgO zjjIaIS2e;@A+qM;^1UGWzwEvHe%rRPF#3O=g4Svi(xPNZz9f-Ddpn8KxGRoR+f6TC zUj9)OB{88$l^0v8?FTx~abE1q3@!w3vYfWxUfi1P!w^WZD zsQ7zZTqiH>2YKm7Z3v--2=!Zg|KgLq@h$GJ;O}MsH%K_LH-5vN7yP~K{|X5w_QtQc zCxgGRr4ySw#HXkWRU+Uymg`t8{YTph9Hvz$hX;wJ>F43E9 zu*xH9QTAaqxxlt6Xgb+X`g(z?K|E+OF~rVyonG9!05YNzxR+iz&$9lWyXC~=G(o4H z*1(m!IQRF|1DOZ5_T$vIt6aFxUHwLG<8E9b`rk+R#25+wCI=ta4>Ey-0awgW3+fd8FU zG}iGV$9HRejIz^-iV??%td(4=AHfbDnn^yI5UrMIWJhdZa+Zk9`r2fADYJ6FmI_D4 zOn(eCB^ns;2I3htccR8mv>K*zaMiy^FYoV_NMxi1NUfc(a}pUbCy_LNfX>wJi6*p>?_K+OaTWi9Ic1O zy4!>&e?4wF>!WoW-l4knxarfIY~L7tGdk%KLgr!;qmjY^Y@Swd5v}u+%Nz@4j*q;J zYh(QymeXtINN{2ZBiM?}{>Ic;pPG(2WtqpuvfRVM1 zhVfF^_QudyAA$rhToLvZVRO(U!zjuT&?Xsu*_>H;r_`F6*A`y;vNrKriPcjj4V2od zG-gSy&qh9Qbz>IXGq*lrnjq{l=%vhI0>mhKYmA$r7;ji(fa?j6uwrQ<)5p4Bm2O

|%LrFfK)S_jlp|UG|VW8U8GjTJWnp{p&kY1IgN*vt`M?1qY%y5k8I2Lw< zXikrIs=$x-LQ1ls2=b~*93#^v)o{pgj1zbEm@zto{Bnf&ix?kz%|_>JRnYo1*JDgs z^T?IdwK>f?adl8L4r-`?nwi7Puh26s00eOEKV030>HUHZ^j^E@@ZVgZjU{~WVb0@+ zF@ErX5iDr^SrjN#zqp_?_tuLJQ%2y+iw;*msI)CIKBtc?<8vx>sq%T(P7WexH8x+z zEiRI~yBg`mbn&u7<)@qk@y3P8@maZHQeI(;=Kvyy{#CUz^<9`oY8CF%8HMgMD1aQdIj4a#}V5e$6*@P5>EUmooYfUO^J)~o=Q?C@MWms}w}ZBNodte?D}d~c)&@(MXWSGu@l7AMtP7u>gyW87=} z#lV%B4g12Hwz|v)X^wve7MUatEz9~11X7G@^2s$4E6Ab@dK9k=gMjUM7?#Q4p{OpJ zLnUMsZnwQl^pxAYR+Axx2X6ALt^@&lbq~ehm&wK8l5S}61Xzk$3NUI+>F_KavOpSG zo`BVnurS8m06yY%ErQYFASikR!Dw+9B2MQmDHr<6gmW-%2t^U^d-puBAUD3MxxPRk zS_%8TM;Q`Lve+xegdjK42oSH?n%MXSM;M1Rgbbd@Ft*qmm1QxI0rN=?bBCoUt;2h1 zVJ=V1Qq&$;x0}wovnPU87`Iuq7y(pVGQK~)7-h-#V+9{T-$Nhkbgy{M`fq?XvKVo( zv)iLag~l<|%mD1Qx-c3%XO;{_noZWRGixr)+!lKw6~{wVCG*P;zfHcoHi23%X009& zEc`&5vRoLE$Y`}@yYQviytJ|}B;;O+5U-v!!@%JfAFg7DV&q!+~JoZH;T}cZi{>`cSIz|fOfAuo}-zv02%9%P{XZ9*`aoOdmRL7 zsJHTzCEJpa{k&Q=r!yYe^&$lnXiST}c6WzY?qC_;VV>@6GPp4eVS~@M)dVBDqTow%`N1qr)!ST=>{T9>?yM1*;FZa>kH4b~34?>=c3^xzIDm`z_mOk=+@E_;oRy zJ>G0}FU@hJhp+p3jQy7e_M*btr{EYvibR+923@-nlkqxIU2&il)CFFm8e;@XpH2Nsfr$JN@eg?6 zzrtleg7Lbz?+yxpY^BV~49!k=lbT>0Ol7XDAY?}6(N3-vvZ@}jd=#S2%AxGaxU>9< z*+mMQL;Di{G%;!wc2L&E*I@**jkiRcV1y|GZrAs^!(|Ac%Mh^|p1bSrpw!@Ssll(1 z8WJVKGR7SMt`T!ykBgLb(R36s0WJH&OElGM`f4(yP=wQKjFMFoCKz+=cFDB{(cu92 z{60+@cShbn>A^>y%^yV?G>ey`m|6S4p!=EW^sLl|D};vKh2$^}`@FqN-S>FYh7UD!omGV+QG zPIaayr6(5Ds?KXgk%A*e!6{ZkW|2(oE(YINLe$Hg4nO&v81NB1qgJogfRa3nH8o>^r z10V=!5;g|G!T$eCTp`>sll)~X4);)0x9mJ}!SRT&_=Xka{KA5xY*+o_c2yBJlto9{ zq9p~kO(Bo+ym~i8#v5It!4rD|o)BHaBVH}wUXpH^BD~L{;gb5gj{?X&c_y;4Gn2?8 z`5-P5mz&?O=XCU$poNOhOc+g-4sx)ASWkz%r+KLCpb#fpPeIy%&hwOB!ubgz2<(`f zp_&XSmqr^SR$Ibyyo^&?cRH#C^&b%CJw-hc+NXtM-TM7T)G(ud!*AS6b;|FlJxn6k zEqEeANkNf?yqsj@>A9OD&<>ixUi`uS0Dbi234e?XgR5g~?#=@{Y)(|V5HoqratxKt zJ1y5}%D1=`886$NuHl#J%qITG;x z5(zsgD`B51isUZ`@^7SH5)s#6AE&2H8z&|{hD`^L)!aSHhvhHYvto>YIeGcAYcz3T z!j8h*EqL1!ncW1JM(i*+2qF3lY6rp`Dq7>-tmxgo7yW8fpRy)jIOu>r#j zD4TJ6{&EQG-_U|5=!y2?B?aSy*9E@L_on3MM0}in}}98xRr$!@S|`gzkFC=t{%3p zz1YjIjC0(<9V(f|$ai?GAFlHOa4%=O233H~9^sz}{t?A?TdlDma3Ks5hFRn$Yhndf z%qGm?J-eT1qY&X_${oCVSX`yiIB*(4u0>>`^S+S$1)}VMhlb>_%p>2Ly0@x~0Xr>N zSI~mcTUEwzSP``2E?HtME5}8N{ls#u$YKHoZhWL5;bwwFlnD~46eJ9+R)k)n(ia!d zaF88f9-_^Gx4Ohoiwz4D*bJ1aE9#9}uxPbhtdpt1loQp{@xU5Hg~XEqnp9d>#q#zVmjAHAe%59rCY!*b=U>;-0PuTv@mi`Ji{;mJxE*cO1rQc0r|6jVnj~xd!D4+F(^~SvFKx+sRfM2;QLy z2az7>E;q&?R>+7Vi-ARoMJB|_`D=E`Wm17W-Z{Q?TAV`fV&D3;nE2ivSVzUgQ*r?K z6D3z)0%83#2aysDWZXmFMQlEt;UQ-bqbvtjUCqWlYcgXH*&d-ID(#TQJYYfd5!Um&r;MC2O~k?nrh9P~S; z1OE@<*@fRxzjI$;Ugxq0Uqvj2(*h`+p9iy-Hal~z;0o1lvo4qh+KkjK1u3KX`Qi5w zDrql`%sAs-tub69SBS_EFiv>0n zBU{%fIOY4@MkSvMLr>Kz;qYXj(!H1ls4@%<%PzxnMM2-G?DwG1A* zV^Sf+2m$-$`zTCj@oGTA0+3JuIZFrQN5HWOj(}ndD6f&H#H&l-E)6z)EE7m4zRKr-s2%sgYk10O6<1}TgBZ4B;hz=I{rHZn-`?R5sO0?z%tI0@kO=I$)eIooWW#p#|?$?P4PMpp)>xHuPY z1;X4Qk#6Y4GdqzXiqSo`=b#s6ij<7UF5Iul93T zSI}#ZauR8`5sW%+&>?!X4q#rOf~T`>$Y2Iglg_Pqu~O6aXA`?0Ssh^BYn@$jmSxjw zHk8hkuEoT>vV;>>zL<4(uXt>A*sG%YaD+Y)h=l<9HfJBe+9&OKYXto^ho=QRElhoA z9j_lZ=j(HWvle?>&wQ_JYKhk<{bYZFet3U7PfukV)U8~eZrrb zBFR7%1B~u`ePKe)O;(`WBHhOVSCj>j9wbKVGsNN8@?jqcY;X<_U3?(9VPP0t8Q{Jg z>_S7Yv7t7C)Q?;6Ypmn=14w-iuM2oZxMM1nrg~x(HG=vz%sxD0lqcf=S7(6n3d!6Z z-rXfkXQ89J7lU_qmRn*$xq;8L=g{4=IU<4&7;oLiZqhNeMSm^C)mV=)5Bsp74_IJ< zAB2vwS-=PTg#fqY$S7+tP!vb??t);Eg0M_i4KEmkzfqKt*DR&cx= zl`+B_NA|Ustf(-WaZF}dGMTuEy;`{;FE_+;L~|>ucCcKu4@>o42QA1zb;#wu&NwLW3!Bc;Y*w6~?VGktvVK~)|^(ZgVAq0n2=y0#UyEE=)&B5awzOTUaAy4PmOsD9Kz`2k@ zU(P6nb7sTD3|z>|XJDlau`+57@Ef_dp~`=jtqViBE|?2qqUJHNP`OIX_$mQ(%9tFp z@N>HZMK1d|6N;obCPlNVn=_2j=QmE?#+LAFQ!3 zbWzg8!82>a-Cajf7pZ#%#fVShN>*n$hcUv2mC6=MTRUNn8BtRlTsy)hEG;QoRr(?# z6GiOE@W856Jn(zKu|?m&suNqO^UpR8I7A)vBkSHXgCz&AsD`+v*=gn(9{Xo?a}<}B zP&XT;6&-s}Npy9{@n6+@2Nv_NSmf3g#6iI*TOx)LCt#qB#7hcS>T(3kH@I>`%iF~0 z7gsN|)Zvu8p2FL3ZbkUBuu_wamX}d8Klvkl2?+9R)#lW-A8qibJ{mRqFT-5}1b+}3 zd|-J%9X9)lmVGc_O>|XVHm7t|l8YG0x$M-iL~=OHw4LzKC^^calRyJ>_rg=uq1|Sr zk`e_KWHAFHg*&@S*uX$11GJ7Q-L`Hdl!RV*IJH%95*__t(k@sbzm>ND84-CYAQ>6C z!S?D@8?rH8-s%G(@XDGAYbOR&jF{15Q-7Qn542;|tIDMNHCI&osnN2H4ZH@GPSMx5 zuV|FTaPG2$1++wBj128@zBv2Uy5EcBvK4|1dS4w01K^@c*JHY2cC%067k;GyGU*I< zV<>3dqH#>0U@%fnEUZn{wAz`b)dv2CiWgwh>?W|qPDf!={Kes}dVdZx-A`e9FT1RZ z4wZ!`kUaZJmKxyEbz7I+W)~Xr9 zIqHBNyyC$$2FecdrYIymk9e2Ia zUV^un3=rAy?vk@-@9V%CamR!QA1JiCXyfDXv{gT^VK{vqqV*z+f0>L!WXuekz|^&YcUmnLl3Zq^AGnO4B#dpCZ$s6#SK z3LTO(n?{7Uxae?^E^qDGBs)jsrfKfK zc1ggzzK=x8SRg+}2lS4GN1QIOl}WK3DcSt8flYJm5IH=$Nj72^Bw8c7(T0(nM5$Y@ z)PbJUv*IoG*kT4!8+vcuHl){mydxGc<6f3EQnK2+UegNKGf?+q>@25crTgASx^DM7 z+%*mCz_OkdEyK($OWL}R$sWcIhL5L%?nX)m)?Y&e6zo_`9FZmazF|eG6?Rn?etT4{ z*T#P6WL)0-!;QlJEM>McQbdgtyk9@9)e3sqc9m!e3Et;i!!^adI#poyO>*ItDoH%i zV|!gcqq|WS#9(G6``vzbV?wg~7_ZbhWLAC&GXpjtqYJMI!>@;JdcMR7vtWCH@m|MZ z*HF3SKf!|pAMMZWJqs7hCr|8`@PN0Tb%cxh3@>&aU~$l>t~sU)eIXup%)~?ta+?K* zFOzFHHMm3_*8a3kAv zW=cmZzo+^iP!;K)Ombt7W=duZe}G1sIUM1O+MG#K#Tko)Y7?G3StB%&`|$K+61n!! zvP~sp(;Bs6(%7w0>*%;Am)$cRHM`%!tK)$*oQv++rYTW)FU~348sRGZA;s-U!5oU< zS+}C+`hm&1r;lEbhG^P0LGA<(@x&WpfJDYc`glQ;A;S`y-F^r6y&$t*g&q%6bnZZp2k@ZLuxZvxxHD-#bySuJnyVR_7 zKYxFCzRspTyWGKaS$JRG9J;=npj|uRcHb`)17QQIpMexIgum-W7#r7>P=HqW0#T{| zVd6A-tz}CDdxoWCfIBW`A(3Lh<1FMn3oX8~H@4h1Kc`$;z9vXV!JO4I+i+T1@KF5h zk)YO8P!WqEj*6>5xLS}}%G%w3kSXHaA|c!C3aGk6GiJfN-t8`2m)+7+Hg$v>l-MwR{@3@ zufnU!(!wlaf}dap2d04!|1){1zD}-^#C`n|qI`|*AlW{rp?n+>We(kWg8eV1hWoIbxa6cAxhs)jXa$+F@+VsBM%HiiJHa#67Sl8V z8K4x6402?~%I1)eEAd3e+#Iy+k&F%27&2osh_Ti1Ltw@F82&27x-BfZ56>I$+wU42 z0A8*9Usm`CR)`A-Y^Rn5>+_`hlo{UlgEhNB33yFryzj&I zt=|}`?~6Xm(8^M~Ph7UbvhP$#2A#$?6VsW+SOC%hCaq)A20vTFb5Uw%XIFPXXy8a= z^k}YJ3a!b7(?X>w%ZXAN{+f;W_tcKO(W0>isNCJ5LI$SS&@f(FvweNio`o}NoDDOU zm2JT!q*Mk0B@mDbO^kKM4gKml~4Fpf4I(W@RB;9-+N{AL~MiLWRPQ$H}e z_u79@YaBrNk9~yMN0?@4uGuoIy*LoJLlr<0lWPTc=Xn1z_p>md>B+x z5ApMHrsfDURgn!-3a9}7F3<(hKJ20hpN$0AJsrBj5(s_7TBt{Nck!N!G(%xa>4~%& z;jY1N)u$+}z~6=C!{6ZocDFDDDXK{%>AAQlKuXItW2iD^RmM=Iv75I4pb&iUxoIgG zT~vU?CRPdb&0JjMaGFb;<`3XB2RJ_Av`}$cGzqw0gHxB9gE+~Ih#tdfjyS1dVWmYv zcz0)$tpkaL(ry4S>d=i){5za83oZ{a^2u5BlP9(~Uq@07bn;k$GXOJfcwz?VA&4T0 zfq5pRKmw5|l{a3i4}7_|`v@;(DK^k#F+Z|CrNA|zwPPz|J!lNQy{>ngnVIl*Mw;Fu zjYd5(8uco#804c=NRMXYU$`dyd)ZfG_qxhD zNhLw5S?0SVCW$A?E*bMRImS39pVFLIkE<)U>oh>L&v1gpO%E`7AN`BARejg=us3Kp zR=%FFpABK3tNifF@EX_u(N$eEv0SWb9ZO0QqyUeMVF4eMYF4#Br9quxG1!-{Yz7-N z8x1TtCfUO?c{~JWm}%Vx49=p(Ls74nu&$-Mb1? zP`a{KP6I~FL%H6-66We_>D^tr*UhM~nXJ3(+1zMx5Pmq;Q)45=xJ&T-q0k;_H7c6i zW-aE%3DZz9O(+Ey&O32J2fUDm6?xH(7rcWBQ*{hg;q)(|6P3Iy4)`JPgnuPkUP}%)G=` zxuAAD9Yo?=U`M3WZ~Y?zUcZo^5V+%;%fi+t0d?(A(U3(S5#ScDJ{8y3e*R>4eGyS@(@vL3e9= zYimoX2_Cjz>^$pbRdzZ6=7mx>X6ZcJ>PaNJy%*ct&v&{RHa$r0B3OY|cc-_x)qSy* z;kVg&(RF&T6D6|8Oz}9cQ*xA~|EYF^8LI(lz&vu?eLg)GB)@E-D;rE_zBRJ@| z7dzWq8RG8|@!r-J^aUV{9nit%b#``oh*t-`VYfly?anrU#LA!TY~e$1ySM!UA2zpO zAk59)_GahVj`?h7ySMcWq3m>?bvjUHv)cgxTkz!t;DM}Y^94Zdu^vW@yIY&kLod46 zMVruz=8NY$&!I-_h|R6%(5c<6-m_<&=Us_;#$7-x3lgvLKDJMD{36FrSoS}vvd5m@ zsp3GW(~l>iKdid)4OO(aFUy6zA#kJIr4?Cb;^}Jk>oJJe&I2*Kl9~_`s0OJ1g4U6h zUz+b6^xjwh(XsT9%pDwxzJl&z9oUMt$OiCLxaaIQI*op#+YsTP&^3D~!$F~E_7JsS z@|#Ugp~W{lJFDHZ-a7lie&e`fHkw|uaX^3Bv)0joRy6$5s{aIUR5+j<0p$pIjt(na z{|VlHgNFR6+5rGI0G`)lmScTX%HL@E@YdDv>xAbTHyiH(1^yo3djU;W3V#C*J3!ck z^4HbZF*^+e!1aD(4}_hW2V&mP1G(Fbs9y&nRS)vaQJ|+Sj{)~wL$0s;xmMY5|#5i&{O;l}~m9z52I~?LY#rM#1 z)OTEF&0fy3>O#Zc*g|t@&bqk_aV`TzdQ#LJ1?STp z3zyaox=XgZ^xQ4zGcyz9GJn>f$M;@^24}WOrLvJ1{t;FTEW^(JJ&ZXOTAy7EzUaY{ z3mn+bap34tQCubWva2FXEjNpmWxdD7j|#K0;n(nNCoAtfo@e`6Y5!iCZ@@&xVPV&o zn{w)%8s*fGY-`b@^;>C0j`pYg@bC+5lxxIOgCL+VQyF2p? z-7O~balF9>Tq#3H(I&oX09QX1EeszM2|i}F)7(qk8St7YjN^Vym@rb=1smJh2{qDh zYjZsz#@B+MckJhrNQQU*%3dh(6D7(|B4bPa#EQeBV#4@O!zydu98!93{Rm@uyH)}Z z61@(`3#4fm<>dx4XOk*{`PC9>SP$v&-R0F3TAsE0J%Qvent0*0$QP`pA>0+WhT%=n zc%WIoI;=^*I!evh09UQkRqMgGd`0Q(tE*|L_2jBywJ<~EY~Gv$HOCfAjW6yZ)|u(U ziDRBR=C6)YO1zk#9Krx(JSVa04A1E{v^O;I zF8gj^4OQ3E{OnVSc_NNKZ#{ks8A@gO9TwOmyrdhOATT*uG5=+}YXH-AE_{jzB~OMT zGiqO5;Z?Y+E7Lba!`RmwBB9}dRD-!?7Awnbm>)ddg)%9D$ok;w3e6SFB)bm6A6a;J z-r0v9Mh=Dklbv)>i04(f@*w-lW_@+7_EkAPj0goIa>O$13%{GKWE`PsIi9Rr@x|y8 zy4NbTD7-YQ`)q{QzwD~DWX`w6J^Wxd`#TZ8c`Y$!dAhLV1w^Fr#Y%^s2!-7H7 z5)pJqc7V1fPtWKG=L>q)lqj*NKx!|Ad)_Vvm=bZ;^G#skjL71iZo|m7i0CS4fqY?K zQjD8&-{9GNBJaOs4NFZvmaKWnjhnlAt+;$;+3JE8yzK2$4xH|~Q5-V&l0l|L85X(^ zeC_2%h3Yz))Rv9hX?X3TkIH^7HhXP>*iD!z5Nn&ABvGMh%Ju?kCRdeIN#Ph{H`?o8P2>p|0MG>S)hi3nOXR$YB&YBv}Cq|wP>h`0ES zoNXNQpP4IYCgjW&|INFNFW?hB2A_)7ejR>gKn&k+2w^lCEzuai>!SfP3=9?|3!vel zH(ouKXMFI184p;Bn^bJ*tEhh%F^hsAMvb!XjTTC9)h`|+%m#vO!*&rP0x;b6y?&a} z(Rsx@$?a8L#b8L0HQ9xp{P?DddCZe1%ZC&gJoC?++v=`f8T5I|`#j}?w{qp>vH}^V zN2u#m<{TC~Owan2Ljclq`NESd{9?odrBCJDqkMb@evHDI8zoqoI^mK6fhS1dNfm)3 z%f3P%Ysu?yI)gS2&k%gZoecaYs`DP_Y_Aoql>ejG-~NR3>m4F%gcgMqsgl=fXV zE!j#?vI79(-`rzi7KLl=Y%wuzdwb+x1RBKsyD1ZbYQ)(`F*)*c!i5s|MN(%dGFnfS zu_%*xVL+nl?KsK^kMC2}7s*P!=uUn8dNw$J6GF1Z1S{v~d&z)C#DUtny85%H~ z4m?(XkzR#jl&W#jwhnzHDw1f4?1Ej&n_suuPM8MC%O1%J^qt-D`2Z^_E$Xb|*Jyso z!tL>Ot;S3DLko6y*@B&164<_8E6s5C;8j*0Ada%WQ+Lj8O%>=-jkN>gt1KRF2!~zi zd`|UZfYe!4DXXR#2xmB%L``Mx`^+)iL%1_A8S-h-e)@02U(_V+Cs7Ap-5AyyHKXxx z!vuWUHl*pLGGWbH&DJE?UZ&QGvwH$EYl$!t*3MJ(wptS7M6=LfEgy|02m=*)FQk+9?JlWyYZgC>*EFhLxQqBWn{5H65J2H?pEyzBSynb=p!-a zVjt;3))j2RYrA9F{;_L;e`p@1X$pG>ZrFQQdaY|GbV)31e86^u`#dhF1)ENj7abz8%NHXRpE6=SB!}l$R_T=J%n& zT)r!+3;;a$65XiGE%rg^8@^DioWEj??lhwY#I|Jzc-{yfr`~YrWAo>tNP`X|7IYZFYz01b z-eCeBN_>I@V|M^E{mU-3G6`oDO>E`c*wTv_E@@_~zMWNYa!u|0iH5dHEp6qS>bs)^ z+xmOf)_I|=^M~6C*_Fn2a&4_Bn>D^u9M;WVeQTMw?m|;r%=&}1_+96dXzIICQzLXH zTG7^gQ5rJr;ww8CvQ^@Xr6lQies@qMq>tda`Q;vX z4nL1Rz#td$naKw7W2}4xhIpMl^PL#K$XPILjjT^7!tB86y#q`4CTcyqbVXK;;u&y* z;z!?~3nMQV8|#6iI^630;_N5QMxzgS38NWW0IOV(RvbBJQF6qwGnW2T@I1Br_&1S9 zzu6l4c&}Ahwsh%lxoy0QCO^#tMJbtug>@GeKx9mEUIlrH5m7U{U`y5}k1Ox-@}6ka z$H&~I4SDHMc1b!Ide`32U130BXDCk%KRK3I;>=$h>lPM*e%B<%fkAZW3p^mx?04_Q z;m{xgDX-qgp;sx!c|{>k@B@mO;6^Qyt5H;dIhJvY){Q&(;w7!bp0y@`myfu$oX{uk z5se47-ZAN4qoKH<#nU*3CowThPr}rhFn_r6gNeQvRT&2(XN~E4i7Myph9w~=7yUM8WZ9skofOdO*9(! zxf^T>0_qgWcZnHPOeC`%>>(|g?RYOoQ>C8EY0Q_^2mLr%QlHD~yUEulx_g2ZPVyC| zDo@3i&7PHofcfGsUWY@x<@Mq2PCsVX*M3LmZsbo39s#0-aLo@^&oD>2>Z)j53l0)L zpwAr?x-v*j0jW~}bgi295Yxq2tK=qNjtV~lGbi5!1ZGaYF%e~1we2VWbQk;jF}34D z$9`|dewmG344Q*h!>#MB*-t1vBwyOfFLGzF%dFf8hzF$hWX{mlPQR64lE9+ z+ttqqKafuk*asiByQuugKH&Z11Yd7NI0wE~;QhY-hkeF9`<$CK?$r*N3Y9lMC;+kV z6*-rX4k~Qy$&vLts;b78yFcm2=sgF=YpmRo#Zhot*2wf*)^&4)0;TTm5BoDCy8`W) z*^PFS#gt=FwLk2qmX2ObjOKM;KL$`EtGZNg{TO}iMF!0AXm5l<4LVR8fm8#3OvGr- zitg?ZzcnibA#|VJmF#-` zgT+N6W#yG3LdiKKqHEk(b~_yD1NCCanNnbY>W(X1+0!Z1_r+S<__rS1#fIR%hcFc! z*fn9gdv}vd_hJ5DwP|s8VKEjA&^))^1FYY39N-V7(yOqtH`0o(7?ZPp*(~PaYIsf^ z9Pj^8JrdW|!>};=HN$;fIo1oLP$JAIouRCw(Bpc;P(PU;49jLC_ zids&;GxV4+#6Q>8D@S3V0aw!J{pM6Em)Wc--l$5f+d1&&MSo&?eb4-iJ1w`Qb53>( z8t243arTSb9M$5CpZ4W;A!;}^%WZpPnf%#|$wkG4TvP;=9STA!Kcl4Nei zDGA1WiST)Xu>`WyQ;Xk!m&H=!7S9Ui78)8*9E^n(;bTy>BxWn&{k@?aW>z&Wp~fZ9 zxCcNLzH@Gfu9>PS>ubQ#Vd%;prBQ!DM7HLCrGz}i}Z>|#g{AoTQ|eM;>66yXk@n5jKxznGcBOU%&sL5N^JkAhN!^+a(JfQ~nJ zm*GGsM;(k2g|*Y}!nItM5|J$ISr-86(sY1%Ub|63IUF>2j^GCmi$E?W;RH?LncQLO z?iw-HySr$OBv9ttgdp)vOv);@S;Y>ekjFWjq$}LfUjY8-(OOoVTE0%^{XPb`GgG?p zII_@DEZ%s;iqkb>;dgiT8p*p@@q|G#s3)n_9xCEI)=ZDO9o}R1P6Bhjwfu!QTD(=a zoi{H;DJ*0y3|S2+VFvFchv%CmV6xVUx9Ub36!r$l0lG7#*!K1%k_GiH(hX}ZBgks! z1yTY7dA-Pt1tX#8Cp=>r#M&C*fIVhWhuz(+twGHbN&tpHdB4E+siA=aAVVcI(6^3t z8}u7N+~O14#MqKI@-5DNyUBeE;5E33-7Eph25zjBb_+S;n|zLY^Oa*=Tr>jIt)Su> z{=dN`mHto){kdsC-%<|t6i{Bgn|x{hOh)<`3Jybc{@_?|U>9tD4{#f2X)wf9w{aZu zhx62p+0)PNFc8n@6If>12{|c1yPzjNb7kd{%6CNr9hb zCJKc?GI_8FX5t0TR>SWshuS%i!qO6$LCO0E$ZsbUUZJ8?=bi;aIT_W1=8ulm_|De88))CT+IPQb-~9@# z)rYj{#&^RFd`s}{UH`k|{tAy3TDqx@)SOyU|`_E2$fvfUsPp?py2NryXet{%XLoxzGCl|CH z7adG1Gf^iS`;0|5@v3%J4f$*!RdbADi$AdQSDD;S6Gwi6=j=1!S!@RP)9T)6KR9~N z-87Y$cgwIf>7Dao_QF;(*uzyeo4zXfmNu7VX?0m+0qvM~bFMA2rTC%P(38=xIax}! zmG_Kd9jv%j(t}pg+Htqm8LD~K4;Up?sfMxfd}qr=uSnlJ6%n+k53Hb_gzv)}H+pSj z5Ej_#K5Gdl^*`gGOErb*3WXU}9oZ5u3+mMGp4AavX#}3FD=kO2`Xvv(uF_kwlB#Y~ z`y5aDb(f*C@eJ_8%LZhWhs|uFP-eMutau6yrJEZ?{K6nYfxiQ@dq!TcmH&d!Vq%XX zCC-vEx}pz)>iEYT;b8_&c`^rk$FIyInDyDCVGn)lou|7XxZA$)GJn_Y-Q9J2yv*m?GTml@2BE|zlz6|qmb^gC%S<0A!#cFt++r?1jm~Ith#1^y}9M+7A7^4CXYf zf;mTG3t-0lf)5EiES9$;TlT)|b~+r&udA1Fx1h`xl=-c1hi2ouMtPqAiRkQ*rs#hA!!%*JIH4G9~ZCIh~(uQRleIrAS8pa-rSj&d-&$)(8 zfFsoivsE(M#*U2t#aq3(<8H6(xprexD?ur0#nuyyRhus~D~3RynvM_oR>@}5r~GIl ze_wScLersk8^V@~+^VrmA{QDLL!!Y3jyBDC{IX%AkFo*GnjHNN;cu^t&s&>4_)Ai@*?rc-4?CSL`o8_5=kA!#o;}-vpUv(z zl-;>Bub`d_IVZ^PYxcICd+X+3H#_W=5uGT>-?sDL@~@&Kj+-b)&zs8gj+&>(UQq1p zW{*4-Wl32*c4hvB14S9w#6!y)Y%#27z>FJ)`6+?V^!BP@JUFT%??C%*Se?DQW+_6I zEMV6b$kym5PihJuY2VG36c+PEW{0I^Sz9D`;RR6fVXVMqd3IQ`mO{^|H=)1Jd}|!) zH@>lZ2xWIhIb{$J z5RanCmL-~j8>JU!8%37R6_x*}bD@c}k> zwt{zOuanAk11%9|VGz6Lkm;T*4?f3X@y@&;KXla4Ky{_(&_%Qj%-b+$p@`%%Nv8g? zvWUtCW@?z%vd|pLJcQma$L|Tdd)VlIv$6h-wyw37{iFSGc7Aet@crTPY~mk;cjirJ zzN^uNcMT)J*<)9`iO?1nB#Tgs?Q2&<8(j^}F(PgM&4f&jpW+Pw`PuiT9l1PS#DfMS8&-rN)V+jvSBxn)Fmn0!c!bpmW(id6 zQn4Y>Xh`+aU_%O)7=^wc-e4P%?T|@KEJpGC-Jy1N^7j1agVRIp=uG=~dh+S$&EXrZ zac~Cj4O9F1==|NuPv;usI6e4q{;PKKRy+9ctM<>M4{uEE@RyILhi7Nn$tglRI{x_n z=n#^RKD>Va)0?9Y-)pa+=!cVY?fnr@62Lt_p*lIVqr)?VcYJvI`W?I;ygGV+bpES} zu-+b>e?Z7@PfoQ1?c>4e`O)j2-XEN5AAdUicye|KNW1~aAC5k}J%x%6j}Jebx1nN4 z(+)qui+1+z;Qf274Z$7!1kE@_M77r^AAdbP`u^Ry_U`2Un?p!^bqM$!yn27gYJ=9j zet&RuY-(=~j)8+vsS^N1jl`S`P3`A*hnR}B9>9OE&yP+%V0&Jld^kUaR}-3hdM-=< zd~|kbY6quBXV^1uPfw1irP#Yr=!D=v(GQ0V5cYh2fFKLL|8#aJVQOy<58eZ~Gc3&8 zD)P7CW#b!QmNeAgwm+Y->5gys|4(PoI6(>GqlUq4fkDN{Gx&Lvb{vN1Vdw+FM%w2e zQ#V?yX-6aei1Q!sewavY0l}j5)(>aU3Vo6!v;M}06As<>I1I<=DLniareZukdQw#aj_0#?); zX_(oa1LufM>|tIAzW@^$hHe}@O#~Xu1MWZF1y)gPOa3D^g6Ych3jhmOi^3)KwZ!+oaTjTZ{By@~!^sRPxr>*JVwv&)% zF}!h)2U!9vO~de}jjskTivJ`a5Z#cv<}ixFNN+H1kY`4cM^*8M0Z3V}P)h#L0Lc*{ z-_u|E1Dh^c;RY;+D1msa_gHh0so5wu`9p>LhpcyE;IEo2eO>R!jobT1q3$;)#~QE&l$}5n zz=J20>y8dJ^dpY4fXQ12^c}rHk{P%Y``Ux7RkgbQ6lx^fRryh^?i~!;G<7B#d7vWh zm79Wz{l%?r4$fCg>*TS|u0MsE8{i@$=@3$ggqY){SOtn}$`#L!ta%Cb=?eL2Po8Kx zKD2pR_)f2^3J~}VqaMAXn?sK#-ckg40YngEuPw)jXBHTdCfqRaT~0ixN0~o-t-)Os z({$5!S(DBu15JqPp}d)RFphY;(uFAx)51w3^mODe7%x;uQRK3;5iH|wCBXFzw{;En zb8J9q8vrG#f%Fp7M|5};BWrq^;G9OBp8|;ti$GXDl!)1&4Krx)?6Cy^Gl_}KmR-gv zaHY>d1j!vT^R@RWWA)mMyR*XO#D=f1+u_5k7CjudwU(No6~zp^dI2IeYBfY z<{sEc6EGDRpKg0GmJ!5R$i0z!r>y;qkb%b(2$}P0xeGkx49(Iov$hW$ZrToS0^ndg z2hI%q)Ym!~vny9@w*;F{lp^^3VhXw8`e098ZOyW@#=G<5_YJ6mXg&{BnNzFu^&!!2 zv8Ng5sO@PkTH{t8_MtF47l}7S@w%OU*?^TZ-ms&@1KDi@cIvQPwQfK_Z{38^7l7Kb zKil(-rQ^aTlrk`aa<%g4;A+p@C*feqoE77!^mj$SWec?WPZBL|kA1?pJ5oby9KiEafh4mq1T>{d0Jqo&=mIeb`|K|zLBg9@+R z%Dkeso^gA>Lbud+<0HxMjawo=TED6Z&=14dg;k(Ph+&%CxN$Odhn`KFJif)7`RUjT z;tgmvh&0P-jxp{$&9OnMWeL+OS`8!Q1`QB*KGItQrG2)P(ke=4#Ns3RY@$MMp_Lpw zaE#jV6KgUEa^AK33zH%ctVHuF!?T7^=)`>LUja)&2@253LDQced+3iK93^cS1VHtv zQB5QqNZXDV0fKr;Vk&s}XMcJn{k|Uh!!z1?DS{_N=$6!1;ROI$sdO5_Y+b zlEN`?PO0BcT_AzQ&#=P9LKMwL0ll=UnHBmd&?WKo(%5qzpn^cj>?m=k`qQgqI>Xzg zPmzG8GY~SX$fq7xQ~>O*R3%gC6lyKhb+567BqMRv`vqz;QaX0$@#(6;V-Wb58oWV zxjH;OJv})kIzwD$Lc z?rxOtY4oSQ7knvl5Ew7DblV;dU-3#|yvy@_UHb{Dw{z+yJoN)H$yN}L%k))+EO#X> zn+ZZr8u|J^xN7_#0-o`7w-OgwpFl-b4>B*Hs2m9R5g8!8R)v!6u(2z4fbpxvxjn`$ zp#F5?+QX*?T2?TBNzCW7+76=vy<9s{EYllequ;1lGDyb7rU1#_-dE5m?u{ymotMhh zm-A@9v|h0l*{<4(6sMN$SJam}-$B=dE{Z0cu6B&uWmH78u8drnCLSzZ!Ci~m=2{s0 z4>pTm%dA`#sMGGc0=^0AST2~+ssi3NU@jZqbikDwt0uF_6v zNSAe=qCb~CP#8wkcZ@PV%g=z3*Q-+lx(IMIHFUFxc%f-V{UTE(4CGgZYVKv$kJ9b~ z0I`>9+2DOmhy8`L^G$JDJTp+b074mnl(1mOO&SrA@0+Nap71$Os%vI5b7L=rFi|GK zw}K=b6f0;0$PR-MhMSOlf{%=uz*-xmc#+a`Y6y$Kh$H4(mAkAVR6M}oe)92k4dx<` zjDdUb!WULmqo^g!j{Yzd8aw`b3RP+-*=f@>rW1i2#)z;g!em1ycIAI=X?-yXa^tk26peXGu$9J~I+&e(XL=60^^OJ8er+THecd$W-{S<0Q2oVf`< z!GFrF2HNUp_4&VMc4SYrTSkKS)YB~u`wqE_o3wG(647w$gP4vxkPxsV!z6zOq5NZu z4z~l%l^Zx*d~7c!i;WT%tcsTQNu0P40>l%QBWHddgU77!0nd4Aad5)v4CH(~p4LB5 zm&PVP-GYY`e)8rfPTR=iQ#!}zrX3YZNWA5rsr3}gkOKS6&4aS+oSnOHJrM&^sl;R! zB)3;yjM}+AlB$UhDiF?%8I=1~_|yd;b_sB)$ZjDEtq!|YhlPdg_YWWCy@%Zmu>YCh zD}k^P`3e&C0TzI&qNdxaH+P5kXdVOk-*6)td78)2H-$aT&>P~(A(_?G(*ow?h7Q9V zK$r|KQNrA-q>*u%MxglPD1>*FTwW`;%=xj*7-(UPft4~b0hw&A5<6F@&8cl!f!adL z)wn9zav?Df1tC;yII6{d6|f5B!3}#AakK8zaj>x0o=Pd|skTo$3ayVL`6%*#Lq=CQ z6Dy+sujA3ogsX;Pqk_E{ZaX5T<`mXqMD~?LD~-eQr2AJ>Ef3NDz*tpspvvWX>39}2 zy!Z8Ms2C;KB}EG^Lkg!-|8U7=LhR;cKuV4n=6}+Lf_kmZBwdS58?=#?va@WOywGb zy{zEHQ~26NjXnJKo|^48K74q3`Cwli_Wm#|pnI{{+|d8@Aq z?THq!SQ%h3(nm*skbqG0QXm6=(~2XYyhNb z>x1a8t$kGkPFFK-eV`=;%}Jpx%$Roh3b_*~ zQBr$k5ewUqJM&?FGSzjdVFg|GLn_&P@fEQ8-(!Qn>)7Cb*pWfKwNs^{KP!_NV`R1y znf8@FaZ?4zcyEY9On&txGhhD}zAJ8yNezV86t%N3jU3ot4$?6&7dpo?L3+3Gu3_9K z)2X<>u`%|NNje~_sl=W-8)tR^vIvxyH~;$D`6Qgetau%!0bV4dYk(&H?Lt1fxaR=x zJw7@|v$%lQ%r5T1uVO6-@v=d z8iOYxE&Zd@={&8-@ZKJ{ewJ%A8a-7{B^kLYGYMpv;T7~UlL)So+;qHxHmj2gHRlPR+QSj7`I?7@c`!2ofP#7t1SaAR$m+`9$A%Tl8^+O zSFP|Au)BhzSN0cXivQf*AyhOx8vYywT8_8hwY~MhoAhyjoWU8wzBTY9$o> zq1^e1kJ|f`4Wt6-bs%lE&+~`cq7wuRJ`{pM^AQlx#8X#3^)8L_6u6L&B%>5dLm4q> zD%$EeWK$*^J4`c{cNue4V;B0%&UY6f0c(W^|NAbi4_D08G8Tx4_uS;e+fMqGN0*AI z9G5giq&k47y`&HL*lem@PBrrU7gwI5!4g%mR#MZmVdrCAN3eOcmvqT1$xCW_B{u_P z=1h*NgPqRsM#suM?$e6@AJOle)E`B%b)!bG_6a1pIfbdCi)mtLeeLfURVO4j@mI8h zvFn3ZXt0bzZchAx@1=3Z#7BVlaVhy*z$1eu(eDzvSO>FF?3@m^5__H88Z2m zPpBCoamAWwaxEJ$)FhQE$kan~g0sGe2U zH@=Fo1#F32K}(ZtkAnZ7TZ3%hNihcGFK3B6tDd~rFH?K&P1ETWkTT7-LLbTVQJGKO z;$a3sNo=kz>p9H5O2-L)f%)?thjW6yw&&VjhEm>`OvRLEE*lFK`c$vj=C{hb=T>>k zY-k%UKxU4OT5ZYeEid)GXPe#yFgllR|N*5zM# zmv7>8zROvsQvQppFZoqAoANl>8Cz#_UN3QXntc*Uw$IC>=w~Qy@hZ176n&237CskH zBxs_@#g$)RsWcyU@}$Aaz$Po34S7PNG91xQ+^&rm>R#@yGF(LoGwYKYWkVcBit9id zSYugrq7B+)wA<3`wtDdUkkp3?%m)~;B0_vF^4J1b&50J&j5_9D%|x?C{}qgsOCr_l zDcc!im+dW4?B>Uw%HS8aZbnA^co$i1zEw-4t_mL5TZso|6S9|QfMu~YX6~exH5`@z z%&9guTMPcA5c@xp=7@G!+l$ome+A9tQU7x!FtUg4RT==NkFO>mRQf1by2HPTCjPqy zyQY=u0WF(P|G{*CBfmmB^5pVYaEUay!g~LIMiRVL|JRW~1>S#p$c5)F8hK2*HyC_z z%(MJ#TOJ0*{IH$`?@TR)s#cRZx0R`dgYZ}!p~n&j`E3$jyAj${;3klr;Om7C>ox!K#2&NABZh)DmtCe)+rR9j zM3*r0qI(5;q)|t&=F61S^%WOSCswa`W|QGU4QnRj1<@12l0g@w*b<~`pv!5MD5T*- zp%)v+T0`uSfs~qB!_3|n_^$m(IrJ>kr+R=E>o5TZMVS|QhPT;gB=zW-rCV1gAZKp6Rp;&R{UvqQ5Qp*xg>L z*~&6EiGM@??E#VRTELfKZ6ISS8;RI3FK&y5^JzaDI`^JX*~aI?HOh3MlBW@<)BC40xl8xj5HJ@g$yyX z*iQyqe`}UvWl^tKX^2fyQ_*df!Z^C7>-puN`5R>1;M%=i?Y@vs#pe8#!yyXGV;J(d|CHUC|;xt zoZ5U+vRQ6E%v>Jg9)GqDm4!S=rG>hX(EFtcVX9~C>O9ZR)%(k*e3?tt%!jYUhtKp9 zKEu`Usi&_;sbp59x2hYA_eBuuYVwsJ1ipx_#r({z3gZE?e;Uqg$4eH-3}M}Wx^#H! zDf3-Uj56uRxsUoi?5V3w=^Vm{>TE`Yai{lb6Rkd%faciol_KLGjC%Ajz| zBzzl%L82E8oRuu`B)qBqj+^al9W<&MSm?I0fK!Wsnx}|Dnb$5wW$Cp0KRV{+0n24u zWyJDQSaCRVlF3(&NU?_M-dO6Kq ztE|j}^uJUGNd0`3Fnvyy*5(15P`yG`mNQUmgcMq_Q6VI8gPg*>4n@IM{#e#3mX(V6 zbMnlg9V3X+_$hO6@UTuxs%F@EW{!<71MS6Ein8;8N))vrQ=_xX3y-Nx)q*}yo2t?L zs_MA1u}00p_Qu>~FwSh=#F)kE0A?#u)?esTI)B&^3tClBm(#weNy!z+dbY@r{wDjw z%42^%#a1}|N5o?wISJxHEl|Aju#E~@=KmeGzh~G~9sOT0Y_)byOV2IE4aTe|#Yv{W z5Jy%#Ia)k)yqP=K^cP~3=Pf?3WbVrf2`z_SxR$Tl18~_^NVBMWKuc$ik+KDQ>=HD_j32DH%--< zA=4j!Xk1=|mLDApRd7};e}XJ+?fCo_y8J3JS<~`%;YBH?%DR+FWM_=1vMIG*RHO)&kH9IDSy!%zihSgp^Opy7 z8?}p=iUcafHrt*0t+XP8ErZgmoxmtDrylR?pN*~=F;^23gr5C&_YG+D^WyC+g`a2wmmzm-7|2= z$96Jl$G=C3Ude|l?+@x!$R5OcaU*Cvf+;C}10K&GE3X}v(Rm~?uW2268%APRyKK^^ z``^8)EAM%Zletl-og+MJ;Ert!t@KLuyilukTCtLf+!ghF&EWm*otC+lcwEn^E-4<- zef8Bn*oVcUt1Qj+M}N63g}Mb?%dHEm?3z~9R<0~@3gbmOt&T7N7-Nw9Bzj@0n;`|; z^11ZL^L^m)jei_IKkU7I+sF>U8ti1Sfgj&&y?*t!*QhxQtT;E%OCq|V9+69)E0e1P zB#CTRFk4V{!`NL$+iNvPw48A{UgY@9#)3WSW$`xaN~PpkbuVW9Sn%1BO-wx(`K);A z+Q}BzlIIhJ*A_bYVSK4Ks}auIgVZvV0^SA5VCoHrzWcNS`@-!UTyQJfP$daSx~N*H z<;T2?uTVs(%4$Q3vXzTkMkQEN&Ns7yjLh;ltz;8}eq&bVQ>z&%|UD#U8=QhGJVnew?-XG%3lRu~vo5r0`f znKSoyKf{jg{SMOSdI_q;y_h&XR9n?g~svBmDPWfhk(Zk%+ncDqMwD^-o@QQBW-0 zb}8VSHceAJ+4V{W#joHu&2-X?R{LMHjxmP)7{VFrZufX>&GmEQ`Umvtetd~?DEV}wyx{3%` zQ(e^-tXMJIhOI5v$t;)iR<3R!PT^FNqSDh(%BBb3Ube;=VJ)%`aR%F^2N7HpO7 zp@k_McbYBTG>dz#_XhK6#?8MrHnjiu|8acVi?o*Z_UM=6!@l;x6=Cn<5O+c@3xMf_ zP!t5;Akl0m3geh;`ETq+jIq#MZR#eI zaEKw%d<+YWF@m9*iR;hYs2vTy;eD0dxIwZQd81^({S}u#w7H}ED_#RywROMdpGGBg z4)yBB`{F?rV>d=mbg1dPZFD<%2>i9vQC>UZKk?J(Kih71%=*GxTfMEVE%?Ddz0THV zhd)u_#)q(BHrVIvA9&q_Vpwxet+|)4nHBarH(zx+Shk0ypl~rMp=A z_hOH4_O`m4zS8b3_=Cv|bKYs)XB{?PldT|te(v7%HW%3Ltu1xDphDSeTlBPr?S8=r zd(xW?XVB%)s$O>!8`teor*$zmE8LZZ@d*p>VBsEh@fKFMNmXKQ=pgv*^{9(Csh_d! zn^}*)*uugSsChibfpR`~KU1TrqakZ|vxkUm5t(4`VJmotzj%g)$DL6xghEL-8vhQ( zv1V#B)Q{wbT|o88HZ!z|P&!}pPos}a`+n(ERMhT&elj+WraX3WU;_`geQgZf6!!_P z?>b53;WB^$L;n>_TpMFaiu|GHQ@(3=;=vLYw;NwSssF^3{`v{scpb(`D};`mdNF$V znIacwp`F{>u}49rFt)S5_!keI0POoidZ}FFcbzZt*w!VQI(Xz_*YOh8ehrr z8t1Rx{3~euf9$>McH=gdFaAAG!B)B=xr>%{@ukYH)LB)oRFZ$^HmP)Ho#l9G(Gq1d zrbLCL%2uDQUh@v;)Bp2%f%6RWDDxy|UjPsQL5h+uNoF#WE{h~C8^FfK#>U2PZ!Pm$ zpJNxXxIi_Q_#YBfodb$qp@0BwCcoq|G>>b3f)76qyAU4{v0Fewfg z5u#7{h-Ud(cHdGox4yQ!!luRx;>#d}X-AWw>%B{6p=3q+4orarY$@JbKSr>1A>V)G zu*+h+)I68$?%*u%6eMqipAk(D*pg=i(zE4?(fW+%6md&X5T>a4Y_u@@SxgE~Ot2?X;q7E?=(PJ9~va5n^g}$f& zrnjJ8O|Lu1^RJQ{ST$fx6>NP6(f&4t7EWkgqU~Rh=2v%+&!@p`5k!}BJGB<8;bj@_0+{VkWb^IEfv#+w)xo6Iv?RpYEB zPUe?ywEZBm{aNdqgu(+!eQA;0gcyT1%gNl-_1;D}oz2hikrW`rTcwz9*lU{aaH!`yXq*q2LuEYo z&rn$S=0EVZg?kBDyU{o&6ut#WS=?vLNk#YAGjBm(gaAIs>N4I!zV)(U=n4+Mq zY0=tqM`G$ayslIn$ba>HP<^2lVuy&*#e>urbbpKH{NTXnZ4b^c;E#WVX@bV~NeCP| zi?R%80YQ;Pcv%9C*z+X!D7x$%1PIBCp5I$j$wALIC$b?p`bQfVFzo9E>~BuNz9C7V z2=1u)1NPH1CUV}G#sf)W*JHW7X#qwr4|^bq_!P z5koA0-Y0P$L}S>=&BGX~hKk{TSu!u!l(*@uOsEwS z@@qm8F((hY+n1|Pp6A_zM&}V=rY1wi!?#g95MtB0j}RbQs!OZ)Zwm_b~Ix?K4ELNsJqB_8Rnk+3>l-; zgJ!@)#6?H0Wks2|9_ej(pmGiymm~OT0>U&|QRrT>=P6sFzA_s6*gH0_*QCZ6^IjGw zH;@d3`jKQMp$^l~;eqio!$V@?)P{wE8aBR$bTHM&SIAIwO zQr8uZy;u}a7HLbRm_b5LjFvj7jFQEUw6cR@Levzb_o-h{cw`Vr9J{sNsiM=ybqh1-Y^DG*t$*!^D8YH?il$K}&j?O}| zCic4~wF74-eC;eo2wmiHlvV%QKVZ#3P1H#;!yV$7*ji!iEgxawCd7$S2hwh!-; zC6+PwK3ifpK*pnH83R~NpLp37DuE>Zq3Jnt37gpHye~;X64DNQ5@yiFLgGP(V_bDq z_xk%yYa86LwwkT9II@6YU9bW(O_B-b6UQWKk4anD30YkaNUZ(_{#N6=aI`atcuI*OsEEfx%!^5VRs> z_g|Kv{@|#Q=9}fAHjfXW51`{v8lJ%N@T4Fa=1LllSK}DDpLXup`u%+?34TE4&<>WU zj;=S@f1=e04Mj-~bzv{!H4~xct)noAXJ}GK4ijSgL?aAoD%DL?nY}+ed_rlTJ%0kZ zvjy-R^dTPk_51Z?b{o<;96mWIN`Xl~iOHKRO_rBe9y%HB=Hd8?W#oJUA~Id=l2_IO zm>Cv;FguYg^zXHWv?UlkscPK6l^P|PDch{qb!v`!OwEx=jMl=T*6n4ol)eSIl7&>b zX6WU%OJ}yA8^lniRI|RuFP`|4i0uGclz4gpT{y?Cf_O^K2EtsCq9}UL%CNOJFZ7IN zMI(DOD*5@QB~KBMC68cXYC`v+zFmH;Tp8$QJ{wyDSlVx)9C7j+M-xOr0u^UMBZej% z*m0pz38kMb0u?iMRV+$k^OH!tCatKUSz@*ykztG4p`3w4cH~gT{~`AKmnVlyYK*K( zqkRNw`rCr^YJDw>v;qYq7rPivZ!UffG8C5RH5n?`x{4L>OSv-yu@SwGCd&YH;XDoS z6dNY{beR^42CX7p4=wWv=rJLwIkSYU5m(VP#|i&sxtJqYF+S{+Q(kl52XnS4J>xZ# zHr@*uzHojCd0+t!gUfJ(vQMnCkM`G`zJLm0Ls0ZXI5{CL z2#L|(dL~y;g|a>%M6F}bwD-P8U0Ei=?(8DNv$g4|=5i9&IloVW2`p>N7^Vq`(rf7d zG zGICie6!JNR7)o{FQ!eAg&i}>df6q!U9#pegTUY`W2B9}ix<3)_$=fKgi0R`Peh#JCs-_(xkvMleEAP#3c1YP zPqF(44^r%~zj?9G4%YU8UMTkMJi+xa1r-N1Ik9S&+<8v$KE+KKqNwj35tGndmjcAv zPYs{rR;a%>BoiK})^m{aFvyUAESSoX4o@V57;kWFR>RRVtYGkP74#3W0ujyo-fGad zg8PS0YPQy|a9eXp7GkV^wm`GxG7U{T&!G1o|M%4E1i0+sFV%vCX`sWyMkV#1iIRF- zlvHd=u%siiB-Q54OF9%K^{YyfTWRlT=3SwE2n|XUl^hi3KvW{_q@b@{qX5i=T*77I z;E6oZc(z>$u(gyW^tUWxf1rvO>~B;=(OVZR-KazGc9D5RpiF1zzt4s%K zkZM)pek9La%tYtxVq+9dVZdNTL+yS?P}issauVps1GTM-;axkuBvEdj%;DVA_n1KO z9us~-1ni0WPe^)Ima^6)C>*BI7N-V+?iI5R8sHG1`lH*e**xZT(l91yFcxquFg7nX zLu#S(w#jVFt9@d!yOnV$I7*bF?3AjEagtnzIDBGX!10E#VS}+M=&3FV z_Y)K}i$iOXgav_*Qzq7Ok{&`r zW}`ZWRdpP=>o{yw1q)3_!KR!(C|9Ax?Yb%^bX+7$akZdd-2%6QW1J7(my)w#nUyNe zhUL`hH5(T7$jS^-KsJ#3(`Gi;V|+u8@$XNM85e9VR{T#Y^%&R{bUk^Yi}I>PvPLV} zq=x>%lM_q-f1+2lO$AnQR{5x#-Dd?Lzw8>UCb%>vtp=@A4|`=@2^Vj6fKB8rGvOOx zsFZ6;wrz`#m#dmLK@GVKlPvsY8A^9x6uUusf#4KTa*H<`cI`PXZ~7?6gq`CDRMU;3eU>Lo1h5SoW*ygeE*trAO{cJ0KV0^#IBpQb!gqY0e7HqF|ybn#Ke~0w%KK*+@{~pr6NA&MA`u92g+vjX}Arb#@_CDwD za{+xWq0gE7oV(B22clNaKH%&F&M@FQ2b^!f`39VC$oYnXT&{1(^$j`ukn;^8-vDpP zwvLDJr_X;x13AM!XV~Wq`<&r`YdB!a4xpmphm()&D0LLn9K9)EjiwIG)Q`7GdJ6j) zT)ZbCKB({N?vzhhJZTcgc)o#`A-+wcOT5PP6?!7@s~@5neNDzo)ce0jM{3`j#z~Nm z@?;bfD9~sYEbz8@u4=*GT1D{q4tR%tCV0b@azTDBh_b`4$=9$~|Bi1P@(ak7%qKy* zQg0D?R5e!IOw?~{sh8gbvrs+!7+pu-A<~Wy!jcKeG;-nh-xjCb8~ph905(pzXMPJy z+~2OhW*lT0Fa0Jb4%WrrkC(Mt%vmvYn=khI- z28llw1vB!PL>3g|^Eu$3OMM{6)@EuJJ02EsM zXD+3i<7$rrWjLCR+LXgYyK{ry z>-1vP7NI(uS=5RYKy-H=-r$xV*35Y$(kCDleKrl;$EZx`lWK+}#Q^1-bgzQ!G=>df zr-iexpw|J8H-V`!OWudh^p)`dC*5E&sm%iHPW{bHufr-QU7Q)8ioZ`G4P&qCY1owV zsWF9bIMBPd3psIK!HAPCpHYACT1Lx%OyvU z8DJS1!6YFg9T%v-fm}ixixW1u5-bTql5{iJR)P%PYYRe*XB>L48>?||~wfbEIe#hPX09g2F>Xa*|5h%Jq<62ZbOXuzT2oUm@Rahb@(ZSin2 zLLE4ok9hTK7Xzo3L!+|&bA3U`1hq$N>LNXtS!AuYeCC!{4+Pe@Cqo{*MYJPnDKp?X4E z-m531IrE%RZmFE8}Za5TI7iB)6;%SjkT$h z>oa+*Pv!AMs`CYNkIT@n<6_3?96O#k<63jkGPr9wx@S!UM-zs7+ysN0>B7_|1h*Og z(82p>ob$Y49K@ZDxr~k{-Jg?a-f6crDeBmE6jKa#S~#_M#9%_1iOICiFBE zPa!?+i>E0)9f+q(dO8$OSM+owo+5gBCZ2w#r|04cwtG0W#8XU9l9m}gNm}OgBxy{W4UiKqAUBx$*!CrQgKJxN+t^dxEd2R%tz zUeS}J;P^j>gF}EnOZ%%|#uv-C6 zFY?P3QZA5=sj@v@y_zXDUcEV096W4Il@A|POcU;xqH@es zBD>?=*|CR=a=#ua@59brL!!I=LW8EgFzD~m9a+k@~92$Gfb|XWbJ(h+p zRf=r(vB^>*g3t$F624QkG3z!|roB%-!PH{<%7H13Olz-&TcWPEwRoz%1gTv-Qq9Gq zE)2w8ktrOnXNaw;Ey`61&6!~BShuXp=E2KEXF=Gjg||N6375?>t#9I2H;ds6}b z<;Cz#{R12xenflP5FZ&B@}<|u2MVJ)4x?C3(KAYYzC%NA)UMW9kpxJf+-b4|j<)i{ z{<+uf?|6Ul`aO&r-0wNNu2iCC?&pZ#6n#plqi^LS6+2SVrG@51Fgwfn16{!KJSCL<5K$3L?%=oMRZ~D z(V9{Gekz+JOg`$vOPzLI+jn$F06jp$ze#b|L#gc0g^!-DDG1AY^^izXxZ$N4Pnc$^ zCse}H%F-#1lPU`)gzIZ*97}S>>SUvU(qdC68uqG87HC~ph2nxdkXFrhS2u^Xch+0i z46BH&fkd`p;ja|i`j|P_=JGhyszo1k3y-9ytWLp4I`KHef6q0eZbm1O;pFdZ+%?;8 ze6uXUXV{Os`0LX)ieM@1+h}*!%#DsRj6Q7fVhHOWig{SgTl)D#OPo&-E7TOsu|Eki zJ>!L+N-C{!cC~5^#%r`};J%02xy%ODXXINMy+{AbyH{+K=3E`hC2Iw=43;8Oh@~hA zX$u37A6eZ#FUFKU)U&Utv15jkIBBL4i|JIS7?(9+U0Qsn;*nTte6hKeCk<+w*Riaz zDuZcXc5DhMCBH6Csy3HCP4pG*(6Xqs=^>o;NpFJcVqKn2L+DDME@M+q6wIKKm$iEB zlOD3HFwBW|NwX8p7_I5*!+Pmzo(y-46K^>loL)7dlJDMb(j8RmvAH#22I4HlMj)aYI!c;A@M7h+Pn4&w1Ca6pox`SN?rXW7G zdB-lasX#1+K&>CU@}ZdiTZ@ZjaRd!wrz9g?4kP+dXY!liWsDSc5sa_PvO${O2;!AP zKb~03ZWdN8>}4hHY;GpL4<@x5`#a@SyAw;ib_aG5TdrijNEVrp?CxWB_qi&z?@xS! zp6N?WjbPvMB({1nw~khK%I+-I0qV|O&Pg>hu6-D~bLYd-lA+EzFfCi_jAha=+__dv zb3-NfX=0N-P1*BGJlYLamh zpOLo$2vpRyqVY(+*3KhTC|x6e)j`s-&CNfnOA9c?Udt@MsI+)P1cuzcOmpZXdD;-sps;RD`rg&fo($jdK0` zomQTHoZ?nAG82lgYOCveT{4Pc(o(O$4tCx5k@bNouh=_#wMBW`RAhS3lt&5q!1ATB zI_l#wbraU%tXymhORt^2H>!i}Qq2<87Pc+BrmdAna|pMb6#cm`CbpWqqEB|c{)yK| zJ1l?x9~2H+J{{xJOYw9<8(1SP%(fa}zm-lRcu=;ad&Fk6N0E?hgtno@$E7USf zgKF`_$J4UGAm1UcL5c*>s z_4<*#@mybzkD#aVCaGCDTzuGjU=7AGpjLw)k1D&x5- zlPPAkr!^TYN#=OFrT|?c*sm&EsGV@C-_?oL(VP5Pl~mqCkvCJUaO19PO2OpkC7SSQ zrM(y8>nK)1NjH%0IPU(!~L&Aq`*b1w=rOk>2MMgyrCijll)}L_#=v zdJ-p>D{(*Yk|O5nm=E2b=C8vk=EH%P_^lKK5R%0L!Goadsd2?MEous)bP^s(evHJt zNMa)DMI6yzkD|Drs&;wd?ILB+3K@o-#t}gV+7iNPfnEnjNC^CixaDn(3Lg<}4Mv73 zkY+O`PQX-LAOf%VCE?_$)*uW9RItjgWF!CfSMOrE$~c-6K@a*8#TD<10XY;4h+yHk zDEO1(1@vwZuR-H#f%mjSL0+65fu(*n=iz0v#bY#-l5_h|1g( zqlTkrjoTy%xz7dVh(#iOqJm|f%%FuRE-1vnWspuN;H3&pfg{j0%6D=Hbu}{MILIW* z9te;LVabUYuM~~|Hr<3aSMWB&N)j*42qQ6#5CbhGoEi@W3_%d{5P<$0UgfbTITTyCxQLl0JA#U4VZ?}PCi4@15l2^Gm}Nxx2w~Qb za}l8C0s#_X@^W7(cCdSk86GPn6k6&Xo_Q(X4liU0A|c773>)lYRSc^dV-O|A)Wazg zqSU%fl8Jx@q3)GpGgvI369}dlN}~lYVd%`1@Xxbxun1N3E;-%^>73GASbL@sg{up0 zIYh-p79n&i7Jyn|GK-i}C<$X+q|tlm3>ZVTWQfyOTYQMR1c)cny0}_pgh;76s)!VY z+C@T`iV_hXWe9a4as^?wo5Oa>OBJ*M^&X0FHw_t*QQ%c90zxqtDA0V9szfF(zR`rR zN+8=zKxEAeh6u(KvkoLbq6foYf*ycHZOKR$??Y8MMO0)Pzp*~k=u7Hf?9sBUv>1w+ zg-8Jt)?undopzHqbKT_i=@RdW6nr&uuZgTH$#}ZVhkEJzaHo(1d5!$?K>!w#$@dZt z@wS{P0jEZ!Ap=jsILyPphAYQ~^pooA=Oqq)N4f{GD<$=UOVIXoj%|tSV8%wLxRZ3M zV^~YHQVMT}7Xm-iW3R~!3d;N`qPtZj`$iA_T9M{kEpA~|59fX)<*YW~rh$itd2da%h9a%H>?> z(Ntm)Ze3-NNQE3f$(icaB~$~7KCT&rekdaHI1_(nM<{Wo`jN0qVc|hZ>P+!9u1X=t z>2Oz6j{a29Eqcn&ZkwjOM11{;93atyjyz(r`ZjtEhyxIH%S9DG4lpLXK$^xhKS&iv zF^7e7>*NWQsMymv(`nFs63~s5B!=RvFPZ?qs6_?hmoKwlS7kr75X0OBAUwnzV0K=!6D|Uq{y!Ul23Do*g7Ee0?eb zyYEc&r4whqK~muD#R7S!GlS`gdsArR{2C<8jx+b?HkcVC`W8i;Oz<7W=LnZGShJ=u z-*MS-4>8Ncw@H>^OaYFQBcy*+`RVf@tNNt9pIVuygoF3KG( z$dDo+(oPxPv_cxl_BvAAT_NNR?F%^7#5?_VQ0iKY1CRS1T-2#u{H$O8wyc!;5f7;P zXoXbY46hYs)f_APsB#d=%HADpn48<`MR68H4ou3_$tGN<(RF7>Dd7sbr6AtQa)!^Q ztA|SaDc&z}w@@`hp1@{#-2td-ytp;xwDUR+&m0|!kp?)culKR|MF*2U#WX`msvFm70gyeiK2?F&yax%+Srb@ky_?uoPqQ%UHtlnARS z(%@4miK7bg;TuhbEW%^78!NS0o1LD%S~-lm?F{(Q9!#Xjdumj!K5^ThS~aQ9)as}1 zV$bB5Fcgfg^quH(p5VrvWklk@6L31>$=P@}QC%@d znWl9!Fez>)8<=d|63ZinZqOyhjk$z8h1z6UZtL?FCy5N@B?Hs&X`<^|a!3W%35q%cM3LR?*t!LkIU%51+fQ zinr@~On<+&^R(AZ`>_1Ad3U%h%MkA zx-Dm9B^f*0jr2oI8g~s+`=o_MYG5@=D5q2ESgkI~X{Byfr;>6?ZGF-*INRgW;wpDf zMdMDYGL-sNYiDI9yN8SR*6WIu-b8B@3!z&%w~($SvMpRB>2UE~n2TGcCO&S}<)hz_ zNw^7`t#aw&$d61Rfp*5=XQn$CXjf;zR4`xcqsMQ)>*-9PnbEj+Dg$g$| zg9AW|T$l)dcoPXtIg$s2wg|6tc%4^R7xH^BEaasdTZ{2M6gxJG&GSN{<>TV_SbIO# z-b)_MAD%t)HT%+xRktNeZ)Jr&QIn|3+O+Pn|Y1+7CqY_)tJf} zuS+#vpGs5DD%$t*KAYE!aI+Jfi&D9L70Dd;LrhYui_aSr-+08Dj77B|ljP^)W0WZJ zDL+QpB5f-0ZLGeH;oCSb_K}qi_?6~X_lK%ts<-16Un(yIR7>BgPt|t|%I5jfySmJ^ zMx*)!>s_g3ozX0ON2fOL(6J+&yh_91lw2n&3{wFl@Y%ZpZTfMNj_4ZcNFa=9uW-RZ zFTo$sE$}UQ9ijCj15#z841q)`SKbg{%| z-Si@NE5oA$e!(4u7yAa{jid|rG@N`_kRwsY#S_tho11}HL$L$UcS*oqW8?Ahhaa!@ zR;hSt4;3UB^d$0{H8}L`KzvifQ7p)6u;A5xuh-LzRy+VyJ3flax$E&R|FBEdbaC{9 zR9g8~YrfM6iqG#ay8%3Pb~t5+%iigt^>UtfT09VKtV$l{rI#k{f!B+C@^G~ zHlf?Zm~D!afj@lXz4x~)to-&JL(F^cD9ll1vP<-hVW&(LI51DhhsBZSv-$fdP3F7? z(U~?T3iY@2QkNzrQC-YUO=KEJ$VT7ME<=yEVRY8nq{BGU&cyo{xWgqQ3LbIC9|q{K;du|K%TfR|{9cD$E% z*+#wAYRKGfNEeA>Wv#$`Yh1gJs^N2qFWoR0Uv(;BROH%?YqGX1``#t|_Zcs4VkP7j zh?S5ZZpDv`)>?#X9IZwoP{=&IB>&(M^AT)KeGytle}|5x$ub+!WetQ1cvFxd6J@M} zjF38bdVi_TJ9wdx=~fyX#x){NC|C^mx6gkD{AXxjWfYtv7uP?tf>e&pp%z)`>ju6t4r`VKoh3u*w_MF0f`r)!2u>- zeC*0)U4QJ(f}$hA-5!_Kj;9DP@)z%5$F~x%j=hD6|70Ng7%&0ye5_|- z2N2GJPP+b`JMZVB^ZKGI`bGEsEV{3czwQ2mQI|Q+Mn9jMm_$qx?93M3l^cpk^|7R$ z{+?LaNFoi0N4DY>N|jBFNQs*uJj;hA)UHDA(ldZcooN;79@au3&rm`(}zGWgp~&z zBhcDuQ3QU#`&tNi!Uf1D`km)#r%ftb+xOa&G@uK>-vxNg(Jqx+msbGYZkCDprET^C zCu-5)w8S8ZoGtFwmb6pom5D}+-fLZUMQdcOEp|)={SLD80~(MzsQ>B=fUry2I}SD0 z+R+1)k?MwaFCe>ORR8a>vkvg{J zS8W>%O;v3(IFVjw7jm{{c&87ITJ_}>kpnZs%BdD|XC0dMji1KGr%SyLy8`!!cOKB- zD?yVws?o*SpR64N^s+5_Vr}5G8gP(lpG#}C>d{G*E#hE>EECP~bIV%5kPqUs-Z}h- zr+KemC$}~bro<8NMsw&A;LQ}O#u965mSfqX*LeNmlF;~7f?N2Q!B$&5uIO>KV@;oo zwP~p2ur!IXZfP2s*ozt?Eb|6@aAGi;v9T~aWi5L&;{iGj-G&LaVt{#49)2~pdU@p$ z7oWxVa_FhRytAX%9Y0wb{sU5c%sglYC!`*slKx=K3XSFU5qoBL9i5}lD zFYU|8c4}l*D?s&b3u>4JqlwG=1P1YjGZO|~GAhBAq15(Op;L2)XsSCDm6v%S>Ud2{3_nH(b&ta?5}L0mUBI#;e&Je27|Y8}o_99o@7 z#h3a9jfht6K906#^{~uE5)BiLWqmk!zP(hzU%Fjs??2k6(t=w3-bQrJ-5vw z*Tv3$VDB>22LD=Y@CW$Y-r!HHY-giuW0#NHe<2*t#9z7R0Zu))*O3Jp$17ltCoJSg zc#ybYBRZx>Bh&i*xs|!f+%P#=vmsu)(IPt|TKO(UMlAtV9Y`|tPZ#v*!u1LJ1apGi zLw6la`Lb+25NpwH-_Z@SgqKALFDgrDSU@!im~hu_x^qBkGdNe#!h{OFRV)d+6#B;I z?6~0UVI^nBg0qMCdp&2z2D`3^vn$4Iy*jj#^A~oq9j$3k%Le9^r2rWnu{x>b^Qt~I zB}!IO&UKB<*hqCY-AUQftGt(T>KW_zQY}TJMjk)CWAkKBoPE(>8u;>p zis!&5w(gkK99$6ifi2fK@!v76lx$qkj-9ocm}(gXy0{&SvZRCKD2TjxBku|5F?4|8 zI3AG9X`Y{INBC<_2job#YK{V2x^pevvQSIEX1=XH#o8$}@0DYxq%?2S6s=@}#wcZZ zbz(>Nu!K@oERYHTWpYeev=moWcZ_px+L3gnlaZ=%WV+doTpj{~4$51)iXaLcS#de2 zIu`+kd(l>86eT$CMX17?k|Z3hwxI>H+C+%rn%1s+VQoW#%5T%57u=W_%}Z=6Vr2dj zFq6rki`+)K}6cwjRqp&G>Hz^)5 z;?YRD^Hh7=c6L}=b_nJp_QWu}VQ`Wi5*wX1duIYon(XOlPG~#D1n=z2c&Lh`1rN_Q zL`g3;K^8l+H6qLMf2*WW%3CDV8mNXeex8QmoKPXX&x6eSOctWZ{5n7Vb`Vxkilj-o z(b+u!(lk>01*z=HUd`+>M5&wK@eaFSW~eZnE%H^T0pk?t`t@U}r>pN#4X=MqgNzt$ zHTTeXGB3guWn|&gm78=c$9(PXn>s}4bez=c*R(rTom5Wb>?0MLRu{ySoTOA|$Cku} z7;1lPNEnhk%NhCyqqCFVJd-}owWA4T2mM6|WvxC#g4NY$HI?%jHM%-O)v3I^TxDNg zU0MmHBG?jxJtEvky4{Mfaijk8=e=S-AQH)VQd+Uyn*6Trum!m65#i;dwbn{m%rIkJ zDV6A{6MW-Py^UL#ZXTqUp{Nv=8$o-qh~%a9gPjxX)k2n26P3c9NH-?Snx)08H0q`BJiJ3T}dk%fg}=roFQ_s@TN zPqmF|#N8bsnTrIQ^F0N3SLHvQ?38vaimcqZL9r{POANHR>g2q&dg3X5@{pBw>0*NS z1NA$Ct3K;JY1Qvxbk(Y?Dt*{NF;NrI;H>SMZtZi9N?R(ifxf0ej#14z(4k9L!#rs3 zIAs?Z(ITb6Y1uXXO?&&_Tzk`rX{dhaBT}Wd)oEvXd$*`^1C^}quE7K9XG$SsY*8IV z?_o4FH#`4s^)qcc8ly*wNhel)Iv?TA(_lbc)HjS!9Lhoy|d%bR+j2-D)6sMO+x`6f5$FM)PU2?E$N5 z53waMM0WYJAzmM66A)_s<=6x0A<@qL=?@DNJ z(9XgevKJSNMZ5VHrL2(a$#yo;?br2#%D2-*|JP)wQRG?Mv14nWpJ}$0b5IpNwv?2b zalB(imiANKhtjvUqCVPY{lG5neVo*?(nW(b;Qhm4x;$S|;y{$*OF9sHim$Nw}p%4Npp#WoFmkjcm#VI+SJ;f+(x8eey35e$)>hqoZELWS6_hqzb?6(@@LCSuyHNDNNjcG% zJaDBXx~9n~CvW87S&18ViA_%R_E5xKm!ybC5r4d3$sH?!t$NGXirudUFBK73L5Oi-a_m74!9z#^9VcOqA%kR)oAw?$ALQ9yG7mAV?%w|M?qV`+du+}8v^|2w zz5PVO>Y&@@UP@vz8xdh!AiJ2rmi)k~1&bh$YhXPp- z_p3r^Kp)P+Fqix<<_k~)EEXjbi=Ty9bqubIxERf+@iIhEIddAB1YN9(SZ7)|EsuhL zWAb)Z5u(KV#3S1($c;G*;x;r5Cuz!%I?%L>6`MmGAkk+~VU~_U zPqtC55J)J7W6Cj#rN#55Hs{nDq2|e+ug#FYe34(t9GYT{>S2DxACov+1oKbZ1EpJ1 zB-WRMUhhbzYLxt-$Eo(9+UaR`uk>*^?;Fi7pV*(5#7`P_!A7aD8WO9P9RZ_m?HeNL*Mq$^|n7JB8zy zseCU#nO|g!lSaiH^tP#-a=9uuhw;OjC1j7L)us})q}AV}P%UNw=i>w z1l1A0icny~tvMsfvA5NG(n6E0IbYN#%OCr}Wy@VeL)FZ-fiyRsz_O!dYVH{t&w ztv|}@W|!8$@b-1EpxV9<7FR(Scc*g@GkhQyPDUAs#?!eS>5}vLkG}Uc{_jeS3)*7%2Gd9a;mYS| zK2my`d?!%(F#q)o|2NQ(`QX0+LIW*SQTRKW1()Gyna2E>Os83xBch-7wBjdGI>p6! z7yScIY8kh%L=iNx4LRCY0(n`!Pk4&PCk3eYOnow_!xE*HiC$)V%j@o9e%aPi%kuZ1 z545+c=pzKiRj*}Bk)DHI`NN9g;OO=B3?I6O&t)=rgm-&%xwfk^<1O)-_ZM#_UR3;^pT*BKD+Afe-LzPu%ELxShZyIvVMhUw+vQx&!3s zkEc_tynqJfZ+-W-zjw#k_@oLH5l=Ck26#N>qM$ zc&NYRdQVSJ_3}j0w{I;XC;ZxOmF&4vmtLs!hK{JN|G8Mg2&V013_T)unLCOo)zu6l z?g8LqR>LLyyUZkdZ0HiFh-$JjtGpAzxXZlqPLI9q;21|v$ubmIyq;m`i9@KZVH!@E z@w3f21DxCAL>%p)X;s(&O$QAR10p8N9K)`c7_Hykq!gdcr0 z#VTdY1Zw2K>Nw~(yB~(7#$sDbZR*=JV=99V*QxNU^?m>j1xX z0N)mfxBO>tvd+0+jaLCK_13{Xs7X+U&`diGbQV()Fb}Y?s8p5PrS-qFo$^vB1O=h2 zISzV0tgOD*`ZA7}GNd({Xy}$Moo~ux&nyf)yh#+z>HO3a_@6kjP~i^JiwN?ktDTmm za-vR~%=6tFq5xU^B8dx0TBVbIWP2b|uiW5it{zerucaSDa|m+f*(9;KEX!bQs zor?>aW!+x4%Qx~;DV`}_Xk^8@df zp1%uwB@h3hUk-u76IbfQWmzF6E0pLRuzX|twM#a^o>vv*-?PlR6|+*Y3Qoj>rgPR} zqlBP^gKShYcL&5!Vt%r+XEBKd@I{##A$w^|GB7c{s;ImF$;c*s)N(Q^76ZuH-Unjr zk9t*W8=l$Em$M5{!}y7GI7?Yn%N(tQeC+(VE1p!QOtpv_Ka!DBEF%}UN_L_$dS##y zn%YxTg!LJX(fa{^fV#PWV#ME(y6Gm8=t%Jd9s{KUxAYBPFfIj>9%zuwrFSJr5|ypr zJ@EcQ1UvGVKT5t(MwXsIq8Me%Uyao(&4Ar2SaI_O-6qAn>;b~I@4fg`^4tHQHBLPq zs zZFy;F3VIdh#B)NH6^YFmrr%3s3Cw)}e-7?dkX#RoPu?Xh?3m_f+y4?Lr&W<0~SXW7%=>@0iA{r%AiVF4BfVEIVLMZP>D^2N!JWqGmyxT(-a$lIFb zX=q|@|GsAPtmuG!$84U79@xj<^|N_)Uchm5$1N3`4 z_HMY~I<`Owvy)bPVZhT$^93G}Mu3(@+)=uv%T2-_Xk;ey)!Oa1X&Nke|7|pnva62U zr&M}$HgF`x^FHZ3%GnxtjJ^xz*Wv07AM;TK#+yp7C_d}WN4ycoe@DgfuXI7OUu)-L zt-t-1Pwp;)ES%thI3FUnj=dHi%w*mt_?r9*T5^)KUPsApQ6i>(Ezi=^WXyN*iqu~W zJTozQ4qU=Uim&5fv-H$@lH&c}vT(YL@hlW?PURH57gN3oWAxbu^65=c4m^=_J2Y>c zBr*Qp^{((X5LJK|2(Lt%Ph^U9*~iIj7N+AUh_Q@sr&GLcR#VDXxGeEEx`r6cp?6AT z#I9893vm+TF3VtQoojSc5BaRy$gMW_2xI*}|4Cm?+~@fQ_i8v<#`~?IP#Cxe5sX%) zyUCdgF18k+gu^6C|No3AEES93c5{vqin!6GvPBCJExKcca1;rEL7@z-ep@FH>440d zQp_?W<`xrYcqQoY!b&7(UDn*%UnLkAx_#cg=or_#(XPln(B2W@#$fbba4CALT?si+ z36)N^pA-xb(PkwgdaxKyYjh-ERk6)I8A&rIYE)IFYaC7%(Jc(@Xc4BPAAY=Y@aLZ@ z;fxIsh7Zl$OGHPOJWN~zzD48W4}-K!fvh(9WVNYIY%cp~;iK-q*E)Ci zY#)0To7XxoHM}MVw2m?ut*%M`O~AxL8!4aB_L_Xw+J9ctFYZzXSPJ_U{!s9ObTp&_ znUU(VN5o-YMZYZhmuv_1oIC3fvx+*k+uFoVUwlWoCCj-B*vA4svrrN+`x{*=K@H$s z&H{Hq2Uw7)7oA)4fQokKKIGh##Vo{~{)p1o=tF)3eaBy?&G?Np6+CF4Pw=3f=FRs> zfPfIeJi}Q=ZxB7fc=JZw;P!&|ks7cs@eckx5I_a`mv7|DIlR5B$dFw{iv_7_`rMT= zDhq#EhSC>+rZHac)_^|19 zqc_iw4u{r2(wEn#r-N5-^e-h@i^=eU!`rudGRJb^PKYZAjpbYXX0V%BQ}F9&gIBNL zyw<;#mJW9zx~k<)QMEyKBn4W%FRDMg)G>FXX^F#6r$?V1eRgPc9O-`UZ=?>oKWQ4G zI{_<=72j-212pdN?WsXBhl$V-SSp%UE%M#z*=`{#bh{@D)w{EGD|bcE>m<`c|kHaO#(Qfyb;~=4tkb< za@MuNqq5zwPuI%KV(p>eYrPyT7VnZB*d-J3>U+QRUD{EmadN|8%I*=x@2>40!VUeU zV#D~Mt}eEIZc>-lHI$-Mjk#HuwZXu0!?viBY`J#5WWpuzmX<|=WpOQAL>t&%1;?Bl z``4n328P&IQTlJoAV$1QFHpa~_~GlXB!1=v)NZtX?t8Ov=YN$z__bGa+_%T84jO5J zotAjX11Nwti)NcuAuzv=0SRA!;jitNKg~Vw#Z{m1l0Y;EV*;cy@yq5|o+q-r*n`xR z%UL35)>&{Fw#k@Kel6?@D!-Yk^trNlN`jORUVZ^wpC^o=wSXQ%&)N)8#mL5SOsFOz z^)eQ};CCFogu(F^NgOXp9)sYD^DEg2Fe>4#_sMJ$WLGDQlg6)RVUU4hpE1DQbQ)rh zLGI-&P-PGx$`qBOMUdtZflwiCN}dy_)5N1CiF%dm5AgILTaK?h&=coT&erVYHku$V zp7$0ZzHWorB4(gAXr7j@KpF(Wc+L1x&=E6KN)aV2Kme0qNqXN3NlbGhB3{DA3RZV$ zP}pU_?ueU(N+JqbkHY1l@Z0HnucUWqOdiYm6|@({B6LeMhV~&KUJ>pgD)0;gqnqho zPnIRHdCOVa*;8DTbMBfVyLJ9 z5rk1X3U_R)_k(eoWZe9}{T2HBOAUf>ktXl)%ru%$DcT{GFgF~!5l|ay5{Ne%S0y>@ zJM*mjVh=b@=f1CiZ$spTDU4t~zJku6i;aruZeS;s6FQ%VQ9wc4PUt|-?9Us-$E}&y6Q67%3=CBT5t`sQc9H_)0Bd7F> zaFw7xI_xCoK(3q$<+gnRgIC|Ui?Gx-*%FP;G?)mWHDC}JgfQERZu}8Zz!6Yr*XxWuaXJ3geELP!HN6~UD!xQcM9}t?~RLd_gp}KMmxaZ|6AdJwoq!lY^J%)6V&b|R^9}4l>+bMrz zFm4yF?`Z=D}V9XRYdg-)Pm*>qP>6^##3)uBZr)zN#=X-A4@9VyYf9sDZapJ zbWMKLBNX_)8CGIiI$kJwLf0KF)Ld!RL(hma2UADc(bI}m9@9=H9FMtu6Qpw!pIE5% zn)+b&H|qVNQufV@kMv0#S(L87qOK=z)9TuZ0BOGwf2|F`tq40oab$7z3@~2ABtc-b z&KYzyYzWSGM1Xi>A$%S_Sn*6jJe0_a zp29%kk4rR-uubs))K-KC?Z%5BHLn0(NsID|Sq{0)yiLqgq*M6zko+k;W+b$jXd!d< zjxY0}3M!4#SPICsnk$tSeur^!6C;E-?r42tVP_AHe9yrVdeniAC6ZgMrp!?y3PpT% z59y@Qjg7h)>_yxRM`;@4a+cgn94 zVua!83F@8_v|ZHm-qO2{=1{5MyW%vN{`oFQ30PP)Qi3_+m==0wFqCR4ziDs@b{0)0 zv5BT3z~jgmT#TIa%4m7?Bqh(yaTBi#P3f=};R9i?>h9)BW2h0VCYZbn$FQ9a($#mo zjMz(ub7x^WlsdN#>-?B>ZQSx>GSzQ(@vhRq8(s``lIYk^RXge3C2C7~kvMCEv}&K* z<0)9r#xO+xrb8I7b*|IG7a}yL``{w$Sf^<2ZowYg5kZ5^2tk$o`;x5B zpL|l)&4_0}+Xju@3L2$-x#hffU0ErYSy$`Jx=Pt}UanJ50|VIFxu0G|rfJ-%Yl-I` zYu;h&$AG${zBeQu3JX%Uh@ukM-Goc3>i;~#_(c@?W}GZSwysa;Y8uDC84FYvX?Fib zp5;YTaZ=#jpxK>*1|^H!m`#-8bG+#`Co8qEBu_AyOtSC-oQctR1=BE?-GoVc&2d2x zo?gTOL3^)e43}|opf;R=90utk$#a;-!q`qmR}@>75e`g~nLJP1>0aftxI>-ua}v!v z?e>oQ>PoRVG(APt#zY;Z8l^NiM?FolJo|Dk0xO~%(w`slJhf?@!!kwou`8tj@hXDP znunnHafG~*Mw4(PRjrrby!PJVu><9$vnXH$VQLe%va};paWd<96#XXQSX6k_7V@!_ zeq>ODoWfG+ivWDQh%ng9MJmd|!$+QdQHGI-fam3z+UIY+qsd5d-RXEGf!%As^4_IYCGP><;&DnxUbMx~B zn2;k`AI`T)Xq+|_pRBV6_UpJJ3>Wc$*H^_Ugz`4QNlBu|r!Yw|Dj(uUrVcCUk4&#l zF7A#1!>2q&_-vBeye)pr6OgjV*!&bkm$#-2iRPn49E_DPDKu<-Xi0q(=Hzqq(;4G# z+$gj(=C0!ct-Lk4?eiOJHb2A}j#b4S&vEwA&QP4>3=ZyolB18v=BG9;vyG$Un^pa?lPCY4j>d}&J1mieTjt?BRo`N+7*BB8B16KYt=ZKZz zL{l3W1e?NkNiv`2ES z@!BKDlVex)KStNlcX%4WWY(EStJ>A<)C(KvI_zrFygN|;q4r=>1P;G3PAtg1_*lEE z-?3qrE5GK602Do@OP7uh=;O*C-A5ndu;*8&Mk-qdXu+B@+xlZ(P1~#TKOf2QV62j? zglr;|t5MNc?vx*_O0O6urdg#nLP~X|7OGw?NRGaSH-gF$Qb*5c;^nA&T4E}m=x1)_ z1H)Ct31RKYc%!wn@{F=Um1~bBFVirb+ozHZ$x_>if;1JG2#*vIFNy%yNHo=VjMXc3 z%aEgQ++;MMpn>Su5AmH8h@HX~wckhkg(TUIA*Whk7uT@s-^R-{OH%kka4TV2?j|jO zRj=EtUhBxxk8{dA%61)Qo5$I{nN~{QVq0tHlPUDAtd>TM+_BmXYu`k_9?Ks^b8HxT z5N))Iuw7HXkD;XyB26Y?T1rX)Nk6SHdf`r`7pOI_%o!q$cydkOvPdqi-F1BR_b9v(JIRqWM$={+t(KoL{d$o+tMDQ*W-~(M ze93oGlC(1<(Erw}#Uf2^LCMK&_7$8y306k5V0o5)c3unER=cgOL2s+u*6K)Zk`flv z4ZKt)p>LVIcdCw?WZC9fQl(Ma=vQ5#7btI-+_Y2QI(96K@8*(Ax9n<0#jFzwdZgHb zL4qJ?GTosfIgxKQX6+x8r*Gj#oj^5PI?CTdt?(Ps%V$hBt#~Xlv7q&XRG!_)Gn$1wNr4h!5l6`+ ze~VKW^Gb+-%-7FF=x#t6b&9VH$m2zLaz{}q?8%e!BE6bPiYgUqR=pXaz8Fk?UV==W zs1Y)A8XHwDD=U>K&@ zy4EcQhSOWox%<72ozest>%M%}sJa(&H9FD(_y@X_mZw2UH4H952(W*I&=T9V*E87l zzOX;H*bSzwd^1>~{Ez>$$7cyB?cLTaGPkxjxg!Q|mv67pbET&EAqHZ&Q#8omv}; zBaso~!9F_|bA%LpSC9vxt|+f1_OBALZ-n^9)9`4%4E6C`sL&8(94pNo==d*-?n5o* zD{O$+5-e)ak}J4klYahSc>Ed5y&WA#)HbR>Xve90Tn2~Ms^6(zNbj>2T$BFu-~V@Y z5;b|*4p(;ore=?uo?AyRTcwlHyaH&bV&G|=btqHrdF-M=JI-=3gP^RA8?d^HiCo2A zcEi^(n^bBquP)EpKVZ)G`Ps8`^e#O-v>8wAU7X=I8V!LFlT2{Y54vNi0;V9m4bYip zQN~c*7c2A&jYIUod)9k`=k)#O&wKFZJuq*}eSRU}}Qcu?RNbeEO-aUU!Xc-uiMR^H%PL zSbm~YyIs?oEIJj`D<)``qhfsrCug0zK0T!sHiN5rVe3l8DHzM#T}sCgQ89dLl>%rK zg_W9P6h|K7u&rp-hTyR3=Yp|v^onUYmPWgX$abES$R8HJ78`!6|MY(9n`04m^D%UI z)E$rYRD)8goKxjipF?>sA-UN_INs5~&}6Z|sBgSNN&;6r5>f68<~_)|en_J}k0)M| z;1`2+18mgrvT+SqpsWTmy2f!W3qaKxu@$A%7>tTz%DR=E1*fQbV>?~N++1f0TQ|2| zsQDUebGi{9rzKNqm@e66tX^4D>*j5?rP}7LF3H75YPVUh^Qwl~0Zp%KFm2I%B;94@ zosCj)P48`-isRC6#c8RyzG1)q&D`Q}5$3$iA98(x_{H5QaIdxDZ zGuPbpxXU$+au?kFHiq5*)!}MjZM;m<2+=^r?-gO8rZQGdk%AoE-zK0Z#~uO%OUV8L za$kcRrEkk9p1^=n!XI?}a2;7|P(kzKg-E?-Nsk^R$DrcahEiyK{A_%1xPQ?q z0V=fCnm;%vSwIwGtR7@Xfj*b&9E^kBV7yJ8oU@|N&kR`HQmt&d-lkT~=UOjt# zdb&-GoU@`vo>q?ff`fzp^R1YNbDH(J0}nan(Y;*!T61H|u5$q_FVoQ5i(3~U84Ka) zv-|#Ak+Znh6(_0qQ@+u4ap${N@aI5W!J5|u;^sg5zU4IV0GF{GA#f^J{@>Z1EaO^L zX?1?E+f}8S?s&=S=r?x9N)SE%h^^U8yt|yY2_K_M*q=r>#EyO!7sQVKxF7a# z_rqXQlP$t=G>yi*F}f4)_cvvJ>mnJIvB}jjJ~aE|ve@tHvKV@~mv4)4e5DK6xCy1n zNaDQuQ|vOEUHmBuE^?Yzf83Ou$shK$h1xr0>u!INv7RH_^|z@F+(3U&R|4S zUE1Du9{le>!Y64*8!Q49{B~N@r5|9IZhgrZ@!RWWl}^%wMqbjItQnYY(iaAg*4-Rq zzX8dB(cHFEtoI_YG8CJO3ZDXH|FAL^%&e!rsN`|6?`wR=NMD1w#;$d-XWe}x{mxNK z+&OAl-Z0`)iNVGiKlye8?i~G> zy>m2Nd+Er!Ekl_a-H*{cMTh2%nBUN~qxImm_R!ulcH zy)5DZv~R)aU&yl+zX+=9>){Xe7>5*iM;=n##f`e!Qen>)&GWimz{jDt`E)h5sMU9>dw7(Aw_RSpPHsCQU_B18Hp0Gluq9dni7C`{G)cO- zkeNo_k$Gpcw%ceu z?lzCDTY<*uTn+nJm~;*^SxC`D)XF6B$pu|3|YIg)(3IR*RMP?v?9>9NzK-&}%DUB!C&R2~Tvi{U2Hd+xndv^O(nY7Z ztY4zmwP&}?f^}DiMz@Bc*1XDv6;ws_FgFr>lZI2{eJxY0JI$0X*{9P5n+8=PY>g~? za>cbjMe)ws9nU(z0e$P%cw=;8WZ$%j(9Ip0tIcM;9r{ptr@1+Go6@qj|1is^Dvx7x zRHaQs)Zbo+>}z!&Irb6}`!1sl4e}FcV|ha^R>$-c`7-Iu2bN#+MWBtBNB>6?7Y+RKbhAWh{k* ze6QX)uW*UP*&>*0a%LXPVD1G{1nl8wk(UJ^I~(Kq!P;wHQ1E?U@-l_+{ay6ZSAu4j zy^@R(sggO=^qaZz<)TWz_;s4h-($}t^B_jIgLH=O1aUCWAO3!eUl1|7fVSW{)Kl;D z^xY%gKzj${i`S!*DU8x0Cl~qCZwHS^!8glsjE))$iahst_u#&rXIJRgkF(?vFT#C0 zoz~a;K$qdZSb;Vo4?iFALfnra$VfW=5KV&k5wFF49wuTwKjO`}HxY=W=wgYUNm&vD zTYvZWM-(LG>T9~-f#&nq(Kt;ix%+`8Gb|w-4;3BBaA83|7K|DRGW9WUxhg+|Xol<5 zW8QXsb(vylSQOzj-(vh{nT3xy*FO_J7#PI%Cdl&e5vTi)Sf327`-n6CYp8M#6~~uB z_=q!IQ? zxp>Ugec*kUCX?m3stX=y#=l8sAtd(@r41q#je^*@xBAjEeA3LXkEgA~LtZZZfD zBtKq9*Y5frNKAZ>ch?_J04S*xypJkH^8-zCRrfR{zt%^b;9ufJp?M%?cwO5cXl|PX zfI_lZ;L_BYftH#_vk>@vehu5AokyJSuo2I~UzRW?X=Qgj&_w?(%+n+emovn805u&= zkdL|yx_90WWzlj^@dx7d&x6NYv^1MBd-Ee?$73qGw8a?bO4|#kQ&`5L_o2}KACs%m zQtF)s=>@_evDNkwmo8~|Z$QBVEoQ>pPuBg1pUw?nsPxm4$AqHN>%BKPD)R1sD8MQB zbI5;=H2A3m{sMRWg!MNLz)t(LH{j5rX-HU10XjIH$`q5 zZj0QcF7;M(OAR8%ej`MT636VDxEK$I&*bo&vfyXdU<6r!IlnsaQY}4q15T>%t44@Q z>#6&d`|A%xqdyRh{)-|S9jrw(a-c38G(ug_5RDE@)P+9~jZAoq!zOxHQjEi)=+?tx z91<}Ohxofz?>amiC4T@HeYEB6#X5MN-X<_L4Y;=+qUKJJF2621&077cu8}VI8GSMx z-3!*tqL^(*V&WVXvuz<}+Y$b*)UJ=tMvLDL)=Y)P{J#y}Ox20OR+uwWCr-$;UXC|L z5@~ExbQ%=@z@zz%;L%jgxUDd0{!4S*A9ytn%5m#3YxGmT5@wBlj(7iTQTh>tcWkT-xTy9aNu%K6(W^ikA1! ze|qL?U@*s9;<(n1h515ClSDPKB7Zgoj=3{*Oci)c3GQPPHagR13^f24|@RF>-Ya5~jhUP+mvq>Wz?%YP!oWB`gJLchl)u%^#j73p>Wf zT5{59JTYX91{qY@lnt4nw}uCL%{gF$F08BHIgV8m;zMHurT=CknbC}Nlp&{BZYa5% zNSq2Fs10RK4Hi@bsUvbXkUMJtq8zil3LolzWzWOVWyzm1Y*hmZ)$c4SLbF!uBl;7e|3FsqiP@L=!4c^2i- zd)WIv6zo@l1c36iW-OaoZ5B3R?2Lz7jtdUIr_Q&m!@-S72{{}YeBp7z+2 z|H(h?os(_*@l6tD^LFm#!T353G4kCk$SFo9t}UHcaqPw6`!M$UJ9kE~YShks`oA9k zGw2P6J@M;q?fg2pjb_W4xT->9SZ)6`N8x;YzeAVy`onRkO{o3BU^sl;>tP!Q*g6?&B3!Yq5> zCQgC!$yBv)O56#fhJSG&p@r}dwy!tbAJVV;XyWPVJ28S6_XgrKW`<_(DC|vale$=Z_j& z*4-9I(@^X01fS`ZcT=#D81$dJp(tsuL=NyZ5R|?H8`8HS6MYNI(6>PbeH;DHFTwKp z240?D0c7XbAXCL0>24tfM1Ql>I(!3pP?Om#$52N`|k$SZDB~!L2hgC zZrXbbvIiUv+YMogTsf*BgLRE>JBHHv{K#5~fA)H<>XK|~d(HQI*LQ>`_6vIN>JlW9Ctjj!yYaSe>A z;E!BG11r_QVS{v3=b-_`)5$dgL);R#8 z)Wq9w+vq*6S!7@ft12|I4G>(_QHSk~@MKiMz4q3~daA!P>Mh7p)j+LF1zeb0)|)`m zGR^aLE&5lj2ycR2sOI2dyAE1PHCUsk0tQMYJ!o$Qprzznzr7v-OeOBMOCWHrzHtM* zYE#KL3UeN==qiAX4K)V7TO50>KOY_JU0lQ(R!&OpVCR3D!bV$x8PR7JD>bD=IzemA~tC!d6-)XpTiBEB^+D zq^jO0blI=6R`J;hMC2NA{U8zdmxU{U*up#6H@J`8VjB?`ImFLvV*x^wi{L@15M;q`CfEf(-ZFy&?9;Ti^4|ZD{?PsLVR^9)1l8f ztW3g}^D%HjSlo_mFtqjrFm5Li{EfAmZhm>OD12u_j;kU|m1pwZSWjL&lo0ZYPY=RL zW4pZ;GdcK07aq*y7+6luR<&9W)rjkG<#tUJj)&?9DVlq2a__wJaNwo&R=ZWA#}>8TpDL~c zRY)ASVA4bQ+B;}te(H7Wd2Re^7~mHteiFQs_#R# zu8n;!g8%yPzk%<~f?N0}n)}|uPy#v?T=vN)B^j+g?v#~HTfQ#jogz!|P-s1lRl&v# z2;wnX){905F?LXA0c}&g3r&K2cjYqYP-AjUDdo$a}}0fhSYRAK2G@2`PgzV%2F!ZIsUH z%|(!o7}S;EHx5iln#z(lEA-rV0NBv(xD%Oo4H#EPeX7RQspv1!#WgX+iD935Lj#$Q zSHl1JKlbeg`Wakgz@j_6s_ij!)E>b`QF3K+p+ruKO=s#(T?0_KHRTN(6hRlt_5EY! zEZr%nt#uRj-H79zSIivjE@jXz3KhDnvH>p+EDo22J>9Ob$KY&|WE*x&f8(|sRd>ub zh1GRTzq(`kn{l?Hgvp zRyUHIC}V7~Su^XJB{li5S)PKwHj?7n@LDq5(7DY{)Aed`oyTF6SHmp6z4Qh>mw}#d zx0C_8=>2XupCC#XU2=)WyK{bvhupantj=C~HmRf@S6udmeYZ(F!joXWXKe}*;Ct;! zmN&3EV1}g9g5%sbZMAE@_AbcI{_YiCd)xw0accKkd|HXsLGTtRJrux zys@p#up-v%rO+iI9VOFg7UJbJnFW5Xd@qLoVQ0XW3jSL;LQ^=xQWP;JPAaxaUGtbs z;RqF!D7*&sMs2SgUY^w2;sPGF$-%0Nvy1btv5|pQU~v{$FHhWt6XAP`mgf3M0WJa^ z5d$1I0~vG7jve5_QF3-d16(CcSdra?T2deN%`6WVpJo zXhq-E43ZCaD;&7z{YJRwMKk&)P;qIyNfDZXs)~&9 z24z%J;w+^a->H0bv(XVmSzhzEk%D#-&#sdR6zD9j4NSLE>>jg7*8zl`!Z=6$P%cV8 z4yi27I5Vj#@K2_-4$ncYgO2s4xyE>O4=zU?cy88Mqb+^X;Za*Z)LQ^^HsUyhYeO&ju}TVdpP$#12c;yGm_+aw|sF(a6kMO4A)!+DLgb&qJR9p3_#w9huybnv*M zgQc;zNJ$B%0}UQAjH64w1$I5(rqipg$5 zT|3)y-&Ab4?qj2LA26hW6Na>2o3hcg=ZG#Jx7ToWNA<82Pq6S6?>_a~iv$MSK(=E! zE8Gv5Amu%HZf&Wt4x_lD+v|%gIBiXdy*1^~Sgt9fzorZ|<`t_TXDJ8%S|3-d@rr2y zZeGycbcL8{+E5VO>V?@cklwAX-s<3Z5`4+9jOs{5H-&x1hFq$#rc_pL7LAf(4ZAWl z)C;G}Ce~7+O+Q8>H>9GbcCK`-MX82mZfZPV^_|15{J3jJd1_FJ@;af#=dvsj)Yoa zZYuO`2XMR*+fu)dTn=gJ4r}R*Xz31SsTWU;a73Ibr zE{39YQ1z*2JUC;jX;CRx9q3NzjN1;4mW)GLlyR@|C$(^at4?e2r~xNkbyI{%sN5T4 zY$cGtIOODK~?Dek0*eS$1o&e$Jr>#&t> zuPY;78^vmqp~ol!i5$gV?Z_2lSHeAO7UHxNC;N^>l;Gl;k@1lgTg;|nY%w%{XvETH zyw_&&R9$Xr#(3d!a%}P+(kOVpb$_uvokOL0cDjkE2(!9|W6esOEIHnU8^#aBk{c3n zZ!8Il$-CURL*YF8G#G{5ORx=Ec&N1I*z>586ZM>uQu58QpE`>!ZwU|wL?2W{=B zjuW^6Ul@nT&1!s?%-D4|^MW+=)V|H9%evtduW?zRFw1xX@*4ijZ$gY6yq;t{YprAC zyY_$2T{;>m9?F%iY#Xl`+4xsEJaC_^8iE@4TBQ~HQNpxW zZSSgd=Za0Aw6ES!BWO@g3ik=xof@KEhFUb^z7=5*tq_)W{H1bqOYNgQTb#$r^`l;M z%v?L{KR?caI&SkRq5Gs?56TR?aD?f-%JaqX-X3npcBQ*|lJ4e767M1wPInTH$KA{1 zeRp|HzF!tfPI33Swbyc5wMD-OF*w*iC~OH07o>7-Y~2^ zGrt>6TPkY}PlAZH%~tBF`D^)jwJb-nI6*|Ma%x@&E7CXi38>@^)Ahg}it*~fmG>sT z40j{z9y!E)YV~_$5;k>~WjHBvC3&qnKpbinGVZo>a6pzclyj|jVOVbfX%xh@soc{} z*mMpNraeBOudvQmt@sXtZm^c_-de4l!s_ildW?1#=YM*$ zpOwa0CA+s)8;8w$yPrKuyZ>K%SKHjSjfB7FSMbznWu>y-95;^bx^qdLq<6ja?&`KP z7iTn-L`!ri(Gexvx-|d&_SpqUfCMQiu`}11b|$q50t;ZdST4ZbXH>&ijd>Lw?Z} zYIine>vOs}5omFZCV?`tJ~LD=hU{LVhMw$)7^%G z#oKfw%j_XK9*DN2jql;kh<|GXTXeCOk9hbB)xy`d=X^P}(0r=|j}GT!5iRYoZ#pD59mm63MxNE;hz$)wukz<#sJ4>UU;rmd3tJ~jx);~-h6 zLpfT#tIzVe#+dJ3kH*vOsk!26uj8<-O1IBWyNXtKU|C5YiXX@{AND#MeLyJRCT;p@ ztaq@FE)SYEgu&f%-1g-unRa*cX%9bs+BTSjv43Vhbe(+2Eb;qfg&}^zklulkzutjd z-kkszYHFjtZq>B{j!HzQr&%VuC%}nX0OsM^oBPo<`7(r7|A?*N%rky5kH^D zTVaPPZj#RV7p9Pf+?e`oDc@S=7TPKRwN-Nqim5cifCJ zo$X3L6J}omx~-1O)*}UTC*(UNFjk0e+N1DR)IlRRQd~~j>||{QAesO@gyPB zi_`LKGpc{G8>g?5003Cq7$UqUdfznJd8+qh8?sNANjT$_5C*wNG}}i+>d~jqc9;Uc zZ!;>DvSMY9i7dHC-ED{%nDb7a9e`KZRW{smWhsw4kgGGDwgP!3$XaKJb(8Hdp=mr# zIO27C+mQYZ>39uZH9ZoD?xU?p0DS+@yYa69?ne^JIQA2u<{Okr#z-!RbKSjdi2uy# z4Kgxa_(XT<-~Lvzs zk1-g2i2b22W{ABc3KY|q+vL&7i+K>tCNbQ6$388;<2Du6%9~uBV0vCK4U>fB<|d3H z_?gvo*qmN^G^G~3+u_CCp9d-%NFOOH`rRi_IsljXQaKd!HCwevMRrx)zdJ{Or!sL! z!hvjf@Rpm!Sa8E=ISN=j;m`cb-|GoKDUUYx<6z+pmJ6<&R)k+2+?i=xK7hA-N|Li~ zkUiu{j%)UL9^f=)28~Kn&COxGNFgYU)=H=HNvWJ4)ai0g&p7v>HtwWb$=eI@CuB}s z;9JZvjz-8OH^sIG_9Sw3Ht`F2R!07cvBHCyM|KtQArB~INrWM_BpE(3Qz+!47r)_5 zM$)HvnLvA5pi?QE2k(|4vcT|zNs!@YG4U5(VCH+Eryfy%^yk_SBRsv_6S081*Yk{5 z@_wV*ka5r{kJ*t5O)u?;k$T|z+GKDhsJ=yHg!&h?Mw+_(HDWrrx>eeJBLt~%&pS5m zsIvy|J8h|pai89A!fEc%h^=QRSEld4aCJ#4s{(F7&o(Egsg*^uTpPhJ@JZ{P?gaP< zwR6Fo%x0XJ$OCyzRo-~JUN@_P$*F2zdIC;KJ2?B;1!I*Mf5(OjXICcXFZc0UNWL)- zS@N-LCf(Xo@zOOjC$8^=*V#oB$8$A>#v6?z_7Q}JK^UcU9H&DcO7^dr_7Fs2OzM(0 zuRFDtSCjQ^Ex)n_*FQ>_38tDTV_SaB@Aoit;ZfKYF$0res++C(kuCQU<=TO@o6 zNUt%Q4{E=Y?y_Z7qmFX7Yv2tdERU#Klb)>mVT4@H8R;O$0g@PQ6cnL@|eoCzW zsF-f$Wg-8jG&_5UC_z~|UrKvhGK!1R97>zTxcIuutypft3$C>a$V6ob$A@{Uo$>w;b#$Uc(yPc}Fyy2=A@4fuD{NI z(jp&$A%{#4R)>9OU*9=+b7u;G$+80AU!Pk6s71-sP8T+hq(Qcj!&0~hjli9YF4(%^ zzSZzE>k!p~RmrBu(y|5CN71_J2ItSuX@3xmp2oM&1P}jb&UyW_KYJUjz7LbD2xvIJ z@_tQftUr?0RgfadRBaceo@k-HPtz2oqsfY9U{JK$fsRWJ>&6lBMzO~puStI1^sa8j zS#!cc=2QPRoGzz*r7M$nOWK_ElkmTRGW!!PgNz0MpCiVeLzq8e_s3L#vkHLeb2iMN zf2+LdvH*XmCEhP6!m<@fg2k^&HLLwdY1sZP{`E;F_%CgR#t2U9E1jk`A{dZHsAqGN ze zHT)43@12{bV&g5t81Ez5HymY#1#R+iEE?jx)HX;CQF@XqJ@Pb}ufH{xzJ(2M( z54e*}M3q>~X;iyh8}o6XZ#_s6){Qv5G(yWNDB_x`H&yQaig#6{yD@xfwe;w1no59S z$eUSgIWztHYFiO4%EwhtE%L(#lv@EIF0Nb6+zgo{bCq)hS5+j^UoV77cZv^mWp`dvx~|k3htmsYj}_MU1Hbt z)_0swZL?*^&VFrEme(_sk{O7BlOx{d6(cc@IO*8eU-#b{9#QH`khFQ79cl1#ddJdV|usb?dHjE205IEp~!Y$ z#?Uk5qFfhQuZ?niueu8o!fA=Fu|=z_(Te0Bf7+#g+NFPdyL82C-7p6&5DtzTR5jG9 z{A9aT+p0U6wrVshM#MFoU8SBFc(K}_Tgy#XBCCv}Y8Nb}`jgd50mg21wuxW2q*Q(9fB53*JjK1Y1Ds+s=OHTISlx_Eoi zpI1IHmFkZD1jl&~1iRIkIj5x1e)>SaKGQz-xOgcJA?y)1jAOE2$0+_00*~^qJbb4O z{n;=`>YBdAJLZ!yH|Bt!c(lF;VT@s^L93FfpCoGhs^nrBWSklY%;lGA>OT>q40l&* z5Zp4maP!9)@et{>vlytNl;k6#M)8opIsaP);>cI*o#H(SmuT2QQ$_kFB7Kf@iH9q{ zWGxR;?tAXv%v^4y`onn^Fq8|(k(PGq9*OM{i1s{Sd%}}QcoLaUy+$SExC*OA9syo_ zgGGjgwEf9`$Lw4%0T4~F*Gd1k-%(}Oy0beFQQoA3Z}#@fd$3l7-NUu=QI{@^9d>>K zRrD)npa@vF6o^#nY77p(+Uq)iDGK)3e(C98Syw4nxGTQ;$gWb)w@TsPE?SK^-oLi} zC(`qREZKpcYF2wKIH~nKHgR;)#+TL5_IJv<&rB-qtaddIr~Z7^7d71%DyrJ+gE!6v zE0tR5yKX1zz$u~CH7l8u1M#$0!$#^Lacyy&Xb*Bq)7(_KzQV6zLVV%2^aFO6w=*Gn!9Y zxSU6-hzcj&6OhN7nPcX4Xy;8xTAQs7#3yyr`d9jw=lyU27!>cupGm?BGFI?9ORIa9jdzU-*TuB`*DY~ylH3;57Q2geIBo(!oxmp`{_{HSFTZ=#WI4X zhsb(hW{tcgo(AzuvMO*k6zZE{0AxHe;=yvUh-XIcf7#vj{yG|+p~_Rf={-Gt@xv=` zclX2`qqqj1*Zk24tI5@O*WdQ`J74+JtD|Lt zP^)S1?INBcu}2a_(RuCUIGm2XWIoL3C66s~991}M4;Hibb*~+bcX?L3!K^h7FK95V zhpBb9w~wLm1_YPi(3KzI=TrTV@P1^Oqg%;h6$Ny25YI=!{IGLgYnu;&7$A`i9+WlJ z!$DK~(!chlm`2Wt3>9l=hjkI+@bvw84UVh*#oQmh?enuhDAIZD5Z18tMzS+M2tq4(3wo5sYmnK!`UG%X~t{1^!s zX*)<56Kq#~`3(W(^%QcPTcE?{XwbCxNq~QZs;H7?2uT5iTj(y1s5_&#WI3FmiG=S3 z3-9#yDvIY+=No>;kDJIK!u=s$Zy+&SqAWPJ-PRic^v;Hw1Eb^m9`+?F@B)Prk0DhP zV*+JL21!w-psKV?AXBiB_d~Fn3I&X_3BAHw5K@^jiSvR(2bq@{E+|cR0yk68!E=ft z{?ss7d5Fe`uBB^pnHN{H0oBZa&LlXjVP^Cgq7?^4G7FL`M8hYOfMjmH0#j;r6sst| zl}ZaU4~BDuy6{Bw%yDx9#jCQrh4Py7fG3T)4CAYnJRwrF%jtj~h6Gch0LQix4GL+v z@{@(C%Bh8DKfKRpLM zT-7x_5kZAgA}(y=r_khaNNSszW0YEL(?DLt7@8@2b*04d$fYR&@%0e#+G%A^6qtA! z*Qo$11=#s;+txqL`{C?rN%NiY5TJsrATQ(HOojpJBc-U)w*ea&R8Sl?-E140rfrU_ zxFQwogq&XRo2weW168(w??Cm<;5*VSW&!JA?bfmgkC8UQK2e?Z)KgH9)Vj%U9de^x z2c}_?{zx#5T#wsrPe}FOE0Bf_GH(PVM)8o(J6aP26(eTQ5MF9!Y~1{zr0A*Vwji8O zs9pru;f+1Zq5p+psx{=B6a8FYGq-ijLlhVGrXVCbLoZY!LhH+#6}{n~so>&8nxS0xGe~)ai$F#Elkh1j5Bm`+R;r`~7_W`}wThC?T>_ za`020oP6WN-F9D_>~DvKR>feRp?sFBRUIMMI<;-ii-%hu6*u%UF@+<^gu|YMt1ekI z!^y8AUw%Z=tsR+v_>uDBV05N|VTFPCOL|3P>q6bGKz|SvkR#HO@)Z0bJ*Ol@5F*ii$Id4;@y(%Y0?^wVH5iAPD{Hi=Sr9gdbh+2W9)2ljtQ5B>*gj!22V Gga`odg_{%r diff --git a/public/assets/application-7110c1f3a1a442edea86d619fcf8bf64.css b/public/assets/application-7110c1f3a1a442edea86d619fcf8bf64.css deleted file mode 100644 index 45fdbd61..00000000 --- a/public/assets/application-7110c1f3a1a442edea86d619fcf8bf64.css +++ /dev/null @@ -1,2287 +0,0 @@ -/* - * This is a manifest file that'll automatically include all the stylesheets available in this directory - * and any sub-directories. You're free to add application-wide styles to this file and they'll appear at - * the top of the compiled file, but it's generally better to create a new file per style scope. - - -*/ -#airquality { - margin-left: 0%; - margin-right: 0%; - width: 100%; - margin: 0 0 0 0; - padding: 0; - height: 300px; } - -.airquality h1 { - font-size: 16px; - margin-left: 300px; } -.airquality .airqualitymessage { - margin-left: 300px; - margin-right: 30px; - margin-bottom: 30px; } - .airquality .airqualitymessage h2 { - font-size: 16px; - margin-left: 0px; - text-align: left; } -/* This product includes color specifications and designs developed by Cynthia Brewer (http://colorbrewer.org/). */ - -.YlGn .q0-3{fill:rgb(247,252,185)} -.YlGn .q1-3{fill:rgb(173,221,142)} -.YlGn .q2-3{fill:rgb(49,163,84)} -.YlGn .q0-4{fill:rgb(255,255,204)} -.YlGn .q1-4{fill:rgb(194,230,153)} -.YlGn .q2-4{fill:rgb(120,198,121)} -.YlGn .q3-4{fill:rgb(35,132,67)} -.YlGn .q0-5{fill:rgb(255,255,204)} -.YlGn .q1-5{fill:rgb(194,230,153)} -.YlGn .q2-5{fill:rgb(120,198,121)} -.YlGn .q3-5{fill:rgb(49,163,84)} -.YlGn .q4-5{fill:rgb(0,104,55)} -.YlGn .q0-6{fill:rgb(255,255,204)} -.YlGn .q1-6{fill:rgb(217,240,163)} -.YlGn .q2-6{fill:rgb(173,221,142)} -.YlGn .q3-6{fill:rgb(120,198,121)} -.YlGn .q4-6{fill:rgb(49,163,84)} -.YlGn .q5-6{fill:rgb(0,104,55)} -.YlGn .q0-7{fill:rgb(255,255,204)} -.YlGn .q1-7{fill:rgb(217,240,163)} -.YlGn .q2-7{fill:rgb(173,221,142)} -.YlGn .q3-7{fill:rgb(120,198,121)} -.YlGn .q4-7{fill:rgb(65,171,93)} -.YlGn .q5-7{fill:rgb(35,132,67)} -.YlGn .q6-7{fill:rgb(0,90,50)} -.YlGn .q0-8{fill:rgb(255,255,229)} -.YlGn .q1-8{fill:rgb(247,252,185)} -.YlGn .q2-8{fill:rgb(217,240,163)} -.YlGn .q3-8{fill:rgb(173,221,142)} -.YlGn .q4-8{fill:rgb(120,198,121)} -.YlGn .q5-8{fill:rgb(65,171,93)} -.YlGn .q6-8{fill:rgb(35,132,67)} -.YlGn .q7-8{fill:rgb(0,90,50)} -.YlGn .q0-9{fill:rgb(255,255,229)} -.YlGn .q1-9{fill:rgb(247,252,185)} -.YlGn .q2-9{fill:rgb(217,240,163)} -.YlGn .q3-9{fill:rgb(173,221,142)} -.YlGn .q4-9{fill:rgb(120,198,121)} -.YlGn .q5-9{fill:rgb(65,171,93)} -.YlGn .q6-9{fill:rgb(35,132,67)} -.YlGn .q7-9{fill:rgb(0,104,55)} -.YlGn .q8-9{fill:rgb(0,69,41)} -.YlGnBu .q0-3{fill:rgb(237,248,177)} -.YlGnBu .q1-3{fill:rgb(127,205,187)} -.YlGnBu .q2-3{fill:rgb(44,127,184)} -.YlGnBu .q0-4{fill:rgb(255,255,204)} -.YlGnBu .q1-4{fill:rgb(161,218,180)} -.YlGnBu .q2-4{fill:rgb(65,182,196)} -.YlGnBu .q3-4{fill:rgb(34,94,168)} -.YlGnBu .q0-5{fill:rgb(255,255,204)} -.YlGnBu .q1-5{fill:rgb(161,218,180)} -.YlGnBu .q2-5{fill:rgb(65,182,196)} -.YlGnBu .q3-5{fill:rgb(44,127,184)} -.YlGnBu .q4-5{fill:rgb(37,52,148)} -.YlGnBu .q0-6{fill:rgb(255,255,204)} -.YlGnBu .q1-6{fill:rgb(199,233,180)} -.YlGnBu .q2-6{fill:rgb(127,205,187)} -.YlGnBu .q3-6{fill:rgb(65,182,196)} -.YlGnBu .q4-6{fill:rgb(44,127,184)} -.YlGnBu .q5-6{fill:rgb(37,52,148)} -.YlGnBu .q0-7{fill:rgb(255,255,204)} -.YlGnBu .q1-7{fill:rgb(199,233,180)} -.YlGnBu .q2-7{fill:rgb(127,205,187)} -.YlGnBu .q3-7{fill:rgb(65,182,196)} -.YlGnBu .q4-7{fill:rgb(29,145,192)} -.YlGnBu .q5-7{fill:rgb(34,94,168)} -.YlGnBu .q6-7{fill:rgb(12,44,132)} -.YlGnBu .q0-8{fill:rgb(255,255,217)} -.YlGnBu .q1-8{fill:rgb(237,248,177)} -.YlGnBu .q2-8{fill:rgb(199,233,180)} -.YlGnBu .q3-8{fill:rgb(127,205,187)} -.YlGnBu .q4-8{fill:rgb(65,182,196)} -.YlGnBu .q5-8{fill:rgb(29,145,192)} -.YlGnBu .q6-8{fill:rgb(34,94,168)} -.YlGnBu .q7-8{fill:rgb(12,44,132)} -.YlGnBu .q0-9{fill:rgb(255,255,217)} -.YlGnBu .q1-9{fill:rgb(237,248,177)} -.YlGnBu .q2-9{fill:rgb(199,233,180)} -.YlGnBu .q3-9{fill:rgb(127,205,187)} -.YlGnBu .q4-9{fill:rgb(65,182,196)} -.YlGnBu .q5-9{fill:rgb(29,145,192)} -.YlGnBu .q6-9{fill:rgb(34,94,168)} -.YlGnBu .q7-9{fill:rgb(37,52,148)} -.YlGnBu .q8-9{fill:rgb(8,29,88)} -.GnBu .q0-3{fill:rgb(224,243,219)} -.GnBu .q1-3{fill:rgb(168,221,181)} -.GnBu .q2-3{fill:rgb(67,162,202)} -.GnBu .q0-4{fill:rgb(240,249,232)} -.GnBu .q1-4{fill:rgb(186,228,188)} -.GnBu .q2-4{fill:rgb(123,204,196)} -.GnBu .q3-4{fill:rgb(43,140,190)} -.GnBu .q0-5{fill:rgb(240,249,232)} -.GnBu .q1-5{fill:rgb(186,228,188)} -.GnBu .q2-5{fill:rgb(123,204,196)} -.GnBu .q3-5{fill:rgb(67,162,202)} -.GnBu .q4-5{fill:rgb(8,104,172)} -.GnBu .q0-6{fill:rgb(240,249,232)} -.GnBu .q1-6{fill:rgb(204,235,197)} -.GnBu .q2-6{fill:rgb(168,221,181)} -.GnBu .q3-6{fill:rgb(123,204,196)} -.GnBu .q4-6{fill:rgb(67,162,202)} -.GnBu .q5-6{fill:rgb(8,104,172)} -.GnBu .q0-7{fill:rgb(240,249,232)} -.GnBu .q1-7{fill:rgb(204,235,197)} -.GnBu .q2-7{fill:rgb(168,221,181)} -.GnBu .q3-7{fill:rgb(123,204,196)} -.GnBu .q4-7{fill:rgb(78,179,211)} -.GnBu .q5-7{fill:rgb(43,140,190)} -.GnBu .q6-7{fill:rgb(8,88,158)} -.GnBu .q0-8{fill:rgb(247,252,240)} -.GnBu .q1-8{fill:rgb(224,243,219)} -.GnBu .q2-8{fill:rgb(204,235,197)} -.GnBu .q3-8{fill:rgb(168,221,181)} -.GnBu .q4-8{fill:rgb(123,204,196)} -.GnBu .q5-8{fill:rgb(78,179,211)} -.GnBu .q6-8{fill:rgb(43,140,190)} -.GnBu .q7-8{fill:rgb(8,88,158)} -.GnBu .q0-9{fill:rgb(247,252,240)} -.GnBu .q1-9{fill:rgb(224,243,219)} -.GnBu .q2-9{fill:rgb(204,235,197)} -.GnBu .q3-9{fill:rgb(168,221,181)} -.GnBu .q4-9{fill:rgb(123,204,196)} -.GnBu .q5-9{fill:rgb(78,179,211)} -.GnBu .q6-9{fill:rgb(43,140,190)} -.GnBu .q7-9{fill:rgb(8,104,172)} -.GnBu .q8-9{fill:rgb(8,64,129)} -.BuGn .q0-3{fill:rgb(229,245,249)} -.BuGn .q1-3{fill:rgb(153,216,201)} -.BuGn .q2-3{fill:rgb(44,162,95)} -.BuGn .q0-4{fill:rgb(237,248,251)} -.BuGn .q1-4{fill:rgb(178,226,226)} -.BuGn .q2-4{fill:rgb(102,194,164)} -.BuGn .q3-4{fill:rgb(35,139,69)} -.BuGn .q0-5{fill:rgb(237,248,251)} -.BuGn .q1-5{fill:rgb(178,226,226)} -.BuGn .q2-5{fill:rgb(102,194,164)} -.BuGn .q3-5{fill:rgb(44,162,95)} -.BuGn .q4-5{fill:rgb(0,109,44)} -.BuGn .q0-6{fill:rgb(237,248,251)} -.BuGn .q1-6{fill:rgb(204,236,230)} -.BuGn .q2-6{fill:rgb(153,216,201)} -.BuGn .q3-6{fill:rgb(102,194,164)} -.BuGn .q4-6{fill:rgb(44,162,95)} -.BuGn .q5-6{fill:rgb(0,109,44)} -.BuGn .q0-7{fill:rgb(237,248,251)} -.BuGn .q1-7{fill:rgb(204,236,230)} -.BuGn .q2-7{fill:rgb(153,216,201)} -.BuGn .q3-7{fill:rgb(102,194,164)} -.BuGn .q4-7{fill:rgb(65,174,118)} -.BuGn .q5-7{fill:rgb(35,139,69)} -.BuGn .q6-7{fill:rgb(0,88,36)} -.BuGn .q0-8{fill:rgb(247,252,253)} -.BuGn .q1-8{fill:rgb(229,245,249)} -.BuGn .q2-8{fill:rgb(204,236,230)} -.BuGn .q3-8{fill:rgb(153,216,201)} -.BuGn .q4-8{fill:rgb(102,194,164)} -.BuGn .q5-8{fill:rgb(65,174,118)} -.BuGn .q6-8{fill:rgb(35,139,69)} -.BuGn .q7-8{fill:rgb(0,88,36)} -.BuGn .q0-9{fill:rgb(247,252,253)} -.BuGn .q1-9{fill:rgb(229,245,249)} -.BuGn .q2-9{fill:rgb(204,236,230)} -.BuGn .q3-9{fill:rgb(153,216,201)} -.BuGn .q4-9{fill:rgb(102,194,164)} -.BuGn .q5-9{fill:rgb(65,174,118)} -.BuGn .q6-9{fill:rgb(35,139,69)} -.BuGn .q7-9{fill:rgb(0,109,44)} -.BuGn .q8-9{fill:rgb(0,68,27)} -.PuBuGn .q0-3{fill:rgb(236,226,240)} -.PuBuGn .q1-3{fill:rgb(166,189,219)} -.PuBuGn .q2-3{fill:rgb(28,144,153)} -.PuBuGn .q0-4{fill:rgb(246,239,247)} -.PuBuGn .q1-4{fill:rgb(189,201,225)} -.PuBuGn .q2-4{fill:rgb(103,169,207)} -.PuBuGn .q3-4{fill:rgb(2,129,138)} -.PuBuGn .q0-5{fill:rgb(246,239,247)} -.PuBuGn .q1-5{fill:rgb(189,201,225)} -.PuBuGn .q2-5{fill:rgb(103,169,207)} -.PuBuGn .q3-5{fill:rgb(28,144,153)} -.PuBuGn .q4-5{fill:rgb(1,108,89)} -.PuBuGn .q0-6{fill:rgb(246,239,247)} -.PuBuGn .q1-6{fill:rgb(208,209,230)} -.PuBuGn .q2-6{fill:rgb(166,189,219)} -.PuBuGn .q3-6{fill:rgb(103,169,207)} -.PuBuGn .q4-6{fill:rgb(28,144,153)} -.PuBuGn .q5-6{fill:rgb(1,108,89)} -.PuBuGn .q0-7{fill:rgb(246,239,247)} -.PuBuGn .q1-7{fill:rgb(208,209,230)} -.PuBuGn .q2-7{fill:rgb(166,189,219)} -.PuBuGn .q3-7{fill:rgb(103,169,207)} -.PuBuGn .q4-7{fill:rgb(54,144,192)} -.PuBuGn .q5-7{fill:rgb(2,129,138)} -.PuBuGn .q6-7{fill:rgb(1,100,80)} -.PuBuGn .q0-8{fill:rgb(255,247,251)} -.PuBuGn .q1-8{fill:rgb(236,226,240)} -.PuBuGn .q2-8{fill:rgb(208,209,230)} -.PuBuGn .q3-8{fill:rgb(166,189,219)} -.PuBuGn .q4-8{fill:rgb(103,169,207)} -.PuBuGn .q5-8{fill:rgb(54,144,192)} -.PuBuGn .q6-8{fill:rgb(2,129,138)} -.PuBuGn .q7-8{fill:rgb(1,100,80)} -.PuBuGn .q0-9{fill:rgb(255,247,251)} -.PuBuGn .q1-9{fill:rgb(236,226,240)} -.PuBuGn .q2-9{fill:rgb(208,209,230)} -.PuBuGn .q3-9{fill:rgb(166,189,219)} -.PuBuGn .q4-9{fill:rgb(103,169,207)} -.PuBuGn .q5-9{fill:rgb(54,144,192)} -.PuBuGn .q6-9{fill:rgb(2,129,138)} -.PuBuGn .q7-9{fill:rgb(1,108,89)} -.PuBuGn .q8-9{fill:rgb(1,70,54)} -.PuBu .q0-3{fill:rgb(236,231,242)} -.PuBu .q1-3{fill:rgb(166,189,219)} -.PuBu .q2-3{fill:rgb(43,140,190)} -.PuBu .q0-4{fill:rgb(241,238,246)} -.PuBu .q1-4{fill:rgb(189,201,225)} -.PuBu .q2-4{fill:rgb(116,169,207)} -.PuBu .q3-4{fill:rgb(5,112,176)} -.PuBu .q0-5{fill:rgb(241,238,246)} -.PuBu .q1-5{fill:rgb(189,201,225)} -.PuBu .q2-5{fill:rgb(116,169,207)} -.PuBu .q3-5{fill:rgb(43,140,190)} -.PuBu .q4-5{fill:rgb(4,90,141)} -.PuBu .q0-6{fill:rgb(241,238,246)} -.PuBu .q1-6{fill:rgb(208,209,230)} -.PuBu .q2-6{fill:rgb(166,189,219)} -.PuBu .q3-6{fill:rgb(116,169,207)} -.PuBu .q4-6{fill:rgb(43,140,190)} -.PuBu .q5-6{fill:rgb(4,90,141)} -.PuBu .q0-7{fill:rgb(241,238,246)} -.PuBu .q1-7{fill:rgb(208,209,230)} -.PuBu .q2-7{fill:rgb(166,189,219)} -.PuBu .q3-7{fill:rgb(116,169,207)} -.PuBu .q4-7{fill:rgb(54,144,192)} -.PuBu .q5-7{fill:rgb(5,112,176)} -.PuBu .q6-7{fill:rgb(3,78,123)} -.PuBu .q0-8{fill:rgb(255,247,251)} -.PuBu .q1-8{fill:rgb(236,231,242)} -.PuBu .q2-8{fill:rgb(208,209,230)} -.PuBu .q3-8{fill:rgb(166,189,219)} -.PuBu .q4-8{fill:rgb(116,169,207)} -.PuBu .q5-8{fill:rgb(54,144,192)} -.PuBu .q6-8{fill:rgb(5,112,176)} -.PuBu .q7-8{fill:rgb(3,78,123)} -.PuBu .q0-9{fill:rgb(255,247,251)} -.PuBu .q1-9{fill:rgb(236,231,242)} -.PuBu .q2-9{fill:rgb(208,209,230)} -.PuBu .q3-9{fill:rgb(166,189,219)} -.PuBu .q4-9{fill:rgb(116,169,207)} -.PuBu .q5-9{fill:rgb(54,144,192)} -.PuBu .q6-9{fill:rgb(5,112,176)} -.PuBu .q7-9{fill:rgb(4,90,141)} -.PuBu .q8-9{fill:rgb(2,56,88)} -.BuPu .q0-3{fill:rgb(224,236,244)} -.BuPu .q1-3{fill:rgb(158,188,218)} -.BuPu .q2-3{fill:rgb(136,86,167)} -.BuPu .q0-4{fill:rgb(237,248,251)} -.BuPu .q1-4{fill:rgb(179,205,227)} -.BuPu .q2-4{fill:rgb(140,150,198)} -.BuPu .q3-4{fill:rgb(136,65,157)} -.BuPu .q0-5{fill:rgb(237,248,251)} -.BuPu .q1-5{fill:rgb(179,205,227)} -.BuPu .q2-5{fill:rgb(140,150,198)} -.BuPu .q3-5{fill:rgb(136,86,167)} -.BuPu .q4-5{fill:rgb(129,15,124)} -.BuPu .q0-6{fill:rgb(237,248,251)} -.BuPu .q1-6{fill:rgb(191,211,230)} -.BuPu .q2-6{fill:rgb(158,188,218)} -.BuPu .q3-6{fill:rgb(140,150,198)} -.BuPu .q4-6{fill:rgb(136,86,167)} -.BuPu .q5-6{fill:rgb(129,15,124)} -.BuPu .q0-7{fill:rgb(237,248,251)} -.BuPu .q1-7{fill:rgb(191,211,230)} -.BuPu .q2-7{fill:rgb(158,188,218)} -.BuPu .q3-7{fill:rgb(140,150,198)} -.BuPu .q4-7{fill:rgb(140,107,177)} -.BuPu .q5-7{fill:rgb(136,65,157)} -.BuPu .q6-7{fill:rgb(110,1,107)} -.BuPu .q0-8{fill:rgb(247,252,253)} -.BuPu .q1-8{fill:rgb(224,236,244)} -.BuPu .q2-8{fill:rgb(191,211,230)} -.BuPu .q3-8{fill:rgb(158,188,218)} -.BuPu .q4-8{fill:rgb(140,150,198)} -.BuPu .q5-8{fill:rgb(140,107,177)} -.BuPu .q6-8{fill:rgb(136,65,157)} -.BuPu .q7-8{fill:rgb(110,1,107)} -.BuPu .q0-9{fill:rgb(247,252,253)} -.BuPu .q1-9{fill:rgb(224,236,244)} -.BuPu .q2-9{fill:rgb(191,211,230)} -.BuPu .q3-9{fill:rgb(158,188,218)} -.BuPu .q4-9{fill:rgb(140,150,198)} -.BuPu .q5-9{fill:rgb(140,107,177)} -.BuPu .q6-9{fill:rgb(136,65,157)} -.BuPu .q7-9{fill:rgb(129,15,124)} -.BuPu .q8-9{fill:rgb(77,0,75)} -.RdPu .q0-3{fill:rgb(253,224,221)} -.RdPu .q1-3{fill:rgb(250,159,181)} -.RdPu .q2-3{fill:rgb(197,27,138)} -.RdPu .q0-4{fill:rgb(254,235,226)} -.RdPu .q1-4{fill:rgb(251,180,185)} -.RdPu .q2-4{fill:rgb(247,104,161)} -.RdPu .q3-4{fill:rgb(174,1,126)} -.RdPu .q0-5{fill:rgb(254,235,226)} -.RdPu .q1-5{fill:rgb(251,180,185)} -.RdPu .q2-5{fill:rgb(247,104,161)} -.RdPu .q3-5{fill:rgb(197,27,138)} -.RdPu .q4-5{fill:rgb(122,1,119)} -.RdPu .q0-6{fill:rgb(254,235,226)} -.RdPu .q1-6{fill:rgb(252,197,192)} -.RdPu .q2-6{fill:rgb(250,159,181)} -.RdPu .q3-6{fill:rgb(247,104,161)} -.RdPu .q4-6{fill:rgb(197,27,138)} -.RdPu .q5-6{fill:rgb(122,1,119)} -.RdPu .q0-7{fill:rgb(254,235,226)} -.RdPu .q1-7{fill:rgb(252,197,192)} -.RdPu .q2-7{fill:rgb(250,159,181)} -.RdPu .q3-7{fill:rgb(247,104,161)} -.RdPu .q4-7{fill:rgb(221,52,151)} -.RdPu .q5-7{fill:rgb(174,1,126)} -.RdPu .q6-7{fill:rgb(122,1,119)} -.RdPu .q0-8{fill:rgb(255,247,243)} -.RdPu .q1-8{fill:rgb(253,224,221)} -.RdPu .q2-8{fill:rgb(252,197,192)} -.RdPu .q3-8{fill:rgb(250,159,181)} -.RdPu .q4-8{fill:rgb(247,104,161)} -.RdPu .q5-8{fill:rgb(221,52,151)} -.RdPu .q6-8{fill:rgb(174,1,126)} -.RdPu .q7-8{fill:rgb(122,1,119)} -.RdPu .q0-9{fill:rgb(255,247,243)} -.RdPu .q1-9{fill:rgb(253,224,221)} -.RdPu .q2-9{fill:rgb(252,197,192)} -.RdPu .q3-9{fill:rgb(250,159,181)} -.RdPu .q4-9{fill:rgb(247,104,161)} -.RdPu .q5-9{fill:rgb(221,52,151)} -.RdPu .q6-9{fill:rgb(174,1,126)} -.RdPu .q7-9{fill:rgb(122,1,119)} -.RdPu .q8-9{fill:rgb(73,0,106)} -.PuRd .q0-3{fill:rgb(231,225,239)} -.PuRd .q1-3{fill:rgb(201,148,199)} -.PuRd .q2-3{fill:rgb(221,28,119)} -.PuRd .q0-4{fill:rgb(241,238,246)} -.PuRd .q1-4{fill:rgb(215,181,216)} -.PuRd .q2-4{fill:rgb(223,101,176)} -.PuRd .q3-4{fill:rgb(206,18,86)} -.PuRd .q0-5{fill:rgb(241,238,246)} -.PuRd .q1-5{fill:rgb(215,181,216)} -.PuRd .q2-5{fill:rgb(223,101,176)} -.PuRd .q3-5{fill:rgb(221,28,119)} -.PuRd .q4-5{fill:rgb(152,0,67)} -.PuRd .q0-6{fill:rgb(241,238,246)} -.PuRd .q1-6{fill:rgb(212,185,218)} -.PuRd .q2-6{fill:rgb(201,148,199)} -.PuRd .q3-6{fill:rgb(223,101,176)} -.PuRd .q4-6{fill:rgb(221,28,119)} -.PuRd .q5-6{fill:rgb(152,0,67)} -.PuRd .q0-7{fill:rgb(241,238,246)} -.PuRd .q1-7{fill:rgb(212,185,218)} -.PuRd .q2-7{fill:rgb(201,148,199)} -.PuRd .q3-7{fill:rgb(223,101,176)} -.PuRd .q4-7{fill:rgb(231,41,138)} -.PuRd .q5-7{fill:rgb(206,18,86)} -.PuRd .q6-7{fill:rgb(145,0,63)} -.PuRd .q0-8{fill:rgb(247,244,249)} -.PuRd .q1-8{fill:rgb(231,225,239)} -.PuRd .q2-8{fill:rgb(212,185,218)} -.PuRd .q3-8{fill:rgb(201,148,199)} -.PuRd .q4-8{fill:rgb(223,101,176)} -.PuRd .q5-8{fill:rgb(231,41,138)} -.PuRd .q6-8{fill:rgb(206,18,86)} -.PuRd .q7-8{fill:rgb(145,0,63)} -.PuRd .q0-9{fill:rgb(247,244,249)} -.PuRd .q1-9{fill:rgb(231,225,239)} -.PuRd .q2-9{fill:rgb(212,185,218)} -.PuRd .q3-9{fill:rgb(201,148,199)} -.PuRd .q4-9{fill:rgb(223,101,176)} -.PuRd .q5-9{fill:rgb(231,41,138)} -.PuRd .q6-9{fill:rgb(206,18,86)} -.PuRd .q7-9{fill:rgb(152,0,67)} -.PuRd .q8-9{fill:rgb(103,0,31)} -.OrRd .q0-3{fill:rgb(254,232,200)} -.OrRd .q1-3{fill:rgb(253,187,132)} -.OrRd .q2-3{fill:rgb(227,74,51)} -.OrRd .q0-4{fill:rgb(254,240,217)} -.OrRd .q1-4{fill:rgb(253,204,138)} -.OrRd .q2-4{fill:rgb(252,141,89)} -.OrRd .q3-4{fill:rgb(215,48,31)} -.OrRd .q0-5{fill:rgb(254,240,217)} -.OrRd .q1-5{fill:rgb(253,204,138)} -.OrRd .q2-5{fill:rgb(252,141,89)} -.OrRd .q3-5{fill:rgb(227,74,51)} -.OrRd .q4-5{fill:rgb(179,0,0)} -.OrRd .q0-6{fill:rgb(254,240,217)} -.OrRd .q1-6{fill:rgb(253,212,158)} -.OrRd .q2-6{fill:rgb(253,187,132)} -.OrRd .q3-6{fill:rgb(252,141,89)} -.OrRd .q4-6{fill:rgb(227,74,51)} -.OrRd .q5-6{fill:rgb(179,0,0)} -.OrRd .q0-7{fill:rgb(254,240,217)} -.OrRd .q1-7{fill:rgb(253,212,158)} -.OrRd .q2-7{fill:rgb(253,187,132)} -.OrRd .q3-7{fill:rgb(252,141,89)} -.OrRd .q4-7{fill:rgb(239,101,72)} -.OrRd .q5-7{fill:rgb(215,48,31)} -.OrRd .q6-7{fill:rgb(153,0,0)} -.OrRd .q0-8{fill:rgb(255,247,236)} -.OrRd .q1-8{fill:rgb(254,232,200)} -.OrRd .q2-8{fill:rgb(253,212,158)} -.OrRd .q3-8{fill:rgb(253,187,132)} -.OrRd .q4-8{fill:rgb(252,141,89)} -.OrRd .q5-8{fill:rgb(239,101,72)} -.OrRd .q6-8{fill:rgb(215,48,31)} -.OrRd .q7-8{fill:rgb(153,0,0)} -.OrRd .q0-9{fill:rgb(255,247,236)} -.OrRd .q1-9{fill:rgb(254,232,200)} -.OrRd .q2-9{fill:rgb(253,212,158)} -.OrRd .q3-9{fill:rgb(253,187,132)} -.OrRd .q4-9{fill:rgb(252,141,89)} -.OrRd .q5-9{fill:rgb(239,101,72)} -.OrRd .q6-9{fill:rgb(215,48,31)} -.OrRd .q7-9{fill:rgb(179,0,0)} -.OrRd .q8-9{fill:rgb(127,0,0)} -.YlOrRd .q0-3{fill:rgb(255,237,160)} -.YlOrRd .q1-3{fill:rgb(254,178,76)} -.YlOrRd .q2-3{fill:rgb(240,59,32)} -.YlOrRd .q0-4{fill:rgb(255,255,178)} -.YlOrRd .q1-4{fill:rgb(254,204,92)} -.YlOrRd .q2-4{fill:rgb(253,141,60)} -.YlOrRd .q3-4{fill:rgb(227,26,28)} -.YlOrRd .q0-5{fill:rgb(255,255,178)} -.YlOrRd .q1-5{fill:rgb(254,204,92)} -.YlOrRd .q2-5{fill:rgb(253,141,60)} -.YlOrRd .q3-5{fill:rgb(240,59,32)} -.YlOrRd .q4-5{fill:rgb(189,0,38)} -.YlOrRd .q0-6{fill:rgb(255,255,178)} -.YlOrRd .q1-6{fill:rgb(254,217,118)} -.YlOrRd .q2-6{fill:rgb(254,178,76)} -.YlOrRd .q3-6{fill:rgb(253,141,60)} -.YlOrRd .q4-6{fill:rgb(240,59,32)} -.YlOrRd .q5-6{fill:rgb(189,0,38)} -.YlOrRd .q0-7{fill:rgb(255,255,178)} -.YlOrRd .q1-7{fill:rgb(254,217,118)} -.YlOrRd .q2-7{fill:rgb(254,178,76)} -.YlOrRd .q3-7{fill:rgb(253,141,60)} -.YlOrRd .q4-7{fill:rgb(252,78,42)} -.YlOrRd .q5-7{fill:rgb(227,26,28)} -.YlOrRd .q6-7{fill:rgb(177,0,38)} -.YlOrRd .q0-8{fill:rgb(255,255,204)} -.YlOrRd .q1-8{fill:rgb(255,237,160)} -.YlOrRd .q2-8{fill:rgb(254,217,118)} -.YlOrRd .q3-8{fill:rgb(254,178,76)} -.YlOrRd .q4-8{fill:rgb(253,141,60)} -.YlOrRd .q5-8{fill:rgb(252,78,42)} -.YlOrRd .q6-8{fill:rgb(227,26,28)} -.YlOrRd .q7-8{fill:rgb(177,0,38)} -.YlOrRd .q0-9{fill:rgb(255,255,204)} -.YlOrRd .q1-9{fill:rgb(255,237,160)} -.YlOrRd .q2-9{fill:rgb(254,217,118)} -.YlOrRd .q3-9{fill:rgb(254,178,76)} -.YlOrRd .q4-9{fill:rgb(253,141,60)} -.YlOrRd .q5-9{fill:rgb(252,78,42)} -.YlOrRd .q6-9{fill:rgb(227,26,28)} -.YlOrRd .q7-9{fill:rgb(189,0,38)} -.YlOrRd .q8-9{fill:rgb(128,0,38)} -.YlOrBr .q0-3{fill:rgb(255,247,188)} -.YlOrBr .q1-3{fill:rgb(254,196,79)} -.YlOrBr .q2-3{fill:rgb(217,95,14)} -.YlOrBr .q0-4{fill:rgb(255,255,212)} -.YlOrBr .q1-4{fill:rgb(254,217,142)} -.YlOrBr .q2-4{fill:rgb(254,153,41)} -.YlOrBr .q3-4{fill:rgb(204,76,2)} -.YlOrBr .q0-5{fill:rgb(255,255,212)} -.YlOrBr .q1-5{fill:rgb(254,217,142)} -.YlOrBr .q2-5{fill:rgb(254,153,41)} -.YlOrBr .q3-5{fill:rgb(217,95,14)} -.YlOrBr .q4-5{fill:rgb(153,52,4)} -.YlOrBr .q0-6{fill:rgb(255,255,212)} -.YlOrBr .q1-6{fill:rgb(254,227,145)} -.YlOrBr .q2-6{fill:rgb(254,196,79)} -.YlOrBr .q3-6{fill:rgb(254,153,41)} -.YlOrBr .q4-6{fill:rgb(217,95,14)} -.YlOrBr .q5-6{fill:rgb(153,52,4)} -.YlOrBr .q0-7{fill:rgb(255,255,212)} -.YlOrBr .q1-7{fill:rgb(254,227,145)} -.YlOrBr .q2-7{fill:rgb(254,196,79)} -.YlOrBr .q3-7{fill:rgb(254,153,41)} -.YlOrBr .q4-7{fill:rgb(236,112,20)} -.YlOrBr .q5-7{fill:rgb(204,76,2)} -.YlOrBr .q6-7{fill:rgb(140,45,4)} -.YlOrBr .q0-8{fill:rgb(255,255,229)} -.YlOrBr .q1-8{fill:rgb(255,247,188)} -.YlOrBr .q2-8{fill:rgb(254,227,145)} -.YlOrBr .q3-8{fill:rgb(254,196,79)} -.YlOrBr .q4-8{fill:rgb(254,153,41)} -.YlOrBr .q5-8{fill:rgb(236,112,20)} -.YlOrBr .q6-8{fill:rgb(204,76,2)} -.YlOrBr .q7-8{fill:rgb(140,45,4)} -.YlOrBr .q0-9{fill:rgb(255,255,229)} -.YlOrBr .q1-9{fill:rgb(255,247,188)} -.YlOrBr .q2-9{fill:rgb(254,227,145)} -.YlOrBr .q3-9{fill:rgb(254,196,79)} -.YlOrBr .q4-9{fill:rgb(254,153,41)} -.YlOrBr .q5-9{fill:rgb(236,112,20)} -.YlOrBr .q6-9{fill:rgb(204,76,2)} -.YlOrBr .q7-9{fill:rgb(153,52,4)} -.YlOrBr .q8-9{fill:rgb(102,37,6)} -.Purples .q0-3{fill:rgb(239,237,245)} -.Purples .q1-3{fill:rgb(188,189,220)} -.Purples .q2-3{fill:rgb(117,107,177)} -.Purples .q0-4{fill:rgb(242,240,247)} -.Purples .q1-4{fill:rgb(203,201,226)} -.Purples .q2-4{fill:rgb(158,154,200)} -.Purples .q3-4{fill:rgb(106,81,163)} -.Purples .q0-5{fill:rgb(242,240,247)} -.Purples .q1-5{fill:rgb(203,201,226)} -.Purples .q2-5{fill:rgb(158,154,200)} -.Purples .q3-5{fill:rgb(117,107,177)} -.Purples .q4-5{fill:rgb(84,39,143)} -.Purples .q0-6{fill:rgb(242,240,247)} -.Purples .q1-6{fill:rgb(218,218,235)} -.Purples .q2-6{fill:rgb(188,189,220)} -.Purples .q3-6{fill:rgb(158,154,200)} -.Purples .q4-6{fill:rgb(117,107,177)} -.Purples .q5-6{fill:rgb(84,39,143)} -.Purples .q0-7{fill:rgb(242,240,247)} -.Purples .q1-7{fill:rgb(218,218,235)} -.Purples .q2-7{fill:rgb(188,189,220)} -.Purples .q3-7{fill:rgb(158,154,200)} -.Purples .q4-7{fill:rgb(128,125,186)} -.Purples .q5-7{fill:rgb(106,81,163)} -.Purples .q6-7{fill:rgb(74,20,134)} -.Purples .q0-8{fill:rgb(252,251,253)} -.Purples .q1-8{fill:rgb(239,237,245)} -.Purples .q2-8{fill:rgb(218,218,235)} -.Purples .q3-8{fill:rgb(188,189,220)} -.Purples .q4-8{fill:rgb(158,154,200)} -.Purples .q5-8{fill:rgb(128,125,186)} -.Purples .q6-8{fill:rgb(106,81,163)} -.Purples .q7-8{fill:rgb(74,20,134)} -.Purples .q0-9{fill:rgb(252,251,253)} -.Purples .q1-9{fill:rgb(239,237,245)} -.Purples .q2-9{fill:rgb(218,218,235)} -.Purples .q3-9{fill:rgb(188,189,220)} -.Purples .q4-9{fill:rgb(158,154,200)} -.Purples .q5-9{fill:rgb(128,125,186)} -.Purples .q6-9{fill:rgb(106,81,163)} -.Purples .q7-9{fill:rgb(84,39,143)} -.Purples .q8-9{fill:rgb(63,0,125)} -.Blues .q0-3{fill:rgb(222,235,247)} -.Blues .q1-3{fill:rgb(158,202,225)} -.Blues .q2-3{fill:rgb(49,130,189)} -.Blues .q0-4{fill:rgb(239,243,255)} -.Blues .q1-4{fill:rgb(189,215,231)} -.Blues .q2-4{fill:rgb(107,174,214)} -.Blues .q3-4{fill:rgb(33,113,181)} -.Blues .q0-5{fill:rgb(239,243,255)} -.Blues .q1-5{fill:rgb(189,215,231)} -.Blues .q2-5{fill:rgb(107,174,214)} -.Blues .q3-5{fill:rgb(49,130,189)} -.Blues .q4-5{fill:rgb(8,81,156)} -.Blues .q0-6{fill:rgb(239,243,255)} -.Blues .q1-6{fill:rgb(198,219,239)} -.Blues .q2-6{fill:rgb(158,202,225)} -.Blues .q3-6{fill:rgb(107,174,214)} -.Blues .q4-6{fill:rgb(49,130,189)} -.Blues .q5-6{fill:rgb(8,81,156)} -.Blues .q0-7{fill:rgb(239,243,255)} -.Blues .q1-7{fill:rgb(198,219,239)} -.Blues .q2-7{fill:rgb(158,202,225)} -.Blues .q3-7{fill:rgb(107,174,214)} -.Blues .q4-7{fill:rgb(66,146,198)} -.Blues .q5-7{fill:rgb(33,113,181)} -.Blues .q6-7{fill:rgb(8,69,148)} -.Blues .q0-8{fill:rgb(247,251,255)} -.Blues .q1-8{fill:rgb(222,235,247)} -.Blues .q2-8{fill:rgb(198,219,239)} -.Blues .q3-8{fill:rgb(158,202,225)} -.Blues .q4-8{fill:rgb(107,174,214)} -.Blues .q5-8{fill:rgb(66,146,198)} -.Blues .q6-8{fill:rgb(33,113,181)} -.Blues .q7-8{fill:rgb(8,69,148)} -.Blues .q0-9{fill:rgb(247,251,255)} -.Blues .q1-9{fill:rgb(222,235,247)} -.Blues .q2-9{fill:rgb(198,219,239)} -.Blues .q3-9{fill:rgb(158,202,225)} -.Blues .q4-9{fill:rgb(107,174,214)} -.Blues .q5-9{fill:rgb(66,146,198)} -.Blues .q6-9{fill:rgb(33,113,181)} -.Blues .q7-9{fill:rgb(8,81,156)} -.Blues .q8-9{fill:rgb(8,48,107)} -.Greens .q0-3{fill:rgb(229,245,224)} -.Greens .q1-3{fill:rgb(161,217,155)} -.Greens .q2-3{fill:rgb(49,163,84)} -.Greens .q0-4{fill:rgb(237,248,233)} -.Greens .q1-4{fill:rgb(186,228,179)} -.Greens .q2-4{fill:rgb(116,196,118)} -.Greens .q3-4{fill:rgb(35,139,69)} -.Greens .q0-5{fill:rgb(237,248,233)} -.Greens .q1-5{fill:rgb(186,228,179)} -.Greens .q2-5{fill:rgb(116,196,118)} -.Greens .q3-5{fill:rgb(49,163,84)} -.Greens .q4-5{fill:rgb(0,109,44)} -.Greens .q0-6{fill:rgb(237,248,233)} -.Greens .q1-6{fill:rgb(199,233,192)} -.Greens .q2-6{fill:rgb(161,217,155)} -.Greens .q3-6{fill:rgb(116,196,118)} -.Greens .q4-6{fill:rgb(49,163,84)} -.Greens .q5-6{fill:rgb(0,109,44)} -.Greens .q0-7{fill:rgb(237,248,233)} -.Greens .q1-7{fill:rgb(199,233,192)} -.Greens .q2-7{fill:rgb(161,217,155)} -.Greens .q3-7{fill:rgb(116,196,118)} -.Greens .q4-7{fill:rgb(65,171,93)} -.Greens .q5-7{fill:rgb(35,139,69)} -.Greens .q6-7{fill:rgb(0,90,50)} -.Greens .q0-8{fill:rgb(247,252,245)} -.Greens .q1-8{fill:rgb(229,245,224)} -.Greens .q2-8{fill:rgb(199,233,192)} -.Greens .q3-8{fill:rgb(161,217,155)} -.Greens .q4-8{fill:rgb(116,196,118)} -.Greens .q5-8{fill:rgb(65,171,93)} -.Greens .q6-8{fill:rgb(35,139,69)} -.Greens .q7-8{fill:rgb(0,90,50)} -.Greens .q0-9{fill:rgb(247,252,245)} -.Greens .q1-9{fill:rgb(229,245,224)} -.Greens .q2-9{fill:rgb(199,233,192)} -.Greens .q3-9{fill:rgb(161,217,155)} -.Greens .q4-9{fill:rgb(116,196,118)} -.Greens .q5-9{fill:rgb(65,171,93)} -.Greens .q6-9{fill:rgb(35,139,69)} -.Greens .q7-9{fill:rgb(0,109,44)} -.Greens .q8-9{fill:rgb(0,68,27)} -.Oranges .q0-3{fill:rgb(254,230,206)} -.Oranges .q1-3{fill:rgb(253,174,107)} -.Oranges .q2-3{fill:rgb(230,85,13)} -.Oranges .q0-4{fill:rgb(254,237,222)} -.Oranges .q1-4{fill:rgb(253,190,133)} -.Oranges .q2-4{fill:rgb(253,141,60)} -.Oranges .q3-4{fill:rgb(217,71,1)} -.Oranges .q0-5{fill:rgb(254,237,222)} -.Oranges .q1-5{fill:rgb(253,190,133)} -.Oranges .q2-5{fill:rgb(253,141,60)} -.Oranges .q3-5{fill:rgb(230,85,13)} -.Oranges .q4-5{fill:rgb(166,54,3)} -.Oranges .q0-6{fill:rgb(254,237,222)} -.Oranges .q1-6{fill:rgb(253,208,162)} -.Oranges .q2-6{fill:rgb(253,174,107)} -.Oranges .q3-6{fill:rgb(253,141,60)} -.Oranges .q4-6{fill:rgb(230,85,13)} -.Oranges .q5-6{fill:rgb(166,54,3)} -.Oranges .q0-7{fill:rgb(254,237,222)} -.Oranges .q1-7{fill:rgb(253,208,162)} -.Oranges .q2-7{fill:rgb(253,174,107)} -.Oranges .q3-7{fill:rgb(253,141,60)} -.Oranges .q4-7{fill:rgb(241,105,19)} -.Oranges .q5-7{fill:rgb(217,72,1)} -.Oranges .q6-7{fill:rgb(140,45,4)} -.Oranges .q0-8{fill:rgb(255,245,235)} -.Oranges .q1-8{fill:rgb(254,230,206)} -.Oranges .q2-8{fill:rgb(253,208,162)} -.Oranges .q3-8{fill:rgb(253,174,107)} -.Oranges .q4-8{fill:rgb(253,141,60)} -.Oranges .q5-8{fill:rgb(241,105,19)} -.Oranges .q6-8{fill:rgb(217,72,1)} -.Oranges .q7-8{fill:rgb(140,45,4)} -.Oranges .q0-9{fill:rgb(255,245,235)} -.Oranges .q1-9{fill:rgb(254,230,206)} -.Oranges .q2-9{fill:rgb(253,208,162)} -.Oranges .q3-9{fill:rgb(253,174,107)} -.Oranges .q4-9{fill:rgb(253,141,60)} -.Oranges .q5-9{fill:rgb(241,105,19)} -.Oranges .q6-9{fill:rgb(217,72,1)} -.Oranges .q7-9{fill:rgb(166,54,3)} -.Oranges .q8-9{fill:rgb(127,39,4)} -.Reds .q0-3{fill:rgb(254,224,210)} -.Reds .q1-3{fill:rgb(252,146,114)} -.Reds .q2-3{fill:rgb(222,45,38)} -.Reds .q0-4{fill:rgb(254,229,217)} -.Reds .q1-4{fill:rgb(252,174,145)} -.Reds .q2-4{fill:rgb(251,106,74)} -.Reds .q3-4{fill:rgb(203,24,29)} -.Reds .q0-5{fill:rgb(254,229,217)} -.Reds .q1-5{fill:rgb(252,174,145)} -.Reds .q2-5{fill:rgb(251,106,74)} -.Reds .q3-5{fill:rgb(222,45,38)} -.Reds .q4-5{fill:rgb(165,15,21)} -.Reds .q0-6{fill:rgb(254,229,217)} -.Reds .q1-6{fill:rgb(252,187,161)} -.Reds .q2-6{fill:rgb(252,146,114)} -.Reds .q3-6{fill:rgb(251,106,74)} -.Reds .q4-6{fill:rgb(222,45,38)} -.Reds .q5-6{fill:rgb(165,15,21)} -.Reds .q0-7{fill:rgb(254,229,217)} -.Reds .q1-7{fill:rgb(252,187,161)} -.Reds .q2-7{fill:rgb(252,146,114)} -.Reds .q3-7{fill:rgb(251,106,74)} -.Reds .q4-7{fill:rgb(239,59,44)} -.Reds .q5-7{fill:rgb(203,24,29)} -.Reds .q6-7{fill:rgb(153,0,13)} -.Reds .q0-8{fill:rgb(255,245,240)} -.Reds .q1-8{fill:rgb(254,224,210)} -.Reds .q2-8{fill:rgb(252,187,161)} -.Reds .q3-8{fill:rgb(252,146,114)} -.Reds .q4-8{fill:rgb(251,106,74)} -.Reds .q5-8{fill:rgb(239,59,44)} -.Reds .q6-8{fill:rgb(203,24,29)} -.Reds .q7-8{fill:rgb(153,0,13)} -.Reds .q0-9{fill:rgb(255,245,240)} -.Reds .q1-9{fill:rgb(254,224,210)} -.Reds .q2-9{fill:rgb(252,187,161)} -.Reds .q3-9{fill:rgb(252,146,114)} -.Reds .q4-9{fill:rgb(251,106,74)} -.Reds .q5-9{fill:rgb(239,59,44)} -.Reds .q6-9{fill:rgb(203,24,29)} -.Reds .q7-9{fill:rgb(165,15,21)} -.Reds .q8-9{fill:rgb(103,0,13)} -.Greys .q0-3{fill:rgb(240,240,240)} -.Greys .q1-3{fill:rgb(189,189,189)} -.Greys .q2-3{fill:rgb(99,99,99)} -.Greys .q0-4{fill:rgb(247,247,247)} -.Greys .q1-4{fill:rgb(204,204,204)} -.Greys .q2-4{fill:rgb(150,150,150)} -.Greys .q3-4{fill:rgb(82,82,82)} -.Greys .q0-5{fill:rgb(247,247,247)} -.Greys .q1-5{fill:rgb(204,204,204)} -.Greys .q2-5{fill:rgb(150,150,150)} -.Greys .q3-5{fill:rgb(99,99,99)} -.Greys .q4-5{fill:rgb(37,37,37)} -.Greys .q0-6{fill:rgb(247,247,247)} -.Greys .q1-6{fill:rgb(217,217,217)} -.Greys .q2-6{fill:rgb(189,189,189)} -.Greys .q3-6{fill:rgb(150,150,150)} -.Greys .q4-6{fill:rgb(99,99,99)} -.Greys .q5-6{fill:rgb(37,37,37)} -.Greys .q0-7{fill:rgb(247,247,247)} -.Greys .q1-7{fill:rgb(217,217,217)} -.Greys .q2-7{fill:rgb(189,189,189)} -.Greys .q3-7{fill:rgb(150,150,150)} -.Greys .q4-7{fill:rgb(115,115,115)} -.Greys .q5-7{fill:rgb(82,82,82)} -.Greys .q6-7{fill:rgb(37,37,37)} -.Greys .q0-8{fill:rgb(255,255,255)} -.Greys .q1-8{fill:rgb(240,240,240)} -.Greys .q2-8{fill:rgb(217,217,217)} -.Greys .q3-8{fill:rgb(189,189,189)} -.Greys .q4-8{fill:rgb(150,150,150)} -.Greys .q5-8{fill:rgb(115,115,115)} -.Greys .q6-8{fill:rgb(82,82,82)} -.Greys .q7-8{fill:rgb(37,37,37)} -.Greys .q0-9{fill:rgb(255,255,255)} -.Greys .q1-9{fill:rgb(240,240,240)} -.Greys .q2-9{fill:rgb(217,217,217)} -.Greys .q3-9{fill:rgb(189,189,189)} -.Greys .q4-9{fill:rgb(150,150,150)} -.Greys .q5-9{fill:rgb(115,115,115)} -.Greys .q6-9{fill:rgb(82,82,82)} -.Greys .q7-9{fill:rgb(37,37,37)} -.Greys .q8-9{fill:rgb(0,0,0)} -.PuOr .q0-3{fill:rgb(241,163,64)} -.PuOr .q1-3{fill:rgb(247,247,247)} -.PuOr .q2-3{fill:rgb(153,142,195)} -.PuOr .q0-4{fill:rgb(230,97,1)} -.PuOr .q1-4{fill:rgb(253,184,99)} -.PuOr .q2-4{fill:rgb(178,171,210)} -.PuOr .q3-4{fill:rgb(94,60,153)} -.PuOr .q0-5{fill:rgb(230,97,1)} -.PuOr .q1-5{fill:rgb(253,184,99)} -.PuOr .q2-5{fill:rgb(247,247,247)} -.PuOr .q3-5{fill:rgb(178,171,210)} -.PuOr .q4-5{fill:rgb(94,60,153)} -.PuOr .q0-6{fill:rgb(179,88,6)} -.PuOr .q1-6{fill:rgb(241,163,64)} -.PuOr .q2-6{fill:rgb(254,224,182)} -.PuOr .q3-6{fill:rgb(216,218,235)} -.PuOr .q4-6{fill:rgb(153,142,195)} -.PuOr .q5-6{fill:rgb(84,39,136)} -.PuOr .q0-7{fill:rgb(179,88,6)} -.PuOr .q1-7{fill:rgb(241,163,64)} -.PuOr .q2-7{fill:rgb(254,224,182)} -.PuOr .q3-7{fill:rgb(247,247,247)} -.PuOr .q4-7{fill:rgb(216,218,235)} -.PuOr .q5-7{fill:rgb(153,142,195)} -.PuOr .q6-7{fill:rgb(84,39,136)} -.PuOr .q0-8{fill:rgb(179,88,6)} -.PuOr .q1-8{fill:rgb(224,130,20)} -.PuOr .q2-8{fill:rgb(253,184,99)} -.PuOr .q3-8{fill:rgb(254,224,182)} -.PuOr .q4-8{fill:rgb(216,218,235)} -.PuOr .q5-8{fill:rgb(178,171,210)} -.PuOr .q6-8{fill:rgb(128,115,172)} -.PuOr .q7-8{fill:rgb(84,39,136)} -.PuOr .q0-9{fill:rgb(179,88,6)} -.PuOr .q1-9{fill:rgb(224,130,20)} -.PuOr .q2-9{fill:rgb(253,184,99)} -.PuOr .q3-9{fill:rgb(254,224,182)} -.PuOr .q4-9{fill:rgb(247,247,247)} -.PuOr .q5-9{fill:rgb(216,218,235)} -.PuOr .q6-9{fill:rgb(178,171,210)} -.PuOr .q7-9{fill:rgb(128,115,172)} -.PuOr .q8-9{fill:rgb(84,39,136)} -.PuOr .q0-10{fill:rgb(127,59,8)} -.PuOr .q1-10{fill:rgb(179,88,6)} -.PuOr .q2-10{fill:rgb(224,130,20)} -.PuOr .q3-10{fill:rgb(253,184,99)} -.PuOr .q4-10{fill:rgb(254,224,182)} -.PuOr .q5-10{fill:rgb(216,218,235)} -.PuOr .q6-10{fill:rgb(178,171,210)} -.PuOr .q7-10{fill:rgb(128,115,172)} -.PuOr .q8-10{fill:rgb(84,39,136)} -.PuOr .q9-10{fill:rgb(45,0,75)} -.PuOr .q0-11{fill:rgb(127,59,8)} -.PuOr .q1-11{fill:rgb(179,88,6)} -.PuOr .q2-11{fill:rgb(224,130,20)} -.PuOr .q3-11{fill:rgb(253,184,99)} -.PuOr .q4-11{fill:rgb(254,224,182)} -.PuOr .q5-11{fill:rgb(247,247,247)} -.PuOr .q6-11{fill:rgb(216,218,235)} -.PuOr .q7-11{fill:rgb(178,171,210)} -.PuOr .q8-11{fill:rgb(128,115,172)} -.PuOr .q9-11{fill:rgb(84,39,136)} -.PuOr .q10-11{fill:rgb(45,0,75)} -.BrBG .q0-3{fill:rgb(216,179,101)} -.BrBG .q1-3{fill:rgb(245,245,245)} -.BrBG .q2-3{fill:rgb(90,180,172)} -.BrBG .q0-4{fill:rgb(166,97,26)} -.BrBG .q1-4{fill:rgb(223,194,125)} -.BrBG .q2-4{fill:rgb(128,205,193)} -.BrBG .q3-4{fill:rgb(1,133,113)} -.BrBG .q0-5{fill:rgb(166,97,26)} -.BrBG .q1-5{fill:rgb(223,194,125)} -.BrBG .q2-5{fill:rgb(245,245,245)} -.BrBG .q3-5{fill:rgb(128,205,193)} -.BrBG .q4-5{fill:rgb(1,133,113)} -.BrBG .q0-6{fill:rgb(140,81,10)} -.BrBG .q1-6{fill:rgb(216,179,101)} -.BrBG .q2-6{fill:rgb(246,232,195)} -.BrBG .q3-6{fill:rgb(199,234,229)} -.BrBG .q4-6{fill:rgb(90,180,172)} -.BrBG .q5-6{fill:rgb(1,102,94)} -.BrBG .q0-7{fill:rgb(140,81,10)} -.BrBG .q1-7{fill:rgb(216,179,101)} -.BrBG .q2-7{fill:rgb(246,232,195)} -.BrBG .q3-7{fill:rgb(245,245,245)} -.BrBG .q4-7{fill:rgb(199,234,229)} -.BrBG .q5-7{fill:rgb(90,180,172)} -.BrBG .q6-7{fill:rgb(1,102,94)} -.BrBG .q0-8{fill:rgb(140,81,10)} -.BrBG .q1-8{fill:rgb(191,129,45)} -.BrBG .q2-8{fill:rgb(223,194,125)} -.BrBG .q3-8{fill:rgb(246,232,195)} -.BrBG .q4-8{fill:rgb(199,234,229)} -.BrBG .q5-8{fill:rgb(128,205,193)} -.BrBG .q6-8{fill:rgb(53,151,143)} -.BrBG .q7-8{fill:rgb(1,102,94)} -.BrBG .q0-9{fill:rgb(140,81,10)} -.BrBG .q1-9{fill:rgb(191,129,45)} -.BrBG .q2-9{fill:rgb(223,194,125)} -.BrBG .q3-9{fill:rgb(246,232,195)} -.BrBG .q4-9{fill:rgb(245,245,245)} -.BrBG .q5-9{fill:rgb(199,234,229)} -.BrBG .q6-9{fill:rgb(128,205,193)} -.BrBG .q7-9{fill:rgb(53,151,143)} -.BrBG .q8-9{fill:rgb(1,102,94)} -.BrBG .q0-10{fill:rgb(84,48,5)} -.BrBG .q1-10{fill:rgb(140,81,10)} -.BrBG .q2-10{fill:rgb(191,129,45)} -.BrBG .q3-10{fill:rgb(223,194,125)} -.BrBG .q4-10{fill:rgb(246,232,195)} -.BrBG .q5-10{fill:rgb(199,234,229)} -.BrBG .q6-10{fill:rgb(128,205,193)} -.BrBG .q7-10{fill:rgb(53,151,143)} -.BrBG .q8-10{fill:rgb(1,102,94)} -.BrBG .q9-10{fill:rgb(0,60,48)} -.BrBG .q0-11{fill:rgb(84,48,5)} -.BrBG .q1-11{fill:rgb(140,81,10)} -.BrBG .q2-11{fill:rgb(191,129,45)} -.BrBG .q3-11{fill:rgb(223,194,125)} -.BrBG .q4-11{fill:rgb(246,232,195)} -.BrBG .q5-11{fill:rgb(245,245,245)} -.BrBG .q6-11{fill:rgb(199,234,229)} -.BrBG .q7-11{fill:rgb(128,205,193)} -.BrBG .q8-11{fill:rgb(53,151,143)} -.BrBG .q9-11{fill:rgb(1,102,94)} -.BrBG .q10-11{fill:rgb(0,60,48)} -.PRGn .q0-3{fill:rgb(175,141,195)} -.PRGn .q1-3{fill:rgb(247,247,247)} -.PRGn .q2-3{fill:rgb(127,191,123)} -.PRGn .q0-4{fill:rgb(123,50,148)} -.PRGn .q1-4{fill:rgb(194,165,207)} -.PRGn .q2-4{fill:rgb(166,219,160)} -.PRGn .q3-4{fill:rgb(0,136,55)} -.PRGn .q0-5{fill:rgb(123,50,148)} -.PRGn .q1-5{fill:rgb(194,165,207)} -.PRGn .q2-5{fill:rgb(247,247,247)} -.PRGn .q3-5{fill:rgb(166,219,160)} -.PRGn .q4-5{fill:rgb(0,136,55)} -.PRGn .q0-6{fill:rgb(118,42,131)} -.PRGn .q1-6{fill:rgb(175,141,195)} -.PRGn .q2-6{fill:rgb(231,212,232)} -.PRGn .q3-6{fill:rgb(217,240,211)} -.PRGn .q4-6{fill:rgb(127,191,123)} -.PRGn .q5-6{fill:rgb(27,120,55)} -.PRGn .q0-7{fill:rgb(118,42,131)} -.PRGn .q1-7{fill:rgb(175,141,195)} -.PRGn .q2-7{fill:rgb(231,212,232)} -.PRGn .q3-7{fill:rgb(247,247,247)} -.PRGn .q4-7{fill:rgb(217,240,211)} -.PRGn .q5-7{fill:rgb(127,191,123)} -.PRGn .q6-7{fill:rgb(27,120,55)} -.PRGn .q0-8{fill:rgb(118,42,131)} -.PRGn .q1-8{fill:rgb(153,112,171)} -.PRGn .q2-8{fill:rgb(194,165,207)} -.PRGn .q3-8{fill:rgb(231,212,232)} -.PRGn .q4-8{fill:rgb(217,240,211)} -.PRGn .q5-8{fill:rgb(166,219,160)} -.PRGn .q6-8{fill:rgb(90,174,97)} -.PRGn .q7-8{fill:rgb(27,120,55)} -.PRGn .q0-9{fill:rgb(118,42,131)} -.PRGn .q1-9{fill:rgb(153,112,171)} -.PRGn .q2-9{fill:rgb(194,165,207)} -.PRGn .q3-9{fill:rgb(231,212,232)} -.PRGn .q4-9{fill:rgb(247,247,247)} -.PRGn .q5-9{fill:rgb(217,240,211)} -.PRGn .q6-9{fill:rgb(166,219,160)} -.PRGn .q7-9{fill:rgb(90,174,97)} -.PRGn .q8-9{fill:rgb(27,120,55)} -.PRGn .q0-10{fill:rgb(64,0,75)} -.PRGn .q1-10{fill:rgb(118,42,131)} -.PRGn .q2-10{fill:rgb(153,112,171)} -.PRGn .q3-10{fill:rgb(194,165,207)} -.PRGn .q4-10{fill:rgb(231,212,232)} -.PRGn .q5-10{fill:rgb(217,240,211)} -.PRGn .q6-10{fill:rgb(166,219,160)} -.PRGn .q7-10{fill:rgb(90,174,97)} -.PRGn .q8-10{fill:rgb(27,120,55)} -.PRGn .q9-10{fill:rgb(0,68,27)} -.PRGn .q0-11{fill:rgb(64,0,75)} -.PRGn .q1-11{fill:rgb(118,42,131)} -.PRGn .q2-11{fill:rgb(153,112,171)} -.PRGn .q3-11{fill:rgb(194,165,207)} -.PRGn .q4-11{fill:rgb(231,212,232)} -.PRGn .q5-11{fill:rgb(247,247,247)} -.PRGn .q6-11{fill:rgb(217,240,211)} -.PRGn .q7-11{fill:rgb(166,219,160)} -.PRGn .q8-11{fill:rgb(90,174,97)} -.PRGn .q9-11{fill:rgb(27,120,55)} -.PRGn .q10-11{fill:rgb(0,68,27)} -.PiYG .q0-3{fill:rgb(233,163,201)} -.PiYG .q1-3{fill:rgb(247,247,247)} -.PiYG .q2-3{fill:rgb(161,215,106)} -.PiYG .q0-4{fill:rgb(208,28,139)} -.PiYG .q1-4{fill:rgb(241,182,218)} -.PiYG .q2-4{fill:rgb(184,225,134)} -.PiYG .q3-4{fill:rgb(77,172,38)} -.PiYG .q0-5{fill:rgb(208,28,139)} -.PiYG .q1-5{fill:rgb(241,182,218)} -.PiYG .q2-5{fill:rgb(247,247,247)} -.PiYG .q3-5{fill:rgb(184,225,134)} -.PiYG .q4-5{fill:rgb(77,172,38)} -.PiYG .q0-6{fill:rgb(197,27,125)} -.PiYG .q1-6{fill:rgb(233,163,201)} -.PiYG .q2-6{fill:rgb(253,224,239)} -.PiYG .q3-6{fill:rgb(230,245,208)} -.PiYG .q4-6{fill:rgb(161,215,106)} -.PiYG .q5-6{fill:rgb(77,146,33)} -.PiYG .q0-7{fill:rgb(197,27,125)} -.PiYG .q1-7{fill:rgb(233,163,201)} -.PiYG .q2-7{fill:rgb(253,224,239)} -.PiYG .q3-7{fill:rgb(247,247,247)} -.PiYG .q4-7{fill:rgb(230,245,208)} -.PiYG .q5-7{fill:rgb(161,215,106)} -.PiYG .q6-7{fill:rgb(77,146,33)} -.PiYG .q0-8{fill:rgb(197,27,125)} -.PiYG .q1-8{fill:rgb(222,119,174)} -.PiYG .q2-8{fill:rgb(241,182,218)} -.PiYG .q3-8{fill:rgb(253,224,239)} -.PiYG .q4-8{fill:rgb(230,245,208)} -.PiYG .q5-8{fill:rgb(184,225,134)} -.PiYG .q6-8{fill:rgb(127,188,65)} -.PiYG .q7-8{fill:rgb(77,146,33)} -.PiYG .q0-9{fill:rgb(197,27,125)} -.PiYG .q1-9{fill:rgb(222,119,174)} -.PiYG .q2-9{fill:rgb(241,182,218)} -.PiYG .q3-9{fill:rgb(253,224,239)} -.PiYG .q4-9{fill:rgb(247,247,247)} -.PiYG .q5-9{fill:rgb(230,245,208)} -.PiYG .q6-9{fill:rgb(184,225,134)} -.PiYG .q7-9{fill:rgb(127,188,65)} -.PiYG .q8-9{fill:rgb(77,146,33)} -.PiYG .q0-10{fill:rgb(142,1,82)} -.PiYG .q1-10{fill:rgb(197,27,125)} -.PiYG .q2-10{fill:rgb(222,119,174)} -.PiYG .q3-10{fill:rgb(241,182,218)} -.PiYG .q4-10{fill:rgb(253,224,239)} -.PiYG .q5-10{fill:rgb(230,245,208)} -.PiYG .q6-10{fill:rgb(184,225,134)} -.PiYG .q7-10{fill:rgb(127,188,65)} -.PiYG .q8-10{fill:rgb(77,146,33)} -.PiYG .q9-10{fill:rgb(39,100,25)} -.PiYG .q0-11{fill:rgb(142,1,82)} -.PiYG .q1-11{fill:rgb(197,27,125)} -.PiYG .q2-11{fill:rgb(222,119,174)} -.PiYG .q3-11{fill:rgb(241,182,218)} -.PiYG .q4-11{fill:rgb(253,224,239)} -.PiYG .q5-11{fill:rgb(247,247,247)} -.PiYG .q6-11{fill:rgb(230,245,208)} -.PiYG .q7-11{fill:rgb(184,225,134)} -.PiYG .q8-11{fill:rgb(127,188,65)} -.PiYG .q9-11{fill:rgb(77,146,33)} -.PiYG .q10-11{fill:rgb(39,100,25)} -.RdBu .q0-3{fill:rgb(239,138,98)} -.RdBu .q1-3{fill:rgb(247,247,247)} -.RdBu .q2-3{fill:rgb(103,169,207)} -.RdBu .q0-4{fill:rgb(202,0,32)} -.RdBu .q1-4{fill:rgb(244,165,130)} -.RdBu .q2-4{fill:rgb(146,197,222)} -.RdBu .q3-4{fill:rgb(5,113,176)} -.RdBu .q0-5{fill:rgb(202,0,32)} -.RdBu .q1-5{fill:rgb(244,165,130)} -.RdBu .q2-5{fill:rgb(247,247,247)} -.RdBu .q3-5{fill:rgb(146,197,222)} -.RdBu .q4-5{fill:rgb(5,113,176)} -.RdBu .q0-6{fill:rgb(178,24,43)} -.RdBu .q1-6{fill:rgb(239,138,98)} -.RdBu .q2-6{fill:rgb(253,219,199)} -.RdBu .q3-6{fill:rgb(209,229,240)} -.RdBu .q4-6{fill:rgb(103,169,207)} -.RdBu .q5-6{fill:rgb(33,102,172)} -.RdBu .q0-7{fill:rgb(178,24,43)} -.RdBu .q1-7{fill:rgb(239,138,98)} -.RdBu .q2-7{fill:rgb(253,219,199)} -.RdBu .q3-7{fill:rgb(247,247,247)} -.RdBu .q4-7{fill:rgb(209,229,240)} -.RdBu .q5-7{fill:rgb(103,169,207)} -.RdBu .q6-7{fill:rgb(33,102,172)} -.RdBu .q0-8{fill:rgb(178,24,43)} -.RdBu .q1-8{fill:rgb(214,96,77)} -.RdBu .q2-8{fill:rgb(244,165,130)} -.RdBu .q3-8{fill:rgb(253,219,199)} -.RdBu .q4-8{fill:rgb(209,229,240)} -.RdBu .q5-8{fill:rgb(146,197,222)} -.RdBu .q6-8{fill:rgb(67,147,195)} -.RdBu .q7-8{fill:rgb(33,102,172)} -.RdBu .q0-9{fill:rgb(178,24,43)} -.RdBu .q1-9{fill:rgb(214,96,77)} -.RdBu .q2-9{fill:rgb(244,165,130)} -.RdBu .q3-9{fill:rgb(253,219,199)} -.RdBu .q4-9{fill:rgb(247,247,247)} -.RdBu .q5-9{fill:rgb(209,229,240)} -.RdBu .q6-9{fill:rgb(146,197,222)} -.RdBu .q7-9{fill:rgb(67,147,195)} -.RdBu .q8-9{fill:rgb(33,102,172)} -.RdBu .q0-10{fill:rgb(103,0,31)} -.RdBu .q1-10{fill:rgb(178,24,43)} -.RdBu .q2-10{fill:rgb(214,96,77)} -.RdBu .q3-10{fill:rgb(244,165,130)} -.RdBu .q4-10{fill:rgb(253,219,199)} -.RdBu .q5-10{fill:rgb(209,229,240)} -.RdBu .q6-10{fill:rgb(146,197,222)} -.RdBu .q7-10{fill:rgb(67,147,195)} -.RdBu .q8-10{fill:rgb(33,102,172)} -.RdBu .q9-10{fill:rgb(5,48,97)} -.RdBu .q0-11{fill:rgb(103,0,31)} -.RdBu .q1-11{fill:rgb(178,24,43)} -.RdBu .q2-11{fill:rgb(214,96,77)} -.RdBu .q3-11{fill:rgb(244,165,130)} -.RdBu .q4-11{fill:rgb(253,219,199)} -.RdBu .q5-11{fill:rgb(247,247,247)} -.RdBu .q6-11{fill:rgb(209,229,240)} -.RdBu .q7-11{fill:rgb(146,197,222)} -.RdBu .q8-11{fill:rgb(67,147,195)} -.RdBu .q9-11{fill:rgb(33,102,172)} -.RdBu .q10-11{fill:rgb(5,48,97)} -.RdGy .q0-3{fill:rgb(239,138,98)} -.RdGy .q1-3{fill:rgb(255,255,255)} -.RdGy .q2-3{fill:rgb(153,153,153)} -.RdGy .q0-4{fill:rgb(202,0,32)} -.RdGy .q1-4{fill:rgb(244,165,130)} -.RdGy .q2-4{fill:rgb(186,186,186)} -.RdGy .q3-4{fill:rgb(64,64,64)} -.RdGy .q0-5{fill:rgb(202,0,32)} -.RdGy .q1-5{fill:rgb(244,165,130)} -.RdGy .q2-5{fill:rgb(255,255,255)} -.RdGy .q3-5{fill:rgb(186,186,186)} -.RdGy .q4-5{fill:rgb(64,64,64)} -.RdGy .q0-6{fill:rgb(178,24,43)} -.RdGy .q1-6{fill:rgb(239,138,98)} -.RdGy .q2-6{fill:rgb(253,219,199)} -.RdGy .q3-6{fill:rgb(224,224,224)} -.RdGy .q4-6{fill:rgb(153,153,153)} -.RdGy .q5-6{fill:rgb(77,77,77)} -.RdGy .q0-7{fill:rgb(178,24,43)} -.RdGy .q1-7{fill:rgb(239,138,98)} -.RdGy .q2-7{fill:rgb(253,219,199)} -.RdGy .q3-7{fill:rgb(255,255,255)} -.RdGy .q4-7{fill:rgb(224,224,224)} -.RdGy .q5-7{fill:rgb(153,153,153)} -.RdGy .q6-7{fill:rgb(77,77,77)} -.RdGy .q0-8{fill:rgb(178,24,43)} -.RdGy .q1-8{fill:rgb(214,96,77)} -.RdGy .q2-8{fill:rgb(244,165,130)} -.RdGy .q3-8{fill:rgb(253,219,199)} -.RdGy .q4-8{fill:rgb(224,224,224)} -.RdGy .q5-8{fill:rgb(186,186,186)} -.RdGy .q6-8{fill:rgb(135,135,135)} -.RdGy .q7-8{fill:rgb(77,77,77)} -.RdGy .q0-9{fill:rgb(178,24,43)} -.RdGy .q1-9{fill:rgb(214,96,77)} -.RdGy .q2-9{fill:rgb(244,165,130)} -.RdGy .q3-9{fill:rgb(253,219,199)} -.RdGy .q4-9{fill:rgb(255,255,255)} -.RdGy .q5-9{fill:rgb(224,224,224)} -.RdGy .q6-9{fill:rgb(186,186,186)} -.RdGy .q7-9{fill:rgb(135,135,135)} -.RdGy .q8-9{fill:rgb(77,77,77)} -.RdGy .q0-10{fill:rgb(103,0,31)} -.RdGy .q1-10{fill:rgb(178,24,43)} -.RdGy .q2-10{fill:rgb(214,96,77)} -.RdGy .q3-10{fill:rgb(244,165,130)} -.RdGy .q4-10{fill:rgb(253,219,199)} -.RdGy .q5-10{fill:rgb(224,224,224)} -.RdGy .q6-10{fill:rgb(186,186,186)} -.RdGy .q7-10{fill:rgb(135,135,135)} -.RdGy .q8-10{fill:rgb(77,77,77)} -.RdGy .q9-10{fill:rgb(26,26,26)} -.RdGy .q0-11{fill:rgb(103,0,31)} -.RdGy .q1-11{fill:rgb(178,24,43)} -.RdGy .q2-11{fill:rgb(214,96,77)} -.RdGy .q3-11{fill:rgb(244,165,130)} -.RdGy .q4-11{fill:rgb(253,219,199)} -.RdGy .q5-11{fill:rgb(255,255,255)} -.RdGy .q6-11{fill:rgb(224,224,224)} -.RdGy .q7-11{fill:rgb(186,186,186)} -.RdGy .q8-11{fill:rgb(135,135,135)} -.RdGy .q9-11{fill:rgb(77,77,77)} -.RdGy .q10-11{fill:rgb(26,26,26)} -.RdYlBu .q0-3{fill:rgb(252,141,89)} -.RdYlBu .q1-3{fill:rgb(255,255,191)} -.RdYlBu .q2-3{fill:rgb(145,191,219)} -.RdYlBu .q0-4{fill:rgb(215,25,28)} -.RdYlBu .q1-4{fill:rgb(253,174,97)} -.RdYlBu .q2-4{fill:rgb(171,217,233)} -.RdYlBu .q3-4{fill:rgb(44,123,182)} -.RdYlBu .q0-5{fill:rgb(215,25,28)} -.RdYlBu .q1-5{fill:rgb(253,174,97)} -.RdYlBu .q2-5{fill:rgb(255,255,191)} -.RdYlBu .q3-5{fill:rgb(171,217,233)} -.RdYlBu .q4-5{fill:rgb(44,123,182)} -.RdYlBu .q0-6{fill:rgb(215,48,39)} -.RdYlBu .q1-6{fill:rgb(252,141,89)} -.RdYlBu .q2-6{fill:rgb(254,224,144)} -.RdYlBu .q3-6{fill:rgb(224,243,248)} -.RdYlBu .q4-6{fill:rgb(145,191,219)} -.RdYlBu .q5-6{fill:rgb(69,117,180)} -.RdYlBu .q0-7{fill:rgb(215,48,39)} -.RdYlBu .q1-7{fill:rgb(252,141,89)} -.RdYlBu .q2-7{fill:rgb(254,224,144)} -.RdYlBu .q3-7{fill:rgb(255,255,191)} -.RdYlBu .q4-7{fill:rgb(224,243,248)} -.RdYlBu .q5-7{fill:rgb(145,191,219)} -.RdYlBu .q6-7{fill:rgb(69,117,180)} -.RdYlBu .q0-8{fill:rgb(215,48,39)} -.RdYlBu .q1-8{fill:rgb(244,109,67)} -.RdYlBu .q2-8{fill:rgb(253,174,97)} -.RdYlBu .q3-8{fill:rgb(254,224,144)} -.RdYlBu .q4-8{fill:rgb(224,243,248)} -.RdYlBu .q5-8{fill:rgb(171,217,233)} -.RdYlBu .q6-8{fill:rgb(116,173,209)} -.RdYlBu .q7-8{fill:rgb(69,117,180)} -.RdYlBu .q0-9{fill:rgb(215,48,39)} -.RdYlBu .q1-9{fill:rgb(244,109,67)} -.RdYlBu .q2-9{fill:rgb(253,174,97)} -.RdYlBu .q3-9{fill:rgb(254,224,144)} -.RdYlBu .q4-9{fill:rgb(255,255,191)} -.RdYlBu .q5-9{fill:rgb(224,243,248)} -.RdYlBu .q6-9{fill:rgb(171,217,233)} -.RdYlBu .q7-9{fill:rgb(116,173,209)} -.RdYlBu .q8-9{fill:rgb(69,117,180)} -.RdYlBu .q0-10{fill:rgb(165,0,38)} -.RdYlBu .q1-10{fill:rgb(215,48,39)} -.RdYlBu .q2-10{fill:rgb(244,109,67)} -.RdYlBu .q3-10{fill:rgb(253,174,97)} -.RdYlBu .q4-10{fill:rgb(254,224,144)} -.RdYlBu .q5-10{fill:rgb(224,243,248)} -.RdYlBu .q6-10{fill:rgb(171,217,233)} -.RdYlBu .q7-10{fill:rgb(116,173,209)} -.RdYlBu .q8-10{fill:rgb(69,117,180)} -.RdYlBu .q9-10{fill:rgb(49,54,149)} -.RdYlBu .q0-11{fill:rgb(165,0,38)} -.RdYlBu .q1-11{fill:rgb(215,48,39)} -.RdYlBu .q2-11{fill:rgb(244,109,67)} -.RdYlBu .q3-11{fill:rgb(253,174,97)} -.RdYlBu .q4-11{fill:rgb(254,224,144)} -.RdYlBu .q5-11{fill:rgb(255,255,191)} -.RdYlBu .q6-11{fill:rgb(224,243,248)} -.RdYlBu .q7-11{fill:rgb(171,217,233)} -.RdYlBu .q8-11{fill:rgb(116,173,209)} -.RdYlBu .q9-11{fill:rgb(69,117,180)} -.RdYlBu .q10-11{fill:rgb(49,54,149)} -.Spectral .q0-3{fill:rgb(252,141,89)} -.Spectral .q1-3{fill:rgb(255,255,191)} -.Spectral .q2-3{fill:rgb(153,213,148)} -.Spectral .q0-4{fill:rgb(215,25,28)} -.Spectral .q1-4{fill:rgb(253,174,97)} -.Spectral .q2-4{fill:rgb(171,221,164)} -.Spectral .q3-4{fill:rgb(43,131,186)} -.Spectral .q0-5{fill:rgb(215,25,28)} -.Spectral .q1-5{fill:rgb(253,174,97)} -.Spectral .q2-5{fill:rgb(255,255,191)} -.Spectral .q3-5{fill:rgb(171,221,164)} -.Spectral .q4-5{fill:rgb(43,131,186)} -.Spectral .q0-6{fill:rgb(213,62,79)} -.Spectral .q1-6{fill:rgb(252,141,89)} -.Spectral .q2-6{fill:rgb(254,224,139)} -.Spectral .q3-6{fill:rgb(230,245,152)} -.Spectral .q4-6{fill:rgb(153,213,148)} -.Spectral .q5-6{fill:rgb(50,136,189)} -.Spectral .q0-7{fill:rgb(213,62,79)} -.Spectral .q1-7{fill:rgb(252,141,89)} -.Spectral .q2-7{fill:rgb(254,224,139)} -.Spectral .q3-7{fill:rgb(255,255,191)} -.Spectral .q4-7{fill:rgb(230,245,152)} -.Spectral .q5-7{fill:rgb(153,213,148)} -.Spectral .q6-7{fill:rgb(50,136,189)} -.Spectral .q0-8{fill:rgb(213,62,79)} -.Spectral .q1-8{fill:rgb(244,109,67)} -.Spectral .q2-8{fill:rgb(253,174,97)} -.Spectral .q3-8{fill:rgb(254,224,139)} -.Spectral .q4-8{fill:rgb(230,245,152)} -.Spectral .q5-8{fill:rgb(171,221,164)} -.Spectral .q6-8{fill:rgb(102,194,165)} -.Spectral .q7-8{fill:rgb(50,136,189)} -.Spectral .q0-9{fill:rgb(213,62,79)} -.Spectral .q1-9{fill:rgb(244,109,67)} -.Spectral .q2-9{fill:rgb(253,174,97)} -.Spectral .q3-9{fill:rgb(254,224,139)} -.Spectral .q4-9{fill:rgb(255,255,191)} -.Spectral .q5-9{fill:rgb(230,245,152)} -.Spectral .q6-9{fill:rgb(171,221,164)} -.Spectral .q7-9{fill:rgb(102,194,165)} -.Spectral .q8-9{fill:rgb(50,136,189)} -.Spectral .q0-10{fill:rgb(158,1,66)} -.Spectral .q1-10{fill:rgb(213,62,79)} -.Spectral .q2-10{fill:rgb(244,109,67)} -.Spectral .q3-10{fill:rgb(253,174,97)} -.Spectral .q4-10{fill:rgb(254,224,139)} -.Spectral .q5-10{fill:rgb(230,245,152)} -.Spectral .q6-10{fill:rgb(171,221,164)} -.Spectral .q7-10{fill:rgb(102,194,165)} -.Spectral .q8-10{fill:rgb(50,136,189)} -.Spectral .q9-10{fill:rgb(94,79,162)} -.Spectral .q0-11{fill:rgb(158,1,66)} -.Spectral .q1-11{fill:rgb(213,62,79)} -.Spectral .q2-11{fill:rgb(244,109,67)} -.Spectral .q3-11{fill:rgb(253,174,97)} -.Spectral .q4-11{fill:rgb(254,224,139)} -.Spectral .q5-11{fill:rgb(255,255,191)} -.Spectral .q6-11{fill:rgb(230,245,152)} -.Spectral .q7-11{fill:rgb(171,221,164)} -.Spectral .q8-11{fill:rgb(102,194,165)} -.Spectral .q9-11{fill:rgb(50,136,189)} -.Spectral .q10-11{fill:rgb(94,79,162)} -.RdYlGn .q0-3{fill:rgb(252,141,89)} -.RdYlGn .q1-3{fill:rgb(255,255,191)} -.RdYlGn .q2-3{fill:rgb(145,207,96)} -.RdYlGn .q0-4{fill:rgb(215,25,28)} -.RdYlGn .q1-4{fill:rgb(253,174,97)} -.RdYlGn .q2-4{fill:rgb(166,217,106)} -.RdYlGn .q3-4{fill:rgb(26,150,65)} -.RdYlGn .q0-5{fill:rgb(215,25,28)} -.RdYlGn .q1-5{fill:rgb(253,174,97)} -.RdYlGn .q2-5{fill:rgb(255,255,191)} -.RdYlGn .q3-5{fill:rgb(166,217,106)} -.RdYlGn .q4-5{fill:rgb(26,150,65)} -.RdYlGn .q0-6{fill:rgb(215,48,39)} -.RdYlGn .q1-6{fill:rgb(252,141,89)} -.RdYlGn .q2-6{fill:rgb(254,224,139)} -.RdYlGn .q3-6{fill:rgb(217,239,139)} -.RdYlGn .q4-6{fill:rgb(145,207,96)} -.RdYlGn .q5-6{fill:rgb(26,152,80)} -.RdYlGn .q0-7{fill:rgb(215,48,39)} -.RdYlGn .q1-7{fill:rgb(252,141,89)} -.RdYlGn .q2-7{fill:rgb(254,224,139)} -.RdYlGn .q3-7{fill:rgb(255,255,191)} -.RdYlGn .q4-7{fill:rgb(217,239,139)} -.RdYlGn .q5-7{fill:rgb(145,207,96)} -.RdYlGn .q6-7{fill:rgb(26,152,80)} -.RdYlGn .q0-8{fill:rgb(215,48,39)} -.RdYlGn .q1-8{fill:rgb(244,109,67)} -.RdYlGn .q2-8{fill:rgb(253,174,97)} -.RdYlGn .q3-8{fill:rgb(254,224,139)} -.RdYlGn .q4-8{fill:rgb(217,239,139)} -.RdYlGn .q5-8{fill:rgb(166,217,106)} -.RdYlGn .q6-8{fill:rgb(102,189,99)} -.RdYlGn .q7-8{fill:rgb(26,152,80)} -.RdYlGn .q0-9{fill:rgb(215,48,39)} -.RdYlGn .q1-9{fill:rgb(244,109,67)} -.RdYlGn .q2-9{fill:rgb(253,174,97)} -.RdYlGn .q3-9{fill:rgb(254,224,139)} -.RdYlGn .q4-9{fill:rgb(255,255,191)} -.RdYlGn .q5-9{fill:rgb(217,239,139)} -.RdYlGn .q6-9{fill:rgb(166,217,106)} -.RdYlGn .q7-9{fill:rgb(102,189,99)} -.RdYlGn .q8-9{fill:rgb(26,152,80)} -.RdYlGn .q0-10{fill:rgb(165,0,38)} -.RdYlGn .q1-10{fill:rgb(215,48,39)} -.RdYlGn .q2-10{fill:rgb(244,109,67)} -.RdYlGn .q3-10{fill:rgb(253,174,97)} -.RdYlGn .q4-10{fill:rgb(254,224,139)} -.RdYlGn .q5-10{fill:rgb(217,239,139)} -.RdYlGn .q6-10{fill:rgb(166,217,106)} -.RdYlGn .q7-10{fill:rgb(102,189,99)} -.RdYlGn .q8-10{fill:rgb(26,152,80)} -.RdYlGn .q9-10{fill:rgb(0,104,55)} -.RdYlGn .q0-11{fill:rgb(165,0,38)} -.RdYlGn .q1-11{fill:rgb(215,48,39)} -.RdYlGn .q2-11{fill:rgb(244,109,67)} -.RdYlGn .q3-11{fill:rgb(253,174,97)} -.RdYlGn .q4-11{fill:rgb(254,224,139)} -.RdYlGn .q5-11{fill:rgb(255,255,191)} -.RdYlGn .q6-11{fill:rgb(217,239,139)} -.RdYlGn .q7-11{fill:rgb(166,217,106)} -.RdYlGn .q8-11{fill:rgb(102,189,99)} -.RdYlGn .q9-11{fill:rgb(26,152,80)} -.RdYlGn .q10-11{fill:rgb(0,104,55)} -.Accent .q0-3{fill:rgb(127,201,127)} -.Accent .q1-3{fill:rgb(190,174,212)} -.Accent .q2-3{fill:rgb(253,192,134)} -.Accent .q0-4{fill:rgb(127,201,127)} -.Accent .q1-4{fill:rgb(190,174,212)} -.Accent .q2-4{fill:rgb(253,192,134)} -.Accent .q3-4{fill:rgb(255,255,153)} -.Accent .q0-5{fill:rgb(127,201,127)} -.Accent .q1-5{fill:rgb(190,174,212)} -.Accent .q2-5{fill:rgb(253,192,134)} -.Accent .q3-5{fill:rgb(255,255,153)} -.Accent .q4-5{fill:rgb(56,108,176)} -.Accent .q0-6{fill:rgb(127,201,127)} -.Accent .q1-6{fill:rgb(190,174,212)} -.Accent .q2-6{fill:rgb(253,192,134)} -.Accent .q3-6{fill:rgb(255,255,153)} -.Accent .q4-6{fill:rgb(56,108,176)} -.Accent .q5-6{fill:rgb(240,2,127)} -.Accent .q0-7{fill:rgb(127,201,127)} -.Accent .q1-7{fill:rgb(190,174,212)} -.Accent .q2-7{fill:rgb(253,192,134)} -.Accent .q3-7{fill:rgb(255,255,153)} -.Accent .q4-7{fill:rgb(56,108,176)} -.Accent .q5-7{fill:rgb(240,2,127)} -.Accent .q6-7{fill:rgb(191,91,23)} -.Accent .q0-8{fill:rgb(127,201,127)} -.Accent .q1-8{fill:rgb(190,174,212)} -.Accent .q2-8{fill:rgb(253,192,134)} -.Accent .q3-8{fill:rgb(255,255,153)} -.Accent .q4-8{fill:rgb(56,108,176)} -.Accent .q5-8{fill:rgb(240,2,127)} -.Accent .q6-8{fill:rgb(191,91,23)} -.Accent .q7-8{fill:rgb(102,102,102)} -.Dark2 .q0-3{fill:rgb(27,158,119)} -.Dark2 .q1-3{fill:rgb(217,95,2)} -.Dark2 .q2-3{fill:rgb(117,112,179)} -.Dark2 .q0-4{fill:rgb(27,158,119)} -.Dark2 .q1-4{fill:rgb(217,95,2)} -.Dark2 .q2-4{fill:rgb(117,112,179)} -.Dark2 .q3-4{fill:rgb(231,41,138)} -.Dark2 .q0-5{fill:rgb(27,158,119)} -.Dark2 .q1-5{fill:rgb(217,95,2)} -.Dark2 .q2-5{fill:rgb(117,112,179)} -.Dark2 .q3-5{fill:rgb(231,41,138)} -.Dark2 .q4-5{fill:rgb(102,166,30)} -.Dark2 .q0-6{fill:rgb(27,158,119)} -.Dark2 .q1-6{fill:rgb(217,95,2)} -.Dark2 .q2-6{fill:rgb(117,112,179)} -.Dark2 .q3-6{fill:rgb(231,41,138)} -.Dark2 .q4-6{fill:rgb(102,166,30)} -.Dark2 .q5-6{fill:rgb(230,171,2)} -.Dark2 .q0-7{fill:rgb(27,158,119)} -.Dark2 .q1-7{fill:rgb(217,95,2)} -.Dark2 .q2-7{fill:rgb(117,112,179)} -.Dark2 .q3-7{fill:rgb(231,41,138)} -.Dark2 .q4-7{fill:rgb(102,166,30)} -.Dark2 .q5-7{fill:rgb(230,171,2)} -.Dark2 .q6-7{fill:rgb(166,118,29)} -.Dark2 .q0-8{fill:rgb(27,158,119)} -.Dark2 .q1-8{fill:rgb(217,95,2)} -.Dark2 .q2-8{fill:rgb(117,112,179)} -.Dark2 .q3-8{fill:rgb(231,41,138)} -.Dark2 .q4-8{fill:rgb(102,166,30)} -.Dark2 .q5-8{fill:rgb(230,171,2)} -.Dark2 .q6-8{fill:rgb(166,118,29)} -.Dark2 .q7-8{fill:rgb(102,102,102)} -.Paired .q0-3{fill:rgb(166,206,227)} -.Paired .q1-3{fill:rgb(31,120,180)} -.Paired .q2-3{fill:rgb(178,223,138)} -.Paired .q0-4{fill:rgb(166,206,227)} -.Paired .q1-4{fill:rgb(31,120,180)} -.Paired .q2-4{fill:rgb(178,223,138)} -.Paired .q3-4{fill:rgb(51,160,44)} -.Paired .q0-5{fill:rgb(166,206,227)} -.Paired .q1-5{fill:rgb(31,120,180)} -.Paired .q2-5{fill:rgb(178,223,138)} -.Paired .q3-5{fill:rgb(51,160,44)} -.Paired .q4-5{fill:rgb(251,154,153)} -.Paired .q0-6{fill:rgb(166,206,227)} -.Paired .q1-6{fill:rgb(31,120,180)} -.Paired .q2-6{fill:rgb(178,223,138)} -.Paired .q3-6{fill:rgb(51,160,44)} -.Paired .q4-6{fill:rgb(251,154,153)} -.Paired .q5-6{fill:rgb(227,26,28)} -.Paired .q0-7{fill:rgb(166,206,227)} -.Paired .q1-7{fill:rgb(31,120,180)} -.Paired .q2-7{fill:rgb(178,223,138)} -.Paired .q3-7{fill:rgb(51,160,44)} -.Paired .q4-7{fill:rgb(251,154,153)} -.Paired .q5-7{fill:rgb(227,26,28)} -.Paired .q6-7{fill:rgb(253,191,111)} -.Paired .q0-8{fill:rgb(166,206,227)} -.Paired .q1-8{fill:rgb(31,120,180)} -.Paired .q2-8{fill:rgb(178,223,138)} -.Paired .q3-8{fill:rgb(51,160,44)} -.Paired .q4-8{fill:rgb(251,154,153)} -.Paired .q5-8{fill:rgb(227,26,28)} -.Paired .q6-8{fill:rgb(253,191,111)} -.Paired .q7-8{fill:rgb(255,127,0)} -.Paired .q0-9{fill:rgb(166,206,227)} -.Paired .q1-9{fill:rgb(31,120,180)} -.Paired .q2-9{fill:rgb(178,223,138)} -.Paired .q3-9{fill:rgb(51,160,44)} -.Paired .q4-9{fill:rgb(251,154,153)} -.Paired .q5-9{fill:rgb(227,26,28)} -.Paired .q6-9{fill:rgb(253,191,111)} -.Paired .q7-9{fill:rgb(255,127,0)} -.Paired .q8-9{fill:rgb(202,178,214)} -.Paired .q0-10{fill:rgb(166,206,227)} -.Paired .q1-10{fill:rgb(31,120,180)} -.Paired .q2-10{fill:rgb(178,223,138)} -.Paired .q3-10{fill:rgb(51,160,44)} -.Paired .q4-10{fill:rgb(251,154,153)} -.Paired .q5-10{fill:rgb(227,26,28)} -.Paired .q6-10{fill:rgb(253,191,111)} -.Paired .q7-10{fill:rgb(255,127,0)} -.Paired .q8-10{fill:rgb(202,178,214)} -.Paired .q9-10{fill:rgb(106,61,154)} -.Paired .q0-11{fill:rgb(166,206,227)} -.Paired .q1-11{fill:rgb(31,120,180)} -.Paired .q2-11{fill:rgb(178,223,138)} -.Paired .q3-11{fill:rgb(51,160,44)} -.Paired .q4-11{fill:rgb(251,154,153)} -.Paired .q5-11{fill:rgb(227,26,28)} -.Paired .q6-11{fill:rgb(253,191,111)} -.Paired .q7-11{fill:rgb(255,127,0)} -.Paired .q8-11{fill:rgb(202,178,214)} -.Paired .q9-11{fill:rgb(106,61,154)} -.Paired .q10-11{fill:rgb(255,255,153)} -.Paired .q0-12{fill:rgb(166,206,227)} -.Paired .q1-12{fill:rgb(31,120,180)} -.Paired .q2-12{fill:rgb(178,223,138)} -.Paired .q3-12{fill:rgb(51,160,44)} -.Paired .q4-12{fill:rgb(251,154,153)} -.Paired .q5-12{fill:rgb(227,26,28)} -.Paired .q6-12{fill:rgb(253,191,111)} -.Paired .q7-12{fill:rgb(255,127,0)} -.Paired .q8-12{fill:rgb(202,178,214)} -.Paired .q9-12{fill:rgb(106,61,154)} -.Paired .q10-12{fill:rgb(255,255,153)} -.Paired .q11-12{fill:rgb(177,89,40)} -.Pastel1 .q0-3{fill:rgb(251,180,174)} -.Pastel1 .q1-3{fill:rgb(179,205,227)} -.Pastel1 .q2-3{fill:rgb(204,235,197)} -.Pastel1 .q0-4{fill:rgb(251,180,174)} -.Pastel1 .q1-4{fill:rgb(179,205,227)} -.Pastel1 .q2-4{fill:rgb(204,235,197)} -.Pastel1 .q3-4{fill:rgb(222,203,228)} -.Pastel1 .q0-5{fill:rgb(251,180,174)} -.Pastel1 .q1-5{fill:rgb(179,205,227)} -.Pastel1 .q2-5{fill:rgb(204,235,197)} -.Pastel1 .q3-5{fill:rgb(222,203,228)} -.Pastel1 .q4-5{fill:rgb(254,217,166)} -.Pastel1 .q0-6{fill:rgb(251,180,174)} -.Pastel1 .q1-6{fill:rgb(179,205,227)} -.Pastel1 .q2-6{fill:rgb(204,235,197)} -.Pastel1 .q3-6{fill:rgb(222,203,228)} -.Pastel1 .q4-6{fill:rgb(254,217,166)} -.Pastel1 .q5-6{fill:rgb(255,255,204)} -.Pastel1 .q0-7{fill:rgb(251,180,174)} -.Pastel1 .q1-7{fill:rgb(179,205,227)} -.Pastel1 .q2-7{fill:rgb(204,235,197)} -.Pastel1 .q3-7{fill:rgb(222,203,228)} -.Pastel1 .q4-7{fill:rgb(254,217,166)} -.Pastel1 .q5-7{fill:rgb(255,255,204)} -.Pastel1 .q6-7{fill:rgb(229,216,189)} -.Pastel1 .q0-8{fill:rgb(251,180,174)} -.Pastel1 .q1-8{fill:rgb(179,205,227)} -.Pastel1 .q2-8{fill:rgb(204,235,197)} -.Pastel1 .q3-8{fill:rgb(222,203,228)} -.Pastel1 .q4-8{fill:rgb(254,217,166)} -.Pastel1 .q5-8{fill:rgb(255,255,204)} -.Pastel1 .q6-8{fill:rgb(229,216,189)} -.Pastel1 .q7-8{fill:rgb(253,218,236)} -.Pastel1 .q0-9{fill:rgb(251,180,174)} -.Pastel1 .q1-9{fill:rgb(179,205,227)} -.Pastel1 .q2-9{fill:rgb(204,235,197)} -.Pastel1 .q3-9{fill:rgb(222,203,228)} -.Pastel1 .q4-9{fill:rgb(254,217,166)} -.Pastel1 .q5-9{fill:rgb(255,255,204)} -.Pastel1 .q6-9{fill:rgb(229,216,189)} -.Pastel1 .q7-9{fill:rgb(253,218,236)} -.Pastel1 .q8-9{fill:rgb(242,242,242)} -.Pastel2 .q0-3{fill:rgb(179,226,205)} -.Pastel2 .q1-3{fill:rgb(253,205,172)} -.Pastel2 .q2-3{fill:rgb(203,213,232)} -.Pastel2 .q0-4{fill:rgb(179,226,205)} -.Pastel2 .q1-4{fill:rgb(253,205,172)} -.Pastel2 .q2-4{fill:rgb(203,213,232)} -.Pastel2 .q3-4{fill:rgb(244,202,228)} -.Pastel2 .q0-5{fill:rgb(179,226,205)} -.Pastel2 .q1-5{fill:rgb(253,205,172)} -.Pastel2 .q2-5{fill:rgb(203,213,232)} -.Pastel2 .q3-5{fill:rgb(244,202,228)} -.Pastel2 .q4-5{fill:rgb(230,245,201)} -.Pastel2 .q0-6{fill:rgb(179,226,205)} -.Pastel2 .q1-6{fill:rgb(253,205,172)} -.Pastel2 .q2-6{fill:rgb(203,213,232)} -.Pastel2 .q3-6{fill:rgb(244,202,228)} -.Pastel2 .q4-6{fill:rgb(230,245,201)} -.Pastel2 .q5-6{fill:rgb(255,242,174)} -.Pastel2 .q0-7{fill:rgb(179,226,205)} -.Pastel2 .q1-7{fill:rgb(253,205,172)} -.Pastel2 .q2-7{fill:rgb(203,213,232)} -.Pastel2 .q3-7{fill:rgb(244,202,228)} -.Pastel2 .q4-7{fill:rgb(230,245,201)} -.Pastel2 .q5-7{fill:rgb(255,242,174)} -.Pastel2 .q6-7{fill:rgb(241,226,204)} -.Pastel2 .q0-8{fill:rgb(179,226,205)} -.Pastel2 .q1-8{fill:rgb(253,205,172)} -.Pastel2 .q2-8{fill:rgb(203,213,232)} -.Pastel2 .q3-8{fill:rgb(244,202,228)} -.Pastel2 .q4-8{fill:rgb(230,245,201)} -.Pastel2 .q5-8{fill:rgb(255,242,174)} -.Pastel2 .q6-8{fill:rgb(241,226,204)} -.Pastel2 .q7-8{fill:rgb(204,204,204)} -.Set1 .q0-3{fill:rgb(228,26,28)} -.Set1 .q1-3{fill:rgb(55,126,184)} -.Set1 .q2-3{fill:rgb(77,175,74)} -.Set1 .q0-4{fill:rgb(228,26,28)} -.Set1 .q1-4{fill:rgb(55,126,184)} -.Set1 .q2-4{fill:rgb(77,175,74)} -.Set1 .q3-4{fill:rgb(152,78,163)} -.Set1 .q0-5{fill:rgb(228,26,28)} -.Set1 .q1-5{fill:rgb(55,126,184)} -.Set1 .q2-5{fill:rgb(77,175,74)} -.Set1 .q3-5{fill:rgb(152,78,163)} -.Set1 .q4-5{fill:rgb(255,127,0)} -.Set1 .q0-6{fill:rgb(228,26,28)} -.Set1 .q1-6{fill:rgb(55,126,184)} -.Set1 .q2-6{fill:rgb(77,175,74)} -.Set1 .q3-6{fill:rgb(152,78,163)} -.Set1 .q4-6{fill:rgb(255,127,0)} -.Set1 .q5-6{fill:rgb(255,255,51)} -.Set1 .q0-7{fill:rgb(228,26,28)} -.Set1 .q1-7{fill:rgb(55,126,184)} -.Set1 .q2-7{fill:rgb(77,175,74)} -.Set1 .q3-7{fill:rgb(152,78,163)} -.Set1 .q4-7{fill:rgb(255,127,0)} -.Set1 .q5-7{fill:rgb(255,255,51)} -.Set1 .q6-7{fill:rgb(166,86,40)} -.Set1 .q0-8{fill:rgb(228,26,28)} -.Set1 .q1-8{fill:rgb(55,126,184)} -.Set1 .q2-8{fill:rgb(77,175,74)} -.Set1 .q3-8{fill:rgb(152,78,163)} -.Set1 .q4-8{fill:rgb(255,127,0)} -.Set1 .q5-8{fill:rgb(255,255,51)} -.Set1 .q6-8{fill:rgb(166,86,40)} -.Set1 .q7-8{fill:rgb(247,129,191)} -.Set1 .q0-9{fill:rgb(228,26,28)} -.Set1 .q1-9{fill:rgb(55,126,184)} -.Set1 .q2-9{fill:rgb(77,175,74)} -.Set1 .q3-9{fill:rgb(152,78,163)} -.Set1 .q4-9{fill:rgb(255,127,0)} -.Set1 .q5-9{fill:rgb(255,255,51)} -.Set1 .q6-9{fill:rgb(166,86,40)} -.Set1 .q7-9{fill:rgb(247,129,191)} -.Set1 .q8-9{fill:rgb(153,153,153)} -.Set2 .q0-3{fill:rgb(102,194,165)} -.Set2 .q1-3{fill:rgb(252,141,98)} -.Set2 .q2-3{fill:rgb(141,160,203)} -.Set2 .q0-4{fill:rgb(102,194,165)} -.Set2 .q1-4{fill:rgb(252,141,98)} -.Set2 .q2-4{fill:rgb(141,160,203)} -.Set2 .q3-4{fill:rgb(231,138,195)} -.Set2 .q0-5{fill:rgb(102,194,165)} -.Set2 .q1-5{fill:rgb(252,141,98)} -.Set2 .q2-5{fill:rgb(141,160,203)} -.Set2 .q3-5{fill:rgb(231,138,195)} -.Set2 .q4-5{fill:rgb(166,216,84)} -.Set2 .q0-6{fill:rgb(102,194,165)} -.Set2 .q1-6{fill:rgb(252,141,98)} -.Set2 .q2-6{fill:rgb(141,160,203)} -.Set2 .q3-6{fill:rgb(231,138,195)} -.Set2 .q4-6{fill:rgb(166,216,84)} -.Set2 .q5-6{fill:rgb(255,217,47)} -.Set2 .q0-7{fill:rgb(102,194,165)} -.Set2 .q1-7{fill:rgb(252,141,98)} -.Set2 .q2-7{fill:rgb(141,160,203)} -.Set2 .q3-7{fill:rgb(231,138,195)} -.Set2 .q4-7{fill:rgb(166,216,84)} -.Set2 .q5-7{fill:rgb(255,217,47)} -.Set2 .q6-7{fill:rgb(229,196,148)} -.Set2 .q0-8{fill:rgb(102,194,165)} -.Set2 .q1-8{fill:rgb(252,141,98)} -.Set2 .q2-8{fill:rgb(141,160,203)} -.Set2 .q3-8{fill:rgb(231,138,195)} -.Set2 .q4-8{fill:rgb(166,216,84)} -.Set2 .q5-8{fill:rgb(255,217,47)} -.Set2 .q6-8{fill:rgb(229,196,148)} -.Set2 .q7-8{fill:rgb(179,179,179)} -.Set3 .q0-3{fill:rgb(141,211,199)} -.Set3 .q1-3{fill:rgb(255,255,179)} -.Set3 .q2-3{fill:rgb(190,186,218)} -.Set3 .q0-4{fill:rgb(141,211,199)} -.Set3 .q1-4{fill:rgb(255,255,179)} -.Set3 .q2-4{fill:rgb(190,186,218)} -.Set3 .q3-4{fill:rgb(251,128,114)} -.Set3 .q0-5{fill:rgb(141,211,199)} -.Set3 .q1-5{fill:rgb(255,255,179)} -.Set3 .q2-5{fill:rgb(190,186,218)} -.Set3 .q3-5{fill:rgb(251,128,114)} -.Set3 .q4-5{fill:rgb(128,177,211)} -.Set3 .q0-6{fill:rgb(141,211,199)} -.Set3 .q1-6{fill:rgb(255,255,179)} -.Set3 .q2-6{fill:rgb(190,186,218)} -.Set3 .q3-6{fill:rgb(251,128,114)} -.Set3 .q4-6{fill:rgb(128,177,211)} -.Set3 .q5-6{fill:rgb(253,180,98)} -.Set3 .q0-7{fill:rgb(141,211,199)} -.Set3 .q1-7{fill:rgb(255,255,179)} -.Set3 .q2-7{fill:rgb(190,186,218)} -.Set3 .q3-7{fill:rgb(251,128,114)} -.Set3 .q4-7{fill:rgb(128,177,211)} -.Set3 .q5-7{fill:rgb(253,180,98)} -.Set3 .q6-7{fill:rgb(179,222,105)} -.Set3 .q0-8{fill:rgb(141,211,199)} -.Set3 .q1-8{fill:rgb(255,255,179)} -.Set3 .q2-8{fill:rgb(190,186,218)} -.Set3 .q3-8{fill:rgb(251,128,114)} -.Set3 .q4-8{fill:rgb(128,177,211)} -.Set3 .q5-8{fill:rgb(253,180,98)} -.Set3 .q6-8{fill:rgb(179,222,105)} -.Set3 .q7-8{fill:rgb(252,205,229)} -.Set3 .q0-9{fill:rgb(141,211,199)} -.Set3 .q1-9{fill:rgb(255,255,179)} -.Set3 .q2-9{fill:rgb(190,186,218)} -.Set3 .q3-9{fill:rgb(251,128,114)} -.Set3 .q4-9{fill:rgb(128,177,211)} -.Set3 .q5-9{fill:rgb(253,180,98)} -.Set3 .q6-9{fill:rgb(179,222,105)} -.Set3 .q7-9{fill:rgb(252,205,229)} -.Set3 .q8-9{fill:rgb(217,217,217)} -.Set3 .q0-10{fill:rgb(141,211,199)} -.Set3 .q1-10{fill:rgb(255,255,179)} -.Set3 .q2-10{fill:rgb(190,186,218)} -.Set3 .q3-10{fill:rgb(251,128,114)} -.Set3 .q4-10{fill:rgb(128,177,211)} -.Set3 .q5-10{fill:rgb(253,180,98)} -.Set3 .q6-10{fill:rgb(179,222,105)} -.Set3 .q7-10{fill:rgb(252,205,229)} -.Set3 .q8-10{fill:rgb(217,217,217)} -.Set3 .q9-10{fill:rgb(188,128,189)} -.Set3 .q0-11{fill:rgb(141,211,199)} -.Set3 .q1-11{fill:rgb(255,255,179)} -.Set3 .q2-11{fill:rgb(190,186,218)} -.Set3 .q3-11{fill:rgb(251,128,114)} -.Set3 .q4-11{fill:rgb(128,177,211)} -.Set3 .q5-11{fill:rgb(253,180,98)} -.Set3 .q6-11{fill:rgb(179,222,105)} -.Set3 .q7-11{fill:rgb(252,205,229)} -.Set3 .q8-11{fill:rgb(217,217,217)} -.Set3 .q9-11{fill:rgb(188,128,189)} -.Set3 .q10-11{fill:rgb(204,235,197)} -.Set3 .q0-12{fill:rgb(141,211,199)} -.Set3 .q1-12{fill:rgb(255,255,179)} -.Set3 .q2-12{fill:rgb(190,186,218)} -.Set3 .q3-12{fill:rgb(251,128,114)} -.Set3 .q4-12{fill:rgb(128,177,211)} -.Set3 .q5-12{fill:rgb(253,180,98)} -.Set3 .q6-12{fill:rgb(179,222,105)} -.Set3 .q7-12{fill:rgb(252,205,229)} -.Set3 .q8-12{fill:rgb(217,217,217)} -.Set3 .q9-12{fill:rgb(188,128,189)} -.Set3 .q10-12{fill:rgb(204,235,197)} -.Set3 .q11-12{fill:rgb(255,237,111)} -#classic_controls { - font-size: 0.72em; } - #classic_controls #demand, #classic_controls #supply, #classic_controls #other { - padding: 0; - border: 0; - margin: 0; - margin-left: 2.5%; - width: 30%; - float: left; } - #classic_controls table { - width: 100%; } - #classic_controls table tr:hover td.name { - font-weight: bold; - background-image: url("/assets/images/oneblackpixel.png"); } - #classic_controls table td.choice { - width: 20px; } - #classic_controls table td.choice a { - display: block; - width: 100%; - text-align: center; - color: #888; - text-decoration: none; - border: solid #ccc 1px; } - #classic_controls table td.choice a:hover { - border: solid #000 1px; } - #classic_controls table td.choice a.selected { - color: #000; } - #classic_controls table td.name { - background-image: url("/assets/images/onegreypixel.png"); - background-position: left center; - background-repeat: repeat-x; } - #classic_controls table td.name a { - background-color: #fff; - text-decoration: none; - color: #000; - cursor: help; } - #classic_controls table td.name a:hover { - text-decoration: underline; } - #classic_controls table td.help { - width: 14px; } - #classic_controls table td.help a { - text-align: center; - display: block; - background-color: #7c88fa; - border: solid #7c88fa 1px; - color: white; - width: 100%; - text-decoration: none; - font-weight: bold; - font-style: italic; } - #classic_controls table tr.incremental a.level1_1 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level1_1.png"); } - #classic_controls table tr.incremental a.level1_2 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level1_2.png"); } - #classic_controls table tr.incremental a.level1_3 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level1_3.png"); } - #classic_controls table tr.incremental a.level1_4 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level1_4.png"); } - #classic_controls table tr.incremental a.level1_5 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level1_5.png"); } - #classic_controls table tr.incremental a.level1_6 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level1_6.png"); } - #classic_controls table tr.incremental a.level1_7 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level1_7.png"); } - #classic_controls table tr.incremental a.level1_8 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level1_8.png"); } - #classic_controls table tr.incremental a.level1_9 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level1_9.png"); } - #classic_controls table tr.incremental a.level2_1 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level2_1.png"); } - #classic_controls table tr.incremental a.level2_2 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level2_2.png"); } - #classic_controls table tr.incremental a.level2_3 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level2_3.png"); } - #classic_controls table tr.incremental a.level2_4 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level2_4.png"); } - #classic_controls table tr.incremental a.level2_5 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level2_5.png"); } - #classic_controls table tr.incremental a.level2_6 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level2_6.png"); } - #classic_controls table tr.incremental a.level2_7 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level2_7.png"); } - #classic_controls table tr.incremental a.level2_8 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level2_8.png"); } - #classic_controls table tr.incremental a.level2_9 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level2_9.png"); } - #classic_controls table tr.incremental a.level3_1 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level3_1.png"); } - #classic_controls table tr.incremental a.level3_2 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level3_2.png"); } - #classic_controls table tr.incremental a.level3_3 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level3_3.png"); } - #classic_controls table tr.incremental a.level3_4 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level3_4.png"); } - #classic_controls table tr.incremental a.level3_5 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level3_5.png"); } - #classic_controls table tr.incremental a.level3_6 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level3_6.png"); } - #classic_controls table tr.incremental a.level3_7 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level3_7.png"); } - #classic_controls table tr.incremental a.level3_8 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level3_8.png"); } - #classic_controls table tr.incremental a.level3_9 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level3_9.png"); } - #classic_controls table tr.incremental a.level4_1 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level4_1.png"); } - #classic_controls table tr.incremental a.level4_2 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level4_2.png"); } - #classic_controls table tr.incremental a.level4_3 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level4_3.png"); } - #classic_controls table tr.incremental a.level4_4 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level4_4.png"); } - #classic_controls table tr.incremental a.level4_5 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level4_5.png"); } - #classic_controls table tr.incremental a.level4_6 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level4_6.png"); } - #classic_controls table tr.incremental a.level4_7 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level4_7.png"); } - #classic_controls table tr.incremental a.level4_8 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level4_8.png"); } - #classic_controls table tr.incremental a.level4_9 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level4_9.png"); } - #classic_controls table tr.incremental a.level1 { - background-color: #92C979; } - #classic_controls table tr.incremental a.level2 { - background-color: #EFDD60; } - #classic_controls table tr.incremental a.level3 { - background-color: #FFAE55; } - #classic_controls table tr.incremental a.level4 { - background-color: #F44545; } - #classic_controls table tr.alternative a.selected { - background-color: #aaa; } -#costscomparedoverview { - margin-left: 0%; - margin-right: 0%; - width: 100%; - margin: 0 0 0 0; - padding: 0; - height: 600px; } - -.costscomparedoverview h1 { - font-size: 16px; - margin-left: 250px; } -#costscomparedwithinsector { - margin-left: 0%; - margin-right: 0%; - width: 100%; - margin: 0 0 0 0; - padding: 0; - height: 600px; } - -.costscomparedwithinsector h1 { - font-size: 16px; - margin-left: 250px; } - -#sectorchoice { - z-index: 5; - position: absolute; - top: 45px; - left: 25px; } -#costsincontext { - margin-left: 0%; - margin-right: 0%; - width: 100%; - margin: 0 0 0 0; - padding: 0; - height: 600px; } - -.costsincontext h1 { - font-size: 16px; - margin-left: 250px; } - -#cost_override_warning { - position: absolute; - top: 55px; - left: 25px; - width: 200px; - display: none; - border: solid 1px #000; - background-color: yellow; - font-size: smaller; - padding: 5px; } - -#cost_caveats { - position: absolute; - left: 5%; - top: 75px; - z-index: 1000; - width: 85%; - padding: 2.5%; - background-color: #FF0; - border: solid 1px #000; - box-shadow: 0px 0px 25px rgba(0, 0, 0, 0.8); - -moz-box-shadow: 0px 0px 25px rgba(0, 0, 0, 0.8); - -webkit-box-shadow: 0px 0px 25px rgba(0, 0, 0, 0.8); - display: none; } - #cost_caveats #understand { - margin-top: 20px; - width: 100%; - text-align: center; } - -#essentialnotes { - font-size: 10px; - margin-top: 5px; - margin-left: 250px; - margin-right: 100px; - margin-bottom: 30px; } -#costssensitivity { - margin-left: 0%; - margin-right: 0%; - width: 100%; - margin: 0 0 0 0; - padding: 0; - height: 1400px; } - -.costssensitivity h1 { - font-size: 16px; - margin-left: 250px; } - -#comparatorchoice { - z-index: 5; - position: absolute; - top: 45px; - left: 25px; } -#energysecurity .column { - text-align: left; - padding: 0; - border: 0; - margin: 0; - margin-left: 2.5%; - font-size: 12px; - width: 30%; - margin-bottom: 30px; - float: left; } - -.energysecurity td.value { - width: 17%; } -.energysecurity td.value, .energysecurity th.value { - text-align: right; } -.energysecurity th.year { - text-align: center; - border-bottom: solid 1px #000; } - -#energysecurity .clear { - clear: both; } -#footer { - clear: both; - padding-top: 20px; - text-align: center; - font-size: 0.72em; } -#map { - text-align: left; - margin-left: 0; - margin-right: 0; - width: 100%; - margin: 0 0 30px 0; - padding: 0; - height: 800px; } -body { - font-family: Times; - margin: 0; - padding: 0; } - -.chart { - padding: 0; - border: 0; - margin: 0; - margin-left: 2.4%; - width: 30%; - margin-bottom: 0px; - float: left; } - -.charttitle { - text-anchor: middle; - font-family: Times; - font-size: 1em; } - -text.target { - text-anchor: middle; - font-family: Times; - font-size: 0.72em; } - -.axis path, .axis line { - fill: none; - stroke: #000; - stroke-width: 1px; } - -.axis text { - font-family: Times; - font-size: 0.72em; - fill: #000; } - -.axislabel { - text-anchor: end; - font-family: Times; - font-size: 0.72em; } - -.line { - fill: none; - stroke: black; - stroke-width: 3px; } - -.linelabel { - font-family: Times; - font-size: 0.72em; } - -.area { - fill-opacity: 1; } - -path.total { - stroke: black; - stroke-width: 2px; - fill: none; } - -text.seriesValue { - font-size: 0.72em; - font-family: Ties; - text-anchor: middle; } - -path.total.hover { - stroke-width: 3px; } - -path.hover { - stroke: black; - stroke-width: 2px; } - -.linelabel.hover { - fill: black !important; - font-weight: bold; } - -.labelbackground { - fill: white; } - -g.context path { - fill: grey; - fill-opacity: 0.02; } - -.environmentalheat { - fill: #c7c728; } -#sankey { - width: 100%; - margin: 0 0 30px 0; - padding: 0; - height: 580px; } -#share div { - margin: 0 10% 0 10%; - width: 80%; } -#share #excel { - margin-top: 50px; } - #share #excel textarea { - text-align: right; - margin-left: 10%; - width: 32px; - height: 700px; } -#simplesankey { - margin-left: 2.5%; - margin-right: 2.5%; - width: 100%; - margin: 0 0 30px 0; - padding: 0; - height: 320px; } -.story { - text-align: left; - padding: 0; - border: 0; - margin: 0; - margin-left: 2.5%; - font-size: 12px; - width: 30%; - margin-bottom: 30px; - float: left; } - .story h4 { - margin-top: 1em; - margin-bottom: 0em; } - .story h4 + p { - margin-top: 0em; } - .story th { - text-align: left; } - .story td.target, .story th.target { - text-align: right; } - -#stories .clear { - clear: both; } -#tooltip { - display: none; - background-color: #FFFF00; - color: #000; - border: 2px solid #000; - border-radius: 15px 15px 0px 15px; - -box-shadow: 0 0 5px #888; - font-size: 12px; - width: 14em; - padding: 10px; - z-index: 10000; } -#topbar { - width: 100%; - height: 30px; - margin: 0 0 15px 0; - padding: 0; } - #topbar #help, #topbar #share { - position: absolute; - top: 5px; - width: 50px; - height: 22px; - padding-top: 3px; - border: solid #ccc 1px; - text-align: center; } - #topbar #help a, #topbar #share a { - color: #000; - display: block; - width: 100%; - text-decoration: none; } - #topbar #help a:hover, #topbar #share a:hover { - text-decoration: underline; } - #topbar #help { - left: 5px; } - #topbar #share { - right: 5px; } - #topbar #viewdropdown { - position: absolute; - z-index: 10; - top: 5px; - left: 58px; } - #topbar #savedpathwaydropdown { - position: absolute; - z-index: 10; - top: 5px; - right: 58px; } - #topbar #messages { - margin: 5px 213px 0 211px; - width: auto; } - #topbar #message.warning { - background-image: url("../assets/images/hatches/hatch-fff928.png"); - text-align: center; } - #topbar #message.warning a { - display: inline; - background: white; } - #topbar #calculating, #topbar #message { - width: 100%; - height: 22px; - padding-top: 3px; - border: solid #ccc 1px; - text-align: center; } - #topbar #calculating a, #topbar #message a { - color: #000; - display: block; - width: 100%; - text-decoration: none; } - #topbar #calculating a:hover, #topbar #message a:hover { - text-decoration: underline; } - #topbar #calculating { - position: relative; - top: 0; - z-index: 1; - display: none; - background-color: yellow; } - -.dropdown { - width: 150px; - list-style: none; - margin: 0; - padding: 0; - border: 1px solid #ccc; - background: #fff; - height: 25px; } - .dropdown .dropdown > li { - margin: 0; - padding: 0; - height: 20px; } - .dropdown li img { - border: none; - position: absolute; - top: 7px; - right: 8px; } - .dropdown .divider { - padding-left: 5px; - padding-top: 10px; - border-top: solid 1px #ccc; } - .dropdown a.development { - padding-left: 10px; - color: #999; } - .dropdown a { - display: block; - color: #000; - padding: 3px; - padding-left: 5px; - background: #fff; - text-decoration: none; } - .dropdown a:hover { - text-decoration: underline; } - .dropdown ul.choices { - -moz-box-shadow: 0 0 5px #888; - -webkit-box-shadow: 0 0 5px #888888; - box-shadow: 0 0 5px #888; - display: none; - list-style: none; - margin: 0; - padding: 0; } diff --git a/public/assets/application-7110c1f3a1a442edea86d619fcf8bf64.css.gz b/public/assets/application-7110c1f3a1a442edea86d619fcf8bf64.css.gz deleted file mode 100644 index ffdf9e490be64e149055ada355d72a6ddfb6d145..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10965 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 diff --git a/public/assets/application-7326d7e2abd376baa3b4ed2fca25d596.js b/public/assets/application-7326d7e2abd376baa3b4ed2fca25d596.js deleted file mode 100644 index 9c5bb540..00000000 --- a/public/assets/application-7326d7e2abd376baa3b4ed2fca25d596.js +++ /dev/null @@ -1,5746 +0,0 @@ -/*! jQuery v1.8.3 jquery.com | jquery.org/license */ - -(function(e,t){function _(e){var t=M[e]={};return v.each(e.split(y),function(e,n){t[n]=!0}),t}function H(e,n,r){if(r===t&&e.nodeType===1){var i="data-"+n.replace(P,"-$1").toLowerCase();r=e.getAttribute(i);if(typeof r=="string"){try{r=r==="true"?!0:r==="false"?!1:r==="null"?null:+r+""===r?+r:D.test(r)?v.parseJSON(r):r}catch(s){}v.data(e,n,r)}else r=t}return r}function B(e){var t;for(t in e){if(t==="data"&&v.isEmptyObject(e[t]))continue;if(t!=="toJSON")return!1}return!0}function et(){return!1}function tt(){return!0}function ut(e){return!e||!e.parentNode||e.parentNode.nodeType===11}function at(e,t){do e=e[t];while(e&&e.nodeType!==1);return e}function ft(e,t,n){t=t||0;if(v.isFunction(t))return v.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return v.grep(e,function(e,r){return e===t===n});if(typeof t=="string"){var r=v.grep(e,function(e){return e.nodeType===1});if(it.test(t))return v.filter(t,r,!n);t=v.filter(t,r)}return v.grep(e,function(e,r){return v.inArray(e,t)>=0===n})}function lt(e){var t=ct.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function At(e,t){if(t.nodeType!==1||!v.hasData(e))return;var n,r,i,s=v._data(e),o=v._data(t,s),u=s.events;if(u){delete o.handle,o.events={};for(n in u)for(r=0,i=u[n].length;r").appendTo(i.body),n=t.css("display");t.remove();if(n==="none"||n===""){Pt=i.body.appendChild(Pt||v.extend(i.createElement("iframe"),{frameBorder:0,width:0,height:0}));if(!Ht||!Pt.createElement)Ht=(Pt.contentWindow||Pt.contentDocument).document,Ht.write(""),Ht.close();t=Ht.body.appendChild(Ht.createElement(e)),n=Dt(t,"display"),i.body.removeChild(Pt)}return Wt[e]=n,n}function fn(e,t,n,r){var i;if(v.isArray(t))v.each(t,function(t,i){n||sn.test(e)?r(e,i):fn(e+"["+(typeof i=="object"?t:"")+"]",i,n,r)});else if(!n&&v.type(t)==="object")for(i in t)fn(e+"["+i+"]",t[i],n,r);else r(e,t)}function Cn(e){return function(t,n){typeof t!="string"&&(n=t,t="*");var r,i,s,o=t.toLowerCase().split(y),u=0,a=o.length;if(v.isFunction(n))for(;u)[^>]*$|#([\w\-]*)$)/,E=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,S=/^[\],:{}\s]*$/,x=/(?:^|:|,)(?:\s*\[)+/g,T=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,N=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,C=/^-ms-/,k=/-([\da-z])/gi,L=function(e,t){return(t+"").toUpperCase()},A=function(){i.addEventListener?(i.removeEventListener("DOMContentLoaded",A,!1),v.ready()):i.readyState==="complete"&&(i.detachEvent("onreadystatechange",A),v.ready())},O={};v.fn=v.prototype={constructor:v,init:function(e,n,r){var s,o,u,a;if(!e)return this;if(e.nodeType)return this.context=this[0]=e,this.length=1,this;if(typeof e=="string"){e.charAt(0)==="<"&&e.charAt(e.length-1)===">"&&e.length>=3?s=[null,e,null]:s=w.exec(e);if(s&&(s[1]||!n)){if(s[1])return n=n instanceof v?n[0]:n,a=n&&n.nodeType?n.ownerDocument||n:i,e=v.parseHTML(s[1],a,!0),E.test(s[1])&&v.isPlainObject(n)&&this.attr.call(e,n,!0),v.merge(this,e);o=i.getElementById(s[2]);if(o&&o.parentNode){if(o.id!==s[2])return r.find(e);this.length=1,this[0]=o}return this.context=i,this.selector=e,this}return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e)}return v.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),v.makeArray(e,this))},selector:"",jquery:"1.8.3",length:0,size:function(){return this.length},toArray:function(){return l.call(this)},get:function(e){return e==null?this.toArray():e<0?this[this.length+e]:this[e]},pushStack:function(e,t,n){var r=v.merge(this.constructor(),e);return r.prevObject=this,r.context=this.context,t==="find"?r.selector=this.selector+(this.selector?" ":"")+n:t&&(r.selector=this.selector+"."+t+"("+n+")"),r},each:function(e,t){return v.each(this,e,t)},ready:function(e){return v.ready.promise().done(e),this},eq:function(e){return e=+e,e===-1?this.slice(e):this.slice(e,e+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(l.apply(this,arguments),"slice",l.call(arguments).join(","))},map:function(e){return this.pushStack(v.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:[].sort,splice:[].splice},v.fn.init.prototype=v.fn,v.extend=v.fn.extend=function(){var e,n,r,i,s,o,u=arguments[0]||{},a=1,f=arguments.length,l=!1;typeof u=="boolean"&&(l=u,u=arguments[1]||{},a=2),typeof u!="object"&&!v.isFunction(u)&&(u={}),f===a&&(u=this,--a);for(;a0)return;r.resolveWith(i,[v]),v.fn.trigger&&v(i).trigger("ready").off("ready")},isFunction:function(e){return v.type(e)==="function"},isArray:Array.isArray||function(e){return v.type(e)==="array"},isWindow:function(e){return e!=null&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return e==null?String(e):O[h.call(e)]||"object"},isPlainObject:function(e){if(!e||v.type(e)!=="object"||e.nodeType||v.isWindow(e))return!1;try{if(e.constructor&&!p.call(e,"constructor")&&!p.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||p.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw new Error(e)},parseHTML:function(e,t,n){var r;return!e||typeof e!="string"?null:(typeof t=="boolean"&&(n=t,t=0),t=t||i,(r=E.exec(e))?[t.createElement(r[1])]:(r=v.buildFragment([e],t,n?null:[]),v.merge([],(r.cacheable?v.clone(r.fragment):r.fragment).childNodes)))},parseJSON:function(t){if(!t||typeof t!="string")return null;t=v.trim(t);if(e.JSON&&e.JSON.parse)return e.JSON.parse(t);if(S.test(t.replace(T,"@").replace(N,"]").replace(x,"")))return(new Function("return "+t))();v.error("Invalid JSON: "+t)},parseXML:function(n){var r,i;if(!n||typeof n!="string")return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(s){r=t}return(!r||!r.documentElement||r.getElementsByTagName("parsererror").length)&&v.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&g.test(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(C,"ms-").replace(k,L)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,n,r){var i,s=0,o=e.length,u=o===t||v.isFunction(e);if(r){if(u){for(i in e)if(n.apply(e[i],r)===!1)break}else for(;s0&&e[0]&&e[a-1]||a===0||v.isArray(e));if(f)for(;u-1)a.splice(n,1),i&&(n<=o&&o--,n<=u&&u--)}),this},has:function(e){return v.inArray(e,a)>-1},empty:function(){return a=[],this},disable:function(){return a=f=n=t,this},disabled:function(){return!a},lock:function(){return f=t,n||c.disable(),this},locked:function(){return!f},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],a&&(!r||f)&&(i?f.push(t):l(t)),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},v.extend({Deferred:function(e){var t=[["resolve","done",v.Callbacks("once memory"),"resolved"],["reject","fail",v.Callbacks("once memory"),"rejected"],["notify","progress",v.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return v.Deferred(function(n){v.each(t,function(t,r){var s=r[0],o=e[t];i[r[1]](v.isFunction(o)?function(){var e=o.apply(this,arguments);e&&v.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[s+"With"](this===i?n:this,[e])}:n[s])}),e=null}).promise()},promise:function(e){return e!=null?v.extend(e,r):r}},i={};return r.pipe=r.then,v.each(t,function(e,s){var o=s[2],u=s[3];r[s[1]]=o.add,u&&o.add(function(){n=u},t[e^1][2].disable,t[2][2].lock),i[s[0]]=o.fire,i[s[0]+"With"]=o.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=l.call(arguments),r=n.length,i=r!==1||e&&v.isFunction(e.promise)?r:0,s=i===1?e:v.Deferred(),o=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?l.call(arguments):r,n===u?s.notifyWith(t,n):--i||s.resolveWith(t,n)}},u,a,f;if(r>1){u=new Array(r),a=new Array(r),f=new Array(r);for(;t
a",n=p.getElementsByTagName("*"),r=p.getElementsByTagName("a")[0];if(!n||!r||!n.length)return{};s=i.createElement("select"),o=s.appendChild(i.createElement("option")),u=p.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={leadingWhitespace:p.firstChild.nodeType===3,tbody:!p.getElementsByTagName("tbody").length,htmlSerialize:!!p.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:r.getAttribute("href")==="/a",opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:u.value==="on",optSelected:o.selected,getSetAttribute:p.className!=="t",enctype:!!i.createElement("form").enctype,html5Clone:i.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",boxModel:i.compatMode==="CSS1Compat",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},u.checked=!0,t.noCloneChecked=u.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!o.disabled;try{delete p.test}catch(d){t.deleteExpando=!1}!p.addEventListener&&p.attachEvent&&p.fireEvent&&(p.attachEvent("onclick",h=function(){t.noCloneEvent=!1}),p.cloneNode(!0).fireEvent("onclick"),p.detachEvent("onclick",h)),u=i.createElement("input"),u.value="t",u.setAttribute("type","radio"),t.radioValue=u.value==="t",u.setAttribute("checked","checked"),u.setAttribute("name","t"),p.appendChild(u),a=i.createDocumentFragment(),a.appendChild(p.lastChild),t.checkClone=a.cloneNode(!0).cloneNode(!0).lastChild.checked,t.appendChecked=u.checked,a.removeChild(u),a.appendChild(p);if(p.attachEvent)for(l in{submit:!0,change:!0,focusin:!0})f="on"+l,c=f in p,c||(p.setAttribute(f,"return;"),c=typeof p[f]=="function"),t[l+"Bubbles"]=c;return v(function(){var n,r,s,o,u="padding:0;margin:0;border:0;display:block;overflow:hidden;",a=i.getElementsByTagName("body")[0];if(!a)return;n=i.createElement("div"),n.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",a.insertBefore(n,a.firstChild),r=i.createElement("div"),n.appendChild(r),r.innerHTML="
t
",s=r.getElementsByTagName("td"),s[0].style.cssText="padding:0;margin:0;border:0;display:none",c=s[0].offsetHeight===0,s[0].style.display="",s[1].style.display="none",t.reliableHiddenOffsets=c&&s[0].offsetHeight===0,r.innerHTML="",r.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=r.offsetWidth===4,t.doesNotIncludeMarginInBodyOffset=a.offsetTop!==1,e.getComputedStyle&&(t.pixelPosition=(e.getComputedStyle(r,null)||{}).top!=="1%",t.boxSizingReliable=(e.getComputedStyle(r,null)||{width:"4px"}).width==="4px",o=i.createElement("div"),o.style.cssText=r.style.cssText=u,o.style.marginRight=o.style.width="0",r.style.width="1px",r.appendChild(o),t.reliableMarginRight=!parseFloat((e.getComputedStyle(o,null)||{}).marginRight)),typeof r.style.zoom!="undefined"&&(r.innerHTML="",r.style.cssText=u+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=r.offsetWidth===3,r.style.display="block",r.style.overflow="visible",r.innerHTML="

",r.firstChild.style.width="5px",t.shrinkWrapBlocks=r.offsetWidth!==3,n.style.zoom=1),a.removeChild(n),n=r=s=o=null}),a.removeChild(p),n=r=s=o=u=a=p=null,t}();var D=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,P=/([A-Z])/g;v.extend({cache:{},deletedIds:[],uuid:0,expando:"jQuery"+(v.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?v.cache[e[v.expando]]:e[v.expando],!!e&&!B(e)},data:function(e,n,r,i){if(!v.acceptData(e))return;var s,o,u=v.expando,a=typeof n=="string",f=e.nodeType,l=f?v.cache:e,c=f?e[u]:e[u]&&u;if((!c||!l[c]||!i&&!l[c].data)&&a&&r===t)return;c||(f?e[u]=c=v.deletedIds.pop()||v.guid++:c=u),l[c]||(l[c]={},f||(l[c].toJSON=v.noop));if(typeof n=="object"||typeof n=="function")i?l[c]=v.extend(l[c],n):l[c].data=v.extend(l[c].data,n);return s=l[c],i||(s.data||(s.data={}),s=s.data),r!==t&&(s[v.camelCase(n)]=r),a?(o=s[n],o==null&&(o=s[v.camelCase(n)])):o=s,o},removeData:function(e,t,n){if(!v.acceptData(e))return;var r,i,s,o=e.nodeType,u=o?v.cache:e,a=o?e[v.expando]:v.expando;if(!u[a])return;if(t){r=n?u[a]:u[a].data;if(r){v.isArray(t)||(t in r?t=[t]:(t=v.camelCase(t),t in r?t=[t]:t=t.split(" ")));for(i=0,s=t.length;i1,null,!1))},removeData:function(e){return this.each(function(){v.removeData(this,e)})}}),v.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=v._data(e,t),n&&(!r||v.isArray(n)?r=v._data(e,t,v.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=v.queue(e,t),r=n.length,i=n.shift(),s=v._queueHooks(e,t),o=function(){v.dequeue(e,t)};i==="inprogress"&&(i=n.shift(),r--),i&&(t==="fx"&&n.unshift("inprogress"),delete s.stop,i.call(e,o,s)),!r&&s&&s.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return v._data(e,n)||v._data(e,n,{empty:v.Callbacks("once memory").add(function(){v.removeData(e,t+"queue",!0),v.removeData(e,n,!0)})})}}),v.fn.extend({queue:function(e,n){var r=2;return typeof e!="string"&&(n=e,e="fx",r--),arguments.length1)},removeAttr:function(e){return this.each(function(){v.removeAttr(this,e)})},prop:function(e,t){return v.access(this,v.prop,e,t,arguments.length>1)},removeProp:function(e){return e=v.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,s,o,u;if(v.isFunction(e))return this.each(function(t){v(this).addClass(e.call(this,t,this.className))});if(e&&typeof e=="string"){t=e.split(y);for(n=0,r=this.length;n=0)r=r.replace(" "+n[s]+" "," ");i.className=e?v.trim(r):""}}}return this},toggleClass:function(e,t){var n=typeof e,r=typeof t=="boolean";return v.isFunction(e)?this.each(function(n){v(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if(n==="string"){var i,s=0,o=v(this),u=t,a=e.split(y);while(i=a[s++])u=r?u:!o.hasClass(i),o[u?"addClass":"removeClass"](i)}else if(n==="undefined"||n==="boolean")this.className&&v._data(this,"__className__",this.className),this.className=this.className||e===!1?"":v._data(this,"__className__")||""})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;n=0)return!0;return!1},val:function(e){var n,r,i,s=this[0];if(!arguments.length){if(s)return n=v.valHooks[s.type]||v.valHooks[s.nodeName.toLowerCase()],n&&"get"in n&&(r=n.get(s,"value"))!==t?r:(r=s.value,typeof r=="string"?r.replace(R,""):r==null?"":r);return}return i=v.isFunction(e),this.each(function(r){var s,o=v(this);if(this.nodeType!==1)return;i?s=e.call(this,r,o.val()):s=e,s==null?s="":typeof s=="number"?s+="":v.isArray(s)&&(s=v.map(s,function(e){return e==null?"":e+""})),n=v.valHooks[this.type]||v.valHooks[this.nodeName.toLowerCase()];if(!n||!("set"in n)||n.set(this,s,"value")===t)this.value=s})}}),v.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,s=e.type==="select-one"||i<0,o=s?null:[],u=s?i+1:r.length,a=i<0?u:s?i:0;for(;a=0}),n.length||(e.selectedIndex=-1),n}}},attrFn:{},attr:function(e,n,r,i){var s,o,u,a=e.nodeType;if(!e||a===3||a===8||a===2)return;if(i&&v.isFunction(v.fn[n]))return v(e)[n](r);if(typeof e.getAttribute=="undefined")return v.prop(e,n,r);u=a!==1||!v.isXMLDoc(e),u&&(n=n.toLowerCase(),o=v.attrHooks[n]||(X.test(n)?F:j));if(r!==t){if(r===null){v.removeAttr(e,n);return}return o&&"set"in o&&u&&(s=o.set(e,r,n))!==t?s:(e.setAttribute(n,r+""),r)}return o&&"get"in o&&u&&(s=o.get(e,n))!==null?s:(s=e.getAttribute(n),s===null?t:s)},removeAttr:function(e,t){var n,r,i,s,o=0;if(t&&e.nodeType===1){r=t.split(y);for(;o=0}})});var $=/^(?:textarea|input|select)$/i,J=/^([^\.]*|)(?:\.(.+)|)$/,K=/(?:^|\s)hover(\.\S+|)\b/,Q=/^key/,G=/^(?:mouse|contextmenu)|click/,Y=/^(?:focusinfocus|focusoutblur)$/,Z=function(e){return v.event.special.hover?e:e.replace(K,"mouseenter$1 mouseleave$1")};v.event={add:function(e,n,r,i,s){var o,u,a,f,l,c,h,p,d,m,g;if(e.nodeType===3||e.nodeType===8||!n||!r||!(o=v._data(e)))return;r.handler&&(d=r,r=d.handler,s=d.selector),r.guid||(r.guid=v.guid++),a=o.events,a||(o.events=a={}),u=o.handle,u||(o.handle=u=function(e){return typeof v=="undefined"||!!e&&v.event.triggered===e.type?t:v.event.dispatch.apply(u.elem,arguments)},u.elem=e),n=v.trim(Z(n)).split(" ");for(f=0;f=0&&(y=y.slice(0,-1),a=!0),y.indexOf(".")>=0&&(b=y.split("."),y=b.shift(),b.sort());if((!s||v.event.customEvent[y])&&!v.event.global[y])return;n=typeof n=="object"?n[v.expando]?n:new v.Event(y,n):new v.Event(y),n.type=y,n.isTrigger=!0,n.exclusive=a,n.namespace=b.join("."),n.namespace_re=n.namespace?new RegExp("(^|\\.)"+b.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,h=y.indexOf(":")<0?"on"+y:"";if(!s){u=v.cache;for(f in u)u[f].events&&u[f].events[y]&&v.event.trigger(n,r,u[f].handle.elem,!0);return}n.result=t,n.target||(n.target=s),r=r!=null?v.makeArray(r):[],r.unshift(n),p=v.event.special[y]||{};if(p.trigger&&p.trigger.apply(s,r)===!1)return;m=[[s,p.bindType||y]];if(!o&&!p.noBubble&&!v.isWindow(s)){g=p.delegateType||y,l=Y.test(g+y)?s:s.parentNode;for(c=s;l;l=l.parentNode)m.push([l,g]),c=l;c===(s.ownerDocument||i)&&m.push([c.defaultView||c.parentWindow||e,g])}for(f=0;f=0:v.find(h,this,null,[s]).length),u[h]&&f.push(c);f.length&&w.push({elem:s,matches:f})}d.length>m&&w.push({elem:this,matches:d.slice(m)});for(r=0;r0?this.on(t,null,e,n):this.trigger(t)},Q.test(t)&&(v.event.fixHooks[t]=v.event.keyHooks),G.test(t)&&(v.event.fixHooks[t]=v.event.mouseHooks)}),function(e,t){function nt(e,t,n,r){n=n||[],t=t||g;var i,s,a,f,l=t.nodeType;if(!e||typeof e!="string")return n;if(l!==1&&l!==9)return[];a=o(t);if(!a&&!r)if(i=R.exec(e))if(f=i[1]){if(l===9){s=t.getElementById(f);if(!s||!s.parentNode)return n;if(s.id===f)return n.push(s),n}else if(t.ownerDocument&&(s=t.ownerDocument.getElementById(f))&&u(t,s)&&s.id===f)return n.push(s),n}else{if(i[2])return S.apply(n,x.call(t.getElementsByTagName(e),0)),n;if((f=i[3])&&Z&&t.getElementsByClassName)return S.apply(n,x.call(t.getElementsByClassName(f),0)),n}return vt(e.replace(j,"$1"),t,n,r,a)}function rt(e){return function(t){var n=t.nodeName.toLowerCase();return n==="input"&&t.type===e}}function it(e){return function(t){var n=t.nodeName.toLowerCase();return(n==="input"||n==="button")&&t.type===e}}function st(e){return N(function(t){return t=+t,N(function(n,r){var i,s=e([],n.length,t),o=s.length;while(o--)n[i=s[o]]&&(n[i]=!(r[i]=n[i]))})})}function ot(e,t,n){if(e===t)return n;var r=e.nextSibling;while(r){if(r===t)return-1;r=r.nextSibling}return 1}function ut(e,t){var n,r,s,o,u,a,f,l=L[d][e+" "];if(l)return t?0:l.slice(0);u=e,a=[],f=i.preFilter;while(u){if(!n||(r=F.exec(u)))r&&(u=u.slice(r[0].length)||u),a.push(s=[]);n=!1;if(r=I.exec(u))s.push(n=new m(r.shift())),u=u.slice(n.length),n.type=r[0].replace(j," ");for(o in i.filter)(r=J[o].exec(u))&&(!f[o]||(r=f[o](r)))&&(s.push(n=new m(r.shift())),u=u.slice(n.length),n.type=o,n.matches=r);if(!n)break}return t?u.length:u?nt.error(e):L(e,a).slice(0)}function at(e,t,r){var i=t.dir,s=r&&t.dir==="parentNode",o=w++;return t.first?function(t,n,r){while(t=t[i])if(s||t.nodeType===1)return e(t,n,r)}:function(t,r,u){if(!u){var a,f=b+" "+o+" ",l=f+n;while(t=t[i])if(s||t.nodeType===1){if((a=t[d])===l)return t.sizset;if(typeof a=="string"&&a.indexOf(f)===0){if(t.sizset)return t}else{t[d]=l;if(e(t,r,u))return t.sizset=!0,t;t.sizset=!1}}}else while(t=t[i])if(s||t.nodeType===1)if(e(t,r,u))return t}}function ft(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function lt(e,t,n,r,i){var s,o=[],u=0,a=e.length,f=t!=null;for(;u-1&&(s[f]=!(o[f]=c))}}else g=lt(g===o?g.splice(d,g.length):g),i?i(null,o,g,a):S.apply(o,g)})}function ht(e){var t,n,r,s=e.length,o=i.relative[e[0].type],u=o||i.relative[" "],a=o?1:0,f=at(function(e){return e===t},u,!0),l=at(function(e){return T.call(t,e)>-1},u,!0),h=[function(e,n,r){return!o&&(r||n!==c)||((t=n).nodeType?f(e,n,r):l(e,n,r))}];for(;a1&&ft(h),a>1&&e.slice(0,a-1).join("").replace(j,"$1"),n,a0,s=e.length>0,o=function(u,a,f,l,h){var p,d,v,m=[],y=0,w="0",x=u&&[],T=h!=null,N=c,C=u||s&&i.find.TAG("*",h&&a.parentNode||a),k=b+=N==null?1:Math.E;T&&(c=a!==g&&a,n=o.el);for(;(p=C[w])!=null;w++){if(s&&p){for(d=0;v=e[d];d++)if(v(p,a,f)){l.push(p);break}T&&(b=k,n=++o.el)}r&&((p=!v&&p)&&y--,u&&x.push(p))}y+=w;if(r&&w!==y){for(d=0;v=t[d];d++)v(x,m,a,f);if(u){if(y>0)while(w--)!x[w]&&!m[w]&&(m[w]=E.call(l));m=lt(m)}S.apply(l,m),T&&!u&&m.length>0&&y+t.length>1&&nt.uniqueSort(l)}return T&&(b=k,c=N),x};return o.el=0,r?N(o):o}function dt(e,t,n){var r=0,i=t.length;for(;r2&&(f=u[0]).type==="ID"&&t.nodeType===9&&!s&&i.relative[u[1].type]){t=i.find.ID(f.matches[0].replace($,""),t,s)[0];if(!t)return n;e=e.slice(u.shift().length)}for(o=J.POS.test(e)?-1:u.length-1;o>=0;o--){f=u[o];if(i.relative[l=f.type])break;if(c=i.find[l])if(r=c(f.matches[0].replace($,""),z.test(u[0].type)&&t.parentNode||t,s)){u.splice(o,1),e=r.length&&u.join("");if(!e)return S.apply(n,x.call(r,0)),n;break}}}return a(e,h)(r,t,s,n,z.test(e)),n}function mt(){}var n,r,i,s,o,u,a,f,l,c,h=!0,p="undefined",d=("sizcache"+Math.random()).replace(".",""),m=String,g=e.document,y=g.documentElement,b=0,w=0,E=[].pop,S=[].push,x=[].slice,T=[].indexOf||function(e){var t=0,n=this.length;for(;ti.cacheLength&&delete e[t.shift()],e[n+" "]=r},e)},k=C(),L=C(),A=C(),O="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",_=M.replace("w","w#"),D="([*^$|!~]?=)",P="\\["+O+"*("+M+")"+O+"*(?:"+D+O+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+_+")|)|)"+O+"*\\]",H=":("+M+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:"+P+")|[^:]|\\\\.)*|.*))\\)|)",B=":(even|odd|eq|gt|lt|nth|first|last)(?:\\("+O+"*((?:-\\d)?\\d*)"+O+"*\\)|)(?=[^-]|$)",j=new RegExp("^"+O+"+|((?:^|[^\\\\])(?:\\\\.)*)"+O+"+$","g"),F=new RegExp("^"+O+"*,"+O+"*"),I=new RegExp("^"+O+"*([\\x20\\t\\r\\n\\f>+~])"+O+"*"),q=new RegExp(H),R=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,U=/^:not/,z=/[\x20\t\r\n\f]*[+~]/,W=/:not\($/,X=/h\d/i,V=/input|select|textarea|button/i,$=/\\(?!\\)/g,J={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),NAME:new RegExp("^\\[name=['\"]?("+M+")['\"]?\\]"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+H),POS:new RegExp(B,"i"),CHILD:new RegExp("^:(only|nth|first|last)-child(?:\\("+O+"*(even|odd|(([+-]|)(\\d*)n|)"+O+"*(?:([+-]|)"+O+"*(\\d+)|))"+O+"*\\)|)","i"),needsContext:new RegExp("^"+O+"*[>+~]|"+B,"i")},K=function(e){var t=g.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}},Q=K(function(e){return e.appendChild(g.createComment("")),!e.getElementsByTagName("*").length}),G=K(function(e){return e.innerHTML="",e.firstChild&&typeof e.firstChild.getAttribute!==p&&e.firstChild.getAttribute("href")==="#"}),Y=K(function(e){e.innerHTML="";var t=typeof e.lastChild.getAttribute("multiple");return t!=="boolean"&&t!=="string"}),Z=K(function(e){return e.innerHTML="",!e.getElementsByClassName||!e.getElementsByClassName("e").length?!1:(e.lastChild.className="e",e.getElementsByClassName("e").length===2)}),et=K(function(e){e.id=d+0,e.innerHTML="
",y.insertBefore(e,y.firstChild);var t=g.getElementsByName&&g.getElementsByName(d).length===2+g.getElementsByName(d+0).length;return r=!g.getElementById(d),y.removeChild(e),t});try{x.call(y.childNodes,0)[0].nodeType}catch(tt){x=function(e){var t,n=[];for(;t=this[e];e++)n.push(t);return n}}nt.matches=function(e,t){return nt(e,null,null,t)},nt.matchesSelector=function(e,t){return nt(t,null,null,[e]).length>0},s=nt.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(i===1||i===9||i===11){if(typeof e.textContent=="string")return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=s(e)}else if(i===3||i===4)return e.nodeValue}else for(;t=e[r];r++)n+=s(t);return n},o=nt.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?t.nodeName!=="HTML":!1},u=nt.contains=y.contains?function(e,t){var n=e.nodeType===9?e.documentElement:e,r=t&&t.parentNode;return e===r||!!(r&&r.nodeType===1&&n.contains&&n.contains(r))}:y.compareDocumentPosition?function(e,t){return t&&!!(e.compareDocumentPosition(t)&16)}:function(e,t){while(t=t.parentNode)if(t===e)return!0;return!1},nt.attr=function(e,t){var n,r=o(e);return r||(t=t.toLowerCase()),(n=i.attrHandle[t])?n(e):r||Y?e.getAttribute(t):(n=e.getAttributeNode(t),n?typeof e[t]=="boolean"?e[t]?t:null:n.specified?n.value:null:null)},i=nt.selectors={cacheLength:50,createPseudo:N,match:J,attrHandle:G?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},find:{ID:r?function(e,t,n){if(typeof t.getElementById!==p&&!n){var r=t.getElementById(e);return r&&r.parentNode?[r]:[]}}:function(e,n,r){if(typeof n.getElementById!==p&&!r){var i=n.getElementById(e);return i?i.id===e||typeof i.getAttributeNode!==p&&i.getAttributeNode("id").value===e?[i]:t:[]}},TAG:Q?function(e,t){if(typeof t.getElementsByTagName!==p)return t.getElementsByTagName(e)}:function(e,t){var n=t.getElementsByTagName(e);if(e==="*"){var r,i=[],s=0;for(;r=n[s];s++)r.nodeType===1&&i.push(r);return i}return n},NAME:et&&function(e,t){if(typeof t.getElementsByName!==p)return t.getElementsByName(name)},CLASS:Z&&function(e,t,n){if(typeof t.getElementsByClassName!==p&&!n)return t.getElementsByClassName(e)}},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace($,""),e[3]=(e[4]||e[5]||"").replace($,""),e[2]==="~="&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),e[1]==="nth"?(e[2]||nt.error(e[0]),e[3]=+(e[3]?e[4]+(e[5]||1):2*(e[2]==="even"||e[2]==="odd")),e[4]=+(e[6]+e[7]||e[2]==="odd")):e[2]&&nt.error(e[0]),e},PSEUDO:function(e){var t,n;if(J.CHILD.test(e[0]))return null;if(e[3])e[2]=e[3];else if(t=e[4])q.test(t)&&(n=ut(t,!0))&&(n=t.indexOf(")",t.length-n)-t.length)&&(t=t.slice(0,n),e[0]=e[0].slice(0,n)),e[2]=t;return e.slice(0,3)}},filter:{ID:r?function(e){return e=e.replace($,""),function(t){return t.getAttribute("id")===e}}:function(e){return e=e.replace($,""),function(t){var n=typeof t.getAttributeNode!==p&&t.getAttributeNode("id");return n&&n.value===e}},TAG:function(e){return e==="*"?function(){return!0}:(e=e.replace($,"").toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=k[d][e+" "];return t||(t=new RegExp("(^|"+O+")"+e+"("+O+"|$)"))&&k(e,function(e){return t.test(e.className||typeof e.getAttribute!==p&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r,i){var s=nt.attr(r,e);return s==null?t==="!=":t?(s+="",t==="="?s===n:t==="!="?s!==n:t==="^="?n&&s.indexOf(n)===0:t==="*="?n&&s.indexOf(n)>-1:t==="$="?n&&s.substr(s.length-n.length)===n:t==="~="?(" "+s+" ").indexOf(n)>-1:t==="|="?s===n||s.substr(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r){return e==="nth"?function(e){var t,i,s=e.parentNode;if(n===1&&r===0)return!0;if(s){i=0;for(t=s.firstChild;t;t=t.nextSibling)if(t.nodeType===1){i++;if(e===t)break}}return i-=r,i===n||i%n===0&&i/n>=0}:function(t){var n=t;switch(e){case"only":case"first":while(n=n.previousSibling)if(n.nodeType===1)return!1;if(e==="first")return!0;n=t;case"last":while(n=n.nextSibling)if(n.nodeType===1)return!1;return!0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||nt.error("unsupported pseudo: "+e);return r[d]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?N(function(e,n){var i,s=r(e,t),o=s.length;while(o--)i=T.call(e,s[o]),e[i]=!(n[i]=s[o])}):function(e){return r(e,0,n)}):r}},pseudos:{not:N(function(e){var t=[],n=[],r=a(e.replace(j,"$1"));return r[d]?N(function(e,t,n,i){var s,o=r(e,null,i,[]),u=e.length;while(u--)if(s=o[u])e[u]=!(t[u]=s)}):function(e,i,s){return t[0]=e,r(t,null,s,n),!n.pop()}}),has:N(function(e){return function(t){return nt(e,t).length>0}}),contains:N(function(e){return function(t){return(t.textContent||t.innerText||s(t)).indexOf(e)>-1}}),enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&!!e.checked||t==="option"&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},parent:function(e){return!i.pseudos.empty(e)},empty:function(e){var t;e=e.firstChild;while(e){if(e.nodeName>"@"||(t=e.nodeType)===3||t===4)return!1;e=e.nextSibling}return!0},header:function(e){return X.test(e.nodeName)},text:function(e){var t,n;return e.nodeName.toLowerCase()==="input"&&(t=e.type)==="text"&&((n=e.getAttribute("type"))==null||n.toLowerCase()===t)},radio:rt("radio"),checkbox:rt("checkbox"),file:rt("file"),password:rt("password"),image:rt("image"),submit:it("submit"),reset:it("reset"),button:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&e.type==="button"||t==="button"},input:function(e){return V.test(e.nodeName)},focus:function(e){var t=e.ownerDocument;return e===t.activeElement&&(!t.hasFocus||t.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},active:function(e){return e===e.ownerDocument.activeElement},first:st(function(){return[0]}),last:st(function(e,t){return[t-1]}),eq:st(function(e,t,n){return[n<0?n+t:n]}),even:st(function(e,t){for(var n=0;n=0;)e.push(r);return e}),gt:st(function(e,t,n){for(var r=n<0?n+t:n;++r",e.querySelectorAll("[selected]").length||i.push("\\["+O+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||i.push(":checked")}),K(function(e){e.innerHTML="

",e.querySelectorAll("[test^='']").length&&i.push("[*^$]="+O+"*(?:\"\"|'')"),e.innerHTML="",e.querySelectorAll(":enabled").length||i.push(":enabled",":disabled")}),i=new RegExp(i.join("|")),vt=function(e,r,s,o,u){if(!o&&!u&&!i.test(e)){var a,f,l=!0,c=d,h=r,p=r.nodeType===9&&e;if(r.nodeType===1&&r.nodeName.toLowerCase()!=="object"){a=ut(e),(l=r.getAttribute("id"))?c=l.replace(n,"\\$&"):r.setAttribute("id",c),c="[id='"+c+"'] ",f=a.length;while(f--)a[f]=c+a[f].join("");h=z.test(e)&&r.parentNode||r,p=a.join(",")}if(p)try{return S.apply(s,x.call(h.querySelectorAll(p),0)),s}catch(v){}finally{l||r.removeAttribute("id")}}return t(e,r,s,o,u)},u&&(K(function(t){e=u.call(t,"div");try{u.call(t,"[test!='']:sizzle"),s.push("!=",H)}catch(n){}}),s=new RegExp(s.join("|")),nt.matchesSelector=function(t,n){n=n.replace(r,"='$1']");if(!o(t)&&!s.test(n)&&!i.test(n))try{var a=u.call(t,n);if(a||e||t.document&&t.document.nodeType!==11)return a}catch(f){}return nt(n,null,null,[t]).length>0})}(),i.pseudos.nth=i.pseudos.eq,i.filters=mt.prototype=i.pseudos,i.setFilters=new mt,nt.attr=v.attr,v.find=nt,v.expr=nt.selectors,v.expr[":"]=v.expr.pseudos,v.unique=nt.uniqueSort,v.text=nt.getText,v.isXMLDoc=nt.isXML,v.contains=nt.contains}(e);var nt=/Until$/,rt=/^(?:parents|prev(?:Until|All))/,it=/^.[^:#\[\.,]*$/,st=v.expr.match.needsContext,ot={children:!0,contents:!0,next:!0,prev:!0};v.fn.extend({find:function(e){var t,n,r,i,s,o,u=this;if(typeof e!="string")return v(e).filter(function(){for(t=0,n=u.length;t0)for(i=r;i=0:v.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,s=[],o=st.test(e)||typeof e!="string"?v(e,t||this.context):0;for(;r-1:v.find.matchesSelector(n,e)){s.push(n);break}n=n.parentNode}}return s=s.length>1?v.unique(s):s,this.pushStack(s,"closest",e)},index:function(e){return e?typeof e=="string"?v.inArray(this[0],v(e)):v.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(e,t){var n=typeof e=="string"?v(e,t):v.makeArray(e&&e.nodeType?[e]:e),r=v.merge(this.get(),n);return this.pushStack(ut(n[0])||ut(r[0])?r:v.unique(r))},addBack:function(e){return this.add(e==null?this.prevObject:this.prevObject.filter(e))}}),v.fn.andSelf=v.fn.addBack,v.each({parent:function(e){var t=e.parentNode;return t&&t.nodeType!==11?t:null},parents:function(e){return v.dir(e,"parentNode")},parentsUntil:function(e,t,n){return v.dir(e,"parentNode",n)},next:function(e){return at(e,"nextSibling")},prev:function(e){return at(e,"previousSibling")},nextAll:function(e){return v.dir(e,"nextSibling")},prevAll:function(e){return v.dir(e,"previousSibling")},nextUntil:function(e,t,n){return v.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return v.dir(e,"previousSibling",n)},siblings:function(e){return v.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return v.sibling(e.firstChild)},contents:function(e){return v.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:v.merge([],e.childNodes)}},function(e,t){v.fn[e]=function(n,r){var i=v.map(this,t,n);return nt.test(e)||(r=n),r&&typeof r=="string"&&(i=v.filter(r,i)),i=this.length>1&&!ot[e]?v.unique(i):i,this.length>1&&rt.test(e)&&(i=i.reverse()),this.pushStack(i,e,l.call(arguments).join(","))}}),v.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),t.length===1?v.find.matchesSelector(t[0],e)?[t[0]]:[]:v.find.matches(e,t)},dir:function(e,n,r){var i=[],s=e[n];while(s&&s.nodeType!==9&&(r===t||s.nodeType!==1||!v(s).is(r)))s.nodeType===1&&i.push(s),s=s[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)e.nodeType===1&&e!==t&&n.push(e);return n}});var ct="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ht=/ jQuery\d+="(?:null|\d+)"/g,pt=/^\s+/,dt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,vt=/<([\w:]+)/,mt=/]","i"),Et=/^(?:checkbox|radio)$/,St=/checked\s*(?:[^=]|=\s*.checked.)/i,xt=/\/(java|ecma)script/i,Tt=/^\s*\s*$/g,Nt={option:[1,""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},Ct=lt(i),kt=Ct.appendChild(i.createElement("div"));Nt.optgroup=Nt.option,Nt.tbody=Nt.tfoot=Nt.colgroup=Nt.caption=Nt.thead,Nt.th=Nt.td,v.support.htmlSerialize||(Nt._default=[1,"X
","
"]),v.fn.extend({text:function(e){return v.access(this,function(e){return e===t?v.text(this):this.empty().append((this[0]&&this[0].ownerDocument||i).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(v.isFunction(e))return this.each(function(t){v(this).wrapAll(e.call(this,t))});if(this[0]){var t=v(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&e.firstChild.nodeType===1)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return v.isFunction(e)?this.each(function(t){v(this).wrapInner(e.call(this,t))}):this.each(function(){var t=v(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=v.isFunction(e);return this.each(function(n){v(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){v.nodeName(this,"body")||v(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(this.nodeType===1||this.nodeType===11)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(this.nodeType===1||this.nodeType===11)&&this.insertBefore(e,this.firstChild)})},before:function(){if(!ut(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this)});if(arguments.length){var e=v.clean(arguments);return this.pushStack(v.merge(e,this),"before",this.selector)}},after:function(){if(!ut(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this.nextSibling)});if(arguments.length){var e=v.clean(arguments);return this.pushStack(v.merge(this,e),"after",this.selector)}},remove:function(e,t){var n,r=0;for(;(n=this[r])!=null;r++)if(!e||v.filter(e,[n]).length)!t&&n.nodeType===1&&(v.cleanData(n.getElementsByTagName("*")),v.cleanData([n])),n.parentNode&&n.parentNode.removeChild(n);return this},empty:function(){var e,t=0;for(;(e=this[t])!=null;t++){e.nodeType===1&&v.cleanData(e.getElementsByTagName("*"));while(e.firstChild)e.removeChild(e.firstChild)}return this},clone:function(e,t){return e=e==null?!1:e,t=t==null?e:t,this.map(function(){return v.clone(this,e,t)})},html:function(e){return v.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return n.nodeType===1?n.innerHTML.replace(ht,""):t;if(typeof e=="string"&&!yt.test(e)&&(v.support.htmlSerialize||!wt.test(e))&&(v.support.leadingWhitespace||!pt.test(e))&&!Nt[(vt.exec(e)||["",""])[1].toLowerCase()]){e=e.replace(dt,"<$1>");try{for(;r1&&typeof f=="string"&&St.test(f))return this.each(function(){v(this).domManip(e,n,r)});if(v.isFunction(f))return this.each(function(i){var s=v(this);e[0]=f.call(this,i,n?s.html():t),s.domManip(e,n,r)});if(this[0]){i=v.buildFragment(e,this,l),o=i.fragment,s=o.firstChild,o.childNodes.length===1&&(o=s);if(s){n=n&&v.nodeName(s,"tr");for(u=i.cacheable||c-1;a0?this.clone(!0):this).get(),v(o[i])[t](r),s=s.concat(r);return this.pushStack(s,e,o.selector)}}),v.extend({clone:function(e,t,n){var r,i,s,o;v.support.html5Clone||v.isXMLDoc(e)||!wt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(kt.innerHTML=e.outerHTML,kt.removeChild(o=kt.firstChild));if((!v.support.noCloneEvent||!v.support.noCloneChecked)&&(e.nodeType===1||e.nodeType===11)&&!v.isXMLDoc(e)){Ot(e,o),r=Mt(e),i=Mt(o);for(s=0;r[s];++s)i[s]&&Ot(r[s],i[s])}if(t){At(e,o);if(n){r=Mt(e),i=Mt(o);for(s=0;r[s];++s)At(r[s],i[s])}}return r=i=null,o},clean:function(e,t,n,r){var s,o,u,a,f,l,c,h,p,d,m,g,y=t===i&&Ct,b=[];if(!t||typeof t.createDocumentFragment=="undefined")t=i;for(s=0;(u=e[s])!=null;s++){typeof u=="number"&&(u+="");if(!u)continue;if(typeof u=="string")if(!gt.test(u))u=t.createTextNode(u);else{y=y||lt(t),c=t.createElement("div"),y.appendChild(c),u=u.replace(dt,"<$1>"),a=(vt.exec(u)||["",""])[1].toLowerCase(),f=Nt[a]||Nt._default,l=f[0],c.innerHTML=f[1]+u+f[2];while(l--)c=c.lastChild;if(!v.support.tbody){h=mt.test(u),p=a==="table"&&!h?c.firstChild&&c.firstChild.childNodes:f[1]===""&&!h?c.childNodes:[];for(o=p.length-1;o>=0;--o)v.nodeName(p[o],"tbody")&&!p[o].childNodes.length&&p[o].parentNode.removeChild(p[o])}!v.support.leadingWhitespace&&pt.test(u)&&c.insertBefore(t.createTextNode(pt.exec(u)[0]),c.firstChild),u=c.childNodes,c.parentNode.removeChild(c)}u.nodeType?b.push(u):v.merge(b,u)}c&&(u=c=y=null);if(!v.support.appendChecked)for(s=0;(u=b[s])!=null;s++)v.nodeName(u,"input")?_t(u):typeof u.getElementsByTagName!="undefined"&&v.grep(u.getElementsByTagName("input"),_t);if(n){m=function(e){if(!e.type||xt.test(e.type))return r?r.push(e.parentNode?e.parentNode.removeChild(e):e):n.appendChild(e)};for(s=0;(u=b[s])!=null;s++)if(!v.nodeName(u,"script")||!m(u))n.appendChild(u),typeof u.getElementsByTagName!="undefined"&&(g=v.grep(v.merge([],u.getElementsByTagName("script")),m),b.splice.apply(b,[s+1,0].concat(g)),s+=g.length)}return b},cleanData:function(e,t){var n,r,i,s,o=0,u=v.expando,a=v.cache,f=v.support.deleteExpando,l=v.event.special;for(;(i=e[o])!=null;o++)if(t||v.acceptData(i)){r=i[u],n=r&&a[r];if(n){if(n.events)for(s in n.events)l[s]?v.event.remove(i,s):v.removeEvent(i,s,n.handle);a[r]&&(delete a[r],f?delete i[u]:i.removeAttribute?i.removeAttribute(u):i[u]=null,v.deletedIds.push(r))}}}}),function(){var e,t;v.uaMatch=function(e){e=e.toLowerCase();var t=/(chrome)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||e.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[];return{browser:t[1]||"",version:t[2]||"0"}},e=v.uaMatch(o.userAgent),t={},e.browser&&(t[e.browser]=!0,t.version=e.version),t.chrome?t.webkit=!0:t.webkit&&(t.safari=!0),v.browser=t,v.sub=function(){function e(t,n){return new e.fn.init(t,n)}v.extend(!0,e,this),e.superclass=this,e.fn=e.prototype=this(),e.fn.constructor=e,e.sub=this.sub,e.fn.init=function(r,i){return i&&i instanceof v&&!(i instanceof e)&&(i=e(i)),v.fn.init.call(this,r,i,t)},e.fn.init.prototype=e.fn;var t=e(i);return e}}();var Dt,Pt,Ht,Bt=/alpha\([^)]*\)/i,jt=/opacity=([^)]*)/,Ft=/^(top|right|bottom|left)$/,It=/^(none|table(?!-c[ea]).+)/,qt=/^margin/,Rt=new RegExp("^("+m+")(.*)$","i"),Ut=new RegExp("^("+m+")(?!px)[a-z%]+$","i"),zt=new RegExp("^([-+])=("+m+")","i"),Wt={BODY:"block"},Xt={position:"absolute",visibility:"hidden",display:"block"},Vt={letterSpacing:0,fontWeight:400},$t=["Top","Right","Bottom","Left"],Jt=["Webkit","O","Moz","ms"],Kt=v.fn.toggle;v.fn.extend({css:function(e,n){return v.access(this,function(e,n,r){return r!==t?v.style(e,n,r):v.css(e,n)},e,n,arguments.length>1)},show:function(){return Yt(this,!0)},hide:function(){return Yt(this)},toggle:function(e,t){var n=typeof e=="boolean";return v.isFunction(e)&&v.isFunction(t)?Kt.apply(this,arguments):this.each(function(){(n?e:Gt(this))?v(this).show():v(this).hide()})}}),v.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Dt(e,"opacity");return n===""?"1":n}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":v.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(!e||e.nodeType===3||e.nodeType===8||!e.style)return;var s,o,u,a=v.camelCase(n),f=e.style;n=v.cssProps[a]||(v.cssProps[a]=Qt(f,a)),u=v.cssHooks[n]||v.cssHooks[a];if(r===t)return u&&"get"in u&&(s=u.get(e,!1,i))!==t?s:f[n];o=typeof r,o==="string"&&(s=zt.exec(r))&&(r=(s[1]+1)*s[2]+parseFloat(v.css(e,n)),o="number");if(r==null||o==="number"&&isNaN(r))return;o==="number"&&!v.cssNumber[a]&&(r+="px");if(!u||!("set"in u)||(r=u.set(e,r,i))!==t)try{f[n]=r}catch(l){}},css:function(e,n,r,i){var s,o,u,a=v.camelCase(n);return n=v.cssProps[a]||(v.cssProps[a]=Qt(e.style,a)),u=v.cssHooks[n]||v.cssHooks[a],u&&"get"in u&&(s=u.get(e,!0,i)),s===t&&(s=Dt(e,n)),s==="normal"&&n in Vt&&(s=Vt[n]),r||i!==t?(o=parseFloat(s),r||v.isNumeric(o)?o||0:s):s},swap:function(e,t,n){var r,i,s={};for(i in t)s[i]=e.style[i],e.style[i]=t[i];r=n.call(e);for(i in t)e.style[i]=s[i];return r}}),e.getComputedStyle?Dt=function(t,n){var r,i,s,o,u=e.getComputedStyle(t,null),a=t.style;return u&&(r=u.getPropertyValue(n)||u[n],r===""&&!v.contains(t.ownerDocument,t)&&(r=v.style(t,n)),Ut.test(r)&&qt.test(n)&&(i=a.width,s=a.minWidth,o=a.maxWidth,a.minWidth=a.maxWidth=a.width=r,r=u.width,a.width=i,a.minWidth=s,a.maxWidth=o)),r}:i.documentElement.currentStyle&&(Dt=function(e,t){var n,r,i=e.currentStyle&&e.currentStyle[t],s=e.style;return i==null&&s&&s[t]&&(i=s[t]),Ut.test(i)&&!Ft.test(t)&&(n=s.left,r=e.runtimeStyle&&e.runtimeStyle.left,r&&(e.runtimeStyle.left=e.currentStyle.left),s.left=t==="fontSize"?"1em":i,i=s.pixelLeft+"px",s.left=n,r&&(e.runtimeStyle.left=r)),i===""?"auto":i}),v.each(["height","width"],function(e,t){v.cssHooks[t]={get:function(e,n,r){if(n)return e.offsetWidth===0&&It.test(Dt(e,"display"))?v.swap(e,Xt,function(){return tn(e,t,r)}):tn(e,t,r)},set:function(e,n,r){return Zt(e,n,r?en(e,t,r,v.support.boxSizing&&v.css(e,"boxSizing")==="border-box"):0)}}}),v.support.opacity||(v.cssHooks.opacity={get:function(e,t){return jt.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=v.isNumeric(t)?"alpha(opacity="+t*100+")":"",s=r&&r.filter||n.filter||"";n.zoom=1;if(t>=1&&v.trim(s.replace(Bt,""))===""&&n.removeAttribute){n.removeAttribute("filter");if(r&&!r.filter)return}n.filter=Bt.test(s)?s.replace(Bt,i):s+" "+i}}),v(function(){v.support.reliableMarginRight||(v.cssHooks.marginRight={get:function(e,t){return v.swap(e,{display:"inline-block"},function(){if(t)return Dt(e,"marginRight")})}}),!v.support.pixelPosition&&v.fn.position&&v.each(["top","left"],function(e,t){v.cssHooks[t]={get:function(e,n){if(n){var r=Dt(e,t);return Ut.test(r)?v(e).position()[t]+"px":r}}}})}),v.expr&&v.expr.filters&&(v.expr.filters.hidden=function(e){return e.offsetWidth===0&&e.offsetHeight===0||!v.support.reliableHiddenOffsets&&(e.style&&e.style.display||Dt(e,"display"))==="none"},v.expr.filters.visible=function(e){return!v.expr.filters.hidden(e)}),v.each({margin:"",padding:"",border:"Width"},function(e,t){v.cssHooks[e+t]={expand:function(n){var r,i=typeof n=="string"?n.split(" "):[n],s={};for(r=0;r<4;r++)s[e+$t[r]+t]=i[r]||i[r-2]||i[0];return s}},qt.test(e)||(v.cssHooks[e+t].set=Zt)});var rn=/%20/g,sn=/\[\]$/,on=/\r?\n/g,un=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,an=/^(?:select|textarea)/i;v.fn.extend({serialize:function(){return v.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?v.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||an.test(this.nodeName)||un.test(this.type))}).map(function(e,t){var n=v(this).val();return n==null?null:v.isArray(n)?v.map(n,function(e,n){return{name:t.name,value:e.replace(on,"\r\n")}}):{name:t.name,value:n.replace(on,"\r\n")}}).get()}}),v.param=function(e,n){var r,i=[],s=function(e,t){t=v.isFunction(t)?t():t==null?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};n===t&&(n=v.ajaxSettings&&v.ajaxSettings.traditional);if(v.isArray(e)||e.jquery&&!v.isPlainObject(e))v.each(e,function(){s(this.name,this.value)});else for(r in e)fn(r,e[r],n,s);return i.join("&").replace(rn,"+")};var ln,cn,hn=/#.*$/,pn=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,dn=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,vn=/^(?:GET|HEAD)$/,mn=/^\/\//,gn=/\?/,yn=/)<[^<]*)*<\/script>/gi,bn=/([?&])_=[^&]*/,wn=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,En=v.fn.load,Sn={},xn={},Tn=["*/"]+["*"];try{cn=s.href}catch(Nn){cn=i.createElement("a"),cn.href="",cn=cn.href}ln=wn.exec(cn.toLowerCase())||[],v.fn.load=function(e,n,r){if(typeof e!="string"&&En)return En.apply(this,arguments);if(!this.length)return this;var i,s,o,u=this,a=e.indexOf(" ");return a>=0&&(i=e.slice(a,e.length),e=e.slice(0,a)),v.isFunction(n)?(r=n,n=t):n&&typeof n=="object"&&(s="POST"),v.ajax({url:e,type:s,dataType:"html",data:n,complete:function(e,t){r&&u.each(r,o||[e.responseText,t,e])}}).done(function(e){o=arguments,u.html(i?v("
").append(e.replace(yn,"")).find(i):e)}),this},v.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,t){v.fn[t]=function(e){return this.on(t,e)}}),v.each(["get","post"],function(e,n){v[n]=function(e,r,i,s){return v.isFunction(r)&&(s=s||i,i=r,r=t),v.ajax({type:n,url:e,data:r,success:i,dataType:s})}}),v.extend({getScript:function(e,n){return v.get(e,t,n,"script")},getJSON:function(e,t,n){return v.get(e,t,n,"json")},ajaxSetup:function(e,t){return t?Ln(e,v.ajaxSettings):(t=e,e=v.ajaxSettings),Ln(e,t),e},ajaxSettings:{url:cn,isLocal:dn.test(ln[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":Tn},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":e.String,"text html":!0,"text json":v.parseJSON,"text xml":v.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:Cn(Sn),ajaxTransport:Cn(xn),ajax:function(e,n){function T(e,n,s,a){var l,y,b,w,S,T=n;if(E===2)return;E=2,u&&clearTimeout(u),o=t,i=a||"",x.readyState=e>0?4:0,s&&(w=An(c,x,s));if(e>=200&&e<300||e===304)c.ifModified&&(S=x.getResponseHeader("Last-Modified"),S&&(v.lastModified[r]=S),S=x.getResponseHeader("Etag"),S&&(v.etag[r]=S)),e===304?(T="notmodified",l=!0):(l=On(c,w),T=l.state,y=l.data,b=l.error,l=!b);else{b=T;if(!T||e)T="error",e<0&&(e=0)}x.status=e,x.statusText=(n||T)+"",l?d.resolveWith(h,[y,T,x]):d.rejectWith(h,[x,T,b]),x.statusCode(g),g=t,f&&p.trigger("ajax"+(l?"Success":"Error"),[x,c,l?y:b]),m.fireWith(h,[x,T]),f&&(p.trigger("ajaxComplete",[x,c]),--v.active||v.event.trigger("ajaxStop"))}typeof e=="object"&&(n=e,e=t),n=n||{};var r,i,s,o,u,a,f,l,c=v.ajaxSetup({},n),h=c.context||c,p=h!==c&&(h.nodeType||h instanceof v)?v(h):v.event,d=v.Deferred(),m=v.Callbacks("once memory"),g=c.statusCode||{},b={},w={},E=0,S="canceled",x={readyState:0,setRequestHeader:function(e,t){if(!E){var n=e.toLowerCase();e=w[n]=w[n]||e,b[e]=t}return this},getAllResponseHeaders:function(){return E===2?i:null},getResponseHeader:function(e){var n;if(E===2){if(!s){s={};while(n=pn.exec(i))s[n[1].toLowerCase()]=n[2]}n=s[e.toLowerCase()]}return n===t?null:n},overrideMimeType:function(e){return E||(c.mimeType=e),this},abort:function(e){return e=e||S,o&&o.abort(e),T(0,e),this}};d.promise(x),x.success=x.done,x.error=x.fail,x.complete=m.add,x.statusCode=function(e){if(e){var t;if(E<2)for(t in e)g[t]=[g[t],e[t]];else t=e[x.status],x.always(t)}return this},c.url=((e||c.url)+"").replace(hn,"").replace(mn,ln[1]+"//"),c.dataTypes=v.trim(c.dataType||"*").toLowerCase().split(y),c.crossDomain==null&&(a=wn.exec(c.url.toLowerCase()),c.crossDomain=!(!a||a[1]===ln[1]&&a[2]===ln[2]&&(a[3]||(a[1]==="http:"?80:443))==(ln[3]||(ln[1]==="http:"?80:443)))),c.data&&c.processData&&typeof c.data!="string"&&(c.data=v.param(c.data,c.traditional)),kn(Sn,c,n,x);if(E===2)return x;f=c.global,c.type=c.type.toUpperCase(),c.hasContent=!vn.test(c.type),f&&v.active++===0&&v.event.trigger("ajaxStart");if(!c.hasContent){c.data&&(c.url+=(gn.test(c.url)?"&":"?")+c.data,delete c.data),r=c.url;if(c.cache===!1){var N=v.now(),C=c.url.replace(bn,"$1_="+N);c.url=C+(C===c.url?(gn.test(c.url)?"&":"?")+"_="+N:"")}}(c.data&&c.hasContent&&c.contentType!==!1||n.contentType)&&x.setRequestHeader("Content-Type",c.contentType),c.ifModified&&(r=r||c.url,v.lastModified[r]&&x.setRequestHeader("If-Modified-Since",v.lastModified[r]),v.etag[r]&&x.setRequestHeader("If-None-Match",v.etag[r])),x.setRequestHeader("Accept",c.dataTypes[0]&&c.accepts[c.dataTypes[0]]?c.accepts[c.dataTypes[0]]+(c.dataTypes[0]!=="*"?", "+Tn+"; q=0.01":""):c.accepts["*"]);for(l in c.headers)x.setRequestHeader(l,c.headers[l]);if(!c.beforeSend||c.beforeSend.call(h,x,c)!==!1&&E!==2){S="abort";for(l in{success:1,error:1,complete:1})x[l](c[l]);o=kn(xn,c,n,x);if(!o)T(-1,"No Transport");else{x.readyState=1,f&&p.trigger("ajaxSend",[x,c]),c.async&&c.timeout>0&&(u=setTimeout(function(){x.abort("timeout")},c.timeout));try{E=1,o.send(b,T)}catch(k){if(!(E<2))throw k;T(-1,k)}}return x}return x.abort()},active:0,lastModified:{},etag:{}});var Mn=[],_n=/\?/,Dn=/(=)\?(?=&|$)|\?\?/,Pn=v.now();v.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Mn.pop()||v.expando+"_"+Pn++;return this[e]=!0,e}}),v.ajaxPrefilter("json jsonp",function(n,r,i){var s,o,u,a=n.data,f=n.url,l=n.jsonp!==!1,c=l&&Dn.test(f),h=l&&!c&&typeof a=="string"&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Dn.test(a);if(n.dataTypes[0]==="jsonp"||c||h)return s=n.jsonpCallback=v.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,o=e[s],c?n.url=f.replace(Dn,"$1"+s):h?n.data=a.replace(Dn,"$1"+s):l&&(n.url+=(_n.test(f)?"&":"?")+n.jsonp+"="+s),n.converters["script json"]=function(){return u||v.error(s+" was not called"),u[0]},n.dataTypes[0]="json",e[s]=function(){u=arguments},i.always(function(){e[s]=o,n[s]&&(n.jsonpCallback=r.jsonpCallback,Mn.push(s)),u&&v.isFunction(o)&&o(u[0]),u=o=t}),"script"}),v.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(e){return v.globalEval(e),e}}}),v.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),v.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=i.head||i.getElementsByTagName("head")[0]||i.documentElement;return{send:function(s,o){n=i.createElement("script"),n.async="async",e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,i){if(i||!n.readyState||/loaded|complete/.test(n.readyState))n.onload=n.onreadystatechange=null,r&&n.parentNode&&r.removeChild(n),n=t,i||o(200,"success")},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(0,1)}}}});var Hn,Bn=e.ActiveXObject?function(){for(var e in Hn)Hn[e](0,1)}:!1,jn=0;v.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&Fn()||In()}:Fn,function(e){v.extend(v.support,{ajax:!!e,cors:!!e&&"withCredentials"in e})}(v.ajaxSettings.xhr()),v.support.ajax&&v.ajaxTransport(function(n){if(!n.crossDomain||v.support.cors){var r;return{send:function(i,s){var o,u,a=n.xhr();n.username?a.open(n.type,n.url,n.async,n.username,n.password):a.open(n.type,n.url,n.async);if(n.xhrFields)for(u in n.xhrFields)a[u]=n.xhrFields[u];n.mimeType&&a.overrideMimeType&&a.overrideMimeType(n.mimeType),!n.crossDomain&&!i["X-Requested-With"]&&(i["X-Requested-With"]="XMLHttpRequest");try{for(u in i)a.setRequestHeader(u,i[u])}catch(f){}a.send(n.hasContent&&n.data||null),r=function(e,i){var u,f,l,c,h;try{if(r&&(i||a.readyState===4)){r=t,o&&(a.onreadystatechange=v.noop,Bn&&delete Hn[o]);if(i)a.readyState!==4&&a.abort();else{u=a.status,l=a.getAllResponseHeaders(),c={},h=a.responseXML,h&&h.documentElement&&(c.xml=h);try{c.text=a.responseText}catch(p){}try{f=a.statusText}catch(p){f=""}!u&&n.isLocal&&!n.crossDomain?u=c.text?200:404:u===1223&&(u=204)}}}catch(d){i||s(-1,d)}c&&s(u,f,c,l)},n.async?a.readyState===4?setTimeout(r,0):(o=++jn,Bn&&(Hn||(Hn={},v(e).unload(Bn)),Hn[o]=r),a.onreadystatechange=r):r()},abort:function(){r&&r(0,1)}}}});var qn,Rn,Un=/^(?:toggle|show|hide)$/,zn=new RegExp("^(?:([-+])=|)("+m+")([a-z%]*)$","i"),Wn=/queueHooks$/,Xn=[Gn],Vn={"*":[function(e,t){var n,r,i=this.createTween(e,t),s=zn.exec(t),o=i.cur(),u=+o||0,a=1,f=20;if(s){n=+s[2],r=s[3]||(v.cssNumber[e]?"":"px");if(r!=="px"&&u){u=v.css(i.elem,e,!0)||n||1;do a=a||".5",u/=a,v.style(i.elem,e,u+r);while(a!==(a=i.cur()/o)&&a!==1&&--f)}i.unit=r,i.start=u,i.end=s[1]?u+(s[1]+1)*n:n}return i}]};v.Animation=v.extend(Kn,{tweener:function(e,t){v.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;r-1,f={},l={},c,h;a?(l=i.position(),c=l.top,h=l.left):(c=parseFloat(o)||0,h=parseFloat(u)||0),v.isFunction(t)&&(t=t.call(e,n,s)),t.top!=null&&(f.top=t.top-s.top+c),t.left!=null&&(f.left=t.left-s.left+h),"using"in t?t.using.call(e,f):i.css(f)}},v.fn.extend({position:function(){if(!this[0])return;var e=this[0],t=this.offsetParent(),n=this.offset(),r=er.test(t[0].nodeName)?{top:0,left:0}:t.offset();return n.top-=parseFloat(v.css(e,"marginTop"))||0,n.left-=parseFloat(v.css(e,"marginLeft"))||0,r.top+=parseFloat(v.css(t[0],"borderTopWidth"))||0,r.left+=parseFloat(v.css(t[0],"borderLeftWidth"))||0,{top:n.top-r.top,left:n.left-r.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||i.body;while(e&&!er.test(e.nodeName)&&v.css(e,"position")==="static")e=e.offsetParent;return e||i.body})}}),v.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);v.fn[e]=function(i){return v.access(this,function(e,i,s){var o=tr(e);if(s===t)return o?n in o?o[n]:o.document.documentElement[i]:e[i];o?o.scrollTo(r?v(o).scrollLeft():s,r?s:v(o).scrollTop()):e[i]=s},e,i,arguments.length,null)}}),v.each({Height:"height",Width:"width"},function(e,n){v.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){v.fn[i]=function(i,s){var o=arguments.length&&(r||typeof i!="boolean"),u=r||(i===!0||s===!0?"margin":"border");return v.access(this,function(n,r,i){var s;return v.isWindow(n)?n.document.documentElement["client"+e]:n.nodeType===9?(s=n.documentElement,Math.max(n.body["scroll"+e],s["scroll"+e],n.body["offset"+e],s["offset"+e],s["client"+e])):i===t?v.css(n,r,i,u):v.style(n,r,i,u)},n,o?i:t,o,null)}})}),e.jQuery=e.$=v,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return v})})(window); -/* - * jQuery JSON Plugin - * version: 2.1 (2009-08-14) - * - * This document is licensed as free software under the terms of the - * MIT License: http://www.opensource.org/licenses/mit-license.php - * - * Brantley Harris wrote this plugin. It is based somewhat on the JSON.org - * website's http://www.json.org/json2.js, which proclaims: - * "NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.", a sentiment that - * I uphold. - * - * It is also influenced heavily by MochiKit's serializeJSON, which is - * copyrighted 2005 by Bob Ippolito. - */ - - -(function($) { - /** jQuery.toJSON( json-serializble ) - Converts the given argument into a JSON respresentation. - - If an object has a "toJSON" function, that will be used to get the representation. - Non-integer/string keys are skipped in the object, as are keys that point to a function. - - json-serializble: - The *thing* to be converted. - **/ - $.toJSON = function(o) - { - if (typeof(JSON) == 'object' && JSON.stringify) - return JSON.stringify(o); - - var type = typeof(o); - - if (o === null) - return "null"; - - if (type == "undefined") - return undefined; - - if (type == "number" || type == "boolean") - return o + ""; - - if (type == "string") - return $.quoteString(o); - - if (type == 'object') - { - if (typeof o.toJSON == "function") - return $.toJSON( o.toJSON() ); - - if (o.constructor === Date) - { - var month = o.getUTCMonth() + 1; - if (month < 10) month = '0' + month; - - var day = o.getUTCDate(); - if (day < 10) day = '0' + day; - - var year = o.getUTCFullYear(); - - var hours = o.getUTCHours(); - if (hours < 10) hours = '0' + hours; - - var minutes = o.getUTCMinutes(); - if (minutes < 10) minutes = '0' + minutes; - - var seconds = o.getUTCSeconds(); - if (seconds < 10) seconds = '0' + seconds; - - var milli = o.getUTCMilliseconds(); - if (milli < 100) milli = '0' + milli; - if (milli < 10) milli = '0' + milli; - - return '"' + year + '-' + month + '-' + day + 'T' + - hours + ':' + minutes + ':' + seconds + - '.' + milli + 'Z"'; - } - - if (o.constructor === Array) - { - var ret = []; - for (var i = 0; i < o.length; i++) - ret.push( $.toJSON(o[i]) || "null" ); - - return "[" + ret.join(",") + "]"; - } - - var pairs = []; - for (var k in o) { - var name; - var type = typeof k; - - if (type == "number") - name = '"' + k + '"'; - else if (type == "string") - name = $.quoteString(k); - else - continue; //skip non-string or number keys - - if (typeof o[k] == "function") - continue; //skip pairs where the value is a function. - - var val = $.toJSON(o[k]); - - pairs.push(name + ":" + val); - } - - return "{" + pairs.join(", ") + "}"; - } - }; - - /** jQuery.evalJSON(src) - Evaluates a given piece of json source. - **/ - $.evalJSON = function(src) - { - if (typeof(JSON) == 'object' && JSON.parse) - return JSON.parse(src); - return eval("(" + src + ")"); - }; - - /** jQuery.secureEvalJSON(src) - Evals JSON in a way that is *more* secure. - **/ - $.secureEvalJSON = function(src) - { - if (typeof(JSON) == 'object' && JSON.parse) - return JSON.parse(src); - - var filtered = src; - filtered = filtered.replace(/\\["\\\/bfnrtu]/g, '@'); - filtered = filtered.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']'); - filtered = filtered.replace(/(?:^|:|,)(?:\s*\[)+/g, ''); - - if (/^[\],:{}\s]*$/.test(filtered)) - return eval("(" + src + ")"); - else - throw new SyntaxError("Error parsing JSON, source is not valid."); - }; - - /** jQuery.quoteString(string) - Returns a string-repr of a string, escaping quotes intelligently. - Mostly a support function for toJSON. - - Examples: - >>> jQuery.quoteString("apple") - "apple" - - >>> jQuery.quoteString('"Where are we going?", she asked.') - "\"Where are we going?\", she asked." - **/ - $.quoteString = function(string) - { - if (string.match(_escapeable)) - { - return '"' + string.replace(_escapeable, function (a) - { - var c = _meta[a]; - if (typeof c === 'string') return c; - c = a.charCodeAt(); - return '\\u00' + Math.floor(c / 16).toString(16) + (c % 16).toString(16); - }) + '"'; - } - return '"' + string + '"'; - }; - - var _escapeable = /["\\\x00-\x1f\x7f-\x9f]/g; - - var _meta = { - '\b': '\\b', - '\t': '\\t', - '\n': '\\n', - '\f': '\\f', - '\r': '\\r', - '"' : '\\"', - '\\': '\\\\' - }; -})(jQuery); -/*! - * jQuery Tools v1.2.6 - The missing UI library for the Web - * - * tooltip/tooltip.js - * - * NO COPYRIGHTS OR LICENSES. DO WHAT YOU LIKE. - * - * http://flowplayer.org/tools/ - * - */ - -(function(a){a.tools=a.tools||{version:"v1.2.6"},a.tools.tooltip={conf:{effect:"toggle",fadeOutSpeed:"fast",predelay:0,delay:30,opacity:1,tip:0,fadeIE:!1,position:["top","center"],offset:[0,0],relative:!1,cancelDefault:!0,events:{def:"mouseenter,mouseleave",input:"focus,blur",widget:"focus mouseenter,blur mouseleave",tooltip:"mouseenter,mouseleave"},layout:"
",tipClass:"tooltip"},addEffect:function(a,c,d){b[a]=[c,d]}};var b={toggle:[function(a){var b=this.getConf(),c=this.getTip(),d=b.opacity;d<1&&c.css({opacity:d}),c.show(),a.call()},function(a){this.getTip().hide(),a.call()}],fade:[function(b){var c=this.getConf();!a.browser.msie||c.fadeIE?this.getTip().fadeTo(c.fadeInSpeed,c.opacity,b):(this.getTip().show(),b())},function(b){var c=this.getConf();!a.browser.msie||c.fadeIE?this.getTip().fadeOut(c.fadeOutSpeed,b):(this.getTip().hide(),b())}]};function c(b,c,d){var e=d.relative?b.position().top:b.offset().top,f=d.relative?b.position().left:b.offset().left,g=d.position[0];e-=c.outerHeight()-d.offset[0],f+=b.outerWidth()+d.offset[1],/iPad/i.test(navigator.userAgent)&&(e-=a(window).scrollTop());var h=c.outerHeight()+b.outerHeight();g=="center"&&(e+=h/2),g=="bottom"&&(e+=h),g=d.position[1];var i=c.outerWidth()+b.outerWidth();g=="center"&&(f-=i/2),g=="left"&&(f-=i);return{top:e,left:f}}function d(d,e){var f=this,g=d.add(f),h,i=0,j=0,k=d.attr("title"),l=d.attr("data-tooltip"),m=b[e.effect],n,o=d.is(":input"),p=o&&d.is(":checkbox, :radio, select, :button, :submit"),q=d.attr("type"),r=e.events[q]||e.events[o?p?"widget":"input":"def"];if(!m)throw"Nonexistent effect \""+e.effect+"\"";r=r.split(/,\s*/);if(r.length!=2)throw"Tooltip: bad events configuration for "+q;d.bind(r[0],function(a){clearTimeout(i),e.predelay?j=setTimeout(function(){f.show(a)},e.predelay):f.show(a)}).bind(r[1],function(a){clearTimeout(j),e.delay?i=setTimeout(function(){f.hide(a)},e.delay):f.hide(a)}),k&&e.cancelDefault&&(d.removeAttr("title"),d.data("title",k)),a.extend(f,{show:function(b){if(!h){l?h=a(l):e.tip?h=a(e.tip).eq(0):k?h=a(e.layout).addClass(e.tipClass).appendTo(document.body).hide().append(k):(h=d.next(),h.length||(h=d.parent().next()));if(!h.length)throw"Cannot find tooltip for "+d}if(f.isShown())return f;h.stop(!0,!0);var o=c(d,h,e);e.tip&&h.html(d.data("title")),b=a.Event(),b.type="onBeforeShow",g.trigger(b,[o]);if(b.isDefaultPrevented())return f;o=c(d,h,e),h.css({position:"absolute",top:o.top,left:o.left}),n=!0,m[0].call(f,function(){b.type="onShow",n="full",g.trigger(b)});var p=e.events.tooltip.split(/,\s*/);h.data("__set")||(h.unbind(p[0]).bind(p[0],function(){clearTimeout(i),clearTimeout(j)}),p[1]&&!d.is("input:not(:checkbox, :radio), textarea")&&h.unbind(p[1]).bind(p[1],function(a){a.relatedTarget!=d[0]&&d.trigger(r[1].split(" ")[0])}),e.tip||h.data("__set",!0));return f},hide:function(c){if(!h||!f.isShown())return f;c=a.Event(),c.type="onBeforeHide",g.trigger(c);if(!c.isDefaultPrevented()){n=!1,b[e.effect][1].call(f,function(){c.type="onHide",g.trigger(c)});return f}},isShown:function(a){return a?n=="full":n},getConf:function(){return e},getTip:function(){return h},getTrigger:function(){return d}}),a.each("onHide,onBeforeShow,onShow,onBeforeHide".split(","),function(b,c){a.isFunction(e[c])&&a(f).bind(c,e[c]),f[c]=function(b){b&&a(f).bind(c,b);return f}})}a.fn.tooltip=function(b){var c=this.data("tooltip");if(c)return c;b=a.extend(!0,{},a.tools.tooltip.conf,b),typeof b.position=="string"&&(b.position=b.position.split(/,?\s/)),this.each(function(){c=new d(a(this),b),a(this).data("tooltip",c)});return b.api?c:this}})(jQuery); -// For IE8 compatability, sigh -if (!Array.prototype.map) Array.prototype.map = function(callback, that) { - var i = -1, n = this.length, map = new Array(n); - while (++i < n) { - if (i in this) { - map[i] = callback.call(that, this[i], i, this); - } - } - return map; -}; -// ┌────────────────────────────────────────────────────────────────────┐ \\ -// │ Raphaël 2.1.0 - JavaScript Vector Library │ \\ -// ├────────────────────────────────────────────────────────────────────┤ \\ -// │ Copyright © 2008-2012 Dmitry Baranovskiy (http://raphaeljs.com) │ \\ -// │ Copyright © 2008-2012 Sencha Labs (http://sencha.com) │ \\ -// ├────────────────────────────────────────────────────────────────────┤ \\ -// │ Licensed under the MIT (http://raphaeljs.com/license.html) license.│ \\ -// └────────────────────────────────────────────────────────────────────┘ \\ - -(function(a){var b="0.3.4",c="hasOwnProperty",d=/[\.\/]/,e="*",f=function(){},g=function(a,b){return a-b},h,i,j={n:{}},k=function(a,b){var c=j,d=i,e=Array.prototype.slice.call(arguments,2),f=k.listeners(a),l=0,m=!1,n,o=[],p={},q=[],r=h,s=[];h=a,i=0;for(var t=0,u=f.length;tf*b.top){e=b.percents[y],p=b.percents[y-1]||0,t=t/b.top*(e-p),o=b.percents[y+1],j=b.anim[e];break}f&&d.attr(b.anim[b.percents[y]])}if(!!j){if(!k){for(var A in j)if(j[g](A))if(U[g](A)||d.paper.customAttributes[g](A)){u[A]=d.attr(A),u[A]==null&&(u[A]=T[A]),v[A]=j[A];switch(U[A]){case C:w[A]=(v[A]-u[A])/t;break;case"colour":u[A]=a.getRGB(u[A]);var B=a.getRGB(v[A]);w[A]={r:(B.r-u[A].r)/t,g:(B.g-u[A].g)/t,b:(B.b-u[A].b)/t};break;case"path":var D=bR(u[A],v[A]),E=D[1];u[A]=D[0],w[A]=[];for(y=0,z=u[A].length;yd)return d;while(cf?c=e:d=e,e=(d-c)/2+c}return e}function n(a,b){var c=o(a,b);return((l*c+k)*c+j)*c}function m(a){return((i*a+h)*a+g)*a}var g=3*b,h=3*(d-b)-g,i=1-g-h,j=3*c,k=3*(e-c)-j,l=1-j-k;return n(a,1/(200*f))}function cq(){return this.x+q+this.y+q+this.width+" × "+this.height}function cp(){return this.x+q+this.y}function cb(a,b,c,d,e,f){a!=null?(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 bH(b,c,d){b=a._path2curve(b),c=a._path2curve(c);var e,f,g,h,i,j,k,l,m,n,o=d?0:[];for(var p=0,q=b.length;p=0&&y<=1&&A>=0&&A<=1&&(d?n++:n.push({x:x.x,y:x.y,t1:y,t2:A}))}}return n}function bF(a,b){return bG(a,b,1)}function bE(a,b){return bG(a,b)}function bD(a,b,c,d,e,f,g,h){if(!(x(a,c)x(e,g)||x(b,d)x(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)return;var l=i/k,m=j/k,n=+l.toFixed(2),o=+m.toFixed(2);if(n<+y(a,c).toFixed(2)||n>+x(a,c).toFixed(2)||n<+y(e,g).toFixed(2)||n>+x(e,g).toFixed(2)||o<+y(b,d).toFixed(2)||o>+x(b,d).toFixed(2)||o<+y(f,h).toFixed(2)||o>+x(f,h).toFixed(2))return;return{x:l,y:m}}}function bC(a,b,c,d,e,f,g,h,i){if(!(i<0||bB(a,b,c,d,e,f,g,h)n)k/=2,l+=(m1?1:i<0?0:i;var j=i/2,k=12,l=[-0.1252,.1252,-0.3678,.3678,-0.5873,.5873,-0.7699,.7699,-0.9041,.9041,-0.9816,.9816],m=[.2491,.2491,.2335,.2335,.2032,.2032,.1601,.1601,.1069,.1069,.0472,.0472],n=0;for(var o=0;od;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 bx(){return this.hex}function bv(a,b,c){function d(){var e=Array.prototype.slice.call(arguments,0),f=e.join("␀"),h=d.cache=d.cache||{},i=d.count=d.count||[];if(h[g](f)){bu(i,f);return c?c(h[f]):h[f]}i.length>=1e3&&delete h[i.shift()],i.push(f),h[f]=a[m](b,e);return c?c(h[f]):h[f]}return d}function bu(a,b){for(var c=0,d=a.length;c',bl=bk.firstChild,bl.style.behavior="url(#default#VML)";if(!bl||typeof bl.adj!="object")return a.type=p;bk=null}a.svg=!(a.vml=a.type=="VML"),a._Paper=j,a.fn=k=j.prototype=a.prototype,a._id=0,a._oid=0,a.is=function(a,b){b=v.call(b);if(b=="finite")return!M[g](+a);if(b=="array")return a instanceof Array;return b=="null"&&a===null||b==typeof a&&a!==null||b=="object"&&a===Object(a)||b=="array"&&Array.isArray&&Array.isArray(a)||H.call(a).slice(8,-1).toLowerCase()==b},a.angle=function(b,c,d,e,f,g){if(f==null){var h=b-d,i=c-e;if(!h&&!i)return 0;return(180+w.atan2(-i,-h)*180/B+360)%360}return a.angle(b,c,f,g)-a.angle(d,e,f,g)},a.rad=function(a){return a%360*B/180},a.deg=function(a){return a*180/B%360},a.snapTo=function(b,c,d){d=a.is(d,"finite")?d:10;if(a.is(b,E)){var e=b.length;while(e--)if(z(b[e]-c)<=d)return b[e]}else{b=+b;var f=c%b;if(fb-d)return c-f+b}return c};var bn=a.createUUID=function(a,b){return function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(a,b).toUpperCase()}}(/[xy]/g,function(a){var b=w.random()*16|0,c=a=="x"?b:b&3|8;return c.toString(16)});a.setWindow=function(b){eve("raphael.setWindow",a,h.win,b),h.win=b,h.doc=h.win.document,a._engine.initWin&&a._engine.initWin(h.win)};var bo=function(b){if(a.vml){var c=/^\s+|\s+$/g,d;try{var e=new ActiveXObject("htmlfile");e.write(""),e.close(),d=e.body}catch(f){d=createPopup().document.body}var g=d.createTextRange();bo=bv(function(a){try{d.style.color=r(a).replace(c,p);var b=g.queryCommandValue("ForeColor");b=(b&255)<<16|b&65280|(b&16711680)>>>16;return"#"+("000000"+b.toString(16)).slice(-6)}catch(e){return"none"}})}else{var i=h.doc.createElement("i");i.title="Raphaël Colour Picker",i.style.display="none",h.doc.body.appendChild(i),bo=bv(function(a){i.style.color=a;return h.doc.defaultView.getComputedStyle(i,p).getPropertyValue("color")})}return bo(b)},bp=function(){return"hsb("+[this.h,this.s,this.b]+")"},bq=function(){return"hsl("+[this.h,this.s,this.l]+")"},br=function(){return this.hex},bs=function(b,c,d){c==null&&a.is(b,"object")&&"r"in b&&"g"in b&&"b"in b&&(d=b.b,c=b.g,b=b.r);if(c==null&&a.is(b,D)){var e=a.getRGB(b);b=e.r,c=e.g,d=e.b}if(b>1||c>1||d>1)b/=255,c/=255,d/=255;return[b,c,d]},bt=function(b,c,d,e){b*=255,c*=255,d*=255;var f={r:b,g:c,b:d,hex:a.rgb(b,c,d),toString:br};a.is(e,"finite")&&(f.opacity=e);return f};a.color=function(b){var c;a.is(b,"object")&&"h"in b&&"s"in b&&"b"in b?(c=a.hsb2rgb(b),b.r=c.r,b.g=c.g,b.b=c.b,b.hex=c.hex):a.is(b,"object")&&"h"in b&&"s"in b&&"l"in b?(c=a.hsl2rgb(b),b.r=c.r,b.g=c.g,b.b=c.b,b.hex=c.hex):(a.is(b,"string")&&(b=a.getRGB(b)),a.is(b,"object")&&"r"in b&&"g"in b&&"b"in b?(c=a.rgb2hsl(b),b.h=c.h,b.s=c.s,b.l=c.l,c=a.rgb2hsb(b),b.v=c.b):(b={hex:"none"},b.r=b.g=b.b=b.h=b.s=b.v=b.l=-1)),b.toString=br;return b},a.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,a=a.h,d=a.o),a*=360;var e,f,g,h,i;a=a%360/60,i=c*b,h=i*(1-z(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];return bt(e,f,g,d)},a.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);if(a>1||b>1||c>1)a/=360,b/=100,c/=100;a*=360;var e,f,g,h,i;a=a%360/60,i=2*b*(c<.5?c:1-c),h=i*(1-z(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];return bt(e,f,g,d)},a.rgb2hsb=function(a,b,c){c=bs(a,b,c),a=c[0],b=c[1],c=c[2];var d,e,f,g;f=x(a,b,c),g=f-y(a,b,c),d=g==0?null:f==a?(b-c)/g:f==b?(c-a)/g+2:(a-b)/g+4,d=(d+360)%6*60/360,e=g==0?0:g/f;return{h:d,s:e,b:f,toString:bp}},a.rgb2hsl=function(a,b,c){c=bs(a,b,c),a=c[0],b=c[1],c=c[2];var d,e,f,g,h,i;g=x(a,b,c),h=y(a,b,c),i=g-h,d=i==0?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=i==0?0:f<.5?i/(2*f):i/(2-2*f);return{h:d,s:e,l:f,toString:bq}},a._path2string=function(){return this.join(",").replace(Y,"$1")};var bw=a._preload=function(a,b){var c=h.doc.createElement("img");c.style.cssText="position:absolute;left:-9999em;top:-9999em",c.onload=function(){b.call(this),this.onload=null,h.doc.body.removeChild(this)},c.onerror=function(){h.doc.body.removeChild(this)},h.doc.body.appendChild(c),c.src=a};a.getRGB=bv(function(b){if(!b||!!((b=r(b)).indexOf("-")+1))return{r:-1,g:-1,b:-1,hex:"none",error:1,toString:bx};if(b=="none")return{r:-1,g:-1,b:-1,hex:"none",toString:bx};!X[g](b.toLowerCase().substring(0,2))&&b.charAt()!="#"&&(b=bo(b));var c,d,e,f,h,i,j,k=b.match(L);if(k){k[2]&&(f=R(k[2].substring(5),16),e=R(k[2].substring(3,5),16),d=R(k[2].substring(1,3),16)),k[3]&&(f=R((i=k[3].charAt(3))+i,16),e=R((i=k[3].charAt(2))+i,16),d=R((i=k[3].charAt(1))+i,16)),k[4]&&(j=k[4][s](W),d=Q(j[0]),j[0].slice(-1)=="%"&&(d*=2.55),e=Q(j[1]),j[1].slice(-1)=="%"&&(e*=2.55),f=Q(j[2]),j[2].slice(-1)=="%"&&(f*=2.55),k[1].toLowerCase().slice(0,4)=="rgba"&&(h=Q(j[3])),j[3]&&j[3].slice(-1)=="%"&&(h/=100));if(k[5]){j=k[5][s](W),d=Q(j[0]),j[0].slice(-1)=="%"&&(d*=2.55),e=Q(j[1]),j[1].slice(-1)=="%"&&(e*=2.55),f=Q(j[2]),j[2].slice(-1)=="%"&&(f*=2.55),(j[0].slice(-3)=="deg"||j[0].slice(-1)=="°")&&(d/=360),k[1].toLowerCase().slice(0,4)=="hsba"&&(h=Q(j[3])),j[3]&&j[3].slice(-1)=="%"&&(h/=100);return a.hsb2rgb(d,e,f,h)}if(k[6]){j=k[6][s](W),d=Q(j[0]),j[0].slice(-1)=="%"&&(d*=2.55),e=Q(j[1]),j[1].slice(-1)=="%"&&(e*=2.55),f=Q(j[2]),j[2].slice(-1)=="%"&&(f*=2.55),(j[0].slice(-3)=="deg"||j[0].slice(-1)=="°")&&(d/=360),k[1].toLowerCase().slice(0,4)=="hsla"&&(h=Q(j[3])),j[3]&&j[3].slice(-1)=="%"&&(h/=100);return a.hsl2rgb(d,e,f,h)}k={r:d,g:e,b:f,toString:bx},k.hex="#"+(16777216|f|e<<8|d<<16).toString(16).slice(1),a.is(h,"finite")&&(k.opacity=h);return k}return{r:-1,g:-1,b:-1,hex:"none",error:1,toString:bx}},a),a.hsb=bv(function(b,c,d){return a.hsb2rgb(b,c,d).hex}),a.hsl=bv(function(b,c,d){return a.hsl2rgb(b,c,d).hex}),a.rgb=bv(function(a,b,c){return"#"+(16777216|c|b<<8|a<<16).toString(16).slice(1)}),a.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);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}));return c.hex},a.getColor.reset=function(){delete this.start},a.parsePathString=function(b){if(!b)return null;var c=bz(b);if(c.arr)return bJ(c.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=[];a.is(b,E)&&a.is(b[0],E)&&(e=bJ(b)),e.length||r(b).replace(Z,function(a,b,c){var f=[],g=b.toLowerCase();c.replace(_,function(a,b){b&&f.push(+b)}),g=="m"&&f.length>2&&(e.push([b][n](f.splice(0,2))),g="l",b=b=="m"?"l":"L");if(g=="r")e.push([b][n](f));else while(f.length>=d[g]){e.push([b][n](f.splice(0,d[g])));if(!d[g])break}}),e.toString=a._path2string,c.arr=bJ(e);return e},a.parseTransformString=bv(function(b){if(!b)return null;var c={r:3,s:4,t:2,m:6},d=[];a.is(b,E)&&a.is(b[0],E)&&(d=bJ(b)),d.length||r(b).replace($,function(a,b,c){var e=[],f=v.call(b);c.replace(_,function(a,b){b&&e.push(+b)}),d.push([b][n](e))}),d.toString=a._path2string;return d});var bz=function(a){var b=bz.ps=bz.ps||{};b[a]?b[a].sleep=100:b[a]={sleep:100},setTimeout(function(){for(var c in b)b[g](c)&&c!=a&&(b[c].sleep--,!b[c].sleep&&delete b[c])});return b[a]};a.findDotsAtSegment=function(a,b,c,d,e,f,g,h,i){var j=1-i,k=A(j,3),l=A(j,2),m=i*i,n=m*i,o=k*a+l*3*i*c+j*3*i*i*e+n*g,p=k*b+l*3*i*d+j*3*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,x=j*e+i*g,y=j*f+i*h,z=90-w.atan2(q-s,r-t)*180/B;(q>s||r=a.x&&b<=a.x2&&c>=a.y&&c<=a.y2},a.isBBoxIntersect=function(b,c){var d=a.isPointInsideBBox;return d(c,b.x,b.y)||d(c,b.x2,b.y)||d(c,b.x,b.y2)||d(c,b.x2,b.y2)||d(b,c.x,c.y)||d(b,c.x2,c.y)||d(b,c.x,c.y2)||d(b,c.x2,c.y2)||(b.xc.x||c.xb.x)&&(b.yc.y||c.yb.y)},a.pathIntersection=function(a,b){return bH(a,b)},a.pathIntersectionNumber=function(a,b){return bH(a,b,1)},a.isPointInsidePath=function(b,c,d){var e=a.pathBBox(b);return a.isPointInsideBBox(e,c,d)&&bH(b,[["M",c,d],["H",e.x2+10]],1)%2==1},a._removedFactory=function(a){return function(){eve("raphael.log",null,"Raphaël: you are calling to method “"+a+"” of removed object",a)}};var bI=a.pathBBox=function(a){var b=bz(a);if(b.bbox)return b.bbox;if(!a)return{x:0,y:0,width:0,height:0,x2:0,y2:0};a=bR(a);var c=0,d=0,e=[],f=[],g;for(var h=0,i=a.length;h1&&(v=w.sqrt(v),c=v*c,d=v*d);var x=c*c,y=d*d,A=(f==g?-1:1)*w.sqrt(z((x*y-x*u*u-y*t*t)/(x*u*u+y*t*t))),C=A*c*u/d+(a+h)/2,D=A*-d*t/c+(b+i)/2,E=w.asin(((b-D)/d).toFixed(9)),F=w.asin(((i-D)/d).toFixed(9));E=aF&&(E=E-B*2),!g&&F>E&&(F=F-B*2)}else E=j[0],F=j[1],C=j[2],D=j[3];var G=F-E;if(z(G)>k){var H=F,I=h,J=i;F=E+k*(g&&F>E?1:-1),h=C+c*w.cos(F),i=D+d*w.sin(F),m=bO(h,i,c,d,e,0,g,I,J,[F,H,C,D])}G=F-E;var K=w.cos(E),L=w.sin(E),M=w.cos(F),N=w.sin(F),O=w.tan(G/4),P=4/3*c*O,Q=4/3*d*O,R=[a,b],S=[a+P*L,b-Q*K],T=[h+P*N,i-Q*M],U=[h,i];S[0]=2*R[0]-S[0],S[1]=2*R[1]-S[1];if(j)return[S,T,U][n](m);m=[S,T,U][n](m).join()[s](",");var V=[];for(var W=0,X=m.length;W"1e12"&&(l=.5),z(n)>"1e12"&&(n=.5),l>0&&l<1&&(q=bP(a,b,c,d,e,f,g,h,l),p.push(q.x),o.push(q.y)),n>0&&n<1&&(q=bP(a,b,c,d,e,f,g,h,n),p.push(q.x),o.push(q.y)),i=f-2*d+b-(h-2*f+d),j=2*(d-b)-2*(f-d),k=b-d,l=(-j+w.sqrt(j*j-4*i*k))/2/i,n=(-j-w.sqrt(j*j-4*i*k))/2/i,z(l)>"1e12"&&(l=.5),z(n)>"1e12"&&(n=.5),l>0&&l<1&&(q=bP(a,b,c,d,e,f,g,h,l),p.push(q.x),o.push(q.y)),n>0&&n<1&&(q=bP(a,b,c,d,e,f,g,h,n),p.push(q.x),o.push(q.y));return{min:{x:y[m](0,p),y:y[m](0,o)},max:{x:x[m](0,p),y:x[m](0,o)}}}),bR=a._path2curve=bv(function(a,b){var c=!b&&bz(a);if(!b&&c.curve)return bJ(c.curve);var d=bL(a),e=b&&bL(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){var c,d;if(!a)return["C",b.x,b.y,b.x,b.y,b.x,b.y];!(a[0]in{T:1,Q:1})&&(b.qx=b.qy=null);switch(a[0]){case"M":b.X=a[1],b.Y=a[2];break;case"A":a=["C"][n](bO[m](0,[b.x,b.y][n](a.slice(1))));break;case"S":c=b.x+(b.x-(b.bx||b.x)),d=b.y+(b.y-(b.by||b.y)),a=["C",c,d][n](a.slice(1));break;case"T":b.qx=b.x+(b.x-(b.qx||b.x)),b.qy=b.y+(b.y-(b.qy||b.y)),a=["C"][n](bN(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"][n](bN(b.x,b.y,a[1],a[2],a[3],a[4]));break;case"L":a=["C"][n](bM(b.x,b.y,a[1],a[2]));break;case"H":a=["C"][n](bM(b.x,b.y,a[1],b.y));break;case"V":a=["C"][n](bM(b.x,b.y,b.x,a[1]));break;case"Z":a=["C"][n](bM(b.x,b.y,b.X,b.Y))}return a},i=function(a,b){if(a[b].length>7){a[b].shift();var c=a[b];while(c.length)a.splice(b++,0,["C"][n](c.splice(0,6)));a.splice(b,1),l=x(d.length,e&&e.length||0)}},j=function(a,b,c,f,g){a&&b&&a[g][0]=="M"&&b[g][0]!="M"&&(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],l=x(d.length,e&&e.length||0))};for(var k=0,l=x(d.length,e&&e.length||0);ke){if(c&&!l.start){m=cs(g,h,i[1],i[2],i[3],i[4],i[5],i[6],e-n),k+=["C"+m.start.x,m.start.y,m.m.x,m.m.y,m.x,m.y];if(f)return k;l.start=k,k=["M"+m.x,m.y+"C"+m.n.x,m.n.y,m.end.x,m.end.y,i[5],i[6]].join(),n+=j,g=+i[5],h=+i[6];continue}if(!b&&!c){m=cs(g,h,i[1],i[2],i[3],i[4],i[5],i[6],e-n);return{x:m.x,y:m.y,alpha:m.alpha}}}n+=j,g=+i[5],h=+i[6]}k+=i.shift()+i}l.end=k,m=b?n:c?l:a.findDotsAtSegment(g,h,i[0],i[1],i[2],i[3],i[4],i[5],1),m.alpha&&(m={x:m.x,y:m.y,alpha:m.alpha});return m}},cu=ct(1),cv=ct(),cw=ct(0,1);a.getTotalLength=cu,a.getPointAtLength=cv,a.getSubpath=function(a,b,c){if(this.getTotalLength(a)-c<1e-6)return cw(a,b).end;var d=cw(a,c,1);return b?cw(d,b).end:d},cl.getTotalLength=function(){if(this.type=="path"){if(this.node.getTotalLength)return this.node.getTotalLength();return cu(this.attrs.path)}},cl.getPointAtLength=function(a){if(this.type=="path")return cv(this.attrs.path,a)},cl.getSubpath=function(b,c){if(this.type=="path")return a.getSubpath(this.attrs.path,b,c)};var cx=a.easing_formulas={linear:function(a){return a},"<":function(a){return A(a,1.7)},">":function(a){return A(a,.48)},"<>":function(a){var b=.48-a/1.04,c=w.sqrt(.1734+b*b),d=c-b,e=A(z(d),1/3)*(d<0?-1:1),f=-c-b,g=A(z(f),1/3)*(f<0?-1:1),h=e+g+.5;return(1-h)*3*h*h+h*h*h},backIn:function(a){var b=1.70158;return a*a*((b+1)*a-b)},backOut:function(a){a=a-1;var b=1.70158;return a*a*((b+1)*a+b)+1},elastic:function(a){if(a==!!a)return a;return A(2,-10*a)*w.sin((a-.075)*2*B/.3)+1},bounce:function(a){var b=7.5625,c=2.75,d;a<1/c?d=b*a*a:a<2/c?(a-=1.5/c,d=b*a*a+.75):a<2.5/c?(a-=2.25/c,d=b*a*a+.9375):(a-=2.625/c,d=b*a*a+.984375);return d}};cx.easeIn=cx["ease-in"]=cx["<"],cx.easeOut=cx["ease-out"]=cx[">"],cx.easeInOut=cx["ease-in-out"]=cx["<>"],cx["back-in"]=cx.backIn,cx["back-out"]=cx.backOut;var cy=[],cz=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(a){setTimeout(a,16)},cA=function(){var b=+(new Date),c=0;for(;c1&&!d.next){for(s in k)k[g](s)&&(r[s]=d.totalOrigin[s]);d.el.attr(r),cE(d.anim,d.el,d.anim.percents[0],null,d.totalOrigin,d.repeat-1)}d.next&&!d.stop&&cE(d.anim,d.el,d.next,null,d.totalOrigin,d.repeat)}}a.svg&&m&&m.paper&&m.paper.safari(),cy.length&&cz(cA)},cB=function(a){return a>255?255:a<0?0:a};cl.animateWith=function(b,c,d,e,f,g){var h=this;if(h.removed){g&&g.call(h);return h}var i=d instanceof cD?d:a.animation(d,e,f,g),j,k;cE(i,h,i.percents[0],null,h.attr());for(var l=0,m=cy.length;l.5)*2-1;i(m-.5,2)+i(n-.5,2)>.25&&(n=f.sqrt(.25-i(m-.5,2))*e+.5)&&n!=.5&&(n=n.toFixed(5)-1e-5*e)}return l}),e=e.split(/\s*\-\s*/);if(j=="linear"){var t=e.shift();t=-d(t);if(isNaN(t))return null;var u=[0,0,f.cos(a.rad(t)),f.sin(a.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=a._parseDots(e);if(!w)return null;k=k.replace(/[\(\)\s,\xb0#]/g,"_"),b.gradient&&k!=b.gradient.id&&(p.defs.removeChild(b.gradient),delete b.gradient);if(!b.gradient){s=q(j+"Gradient",{id:k}),b.gradient=s,q(s,j=="radial"?{fx:m,fy:n}:{x1:u[0],y1:u[1],x2:u[2],y2:u[3],gradientTransform:b.matrix.invert()}),p.defs.appendChild(s);for(var x=0,y=w.length;x1?G.opacity/100:G.opacity});case"stroke":G=a.getRGB(p),i.setAttribute(o,G.hex),o=="stroke"&&G[b]("opacity")&&q(i,{"stroke-opacity":G.opacity>1?G.opacity/100:G.opacity}),o=="stroke"&&d._.arrows&&("startString"in d._.arrows&&t(d,d._.arrows.startString),"endString"in d._.arrows&&t(d,d._.arrows.endString,1));break;case"gradient":(d.type=="circle"||d.type=="ellipse"||c(p).charAt()!="r")&&r(d,p);break;case"opacity":k.gradient&&!k[b]("stroke-opacity")&&q(i,{"stroke-opacity":p>1?p/100:p});case"fill-opacity":if(k.gradient){H=a._g.doc.getElementById(i.getAttribute("fill").replace(/^url\(#|\)$/g,l)),H&&(I=H.getElementsByTagName("stop"),q(I[I.length-1],{"stop-opacity":p}));break};default:o=="font-size"&&(p=e(p,10)+"px");var J=o.replace(/(\-.)/g,function(a){return a.substring(1).toUpperCase()});i.style[J]=p,d._.dirty=1,i.setAttribute(o,p)}}y(d,f),i.style.visibility=m},x=1.2,y=function(d,f){if(d.type=="text"&&!!(f[b]("text")||f[b]("font")||f[b]("font-size")||f[b]("x")||f[b]("y"))){var g=d.attrs,h=d.node,i=h.firstChild?e(a._g.doc.defaultView.getComputedStyle(h.firstChild,l).getPropertyValue("font-size"),10):10;if(f[b]("text")){g.text=f.text;while(h.firstChild)h.removeChild(h.firstChild);var j=c(f.text).split("\n"),k=[],m;for(var n=0,o=j.length;n"));var $=X.getBoundingClientRect();t.W=m.w=($.right-$.left)/Y,t.H=m.h=($.bottom-$.top)/Y,t.X=m.x,t.Y=m.y+t.H/2,("x"in i||"y"in i)&&(t.path.v=a.format("m{0},{1}l{2},{1}",f(m.x*u),f(m.y*u),f(m.x*u)+1));var _=["x","y","text","font","font-family","font-weight","font-style","font-size"];for(var ba=0,bb=_.length;ba.25&&(c=e.sqrt(.25-i(b-.5,2))*((c>.5)*2-1)+.5),m=b+n+c);return o}),f=f.split(/\s*\-\s*/);if(l=="linear"){var p=f.shift();p=-d(p);if(isNaN(p))return null}var q=a._parseDots(f);if(!q)return null;b=b.shape||b.node;if(q.length){b.removeChild(g),g.on=!0,g.method="none",g.color=q[0].color,g.color2=q[q.length-1].color;var r=[];for(var s=0,t=q.length;s')}}catch(c){F=function(a){return b.createElement("<"+a+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">')}}},a._engine.initWin(a._g.win),a._engine.create=function(){var b=a._getContainer.apply(0,arguments),c=b.container,d=b.height,e,f=b.width,g=b.x,h=b.y;if(!c)throw new Error("VML container not found.");var i=new a._Paper,j=i.canvas=a._g.doc.createElement("div"),k=j.style;g=g||0,h=h||0,f=f||512,d=d||342,i.width=f,i.height=d,f==+f&&(f+="px"),d==+d&&(d+="px"),i.coordsize=u*1e3+n+u*1e3,i.coordorigin="0 0",i.span=a._g.doc.createElement("span"),i.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;",j.appendChild(i.span),k.cssText=a.format("top:0;left:0;width:{0};height:{1};display:inline-block;position:relative;clip:rect(0 {0} {1} 0);overflow:hidden",f,d),c==1?(a._g.doc.body.appendChild(j),k.left=g+"px",k.top=h+"px",k.position="absolute"):c.firstChild?c.insertBefore(j,c.firstChild):c.appendChild(j),i.renderfix=function(){};return i},a.prototype.clear=function(){a.eve("raphael.clear",this),this.canvas.innerHTML=o,this.span=a._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},a.prototype.remove=function(){a.eve("raphael.remove",this),this.canvas.parentNode.removeChild(this.canvas);for(var b in this)this[b]=typeof this[b]=="function"?a._removedFactory(b):null;return!0};var G=a.st;for(var H in E)E[b](H)&&!G[b](H)&&(G[H]=function(a){return function(){var b=arguments;return this.forEach(function(c){c[a].apply(c,b)})}}(H))}(window.Raphael) -; -d3=function(){function n(n){return null!=n&&!isNaN(n)}function t(n){return n.length}function e(n){for(var t=1;n*t%1;)t*=10;return t}function r(n,t){try{for(var e in t)Object.defineProperty(n.prototype,e,{value:t[e],enumerable:!1})}catch(r){n.prototype=t}}function u(){}function i(){}function o(n,t,e){return function(){var r=e.apply(t,arguments);return r===t?n:r}}function a(n,t){if(t in n)return t;t=t.charAt(0).toUpperCase()+t.substring(1);for(var e=0,r=Do.length;r>e;++e){var u=Do[e]+t;if(u in n)return u}}function c(){}function l(){}function s(n){function t(){for(var t,r=e,u=-1,i=r.length;++ue;e++)for(var u,i=n[e],o=0,a=i.length;a>o;o++)(u=i[o])&&t(u,o,e);return n}function T(n){return Lo(n,Io),n}function q(n){var t,e;return function(r,u,i){var o,a=n[i].update,c=a.length;for(i!=e&&(e=i,t=0),u>=t&&(t=u+1);!(o=a[t])&&++t0&&(n=n.substring(0,a));var s=Zo.get(n);return s&&(n=s,l=j),a?t?u:r:t?c:i}function D(n,t){return function(e){var r=mo.event;mo.event=e,t[0]=this.__data__;try{n.apply(this,t)}finally{mo.event=r}}}function j(n,t){var e=D(n,t);return function(n){var t=this,r=n.relatedTarget;r&&(r===t||8&r.compareDocumentPosition(t))||e.call(t,n)}}function L(){var n=".dragsuppress-"+ ++Xo,t="touchmove"+n,e="selectstart"+n,r="dragstart"+n,u="click"+n,i=mo.select(_o).on(t,f).on(e,f).on(r,f),o=bo.style,a=o[Vo];return o[Vo]="none",function(t){function e(){i.on(u,null)}i.on(n,null),o[Vo]=a,t&&(i.on(u,function(){f(),e()},!0),setTimeout(e,0))}}function H(n,t){t.changedTouches&&(t=t.changedTouches[0]);var e=n.ownerSVGElement||n;if(e.createSVGPoint){var r=e.createSVGPoint();if(0>$o&&(_o.scrollX||_o.scrollY)){e=mo.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var u=e[0][0].getScreenCTM();$o=!(u.f||u.e),e.remove()}return $o?(r.x=t.pageX,r.y=t.pageY):(r.x=t.clientX,r.y=t.clientY),r=r.matrixTransform(n.getScreenCTM().inverse()),[r.x,r.y]}var i=n.getBoundingClientRect();return[t.clientX-i.left-n.clientLeft,t.clientY-i.top-n.clientTop]}function F(n){return n>0?1:0>n?-1:0}function P(n){return n>1?0:-1>n?Bo:Math.acos(n)}function O(n){return n>1?Jo:-1>n?-Jo:Math.asin(n)}function R(n){return((n=Math.exp(n))-1/n)/2}function Y(n){return((n=Math.exp(n))+1/n)/2}function I(n){return((n=Math.exp(2*n))-1)/(n+1)}function U(n){return(n=Math.sin(n/2))*n}function Z(){}function V(n,t,e){return new X(n,t,e)}function X(n,t,e){this.h=n,this.s=t,this.l=e}function $(n,t,e){function r(n){return n>360?n-=360:0>n&&(n+=360),60>n?i+(o-i)*n/60:180>n?o:240>n?i+(o-i)*(240-n)/60:i}function u(n){return Math.round(255*r(n))}var i,o;return n=isNaN(n)?0:(n%=360)<0?n+360:n,t=isNaN(t)?0:0>t?0:t>1?1:t,e=0>e?0:e>1?1:e,o=.5>=e?e*(1+t):e+t-e*t,i=2*e-o,ot(u(n+120),u(n),u(n-120))}function B(n,t,e){return new W(n,t,e)}function W(n,t,e){this.h=n,this.c=t,this.l=e}function J(n,t,e){return isNaN(n)&&(n=0),isNaN(t)&&(t=0),G(e,Math.cos(n*=Qo)*t,Math.sin(n)*t)}function G(n,t,e){return new K(n,t,e)}function K(n,t,e){this.l=n,this.a=t,this.b=e}function Q(n,t,e){var r=(n+16)/116,u=r+t/500,i=r-e/200;return u=tt(u)*sa,r=tt(r)*fa,i=tt(i)*ha,ot(rt(3.2404542*u-1.5371385*r-.4985314*i),rt(-.969266*u+1.8760108*r+.041556*i),rt(.0556434*u-.2040259*r+1.0572252*i))}function nt(n,t,e){return n>0?B(Math.atan2(e,t)*na,Math.sqrt(t*t+e*e),n):B(0/0,0/0,n)}function tt(n){return n>.206893034?n*n*n:(n-4/29)/7.787037}function et(n){return n>.008856?Math.pow(n,1/3):7.787037*n+4/29}function rt(n){return Math.round(255*(.00304>=n?12.92*n:1.055*Math.pow(n,1/2.4)-.055))}function ut(n){return ot(n>>16,255&n>>8,255&n)}function it(n){return ut(n)+""}function ot(n,t,e){return new at(n,t,e)}function at(n,t,e){this.r=n,this.g=t,this.b=e}function ct(n){return 16>n?"0"+Math.max(0,n).toString(16):Math.min(255,n).toString(16)}function lt(n,t,e){var r,u,i,o=0,a=0,c=0;if(r=/([a-z]+)\((.*)\)/i.exec(n))switch(u=r[2].split(","),r[1]){case"hsl":return e(parseFloat(u[0]),parseFloat(u[1])/100,parseFloat(u[2])/100);case"rgb":return t(gt(u[0]),gt(u[1]),gt(u[2]))}return(i=da.get(n))?t(i.r,i.g,i.b):(null!=n&&"#"===n.charAt(0)&&(4===n.length?(o=n.charAt(1),o+=o,a=n.charAt(2),a+=a,c=n.charAt(3),c+=c):7===n.length&&(o=n.substring(1,3),a=n.substring(3,5),c=n.substring(5,7)),o=parseInt(o,16),a=parseInt(a,16),c=parseInt(c,16)),t(o,a,c))}function st(n,t,e){var r,u,i=Math.min(n/=255,t/=255,e/=255),o=Math.max(n,t,e),a=o-i,c=(o+i)/2;return a?(u=.5>c?a/(o+i):a/(2-o-i),r=n==o?(t-e)/a+(e>t?6:0):t==o?(e-n)/a+2:(n-t)/a+4,r*=60):(r=0/0,u=c>0&&1>c?0:r),V(r,u,c)}function ft(n,t,e){n=ht(n),t=ht(t),e=ht(e);var r=et((.4124564*n+.3575761*t+.1804375*e)/sa),u=et((.2126729*n+.7151522*t+.072175*e)/fa),i=et((.0193339*n+.119192*t+.9503041*e)/ha);return G(116*u-16,500*(r-u),200*(u-i))}function ht(n){return(n/=255)<=.04045?n/12.92:Math.pow((n+.055)/1.055,2.4)}function gt(n){var t=parseFloat(n);return"%"===n.charAt(n.length-1)?Math.round(2.55*t):t}function pt(n){return"function"==typeof n?n:function(){return n}}function dt(n){return n}function vt(n){return function(t,e,r){return 2===arguments.length&&"function"==typeof e&&(r=e,e=null),mt(t,e,n,r)}}function mt(n,t,e,r){function u(){var n,t=c.status;if(!t&&c.responseText||t>=200&&300>t||304===t){try{n=e.call(i,c)}catch(r){return o.error.call(i,r),void 0}o.load.call(i,n)}else o.error.call(i,c)}var i={},o=mo.dispatch("beforesend","progress","load","error"),a={},c=new XMLHttpRequest,l=null;return!_o.XDomainRequest||"withCredentials"in c||!/^(http(s)?:)?\/\//.test(n)||(c=new XDomainRequest),"onload"in c?c.onload=c.onerror=u:c.onreadystatechange=function(){c.readyState>3&&u()},c.onprogress=function(n){var t=mo.event;mo.event=n;try{o.progress.call(i,c)}finally{mo.event=t}},i.header=function(n,t){return n=(n+"").toLowerCase(),arguments.length<2?a[n]:(null==t?delete a[n]:a[n]=t+"",i)},i.mimeType=function(n){return arguments.length?(t=null==n?null:n+"",i):t},i.responseType=function(n){return arguments.length?(l=n,i):l},i.response=function(n){return e=n,i},["get","post"].forEach(function(n){i[n]=function(){return i.send.apply(i,[n].concat(Mo(arguments)))}}),i.send=function(e,r,u){if(2===arguments.length&&"function"==typeof r&&(u=r,r=null),c.open(e,n,!0),null==t||"accept"in a||(a.accept=t+",*/*"),c.setRequestHeader)for(var s in a)c.setRequestHeader(s,a[s]);return null!=t&&c.overrideMimeType&&c.overrideMimeType(t),null!=l&&(c.responseType=l),null!=u&&i.on("error",u).on("load",function(n){u(null,n)}),o.beforesend.call(i,c),c.send(null==r?null:r),i},i.abort=function(){return c.abort(),i},mo.rebind(i,o,"on"),null==r?i:i.get(yt(r))}function yt(n){return 1===n.length?function(t,e){n(null==t?e:null)}:n}function Mt(){var n=bt(),t=_t()-n;t>24?(isFinite(t)&&(clearTimeout(Ma),Ma=setTimeout(Mt,t)),ya=0):(ya=1,ba(Mt))}function xt(n,t,e){var r=arguments.length;2>r&&(t=0),3>r&&(e=Date.now()),xa.callback=n,xa.time=e+t}function bt(){var n=Date.now();for(xa=va;xa;)n>=xa.time&&(xa.flush=xa.callback(n-xa.time)),xa=xa.next;return n}function _t(){for(var n,t=va,e=1/0;t;)t.flush?t=n?n.next=t.next:va=t.next:(t.time8?function(n){return n/e}:function(n){return n*e},symbol:n}}function St(n,t){return t-(n?Math.ceil(Math.log(n)/Math.LN10):1)}function Et(n){return n+""}function kt(){}function At(n,t,e){var r=e.s=n+t,u=r-n,i=r-u;e.t=n-i+(t-u)}function Nt(n,t){n&&Da.hasOwnProperty(n.type)&&Da[n.type](n,t)}function Tt(n,t,e){var r,u=-1,i=n.length-e;for(t.lineStart();++ua;++a)u.point((e=n[a])[0],e[1]);return u.lineEnd(),void 0}var c={point:e,points:n,other:null,visited:!1,entry:!0,subject:!0},l={point:e,points:[e],other:c,visited:!1,entry:!1,subject:!1};c.other=l,i.push(c),o.push(l),c={point:r,points:[r],other:null,visited:!1,entry:!1,subject:!0},l={point:r,points:[r],other:c,visited:!1,entry:!0,subject:!1},c.other=l,i.push(c),o.push(l)}}),o.sort(t),$t(i),$t(o),i.length){for(var a=0,c=e,l=o.length;l>a;++a)o[a].entry=c=!c;for(var s,f,h,g=i[0];;){for(s=g;s.visited;)if((s=s.next)===g)return;f=s.points,u.lineStart();do{if(s.visited=s.other.visited=!0,s.entry){if(s.subject)for(var a=0;a=0;)u.point((h=f[a])[0],h[1])}else r(s.point,s.prev.point,-1,u);s=s.prev}s=s.other,f=s.points}while(!s.visited);u.lineEnd()}}}function $t(n){if(t=n.length){for(var t,e,r=0,u=n[0];++r1&&2&t&&e.push(e.pop().concat(e.shift())),g.push(e.filter(Wt))}}var g,p,d,v=t(i),m=u.invert(r[0],r[1]),y={point:o,lineStart:c,lineEnd:l,polygonStart:function(){y.point=s,y.lineStart=f,y.lineEnd=h,g=[],p=[],i.polygonStart()},polygonEnd:function(){y.point=o,y.lineStart=c,y.lineEnd=l,g=mo.merge(g);var n=Kt(m,p);g.length?Xt(g,Gt,n,e,i):n&&(i.lineStart(),e(null,null,1,i),i.lineEnd()),i.polygonEnd(),g=p=null},sphere:function(){i.polygonStart(),i.lineStart(),e(null,null,1,i),i.lineEnd(),i.polygonEnd()}},M=Jt(),x=t(M);return y}}function Wt(n){return n.length>1}function Jt(){var n,t=[];return{lineStart:function(){t.push(n=[])},point:function(t,e){n.push([t,e])},lineEnd:c,buffer:function(){var e=t;return t=[],n=null,e},rejoin:function(){t.length>1&&t.push(t.pop().concat(t.shift()))}}}function Gt(n,t){return((n=n.point)[0]<0?n[1]-Jo-Go:Jo-n[1])-((t=t.point)[0]<0?t[1]-Jo-Go:Jo-t[1])}function Kt(n,t){var e=n[0],r=n[1],u=[Math.sin(e),-Math.cos(e),0],i=0,o=0;La.reset();for(var a=0,c=t.length;c>a;++a){var l=t[a],s=l.length;if(s)for(var f=l[0],h=f[0],g=f[1]/2+Bo/4,p=Math.sin(g),d=Math.cos(g),v=1;;){v===s&&(v=0),n=l[v];var m=n[0],y=n[1]/2+Bo/4,M=Math.sin(y),x=Math.cos(y),b=m-h,_=Math.abs(b)>Bo,w=p*M;if(La.add(Math.atan2(w*Math.sin(b),d*x+w*Math.cos(b))),i+=_?b+(b>=0?2:-2)*Bo:b,_^h>=e^m>=e){var S=jt(Ct(f),Ct(n));Ft(S);var E=jt(u,S);Ft(E);var k=(_^b>=0?-1:1)*O(E[2]);(r>k||r===k&&(S[0]||S[1]))&&(o+=_^b>=0?1:-1)}if(!v++)break;h=m,p=M,d=x,f=n}}return(-Go>i||Go>i&&0>La)^1&o}function Qt(n){var t,e=0/0,r=0/0,u=0/0;return{lineStart:function(){n.lineStart(),t=1},point:function(i,o){var a=i>0?Bo:-Bo,c=Math.abs(i-e);Math.abs(c-Bo)0?Jo:-Jo),n.point(u,r),n.lineEnd(),n.lineStart(),n.point(a,r),n.point(i,r),t=0):u!==a&&c>=Bo&&(Math.abs(e-u)Go?Math.atan((Math.sin(t)*(i=Math.cos(r))*Math.sin(e)-Math.sin(r)*(u=Math.cos(t))*Math.sin(n))/(u*i*o)):(t+r)/2}function te(n,t,e,r){var u;if(null==n)u=e*Jo,r.point(-Bo,u),r.point(0,u),r.point(Bo,u),r.point(Bo,0),r.point(Bo,-u),r.point(0,-u),r.point(-Bo,-u),r.point(-Bo,0),r.point(-Bo,u);else if(Math.abs(n[0]-t[0])>Go){var i=(n[0]i}function e(n){var e,i,c,l,s;return{lineStart:function(){l=c=!1,s=1},point:function(f,h){var g,p=[f,h],d=t(f,h),v=o?d?0:u(f,h):d?u(f+(0>f?Bo:-Bo),h):0;if(!e&&(l=c=d)&&n.lineStart(),d!==c&&(g=r(e,p),(Ot(e,g)||Ot(p,g))&&(p[0]+=Go,p[1]+=Go,d=t(p[0],p[1]))),d!==c)s=0,d?(n.lineStart(),g=r(p,e),n.point(g[0],g[1])):(g=r(e,p),n.point(g[0],g[1]),n.lineEnd()),e=g;else if(a&&e&&o^d){var m;v&i||!(m=r(p,e,!0))||(s=0,o?(n.lineStart(),n.point(m[0][0],m[0][1]),n.point(m[1][0],m[1][1]),n.lineEnd()):(n.point(m[1][0],m[1][1]),n.lineEnd(),n.lineStart(),n.point(m[0][0],m[0][1])))}!d||e&&Ot(e,p)||n.point(p[0],p[1]),e=p,c=d,i=v},lineEnd:function(){c&&n.lineEnd(),e=null},clean:function(){return s|(l&&c)<<1}}}function r(n,t,e){var r=Ct(n),u=Ct(t),o=[1,0,0],a=jt(r,u),c=Dt(a,a),l=a[0],s=c-l*l;if(!s)return!e&&n;var f=i*c/s,h=-i*l/s,g=jt(o,a),p=Ht(o,f),d=Ht(a,h);Lt(p,d);var v=g,m=Dt(p,v),y=Dt(v,v),M=m*m-y*(Dt(p,p)-1);if(!(0>M)){var x=Math.sqrt(M),b=Ht(v,(-m-x)/y);if(Lt(b,p),b=Pt(b),!e)return b;var _,w=n[0],S=t[0],E=n[1],k=t[1];w>S&&(_=w,w=S,S=_);var A=S-w,N=Math.abs(A-Bo)A;if(!N&&E>k&&(_=E,E=k,k=_),T?N?E+k>0^b[1]<(Math.abs(b[0]-w)Bo^(w<=b[0]&&b[0]<=S)){var q=Ht(v,(-m+x)/y);return Lt(q,p),[b,Pt(q)]}}}function u(t,e){var r=o?n:Bo-n,u=0;return-r>t?u|=1:t>r&&(u|=2),-r>e?u|=4:e>r&&(u|=8),u}var i=Math.cos(n),o=i>0,a=Math.abs(i)>Go,c=Te(n,6*Qo);return Bt(t,e,c,o?[0,-n]:[-Bo,n-Bo])}function re(n,t,e,r){function u(r,u){return Math.abs(r[0]-n)0?0:3:Math.abs(r[0]-e)0?2:1:Math.abs(r[1]-t)0?1:0:u>0?3:2}function i(n,t){return o(n.point,t.point)}function o(n,t){var e=u(n,1),r=u(t,1);return e!==r?e-r:0===e?t[1]-n[1]:1===e?n[0]-t[0]:2===e?n[1]-t[1]:t[0]-n[0]}function a(u,i){var o=i[0]-u[0],a=i[1]-u[1],c=[0,1];return Math.abs(o)0&&(u[0]+=c[0]*o,u[1]+=c[0]*a),!0):!1}return function(c){function l(n){for(var t=0,e=y.length,r=n[1],u=0;e>u;++u)for(var i,o=1,a=y[u],c=a.length,l=a[0];c>o;++o)i=a[o],l[1]<=r?i[1]>r&&s(l,i,n)>0&&++t:i[1]<=r&&s(l,i,n)<0&&--t,l=i;return 0!==t}function s(n,t,e){return(t[0]-n[0])*(e[1]-n[1])-(e[0]-n[0])*(t[1]-n[1])}function f(i,a,c,l){var s=0,f=0;if(null==i||(s=u(i,c))!==(f=u(a,c))||o(i,a)<0^c>0){do l.point(0===s||3===s?n:e,s>1?r:t);while((s=(s+c+4)%4)!==f)}else l.point(a[0],a[1])}function h(u,i){return u>=n&&e>=u&&i>=t&&r>=i}function g(n,t){h(n,t)&&c.point(n,t)}function p(){q.point=v,y&&y.push(M=[]),k=!0,E=!1,w=S=0/0}function d(){m&&(v(x,b),_&&E&&T.rejoin(),m.push(T.buffer())),q.point=g,E&&c.lineEnd()}function v(n,t){n=Math.max(-Ja,Math.min(Ja,n)),t=Math.max(-Ja,Math.min(Ja,t));var e=h(n,t);if(y&&M.push([n,t]),k)x=n,b=t,_=e,k=!1,e&&(c.lineStart(),c.point(n,t));else if(e&&E)c.point(n,t);else{var r=[w,S],u=[n,t];a(r,u)?(E||(c.lineStart(),c.point(r[0],r[1])),c.point(u[0],u[1]),e||c.lineEnd(),A=!1):e&&(c.lineStart(),c.point(n,t),A=!1)}w=n,S=t,E=e}var m,y,M,x,b,_,w,S,E,k,A,N=c,T=Jt(),q={point:g,lineStart:p,lineEnd:d,polygonStart:function(){c=T,m=[],y=[],A=!0},polygonEnd:function(){c=N,m=mo.merge(m);var t=l([n,r]),e=A&&t,u=m.length;(e||u)&&(c.polygonStart(),e&&(c.lineStart(),f(null,null,1,c),c.lineEnd()),u&&Xt(m,i,t,f,c),c.polygonEnd()),m=y=M=null}};return q}}function ue(n,t,e){if(Math.abs(t)=n;var r=n/t;if(t>0){if(r>e[1])return!1;r>e[0]&&(e[0]=r)}else{if(rn&&(Qa=n),n>tc&&(tc=n),nc>t&&(nc=t),t>ec&&(ec=t)}function se(){function n(n,t){o.push("M",n,",",t,i)}function t(n,t){o.push("M",n,",",t),a.point=e}function e(n,t){o.push("L",n,",",t)}function r(){a.point=n}function u(){o.push("Z")}var i=fe(4.5),o=[],a={point:n,lineStart:function(){a.point=t},lineEnd:r,polygonStart:function(){a.lineEnd=u},polygonEnd:function(){a.lineEnd=r,a.point=n},pointRadius:function(n){return i=fe(n),a},result:function(){if(o.length){var n=o.join("");return o=[],n}}};return a}function fe(n){return"m0,"+n+"a"+n+","+n+" 0 1,1 0,"+-2*n+"a"+n+","+n+" 0 1,1 0,"+2*n+"z"}function he(n,t){Oa+=n,Ra+=t,++Ya}function ge(){function n(n,r){var u=n-t,i=r-e,o=Math.sqrt(u*u+i*i);Ia+=o*(t+n)/2,Ua+=o*(e+r)/2,Za+=o,he(t=n,e=r)}var t,e;ic.point=function(r,u){ic.point=n,he(t=r,e=u)}}function pe(){ic.point=he}function de(){function n(n,t){var e=n-r,i=t-u,o=Math.sqrt(e*e+i*i);Ia+=o*(r+n)/2,Ua+=o*(u+t)/2,Za+=o,o=u*n-r*t,Va+=o*(r+n),Xa+=o*(u+t),$a+=3*o,he(r=n,u=t)}var t,e,r,u;ic.point=function(i,o){ic.point=n,he(t=r=i,e=u=o)},ic.lineEnd=function(){n(t,e)}}function ve(n){function t(t,e){n.moveTo(t,e),n.arc(t,e,o,0,Wo)}function e(t,e){n.moveTo(t,e),a.point=r}function r(t,e){n.lineTo(t,e)}function u(){a.point=t}function i(){n.closePath()}var o=4.5,a={point:t,lineStart:function(){a.point=e},lineEnd:u,polygonStart:function(){a.lineEnd=i},polygonEnd:function(){a.lineEnd=u,a.point=t},pointRadius:function(n){return o=n,a},result:c};return a}function me(n){function t(t){function r(e,r){e=n(e,r),t.point(e[0],e[1])}function u(){M=0/0,S.point=o,t.lineStart()}function o(r,u){var o=Ct([r,u]),a=n(r,u);e(M,x,y,b,_,w,M=a[0],x=a[1],y=r,b=o[0],_=o[1],w=o[2],i,t),t.point(M,x)}function a(){S.point=r,t.lineEnd()}function c(){u(),S.point=l,S.lineEnd=s}function l(n,t){o(f=n,h=t),g=M,p=x,d=b,v=_,m=w,S.point=o}function s(){e(M,x,y,b,_,w,g,p,f,d,v,m,i,t),S.lineEnd=a,a()}var f,h,g,p,d,v,m,y,M,x,b,_,w,S={point:r,lineStart:u,lineEnd:a,polygonStart:function(){t.polygonStart(),S.lineStart=c},polygonEnd:function(){t.polygonEnd(),S.lineStart=u}};return S}function e(t,i,o,a,c,l,s,f,h,g,p,d,v,m){var y=s-t,M=f-i,x=y*y+M*M;if(x>4*r&&v--){var b=a+g,_=c+p,w=l+d,S=Math.sqrt(b*b+_*_+w*w),E=Math.asin(w/=S),k=Math.abs(Math.abs(w)-1)r||Math.abs((y*q+M*z)/x-.5)>.3||u>a*g+c*p+l*d)&&(e(t,i,o,a,c,l,N,T,k,b/=S,_/=S,w,v,m),m.point(N,T),e(N,T,k,b,_,w,s,f,h,g,p,d,v,m))}}var r=.5,u=Math.cos(30*Qo),i=16;return t.precision=function(n){return arguments.length?(i=(r=n*n)>0&&16,t):Math.sqrt(r)},t}function ye(n){this.stream=n}function Me(n){var t=me(function(t,e){return n([t*na,e*na])});return function(n){var e=new ye(n=t(n));return e.point=function(t,e){n.point(t*Qo,e*Qo)},e}}function xe(n){return be(function(){return n})()}function be(n){function t(n){return n=a(n[0]*Qo,n[1]*Qo),[n[0]*h+c,l-n[1]*h]}function e(n){return n=a.invert((n[0]-c)/h,(l-n[1])/h),n&&[n[0]*na,n[1]*na]}function r(){a=ie(o=Ee(m,y,M),i);var n=i(d,v);return c=g-n[0]*h,l=p+n[1]*h,u()}function u(){return s&&(s.valid=!1,s=null),t}var i,o,a,c,l,s,f=me(function(n,t){return n=i(n,t),[n[0]*h+c,l-n[1]*h]}),h=150,g=480,p=250,d=0,v=0,m=0,y=0,M=0,x=Wa,b=dt,_=null,w=null;return t.stream=function(n){return s&&(s.valid=!1),s=_e(x(o,f(b(n)))),s.valid=!0,s},t.clipAngle=function(n){return arguments.length?(x=null==n?(_=n,Wa):ee((_=+n)*Qo),u()):_},t.clipExtent=function(n){return arguments.length?(w=n,b=n?re(n[0][0],n[0][1],n[1][0],n[1][1]):dt,u()):w},t.scale=function(n){return arguments.length?(h=+n,r()):h},t.translate=function(n){return arguments.length?(g=+n[0],p=+n[1],r()):[g,p]},t.center=function(n){return arguments.length?(d=n[0]%360*Qo,v=n[1]%360*Qo,r()):[d*na,v*na]},t.rotate=function(n){return arguments.length?(m=n[0]%360*Qo,y=n[1]%360*Qo,M=n.length>2?n[2]%360*Qo:0,r()):[m*na,y*na,M*na]},mo.rebind(t,f,"precision"),function(){return i=n.apply(this,arguments),t.invert=i.invert&&e,r()}}function _e(n){var t=new ye(n);return t.point=function(t,e){n.point(t*Qo,e*Qo)},t}function we(n,t){return[n,t]}function Se(n,t){return[n>Bo?n-Wo:-Bo>n?n+Wo:n,t]}function Ee(n,t,e){return n?t||e?ie(Ae(n),Ne(t,e)):Ae(n):t||e?Ne(t,e):Se}function ke(n){return function(t,e){return t+=n,[t>Bo?t-Wo:-Bo>t?t+Wo:t,e]}}function Ae(n){var t=ke(n);return t.invert=ke(-n),t}function Ne(n,t){function e(n,t){var e=Math.cos(t),a=Math.cos(n)*e,c=Math.sin(n)*e,l=Math.sin(t),s=l*r+a*u;return[Math.atan2(c*i-s*o,a*r-l*u),O(s*i+c*o)]}var r=Math.cos(n),u=Math.sin(n),i=Math.cos(t),o=Math.sin(t);return e.invert=function(n,t){var e=Math.cos(t),a=Math.cos(n)*e,c=Math.sin(n)*e,l=Math.sin(t),s=l*i-c*o;return[Math.atan2(c*i+l*o,a*r+s*u),O(s*r-a*u)]},e}function Te(n,t){var e=Math.cos(n),r=Math.sin(n);return function(u,i,o,a){var c=o*t;null!=u?(u=qe(e,u),i=qe(e,i),(o>0?i>u:u>i)&&(u+=o*Wo)):(u=n+o*Wo,i=n-.5*c);for(var l,s=u;o>0?s>i:i>s;s-=c)a.point((l=Pt([e,-r*Math.cos(s),-r*Math.sin(s)]))[0],l[1])}}function qe(n,t){var e=Ct(t);e[0]-=n,Ft(e);var r=P(-e[1]);return((-e[2]<0?-r:r)+2*Math.PI-Go)%(2*Math.PI)}function ze(n,t,e){var r=mo.range(n,t-Go,e).concat(t);return function(n){return r.map(function(t){return[n,t]})}}function Ce(n,t,e){var r=mo.range(n,t-Go,e).concat(t);return function(n){return r.map(function(t){return[t,n]})}}function De(n){return n.source}function je(n){return n.target}function Le(n,t,e,r){var u=Math.cos(t),i=Math.sin(t),o=Math.cos(r),a=Math.sin(r),c=u*Math.cos(n),l=u*Math.sin(n),s=o*Math.cos(e),f=o*Math.sin(e),h=2*Math.asin(Math.sqrt(U(r-t)+u*o*U(e-n))),g=1/Math.sin(h),p=h?function(n){var t=Math.sin(n*=h)*g,e=Math.sin(h-n)*g,r=e*c+t*s,u=e*l+t*f,o=e*i+t*a;return[Math.atan2(u,r)*na,Math.atan2(o,Math.sqrt(r*r+u*u))*na]}:function(){return[n*na,t*na]};return p.distance=h,p}function He(){function n(n,u){var i=Math.sin(u*=Qo),o=Math.cos(u),a=Math.abs((n*=Qo)-t),c=Math.cos(a);oc+=Math.atan2(Math.sqrt((a=o*Math.sin(a))*a+(a=r*i-e*o*c)*a),e*i+r*o*c),t=n,e=i,r=o}var t,e,r;ac.point=function(u,i){t=u*Qo,e=Math.sin(i*=Qo),r=Math.cos(i),ac.point=n},ac.lineEnd=function(){ac.point=ac.lineEnd=c}}function Fe(n,t){function e(t,e){var r=Math.cos(t),u=Math.cos(e),i=n(r*u);return[i*u*Math.sin(t),i*Math.sin(e)]}return e.invert=function(n,e){var r=Math.sqrt(n*n+e*e),u=t(r),i=Math.sin(u),o=Math.cos(u);return[Math.atan2(n*i,r*o),Math.asin(r&&e*i/r)]},e}function Pe(n,t){function e(n,t){var e=Math.abs(Math.abs(t)-Jo)1&&u.push("H",r[0]),u.join("")}function We(n){for(var t=0,e=n.length,r=n[0],u=[r[0],",",r[1]];++t1){a=t[1],i=n[c],c++,r+="C"+(u[0]+o[0])+","+(u[1]+o[1])+","+(i[0]-a[0])+","+(i[1]-a[1])+","+i[0]+","+i[1];for(var l=2;l9&&(u=3*t/Math.sqrt(u),o[a]=u*e,o[a+1]=u*r));for(a=-1;++a<=c;)u=(n[Math.min(c,a+1)][0]-n[Math.max(0,a-1)][0])/(6*(1+o[a]*o[a])),i.push([u||0,o[a]*u||0]);return i}function fr(n){return n.length<3?Xe(n):n[0]+nr(n,sr(n))}function hr(n,t,e,r){var u,i,o,a,c,l,s;return u=r[n],i=u[0],o=u[1],u=r[t],a=u[0],c=u[1],u=r[e],l=u[0],s=u[1],(s-o)*(a-i)-(c-o)*(l-i)>0}function gr(n,t,e){return(e[0]-t[0])*(n[1]-t[1])<(e[1]-t[1])*(n[0]-t[0])}function pr(n,t,e,r){var u=n[0],i=e[0],o=t[0]-u,a=r[0]-i,c=n[1],l=e[1],s=t[1]-c,f=r[1]-l,h=(a*(c-l)-f*(u-i))/(f*o-a*s);return[u+h*o,c+h*s]}function dr(n){var t=n[0],e=n[n.length-1];return!(t[0]-e[0]||t[1]-e[1])}function vr(n,t){var e={list:n.map(function(n,t){return{index:t,x:n[0],y:n[1]}}).sort(function(n,t){return n.yt.y?1:n.xt.x?1:0}),bottomSite:null},r={list:[],leftEnd:null,rightEnd:null,init:function(){r.leftEnd=r.createHalfEdge(null,"l"),r.rightEnd=r.createHalfEdge(null,"l"),r.leftEnd.r=r.rightEnd,r.rightEnd.l=r.leftEnd,r.list.unshift(r.leftEnd,r.rightEnd)},createHalfEdge:function(n,t){return{edge:n,side:t,vertex:null,l:null,r:null}},insert:function(n,t){t.l=n,t.r=n.r,n.r.l=t,n.r=t},leftBound:function(n){var t=r.leftEnd;do t=t.r;while(t!=r.rightEnd&&u.rightOf(t,n));return t=t.l},del:function(n){n.l.r=n.r,n.r.l=n.l,n.edge=null},right:function(n){return n.r},left:function(n){return n.l},leftRegion:function(n){return null==n.edge?e.bottomSite:n.edge.region[n.side]},rightRegion:function(n){return null==n.edge?e.bottomSite:n.edge.region[yc[n.side]]}},u={bisect:function(n,t){var e={region:{l:n,r:t},ep:{l:null,r:null}},r=t.x-n.x,u=t.y-n.y,i=r>0?r:-r,o=u>0?u:-u;return e.c=n.x*r+n.y*u+.5*(r*r+u*u),i>o?(e.a=1,e.b=u/r,e.c/=r):(e.b=1,e.a=r/u,e.c/=u),e},intersect:function(n,t){var e=n.edge,r=t.edge;if(!e||!r||e.region.r==r.region.r)return null;var u=e.a*r.b-e.b*r.a;if(Math.abs(u)<1e-10)return null;var i,o,a=(e.c*r.b-r.c*e.b)/u,c=(r.c*e.a-e.c*r.a)/u,l=e.region.r,s=r.region.r;l.y=o.region.r.x;return f&&"l"===i.side||!f&&"r"===i.side?null:{x:a,y:c}},rightOf:function(n,t){var e=n.edge,r=e.region.r,u=t.x>r.x;if(u&&"l"===n.side)return 1;if(!u&&"r"===n.side)return 0;if(1===e.a){var i=t.y-r.y,o=t.x-r.x,a=0,c=0;if(!u&&e.b<0||u&&e.b>=0?c=a=i>=e.b*o:(c=t.x+t.y*e.b>e.c,e.b<0&&(c=!c),c||(a=1)),!a){var l=r.x-e.region.l.x;c=e.b*(o*o-i*i)h*h+g*g}return"l"===n.side?c:!c},endPoint:function(n,e,r){n.ep[e]=r,n.ep[yc[e]]&&t(n)},distance:function(n,t){var e=n.x-t.x,r=n.y-t.y;return Math.sqrt(e*e+r*r)}},i={list:[],insert:function(n,t,e){n.vertex=t,n.ystar=t.y+e;for(var r=0,u=i.list,o=u.length;o>r;r++){var a=u[r];if(!(n.ystar>a.ystar||n.ystar==a.ystar&&t.x>a.vertex.x))break}u.splice(r,0,n)},del:function(n){for(var t=0,e=i.list,r=e.length;r>t&&e[t]!=n;++t);e.splice(t,1)},empty:function(){return 0===i.list.length},nextEvent:function(n){for(var t=0,e=i.list,r=e.length;r>t;++t)if(e[t]==n)return e[t+1];return null},min:function(){var n=i.list[0];return{x:n.vertex.x,y:n.ystar}},extractMin:function(){return i.list.shift()}};r.init(),e.bottomSite=e.list.shift();for(var o,a,c,l,s,f,h,g,p,d,v,m,y,M=e.list.shift();;)if(i.empty()||(o=i.min()),M&&(i.empty()||M.yg.y&&(p=h,h=g,g=p,y="r"),m=u.bisect(h,g),f=r.createHalfEdge(m,y),r.insert(l,f),u.endPoint(m,yc[y],v),d=u.intersect(l,f),d&&(i.del(l),i.insert(l,d,u.distance(d,h))),d=u.intersect(f,s),d&&i.insert(f,d,u.distance(d,h))}for(a=r.right(r.leftEnd);a!=r.rightEnd;a=r.right(a))t(a.edge)}function mr(n){return n.x}function yr(n){return n.y}function Mr(){return{leaf:!0,nodes:[],point:null,x:null,y:null}}function xr(n,t,e,r,u,i){if(!n(t,e,r,u,i)){var o=.5*(e+u),a=.5*(r+i),c=t.nodes;c[0]&&xr(n,c[0],e,r,o,a),c[1]&&xr(n,c[1],o,r,u,a),c[2]&&xr(n,c[2],e,a,o,i),c[3]&&xr(n,c[3],o,a,u,i)}}function br(n,t){n=mo.rgb(n),t=mo.rgb(t);var e=n.r,r=n.g,u=n.b,i=t.r-e,o=t.g-r,a=t.b-u;return function(n){return"#"+ct(Math.round(e+i*n))+ct(Math.round(r+o*n))+ct(Math.round(u+a*n))}}function _r(n,t){var e,r={},u={};for(e in n)e in t?r[e]=Er(n[e],t[e]):u[e]=n[e];for(e in t)e in n||(u[e]=t[e]);return function(n){for(e in r)u[e]=r[e](n);return u}}function wr(n,t){return t-=n=+n,function(e){return n+t*e}}function Sr(n,t){var e,r,u,i,o,a=0,c=0,l=[],s=[];for(n+="",t+="",Mc.lastIndex=0,r=0;e=Mc.exec(t);++r)e.index&&l.push(t.substring(a,c=e.index)),s.push({i:l.length,x:e[0]}),l.push(null),a=Mc.lastIndex;for(ar;++r)if(o=s[r],o.x==e[0]){if(o.i)if(null==l[o.i+1])for(l[o.i-1]+=o.x,l.splice(o.i,1),u=r+1;i>u;++u)s[u].i--;else for(l[o.i-1]+=o.x+l[o.i+1],l.splice(o.i,2),u=r+1;i>u;++u)s[u].i-=2;else if(null==l[o.i+1])l[o.i]=o.x;else for(l[o.i]=o.x+l[o.i+1],l.splice(o.i+1,1),u=r+1;i>u;++u)s[u].i--;s.splice(r,1),i--,r--}else o.x=wr(parseFloat(e[0]),parseFloat(o.x));for(;i>r;)o=s.pop(),null==l[o.i+1]?l[o.i]=o.x:(l[o.i]=o.x+l[o.i+1],l.splice(o.i+1,1)),i--;return 1===l.length?null==l[0]?(o=s[0].x,function(n){return o(n)+""}):function(){return t}:function(n){for(r=0;i>r;++r)l[(o=s[r]).i]=o.x(n);return l.join("")}}function Er(n,t){for(var e,r=mo.interpolators.length;--r>=0&&!(e=mo.interpolators[r](n,t)););return e}function kr(n,t){var e,r=[],u=[],i=n.length,o=t.length,a=Math.min(n.length,t.length);for(e=0;a>e;++e)r.push(Er(n[e],t[e]));for(;i>e;++e)u[e]=n[e];for(;o>e;++e)u[e]=t[e];return function(n){for(e=0;a>e;++e)u[e]=r[e](n);return u}}function Ar(n){return function(t){return 0>=t?0:t>=1?1:n(t)}}function Nr(n){return function(t){return 1-n(1-t)}}function Tr(n){return function(t){return.5*(.5>t?n(2*t):2-n(2-2*t))}}function qr(n){return n*n}function zr(n){return n*n*n}function Cr(n){if(0>=n)return 0;if(n>=1)return 1;var t=n*n,e=t*n;return 4*(.5>n?e:3*(n-t)+e-.75)}function Dr(n){return function(t){return Math.pow(t,n)}}function jr(n){return 1-Math.cos(n*Jo)}function Lr(n){return Math.pow(2,10*(n-1))}function Hr(n){return 1-Math.sqrt(1-n*n)}function Fr(n,t){var e;return arguments.length<2&&(t=.45),arguments.length?e=t/Wo*Math.asin(1/n):(n=1,e=t/4),function(r){return 1+n*Math.pow(2,-10*r)*Math.sin((r-e)*Wo/t)}}function Pr(n){return n||(n=1.70158),function(t){return t*t*((n+1)*t-n)}}function Or(n){return 1/2.75>n?7.5625*n*n:2/2.75>n?7.5625*(n-=1.5/2.75)*n+.75:2.5/2.75>n?7.5625*(n-=2.25/2.75)*n+.9375:7.5625*(n-=2.625/2.75)*n+.984375}function Rr(n,t){n=mo.hcl(n),t=mo.hcl(t);var e=n.h,r=n.c,u=n.l,i=t.h-e,o=t.c-r,a=t.l-u;return isNaN(o)&&(o=0,r=isNaN(r)?t.c:r),isNaN(i)?(i=0,e=isNaN(e)?t.h:e):i>180?i-=360:-180>i&&(i+=360),function(n){return J(e+i*n,r+o*n,u+a*n)+""}}function Yr(n,t){n=mo.hsl(n),t=mo.hsl(t);var e=n.h,r=n.s,u=n.l,i=t.h-e,o=t.s-r,a=t.l-u;return isNaN(o)&&(o=0,r=isNaN(r)?t.s:r),isNaN(i)?(i=0,e=isNaN(e)?t.h:e):i>180?i-=360:-180>i&&(i+=360),function(n){return $(e+i*n,r+o*n,u+a*n)+""}}function Ir(n,t){n=mo.lab(n),t=mo.lab(t);var e=n.l,r=n.a,u=n.b,i=t.l-e,o=t.a-r,a=t.b-u;return function(n){return Q(e+i*n,r+o*n,u+a*n)+""}}function Ur(n,t){return t-=n,function(e){return Math.round(n+t*e)}}function Zr(n){var t=[n.a,n.b],e=[n.c,n.d],r=Xr(t),u=Vr(t,e),i=Xr($r(e,t,-u))||0;t[0]*e[1]180?s+=360:s-l>180&&(l+=360),u.push({i:r.push(r.pop()+"rotate(",null,")")-2,x:wr(l,s)})):s&&r.push(r.pop()+"rotate("+s+")"),f!=h?u.push({i:r.push(r.pop()+"skewX(",null,")")-2,x:wr(f,h)}):h&&r.push(r.pop()+"skewX("+h+")"),g[0]!=p[0]||g[1]!=p[1]?(e=r.push(r.pop()+"scale(",null,",",null,")"),u.push({i:e-4,x:wr(g[0],p[0])},{i:e-2,x:wr(g[1],p[1])})):(1!=p[0]||1!=p[1])&&r.push(r.pop()+"scale("+p+")"),e=u.length,function(n){for(var t,i=-1;++ie;++e)(t=n[e][1])>u&&(r=e,u=t);return r}function vu(n){return n.reduce(mu,0)}function mu(n,t){return n+t[1]}function yu(n,t){return Mu(n,Math.ceil(Math.log(t.length)/Math.LN2+1))}function Mu(n,t){for(var e=-1,r=+n[0],u=(n[1]-r)/t,i=[];++e<=t;)i[e]=u*e+r;return i}function xu(n){return[mo.min(n),mo.max(n)]}function bu(n,t){return n.parent==t.parent?1:2}function _u(n){var t=n.children;return t&&t.length?t[0]:n._tree.thread}function wu(n){var t,e=n.children;return e&&(t=e.length)?e[t-1]:n._tree.thread}function Su(n,t){var e=n.children;if(e&&(u=e.length))for(var r,u,i=-1;++i0&&(n=r);return n}function Eu(n,t){return n.x-t.x}function ku(n,t){return t.x-n.x}function Au(n,t){return n.depth-t.depth}function Nu(n,t){function e(n,r){var u=n.children;if(u&&(o=u.length))for(var i,o,a=null,c=-1;++c=0;)t=u[i]._tree,t.prelim+=e,t.mod+=e,e+=t.shift+(r+=t.change)}function qu(n,t,e){n=n._tree,t=t._tree;var r=e/(t.number-n.number);n.change+=r,t.change-=r,t.shift+=e,t.prelim+=e,t.mod+=e}function zu(n,t,e){return n._tree.ancestor.parent==t.parent?n._tree.ancestor:e}function Cu(n,t){return n.value-t.value}function Du(n,t){var e=n._pack_next;n._pack_next=t,t._pack_prev=n,t._pack_next=e,e._pack_prev=t}function ju(n,t){n._pack_next=t,t._pack_prev=n}function Lu(n,t){var e=t.x-n.x,r=t.y-n.y,u=n.r+t.r;return.999*u*u>e*e+r*r}function Hu(n){function t(n){s=Math.min(n.x-n.r,s),f=Math.max(n.x+n.r,f),h=Math.min(n.y-n.r,h),g=Math.max(n.y+n.r,g)}if((e=n.children)&&(l=e.length)){var e,r,u,i,o,a,c,l,s=1/0,f=-1/0,h=1/0,g=-1/0;if(e.forEach(Fu),r=e[0],r.x=-r.r,r.y=0,t(r),l>1&&(u=e[1],u.x=u.r,u.y=0,t(u),l>2))for(i=e[2],Ru(r,u,i),t(i),Du(r,i),r._pack_prev=i,Du(i,u),u=r._pack_next,o=3;l>o;o++){Ru(r,u,i=e[o]);var p=0,d=1,v=1;for(a=u._pack_next;a!==u;a=a._pack_next,d++)if(Lu(a,i)){p=1;break}if(1==p)for(c=r._pack_prev;c!==a._pack_prev&&!Lu(c,i);c=c._pack_prev,v++);p?(v>d||d==v&&u.ro;o++)i=e[o],i.x-=m,i.y-=y,M=Math.max(M,i.r+Math.sqrt(i.x*i.x+i.y*i.y));n.r=M,e.forEach(Pu)}}function Fu(n){n._pack_next=n._pack_prev=n}function Pu(n){delete n._pack_next,delete n._pack_prev}function Ou(n,t,e,r){var u=n.children;if(n.x=t+=r*n.x,n.y=e+=r*n.y,n.r*=r,u)for(var i=-1,o=u.length;++iu&&(e+=u/2,u=0),0>i&&(r+=i/2,i=0),{x:e,y:r,dx:u,dy:i}}function $u(n){var t=n[0],e=n[n.length-1];return e>t?[t,e]:[e,t]}function Bu(n){return n.rangeExtent?n.rangeExtent():$u(n.range())}function Wu(n,t,e,r){var u=e(n[0],n[1]),i=r(t[0],t[1]);return function(n){return i(u(n))}}function Ju(n,t){var e,r=0,u=n.length-1,i=n[r],o=n[u];return i>o&&(e=r,r=u,u=e,e=i,i=o,o=e),n[r]=t.floor(i),n[u]=t.ceil(o),n}function Gu(n){return n?{floor:function(t){return Math.floor(t/n)*n},ceil:function(t){return Math.ceil(t/n)*n}}:Tc}function Ku(n,t,e,r){var u=[],i=[],o=0,a=Math.min(n.length,t.length)-1;for(n[a]2?Ku:Wu,c=r?Jr:Wr;return o=u(n,t,c,e),a=u(t,n,c,Er),i}function i(n){return o(n)}var o,a;return i.invert=function(n){return a(n)},i.domain=function(t){return arguments.length?(n=t.map(Number),u()):n},i.range=function(n){return arguments.length?(t=n,u()):t},i.rangeRound=function(n){return i.range(n).interpolate(Ur)},i.clamp=function(n){return arguments.length?(r=n,u()):r},i.interpolate=function(n){return arguments.length?(e=n,u()):e},i.ticks=function(t){return ri(n,t)},i.tickFormat=function(t,e){return ui(n,t,e)},i.nice=function(t){return ti(n,t),u()},i.copy=function(){return Qu(n,t,e,r)},u()}function ni(n,t){return mo.rebind(n,t,"range","rangeRound","interpolate","clamp")}function ti(n,t){return Ju(n,Gu(ei(n,t)[2]))}function ei(n,t){null==t&&(t=10);var e=$u(n),r=e[1]-e[0],u=Math.pow(10,Math.floor(Math.log(r/t)/Math.LN10)),i=t/r*u;return.15>=i?u*=10:.35>=i?u*=5:.75>=i&&(u*=2),e[0]=Math.ceil(e[0]/u)*u,e[1]=Math.floor(e[1]/u)*u+.5*u,e[2]=u,e}function ri(n,t){return mo.range.apply(mo,ei(n,t))}function ui(n,t,e){var r=-Math.floor(Math.log(ei(n,t)[2])/Math.LN10+.01);return mo.format(e?e.replace(Aa,function(n,t,e,u,i,o,a,c,l,s){return[t,e,u,i,o,a,c,l||"."+(r-2*("%"===s)),s].join("")}):",."+r+"f")}function ii(n,t,e,r){function u(n){return(e?Math.log(0>n?0:n):-Math.log(n>0?0:-n))/Math.log(t)}function i(n){return e?Math.pow(t,n):-Math.pow(t,-n)}function o(t){return n(u(t))}return o.invert=function(t){return i(n.invert(t))},o.domain=function(t){return arguments.length?(e=t[0]>=0,n.domain((r=t.map(Number)).map(u)),o):r},o.base=function(e){return arguments.length?(t=+e,n.domain(r.map(u)),o):t},o.nice=function(){var t=Ju(r.map(u),e?Math:zc);return n.domain(t),r=t.map(i),o},o.ticks=function(){var n=$u(r),o=[],a=n[0],c=n[1],l=Math.floor(u(a)),s=Math.ceil(u(c)),f=t%1?2:t;if(isFinite(s-l)){if(e){for(;s>l;l++)for(var h=1;f>h;h++)o.push(i(l)*h);o.push(i(l))}else for(o.push(i(l));l++0;h--)o.push(i(l)*h);for(l=0;o[l]c;s--);o=o.slice(l,s)}return o},o.tickFormat=function(n,t){if(!arguments.length)return qc;arguments.length<2?t=qc:"function"!=typeof t&&(t=mo.format(t));var r,a=Math.max(.1,n/o.ticks().length),c=e?(r=1e-12,Math.ceil):(r=-1e-12,Math.floor);return function(n){return n/i(c(u(n)+r))<=a?t(n):""}},o.copy=function(){return ii(n.copy(),t,e,r)},ni(o,n)}function oi(n,t,e){function r(t){return n(u(t))}var u=ai(t),i=ai(1/t);return r.invert=function(t){return i(n.invert(t))},r.domain=function(t){return arguments.length?(n.domain((e=t.map(Number)).map(u)),r):e},r.ticks=function(n){return ri(e,n)},r.tickFormat=function(n,t){return ui(e,n,t)},r.nice=function(n){return r.domain(ti(e,n))},r.exponent=function(o){return arguments.length?(u=ai(t=o),i=ai(1/t),n.domain(e.map(u)),r):t},r.copy=function(){return oi(n.copy(),t,e)},ni(r,n)}function ai(n){return function(t){return 0>t?-Math.pow(-t,n):Math.pow(t,n)}}function ci(n,t){function e(e){return o[((i.get(e)||"range"===t.t&&i.set(e,n.push(e)))-1)%o.length]}function r(t,e){return mo.range(n.length).map(function(n){return t+e*n})}var i,o,a;return e.domain=function(r){if(!arguments.length)return n;n=[],i=new u;for(var o,a=-1,c=r.length;++ae?[0/0,0/0]:[e>0?u[e-1]:n[0],et?0/0:t/i+n,[t,t+1/i]},r.copy=function(){return si(n,t,e)},u()}function fi(n,t){function e(e){return e>=e?t[mo.bisect(n,e)]:void 0}return e.domain=function(t){return arguments.length?(n=t,e):n},e.range=function(n){return arguments.length?(t=n,e):t},e.invertExtent=function(e){return e=t.indexOf(e),[n[e-1],n[e]]},e.copy=function(){return fi(n,t)},e}function hi(n){function t(n){return+n}return t.invert=t,t.domain=t.range=function(e){return arguments.length?(n=e.map(t),t):n},t.ticks=function(t){return ri(n,t)},t.tickFormat=function(t,e){return ui(n,t,e)},t.copy=function(){return hi(n)},t}function gi(n){return n.innerRadius}function pi(n){return n.outerRadius}function di(n){return n.startAngle}function vi(n){return n.endAngle}function mi(n){for(var t,e,r,u=-1,i=n.length;++ue?l():(i.active=e,o.event&&o.event.start.call(n,s,t),o.tween.forEach(function(e,r){(r=r.call(n,s,t))&&p.push(r)}),c(r||1)?1:(xt(c,h,a),void 0))}function c(r){if(i.active!==e)return l();for(var u=r/g,a=f(u),c=p.length;c>0;)p[--c].call(n,a);return u>=1?(o.event&&o.event.end.call(n,s,t),l()):void 0}function l(){return--i.count?delete i[e]:delete n.__transition__,1}var s=n.__data__,f=o.ease,h=o.delay,g=o.duration,p=[];return r>=h?u(r-h):(xt(u,h,a),void 0)},0,a)}}function Ti(n,t){n.attr("transform",function(n){return"translate("+t(n)+",0)"})}function qi(n,t){n.attr("transform",function(n){return"translate(0,"+t(n)+")"})}function zi(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function Ci(n,t,e){function r(t){var e=n(t),r=i(e,1);return r-t>t-e?e:r}function u(e){return t(e=n(new Jc(e-1)),1),e}function i(n,e){return t(n=new Jc(+n),e),n}function o(n,r,i){var o=u(n),a=[];if(i>1)for(;r>o;)e(o)%i||a.push(new Date(+o)),t(o,1);else for(;r>o;)a.push(new Date(+o)),t(o,1);return a}function a(n,t,e){try{Jc=zi;var r=new zi;return r._=n,o(r,t,e)}finally{Jc=Date}}n.floor=n,n.round=r,n.ceil=u,n.offset=i,n.range=o;var c=n.utc=Di(n);return c.floor=c,c.round=Di(r),c.ceil=Di(u),c.offset=Di(i),c.range=a,n}function Di(n){return function(t,e){try{Jc=zi;var r=new zi;return r._=t,n(r,e)._}finally{Jc=Date}}}function ji(n){function t(t){for(var r,u,i,o=[],a=-1,c=0;++aa;){if(r>=l)return-1;if(u=t.charCodeAt(a++),37===u){if(o=t.charAt(a++),i=ml[o in dl?t.charAt(a++):o],!i||(r=i(n,e,r))<0)return-1}else if(u!=e.charCodeAt(r++))return-1}return r}function Hi(n){return new RegExp("^(?:"+n.map(mo.requote).join("|")+")","i")}function Fi(n){for(var t=new u,e=-1,r=n.length;++en?"-":"",u=(r?-n:n)+"",i=u.length;return r+(e>i?new Array(e-i+1).join(t)+u:u)}function Oi(n,t,e){cl.lastIndex=0;var r=cl.exec(t.substring(e));return r?(n.w=ll.get(r[0].toLowerCase()),e+r[0].length):-1}function Ri(n,t,e){ol.lastIndex=0;var r=ol.exec(t.substring(e));return r?(n.w=al.get(r[0].toLowerCase()),e+r[0].length):-1}function Yi(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e,e+1));return r?(n.w=+r[0],e+r[0].length):-1}function Ii(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e));return r?(n.U=+r[0],e+r[0].length):-1}function Ui(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e));return r?(n.W=+r[0],e+r[0].length):-1}function Zi(n,t,e){hl.lastIndex=0;var r=hl.exec(t.substring(e));return r?(n.m=gl.get(r[0].toLowerCase()),e+r[0].length):-1}function Vi(n,t,e){sl.lastIndex=0;var r=sl.exec(t.substring(e));return r?(n.m=fl.get(r[0].toLowerCase()),e+r[0].length):-1}function Xi(n,t,e){return Li(n,vl.c.toString(),t,e)}function $i(n,t,e){return Li(n,vl.x.toString(),t,e)}function Bi(n,t,e){return Li(n,vl.X.toString(),t,e)}function Wi(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e,e+4));return r?(n.y=+r[0],e+r[0].length):-1}function Ji(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e,e+2));return r?(n.y=Ki(+r[0]),e+r[0].length):-1}function Gi(n,t,e){return/^[+-]\d{4}$/.test(t=t.substring(e,e+5))?(n.Z=+t,e+5):-1}function Ki(n){return n+(n>68?1900:2e3)}function Qi(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e,e+2));return r?(n.m=r[0]-1,e+r[0].length):-1}function no(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e,e+2));return r?(n.d=+r[0],e+r[0].length):-1}function to(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e,e+3));return r?(n.j=+r[0],e+r[0].length):-1}function eo(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e,e+2));return r?(n.H=+r[0],e+r[0].length):-1}function ro(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e,e+2));return r?(n.M=+r[0],e+r[0].length):-1}function uo(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e,e+2));return r?(n.S=+r[0],e+r[0].length):-1}function io(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e,e+3));return r?(n.L=+r[0],e+r[0].length):-1}function oo(n,t,e){var r=Ml.get(t.substring(e,e+=2).toLowerCase());return null==r?-1:(n.p=r,e)}function ao(n){var t=n.getTimezoneOffset(),e=t>0?"-":"+",r=~~(Math.abs(t)/60),u=Math.abs(t)%60;return e+Pi(r,"0",2)+Pi(u,"0",2)}function co(n,t,e){pl.lastIndex=0;var r=pl.exec(t.substring(e,e+1));return r?e+r[0].length:-1}function lo(n){function t(n){try{Jc=zi;var t=new Jc;return t._=n,e(t)}finally{Jc=Date}}var e=ji(n);return t.parse=function(n){try{Jc=zi;var t=e.parse(n);return t&&t._}finally{Jc=Date}},t.toString=e.toString,t}function so(n){return n.toISOString()}function fo(n,t,e){function r(t){return n(t)}function u(n,e){var r=n[1]-n[0],u=r/e,i=mo.bisect(bl,u);return i==bl.length?[t.year,ei(n.map(function(n){return n/31536e6}),e)[2]]:i?t[u/bl[i-1]1?{floor:function(t){for(;e(t=n.floor(t));)t=ho(t-1);return t},ceil:function(t){for(;e(t=n.ceil(t));)t=ho(+t+1);return t}}:n))},r.ticks=function(n,t){var e=$u(r.domain()),i=null==n?u(e,10):"number"==typeof n?u(e,n):!n.range&&[{range:n},t];return i&&(n=i[0],t=i[1]),n.range(e[0],ho(+e[1]+1),1>t?1:t)},r.tickFormat=function(){return e},r.copy=function(){return fo(n.copy(),t,e)},ni(r,n)}function ho(n){return new Date(n)}function go(n){return function(t){for(var e=n.length-1,r=n[e];!r[1](t);)r=n[--e];return r[0](t)}}function po(n){return JSON.parse(n.responseText)}function vo(n){var t=xo.createRange();return t.selectNode(xo.body),t.createContextualFragment(n.responseText)}var mo={version:"3.3.6"};Date.now||(Date.now=function(){return+new Date});var yo=[].slice,Mo=function(n){return yo.call(n)},xo=document,bo=xo.documentElement,_o=window;try{Mo(bo.childNodes)[0].nodeType}catch(wo){Mo=function(n){for(var t=n.length,e=new Array(t);t--;)e[t]=n[t];return e}}try{xo.createElement("div").style.setProperty("opacity",0,"")}catch(So){var Eo=_o.Element.prototype,ko=Eo.setAttribute,Ao=Eo.setAttributeNS,No=_o.CSSStyleDeclaration.prototype,To=No.setProperty;Eo.setAttribute=function(n,t){ko.call(this,n,t+"")},Eo.setAttributeNS=function(n,t,e){Ao.call(this,n,t,e+"")},No.setProperty=function(n,t,e){To.call(this,n,t+"",e)}}mo.ascending=function(n,t){return t>n?-1:n>t?1:n>=t?0:0/0},mo.descending=function(n,t){return n>t?-1:t>n?1:t>=n?0:0/0},mo.min=function(n,t){var e,r,u=-1,i=n.length;if(1===arguments.length){for(;++u=e);)e=void 0;for(;++ur&&(e=r)}else{for(;++u=e);)e=void 0;for(;++ur&&(e=r)}return e},mo.max=function(n,t){var e,r,u=-1,i=n.length;if(1===arguments.length){for(;++u=e);)e=void 0;for(;++ue&&(e=r)}else{for(;++u=e);)e=void 0;for(;++ue&&(e=r)}return e},mo.extent=function(n,t){var e,r,u,i=-1,o=n.length;if(1===arguments.length){for(;++i=e);)e=u=void 0;for(;++ir&&(e=r),r>u&&(u=r))}else{for(;++i=e);)e=void 0;for(;++ir&&(e=r),r>u&&(u=r))}return[e,u]},mo.sum=function(n,t){var e,r=0,u=n.length,i=-1;if(1===arguments.length)for(;++i1&&(t=t.map(e)),t=t.filter(n),t.length?mo.quantile(t.sort(mo.ascending),.5):void 0},mo.bisector=function(n){return{left:function(t,e,r,u){for(arguments.length<3&&(r=0),arguments.length<4&&(u=t.length);u>r;){var i=r+u>>>1;n.call(t,t[i],i)r;){var i=r+u>>>1;er?0:r);r>e;)i[e]=[t=u,u=n[++e]];return i},mo.zip=function(){if(!(u=arguments.length))return[];for(var n=-1,e=mo.min(arguments,t),r=new Array(e);++nr)for(;(u=n+r*++a)>t;)i.push(u/o);else for(;(u=n+r*++a)=o.length)return r?r.call(i,a):e?a.sort(e):a;for(var l,s,f,h,g=-1,p=a.length,d=o[c++],v=new u;++g=o.length)return n;var r=[],u=a[e++];return n.forEach(function(n,u){r.push({key:n,values:t(u,e)})}),u?r.sort(function(n,t){return u(n.key,t.key)}):r}var e,r,i={},o=[],a=[];return i.map=function(t,e){return n(e,t,0)},i.entries=function(e){return t(n(mo.map,e,0),0)},i.key=function(n){return o.push(n),i},i.sortKeys=function(n){return a[o.length-1]=n,i},i.sortValues=function(n){return e=n,i},i.rollup=function(n){return r=n,i},i},mo.set=function(n){var t=new i;if(n)for(var e=0,r=n.length;r>e;++e)t.add(n[e]);return t},r(i,{has:function(n){return zo+n in this},add:function(n){return this[zo+n]=!0,n},remove:function(n){return n=zo+n,n in this&&delete this[n]},values:function(){var n=[];return this.forEach(function(t){n.push(t)}),n},forEach:function(n){for(var t in this)t.charCodeAt(0)===Co&&n.call(this,t.substring(1))}}),mo.behavior={},mo.rebind=function(n,t){for(var e,r=1,u=arguments.length;++r=0&&(r=n.substring(e+1),n=n.substring(0,e)),n)return arguments.length<2?this[n].on(r):this[n].on(r,t);if(2===arguments.length){if(null==t)for(n in this)this.hasOwnProperty(n)&&this[n].on(r,null);return this}},mo.event=null,mo.requote=function(n){return n.replace(jo,"\\$&")};var jo=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,Lo={}.__proto__?function(n,t){n.__proto__=t}:function(n,t){for(var e in t)n[e]=t[e]},Ho=function(n,t){return t.querySelector(n)},Fo=function(n,t){return t.querySelectorAll(n)},Po=bo[a(bo,"matchesSelector")],Oo=function(n,t){return Po.call(n,t)};"function"==typeof Sizzle&&(Ho=function(n,t){return Sizzle(n,t)[0]||null},Fo=function(n,t){return Sizzle.uniqueSort(Sizzle(n,t))},Oo=Sizzle.matchesSelector),mo.selection=function(){return Uo};var Ro=mo.selection.prototype=[];Ro.select=function(n){var t,e,r,u,i=[];n=d(n);for(var o=-1,a=this.length;++o=0&&(e=n.substring(0,t),n=n.substring(t+1)),Yo.hasOwnProperty(e)?{space:Yo[e],local:n}:n}},Ro.attr=function(n,t){if(arguments.length<2){if("string"==typeof n){var e=this.node();return n=mo.ns.qualify(n),n.local?e.getAttributeNS(n.space,n.local):e.getAttribute(n)}for(t in n)this.each(m(t,n[t]));return this}return this.each(m(n,t))},Ro.classed=function(n,t){if(arguments.length<2){if("string"==typeof n){var e=this.node(),r=(n=n.trim().split(/^|\s+/g)).length,u=-1;if(t=e.classList){for(;++ur){if("string"!=typeof n){2>r&&(t="");for(e in n)this.each(_(e,n[e],t));return this}if(2>r)return _o.getComputedStyle(this.node(),null).getPropertyValue(n);e=""}return this.each(_(n,t,e))},Ro.property=function(n,t){if(arguments.length<2){if("string"==typeof n)return this.node()[n];for(t in n)this.each(w(t,n[t]));return this}return this.each(w(n,t))},Ro.text=function(n){return arguments.length?this.each("function"==typeof n?function(){var t=n.apply(this,arguments);this.textContent=null==t?"":t}:null==n?function(){this.textContent=""}:function(){this.textContent=n}):this.node().textContent},Ro.html=function(n){return arguments.length?this.each("function"==typeof n?function(){var t=n.apply(this,arguments);this.innerHTML=null==t?"":t}:null==n?function(){this.innerHTML=""}:function(){this.innerHTML=n}):this.node().innerHTML},Ro.append=function(n){return n=S(n),this.select(function(){return this.appendChild(n.apply(this,arguments))})},Ro.insert=function(n,t){return n=S(n),t=d(t),this.select(function(){return this.insertBefore(n.apply(this,arguments),t.apply(this,arguments))})},Ro.remove=function(){return this.each(function(){var n=this.parentNode;n&&n.removeChild(this)})},Ro.data=function(n,t){function e(n,e){var r,i,o,a=n.length,f=e.length,h=Math.min(a,f),g=new Array(f),p=new Array(f),d=new Array(a);if(t){var v,m=new u,y=new u,M=[];for(r=-1;++rr;++r)p[r]=E(e[r]);for(;a>r;++r)d[r]=n[r]}p.update=g,p.parentNode=g.parentNode=d.parentNode=n.parentNode,c.push(p),l.push(g),s.push(d)}var r,i,o=-1,a=this.length;if(!arguments.length){for(n=new Array(a=(r=this[0]).length);++oi;i++){u.push(t=[]),t.parentNode=(e=this[i]).parentNode;for(var a=0,c=e.length;c>a;a++)(r=e[a])&&n.call(r,r.__data__,a)&&t.push(r)}return p(u)},Ro.order=function(){for(var n=-1,t=this.length;++n=0;)(e=r[u])&&(i&&i!==e.nextSibling&&i.parentNode.insertBefore(e,i),i=e);return this},Ro.sort=function(n){n=A.apply(this,arguments);for(var t=-1,e=this.length;++tn;n++)for(var e=this[n],r=0,u=e.length;u>r;r++){var i=e[r];if(i)return i}return null},Ro.size=function(){var n=0;return this.each(function(){++n}),n};var Io=[];mo.selection.enter=T,mo.selection.enter.prototype=Io,Io.append=Ro.append,Io.empty=Ro.empty,Io.node=Ro.node,Io.call=Ro.call,Io.size=Ro.size,Io.select=function(n){for(var t,e,r,u,i,o=[],a=-1,c=this.length;++ar){if("string"!=typeof n){2>r&&(t=!1);for(e in n)this.each(C(e,n[e],t));return this}if(2>r)return(r=this.node()["__on"+n])&&r._;e=!1}return this.each(C(n,t,e))};var Zo=mo.map({mouseenter:"mouseover",mouseleave:"mouseout"});Zo.forEach(function(n){"on"+n in xo&&Zo.remove(n)});var Vo=a(bo.style,"userSelect"),Xo=0;mo.mouse=function(n){return H(n,h())};var $o=/WebKit/.test(_o.navigator.userAgent)?-1:0;mo.touches=function(n,t){return arguments.length<2&&(t=h().touches),t?Mo(t).map(function(t){var e=H(n,t);return e.identifier=t.identifier,e}):[]},mo.behavior.drag=function(){function n(){this.on("mousedown.drag",o).on("touchstart.drag",a)}function t(){return mo.event.changedTouches[0].identifier}function e(n,t){return mo.touches(n).filter(function(n){return n.identifier===t})[0]}function r(n,t,e,r){return function(){function o(){var n=t(s,g),e=n[0]-d[0],r=n[1]-d[1];v|=e|r,d=n,f({type:"drag",x:n[0]+c[0],y:n[1]+c[1],dx:e,dy:r})}function a(){m.on(e+"."+p,null).on(r+"."+p,null),y(v&&mo.event.target===h),f({type:"dragend"})}var c,l=this,s=l.parentNode,f=u.of(l,arguments),h=mo.event.target,g=n(),p=null==g?"drag":"drag-"+g,d=t(s,g),v=0,m=mo.select(_o).on(e+"."+p,o).on(r+"."+p,a),y=L();i?(c=i.apply(l,arguments),c=[c.x-d[0],c.y-d[1]]):c=[0,0],f({type:"dragstart"})}}var u=g(n,"drag","dragstart","dragend"),i=null,o=r(c,mo.mouse,"mousemove","mouseup"),a=r(t,e,"touchmove","touchend");return n.origin=function(t){return arguments.length?(i=t,n):i},mo.rebind(n,u,"on")};var Bo=Math.PI,Wo=2*Bo,Jo=Bo/2,Go=1e-6,Ko=Go*Go,Qo=Bo/180,na=180/Bo,ta=Math.SQRT2,ea=2,ra=4;mo.interpolateZoom=function(n,t){function e(n){var t=n*y;if(m){var e=Y(d),o=i/(ea*h)*(e*I(ta*t+d)-R(d));return[r+o*l,u+o*s,i*e/Y(ta*t+d)]}return[r+n*l,u+n*s,i*Math.exp(ta*t)]}var r=n[0],u=n[1],i=n[2],o=t[0],a=t[1],c=t[2],l=o-r,s=a-u,f=l*l+s*s,h=Math.sqrt(f),g=(c*c-i*i+ra*f)/(2*i*ea*h),p=(c*c-i*i-ra*f)/(2*c*ea*h),d=Math.log(Math.sqrt(g*g+1)-g),v=Math.log(Math.sqrt(p*p+1)-p),m=v-d,y=(m||Math.log(c/i))/ta;return e.duration=1e3*y,e},mo.behavior.zoom=function(){function n(n){n.on(A,l).on(oa+".zoom",h).on(N,p).on("dblclick.zoom",d).on(q,s)}function t(n){return[(n[0]-S.x)/S.k,(n[1]-S.y)/S.k]}function e(n){return[n[0]*S.k+S.x,n[1]*S.k+S.y]}function r(n){S.k=Math.max(k[0],Math.min(k[1],n))}function u(n,t){t=e(t),S.x+=n[0]-t[0],S.y+=n[1]-t[1]}function i(){b&&b.domain(x.range().map(function(n){return(n-S.x)/S.k}).map(x.invert)),w&&w.domain(_.range().map(function(n){return(n-S.y)/S.k}).map(_.invert))}function o(n){n({type:"zoomstart"})}function a(n){i(),n({type:"zoom",scale:S.k,translate:[S.x,S.y]})}function c(n){n({type:"zoomend"})}function l(){function n(){s=1,u(mo.mouse(r),h),a(i)}function e(){f.on(N,_o===r?p:null).on(T,null),g(s&&mo.event.target===l),c(i)}var r=this,i=C.of(r,arguments),l=mo.event.target,s=0,f=mo.select(_o).on(N,n).on(T,e),h=t(mo.mouse(r)),g=L();z.call(r),o(i)}function s(){function n(){var n=mo.touches(p);return g=S.k,n.forEach(function(n){n.identifier in v&&(v[n.identifier]=t(n))}),n}function e(){for(var t=mo.event.changedTouches,e=0,i=t.length;i>e;++e)v[t[e].identifier]=null;var o=n(),c=Date.now();if(1===o.length){if(500>c-M){var l=o[0],s=v[l.identifier];r(2*S.k),u(l,s),f(),a(d)}M=c}else if(o.length>1){var l=o[0],h=o[1],g=l[0]-h[0],p=l[1]-h[1];m=g*g+p*p}}function i(){for(var n,t,e,i,o=mo.touches(p),c=0,l=o.length;l>c;++c,i=null)if(e=o[c],i=v[e.identifier]){if(t)break;n=e,t=i}if(i){var s=(s=e[0]-n[0])*s+(s=e[1]-n[1])*s,f=m&&Math.sqrt(s/m);n=[(n[0]+e[0])/2,(n[1]+e[1])/2],t=[(t[0]+i[0])/2,(t[1]+i[1])/2],r(f*g)}M=null,u(n,t),a(d)}function h(){if(mo.event.touches.length){for(var t=mo.event.changedTouches,e=0,r=t.length;r>e;++e)delete v[t[e].identifier];for(var u in v)return void n()}_.on(x,null).on(b,null),w.on(A,l).on(q,s),E(),c(d)}var g,p=this,d=C.of(p,arguments),v={},m=0,y=mo.event.changedTouches[0].identifier,x="touchmove.zoom-"+y,b="touchend.zoom-"+y,_=mo.select(_o).on(x,i).on(b,h),w=mo.select(p).on(A,null).on(q,e),E=L();z.call(p),e(),o(d)}function h(){var n=C.of(this,arguments);y?clearTimeout(y):(z.call(this),o(n)),y=setTimeout(function(){y=null,c(n)},50),f();var e=m||mo.mouse(this);v||(v=t(e)),r(Math.pow(2,.002*ua())*S.k),u(e,v),a(n)}function p(){v=null}function d(){var n=C.of(this,arguments),e=mo.mouse(this),i=t(e),l=Math.log(S.k)/Math.LN2;o(n),r(Math.pow(2,mo.event.shiftKey?Math.ceil(l)-1:Math.floor(l)+1)),u(e,i),a(n),c(n)}var v,m,y,M,x,b,_,w,S={x:0,y:0,k:1},E=[960,500],k=ia,A="mousedown.zoom",N="mousemove.zoom",T="mouseup.zoom",q="touchstart.zoom",C=g(n,"zoomstart","zoom","zoomend");return n.event=function(n){n.each(function(){var n=C.of(this,arguments),t=S;Oc?mo.select(this).transition().each("start.zoom",function(){S=this.__chart__||{x:0,y:0,k:1},o(n)}).tween("zoom:zoom",function(){var e=E[0],r=E[1],u=e/2,i=r/2,o=mo.interpolateZoom([(u-S.x)/S.k,(i-S.y)/S.k,e/S.k],[(u-t.x)/t.k,(i-t.y)/t.k,e/t.k]);return function(t){var r=o(t),c=e/r[2];this.__chart__=S={x:u-r[0]*c,y:i-r[1]*c,k:c},a(n)}}).each("end.zoom",function(){c(n)}):(this.__chart__=S,o(n),a(n),c(n))})},n.translate=function(t){return arguments.length?(S={x:+t[0],y:+t[1],k:S.k},i(),n):[S.x,S.y]},n.scale=function(t){return arguments.length?(S={x:S.x,y:S.y,k:+t},i(),n):S.k},n.scaleExtent=function(t){return arguments.length?(k=null==t?ia:[+t[0],+t[1]],n):k},n.center=function(t){return arguments.length?(m=t&&[+t[0],+t[1]],n):m},n.size=function(t){return arguments.length?(E=t&&[+t[0],+t[1]],n):E},n.x=function(t){return arguments.length?(b=t,x=t.copy(),S={x:0,y:0,k:1},n):b},n.y=function(t){return arguments.length?(w=t,_=t.copy(),S={x:0,y:0,k:1},n):w},mo.rebind(n,C,"on")};var ua,ia=[0,1/0],oa="onwheel"in xo?(ua=function(){return-mo.event.deltaY*(mo.event.deltaMode?120:1)},"wheel"):"onmousewheel"in xo?(ua=function(){return mo.event.wheelDelta},"mousewheel"):(ua=function(){return-mo.event.detail},"MozMousePixelScroll");Z.prototype.toString=function(){return this.rgb()+""},mo.hsl=function(n,t,e){return 1===arguments.length?n instanceof X?V(n.h,n.s,n.l):lt(""+n,st,V):V(+n,+t,+e)};var aa=X.prototype=new Z;aa.brighter=function(n){return n=Math.pow(.7,arguments.length?n:1),V(this.h,this.s,this.l/n)},aa.darker=function(n){return n=Math.pow(.7,arguments.length?n:1),V(this.h,this.s,n*this.l)},aa.rgb=function(){return $(this.h,this.s,this.l)},mo.hcl=function(n,t,e){return 1===arguments.length?n instanceof W?B(n.h,n.c,n.l):n instanceof K?nt(n.l,n.a,n.b):nt((n=ft((n=mo.rgb(n)).r,n.g,n.b)).l,n.a,n.b):B(+n,+t,+e)};var ca=W.prototype=new Z;ca.brighter=function(n){return B(this.h,this.c,Math.min(100,this.l+la*(arguments.length?n:1)))},ca.darker=function(n){return B(this.h,this.c,Math.max(0,this.l-la*(arguments.length?n:1)))},ca.rgb=function(){return J(this.h,this.c,this.l).rgb()},mo.lab=function(n,t,e){return 1===arguments.length?n instanceof K?G(n.l,n.a,n.b):n instanceof W?J(n.l,n.c,n.h):ft((n=mo.rgb(n)).r,n.g,n.b):G(+n,+t,+e)};var la=18,sa=.95047,fa=1,ha=1.08883,ga=K.prototype=new Z;ga.brighter=function(n){return G(Math.min(100,this.l+la*(arguments.length?n:1)),this.a,this.b)},ga.darker=function(n){return G(Math.max(0,this.l-la*(arguments.length?n:1)),this.a,this.b)},ga.rgb=function(){return Q(this.l,this.a,this.b)},mo.rgb=function(n,t,e){return 1===arguments.length?n instanceof at?ot(n.r,n.g,n.b):lt(""+n,ot,$):ot(~~n,~~t,~~e)};var pa=at.prototype=new Z;pa.brighter=function(n){n=Math.pow(.7,arguments.length?n:1);var t=this.r,e=this.g,r=this.b,u=30;return t||e||r?(t&&u>t&&(t=u),e&&u>e&&(e=u),r&&u>r&&(r=u),ot(Math.min(255,~~(t/n)),Math.min(255,~~(e/n)),Math.min(255,~~(r/n)))):ot(u,u,u)},pa.darker=function(n){return n=Math.pow(.7,arguments.length?n:1),ot(~~(n*this.r),~~(n*this.g),~~(n*this.b))},pa.hsl=function(){return st(this.r,this.g,this.b)},pa.toString=function(){return"#"+ct(this.r)+ct(this.g)+ct(this.b)};var da=mo.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});da.forEach(function(n,t){da.set(n,ut(t))}),mo.functor=pt,mo.xhr=vt(dt),mo.dsv=function(n,t){function e(n,e,i){arguments.length<3&&(i=e,e=null);var o=mo.xhr(n,t,i);return o.row=function(n){return arguments.length?o.response(null==(e=n)?r:u(n)):e},o.row(e)}function r(n){return e.parse(n.responseText)}function u(n){return function(t){return e.parse(t.responseText,n)}}function o(t){return t.map(a).join(n)}function a(n){return c.test(n)?'"'+n.replace(/\"/g,'""')+'"':n}var c=new RegExp('["'+n+"\n]"),l=n.charCodeAt(0);return e.parse=function(n,t){var r;return e.parseRows(n,function(n,e){if(r)return r(n,e-1);var u=new Function("d","return {"+n.map(function(n,t){return JSON.stringify(n)+": d["+t+"]"}).join(",")+"}");r=t?function(n,e){return t(u(n),e)}:u})},e.parseRows=function(n,t){function e(){if(s>=c)return o;if(u)return u=!1,i;var t=s;if(34===n.charCodeAt(t)){for(var e=t;e++s;){var r=n.charCodeAt(s++),a=1;if(10===r)u=!0;else if(13===r)u=!0,10===n.charCodeAt(s)&&(++s,++a);else if(r!==l)continue;return n.substring(t,s-a)}return n.substring(t)}for(var r,u,i={},o={},a=[],c=n.length,s=0,f=0;(r=e())!==o;){for(var h=[];r!==i&&r!==o;)h.push(r),r=e();(!t||(h=t(h,f++)))&&a.push(h)}return a},e.format=function(t){if(Array.isArray(t[0]))return e.formatRows(t);var r=new i,u=[];return t.forEach(function(n){for(var t in n)r.has(t)||u.push(r.add(t))}),[u.map(a).join(n)].concat(t.map(function(t){return u.map(function(n){return a(t[n])}).join(n)})).join("\n")},e.formatRows=function(n){return n.map(o).join("\n")},e},mo.csv=mo.dsv(",","text/csv"),mo.tsv=mo.dsv(" ","text/tab-separated-values");var va,ma,ya,Ma,xa,ba=_o[a(_o,"requestAnimationFrame")]||function(n){setTimeout(n,17)};mo.timer=function(n,t,e){var r=arguments.length;2>r&&(t=0),3>r&&(e=Date.now());var u=e+t,i={callback:n,time:u,next:null};ma?ma.next=i:va=i,ma=i,ya||(Ma=clearTimeout(Ma),ya=1,ba(Mt))},mo.timer.flush=function(){bt(),_t()};var _a=".",wa=",",Sa=[3,3],Ea="$",ka=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"].map(wt);mo.formatPrefix=function(n,t){var e=0;return n&&(0>n&&(n*=-1),t&&(n=mo.round(n,St(n,t))),e=1+Math.floor(1e-12+Math.log(n)/Math.LN10),e=Math.max(-24,Math.min(24,3*Math.floor((0>=e?e+1:e-1)/3)))),ka[8+e/3]},mo.round=function(n,t){return t?Math.round(n*(t=Math.pow(10,t)))/t:Math.round(n)},mo.format=function(n){var t=Aa.exec(n),e=t[1]||" ",r=t[2]||">",u=t[3]||"",i=t[4]||"",o=t[5],a=+t[6],c=t[7],l=t[8],s=t[9],f=1,h="",g=!1;switch(l&&(l=+l.substring(1)),(o||"0"===e&&"="===r)&&(o=e="0",r="=",c&&(a-=Math.floor((a-1)/4))),s){case"n":c=!0,s="g";break;case"%":f=100,h="%",s="f";break;case"p":f=100,h="%",s="r";break;case"b":case"o":case"x":case"X":"#"===i&&(i="0"+s.toLowerCase());case"c":case"d":g=!0,l=0;break;case"s":f=-1,s="r"}"#"===i?i="":"$"===i&&(i=Ea),"r"!=s||l||(s="g"),null!=l&&("g"==s?l=Math.max(1,Math.min(21,l)):("e"==s||"f"==s)&&(l=Math.max(0,Math.min(20,l)))),s=Na.get(s)||Et;var p=o&&c;return function(n){if(g&&n%1)return"";var t=0>n||0===n&&0>1/n?(n=-n,"-"):u;if(0>f){var d=mo.formatPrefix(n,l);n=d.scale(n),h=d.symbol}else n*=f;n=s(n,l);var v=n.lastIndexOf("."),m=0>v?n:n.substring(0,v),y=0>v?"":_a+n.substring(v+1);!o&&c&&(m=Ta(m));var M=i.length+m.length+y.length+(p?0:t.length),x=a>M?new Array(M=a-M+1).join(e):"";return p&&(m=Ta(x+m)),t+=i,n=m+y,("<"===r?t+n+x:">"===r?x+t+n:"^"===r?x.substring(0,M>>=1)+t+n+x.substring(M):t+(p?n:x+n))+h}};var Aa=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,Na=mo.map({b:function(n){return n.toString(2)},c:function(n){return String.fromCharCode(n)},o:function(n){return n.toString(8)},x:function(n){return n.toString(16)},X:function(n){return n.toString(16).toUpperCase()},g:function(n,t){return n.toPrecision(t)},e:function(n,t){return n.toExponential(t)},f:function(n,t){return n.toFixed(t)},r:function(n,t){return(n=mo.round(n,St(n,t))).toFixed(Math.max(0,Math.min(20,St(n*(1+1e-15),t))))}}),Ta=dt;if(Sa){var qa=Sa.length;Ta=function(n){for(var t=n.length,e=[],r=0,u=Sa[0];t>0&&u>0;)e.push(n.substring(t-=u,t+u)),u=Sa[r=(r+1)%qa];return e.reverse().join(wa)}}mo.geo={},kt.prototype={s:0,t:0,add:function(n){At(n,this.t,za),At(za.s,this.s,this),this.s?this.t+=za.t:this.s=za.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var za=new kt;mo.geo.stream=function(n,t){n&&Ca.hasOwnProperty(n.type)?Ca[n.type](n,t):Nt(n,t)};var Ca={Feature:function(n,t){Nt(n.geometry,t)},FeatureCollection:function(n,t){for(var e=n.features,r=-1,u=e.length;++rn?4*Bo+n:n,Ha.lineStart=Ha.lineEnd=Ha.point=c}};mo.geo.bounds=function(){function n(n,t){M.push(x=[s=n,h=n]),f>t&&(f=t),t>g&&(g=t)}function t(t,e){var r=Ct([t*Qo,e*Qo]);if(m){var u=jt(m,r),i=[u[1],-u[0],0],o=jt(i,u);Ft(o),o=Pt(o);var c=t-p,l=c>0?1:-1,d=o[0]*na*l,v=Math.abs(c)>180;if(v^(d>l*p&&l*t>d)){var y=o[1]*na;y>g&&(g=y)}else if(d=(d+360)%360-180,v^(d>l*p&&l*t>d)){var y=-o[1]*na;f>y&&(f=y)}else f>e&&(f=e),e>g&&(g=e);v?p>t?a(s,t)>a(s,h)&&(h=t):a(t,h)>a(s,h)&&(s=t):h>=s?(s>t&&(s=t),t>h&&(h=t)):t>p?a(s,t)>a(s,h)&&(h=t):a(t,h)>a(s,h)&&(s=t)}else n(t,e);m=r,p=t}function e(){b.point=t}function r(){x[0]=s,x[1]=h,b.point=n,m=null}function u(n,e){if(m){var r=n-p;y+=Math.abs(r)>180?r+(r>0?360:-360):r}else d=n,v=e;Ha.point(n,e),t(n,e)}function i(){Ha.lineStart()}function o(){u(d,v),Ha.lineEnd(),Math.abs(y)>Go&&(s=-(h=180)),x[0]=s,x[1]=h,m=null}function a(n,t){return(t-=n)<0?t+360:t}function c(n,t){return n[0]-t[0]}function l(n,t){return t[0]<=t[1]?t[0]<=n&&n<=t[1]:nLa?(s=-(h=180),f=-(g=90)):y>Go?g=90:-Go>y&&(f=-90),x[0]=s,x[1]=h}};return function(n){g=h=-(s=f=1/0),M=[],mo.geo.stream(n,b);var t=M.length;if(t){M.sort(c);for(var e,r=1,u=M[0],i=[u];t>r;++r)e=M[r],l(e[0],u)||l(e[1],u)?(a(u[0],e[1])>a(u[0],u[1])&&(u[1]=e[1]),a(e[0],u[1])>a(u[0],u[1])&&(u[0]=e[0])):i.push(u=e);for(var o,e,p=-1/0,t=i.length-1,r=0,u=i[t];t>=r;u=e,++r)e=i[r],(o=a(u[1],e[0]))>p&&(p=o,s=e[0],h=u[1])}return M=x=null,1/0===s||1/0===f?[[0/0,0/0],[0/0,0/0]]:[[s,f],[h,g]]}}(),mo.geo.centroid=function(n){Fa=Pa=Oa=Ra=Ya=Ia=Ua=Za=Va=Xa=$a=0,mo.geo.stream(n,Ba);var t=Va,e=Xa,r=$a,u=t*t+e*e+r*r;return Ko>u&&(t=Ia,e=Ua,r=Za,Go>Pa&&(t=Oa,e=Ra,r=Ya),u=t*t+e*e+r*r,Ko>u)?[0/0,0/0]:[Math.atan2(e,t)*na,O(r/Math.sqrt(u))*na]};var Fa,Pa,Oa,Ra,Ya,Ia,Ua,Za,Va,Xa,$a,Ba={sphere:c,point:Rt,lineStart:It,lineEnd:Ut,polygonStart:function(){Ba.lineStart=Zt},polygonEnd:function(){Ba.lineStart=It}},Wa=Bt(Vt,Qt,te,[-Bo,-Bo/2]),Ja=1e9;mo.geo.clipExtent=function(){var n,t,e,r,u,i,o={stream:function(n){return u&&(u.valid=!1),u=i(n),u.valid=!0,u},extent:function(a){return arguments.length?(i=re(n=+a[0][0],t=+a[0][1],e=+a[1][0],r=+a[1][1]),u&&(u.valid=!1,u=null),o):[[n,t],[e,r]]}};return o.extent([[0,0],[960,500]])},(mo.geo.conicEqualArea=function(){return oe(ae)}).raw=ae,mo.geo.albers=function(){return mo.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},mo.geo.albersUsa=function(){function n(n){var i=n[0],o=n[1];return t=null,e(i,o),t||(r(i,o),t)||u(i,o),t}var t,e,r,u,i=mo.geo.albers(),o=mo.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),a=mo.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),c={point:function(n,e){t=[n,e]}};return n.invert=function(n){var t=i.scale(),e=i.translate(),r=(n[0]-e[0])/t,u=(n[1]-e[1])/t;return(u>=.12&&.234>u&&r>=-.425&&-.214>r?o:u>=.166&&.234>u&&r>=-.214&&-.115>r?a:i).invert(n)},n.stream=function(n){var t=i.stream(n),e=o.stream(n),r=a.stream(n);return{point:function(n,u){t.point(n,u),e.point(n,u),r.point(n,u)},sphere:function(){t.sphere(),e.sphere(),r.sphere()},lineStart:function(){t.lineStart(),e.lineStart(),r.lineStart()},lineEnd:function(){t.lineEnd(),e.lineEnd(),r.lineEnd()},polygonStart:function(){t.polygonStart(),e.polygonStart(),r.polygonStart()},polygonEnd:function(){t.polygonEnd(),e.polygonEnd(),r.polygonEnd()}}},n.precision=function(t){return arguments.length?(i.precision(t),o.precision(t),a.precision(t),n):i.precision()},n.scale=function(t){return arguments.length?(i.scale(t),o.scale(.35*t),a.scale(t),n.translate(i.translate())):i.scale()},n.translate=function(t){if(!arguments.length)return i.translate();var l=i.scale(),s=+t[0],f=+t[1];return e=i.translate(t).clipExtent([[s-.455*l,f-.238*l],[s+.455*l,f+.238*l]]).stream(c).point,r=o.translate([s-.307*l,f+.201*l]).clipExtent([[s-.425*l+Go,f+.12*l+Go],[s-.214*l-Go,f+.234*l-Go]]).stream(c).point,u=a.translate([s-.205*l,f+.212*l]).clipExtent([[s-.214*l+Go,f+.166*l+Go],[s-.115*l-Go,f+.234*l-Go]]).stream(c).point,n},n.scale(1070)};var Ga,Ka,Qa,nc,tc,ec,rc={point:c,lineStart:c,lineEnd:c,polygonStart:function(){Ka=0,rc.lineStart=ce},polygonEnd:function(){rc.lineStart=rc.lineEnd=rc.point=c,Ga+=Math.abs(Ka/2)}},uc={point:le,lineStart:c,lineEnd:c,polygonStart:c,polygonEnd:c},ic={point:he,lineStart:ge,lineEnd:pe,polygonStart:function(){ic.lineStart=de},polygonEnd:function(){ic.point=he,ic.lineStart=ge,ic.lineEnd=pe}};mo.geo.transform=function(n){return{stream:function(t){var e=new ye(t);for(var r in n)e[r]=n[r];return e}}},ye.prototype={point:function(n,t){this.stream.point(n,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}},mo.geo.path=function(){function n(n){return n&&("function"==typeof a&&i.pointRadius(+a.apply(this,arguments)),o&&o.valid||(o=u(i)),mo.geo.stream(n,o)),i.result()}function t(){return o=null,n}var e,r,u,i,o,a=4.5;return n.area=function(n){return Ga=0,mo.geo.stream(n,u(rc)),Ga},n.centroid=function(n){return Oa=Ra=Ya=Ia=Ua=Za=Va=Xa=$a=0,mo.geo.stream(n,u(ic)),$a?[Va/$a,Xa/$a]:Za?[Ia/Za,Ua/Za]:Ya?[Oa/Ya,Ra/Ya]:[0/0,0/0]},n.bounds=function(n){return tc=ec=-(Qa=nc=1/0),mo.geo.stream(n,u(uc)),[[Qa,nc],[tc,ec]]},n.projection=function(n){return arguments.length?(u=(e=n)?n.stream||Me(n):dt,t()):e},n.context=function(n){return arguments.length?(i=null==(r=n)?new se:new ve(n),"function"!=typeof a&&i.pointRadius(a),t()):r},n.pointRadius=function(t){return arguments.length?(a="function"==typeof t?t:(i.pointRadius(+t),+t),n):a},n.projection(mo.geo.albersUsa()).context(null)},mo.geo.projection=xe,mo.geo.projectionMutator=be,(mo.geo.equirectangular=function(){return xe(we)}).raw=we.invert=we,mo.geo.rotation=function(n){function t(t){return t=n(t[0]*Qo,t[1]*Qo),t[0]*=na,t[1]*=na,t}return n=Ee(n[0]%360*Qo,n[1]*Qo,n.length>2?n[2]*Qo:0),t.invert=function(t){return t=n.invert(t[0]*Qo,t[1]*Qo),t[0]*=na,t[1]*=na,t},t},Se.invert=we,mo.geo.circle=function(){function n(){var n="function"==typeof r?r.apply(this,arguments):r,t=Ee(-n[0]*Qo,-n[1]*Qo,0).invert,u=[];return e(null,null,1,{point:function(n,e){u.push(n=t(n,e)),n[0]*=na,n[1]*=na}}),{type:"Polygon",coordinates:[u]}}var t,e,r=[0,0],u=6;return n.origin=function(t){return arguments.length?(r=t,n):r},n.angle=function(r){return arguments.length?(e=Te((t=+r)*Qo,u*Qo),n):t},n.precision=function(r){return arguments.length?(e=Te(t*Qo,(u=+r)*Qo),n):u},n.angle(90)},mo.geo.distance=function(n,t){var e,r=(t[0]-n[0])*Qo,u=n[1]*Qo,i=t[1]*Qo,o=Math.sin(r),a=Math.cos(r),c=Math.sin(u),l=Math.cos(u),s=Math.sin(i),f=Math.cos(i);return Math.atan2(Math.sqrt((e=f*o)*e+(e=l*s-c*f*a)*e),c*s+l*f*a)},mo.geo.graticule=function(){function n(){return{type:"MultiLineString",coordinates:t()}}function t(){return mo.range(Math.ceil(i/v)*v,u,v).map(h).concat(mo.range(Math.ceil(l/m)*m,c,m).map(g)).concat(mo.range(Math.ceil(r/p)*p,e,p).filter(function(n){return Math.abs(n%v)>Go -}).map(s)).concat(mo.range(Math.ceil(a/d)*d,o,d).filter(function(n){return Math.abs(n%m)>Go}).map(f))}var e,r,u,i,o,a,c,l,s,f,h,g,p=10,d=p,v=90,m=360,y=2.5;return n.lines=function(){return t().map(function(n){return{type:"LineString",coordinates:n}})},n.outline=function(){return{type:"Polygon",coordinates:[h(i).concat(g(c).slice(1),h(u).reverse().slice(1),g(l).reverse().slice(1))]}},n.extent=function(t){return arguments.length?n.majorExtent(t).minorExtent(t):n.minorExtent()},n.majorExtent=function(t){return arguments.length?(i=+t[0][0],u=+t[1][0],l=+t[0][1],c=+t[1][1],i>u&&(t=i,i=u,u=t),l>c&&(t=l,l=c,c=t),n.precision(y)):[[i,l],[u,c]]},n.minorExtent=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],a=+t[0][1],o=+t[1][1],r>e&&(t=r,r=e,e=t),a>o&&(t=a,a=o,o=t),n.precision(y)):[[r,a],[e,o]]},n.step=function(t){return arguments.length?n.majorStep(t).minorStep(t):n.minorStep()},n.majorStep=function(t){return arguments.length?(v=+t[0],m=+t[1],n):[v,m]},n.minorStep=function(t){return arguments.length?(p=+t[0],d=+t[1],n):[p,d]},n.precision=function(t){return arguments.length?(y=+t,s=ze(a,o,90),f=Ce(r,e,y),h=ze(l,c,90),g=Ce(i,u,y),n):y},n.majorExtent([[-180,-90+Go],[180,90-Go]]).minorExtent([[-180,-80-Go],[180,80+Go]])},mo.geo.greatArc=function(){function n(){return{type:"LineString",coordinates:[t||r.apply(this,arguments),e||u.apply(this,arguments)]}}var t,e,r=De,u=je;return n.distance=function(){return mo.geo.distance(t||r.apply(this,arguments),e||u.apply(this,arguments))},n.source=function(e){return arguments.length?(r=e,t="function"==typeof e?null:e,n):r},n.target=function(t){return arguments.length?(u=t,e="function"==typeof t?null:t,n):u},n.precision=function(){return arguments.length?n:0},n},mo.geo.interpolate=function(n,t){return Le(n[0]*Qo,n[1]*Qo,t[0]*Qo,t[1]*Qo)},mo.geo.length=function(n){return oc=0,mo.geo.stream(n,ac),oc};var oc,ac={sphere:c,point:c,lineStart:He,lineEnd:c,polygonStart:c,polygonEnd:c},cc=Fe(function(n){return Math.sqrt(2/(1+n))},function(n){return 2*Math.asin(n/2)});(mo.geo.azimuthalEqualArea=function(){return xe(cc)}).raw=cc;var lc=Fe(function(n){var t=Math.acos(n);return t&&t/Math.sin(t)},dt);(mo.geo.azimuthalEquidistant=function(){return xe(lc)}).raw=lc,(mo.geo.conicConformal=function(){return oe(Pe)}).raw=Pe,(mo.geo.conicEquidistant=function(){return oe(Oe)}).raw=Oe;var sc=Fe(function(n){return 1/n},Math.atan);(mo.geo.gnomonic=function(){return xe(sc)}).raw=sc,Re.invert=function(n,t){return[n,2*Math.atan(Math.exp(t))-Jo]},(mo.geo.mercator=function(){return Ye(Re)}).raw=Re;var fc=Fe(function(){return 1},Math.asin);(mo.geo.orthographic=function(){return xe(fc)}).raw=fc;var hc=Fe(function(n){return 1/(1+n)},function(n){return 2*Math.atan(n)});(mo.geo.stereographic=function(){return xe(hc)}).raw=hc,Ie.invert=function(n,t){return[Math.atan2(R(n),Math.cos(t)),O(Math.sin(t)/Y(n))]},(mo.geo.transverseMercator=function(){return Ye(Ie)}).raw=Ie,mo.geom={},mo.svg={},mo.svg.line=function(){return Ue(dt)};var gc=mo.map({linear:Xe,"linear-closed":$e,step:Be,"step-before":We,"step-after":Je,basis:er,"basis-open":rr,"basis-closed":ur,bundle:ir,cardinal:Qe,"cardinal-open":Ge,"cardinal-closed":Ke,monotone:fr});gc.forEach(function(n,t){t.key=n,t.closed=/-closed$/.test(n)});var pc=[0,2/3,1/3,0],dc=[0,1/3,2/3,0],vc=[0,1/6,2/3,1/6];mo.geom.hull=function(n){function t(n){if(n.length<3)return[];var t,u,i,o,a,c,l,s,f,h,g,p,d=pt(e),v=pt(r),m=n.length,y=m-1,M=[],x=[],b=0;if(d===Ze&&r===Ve)t=n;else for(i=0,t=[];m>i;++i)t.push([+d.call(this,u=n[i],i),+v.call(this,u,i)]);for(i=1;m>i;++i)(t[i][1]i;++i)i!==b&&(c=t[i][1]-t[b][1],a=t[i][0]-t[b][0],M.push({angle:Math.atan2(c,a),index:i}));for(M.sort(function(n,t){return n.angle-t.angle}),g=M[0].angle,h=M[0].index,f=0,i=1;y>i;++i){if(o=M[i].index,g==M[i].angle){if(a=t[h][0]-t[b][0],c=t[h][1]-t[b][1],l=t[o][0]-t[b][0],s=t[o][1]-t[b][1],a*a+c*c>=l*l+s*s){M[i].index=-1;continue}M[f].index=-1}g=M[i].angle,f=i,h=o}for(x.push(b),i=0,o=0;2>i;++o)M[o].index>-1&&(x.push(M[o].index),i++);for(p=x.length;y>o;++o)if(!(M[o].index<0)){for(;!hr(x[p-2],x[p-1],M[o].index,t);)--p;x[p++]=M[o].index}var _=[];for(i=p-1;i>=0;--i)_.push(n[x[i]]);return _}var e=Ze,r=Ve;return arguments.length?t(n):(t.x=function(n){return arguments.length?(e=n,t):e},t.y=function(n){return arguments.length?(r=n,t):r},t)},mo.geom.polygon=function(n){return Lo(n,mc),n};var mc=mo.geom.polygon.prototype=[];mc.area=function(){for(var n,t=-1,e=this.length,r=this[e-1],u=0;++ta;a++)e.push([u,t[a],t[a+1]])}),e},mo.geom.voronoi=function(n){function t(n){var t,i,o,a=n.map(function(){return[]}),c=pt(e),l=pt(r),s=n.length,f=1e6;if(c===Ze&&l===Ve)t=n;else for(t=new Array(s),o=0;s>o;++o)t[o]=[+c.call(this,i=n[o],o),+l.call(this,i,o)];if(vr(t,function(n){var t,e,r,u,i,o;1===n.a&&n.b>=0?(t=n.ep.r,e=n.ep.l):(t=n.ep.l,e=n.ep.r),1===n.a?(i=t?t.y:-f,r=n.c-n.b*i,o=e?e.y:f,u=n.c-n.b*o):(r=t?t.x:-f,i=n.c-n.a*r,u=e?e.x:f,o=n.c-n.a*u);var c=[r,i],l=[u,o];a[n.region.l.index].push(c,l),a[n.region.r.index].push(c,l)}),a=a.map(function(n,e){var r=t[e][0],u=t[e][1],i=n.map(function(n){return Math.atan2(n[0]-r,n[1]-u)}),o=mo.range(n.length).sort(function(n,t){return i[n]-i[t]});return o.filter(function(n,t){return!t||i[n]-i[o[t-1]]>Go}).map(function(t){return n[t]})}),a.forEach(function(n,e){var r=n.length;if(!r)return n.push([-f,-f],[-f,f],[f,f],[f,-f]);if(!(r>2)){var u=t[e],i=n[0],o=n[1],a=u[0],c=u[1],l=i[0],s=i[1],h=o[0],g=o[1],p=Math.abs(h-l),d=g-s;if(Math.abs(d)c?-f:f;n.push([-f,v],[f,v])}else if(Go>p){var m=l>a?-f:f;n.push([m,-f],[m,f])}else{var v=(l-a)*(g-s)>(h-l)*(s-c)?f:-f,y=Math.abs(d)-p;Math.abs(y)d?v:-v,v]):(y>0&&(v*=-1),n.push([-f,v],[f,v]))}}}),u)for(o=0;s>o;++o)u.clip(a[o]);for(o=0;s>o;++o)a[o].point=n[o];return a}var e=Ze,r=Ve,u=null;return arguments.length?t(n):(t.x=function(n){return arguments.length?(e=n,t):e},t.y=function(n){return arguments.length?(r=n,t):r},t.clipExtent=function(n){if(!arguments.length)return u&&[u[0],u[2]];if(null==n)u=null;else{var e=+n[0][0],r=+n[0][1],i=+n[1][0],o=+n[1][1];u=mo.geom.polygon([[e,r],[e,o],[i,o],[i,r]])}return t},t.size=function(n){return arguments.length?t.clipExtent(n&&[[0,0],n]):u&&u[2]},t.links=function(n){var t,u,i,o=n.map(function(){return[]}),a=[],c=pt(e),l=pt(r),s=n.length;if(c===Ze&&l===Ve)t=n;else for(t=new Array(s),i=0;s>i;++i)t[i]=[+c.call(this,u=n[i],i),+l.call(this,u,i)];return vr(t,function(t){var e=t.region.l.index,r=t.region.r.index;o[e][r]||(o[e][r]=o[r][e]=!0,a.push({source:n[e],target:n[r]}))}),a},t.triangles=function(n){if(e===Ze&&r===Ve)return mo.geom.delaunay(n);for(var t,u=new Array(c),i=pt(e),o=pt(r),a=-1,c=n.length;++a=l,h=r>=s,g=(h<<1)+f;n.leaf=!1,n=n.nodes[g]||(n.nodes[g]=Mr()),f?u=l:a=l,h?o=s:c=s,i(n,t,e,r,u,o,a,c)}var s,f,h,g,p,d,v,m,y,M=pt(a),x=pt(c);if(null!=t)d=t,v=e,m=r,y=u;else if(m=y=-(d=v=1/0),f=[],h=[],p=n.length,o)for(g=0;p>g;++g)s=n[g],s.xm&&(m=s.x),s.y>y&&(y=s.y),f.push(s.x),h.push(s.y);else for(g=0;p>g;++g){var b=+M(s=n[g],g),_=+x(s,g);d>b&&(d=b),v>_&&(v=_),b>m&&(m=b),_>y&&(y=_),f.push(b),h.push(_)}var w=m-d,S=y-v;w>S?y=v+w:m=d+S;var E=Mr();if(E.add=function(n){i(E,n,+M(n,++g),+x(n,g),d,v,m,y)},E.visit=function(n){xr(n,E,d,v,m,y)},g=-1,null==t){for(;++g=0?n.substring(0,t):n,r=t>=0?n.substring(t+1):"in";return e=bc.get(e)||xc,r=_c.get(r)||dt,Ar(r(e.apply(null,Array.prototype.slice.call(arguments,1))))},mo.interpolateHcl=Rr,mo.interpolateHsl=Yr,mo.interpolateLab=Ir,mo.interpolateRound=Ur,mo.transform=function(n){var t=xo.createElementNS(mo.ns.prefix.svg,"g");return(mo.transform=function(n){if(null!=n){t.setAttribute("transform",n);var e=t.transform.baseVal.consolidate()}return new Zr(e?e.matrix:wc)})(n)},Zr.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var wc={a:1,b:0,c:0,d:1,e:0,f:0};mo.interpolateTransform=Br,mo.layout={},mo.layout.bundle=function(){return function(n){for(var t=[],e=-1,r=n.length;++e(u-e)*a){var c=t.charge*a*a;return n.px-=i*c,n.py-=o*c,!0}if(t.point&&isFinite(a)){var c=t.pointCharge*a*a;n.px-=i*c,n.py-=o*c}}return!t.charge}}function t(n){n.px=mo.event.x,n.py=mo.event.y,a.resume()}var e,r,u,i,o,a={},c=mo.dispatch("start","tick","end"),l=[1,1],s=.9,f=Sc,h=Ec,g=-30,p=.1,d=.8,v=[],m=[];return a.tick=function(){if((r*=.99)<.005)return c.end({type:"end",alpha:r=0}),!0;var t,e,a,f,h,d,y,M,x,b=v.length,_=m.length;for(e=0;_>e;++e)a=m[e],f=a.source,h=a.target,M=h.x-f.x,x=h.y-f.y,(d=M*M+x*x)&&(d=r*i[e]*((d=Math.sqrt(d))-u[e])/d,M*=d,x*=d,h.x-=M*(y=f.weight/(h.weight+f.weight)),h.y-=x*y,f.x+=M*(y=1-y),f.y+=x*y);if((y=r*p)&&(M=l[0]/2,x=l[1]/2,e=-1,y))for(;++e0?n:0:n>0&&(c.start({type:"start",alpha:r=n}),mo.timer(a.tick)),a):r},a.start=function(){function n(n,r){for(var u,i=t(e),o=-1,a=i.length;++or;++r)c[r]=[];for(r=0;d>r;++r){var n=m[r];c[n.source.index].push(n.target),c[n.target.index].push(n.source)}}return c[e]}var e,r,c,s,p=v.length,d=m.length,y=l[0],M=l[1];for(e=0;p>e;++e)(s=v[e]).index=e,s.weight=0;for(e=0;d>e;++e)s=m[e],"number"==typeof s.source&&(s.source=v[s.source]),"number"==typeof s.target&&(s.target=v[s.target]),++s.source.weight,++s.target.weight;for(e=0;p>e;++e)s=v[e],isNaN(s.x)&&(s.x=n("x",y)),isNaN(s.y)&&(s.y=n("y",M)),isNaN(s.px)&&(s.px=s.x),isNaN(s.py)&&(s.py=s.y);if(u=[],"function"==typeof f)for(e=0;d>e;++e)u[e]=+f.call(this,m[e],e);else for(e=0;d>e;++e)u[e]=f;if(i=[],"function"==typeof h)for(e=0;d>e;++e)i[e]=+h.call(this,m[e],e);else for(e=0;d>e;++e)i[e]=h;if(o=[],"function"==typeof g)for(e=0;p>e;++e)o[e]=+g.call(this,v[e],e);else for(e=0;p>e;++e)o[e]=g;return a.resume()},a.resume=function(){return a.alpha(.1)},a.stop=function(){return a.alpha(0)},a.drag=function(){return e||(e=mo.behavior.drag().origin(dt).on("dragstart.force",nu).on("drag.force",t).on("dragend.force",tu)),arguments.length?(this.on("mouseover.force",eu).on("mouseout.force",ru).call(e),void 0):e},mo.rebind(a,c,"on")};var Sc=20,Ec=1;mo.layout.hierarchy=function(){function n(t,o,a){var c=u.call(e,t,o);if(t.depth=o,a.push(t),c&&(l=c.length)){for(var l,s,f=-1,h=t.children=[],g=0,p=o+1;++fg;++g)for(u.call(n,l[0][g],p=d[g],s[0][g][1]),h=1;v>h;++h)u.call(n,l[h][g],p+=s[h-1][g][1],s[h][g][1]);return a}var t=dt,e=gu,r=pu,u=hu,i=su,o=fu;return n.values=function(e){return arguments.length?(t=e,n):t},n.order=function(t){return arguments.length?(e="function"==typeof t?t:Ac.get(t)||gu,n):e},n.offset=function(t){return arguments.length?(r="function"==typeof t?t:Nc.get(t)||pu,n):r},n.x=function(t){return arguments.length?(i=t,n):i},n.y=function(t){return arguments.length?(o=t,n):o},n.out=function(t){return arguments.length?(u=t,n):u},n};var Ac=mo.map({"inside-out":function(n){var t,e,r=n.length,u=n.map(du),i=n.map(vu),o=mo.range(r).sort(function(n,t){return u[n]-u[t]}),a=0,c=0,l=[],s=[];for(t=0;r>t;++t)e=o[t],c>a?(a+=i[e],l.push(e)):(c+=i[e],s.push(e));return s.reverse().concat(l)},reverse:function(n){return mo.range(n.length).reverse()},"default":gu}),Nc=mo.map({silhouette:function(n){var t,e,r,u=n.length,i=n[0].length,o=[],a=0,c=[];for(e=0;i>e;++e){for(t=0,r=0;u>t;t++)r+=n[t][e][1];r>a&&(a=r),o.push(r)}for(e=0;i>e;++e)c[e]=(a-o[e])/2;return c},wiggle:function(n){var t,e,r,u,i,o,a,c,l,s=n.length,f=n[0],h=f.length,g=[];for(g[0]=c=l=0,e=1;h>e;++e){for(t=0,u=0;s>t;++t)u+=n[t][e][1];for(t=0,i=0,a=f[e][0]-f[e-1][0];s>t;++t){for(r=0,o=(n[t][e][1]-n[t][e-1][1])/(2*a);t>r;++r)o+=(n[r][e][1]-n[r][e-1][1])/a;i+=o*n[t][e][1]}g[e]=c-=u?i/u*a:0,l>c&&(l=c)}for(e=0;h>e;++e)g[e]-=l;return g},expand:function(n){var t,e,r,u=n.length,i=n[0].length,o=1/u,a=[];for(e=0;i>e;++e){for(t=0,r=0;u>t;t++)r+=n[t][e][1];if(r)for(t=0;u>t;t++)n[t][e][1]/=r;else for(t=0;u>t;t++)n[t][e][1]=o}for(e=0;i>e;++e)a[e]=0;return a},zero:pu});mo.layout.histogram=function(){function n(n,i){for(var o,a,c=[],l=n.map(e,this),s=r.call(this,l,i),f=u.call(this,s,l,i),i=-1,h=l.length,g=f.length-1,p=t?1:1/h;++i0)for(i=-1;++i=s[0]&&a<=s[1]&&(o=c[mo.bisect(f,a,1,g)-1],o.y+=p,o.push(n[i]));return c}var t=!0,e=Number,r=xu,u=yu;return n.value=function(t){return arguments.length?(e=t,n):e},n.range=function(t){return arguments.length?(r=pt(t),n):r},n.bins=function(t){return arguments.length?(u="number"==typeof t?function(n){return Mu(n,t)}:pt(t),n):u},n.frequency=function(e){return arguments.length?(t=!!e,n):t},n},mo.layout.tree=function(){function n(n,i){function o(n,t){var r=n.children,u=n._tree;if(r&&(i=r.length)){for(var i,a,l,s=r[0],f=s,h=-1;++h0&&(qu(zu(a,n,r),n,u),l+=u,s+=u),f+=a._tree.mod,l+=i._tree.mod,h+=c._tree.mod,s+=o._tree.mod;a&&!wu(o)&&(o._tree.thread=a,o._tree.mod+=f-s),i&&!_u(c)&&(c._tree.thread=i,c._tree.mod+=l-h,r=n)}return r}var l=t.call(this,n,i),s=l[0];Nu(s,function(n,t){n._tree={ancestor:n,prelim:0,mod:0,change:0,shift:0,number:t?t._tree.number+1:0}}),o(s),a(s,-s._tree.prelim);var f=Su(s,ku),h=Su(s,Eu),g=Su(s,Au),p=f.x-e(f,h)/2,d=h.x+e(h,f)/2,v=g.depth||1;return Nu(s,u?function(n){n.x*=r[0],n.y=n.depth*r[1],delete n._tree}:function(n){n.x=(n.x-p)/(d-p)*r[0],n.y=n.depth/v*r[1],delete n._tree}),l}var t=mo.layout.hierarchy().sort(null).value(null),e=bu,r=[1,1],u=!1;return n.separation=function(t){return arguments.length?(e=t,n):e},n.size=function(t){return arguments.length?(u=null==(r=t),n):u?null:r},n.nodeSize=function(t){return arguments.length?(u=null!=(r=t),n):u?r:null},iu(n,t)},mo.layout.pack=function(){function n(n,i){var o=e.call(this,n,i),a=o[0],c=u[0],l=u[1],s=null==t?Math.sqrt:"function"==typeof t?t:function(){return t};if(a.x=a.y=0,Nu(a,function(n){n.r=+s(n.value)}),Nu(a,Hu),r){var f=r*(t?1:Math.max(2*a.r/c,2*a.r/l))/2;Nu(a,function(n){n.r+=f}),Nu(a,Hu),Nu(a,function(n){n.r-=f})}return Ou(a,c/2,l/2,t?1:1/Math.max(2*a.r/c,2*a.r/l)),o}var t,e=mo.layout.hierarchy().sort(Cu),r=0,u=[1,1];return n.size=function(t){return arguments.length?(u=t,n):u},n.radius=function(e){return arguments.length?(t=null==e||"function"==typeof e?e:+e,n):t},n.padding=function(t){return arguments.length?(r=+t,n):r},iu(n,e)},mo.layout.cluster=function(){function n(n,i){var o,a=t.call(this,n,i),c=a[0],l=0;Nu(c,function(n){var t=n.children;t&&t.length?(n.x=Iu(t),n.y=Yu(t)):(n.x=o?l+=e(n,o):0,n.y=0,o=n)});var s=Uu(c),f=Zu(c),h=s.x-e(s,f)/2,g=f.x+e(f,s)/2;return Nu(c,u?function(n){n.x=(n.x-c.x)*r[0],n.y=(c.y-n.y)*r[1]}:function(n){n.x=(n.x-h)/(g-h)*r[0],n.y=(1-(c.y?n.y/c.y:1))*r[1]}),a}var t=mo.layout.hierarchy().sort(null).value(null),e=bu,r=[1,1],u=!1;return n.separation=function(t){return arguments.length?(e=t,n):e},n.size=function(t){return arguments.length?(u=null==(r=t),n):u?null:r},n.nodeSize=function(t){return arguments.length?(u=null!=(r=t),n):u?r:null},iu(n,t)},mo.layout.treemap=function(){function n(n,t){for(var e,r,u=-1,i=n.length;++ut?0:t),e.area=isNaN(r)||0>=r?0:r}function t(e){var i=e.children;if(i&&i.length){var o,a,c,l=f(e),s=[],h=i.slice(),p=1/0,d="slice"===g?l.dx:"dice"===g?l.dy:"slice-dice"===g?1&e.depth?l.dy:l.dx:Math.min(l.dx,l.dy);for(n(h,l.dx*l.dy/e.value),s.area=0;(c=h.length)>0;)s.push(o=h[c-1]),s.area+=o.area,"squarify"!==g||(a=r(s,d))<=p?(h.pop(),p=a):(s.area-=s.pop().area,u(s,d,l,!1),d=Math.min(l.dx,l.dy),s.length=s.area=0,p=1/0);s.length&&(u(s,d,l,!0),s.length=s.area=0),i.forEach(t)}}function e(t){var r=t.children;if(r&&r.length){var i,o=f(t),a=r.slice(),c=[];for(n(a,o.dx*o.dy/t.value),c.area=0;i=a.pop();)c.push(i),c.area+=i.area,null!=i.z&&(u(c,i.z?o.dx:o.dy,o,!a.length),c.length=c.area=0);r.forEach(e)}}function r(n,t){for(var e,r=n.area,u=0,i=1/0,o=-1,a=n.length;++oe&&(i=e),e>u&&(u=e));return r*=r,t*=t,r?Math.max(t*u*p/r,r/(t*i*p)):1/0}function u(n,t,e,r){var u,i=-1,o=n.length,a=e.x,l=e.y,s=t?c(n.area/t):0;if(t==e.dx){for((r||s>e.dy)&&(s=e.dy);++ie.dx)&&(s=e.dx);++ie&&(t=1),1>e&&(n=0),function(){var e,r,u;do e=2*Math.random()-1,r=2*Math.random()-1,u=e*e+r*r;while(!u||u>1);return n+t*e*Math.sqrt(-2*Math.log(u)/u)}},logNormal:function(){var n=mo.random.normal.apply(mo,arguments);return function(){return Math.exp(n())}},irwinHall:function(n){return function(){for(var t=0,e=0;n>e;e++)t+=Math.random();return t/n}}},mo.scale={};var Tc={floor:dt,ceil:dt};mo.scale.linear=function(){return Qu([0,1],[0,1],Er,!1)},mo.scale.log=function(){return ii(mo.scale.linear().domain([0,1]),10,!0,[1,10])};var qc=mo.format(".0e"),zc={floor:function(n){return-Math.ceil(-n)},ceil:function(n){return-Math.floor(-n)}};mo.scale.pow=function(){return oi(mo.scale.linear(),1,[0,1])},mo.scale.sqrt=function(){return mo.scale.pow().exponent(.5)},mo.scale.ordinal=function(){return ci([],{t:"range",a:[[]]})},mo.scale.category10=function(){return mo.scale.ordinal().range(Cc)},mo.scale.category20=function(){return mo.scale.ordinal().range(Dc)},mo.scale.category20b=function(){return mo.scale.ordinal().range(jc)},mo.scale.category20c=function(){return mo.scale.ordinal().range(Lc)};var Cc=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(it),Dc=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(it),jc=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(it),Lc=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(it);mo.scale.quantile=function(){return li([],[])},mo.scale.quantize=function(){return si(0,1,[0,1])},mo.scale.threshold=function(){return fi([.5],[0,1])},mo.scale.identity=function(){return hi([0,1])},mo.svg.arc=function(){function n(){var n=t.apply(this,arguments),i=e.apply(this,arguments),o=r.apply(this,arguments)+Hc,a=u.apply(this,arguments)+Hc,c=(o>a&&(c=o,o=a,a=c),a-o),l=Bo>c?"0":"1",s=Math.cos(o),f=Math.sin(o),h=Math.cos(a),g=Math.sin(a);return c>=Fc?n?"M0,"+i+"A"+i+","+i+" 0 1,1 0,"+-i+"A"+i+","+i+" 0 1,1 0,"+i+"M0,"+n+"A"+n+","+n+" 0 1,0 0,"+-n+"A"+n+","+n+" 0 1,0 0,"+n+"Z":"M0,"+i+"A"+i+","+i+" 0 1,1 0,"+-i+"A"+i+","+i+" 0 1,1 0,"+i+"Z":n?"M"+i*s+","+i*f+"A"+i+","+i+" 0 "+l+",1 "+i*h+","+i*g+"L"+n*h+","+n*g+"A"+n+","+n+" 0 "+l+",0 "+n*s+","+n*f+"Z":"M"+i*s+","+i*f+"A"+i+","+i+" 0 "+l+",1 "+i*h+","+i*g+"L0,0"+"Z"}var t=gi,e=pi,r=di,u=vi;return n.innerRadius=function(e){return arguments.length?(t=pt(e),n):t},n.outerRadius=function(t){return arguments.length?(e=pt(t),n):e},n.startAngle=function(t){return arguments.length?(r=pt(t),n):r},n.endAngle=function(t){return arguments.length?(u=pt(t),n):u},n.centroid=function(){var n=(t.apply(this,arguments)+e.apply(this,arguments))/2,i=(r.apply(this,arguments)+u.apply(this,arguments))/2+Hc;return[Math.cos(i)*n,Math.sin(i)*n]},n};var Hc=-Jo,Fc=Wo-Go;mo.svg.line.radial=function(){var n=Ue(mi);return n.radius=n.x,delete n.x,n.angle=n.y,delete n.y,n},We.reverse=Je,Je.reverse=We,mo.svg.area=function(){return yi(dt)},mo.svg.area.radial=function(){var n=yi(mi);return n.radius=n.x,delete n.x,n.innerRadius=n.x0,delete n.x0,n.outerRadius=n.x1,delete n.x1,n.angle=n.y,delete n.y,n.startAngle=n.y0,delete n.y0,n.endAngle=n.y1,delete n.y1,n},mo.svg.chord=function(){function n(n,a){var c=t(this,i,n,a),l=t(this,o,n,a);return"M"+c.p0+r(c.r,c.p1,c.a1-c.a0)+(e(c,l)?u(c.r,c.p1,c.r,c.p0):u(c.r,c.p1,l.r,l.p0)+r(l.r,l.p1,l.a1-l.a0)+u(l.r,l.p1,c.r,c.p0))+"Z"}function t(n,t,e,r){var u=t.call(n,e,r),i=a.call(n,u,r),o=c.call(n,u,r)+Hc,s=l.call(n,u,r)+Hc;return{r:i,a0:o,a1:s,p0:[i*Math.cos(o),i*Math.sin(o)],p1:[i*Math.cos(s),i*Math.sin(s)]}}function e(n,t){return n.a0==t.a0&&n.a1==t.a1}function r(n,t,e){return"A"+n+","+n+" 0 "+ +(e>Bo)+",1 "+t}function u(n,t,e,r){return"Q 0,0 "+r}var i=De,o=je,a=Mi,c=di,l=vi;return n.radius=function(t){return arguments.length?(a=pt(t),n):a},n.source=function(t){return arguments.length?(i=pt(t),n):i},n.target=function(t){return arguments.length?(o=pt(t),n):o},n.startAngle=function(t){return arguments.length?(c=pt(t),n):c},n.endAngle=function(t){return arguments.length?(l=pt(t),n):l},n},mo.svg.diagonal=function(){function n(n,u){var i=t.call(this,n,u),o=e.call(this,n,u),a=(i.y+o.y)/2,c=[i,{x:i.x,y:a},{x:o.x,y:a},o];return c=c.map(r),"M"+c[0]+"C"+c[1]+" "+c[2]+" "+c[3]}var t=De,e=je,r=xi;return n.source=function(e){return arguments.length?(t=pt(e),n):t},n.target=function(t){return arguments.length?(e=pt(t),n):e},n.projection=function(t){return arguments.length?(r=t,n):r},n},mo.svg.diagonal.radial=function(){var n=mo.svg.diagonal(),t=xi,e=n.projection;return n.projection=function(n){return arguments.length?e(bi(t=n)):t},n},mo.svg.symbol=function(){function n(n,r){return(Pc.get(t.call(this,n,r))||Si)(e.call(this,n,r))}var t=wi,e=_i;return n.type=function(e){return arguments.length?(t=pt(e),n):t},n.size=function(t){return arguments.length?(e=pt(t),n):e},n};var Pc=mo.map({circle:Si,cross:function(n){var t=Math.sqrt(n/5)/2;return"M"+-3*t+","+-t+"H"+-t+"V"+-3*t+"H"+t+"V"+-t+"H"+3*t+"V"+t+"H"+t+"V"+3*t+"H"+-t+"V"+t+"H"+-3*t+"Z"},diamond:function(n){var t=Math.sqrt(n/(2*Ic)),e=t*Ic;return"M0,"+-t+"L"+e+",0"+" 0,"+t+" "+-e+",0"+"Z"},square:function(n){var t=Math.sqrt(n)/2;return"M"+-t+","+-t+"L"+t+","+-t+" "+t+","+t+" "+-t+","+t+"Z"},"triangle-down":function(n){var t=Math.sqrt(n/Yc),e=t*Yc/2;return"M0,"+e+"L"+t+","+-e+" "+-t+","+-e+"Z"},"triangle-up":function(n){var t=Math.sqrt(n/Yc),e=t*Yc/2;return"M0,"+-e+"L"+t+","+e+" "+-t+","+e+"Z"}});mo.svg.symbolTypes=Pc.keys();var Oc,Rc,Yc=Math.sqrt(3),Ic=Math.tan(30*Qo),Uc=[],Zc=0;Uc.call=Ro.call,Uc.empty=Ro.empty,Uc.node=Ro.node,Uc.size=Ro.size,mo.transition=function(n){return arguments.length?Oc?n.transition():n:Uo.transition()},mo.transition.prototype=Uc,Uc.select=function(n){var t,e,r,u=this.id,i=[];n=d(n);for(var o=-1,a=this.length;++oi;i++){u.push(t=[]);for(var e=this[i],a=0,c=e.length;c>a;a++)(r=e[a])&&n.call(r,r.__data__,a)&&t.push(r)}return Ei(u,this.id)},Uc.tween=function(n,t){var e=this.id;return arguments.length<2?this.node().__transition__[e].tween.get(n):N(this,null==t?function(t){t.__transition__[e].tween.remove(n)}:function(r){r.__transition__[e].tween.set(n,t)})},Uc.attr=function(n,t){function e(){this.removeAttribute(a)}function r(){this.removeAttributeNS(a.space,a.local)}function u(n){return null==n?e:(n+="",function(){var t,e=this.getAttribute(a);return e!==n&&(t=o(e,n),function(n){this.setAttribute(a,t(n))})})}function i(n){return null==n?r:(n+="",function(){var t,e=this.getAttributeNS(a.space,a.local);return e!==n&&(t=o(e,n),function(n){this.setAttributeNS(a.space,a.local,t(n)) -})})}if(arguments.length<2){for(t in n)this.attr(t,n[t]);return this}var o="transform"==n?Br:Er,a=mo.ns.qualify(n);return ki(this,"attr."+n,t,a.local?i:u)},Uc.attrTween=function(n,t){function e(n,e){var r=t.call(this,n,e,this.getAttribute(u));return r&&function(n){this.setAttribute(u,r(n))}}function r(n,e){var r=t.call(this,n,e,this.getAttributeNS(u.space,u.local));return r&&function(n){this.setAttributeNS(u.space,u.local,r(n))}}var u=mo.ns.qualify(n);return this.tween("attr."+n,u.local?r:e)},Uc.style=function(n,t,e){function r(){this.style.removeProperty(n)}function u(t){return null==t?r:(t+="",function(){var r,u=_o.getComputedStyle(this,null).getPropertyValue(n);return u!==t&&(r=Er(u,t),function(t){this.style.setProperty(n,r(t),e)})})}var i=arguments.length;if(3>i){if("string"!=typeof n){2>i&&(t="");for(e in n)this.style(e,n[e],t);return this}e=""}return ki(this,"style."+n,t,u)},Uc.styleTween=function(n,t,e){function r(r,u){var i=t.call(this,r,u,_o.getComputedStyle(this,null).getPropertyValue(n));return i&&function(t){this.style.setProperty(n,i(t),e)}}return arguments.length<3&&(e=""),this.tween("style."+n,r)},Uc.text=function(n){return ki(this,"text",n,Ai)},Uc.remove=function(){return this.each("end.transition",function(){var n;this.__transition__.count<2&&(n=this.parentNode)&&n.removeChild(this)})},Uc.ease=function(n){var t=this.id;return arguments.length<1?this.node().__transition__[t].ease:("function"!=typeof n&&(n=mo.ease.apply(mo,arguments)),N(this,function(e){e.__transition__[t].ease=n}))},Uc.delay=function(n){var t=this.id;return N(this,"function"==typeof n?function(e,r,u){e.__transition__[t].delay=+n.call(e,e.__data__,r,u)}:(n=+n,function(e){e.__transition__[t].delay=n}))},Uc.duration=function(n){var t=this.id;return N(this,"function"==typeof n?function(e,r,u){e.__transition__[t].duration=Math.max(1,n.call(e,e.__data__,r,u))}:(n=Math.max(1,n),function(e){e.__transition__[t].duration=n}))},Uc.each=function(n,t){var e=this.id;if(arguments.length<2){var r=Rc,u=Oc;Oc=e,N(this,function(t,r,u){Rc=t.__transition__[e],n.call(t,t.__data__,r,u)}),Rc=r,Oc=u}else N(this,function(r){var u=r.__transition__[e];(u.event||(u.event=mo.dispatch("start","end"))).on(n,t)});return this},Uc.transition=function(){for(var n,t,e,r,u=this.id,i=++Zc,o=[],a=0,c=this.length;c>a;a++){o.push(n=[]);for(var t=this[a],l=0,s=t.length;s>l;l++)(e=t[l])&&(r=Object.create(e.__transition__[u]),r.delay+=r.duration,Ni(e,l,i,r)),n.push(e)}return Ei(o,i)},mo.svg.axis=function(){function n(n){n.each(function(){var n,l=mo.select(this),s=this.__chart__||e,f=this.__chart__=e.copy(),h=null==c?f.ticks?f.ticks.apply(f,a):f.domain():c,g=null==t?f.tickFormat?f.tickFormat.apply(f,a):dt:t,p=l.selectAll(".tick").data(h,f),d=p.enter().insert("g",".domain").attr("class","tick").style("opacity",Go),v=mo.transition(p.exit()).style("opacity",Go).remove(),m=mo.transition(p).style("opacity",1),y=Bu(f),M=l.selectAll(".domain").data([0]),x=(M.enter().append("path").attr("class","domain"),mo.transition(M));d.append("line"),d.append("text");var b=d.select("line"),_=m.select("line"),w=p.select("text").text(g),S=d.select("text"),E=m.select("text");switch(r){case"bottom":n=Ti,b.attr("y2",u),S.attr("y",Math.max(u,0)+o),_.attr("x2",0).attr("y2",u),E.attr("x",0).attr("y",Math.max(u,0)+o),w.attr("dy",".71em").style("text-anchor","middle"),x.attr("d","M"+y[0]+","+i+"V0H"+y[1]+"V"+i);break;case"top":n=Ti,b.attr("y2",-u),S.attr("y",-(Math.max(u,0)+o)),_.attr("x2",0).attr("y2",-u),E.attr("x",0).attr("y",-(Math.max(u,0)+o)),w.attr("dy","0em").style("text-anchor","middle"),x.attr("d","M"+y[0]+","+-i+"V0H"+y[1]+"V"+-i);break;case"left":n=qi,b.attr("x2",-u),S.attr("x",-(Math.max(u,0)+o)),_.attr("x2",-u).attr("y2",0),E.attr("x",-(Math.max(u,0)+o)).attr("y",0),w.attr("dy",".32em").style("text-anchor","end"),x.attr("d","M"+-i+","+y[0]+"H0V"+y[1]+"H"+-i);break;case"right":n=qi,b.attr("x2",u),S.attr("x",Math.max(u,0)+o),_.attr("x2",u).attr("y2",0),E.attr("x",Math.max(u,0)+o).attr("y",0),w.attr("dy",".32em").style("text-anchor","start"),x.attr("d","M"+i+","+y[0]+"H0V"+y[1]+"H"+i)}if(f.rangeBand){var k=f.rangeBand()/2,A=function(n){return f(n)+k};d.call(n,A),m.call(n,A)}else d.call(n,s),m.call(n,f),v.call(n,f)})}var t,e=mo.scale.linear(),r=Vc,u=6,i=6,o=3,a=[10],c=null;return n.scale=function(t){return arguments.length?(e=t,n):e},n.orient=function(t){return arguments.length?(r=t in Xc?t+"":Vc,n):r},n.ticks=function(){return arguments.length?(a=arguments,n):a},n.tickValues=function(t){return arguments.length?(c=t,n):c},n.tickFormat=function(e){return arguments.length?(t=e,n):t},n.tickSize=function(t){var e=arguments.length;return e?(u=+t,i=+arguments[e-1],n):u},n.innerTickSize=function(t){return arguments.length?(u=+t,n):u},n.outerTickSize=function(t){return arguments.length?(i=+t,n):i},n.tickPadding=function(t){return arguments.length?(o=+t,n):o},n.tickSubdivide=function(){return arguments.length&&n},n};var Vc="bottom",Xc={top:1,right:1,bottom:1,left:1};mo.svg.brush=function(){function n(i){i.each(function(){var i=mo.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",u).on("touchstart.brush",u),o=i.selectAll(".background").data([0]);o.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),i.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var a=i.selectAll(".resize").data(v,dt);a.exit().remove(),a.enter().append("g").attr("class",function(n){return"resize "+n}).style("cursor",function(n){return $c[n]}).append("rect").attr("x",function(n){return/[ew]$/.test(n)?-3:null}).attr("y",function(n){return/^[ns]/.test(n)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),a.style("display",n.empty()?"none":null);var s,f=mo.transition(i),h=mo.transition(o);c&&(s=Bu(c),h.attr("x",s[0]).attr("width",s[1]-s[0]),e(f)),l&&(s=Bu(l),h.attr("y",s[0]).attr("height",s[1]-s[0]),r(f)),t(f)})}function t(n){n.selectAll(".resize").attr("transform",function(n){return"translate("+s[+/e$/.test(n)]+","+h[+/^s/.test(n)]+")"})}function e(n){n.select(".extent").attr("x",s[0]),n.selectAll(".extent,.n>rect,.s>rect").attr("width",s[1]-s[0])}function r(n){n.select(".extent").attr("y",h[0]),n.selectAll(".extent,.e>rect,.w>rect").attr("height",h[1]-h[0])}function u(){function u(){32==mo.event.keyCode&&(N||(M=null,q[0]-=s[1],q[1]-=h[1],N=2),f())}function g(){32==mo.event.keyCode&&2==N&&(q[0]+=s[1],q[1]+=h[1],N=0,f())}function v(){var n=mo.mouse(b),u=!1;x&&(n[0]+=x[0],n[1]+=x[1]),N||(mo.event.altKey?(M||(M=[(s[0]+s[1])/2,(h[0]+h[1])/2]),q[0]=s[+(n[0]f?(u=r,r=f):u=f),g[0]!=r||g[1]!=u?(e?o=null:i=null,g[0]=r,g[1]=u,!0):void 0}function y(){v(),S.style("pointer-events","all").selectAll(".resize").style("display",n.empty()?"none":null),mo.select("body").style("cursor",null),z.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null),T(),w({type:"brushend"})}var M,x,b=this,_=mo.select(mo.event.target),w=a.of(b,arguments),S=mo.select(b),E=_.datum(),k=!/^(n|s)$/.test(E)&&c,A=!/^(e|w)$/.test(E)&&l,N=_.classed("extent"),T=L(),q=mo.mouse(b),z=mo.select(_o).on("keydown.brush",u).on("keyup.brush",g);if(mo.event.changedTouches?z.on("touchmove.brush",v).on("touchend.brush",y):z.on("mousemove.brush",v).on("mouseup.brush",y),S.interrupt().selectAll("*").interrupt(),N)q[0]=s[0]-q[0],q[1]=h[0]-q[1];else if(E){var C=+/w$/.test(E),D=+/^n/.test(E);x=[s[1-C]-q[0],h[1-D]-q[1]],q[0]=s[C],q[1]=h[D]}else mo.event.altKey&&(M=q.slice());S.style("pointer-events","none").selectAll(".resize").style("display",null),mo.select("body").style("cursor",_.style("cursor")),w({type:"brushstart"}),v()}var i,o,a=g(n,"brushstart","brush","brushend"),c=null,l=null,s=[0,0],h=[0,0],p=!0,d=!0,v=Bc[0];return n.event=function(n){n.each(function(){var n=a.of(this,arguments),t={x:s,y:h,i:i,j:o},e=this.__chart__||t;this.__chart__=t,Oc?mo.select(this).transition().each("start.brush",function(){i=e.i,o=e.j,s=e.x,h=e.y,n({type:"brushstart"})}).tween("brush:brush",function(){var e=kr(s,t.x),r=kr(h,t.y);return i=o=null,function(u){s=t.x=e(u),h=t.y=r(u),n({type:"brush",mode:"resize"})}}).each("end.brush",function(){i=t.i,o=t.j,n({type:"brush",mode:"resize"}),n({type:"brushend"})}):(n({type:"brushstart"}),n({type:"brush",mode:"resize"}),n({type:"brushend"}))})},n.x=function(t){return arguments.length?(c=t,v=Bc[!c<<1|!l],n):c},n.y=function(t){return arguments.length?(l=t,v=Bc[!c<<1|!l],n):l},n.clamp=function(t){return arguments.length?(c&&l?(p=!!t[0],d=!!t[1]):c?p=!!t:l&&(d=!!t),n):c&&l?[p,d]:c?p:l?d:null},n.extent=function(t){var e,r,u,a,f;return arguments.length?(c&&(e=t[0],r=t[1],l&&(e=e[0],r=r[0]),i=[e,r],c.invert&&(e=c(e),r=c(r)),e>r&&(f=e,e=r,r=f),(e!=s[0]||r!=s[1])&&(s=[e,r])),l&&(u=t[0],a=t[1],c&&(u=u[1],a=a[1]),o=[u,a],l.invert&&(u=l(u),a=l(a)),u>a&&(f=u,u=a,a=f),(u!=h[0]||a!=h[1])&&(h=[u,a])),n):(c&&(i?(e=i[0],r=i[1]):(e=s[0],r=s[1],c.invert&&(e=c.invert(e),r=c.invert(r)),e>r&&(f=e,e=r,r=f))),l&&(o?(u=o[0],a=o[1]):(u=h[0],a=h[1],l.invert&&(u=l.invert(u),a=l.invert(a)),u>a&&(f=u,u=a,a=f))),c&&l?[[e,u],[r,a]]:c?[e,r]:l&&[u,a])},n.clear=function(){return n.empty()||(s=[0,0],h=[0,0],i=o=null),n},n.empty=function(){return!!c&&s[0]==s[1]||!!l&&h[0]==h[1]},mo.rebind(n,a,"on")};var $c={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},Bc=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]],Wc=mo.time={},Jc=Date,Gc=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];zi.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){Kc.setUTCDate.apply(this._,arguments)},setDay:function(){Kc.setUTCDay.apply(this._,arguments)},setFullYear:function(){Kc.setUTCFullYear.apply(this._,arguments)},setHours:function(){Kc.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){Kc.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){Kc.setUTCMinutes.apply(this._,arguments)},setMonth:function(){Kc.setUTCMonth.apply(this._,arguments)},setSeconds:function(){Kc.setUTCSeconds.apply(this._,arguments)},setTime:function(){Kc.setTime.apply(this._,arguments)}};var Kc=Date.prototype,Qc="%a %b %e %X %Y",nl="%m/%d/%Y",tl="%H:%M:%S",el=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],rl=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],ul=["January","February","March","April","May","June","July","August","September","October","November","December"],il=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];Wc.year=Ci(function(n){return n=Wc.day(n),n.setMonth(0,1),n},function(n,t){n.setFullYear(n.getFullYear()+t)},function(n){return n.getFullYear()}),Wc.years=Wc.year.range,Wc.years.utc=Wc.year.utc.range,Wc.day=Ci(function(n){var t=new Jc(2e3,0);return t.setFullYear(n.getFullYear(),n.getMonth(),n.getDate()),t},function(n,t){n.setDate(n.getDate()+t)},function(n){return n.getDate()-1}),Wc.days=Wc.day.range,Wc.days.utc=Wc.day.utc.range,Wc.dayOfYear=function(n){var t=Wc.year(n);return Math.floor((n-t-6e4*(n.getTimezoneOffset()-t.getTimezoneOffset()))/864e5)},Gc.forEach(function(n,t){n=n.toLowerCase(),t=7-t;var e=Wc[n]=Ci(function(n){return(n=Wc.day(n)).setDate(n.getDate()-(n.getDay()+t)%7),n},function(n,t){n.setDate(n.getDate()+7*Math.floor(t))},function(n){var e=Wc.year(n).getDay();return Math.floor((Wc.dayOfYear(n)+(e+t)%7)/7)-(e!==t)});Wc[n+"s"]=e.range,Wc[n+"s"].utc=e.utc.range,Wc[n+"OfYear"]=function(n){var e=Wc.year(n).getDay();return Math.floor((Wc.dayOfYear(n)+(e+t)%7)/7)}}),Wc.week=Wc.sunday,Wc.weeks=Wc.sunday.range,Wc.weeks.utc=Wc.sunday.utc.range,Wc.weekOfYear=Wc.sundayOfYear,Wc.format=ji;var ol=Hi(el),al=Fi(el),cl=Hi(rl),ll=Fi(rl),sl=Hi(ul),fl=Fi(ul),hl=Hi(il),gl=Fi(il),pl=/^%/,dl={"-":"",_:" ",0:"0"},vl={a:function(n){return rl[n.getDay()]},A:function(n){return el[n.getDay()]},b:function(n){return il[n.getMonth()]},B:function(n){return ul[n.getMonth()]},c:ji(Qc),d:function(n,t){return Pi(n.getDate(),t,2)},e:function(n,t){return Pi(n.getDate(),t,2)},H:function(n,t){return Pi(n.getHours(),t,2)},I:function(n,t){return Pi(n.getHours()%12||12,t,2)},j:function(n,t){return Pi(1+Wc.dayOfYear(n),t,3)},L:function(n,t){return Pi(n.getMilliseconds(),t,3)},m:function(n,t){return Pi(n.getMonth()+1,t,2)},M:function(n,t){return Pi(n.getMinutes(),t,2)},p:function(n){return n.getHours()>=12?"PM":"AM"},S:function(n,t){return Pi(n.getSeconds(),t,2)},U:function(n,t){return Pi(Wc.sundayOfYear(n),t,2)},w:function(n){return n.getDay()},W:function(n,t){return Pi(Wc.mondayOfYear(n),t,2)},x:ji(nl),X:ji(tl),y:function(n,t){return Pi(n.getFullYear()%100,t,2)},Y:function(n,t){return Pi(n.getFullYear()%1e4,t,4)},Z:ao,"%":function(){return"%"}},ml={a:Oi,A:Ri,b:Zi,B:Vi,c:Xi,d:no,e:no,H:eo,I:eo,j:to,L:io,m:Qi,M:ro,p:oo,S:uo,U:Ii,w:Yi,W:Ui,x:$i,X:Bi,y:Ji,Y:Wi,Z:Gi,"%":co},yl=/^\s*\d+/,Ml=mo.map({am:0,pm:1});ji.utc=lo;var xl=lo("%Y-%m-%dT%H:%M:%S.%LZ");ji.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?so:xl,so.parse=function(n){var t=new Date(n);return isNaN(t)?null:t},so.toString=xl.toString,Wc.second=Ci(function(n){return new Jc(1e3*Math.floor(n/1e3))},function(n,t){n.setTime(n.getTime()+1e3*Math.floor(t))},function(n){return n.getSeconds()}),Wc.seconds=Wc.second.range,Wc.seconds.utc=Wc.second.utc.range,Wc.minute=Ci(function(n){return new Jc(6e4*Math.floor(n/6e4))},function(n,t){n.setTime(n.getTime()+6e4*Math.floor(t))},function(n){return n.getMinutes()}),Wc.minutes=Wc.minute.range,Wc.minutes.utc=Wc.minute.utc.range,Wc.hour=Ci(function(n){var t=n.getTimezoneOffset()/60;return new Jc(36e5*(Math.floor(n/36e5-t)+t))},function(n,t){n.setTime(n.getTime()+36e5*Math.floor(t))},function(n){return n.getHours()}),Wc.hours=Wc.hour.range,Wc.hours.utc=Wc.hour.utc.range,Wc.month=Ci(function(n){return n=Wc.day(n),n.setDate(1),n},function(n,t){n.setMonth(n.getMonth()+t)},function(n){return n.getMonth()}),Wc.months=Wc.month.range,Wc.months.utc=Wc.month.utc.range;var bl=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],_l=[[Wc.second,1],[Wc.second,5],[Wc.second,15],[Wc.second,30],[Wc.minute,1],[Wc.minute,5],[Wc.minute,15],[Wc.minute,30],[Wc.hour,1],[Wc.hour,3],[Wc.hour,6],[Wc.hour,12],[Wc.day,1],[Wc.day,2],[Wc.week,1],[Wc.month,1],[Wc.month,3],[Wc.year,1]],wl=[[ji("%Y"),Vt],[ji("%B"),function(n){return n.getMonth()}],[ji("%b %d"),function(n){return 1!=n.getDate()}],[ji("%a %d"),function(n){return n.getDay()&&1!=n.getDate()}],[ji("%I %p"),function(n){return n.getHours()}],[ji("%I:%M"),function(n){return n.getMinutes()}],[ji(":%S"),function(n){return n.getSeconds()}],[ji(".%L"),function(n){return n.getMilliseconds()}]],Sl=go(wl);_l.year=Wc.year,Wc.scale=function(){return fo(mo.scale.linear(),_l,Sl)};var El={range:function(n,t,e){return mo.range(+n,+t,e).map(ho)}},kl=_l.map(function(n){return[n[0].utc,n[1]]}),Al=[[lo("%Y"),Vt],[lo("%B"),function(n){return n.getUTCMonth()}],[lo("%b %d"),function(n){return 1!=n.getUTCDate()}],[lo("%a %d"),function(n){return n.getUTCDay()&&1!=n.getUTCDate()}],[lo("%I %p"),function(n){return n.getUTCHours()}],[lo("%I:%M"),function(n){return n.getUTCMinutes()}],[lo(":%S"),function(n){return n.getUTCSeconds()}],[lo(".%L"),function(n){return n.getUTCMilliseconds()}]],Nl=go(Al);return kl.year=Wc.year.utc,Wc.scale.utc=function(){return fo(mo.scale.linear(),kl,Nl)},mo.text=vt(function(n){return n.responseText}),mo.json=function(n,t){return mt(n,"application/json",po,t)},mo.html=function(n,t){return mt(n,"text/html",vo,t)},mo.xml=vt(function(n){return n.responseXML}),mo}(); -/* - * ----------------------------- JSTORAGE ------------------------------------- - * Simple local storage wrapper to save data on the browser side, supporting - * all major browsers - IE6+, Firefox2+, Safari4+, Chrome4+ and Opera 10.5+ - * - * Copyright (c) 2010 Andris Reinman, andris.reinman@gmail.com - * Project homepage: www.jstorage.info - * - * Licensed under MIT-style license: - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -/** - * $.jStorage - * - * USAGE: - * - * jStorage requires Prototype, MooTools or jQuery! If jQuery is used, then - * jQuery-JSON (http://code.google.com/p/jquery-json/) is also needed. - * (jQuery-JSON needs to be loaded BEFORE jStorage!) - * - * Methods: - * - * -set(key, value) - * $.jStorage.set(key, value) -> saves a value - * - * -get(key[, default]) - * value = $.jStorage.get(key [, default]) -> - * retrieves value if key exists, or default if it doesn't - * - * -deleteKey(key) - * $.jStorage.deleteKey(key) -> removes a key from the storage - * - * -flush() - * $.jStorage.flush() -> clears the cache - * - * -storageObj() - * $.jStorage.storageObj() -> returns a read-ony copy of the actual storage - * - * -storageSize() - * $.jStorage.storageSize() -> returns the size of the storage in bytes - * - * -index() - * $.jStorage.index() -> returns the used keys as an array - * - * -storageAvailable() - * $.jStorage.storageAvailable() -> returns true if storage is available - * - * -reInit() - * $.jStorage.reInit() -> reloads the data from browser storage - * - * can be any JSON-able value, including objects and arrays. - * - **/ - - -(function($){ - if(!$ || !($.toJSON || Object.toJSON || window.JSON)){ - throw new Error("jQuery, MooTools or Prototype needs to be loaded before jStorage!"); - } - - var - /* This is the object, that holds the cached values */ - _storage = {}, - - /* Actual browser storage (localStorage or globalStorage['domain']) */ - _storage_service = {jStorage:"{}"}, - - /* DOM element for older IE versions, holds userData behavior */ - _storage_elm = null, - - /* How much space does the storage take */ - _storage_size = 0, - - /* function to encode objects to JSON strings */ - json_encode = $.toJSON || Object.toJSON || (window.JSON && (JSON.encode || JSON.stringify)), - - /* function to decode objects from JSON strings */ - json_decode = $.evalJSON || (window.JSON && (JSON.decode || JSON.parse)) || function(str){ - return String(str).evalJSON(); - }, - - /* which backend is currently used */ - _backend = false, - - /** - * XML encoding and decoding as XML nodes can't be JSON'ized - * XML nodes are encoded and decoded if the node is the value to be saved - * but not if it's as a property of another object - * Eg. - - * $.jStorage.set("key", xmlNode); // IS OK - * $.jStorage.set("key", {xml: xmlNode}); // NOT OK - */ - _XMLService = { - - /** - * Validates a XML node to be XML - * based on jQuery.isXML function - */ - isXML: function(elm){ - var documentElement = (elm ? elm.ownerDocument || elm : 0).documentElement; - return documentElement ? documentElement.nodeName !== "HTML" : false; - }, - - /** - * Encodes a XML node to string - * based on http://www.mercurytide.co.uk/news/article/issues-when-working-ajax/ - */ - encode: function(xmlNode) { - if(!this.isXML(xmlNode)){ - return false; - } - try{ // Mozilla, Webkit, Opera - return new XMLSerializer().serializeToString(xmlNode); - }catch(E1) { - try { // IE - return xmlNode.xml; - }catch(E2){} - } - return false; - }, - - /** - * Decodes a XML node from string - * loosely based on http://outwestmedia.com/jquery-plugins/xmldom/ - */ - decode: function(xmlString){ - var dom_parser = ("DOMParser" in window && (new DOMParser()).parseFromString) || - (window.ActiveXObject && function(_xmlString) { - var xml_doc = new ActiveXObject('Microsoft.XMLDOM'); - xml_doc.async = 'false'; - xml_doc.loadXML(_xmlString); - return xml_doc; - }), - resultXML; - if(!dom_parser){ - return false; - } - resultXML = dom_parser.call("DOMParser" in window && (new DOMParser()) || window, xmlString, 'text/xml'); - return this.isXML(resultXML)?resultXML:false; - } - }; - - ////////////////////////// PRIVATE METHODS //////////////////////// - - /** - * Initialization function. Detects if the browser supports DOM Storage - * or userData behavior and behaves accordingly. - * @returns undefined - */ - function _init(){ - /* Check if browser supports localStorage */ - var localStorageReallyWorks = false; - if("localStorage" in window){ - try { - window.localStorage.setItem('_tmptest', 'tmpval'); - localStorageReallyWorks = true; - window.localStorage.removeItem('_tmptest'); - } catch(BogusQuotaExceededErrorOnIos5) { - // Thanks be to iOS5 Private Browsing mode which throws - // QUOTA_EXCEEDED_ERRROR DOM Exception 22. - } - } - if(localStorageReallyWorks){ - try { - if(window.localStorage) { - _storage_service = window.localStorage; - _backend = "localStorage"; - } - } catch(E3) {/* Firefox fails when touching localStorage and cookies are disabled */} - } - /* Check if browser supports globalStorage */ - else if("globalStorage" in window){ - try { - if(window.globalStorage) { - _storage_service = window.globalStorage[window.location.hostname]; - _backend = "globalStorage"; - } - } catch(E4) {/* Firefox fails when touching localStorage and cookies are disabled */} - } - /* Check if browser supports userData behavior */ - else { - _storage_elm = document.createElement('link'); - if(_storage_elm.addBehavior){ - - /* Use a DOM element to act as userData storage */ - _storage_elm.style.behavior = 'url(#default#userData)'; - - /* userData element needs to be inserted into the DOM! */ - document.getElementsByTagName('head')[0].appendChild(_storage_elm); - - _storage_elm.load("jStorage"); - var data = "{}"; - try{ - data = _storage_elm.getAttribute("jStorage"); - }catch(E5){} - _storage_service.jStorage = data; - _backend = "userDataBehavior"; - }else{ - _storage_elm = null; - return; - } - } - - _load_storage(); - } - - /** - * Loads the data from the storage based on the supported mechanism - * @returns undefined - */ - function _load_storage(){ - /* if jStorage string is retrieved, then decode it */ - if(_storage_service.jStorage){ - try{ - _storage = json_decode(String(_storage_service.jStorage)); - }catch(E6){_storage_service.jStorage = "{}";} - }else{ - _storage_service.jStorage = "{}"; - } - _storage_size = _storage_service.jStorage?String(_storage_service.jStorage).length:0; - } - - /** - * This functions provides the "save" mechanism to store the jStorage object - * @returns undefined - */ - function _save(){ - try{ - _storage_service.jStorage = json_encode(_storage); - // If userData is used as the storage engine, additional - if(_storage_elm) { - _storage_elm.setAttribute("jStorage",_storage_service.jStorage); - _storage_elm.save("jStorage"); - } - _storage_size = _storage_service.jStorage?String(_storage_service.jStorage).length:0; - }catch(E7){/* probably cache is full, nothing is saved this way*/} - } - - /** - * Function checks if a key is set and is string or numberic - */ - function _checkKey(key){ - if(!key || (typeof key != "string" && typeof key != "number")){ - throw new TypeError('Key name must be string or numeric'); - } - return true; - } - - ////////////////////////// PUBLIC INTERFACE ///////////////////////// - - $.jStorage = { - /* Version number */ - version: "0.1.5.3", - - /** - * Sets a key's value. - * - * @param {String} key - Key to set. If this value is not set or not - * a string an exception is raised. - * @param value - Value to set. This can be any value that is JSON - * compatible (Numbers, Strings, Objects etc.). - * @returns the used value - */ - set: function(key, value){ - _checkKey(key); - if(_XMLService.isXML(value)){ - value = {_is_xml:true,xml:_XMLService.encode(value)}; - } - _storage[key] = value; - _save(); - return value; - }, - - /** - * Looks up a key in cache - * - * @param {String} key - Key to look up. - * @param {mixed} def - Default value to return, if key didn't exist. - * @returns the key value, default value or - */ - get: function(key, def){ - _checkKey(key); - if(key in _storage){ - if(_storage[key] && typeof _storage[key] == "object" && - _storage[key]._is_xml && - _storage[key]._is_xml){ - return _XMLService.decode(_storage[key].xml); - }else{ - return _storage[key]; - } - } - return typeof(def) == 'undefined' ? null : def; - }, - - /** - * Deletes a key from cache. - * - * @param {String} key - Key to delete. - * @returns true if key existed or false if it didn't - */ - deleteKey: function(key){ - _checkKey(key); - if(key in _storage){ - delete _storage[key]; - _save(); - return true; - } - return false; - }, - - /** - * Deletes everything in cache. - * - * @returns true - */ - flush: function(){ - _storage = {}; - _save(); - return true; - }, - - /** - * Returns a read-only copy of _storage - * - * @returns Object - */ - storageObj: function(){ - function F() {} - F.prototype = _storage; - return new F(); - }, - - /** - * Returns an index of all used keys as an array - * ['key1', 'key2',..'keyN'] - * - * @returns Array - */ - index: function(){ - var index = [], i; - for(i in _storage){ - if(_storage.hasOwnProperty(i)){ - index.push(i); - } - } - return index; - }, - - /** - * How much space in bytes does the storage take? - * - * @returns Number - */ - storageSize: function(){ - return _storage_size; - }, - - /** - * Which backend is currently in use? - * - * @returns String - */ - currentBackend: function(){ - return _backend; - }, - - /** - * Test if storage is available - * - * @returns Boolean - */ - storageAvailable: function(){ - return !!_backend; - }, - - /** - * Reloads the data from browser storage - * - * @returns undefined - */ - reInit: function(){ - var new_storage_elm, data; - if(_storage_elm && _storage_elm.addBehavior){ - new_storage_elm = document.createElement('link'); - - _storage_elm.parentNode.replaceChild(new_storage_elm, _storage_elm); - _storage_elm = new_storage_elm; - - /* Use a DOM element to act as userData storage */ - _storage_elm.style.behavior = 'url(#default#userData)'; - - /* userData element needs to be inserted into the DOM! */ - document.getElementsByTagName('head')[0].appendChild(_storage_elm); - - _storage_elm.load("jStorage"); - data = "{}"; - try{ - data = _storage_elm.getAttribute("jStorage"); - }catch(E5){} - _storage_service.jStorage = data; - _backend = "userDataBehavior"; - } - - _load_storage(); - } - }; - - // Initialize jStorage - _init(); - -})(window.jQuery || window.$); -(function() { - /* - Source, bug reports, examples: https://github.com/tamc/Sankey - Copyright: Thomas Counsell 2010, 2011 - Licence: MIT Open Source licence http://www.opensource.org/licenses/mit-license.php - */ - var FlowLine, Sankey, TransformationBox; - var __hasProp = Object.prototype.hasOwnProperty, __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; - Sankey = (function() { - function Sankey() { - this.display_in_element = 'sankey'; - this.display_width = $('#sankey').width(); - this.display_height = $('#sankey').height(); - this.r = Raphael(this.display_in_element, this.display_width, this.display_height); - this.left_margin = 100; - this.right_margin = 100; - this.y_space = 10; - this.threshold_for_drawing = 0; - this.box_width = 50; - this.flow_edge_width = 2; - this.flow_curve = 0.25; - this.boxes = {}; - this.box_array = []; - this.lines = {}; - this.line_array = []; - this.stacks = []; - this.bubbles = []; - this.bubbleColor = '#000'; - this.bubbleLabelColor = '#fff'; - } - Sankey.prototype.find_or_create_transformation_box = function(name) { - var new_box; - if (this.boxes[name] == null) { - new_box = new TransformationBox(this, name); - this.boxes[name] = new_box; - this.box_array.push(new_box); - } - return this.boxes[name]; - }; - Sankey.prototype.lineName = function(start, end) { - return "" + start + "-" + end; - }; - Sankey.prototype.createLine = function(datum) { - var new_line; - if (datum[0] === 0) { - return; - } - new_line = new FlowLine(this, datum[0], datum[1], datum[2]); - this.lines[this.lineName(datum[0], datum[2])] = new_line; - return this.line_array.push(new_line); - }; - Sankey.prototype.setData = function(data) { - var datum, _i, _len, _results; - _results = []; - for (_i = 0, _len = data.length; _i < _len; _i++) { - datum = data[_i]; - _results.push(this.createLine(datum)); - } - return _results; - }; - Sankey.prototype.setBubbles = function(data) { - return this.bubbles = data; - }; - Sankey.prototype.updateData = function(data) { - var datum, line, _i, _len, _results; - _results = []; - for (_i = 0, _len = data.length; _i < _len; _i++) { - datum = data[_i]; - line = this.lines[this.lineName(datum[0], datum[2])]; - _results.push(line ? line.setFlow(datum[1]) : this.createLine(datum)); - } - return _results; - }; - Sankey.prototype.convert_flow_values_callback = function(flow) { - return flow; - }; - Sankey.prototype.convert_flow_labels_callback = function(flow) { - return flow; - }; - Sankey.prototype.convert_box_value_labels_callback = function(flow) { - return this.convert_flow_labels_callback(flow); - }; - Sankey.prototype.convert_box_description_labels_callback = function(name) { - return name; - }; - Sankey.prototype.convert_bubble_values_callback = function(size) { - return size; - }; - Sankey.prototype.convert_bubble_labels_callback = function(size) { - return size; - }; - Sankey.prototype.nudge_boxes_callback = function() { - return; - }; - Sankey.prototype.nudge_colours_callback = function() { - return; - }; - Sankey.prototype.stack = function(x, box_names, y_box) { - return this.stacks.push({ - x: x, - box_names: box_names, - y_box: y_box - }); - }; - Sankey.prototype.setColors = function(colors) { - var box, box_name, color, _results; - _results = []; - for (box_name in colors) { - if (!__hasProp.call(colors, box_name)) continue; - color = colors[box_name]; - box = this.find_or_create_transformation_box(box_name); - _results.push(box.line_colour = colors[box.name] || box.line_colour); - } - return _results; - }; - Sankey.prototype.recolour = function(lines, new_colour) { - var line, _i, _len, _results; - _results = []; - for (_i = 0, _len = lines.length; _i < _len; _i++) { - line = lines[_i]; - _results.push(line.colour = new_colour); - } - return _results; - }; - Sankey.prototype.calculateXStep = function() { - var maximum_x, stack, _i, _len, _ref; - maximum_x = 0; - _ref = this.stacks; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - stack = _ref[_i]; - if (stack.x > maximum_x) { - maximum_x = stack.x; - } - } - return (this.display_width - this.left_margin - this.right_margin) / maximum_x; - }; - Sankey.prototype.position_boxes_and_lines = function() { - var box, bubble, name, stack, x, x_step, y, _i, _j, _k, _l, _len, _len2, _len3, _len4, _ref, _ref2, _ref3, _ref4, _ref5, _ref6; - x_step = this.calculateXStep(); - _ref = this.stacks; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - stack = _ref[_i]; - x = stack.x; - if (stack.y_box != null) { - y = ((_ref2 = this.boxes[stack.y_box]) != null ? _ref2.y : void 0) || 10; - } else { - y = 10; - } - _ref3 = stack.box_names; - for (_j = 0, _len2 = _ref3.length; _j < _len2; _j++) { - name = _ref3[_j]; - box = this.boxes[name]; - if (box == null) {} else { - box.y = y; - box.x = this.left_margin + (x * x_step); - y = box.b() + this.y_space; - } - } - } - this.nudge_boxes_callback(); - _ref4 = this.box_array; - for (_k = 0, _len3 = _ref4.length; _k < _len3; _k++) { - box = _ref4[_k]; - box.position_and_colour_lines(); - } - _ref5 = this.bubbles; - for (_l = 0, _len4 = _ref5.length; _l < _len4; _l++) { - bubble = _ref5[_l]; - if ((_ref6 = this.boxes[bubble[0]]) != null) { - _ref6.bubbleValue = bubble[1]; - } - } - this.nudge_colours_callback(); - return this.line_array.sort(function(a, b) { - return b.size - a.size; - }); - }; - Sankey.prototype.draw = function() { - var box, line, _i, _j, _len, _len2, _ref, _ref2, _results; - this.position_boxes_and_lines(); - _ref = this.line_array; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - line = _ref[_i]; - if (line.size > this.threshold_for_drawing) { - line.draw(this.r); - } - } - _ref2 = this.box_array; - _results = []; - for (_j = 0, _len2 = _ref2.length; _j < _len2; _j++) { - box = _ref2[_j]; - _results.push(box.size() > this.threshold_for_drawing ? box.draw(this.r) : void 0); - } - return _results; - }; - Sankey.prototype.redraw = function() { - var box, line, _i, _j, _len, _len2, _ref, _ref2, _results; - this.position_boxes_and_lines(); - _ref = this.line_array; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - line = _ref[_i]; - line.redraw(this.r); - } - _ref2 = this.box_array; - _results = []; - for (_j = 0, _len2 = _ref2.length; _j < _len2; _j++) { - box = _ref2[_j]; - _results.push(box.redraw(this.r)); - } - return _results; - }; - Sankey.prototype.fade_unless_highlighted = function() { - var box, line, _i, _j, _len, _len2, _ref, _ref2, _results; - _ref = this.line_array; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - line = _ref[_i]; - line.fade_unless_highlighted(); - void 0; - } - _ref2 = this.box_array; - _results = []; - for (_j = 0, _len2 = _ref2.length; _j < _len2; _j++) { - box = _ref2[_j]; - box.fade_unless_highlighted(); - _results.push(void 0); - } - return _results; - }; - Sankey.prototype.un_fade = function() { - var box, line, _i, _j, _len, _len2, _ref, _ref2, _results; - _ref = this.line_array; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - line = _ref[_i]; - line.un_fade(); - void 0; - } - _ref2 = this.box_array; - _results = []; - for (_j = 0, _len2 = _ref2.length; _j < _len2; _j++) { - box = _ref2[_j]; - box.un_fade(); - _results.push(void 0); - } - return _results; - }; - return Sankey; - })(); - FlowLine = (function() { - function FlowLine(sankey, left_box_name, flow, right_box_name) { - this.sankey = sankey; - this.hover_stop = __bind(this.hover_stop, this); - this.hover_start = __bind(this.hover_start, this); - this.setFlow(flow); - this.colour = void 0; - this.ox = 0; - this.oy = 0; - this.dx = 0; - this.dy = 0; - this.left_box = this.sankey.find_or_create_transformation_box(left_box_name); - this.right_box = this.sankey.find_or_create_transformation_box(right_box_name); - this.left_box.right_lines.push(this); - this.right_box.left_lines.push(this); - } - FlowLine.prototype.setFlow = function(flow) { - this.flow = flow; - return this.size = this.sankey.convert_flow_values_callback(this.flow); - }; - FlowLine.prototype.labelText = function() { - return this.sankey.convert_flow_labels_callback(this.flow); - }; - FlowLine.prototype.path = function() { - var curve; - curve = (this.dx - this.ox) * this.sankey.flow_curve; - return "M " + this.ox + "," + this.oy + " Q " + (this.ox + curve) + "," + this.oy + " " + ((this.ox + this.dx) / 2) + "," + ((this.oy + this.dy) / 2) + " Q " + (this.dx - curve) + "," + this.dy + " " + this.dx + "," + this.dy; - }; - FlowLine.prototype.innerWidth = function() { - if (this.size > this.sankey.flow_edge_width) { - return this.size - this.sankey.flow_edge_width; - } - return this.size; - }; - FlowLine.prototype.innerColor = function() { - var c; - c = Raphael.rgb2hsb(this.colour); - if (c.h !== 0 && c.s !== 0) { - if (c.b > 0.5) { - c.b = c.b - 0.15; - } else { - c.b = c.b + 0.15; - } - } - return Raphael.hsb2rgb(c.h, c.s, c.b); - }; - FlowLine.prototype.draw = function(r) { - this.outer_line = r.path(this.path()).attr({ - 'stroke-width': this.size, - 'stroke': this.colour - }); - this.inner_line = r.path(this.path()).attr({ - 'stroke-width': this.innerWidth(), - 'stroke': this.innerColor() - }); - r.set().push(this.inner_line, this.outer_line).hover(this.hover_start, this.hover_stop); - this.left_label = r.text(this.ox + 1, this.oy - (this.size / 2) - 5, this.labelText()).attr({ - 'text-anchor': 'start' - }); - this.right_label = r.text(this.dx - 1, this.dy - (this.size / 2) - 5, this.labelText()).attr({ - 'text-anchor': 'end' - }); - this.left_label.hide(); - return this.right_label.hide(); - }; - FlowLine.prototype.hover_start = function(event) { - this.highlight(true, true); - return this.sankey.fade_unless_highlighted(); - }; - FlowLine.prototype.hover_stop = function(event) { - this.un_highlight(true, true); - return this.sankey.un_fade(); - }; - FlowLine.prototype.redraw = function(r) { - if (this.outer_line == null) { - this.draw(r); - } - this.outer_line.attr({ - path: this.path(), - 'stroke-width': this.size - }); - this.inner_line.attr({ - path: this.path(), - 'stroke-width': this.innerWidth() - }); - this.left_label.attr({ - text: this.labelText(), - x: this.ox + 1, - y: this.oy - (this.size / 2) - 5 - }); - return this.right_label.attr({ - text: this.labelText(), - x: this.dx - 1, - y: this.dy - (this.size / 2) - 5 - }); - }; - FlowLine.prototype.fade_unless_highlighted = function() { - if (this.outer_line == null) { - return false; - } - if (this.inner_line == null) { - return false; - } - if (this.highlighed === true) { - return false; - } - this.outer_line.attr({ - 'opacity': '0.1' - }); - return this.inner_line.attr({ - 'opacity': '0.1' - }); - }; - FlowLine.prototype.un_fade = function() { - if (this.outer_line == null) { - return false; - } - if (this.inner_line == null) { - return false; - } - if (this.highlighed === true) { - return false; - } - this.outer_line.attr({ - 'opacity': '1.0' - }); - return this.inner_line.attr({ - 'opacity': '1.0' - }); - }; - FlowLine.prototype.highlight = function(left, right) { - if (this.outer_line == null) { - return false; - } - if (this.inner_line == null) { - return false; - } - this.highlighed = true; - if (left) { - this.left_label.toFront(); - this.left_label.show(); - this.left_box.highlight(); - } - if (right) { - this.right_label.toFront(); - this.right_label.show(); - return this.right_box.highlight(); - } - }; - FlowLine.prototype.un_highlight = function(left, right) { - if (this.outer_line == null) { - return false; - } - this.highlighed = false; - if (left) { - this.left_label.hide(); - this.left_box.un_highlight(); - } - if (right) { - this.right_label.hide(); - return this.right_box.un_highlight(); - } - }; - return FlowLine; - })(); - TransformationBox = (function() { - function TransformationBox(sankey, name) { - this.sankey = sankey; - this.name = name; - this.hover_end = __bind(this.hover_end, this); - this.hover_start = __bind(this.hover_start, this); - this.label_text = this.sankey.convert_box_description_labels_callback(name); - this.line_colour = "orange"; - this.left_lines = []; - this.right_lines = []; - this.x = 0; - this.y = 0; - this.bubbleValue = null; - } - TransformationBox.prototype.b = function() { - return this.y + this.size(); - }; - TransformationBox.prototype.is_left_box = function() { - return this.left_lines.length === 0; - }; - TransformationBox.prototype.is_right_box = function() { - return this.right_lines.length === 0; - }; - TransformationBox.prototype.size = function() { - var line, lines, s, _i, _len; - s = 0; - if (this.is_left_box()) { - lines = this.right_lines; - } else { - lines = this.left_lines; - } - for (_i = 0, _len = lines.length; _i < _len; _i++) { - line = lines[_i]; - if (line.size > this.sankey.threshold_for_drawing) { - s = s + line.size; - } - } - return s; - }; - TransformationBox.prototype.flow = function() { - var line, lines, s, _i, _len; - s = 0; - if (this.is_left_box()) { - lines = this.right_lines; - } else { - lines = this.left_lines; - } - for (_i = 0, _len = lines.length; _i < _len; _i++) { - line = lines[_i]; - if (line.size > this.sankey.threshold_for_drawing) { - s = s + line.flow; - } - } - return s; - }; - TransformationBox.prototype.position_and_colour_lines = function() { - var box_width, left_lines, line, ly, right_lines, ry, _i, _j, _len, _len2, _ref, _results; - ly = this.y; - left_lines = this.left_lines; - left_lines.sort(function(a, b) { - return a.left_box.y - b.left_box.y; - }); - for (_i = 0, _len = left_lines.length; _i < _len; _i++) { - line = left_lines[_i]; - line.dx = this.x; - line.dy = ly + (line.size / 2); - ly = ly + line.size; - } - ry = this.y; - right_lines = this.right_lines; - right_lines.sort(function(a, b) { - return a.right_box.y - b.right_box.y; - }); - box_width = this.sankey.box_width; - _results = []; - for (_j = 0, _len2 = right_lines.length; _j < _len2; _j++) { - line = right_lines[_j]; - if ((_ref = line.colour) == null) { - line.colour = this.line_colour; - } - line.ox = this.x + box_width; - line.oy = ry + (line.size / 2); - _results.push(ry = ry + line.size); - } - return _results; - }; - TransformationBox.prototype.valueLabelText = function() { - return this.sankey.convert_box_value_labels_callback(this.flow()); - }; - TransformationBox.prototype.descriptionLabelText = function() { - return this.label_text; - }; - TransformationBox.prototype.labelPositionX = function() { - if (this.is_left_box()) { - return this.x - 3.0; - } - if (this.is_right_box()) { - return this.x + this.sankey.box_width + 3.0; - } - return this.x + (this.sankey.box_width / 2); - }; - TransformationBox.prototype.labelPositionY = function() { - return this.y + (this.size() / 2); - }; - TransformationBox.prototype.labelAttributes = function() { - if (this.is_left_box()) { - return { - 'text-anchor': 'end' - }; - } - if (this.is_right_box()) { - return { - 'text-anchor': 'start' - }; - } - return {}; - }; - TransformationBox.prototype.numberLabelPositionX = function() { - return this.x + (this.sankey.box_width / 2); - }; - TransformationBox.prototype.numberLabelPositionY = function() { - return this.y - 5; - }; - TransformationBox.prototype.bubbleSize = function() { - return Math.sqrt(this.sankey.convert_bubble_values_callback(Math.abs(this.bubbleValue))); - }; - TransformationBox.prototype.bubbleLabel = function() { - return this.sankey.convert_bubble_labels_callback(this.bubbleValue); - }; - TransformationBox.prototype.bubbleColourForValue = function() { - if (this.bubbleValue > 0) { - return this.sankey.bubbleColor; - } - if (this.sankey.negativeBubbleColor == null) { - return this.sankey.bubbleColor; - } - return this.sankey.negativeBubbleColor; - }; - TransformationBox.prototype.bubbleLabelColourForValue = function() { - if (this.bubbleValue > 0) { - return this.sankey.bubbleLabelColor; - } - if (this.sankey.negativeBubbleLabelColor == null) { - return this.sankey.bubbleLabelColor; - } - return this.sankey.negativeBubbleLabelColor; - }; - TransformationBox.prototype.draw = function(r) { - var box_width; - if (!(this.size() > this.sankey.threshold_for_drawing)) { - return false; - } - box_width = this.sankey.box_width; - this.box = r.rect(this.x, this.y, box_width, this.size()).attr({ - 'fill': "#E8E2FF", - "stroke": "#D4CBF2" - }); - this.label = r.text(this.labelPositionX(), this.labelPositionY(), this.descriptionLabelText()).attr(this.labelAttributes()); - if (this.bubbleValue != null) { - this.bubble_circle = r.circle(this.x + box_width, this.y, this.bubbleSize()).attr({ - 'fill': this.bubbleColourForValue(), - 'stroke-width': 0 - }); - this.bubble_label = r.text(this.x + box_width, this.y, this.bubbleLabel()).attr({ - 'stroke': this.bubbleLabelColourForValue(), - 'text-anchor': 'middle' - }); - } - this.number_label = r.text(this.numberLabelPositionX(), this.numberLabelPositionY(), this.valueLabelText()); - this.number_label.hide(); - return r.set().push(this.number_label, this.label, this.box, this.bubble_circle, this.bubble_label).hover(this.hover_start, this.hover_end); - }; - TransformationBox.prototype.redraw = function(r) { - if (this.box == null) { - this.draw(r); - } - if (this.box == null) { - return; - } - this.box.attr({ - y: this.y, - height: this.size() - }); - this.label.attr({ - y: this.labelPositionY() - }); - this.number_label.attr({ - y: this.numberLabelPositionY(), - text: this.valueLabelText() - }); - if (this.bubbleValue != null) { - if (this.bubble_circle != null) { - this.bubble_circle.attr({ - cy: this.y, - r: this.bubbleSize(), - fill: this.bubbleColourForValue() - }); - this.bubble_label.attr({ - y: this.y, - text: this.bubbleLabel(), - 'stroke': this.bubbleLabelColourForValue() - }); - } else { - this.draw(r); - } - } - if (this.size() <= this.sankey.threshold_for_drawing) { - this.box.hide(); - this.label.hide(); - if (this.bubble_circle != null) { - return this.bubble_circle.hide(); - } - } else { - this.box.show(); - this.label.show(); - if (this.bubble_circle != null) { - return this.bubble_circle.show(); - } - } - }; - TransformationBox.prototype.hover_start = function() { - var line, _i, _j, _len, _len2, _ref, _ref2; - this.highlight(); - this.number_label.toFront(); - this.number_label.show(); - _ref = this.left_lines; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - line = _ref[_i]; - line.highlight(true, false); - } - _ref2 = this.right_lines; - for (_j = 0, _len2 = _ref2.length; _j < _len2; _j++) { - line = _ref2[_j]; - line.highlight(false, true); - } - return this.sankey.fade_unless_highlighted(); - }; - TransformationBox.prototype.hover_end = function() { - var line, _i, _j, _len, _len2, _ref, _ref2; - this.un_highlight(); - this.number_label.hide(); - _ref = this.left_lines; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - line = _ref[_i]; - line.un_highlight(true, false); - } - _ref2 = this.right_lines; - for (_j = 0, _len2 = _ref2.length; _j < _len2; _j++) { - line = _ref2[_j]; - line.un_highlight(false, true); - } - return this.sankey.un_fade(); - }; - TransformationBox.prototype.highlight = function() { - if (this.box == null) { - return false; - } - return this.highlighed = true; - }; - TransformationBox.prototype.un_highlight = function() { - if (this.box == null) { - return false; - } - return this.highlighed = false; - }; - TransformationBox.prototype.fade_unless_highlighted = function() { - if (this.box == null) { - return false; - } - if (this.highlighed === true) { - return false; - } - this.box.attr({ - 'opacity': '0.1' - }); - this.label.attr({ - 'opacity': '0.1' - }); - if (this.bubble_circle != null) { - this.bubble_circle.attr({ - 'opacity': '0.1' - }); - } - if (this.bubble_label != null) { - return this.bubble_label.attr({ - 'opacity': '0.1' - }); - } - }; - TransformationBox.prototype.un_fade = function() { - if (this.box == null) { - return false; - } - if (this.highlighed === true) { - return false; - } - this.box.attr({ - 'opacity': '1.0' - }); - this.label.attr({ - 'opacity': '1.0' - }); - if (this.bubble_circle != null) { - this.bubble_circle.attr({ - 'opacity': '1.0' - }); - } - if (this.bubble_label != null) { - return this.bubble_label.attr({ - 'opacity': '1.0' - }); - } - }; - return TransformationBox; - })(); - window.Sankey = Sankey; -}).call(this); -// éclair - FIXME: Need this so file is recognised as utf-8. Need a better solution than this bodge -// FIXME: In the end, this should only contain information drawn from the Excel Model. -// that is constant across pathways. The methods called are in helper.rb -window.twentyfifty = {}; -window.twentyfifty.default_pathway = "11111111111111111111111111111111111111111111111111111"; -window.twentyfifty.pathway_wiki_pages_hash = {"10111111111111110111111001111110111101101101110110111":75.0,"10111111111111110111111004424440444404204304440420111":"No","40444444444444440443424001121110111101102101110110111":"No","i0g2dd2pp1121f1i032211p004314110433304202304320420121":112.0,"e0d3jrg221ci12110222112004423220444404202304440420141":109.0,"r013ce1111111111042233B002322220233302202102330220121":110.0,"f023df111111111f0322123003223220333203102303430310221":111.0,"q011111111111111032413l004314110434104103204440410111":170.0,"10h4nn4431w23y110244111004424440343304202304430420441":95.0,"10h2pdppp12332130233122004414430343304102304430410231":96.0,"20222144411341110343321003422440423404203203340420141":94.0,"h0h2gg1211cj1j110322222003313230234102102203440320121":97.0,"g0f2oj11t1rgqj1j0343111003324240244104201304430420231":92.0,"00000000000000000000000000000000000000000000000000000":null}; -window.twentyfifty.pathway_descriptions_hash = {"10111111111111110111111001111110111101101101110110111":"Imported natural gas for electricity and\nheat. Imported oil for vehicles.","10111111111111110111111004424440444404204304440420111":"","40444444444444440443424001121110111101102101110110111":"","i0g2dd2pp1121f1i032211p004314110433304202304320420121":"Cost-optimising model based. Mix of supply\nsources. Ambitious demand reduction.","e0d3jrg221ci12110222112004423220444404202304440420141":"Renewables largest supply component. Very\nambitious demand reduction. Lots of storage.","r013ce1111111111042233B002322220233302202102330220121":"Lots of nuclear. Moderate energy demand\nreduction. Minimal renewables.","f023df111111111f0322123003223220333203102303430310221":"Lots of CCS and biomass co-firing. Ambitious\ndemand reduction.","q011111111111111032413l004314110434104103204440410111":"TBD\n","10h4nn4431w23y110244111004424440343304202304430420441":"Generation from wind, marine renewables and\nhydro. Ambitious demand reduction.","10h2pdppp12332130233122004414430343304102304430410231":"Offshore renewables, solar, geothermal and\nelectricity imports. Ambitious demand reduction.","20222144411341110343321003422440423404203203340420141":"Marine renewables, geothermal and algae\nsupply. Some nuclear and CCS.","h0h2gg1211cj1j110322222003313230234102102203440320121":"Wide range of generation sources. Moderate\ndemand reduction. Considerable bioenergy.","g0f2oj11t1rgqj1j0343111003324240244104201304430420231":"Energy from a range of sources. Emphasis on\nUK self-reliance.","00000000000000000000000000000000000000000000000000000":""}; -window.twentyfifty.pathway_names_hash = {"10111111111111110111111001111110111101101101110110111":"Doesn't tackle climate change (All at level 1)","10111111111111110111111004424440444404204304440420111":"Maximium demand, no supply","40444444444444440443424001121110111101102101110110111":"Maximum supply, no demand","i0g2dd2pp1121f1i032211p004314110433304202304320420121":"Analogous to MARKAL 3.26","e0d3jrg221ci12110222112004423220444404202304440420141":"Higher renewables, more energy efficiency","r013ce1111111111042233B002322220233302202102330220121":"Higher nuclear, less energy efficiency","f023df111111111f0322123003223220333203102303430310221":"Higher CCS, more bioenergy","q011111111111111032413l004314110434104103204440410111":"Low cost pathway","10h4nn4431w23y110244111004424440343304202304430420441":"Friends of the Earth","10h2pdppp12332130233122004414430343304102304430410231":"Campaign to Protect Rural England","20222144411341110343321003422440423404203203340420141":"Mark Brinkley","h0h2gg1211cj1j110322222003313230234102102203440320121":"National Grid","g0f2oj11t1rgqj1j0343111003324240244104201304430420231":"Atkins","00000000000000000000000000000000000000000000000000000":null}; -window.twentyfifty.comparator_pathways = ["i0g2dd2pp1121f1i032211p004314110433304202304320420121","e0d3jrg221ci12110222112004423220444404202304440420141","r013ce1111111111042233B002322220233302202102330220121","f023df111111111f0322123003223220333203102303430310221","q011111111111111032413l004314110434104103204440410111","10h4nn4431w23y110244111004424440343304202304430420441","10h2pdppp12332130233122004414430343304102304430410231","20222144411341110343321003422440423404203203340420141","h0h2gg1211cj1j110322222003313230234102102203440320121","g0f2oj11t1rgqj1j0343111003324240244104201304430420231","10111111111111110111111001111110111101101101110110111"]; -window.twentyfifty.default_comparator_code = "10111111111111110111111001111110111101101101110110111"; -window.twentyfifty.longDescriptions = [["No new nuclear power installed. Final nuclear power station estimated to close in 2035","~13 3GW nuclear power stations delivering ~280 TWh/yr","~30 3GW nuclear power stations delivering ~630 TWh/yr","~50 3GW nuclear power stations delivering ~1030 TWh/yr"],[null,null,null,null],["CCS demonstration plants only","~240 TWh/yr from 25-40 CCS power stations - comparable to current gas & coal generation","~340 TWh/yr from 35-60 CCS power stations - comparable to total current demand","~510 TWh/yr from 50-90 CCS power stations - this requires a similar build rate to that of gas plants in the 1990s"],["After demonstration plants, all CCS electricity is from solid fuel (coal or biomass)","After demonstration plants, two thirds of CCS electricity is from solid fuel (coal or biomass), one third from gas (natural gas or biogas)","After demonstration plants, one third of CCS electricity is from solid fuel (coal or biomass), two thirds from gas (natural gas or biogas)","After demonstration plants, all CCS electricity is from gas (natural gas or biogas)"],["~1,400 offshore wind turbines in 2025, reducing to zero as decommissioned sites are not replanted","~10,000 offshore wind turbines in 2050, delivering ~180 TWh/yr","~17,000 offshore wind turbines in 2050, delivering ~310 TWh/yr","~40,000 offshore wind turbines in 2050, delivering ~430 TWh/yr"],["~4,400 onshore wind turbines in 2025, reducing to zero as decommissioned sites are not replanted","~8,000 onshore wind turbines in 2050, delivering ~50 TWh/yr. ","~13,000 onshore wind turbines in 2050, delivering ~80 TWh/yr","~20,000 onshore wind turbines in 2050, delivering ~130 TWh/yr"],["None in 2050","~300km of wave farms","~600km of wave farms","~900km of wave farms"],["None in 2050","1,000 tidal stream turbines","4,700 tidal stream turbines","10,600 tidal stream turbines"],["None in 2050","3 small tidal range schemes","4 tidal range schemes","8 tidal range schemes"],["Only existing biomass plants and those already under construction (0.6GW)","8GW of biomass power stations by 2050 delivering 62TWh/yr","12GW of biomass power stations by 2050 delivering 100TWh/yr","Over 20GW of biomass power stations by 2050 delivering 180TWh/yr"],["No significant solar PV capacity is installed","4m2 of photovoltaic panels per person in 2050, supplying ~60 TWh/yr of electricity"," 5.4m2 of photovoltaic panels per person in 2050, supplying ~80 TWh/yr","9.5m2 of photovoltaic panels per person – all suitable roof and facade space used"],["As today, a negligible proportion of buildings have solar thermal in 2050","~30% of suitable buildings get ~30% of their hot water from solar thermal","All suitable buildings get ~30% of their hot water from solar thermal","All suitable buildings get ~60% of their hot water from solar thermal"],["No deployment of geothermal electricity generation","Supply of geothermal electricity grows slowly to 7 TWh/yr in 2035 and is sustained","Supply of geothermal electricity grows quickly reaching 21 TWh/yr by 2030 and is sustained","Supply of geothermal electricity grows rapidly reaching 35 TWh/yr by 2030 and is sustained"],["Supply of hydroelectricity is maintained at current levels of 5 TWh/yr","Supply of hydroelectricity grows slowly, reaching 7 TWh/yr by 2050","Supply of hydroelectricity grows more quickly, reaching 8 TWh/yr by 2030 and is sustained","Supply of hydroelectricity grows rapidly reaching 13 TWh/yr by 2035 and is sustained"],["As today, no discernable supply of electricity from micro-wind turbines","Supply of electricity from micro wind turbines increases to 1.3 TWh/yr by 2020 and is sustained","Micro wind turbines installed in all ~450,000 suitable domestic properties, supplying 3.5 TWh/year from 2020","Micro wind turbines installed in all suitable domestic and non-domestic sties, supplying 8.9 TWh/year from 2020"],["No electricity imports, other than for balancing","30 TWh/yr of electricity imported from Southern Europe","70 TWh/yr of electricity imported from a 10% share of an internationally coordinated desert solar project ","140 TWh/yr of electricity imported from a 20% share of an internationally coordinated desert solar project"],[null,null,null,null],["Energy crops and food production similar to today","5% of UK land used for energy crops","10% of UK land used for energy crops","17% of UK land used for energy crops"],["Livestock numbers increase by 10%","Livestock numbers same as today","Livestock numbers decrease by 10%","Livestock numbers decrease by 20%"],["Overall quantity of waste increases 50% to 2050; 21% increase in recycling rate and 44% increase in rate of energy from waste. 24% of waste is sent to landfill","Overall quantity of waste increases almost 20% by 2050; recycling and energy from waste rates increase by 36% and 89% respectively. 11% of waste is sent to landfill.","Overall quantity of waste increases 33%; waste is handled through high-tech and industry-led approaches; by 2050, recycling and energy from waste rates increase by 36% and 89% respectively. Only 2% is sent to landfill.","Quantity of waste decreases 20% by 2050; recycling and energy from waste increase by 70% and 7% respectively; by 2050, 3% of waste sent to landfill."],["No development of macro-algae cultivation","Macro algae covering the same area as half of natural reserve used, delivering ~4 TWh/yr","Macro algae covering the same area as all of natural reserve used, delivering ~9 TWh/yr","Macro algae covering the same area as four times natural reserve used, delivering ~46 TWh/yr"],["Biomass converted to a mixture of solid, liquid and gas biofuels","Biomass mainly converted to solid biofuel","Biomass mainly converted to liquid biofuel","Biomass mainly converted to biogas fuel"],["Imported biofuel declines from ~ 4 TWh/yr currently to zero","Up to 70 TWh/yr of imported bioenergy in 2050","Up to 140 TWh/yr of imported bioenergy in 2050","Up to 280 TWh/yr of imported bioenergy in 2050"],[null,null,null,null],[null,null,null,null],["In 2050, individuals travel 9% further than today. No noticeable modal shift.","Individuals travel 7% further than today, cars and vans are 80% of 2050 passenger mileage","Individuals travel 7% further than today; cars and vans 74% of 2050 passenger mileage","In 2050, individuals travel the same distance as today. Signficant shift to public transport."],["By 2050, 20% plug in hybrid electric cars; 2.5% zero emission cars.","By 2050, 35% conventional petrol or diesel engine cars; 54% plug-in hybrid vehicles; 11% zero emission vehicles; all buses hybrids; 73% of passenger railway is electrifi","By 2050, 20% conventional combustion engine cars, with 32% in plug-in hybrid vehicles and 48% in zero emission vehicles: 22% of bus travel fully electric or fuel cell electric ","By 2050 100% electric motor or hydrogen fuel cell; all passenger trains electrified; 50% bus electrified "],["By 2050, 100% electric","by 2050, 80% electric, 20% hydrogen fuel cell","By 2050, 20% electric, 80% hydrogen fuel cell","By 2050, 100% hydrogen fuel cells"],["Road haulage makes up 73% of distance, using conventional engines. Rail all diesel","Some shift from road to rail and water, and more efficient engines","Greater modal shift to rail and water; more efficient HGVs; more efficient logistics","Road modal share falls to half; greater hybridisation. Rail freight is all electric "],["By 2050, international aviation has 130% more passengers but uses only 50% more fuel","By 2050, international aviation has 130% more passengers but uses only 45% more fuel","By 2050, international aviation has 130% more passengers but uses only 31% more fuel","By 2050, international aviation has 85% more passengers but uses only 5% more fuel"],["no improvements from energy efficiency; between 2007 and 2050 emissions increase by 139%","1/3 of technical feasible reductions realised; between 2007 and 2050 emissions increase by 78%","2/3 of technical feasible reductions realised; between 2007 and 2050 emissions increase by 16%","maximum technical feasible reductions realised; between 2007 and 2050 emissions decrease by 46%"],[null,null,null,null],["Average room temperature increases to 20°C (a 2.5°C increase on 2007)","Average room temperature increases to 18°C (a 0.5°C increase on 2007)","Average room temperature decreases to 17°C (a 0.5°C decrease on 2007)","Average room temperature decreases to 16°C (a 1.5°C decrease on 2007)"],["Over 7m homes insulated, average thermal leakiness falls by 25%","Over 8m homes insulated, average thermal leakiness falls by 33%","Over 18m homes insulated, average thermal leakiness falls by 42%","Over 24m homes insulated, average thermal leakiness decreases by 50% "],["The proportion of domestic heat supplied using electricity is 0-10%, as today","The proportion of new domestic heating systems using electricity is 20%","The proportion of new domestic heating systems supplied using electricity is 30-60%","The proportion of new domestic heating systems supplied using electricity is 80-100%"],["The dominant non-electric heat source is gas (biogas if available)","The dominant non-electric heat source is coal (biomass if available)","The dominant non-electric heat source is waste heat from power stations","A mixture of gas/biogas; coal/biomass; and heat from power stations"],[null,null,null,null],["Energy demand for domestic lights and appliances increases by 20% (relative to 2007)","Energy demand for domestic lights and appliances is stable","Energy demand for domestic lights and appliances decreases by 40%","Energy demand for domestic lights and appliances decreases by 60%"],["Energy used for domestic cooking remains at 63% electricity and 37% gas","Energy used for domestic cooking is entirely electric","Energy used for domestic cooking is entirely electric","Energy used for domestic cooking is entirely electric"],[null,null,null,null],["UK industry output more than doubles by 2050","UK industry grows in line with current trends","UK industry output falls 30-40% by 2050","UK industry output falls 30-40% by 2050"],["No electrification of industrial processes and little improvement in industrial energy intensity","Some industrial processes electrified and moderate improvements in process emissions and energy demand","Many industrial processes electrified, CCS captures 48% of emissions and substantial improvements in process emissions and energy demand","Many industrial processes electrified, CCS captures 48% of emissions and substantial improvements in process emissions and energy demand"],[null,null,null,null],["Commercial space heating demand increases by 50%, hot water demand by 60%, cooling demand by 250%","Commercial space heating demand increases by 30%, hot water demand by 50%, cooling demand by 60%","Commercial space heating demand stable, hot water demand increases by 25%, cooling demand stable","Commercial space heating demand drops by 25%, hot water demand by 10%, cooling demand by 60%"],["The proportion of non-domestic heat supplied using electricity is 0-10%, as today","The proportion of non-domestic heat supplied using electricity is 20%","The proportion of non-domestic heat supplied using electricity is 30-60%","The proportion of non-domestic heat supplied using electricity is 80-100%"],["The dominant non-electric heat source is gas (biogas if available)","The dominant non-electric heating fuel is coal (biomass if available)","The dominant non-electric heat source is heat from power stations","A mixture of gas/biogas, coal/biomass, and heat from power stations"],[null,null,null,null],["Energy demand for commercial lights & appliances increases by 33%. Energy for cooking is stable","Energy demand for commercial lights & appliances increases by 15%; decreases by 5% for cooking","Energy demand for commercial lights & appliances decreases by 5%; decreases by 20% for cooking","Energy demand for commercial lights & appliances decreases by 30%; decreases by 25% for cooking"],["Energy used for commercial cooking is 60% electricity and 40% gas (no change from 2007)","Energy used for commercial cooking is 100% electric","Energy used for commercial cooking is 100% electric","Energy used for commercial cooking is 100% electric"],[null,null,null,null],["No geosequestration","Carbon dioxide sequestred at a rate of 1 million tonnes per annum by 2050","Carbon dioxide sequestred at a rate of ~30 million tonnes per annum by 2050","Carbon dioxide sequestred at a rate of ~110 million tonnes per annum by 2050"],["Today’s 3.5 GW of pumped storage and 4 GW interconnection with Europe available for balancing electricity supply and demand","4 GW of pumped storage and 10 GW interconnection with Europe available for balancing electricity supply and demand","7 GW of pumped storage (includign 2 more sites), 15 GW of interconnection with Europe and some demand shifting available for balancing electricity supply and demand","20 GW of pumped storage with large lagoons, 30 GW of interconnection with Europe and substantial demand shifting available for balancing electricity supply and demand"],[null,null,null,null]]; -window.twentyfifty.choice_sizes = {"0":4,"2":4,"3":4,"4":4,"5":4,"6":4,"7":4,"8":4,"9":4,"10":4,"11":4,"12":4,"13":4,"14":4,"15":4,"17":4,"18":4,"19":4,"20":4,"21":4,"22":4,"25":4,"26":4,"27":4,"28":4,"29":4,"30":4,"32":4,"33":4,"34":4,"35":4,"37":4,"38":2,"40":3,"41":3,"43":4,"44":4,"45":4,"47":4,"48":2,"50":4,"51":4,"52":3}; -(function() { - var cache, choices, choicesForCode, codeForChoices, comparator, controller, demoOriginalLevel, demoTimer, documentReady, float_to_letter_map, getChoices, getComparator, getSector, go, letter_to_float_map, loadMainPathway, loadSecondaryPathway, old_choices, pathwayDescriptions, pathwayName, pathwayWikiPages, sector, setChoices, setUpControls, setVariablesFromURL, startDemo, stopDemo, switchComparator, switchPathway, switchSector, switchView, updateControls, url, view, view_manager, views; - - views = {}; - - controller = null; - - choices = null; - - view = null; - - sector = null; - - comparator = null; - - view_manager = null; - - old_choices = []; - - cache = {}; - - documentReady = function() { - if ($.jStorage.get('CostCaveatShown') !== true) { - $('#cost_caveats').show(); - } - setUpControls(); - setVariablesFromURL(); - switchView(view); - return loadMainPathway(); - }; - - $(document).ready(documentReady); - - setUpControls = function() { - $("a[title]").tooltip({ - delay: 0, - position: 'top left', - offset: [3, 3], - tip: '#tooltip' - }); - $("a.choiceLink").click(function(event) { - var c, l, t; - event.preventDefault(); - t = $(event.target); - c = t.data().choicenumber; - l = t.data().choicelevel; - return go(c, l); - }); - $("a.view").click(function(event) { - var t, v; - event.preventDefault(); - t = $(event.target); - v = t.data().view; - return switchView(v); - }); - return $(".newdropdown").click(function(event) { - var d, o, space, t; - event.preventDefault(); - t = $(event.target); - d = $(t.data().dropdown); - if (d.hasClass("showdropdown")) { - return d.removeClass("showdropdown"); - } else { - d.addClass("showdropdown"); - o = t.offset(); - o.top = o.top + t.height(); - space = $(document).width() - o.left - d.width(); - if (space < 0) { - o.left = o.left + space; - } - return d.offset(o); - } - }); - }; - - setVariablesFromURL = function() { - var url_elements; - url_elements = window.location.pathname.split('/'); - controller = url_elements[1] || "pathways"; - choices = choicesForCode(url_elements[2] || twentyfifty.default_pathway); - view = url_elements[3] || "primary_energy_chart"; - if (view === 'costs_compared_within_sector') { - sector = url_elements[4]; - } - if (url_elements[4] === 'comparator') { - return comparator = url_elements[5]; - } - }; - - float_to_letter_map = { - "": "0", - 1.0: "1", - 1.1: "b", - 1.2: "c", - 1.3: "d", - 1.4: "e", - 1.5: "f", - 1.6: "g", - 1.7: "h", - 1.8: "i", - 1.9: "j", - 2.0: "2", - 2.1: "l", - 2.2: "m", - 2.3: "n", - 2.4: "o", - 2.5: "p", - 2.6: "q", - 2.7: "r", - 2.8: "s", - 2.9: "t", - 3.0: "3", - 3.1: "v", - 3.2: "w", - 3.3: "x", - 3.4: "y", - 3.5: "z", - 3.6: "A", - 3.7: "B", - 3.8: "C", - 3.9: "D", - 0.0: "0", - 4.0: "4" - }; - - codeForChoices = function(c) { - var cd, choice; - if (c == null) { - c = choices; - } - cd = (function() { - var _i, _len, _results; - _results = []; - for (_i = 0, _len = c.length; _i < _len; _i++) { - choice = c[_i]; - _results.push(float_to_letter_map[choice]); - } - return _results; - })(); - return cd.join(''); - }; - - letter_to_float_map = { - "1": 1.0, - "b": 1.1, - "c": 1.2, - "d": 1.3, - "e": 1.4, - "f": 1.5, - "g": 1.6, - "h": 1.7, - "i": 1.8, - "j": 1.9, - "2": 2.0, - "l": 2.1, - "m": 2.2, - "n": 2.3, - "o": 2.4, - "p": 2.5, - "q": 2.6, - "r": 2.7, - "s": 2.8, - "t": 2.9, - "3": 3.0, - "v": 3.1, - "w": 3.2, - "x": 3.3, - "y": 3.4, - "z": 3.5, - "A": 3.6, - "B": 3.7, - "C": 3.8, - "D": 3.9, - "0": 0.0, - "4": 4.0 - }; - - choicesForCode = function(newCode) { - var choice, _i, _len, _ref, _results; - _ref = newCode.split(''); - _results = []; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - choice = _ref[_i]; - _results.push(letter_to_float_map[choice]); - } - return _results; - }; - - getChoices = function() { - return choices; - }; - - getSector = function() { - return parseInt(sector); - }; - - switchSector = function(new_sector) { - sector = new_sector; - if (history['pushState'] != null) { - history.pushState(choices, codeForChoices(), url()); - } - switchView('costs_compared_within_sector'); - view_manager.teardown(); - return view_manager.updateResults(cache[codeForChoices()]); - }; - - getComparator = function() { - return comparator; - }; - - switchComparator = function(new_comparator) { - comparator = new_comparator; - if (history['pushState'] != null) { - history.pushState(choices, codeForChoices(), url()); - } - if (view_manager.switchComparator != null) { - return view_manager.switchComparator(comparator); - } - }; - - url = function(options) { - var s; - if (options == null) { - options = {}; - } - s = jQuery.extend({ - controller: controller, - code: codeForChoices(), - view: view, - sector: sector, - comparator: getComparator() - }, options); - if (s.view === 'costs_compared_within_sector' && (s.sector != null)) { - return "/" + s.controller + "/" + s.code + "/" + s.view + "/" + s.sector; - } else if (s.comparator != null) { - return "/" + s.controller + "/" + s.code + "/" + s.view + "/comparator/" + s.comparator; - } else { - return "/" + s.controller + "/" + s.code + "/" + s.view; - } - }; - - go = function(index, level) { - old_choices = choices.slice(0); - if (index <= 15 && index !== 3 && level > 1 && Math.ceil(choices[index]) === level) { - choices[index] = Math.round((choices[index] - 0.1) * 10) / 10; - } else { - choices[index] = level; - } - return loadMainPathway(); - }; - - demoTimer = null; - - demoOriginalLevel = null; - - startDemo = function(choice) { - var demoLevel, demoMaximum; - demoLevel = 1; - demoOriginalLevel = choices[choice]; - demoMaximum = window.twentyfifty.choice_sizes[choice]; - return demoTimer = setInterval((function() { - go(choice, demoLevel); - demoLevel = demoLevel + 1; - if (demoLevel > demoMaximum) { - demoLevel = 1; - } - return false; - }), 1000); - }; - - stopDemo = function(choice) { - if (demoTimer != null) { - clearInterval(demoTimer); - } - if ((demoOriginalLevel != null) && demoOriginalLevel !== choices[choice]) { - return go(choice, demoOriginalLevel); - } - }; - - switchView = function(new_view) { - var c, data; - $('.showdropdown').removeClass("showdropdown"); - if (view === new_view && (view_manager != null)) { - return false; - } - if (view_manager != null) { - view_manager.teardown(); - } - view = new_view; - view_manager = views[view]; - $("a.selectedView").removeClass("selectedView"); - $("a.view[data-view='" + view + "']").addClass("selectedView"); - if (view === "costs_in_context") { - $("#cost_choice").addClass("selectedView").text("Costs: context"); - } else if (view === "costs_compared_overview") { - $("#cost_choice").addClass("selectedView").text("Costs: compared"); - } else if (view === "costs_sensitivity") { - $("#cost_choice").addClass("selectedView").text("Costs: sensitivity"); - } else { - $("#cost_choice").text("Costs"); - } - c = codeForChoices(); - data = cache[c]; - if (data != null) { - view_manager.updateResults(data); - } - if (history['pushState'] != null) { - return history.pushState(choices, c, url()); - } - }; - - switchPathway = function(new_code) { - return setChoices(choicesForCode(new_code)); - }; - - setChoices = function(new_choices) { - $('.showdropdown').removeClass("showdropdown"); - old_choices = choices.slice(0); - choices = new_choices; - return loadMainPathway(); - }; - - loadMainPathway = function(pushState) { - var fetch, main_code; - if (pushState == null) { - pushState = true; - } - if (choices.join('') === old_choices.join('')) { - return false; - } - updateControls(old_choices, choices); - main_code = codeForChoices(); - if (history['pushState'] != null) { - history.pushState(choices, main_code, url()); - } - if (cache[main_code] != null) { - view_manager.updateResults(cache[main_code]); - return $('#calculating').hide(); - } else { - $('#calculating').show(); - fetch = function() { - return $.getJSON(url({ - code: main_code, - view: 'data', - sector: null, - comparator: null - }), function(data) { - if (data != null) { - cache[data._id] = data; - if (data._id === codeForChoices()) { - view_manager.updateResults(data); - return $('#calculating').hide(); - } - } - }); - }; - return fetch(); - } - }; - - loadSecondaryPathway = function(secondary_code, callback) { - var fetch, - _this = this; - if (cache[secondary_code] != null) { - return callback(cache[secondary_code]); - } else { - fetch = function() { - return $.getJSON(url({ - code: secondary_code, - view: 'data', - sector: null, - comparator: null - }), function(data) { - if (data != null) { - cache[data._id] = data; - return callback(data); - } - }); - }; - return fetch(); - } - }; - - window.onpopstate = function(event) { - var url_elements; - if (!event.state) { - return false; - } - url_elements = window.location.pathname.split('/'); - setChoices(choicesForCode(url_elements[2])); - switchView(url_elements[3]); - if (view === 'costs_compared_within_sector') { - switchSector(url_elements[4]); - } - if (url_elements[4] === 'comparator') { - return switchComparator(url_elements[5]); - } - }; - - updateControls = function(old_choices, choices) { - var c, choice, choice_frview, choice_whole, controls, i, old_choice, old_choice_frview, old_choice_whole, row, _i, _j, _len, _ref, _ref1, _results; - this.choices = choices; - controls = $('#classic_controls'); - _ref = this.choices; - _results = []; - for (i = _i = 0, _len = _ref.length; _i < _len; i = ++_i) { - choice = _ref[i]; - old_choice = old_choices[i]; - if (choice !== old_choices[i]) { - old_choice_whole = Math.ceil(old_choice); - old_choice_frview = parseInt((old_choice % 1) * 10); - choice_whole = Math.ceil(choice); - choice_frview = parseInt((choice % 1) * 10); - row = controls.find("tr#r" + i); - row.find(".selected, .level" + old_choice_whole + ", .level" + old_choice_whole + "_" + old_choice_frview).removeClass("selected level" + old_choice_whole + " level" + old_choice_whole + "_" + old_choice_frview); - if (old_choice_frview !== 0) { - controls.find("#c" + i + "l" + old_choice_whole).text(old_choice_whole); - } - row.find("#c" + i + "l" + choice_whole).addClass('selected'); - for (c = _j = 1, _ref1 = choice_whole - 1; 1 <= _ref1 ? _j <= _ref1 : _j >= _ref1; c = 1 <= _ref1 ? ++_j : --_j) { - controls.find("#c" + i + "l" + c).addClass("level" + choice_whole); - } - if (choice_frview !== 0) { - controls.find("#c" + i + "l" + choice_whole).text(choice); - _results.push(controls.find("#c" + i + "l" + choice_whole).addClass("level" + choice_whole + "_" + choice_frview)); - } else { - _results.push(controls.find("#c" + i + "l" + choice_whole).addClass("level" + choice_whole)); - } - } else { - _results.push(void 0); - } - } - return _results; - }; - - pathwayName = function(pathway_code, default_name) { - if (default_name == null) { - default_name = null; - } - return window.twentyfifty.pathway_names_hash[pathway_code] || default_name; - }; - - pathwayDescriptions = function(pathway_code, default_description) { - if (default_description == null) { - default_description = null; - } - return window.twentyfifty.pathway_descriptions_hash[pathway_code] || default_description; - }; - - pathwayWikiPages = function(pathway_code, default_page) { - if (default_page == null) { - default_page = null; - } - return "http://2050-calculator-tool-wiki.decc.gov.uk/pages/" + (window.twentyfifty.pathway_wiki_pages_hash[pathway_code] || default_page); - }; - - window.twentyfifty.code = codeForChoices; - - window.twentyfifty.getChoices = getChoices; - - window.twentyfifty.setChoices = setChoices; - - window.twentyfifty.getSector = getSector; - - window.twentyfifty.switchSector = switchSector; - - window.twentyfifty.getComparator = getComparator; - - window.twentyfifty.switchComparator = switchComparator; - - window.twentyfifty.url = url; - - window.twentyfifty.go = go; - - window.twentyfifty.loadMainPathway = loadMainPathway; - - window.twentyfifty.loadSecondaryPathway = loadSecondaryPathway; - - window.twentyfifty.switchView = switchView; - - window.twentyfifty.switchPathway = switchPathway; - - window.twentyfifty.pathwayName = pathwayName; - - window.twentyfifty.pathwayDescriptions = pathwayDescriptions; - - window.twentyfifty.pathwayWikiPages = pathwayWikiPages; - - window.twentyfifty.startDemo = startDemo; - - window.twentyfifty.stopDemo = stopDemo; - - window.twentyfifty.views = views; - -}).call(this); -(function() { - var adjust_costs_of_pathway, calculateIncrementalCost, cost_categories, cost_override_in_place_warning, costs_in_category, group_costs_of_pathway, setDefaultStoreIfRequired, - __hasProp = {}.hasOwnProperty; - - window.costCaveatHTML = "
\n We would like your help to develop this tool. Please\nclick here\n to find out more about our methodology and suggest improvements.\nBefore viewing the cost implications of your choices, please note that:\n
    \n
  1. \n The Calculator expresses pathway costs as 'average pounds per person per year'. This is not the same as your energy bill. It is the cost of everything the UK buys that makes, converts, saves or uses energy: from kettles and insulation foam to trains and power stations. You can choose to see the results in different units when using the\n excel version of the Calculator.\n
  2. \n
  3. The Calculator does not choose any options automatically, regardless of their cost.
  4. \n
  5. \n The Calculator uses forecasts from credible sources of how technology and fuel costs might rise or fall over time. You vary these forecasts using the\n cost sensitivity\n implication from the menu on the top left. The full set of data points is available on the\n wiki.\n
  6. \n
  7. The cost of not tackling climate change is not included in the Calculator. The Stern review estimated that failing to tackle climate change could reduce global GDP by up to 20%. This is the equivalent of up to £6,500 per person per year on average, on top of the cost of the energy system.
  8. \n
  9. Some other important effects have been excluded from the Calculator. The costs of travelling less or with different modes of transport, having colder homes or fewer goods, and changing the appearance of our houses or landscape are not included. Nor are profits, taxes, subsidies or economies of scale driven by pathway choices. The Calculator includes only the physical costs of constructing, operating and fuelling equipment.
  10. \n
  11. Costs are just one feature for comparing 2050 pathways. The Calculator provides information on other impacts, as well as some illustrative pathways to compare your choices with.
  12. \n
\n\n
"; - - window.costEssentialNotesHTML = "
\n Note: The cost of failing to tackle climate change is not included. Some pathways, including the 'All at Level 1' pathway shown here, fail to tackle climate change. The Stern review estimated that failing to tackle climate change could reduce global GDP by up to 20% (equivalent to up to £6500 per person per year on top of the cost of the energy system included in the chart above). Nor are the costs of travelling less, being colder, or consuming less included.\n Show the caveats again\n
"; - - cost_categories = { - "Conventional thermal plant": "Electricity", - "Combustion + CCS": "Electricity", - "Nuclear power": "Electricity", - "Onshore wind": "Electricity", - "Offshore wind": "Electricity", - "Hydroelectric": "Electricity", - "Wave and Tidal": "Electricity", - "Geothermal": "Electricity", - "Distributed solar PV": "Electricity", - "Distributed solar thermal": "Buildings", - "Micro wind": "Electricity", - "Biomatter to fuel conversion": "Bioenergy", - "Bioenergy imports": "Bioenergy", - "Agriculture and land use": "Bioenergy", - "Energy from waste": "Bioenergy", - "Waste arising": "Bioenergy", - "Marine algae": "Bioenergy", - "Electricity imports": "Electricity", - "Electricity Exports": "Electricity", - "Electricity grid distribution": "Electricity", - "Storage, demand shifting, backup": "Electricity", - "H2 Production": "Transport", - "Domestic heating": "Buildings", - "Domestic insulation": "Buildings", - "Commercial heating and cooling": "Buildings", - "Domestic lighting, appliances, and cooking": "Buildings", - "Commercial lighting, appliances, and catering": "Buildings", - "Industrial processes": "Industry", - "Conventional cars and buses": "Transport", - "Hybrid cars and buses": "Transport", - "Electric cars and buses": "Transport", - "Fuel cell cars and buses": "Transport", - "Bikes": "Transport", - "Rail": "Transport", - "Domestic aviation": "Transport", - "Domestic freight": "Transport", - "International aviation": "Transport", - "International shipping (maritime bunkers)": "Transport", - "Geosequestration": "Other", - "Petroleum refineries": "Industry", - "Coal": "Fossil fuels", - "Oil": "Fossil fuels", - "Gas": "Fossil fuels", - "Fossil fuel transfers": "Fossil fuels", - "District heating effective demand": "Buildings", - "Power Carbon Capture": "Electricity", - "Industry Carbon Capture": "Industry", - "Storage of captured CO2": "Other", - "Finance cost": "Finance" - }; - - costs_in_category = function(desired_category) { - var category, cost, costs; - costs = []; - for (cost in cost_categories) { - if (!__hasProp.call(cost_categories, cost)) continue; - category = cost_categories[cost]; - if (category === desired_category) { - costs.push(cost); - } - } - return costs; - }; - - group_costs_of_pathway = function(pathway) { - var categorised_costs, category, category_name, high, low, name, range, values, _ref; - if (pathway.total_cost_low_adjusted == null) { - adjust_costs_of_pathway(pathway); - } - categorised_costs = {}; - _ref = pathway.cost_components; - for (name in _ref) { - if (!__hasProp.call(_ref, name)) continue; - values = _ref[name]; - category_name = cost_categories[name]; - category = categorised_costs[category_name]; - if (category == null) { - category = categorised_costs[category_name] = { - low: 0, - range: 0, - high: 0 - }; - } - low = values.low_adjusted; - range = values.range_adjusted; - high = values.high_adjusted; - values.low_adjusted_with_finance = low; - values.range_adjusted_with_finance = range; - values.high_adjusted_with_finance = high; - category.low += low; - category.range += range; - category.high += high; - category[name] = values; - } - pathway.categorised_costs = categorised_costs; - return pathway; - }; - - cost_override_in_place_warning = function() { - var ignore, name, o, _results; - _results = []; - for (name in cost_categories) { - if (!__hasProp.call(cost_categories, name)) continue; - ignore = cost_categories[name]; - o = jQuery.jStorage.get(name, void 0); - if ((o != null) && o !== 'point') { - $('#cost_override_warning').show(); - break; - } else { - _results.push(void 0); - } - } - return _results; - }; - - adjust_costs_of_pathway = function(pathway) { - var cost, finance, fraction_of_width, implied_fraction_of_width, name, total, values, _ref; - total = { - low: 0, - range: 0, - high: 0, - finance_max: 0 - }; - _ref = pathway.cost_components; - for (name in _ref) { - if (!__hasProp.call(_ref, name)) continue; - values = _ref[name]; - fraction_of_width = jQuery.jStorage.get(name, null); - if ((fraction_of_width != null) && fraction_of_width !== 'point' && fraction_of_width !== 'uncertain') { - cost = values.low + (values.range * fraction_of_width); - finance = values.finance_low + (values.finance_range * fraction_of_width); - values.low_adjusted = cost; - values.range_adjusted = 0; - values.high_adjusted = cost; - values.finance_low_adjusted = finance; - values.finance_range_adjusted = 0; - values.finance_high_adjusted = finance; - } else if (fraction_of_width === 'uncertain') { - values.low_adjusted = values.low; - values.range_adjusted = values.range; - values.high_adjusted = values.high; - values.finance_low_adjusted = values.finance_low; - values.finance_range_adjusted = values.finance_range; - values.finance_high_adjusted = values.finance_high; - } else { - values.low_adjusted = values.point; - values.range_adjusted = 0; - values.high_adjusted = values.point; - implied_fraction_of_width = (values.point - values.low) / values.range; - finance = values.finance_low + (values.finance_range * implied_fraction_of_width); - values.finance_low_adjusted = values.finance; - values.finance_range_adjusted = 0; - values.finance_high_adjusted = values.finance; - } - total.low += values.low_adjusted; - total.range += values.range_adjusted; - total.high += values.high_adjusted; - total.finance_max += values.finance_high_adjusted; - } - pathway.total_cost_low_adjusted = total.low; - pathway.total_cost_range_adjusted = total.range; - pathway.total_cost_high_adjusted = total.high; - return pathway; - }; - - setDefaultStoreIfRequired = function(pathway) { - var name, values, _ref; - if (jQuery.jStorage.get('defaultCostsSet') === true) { - return false; - } - _ref = pathway.cost_components; - for (name in _ref) { - if (!__hasProp.call(_ref, name)) continue; - values = _ref[name]; - if ((name !== 'Oil') && (name !== 'Gas') && (name !== 'Coal') && (name !== 'Finance cost')) { - jQuery.jStorage.set(name, 0); - } - } - return jQuery.jStorage.set('defaultCostsSet', true); - }; - - calculateIncrementalCost = function(pt, pc) { - var cc, ct, cvalues, name, tc, tt, tvalues, _ref; - if (pt.total_cost_low_adjusted == null) { - adjust_costs_of_pathway(pt); - } - if (pc.total_cost_low_adjusted == null) { - adjust_costs_of_pathway(pc); - } - tt = 0; - tc = 0; - ct = 0; - cc = 0; - _ref = pt.cost_components; - for (name in _ref) { - if (!__hasProp.call(_ref, name)) continue; - tvalues = _ref[name]; - if (name !== 0) { - cvalues = pc.cost_components[name]; - if (tvalues.range_adjusted === cvalues.range_adjusted) { - tt += tvalues.low_adjusted; - tc += tvalues.low_adjusted; - ct += cvalues.low_adjusted; - cc += cvalues.low_adjusted; - } else if (tvalues.range_adjusted >= cvalues.range_adjusted) { - tt += tvalues.low_adjusted; - ct += cvalues.low_adjusted; - tc += tvalues.high_adjusted; - cc += cvalues.high_adjusted; - } else { - tt += tvalues.high_adjusted; - ct += cvalues.high_adjusted; - tc += tvalues.low_adjusted; - cc += cvalues.low_adjusted; - } - } - } - return { - tc: tc, - tt: tt, - cc: cc, - ct: ct - }; - }; - - window.twentyfifty.group_costs_of_pathway = group_costs_of_pathway; - - window.twentyfifty.adjust_costs_of_pathway = adjust_costs_of_pathway; - - window.twentyfifty.calculateIncrementalCost = calculateIncrementalCost; - - window.twentyfifty.costs_in_category = costs_in_category; - - window.twentyfifty.cost_override_in_place_warning = cost_override_in_place_warning; - -}).call(this); -(function() { - window.timeSeriesStackedAreaChart = function() { - var area, chart, color_class_index, color_classes, dataTableFormat, first_scale_year, height, label_threshold, last_scale_year, line, margin, max_value, min_value, seriesClass, showLabelFilter, stack, title, total_label, unit, width, xAxis, xScale, x_center, yAxis, yScale; - margin = { - top: 41, - right: 115, - bottom: 40, - left: 40 - }; - width = 375; - height = 125; - x_center = (width - margin.left - margin.right) / 2; - title = ""; - unit = "TWh/yr"; - first_scale_year = 2010; - last_scale_year = 2050; - min_value = 0; - max_value = 4000; - total_label = "Total"; - xScale = d3.scale.linear(); - yScale = d3.scale.linear(); - xAxis = d3.svg.axis().scale(xScale).orient("bottom").ticks(5).tickFormat(d3.format(".0f")); - yAxis = d3.svg.axis().scale(yScale).orient("left").ticks(5); - stack = d3.layout.stack().values(function(d) { - return d.value; - }); - area = d3.svg.area().x(function(d, i) { - return xScale(d.x); - }).y0(function(d, i) { - return yScale(d.y0); - }).y1(function(d, i) { - return yScale(d.y0 + d.y); - }); - line = d3.svg.line().x(function(d, i) { - return xScale(d.x); - }).y(function(d, i) { - return yScale(d.y); - }); - color_classes = { - 'Total': 'total', - 'Total Use': 'total', - 'Total Primary Supply': 'total', - 'Total generation supplied to grid': 'total', - 'Environmental heat': 'environmentalheat' - }; - color_class_index = 0; - seriesClass = function(d, i) { - var c; - c = color_classes[d.key]; - if (c == null) { - c = "q" + color_class_index + "-12"; - color_classes[d.key] = c; - color_class_index++; - } - return c; - }; - label_threshold = 200; - showLabelFilter = function(d) { - return Math.abs(d.total) > label_threshold; - }; - dataTableFormat = d3.format(".0f"); - chart = function(selection) { - return selection.each(function(data) { - var areas, d, dataTable, g, gEnter, label, label_width, label_x, labels, minimum_y_space, negative_series, p, positive_series, previous_y, removeDataTable, series, stacked_data, svg, total, total_series, y, _i, _j, _k, _l, _len, _len1, _len2, _len3, _ref, _ref1; - width = $(this).width(); - height = width / 1.4; - x_center = (width - (margin.left * 2)) / 2; - positive_series = []; - negative_series = []; - total_series = []; - _ref = data.entries(); - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - series = _ref[_i]; - series.value = series.value.map(function(p, i) { - return { - x: first_scale_year + (i * 5), - y: p - }; - }); - total = 0; - _ref1 = series.value; - for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) { - p = _ref1[_j]; - total += p.y; - } - series.total = total; - if (series.key === total_label) { - series.path = line; - total_series.push(series); - } else { - series.path = area; - if (total >= 0) { - positive_series.push(series); - } else { - negative_series.push(series); - } - } - } - stacked_data = stack(positive_series.sort(function(a, b) { - return d3.descending(a.total, b.total); - })); - if (negative_series.length > 0) { - stacked_data = stack(negative_series.sort(function(a, b) { - return d3.ascending(a.total, b.total); - })).reverse().concat(stacked_data); - } - if (total_series.length > 0) { - stacked_data = stacked_data.concat(total_series.sort(function(a, b) { - return d3.descending(a.total, b.total); - })); - } - xScale.domain([first_scale_year, last_scale_year]).range([0, width - margin.left - margin.right]); - yScale.domain([min_value, max_value]).range([height - margin.top - margin.bottom, 0]); - svg = d3.select(this).selectAll("svg").data([stacked_data]); - gEnter = svg.enter().append("svg").append("g").attr('class', 'drawing Paired'); - gEnter.append("g").attr('class', 'context'); - gEnter.append("g").attr('class', 'series'); - svg.attr("width", width).attr("height", height); - g = svg.select("g.drawing").attr("transform", "translate(" + margin.left + "," + margin.top + ")"); - areas = g.select('g.series').selectAll("path").data(Object, function(d) { - return d.key; - }); - areas.enter().append("path").attr("class", function(d, i) { - return seriesClass(d, i); - }).on("mouseover", function(d, i) { - var c, l, s; - c = seriesClass(d, i); - dataTable(d, c); - g.selectAll("." + c).classed("hover", true); - if (!showLabelFilter(d)) { - l = g.selectAll("." + c + ".linelabel").attr("display", "inline"); - s = l[0][0].getBBox(); - return g.insert("rect", "." + c + ".linelabel").attr("class", "labelbackground").attr("x", s.x).attr("y", s.y).attr("width", s.width + 6).attr("height", s.height); - } - }).on("mouseout", function(d, i) { - var c; - removeDataTable(); - c = seriesClass(d, i); - g.selectAll("." + c).classed("hover", false); - if (!showLabelFilter(d)) { - g.selectAll("." + c + ".linelabel").attr("display", "none"); - return g.selectAll(".labelbackground").remove(); - } - }); - areas.transition().attr("d", function(d) { - return d.path(d.value); - }); - gEnter.append("g").attr("class", "x axis"); - gEnter.append("g").attr("class", "y axis"); - gEnter.append("text").attr("class", "y axislabel"); - gEnter.append("text").attr("class", "charttitle"); - g.select(".x.axis").attr("transform", "translate(0," + yScale(0) + ")").call(xAxis); - if (min_value < 0) { - g.selectAll(".x.axis text").attr("dy", yScale(min_value) - yScale(0) + 7); - } - g.select(".y.axis").attr("transform", "translate(0," + xScale.range()[0] + ")").call(yAxis); - g.select(".y.axislabel").attr("transform", "translate(0," + (xScale.range()[0] - 10) + ")").text(unit); - label = g.select(".y.axislabel"); - label_width = label[0][0].getBBox().width; - if (label_width > margin.left) { - label.attr("dx", label_width - margin.left); - } - g.select(".charttitle").attr("transform", "translate(" + x_center + "," + (xScale.range()[0] - 30) + ")").text(title); - label_x = xScale.range()[1] + 2; - minimum_y_space = Math.abs(yScale.invert(10) - yScale.invert(0)); - label_threshold = Math.abs(yScale.invert(5) - yScale.invert(0)) * 9; - for (_k = 0, _len2 = stacked_data.length; _k < _len2; _k++) { - d = stacked_data[_k]; - p = d.value[d.value.length - 1]; - if (p.y0 != null) { - d.label_y = p.y0 + (p.y / 2); - } else { - d.label_y = p.y; - } - d; - } - stacked_data.sort(function(a, b) { - var a_y, b_y; - a_y = a.label_y; - b_y = b.label_y; - if (a_y < 0 && b_y > 0) { - return -1; - } else if (a_y > 0 && b_y < 0) { - return 1; - } else if (a_y > 0 && b_y > 0) { - return a_y - b_y; - } else { - return a_y - b_y; - } - }); - previous_y = min_value - 1000; - for (_l = 0, _len3 = stacked_data.length; _l < _len3; _l++) { - d = stacked_data[_l]; - y = d.label_y; - if (showLabelFilter(d)) { - y = Math.max(previous_y + minimum_y_space, y); - previous_y = y; - d.label_y = y; - } - } - labels = g.selectAll(".linelabel").data(Object, (function(d) { - return d.key; - })); - labels.enter().append("text").attr("class", function(d, i) { - return "linelabel " + (seriesClass(d, i)); - }).attr("x", label_x).attr("y", function(d) { - return yScale(d.label_y) + 4; - }).text(function(d) { - return d.key; - }).on("mouseover", function(d, i) { - dataTable(d, seriesClass(d, i)); - return g.selectAll("." + (seriesClass(d, i))).classed("hover", true); - }).on("mouseout", function(d, i) { - removeDataTable(); - return g.selectAll("." + (seriesClass(d, i))).classed("hover", false); - }); - labels.exit().remove(); - labels.sort(function(a, b) { - return d3.descending(Math.abs(a.total), Math.abs(b.total)); - }).transition().attr("x", label_x).attr("y", function(d) { - return yScale(d.label_y) + 4; - }).attr("display", function(d, i) { - if (showLabelFilter(d)) { - return "inline"; - } else { - return "none"; - } - }); - dataTable = function(series, seriesclass) { - var grid; - labels = series.value; - grid = g.selectAll(".seriesValue").data(labels); - grid.enter().append("text").attr("class", "seriesValue"); - return grid.text(function(d, i) { - if ((i % 2) === 0) { - return dataTableFormat(d.y); - } else { - return ""; - } - }).attr("transform", function(d, i) { - return "translate(" + xScale(first_scale_year + (i * 5)) + "," + (yScale.range()[0] + 30) + ")"; - }).classed(seriesclass, true); - }; - return removeDataTable = function() { - return g.selectAll(".seriesValue").remove(); - }; - }); - }; - chart.title = function(_) { - if (_ == null) { - return title; - } - title = _; - return chart; - }; - chart.total_label = function(_) { - if (_ == null) { - return total_label; - } - total_label = _; - return chart; - }; - chart.unit = function(_) { - if (_ == null) { - return unit; - } - unit = _; - return chart; - }; - chart.max_value = function(_) { - if (_ == null) { - return max_value; - } - max_value = _; - return chart; - }; - chart.min_value = function(_) { - if (_ == null) { - return min_value; - } - min_value = _; - return chart; - }; - chart.x_center = function() { - return x_center; - }; - chart.area = function(_) { - if (_ == null) { - return area; - } - area = _; - return chart; - }; - return chart; - }; - -}).call(this); -(function() { - var PrimaryEnergy; - - PrimaryEnergy = (function() { - function PrimaryEnergy() {} - - PrimaryEnergy.prototype.setup = function() { - var charts; - charts = d3.select("#results").selectAll(".chart").data(['demand_chart', 'supply_chart', 'emissions_chart']); - charts.enter().append('div').attr('id', Object).attr('class', 'chart'); - this.final_energy_chart = timeSeriesStackedAreaChart().title("Final Energy Demand").unit('TWh/yr').total_label('Total Use').max_value(4000); - this.primary_energy_chart = timeSeriesStackedAreaChart().title("Primary Energy Supply").unit('TWh/yr').total_label('Total Primary Supply').max_value(4000); - return this.emissions_chart = timeSeriesStackedAreaChart().title("Greenhouse Gas Emissions").unit('MtCO2e/yr').total_label('Total').min_value(-500).max_value(1000); - }; - - PrimaryEnergy.prototype.teardown = function() { - $('#results').empty(); - this.final_energy_chart = null; - this.primary_energy_chart = null; - return this.emissions_chart = null; - }; - - PrimaryEnergy.prototype.updateResults = function(pathway) { - var percent, series, t; - this.pathway = pathway; - if (!((this.emissions_chart != null) && (this.final_energy_chart != null) && (this.primary_energy_chart != null))) { - this.setup(); - } - d3.select('#demand_chart').datum(d3.map(this.pathway.final_energy_demand)).call(this.final_energy_chart); - d3.select('#supply_chart').datum(d3.map(this.pathway.primary_energy_supply)).call(this.primary_energy_chart); - series = d3.map(this.pathway.ghg); - series.remove("percent_reduction_from_1990"); - percent = this.pathway.ghg.percent_reduction_from_1990; - d3.select('#emissions_chart').datum(series).call(this.emissions_chart); - t = d3.select('#emissions_chart g.drawing').selectAll('text.target').data([percent]); - t.enter().append('text').attr('class', 'target'); - t.attr('transform', 'translate(' + this.emissions_chart.x_center() + ',-18)'); - return t.transition().tween('text', function(d) { - var current, i; - current = parseInt(this.textContent) || +d; - i = d3.interpolateRound(current, +d); - return function(t) { - return this.textContent = "" + (i(t)) + "% reduction 1990-2050; Target is 80%"; - }; - }); - }; - - return PrimaryEnergy; - - })(); - - window.twentyfifty.views['primary_energy_chart'] = new PrimaryEnergy; - -}).call(this); -(function() { - var Electricity; - - Electricity = (function() { - var showContext; - - function Electricity() {} - - Electricity.prototype.setup = function() { - var charts; - charts = d3.select("#results").selectAll(".chart").data(['demand_chart', 'supply_chart', 'emissions_chart']); - charts.enter().append('div').attr('id', Object).attr('class', 'chart'); - this.demand_chart = timeSeriesStackedAreaChart().title("Electricity Demand").unit('TWh/yr').max_value(4000); - this.supply_chart = timeSeriesStackedAreaChart().title("Electricity Supply").unit('TWh/yr').total_label('Total generation supplied to grid').max_value(4000); - return this.emissions_chart = timeSeriesStackedAreaChart().title("Emissions from Electricity").unit('MtCO2e/yr').total_label('Total').min_value(-500).max_value(1000); - }; - - Electricity.prototype.teardown = function() { - $('#results').empty(); - this.final_energy_chart = null; - this.primary_energy_chart = null; - return this.emissions_chart = null; - }; - - showContext = function(data, chart_id, chart_object) { - var d, i, p, total; - d = (function() { - var _i, _len, _results; - _results = []; - for (i = _i = 0, _len = data.length; _i < _len; i = ++_i) { - p = data[i]; - _results.push({ - x: 2010 + (i * 5), - y: p, - y0: 0 - }); - } - return _results; - })(); - total = d3.select(chart_id).select('g.context').selectAll('path').data([d]); - total.enter().append("path"); - return total.transition().attr("d", function(d) { - return chart_object.area()(d); - }); - }; - - Electricity.prototype.updateResults = function(pathway) { - var series; - this.pathway = pathway; - if (!((this.emissions_chart != null) && (this.demand_chart != null) && (this.supply_chart != null))) { - this.setup(); - } - d3.select('#demand_chart').datum(d3.map(this.pathway.electricity.demand)).call(this.demand_chart); - series = d3.map(this.pathway.electricity.supply); - series.remove('Biomass/Coal power stations'); - series.remove('Non-thermal renewable generation'); - d3.select('#supply_chart').datum(series).call(this.supply_chart); - d3.select('#emissions_chart').datum(d3.map(this.pathway.electricity.emissions)).call(this.emissions_chart); - showContext(this.pathway['final_energy_demand']['Total Use'], '#demand_chart', this.demand_chart); - showContext(this.pathway['final_energy_demand']['Total Use'], '#supply_chart', this.supply_chart); - return showContext(this.pathway.ghg.Total, '#emissions_chart', this.emissions_chart); - }; - - return Electricity; - - })(); - - window.twentyfifty.views['electricity'] = new Electricity; - -}).call(this); -(function() { - var EnergySecurity, - __hasProp = {}.hasOwnProperty; - - EnergySecurity = (function() { - function EnergySecurity() { - this.long_descriptions = twentyfifty.longDescriptions; - } - - EnergySecurity.prototype.setup = function() { - this.ready = true; - return $('#results').append("
"); - }; - - EnergySecurity.prototype.teardown = function() { - this.ready = false; - return $('#results').empty(); - }; - - EnergySecurity.prototype.updateResults = function(pathway) { - this.pathway = pathway; - if (!this.ready) { - this.setup(); - } - this.updateBalancingSection(); - this.updateImportsSection(); - return this.updatedDiversitySection(); - }; - - EnergySecurity.prototype.updateBalancingSection = function() { - var element; - element = $('#balancing'); - element.empty(); - element.append("

Balancing electricity supply and demand

"); - if (this.pathway.electricity.automatically_built > 0) { - element.append("

" + (Math.round(this.pathway.electricity.automatically_built)) + " GW of conventional gas electricity generation plant has been assumed to have been built by 2050, to cover the gap between average electricity demand and the amount of low carbon generation selected in this pathway.

"); - } - element.append("

This tool does not model the hourly, daily or even seasonal operation of the electricity grid. It presents annual averages. Therefore it does not correctly represent the peaks and troughs of electricity demand.

"); - element.append("

To go some way to addressing this flaw, the tool applies a simulated stress test to your pathway of five cold, almost windless, days. This is described in more detail here."); - element.append("In this case, the stress test implies that " + (Math.round(this.pathway.electricity.peaking)) + " GW of additional peaking plant may be required for supply to meet demand over that period.

"); - return element.append("

You can influence the amount of peaking plant by changing your choice level of 'storage, demand shifting & interconnection' below right, or by reducing the amount of intermittent renewable generation, or by reducing the demand for electricity

"); - }; - - EnergySecurity.prototype.updateImportsSection = function() { - var element, name, values, _ref; - element = $('#imports'); - element.empty(); - element.append("

Dependence on imported energy

"); - element.append("

The calculator assumes that any available biomass is preferred over fossil fuels and that domestically produced fuels are preferred over imports. It assumes that fossil fuels are imported to cover any shortfall.

"); - element.append("
"); - element.append(""); - element.append(""); - _ref = this.pathway.imports; - for (name in _ref) { - if (!__hasProp.call(_ref, name)) continue; - values = _ref[name]; - element.append(""); - } - return element.append("
20072050
ImportsTWh/yr%TWh/yr%
" + name + "" + values['2007'].quantity + "" + values['2007'].proportion + " " + values['2050'].quantity + "" + values['2050'].proportion + "
"); - }; - - EnergySecurity.prototype.updatedDiversitySection = function() { - var element, name, values, _ref; - element = $('#diversity'); - element.empty(); - element.append("

Diversity of energy sources

"); - element.append("

There may be a benefit from maintaining a diversity of energy sources:

"); - element.append(""); - element.append(""); - _ref = this.pathway.diversity; - for (name in _ref) { - if (!__hasProp.call(_ref, name)) continue; - values = _ref[name]; - if (!(values['2007'] === "0%" && values['2050'] === "0%")) { - element.append(""); - } - } - return element.append("
Proportion of energy supply20072050
" + name + "" + values['2007'] + " " + values['2050'] + "
"); - }; - - return EnergySecurity; - - })(); - - window.twentyfifty.views['energy_security'] = new EnergySecurity; - -}).call(this); -(function() { - var Map; - - Raphael.fn.up_labeled_square = function(x, y, label, area, colour) { - var side, sq; - side = Math.sqrt(area); - sq = this.rect(x, y - side, side, side).attr({ - stroke: colour, - fill: colour, - 'fill-opacity': "0.5" - }); - label = this.text(x - 2, y - (side / 2), label).attr({ - 'text-anchor': 'end', - fill: 'black' - }); - label.hide(); - return { - square: sq, - label: label - }; - }; - - Raphael.fn.up_right_labeled_square = function(x, y, label, area, colour) { - var side, sq; - side = Math.sqrt(area); - sq = this.rect(x - (side / 2), y - side, side, side).attr({ - stroke: colour, - fill: colour, - 'fill-opacity': "0.5" - }); - label = this.text(x + (side / 2) + 4, y - (side / 2), label).attr({ - 'text-anchor': 'start', - fill: 'black' - }); - return { - square: sq, - label: label - }; - }; - - Raphael.fn.down_labeled_square = function(x, y, label, area, colour) { - var side, sq; - side = Math.sqrt(area); - sq = this.rect(x - side, y, side, side).attr({ - stroke: colour, - fill: colour, - 'fill-opacity': "0.5" - }); - label = this.text(x + 4, y + (side / 2), label).attr({ - 'text-anchor': 'start', - fill: 'black' - }); - return { - square: sq, - label: label - }; - }; - - Map = (function() { - var GW, MW, Mha, colours, display_height, display_in_element, display_width, ha, km, km2, labels, m, m2, map_height, map_image_url, map_offset_x, map_offset_y, map_width, pointSizes; - - display_in_element = 'map'; - - display_width = 1200; - - display_height = 800; - - map_image_url = '/assets/images/uk.png'; - - map_width = 492; - - map_height = 725; - - map_offset_x = 150; - - map_offset_y = 0; - - km = 0.69; - - m = km / 1000.0; - - m2 = m * m; - - ha = 10000 * m2; - - km2 = 1e6 * m2; - - Mha = 1e6 * ha; - - GW = 2; - - MW = GW / 1000; - - colours = { - 'III.a.2': '#ff0000', - 'III.a.1': '#ff0000', - 'IV.c': '#aa0000', - 'VI.a.Biocrop': '#00ff00', - 'VI.a.Forestry': '#408000', - 'VI.c': '#00ff00', - 'V.b': '#00ff00', - 'IV.a': '#ffff00', - 'IV.b': '#cccc00', - 'VII.a': '#ffff00', - 'III.b': '#0000ff', - 'III.c.TidalRange': '#0000ff', - 'III.c.TidalStream': '#aaaaff', - 'I.a': '#666', - 'I.b': '#CCC', - 'II.a': '#FF0', - 'III.d': '#F00', - 'VII.c': '#008000', - 'VI.b': '#F00' - }; - - labels = { - 'III.a.2': 'Offshore wind', - 'III.a.1': 'Onshore wind', - 'IV.c': 'Micro wind', - 'VI.a.Biocrop': 'Energy crops', - 'VI.a.Forestry': 'Forest', - 'VI.c': 'Marine algae', - 'V.b': 'Biocrops', - 'IV.a': 'Solar PV', - 'IV.b': 'Solar thermal', - 'VII.a': 'Solar PV', - 'III.b': 'Hydro', - 'III.c.TidalRange': 'Tidal range', - 'III.c.TidalStream': 'Tidal stream', - 'I.a': '2 GW coal gas or biomass power stations without CCS', - 'I.b': '1.2 GW coal gas or biomass power stations with CCS', - 'II.a': '3 GW nuclear power station', - 'III.d': '0.01 GW geothermal stations', - 'VII.c': '1 GW gas standby power stations', - 'VI.b': '215 kt/y waste to energy conversion facilities' - }; - - pointSizes = { - 'I.a': 2, - 'I.b': 1.2, - 'II.a': 3, - 'III.d': 0.01, - 'VII.c': 1, - 'VI.b': 0.01 - }; - - function Map() { - this.ready = false; - } - - Map.prototype.setup = function() { - var name, r, x, y, _i, _j, _k, _len, _len1, _len2, _ref, _ref1, _ref2; - this.ready = true; - $('#results').append("
"); - r = Raphael(display_in_element, display_width, display_height); - this.r = r; - r.image(map_image_url, map_offset_x, map_offset_y, map_width, map_height); - r.text(20, 10, "Illustration of scale of land and sea use in 2050 (positions are arbitrary)").attr({ - 'font-weight': 'bold', - 'text-anchor': 'start' - }); - this.wave = { - line: r.path([]).attr({ - stroke: 'blue', - 'stroke-width': 2 - }), - label: r.text(98, 34, "Wave").attr({ - 'text-anchor': 'end' - }) - }; - this.wave.label.hide(); - x = (map_width / 2) + map_offset_x; - y = map_height + map_offset_y - 100; - this.land_boxes = {}; - _ref = ['III.a.1', 'III.b', 'IV.a', 'IV.b', 'IV.c', 'VI.a.Biocrop', 'VI.a.Forestry']; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - name = _ref[_i]; - this.land_boxes[name] = r.up_labeled_square(x, y, labels[name], 0, colours[name]); - } - x = (map_width / 2) + map_offset_x + 250; - y = 30; - this.sea_boxes = {}; - _ref1 = ['III.a.2', 'III.c.TidalStream', 'III.c.TidalRange', 'VI.c']; - for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) { - name = _ref1[_j]; - this.sea_boxes[name] = r.down_labeled_square(x, y, labels[name], 0, colours[name]); - } - r.path("M244,695 q0,-200 -200,-200").attr({ - 'stroke': '#ccc' - }); - r.text(44, 510, "Imports").attr({ - 'fill': '#ccc', - 'font-weight': 'bold', - 'text-anchor': 'start' - }); - x = map_offset_x - 105; - y = map_height + map_offset_y - 30; - this.overseas_land_boxes = {}; - _ref2 = ['V.b', 'VII.a']; - for (_k = 0, _len2 = _ref2.length; _k < _len2; _k++) { - name = _ref2[_k]; - this.overseas_land_boxes[name] = r.up_labeled_square(x, y, labels[name], 0, colours[name]); - } - this.points = r.set(); - return r.text(700, 10, "Illustration of the number of thermal power stations in 2050 (scales and positions are arbitrary)").attr({ - 'font-weight': 'bold', - 'text-anchor': 'start' - }); - }; - - Map.prototype.point_stack = function(x, y, number, colour, label, size) { - var i, width, x_count, x_step, y_step, _i; - x_count = 0; - if (size < 10) { - x_step = 5; - y_step = 5; - } else { - x_step = 1.5 * size; - y_step = 1.5 * size; - } - width = 100; - if (number > 0) { - this.r.text(x - 20, y, label).attr({ - 'text-anchor': 'end' - }); - } - for (i = _i = 1; 1 <= number ? _i <= number : _i >= number; i = 1 <= number ? ++_i : --_i) { - this.r.circle(x + (x_count * x_step), y, size * km).attr({ - 'stroke-width': 0, - 'fill': colour - }); - this.r.circle(x + (x_count * x_step), y, 1).attr({ - 'stroke-width': 0, - 'fill': 'black' - }); - x_count = x_count + 1; - if ((x_count * x_step) > width) { - x_count = 0; - y = y + y_step; - } - } - return y = y + 30; - }; - - Map.prototype.teardown = function() { - $('#results').empty(); - return this.ready = false; - }; - - Map.prototype.updateResults = function(data) { - var box, map, name, side, size, value, values, x, y, _i, _j, _k, _l, _len, _len1, _len2, _len3, _len4, _m, _ref, _ref1, _ref2, _ref3; - if (!this.ready) { - this.setup(); - } - map = data.map; - if (map.wave > 0) { - this.wave.label.show(); - } - if (map.wave === 0) { - this.wave.label.hide(); - } - this.wave.line.attr({ - path: ["M", 100, 30, "l", 0, map.wave * km] - }); - y = map_height + map_offset_y - 100; - values = []; - _ref = this.land_boxes; - for (name in _ref) { - box = _ref[name]; - values.push({ - name: name, - value: map[name] - }); - } - values.sort(function(a, b) { - return b.value - a.value; - }); - for (_i = 0, _len = values.length; _i < _len; _i++) { - value = values[_i]; - box = this.land_boxes[value.name]; - side = Math.sqrt(value.value * km2); - box.square.attr({ - y: y - side, - width: side, - height: side - }); - box.label.attr({ - y: y - (side / 2) - }); - if (value.value > 10) { - box.label.show(); - } else { - box.label.hide(); - } - y = y - side - 5; - } - x = (map_width / 2) + map_offset_x + 250; - y = 30; - values = []; - _ref1 = this.sea_boxes; - for (name in _ref1) { - box = _ref1[name]; - values.push({ - name: name, - value: map[name] - }); - } - values.sort(function(a, b) { - return b.value - a.value; - }); - for (_j = 0, _len1 = values.length; _j < _len1; _j++) { - value = values[_j]; - box = this.sea_boxes[value.name]; - side = Math.sqrt(value.value * km2); - box.square.attr({ - x: x - side, - y: y, - width: side, - height: side - }); - box.label.attr({ - x: x + 4, - y: y + (side / 2) - }); - if (value.value > 10) { - box.label.show(); - } else { - box.label.hide(); - } - y = y + side + 5; - } - y = map_height + map_offset_y - 30; - values = []; - _ref2 = this.overseas_land_boxes; - for (name in _ref2) { - box = _ref2[name]; - values.push({ - name: name, - value: map[name] - }); - } - values.sort(function(a, b) { - return b.value - a.value; - }); - for (_k = 0, _len2 = values.length; _k < _len2; _k++) { - value = values[_k]; - box = this.overseas_land_boxes[value.name]; - side = Math.sqrt(value.value * km2); - box.square.attr({ - y: y - side, - width: side, - height: side - }); - box.label.attr({ - y: y - (side / 2) - }); - if (value.value > 10) { - box.label.show(); - } else { - box.label.hide(); - } - y = y - side - 5; - } - if (this.points != null) { - this.points.remove(); - } - this.r.setStart(); - y = 35; - x = 1055; - values = []; - _ref3 = ['I.a', 'I.b', 'II.a', 'III.d', 'VII.c', 'VI.b']; - for (_l = 0, _len3 = _ref3.length; _l < _len3; _l++) { - name = _ref3[_l]; - values.push({ - name: name, - value: map[name] - }); - } - values.sort(function(a, b) { - return b.value - a.value; - }); - for (_m = 0, _len4 = values.length; _m < _len4; _m++) { - value = values[_m]; - if (value.value >= 1) { - size = Math.round(Math.sqrt(pointSizes[value.name]) * 10); - y = this.point_stack(x, y, value.value, colours[value.name], "" + (Math.round(value.value)) + " x " + labels[value.name], size); - } - } - return this.points = this.r.setFinish(); - }; - - return Map; - - })(); - - window.twentyfifty.views['map'] = new Map; - -}).call(this); -(function() { - var SankeyDisplay; - - SankeyDisplay = (function() { - var convert_name, name_conversions; - - name_conversions = { - "UK land based bioenergy": "Forests & biocrops", - "Bio-conversion": "Biomass processing", - "H2 conversion": "Hydrogen production", - "H2": "Hydrogen", - "Useful district heat": "Delivered heat", - "Heating and cooling - homes": "Home heating & cooling", - "Heating and cooling - commercial": "Office heating & cooling", - "Lighting & appliances - homes": "Home lighting & appliances", - "Lighting & appliances - commercial": "Office lighting & appliances" - }; - - convert_name = function(name) { - return name_conversions[name] || name; - }; - - function SankeyDisplay() {} - - SankeyDisplay.prototype.updateResults = function(pathway) { - var data, max_y; - if (this.s == null) { - this.setup(); - } - data = pathway.sankey; - if (this.drawn === true) { - this.s.updateData(data); - this.s.redraw(); - } else { - this.s.setData(data); - this.s.draw(); - this.drawn = true; - } - max_y = this.s.boxes['Losses'].b(); - if ($('#sankey').height() < max_y) { - $('#sankey').height(max_y); - return this.s.r.setSize($('#sankey').width(), max_y); - } - }; - - SankeyDisplay.prototype.teardown = function() { - $('#results').empty(); - return this.s = null; - }; - - SankeyDisplay.prototype.setup = function() { - var pixels_per_TWh; - if (this.s != null) { - return false; - } - $('#results').append("
"); - this.s = new Sankey(); - this.s.stack(0, ["Pumped heat", "Solar", "Wind", "Tidal", "Wave", "Geothermal", "Hydro", "Electricity imports", "Nuclear", "Coal reserves", "Coal imports", "Biomass imports", "Oil reserves", "Oil imports", "Biofuel imports", "Gas reserves", "Gas imports", "UK land based bioenergy", "Agricultural 'waste'", "Other waste", "Marine algae"]); - this.s.stack(1, ["Coal"], "Coal reserves"); - this.s.stack(1, ["Oil"], "Oil reserves"); - this.s.stack(1, ["Natural Gas"], "Gas reserves"); - this.s.stack(1, ["Bio-conversion"], "UK land based bioenergy"); - this.s.stack(2, ["Solar Thermal", "Solar PV"], "Solar"); - this.s.stack(2, ["Solid", "Liquid", "Gas"], "Coal"); - this.s.stack(3, ["Thermal generation", "CHP"], "Nuclear"); - this.s.stack(4, ["Electricity grid", "District heating"], "Wind"); - this.s.stack(5, ["H2 conversion"], "Electricity grid"); - this.s.stack(6, ["H2"], "H2 conversion"); - this.s.stack(7, ["Heating and cooling - homes", "Heating and cooling - commercial", "Lighting & appliances - homes", "Lighting & appliances - commercial", "Industry", "Road transport", "Rail transport", "Domestic aviation", "International aviation", "National navigation", "International shipping", "Agriculture", "Geosequestration", "Over generation / exports", "Losses"]); - this.s.nudge_boxes_callback = function() { - return this.boxes["Losses"].y = this.boxes["Marine algae"].b() - this.boxes["Losses"].size(); - }; - this.s.setColors({ - "Coal reserves": "#8F6F38", - "Coal": "#8F6F38", - "Coal imports": "#8F6F38", - "Oil reserves": "#A99268", - "Oil": "#A99268", - "Oil imports": "#A99268", - "Gas reserves": "#DDD4C4", - "Natural Gas": "#DDD4C4", - "Gas imports": "#DDD4C4", - "Solar": "#F6FF00", - "Solar Thermal": "#F6FF00", - "Solar PV": "#F6FF00", - "UK land based bioenergy": "#30FF00", - "Bio-conversion": "#30FF00", - "Marine algae": "#30FF00", - "Agricultural 'waste'": "#30FF00", - "Other waste": "#30FF00", - "Biomass imports": "#30FF00", - "Biofuel imports": "#30FF00", - "Solid": "#557731", - "Liquid": "#7D9763", - "Gas": "#BCC2AD", - "Electricity grid": "#0000FF", - "Thermal generation": "#0000FF", - "CHP": "#FF0000", - "Nuclear": "#E2ABDB", - "District heating": "#FF0000", - "Pumped heat": "#FF0000", - "Useful district heat": "#FF0000", - "CHP Heat": "#FF0000", - "Electricity imports": "#0000FF", - "Wind": "#C7E7E6", - "Tidal": "#C7E7E6", - "Wave": "#C7E7E6", - "Geothermal": "#C7E7E6", - "Hydro": "#C7E7E6", - "H2 conversion": "#FF6FCF", - "Final electricity": "#0000FF", - "Over generation / exports": "#0000FF", - "H2": "#FF6FCF" - }); - this.s.nudge_colours_callback = function() { - this.recolour(this.boxes["Losses"].left_lines, "#ddd"); - this.recolour(this.boxes["District heating"].left_lines, "#FF0000"); - return this.recolour(this.boxes["Electricity grid"].left_lines, "#0000FF"); - }; - pixels_per_TWh = $('#sankey').height() / 6000; - this.s.y_space = Math.round(100 * pixels_per_TWh); - this.s.right_margin = 250; - this.s.left_margin = 150; - this.s.convert_flow_values_callback = function(flow) { - return flow * pixels_per_TWh; - }; - this.s.convert_flow_labels_callback = function(flow) { - return Math.round(flow); - }; - return this.s.convert_box_value_labels_callback = function(flow) { - return "" + Math.round(flow) + " TWh/y"; - }; - }; - - return SankeyDisplay; - - })(); - - window.twentyfifty.views['sankey'] = new SankeyDisplay; - -}).call(this); -(function() { - var AirQuality, airQualityHTML, - __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; - - airQualityHTML = "
\n

The impact of your pathway on air quality

\n
\n
\n
\n

How to interpret these results:

\n
    \n
  • Air pollution health impact index — this index measures the effect on human health from fine particulate matter and other air pollutants such as nitrogen oxides. For example, these pollutants have been linked to premature death caused by heart and lung disease. 2010 is the baseline year (100). A number lower than 100 indicates a reduction in average air pollution and associated health impacts, whilst a higher number indicates an increase. This index reflects changes in the average concentration of air pollutants across the UK. It does not provide information on the number or severity of pollution hotspots.
  • \n
  • Low end of hatched range — worst case scenario for air pollution whereby there is no further deployment or innovation in pollution abatement technology between now and 2050 beyond planned measures.
  • \n
  • High end of hatched range — best case scenario whereby innovation radically improves pollution abatement technology between now and 2050 and it is fully deployed.
  • \n
\n

\n We would welcome your feedback on the\n methodology used to calculate the impact of your pathway on air quality.\n You can also download the excel version of the 2050 pathways calcualtor to see the different types of air pollution and the relative importance of different sources.\n

\n
\n
"; - - AirQuality = (function() { - function AirQuality() { - this.updateResults = __bind(this.updateResults, this); - this.updateComparator = __bind(this.updateComparator, this); - this.ready = false; - } - - AirQuality.prototype.setup = function() { - var clow, comparator_id, crange, e, format, h, low, range, tick, x, _2010, _i, _len, _ref; - if (this.ready) { - return false; - } - this.ready = true; - $("#results").append(airQualityHTML); - $("#message").addClass('warning'); - e = $('#airquality'); - this.h = e.height(); - this.w = e.width(); - this.r = new Raphael('airquality', this.w, this.h); - this.x = d3.scale.linear().domain([0, 250]).range([300, this.w - 30]).nice(); - this.y = d3.scale.ordinal().domain(['2010', 'comparator', 'chosen']).rangeRoundBands([25, this.h - 20], 0.25); - comparator_id = twentyfifty.getComparator() || twentyfifty.default_comparator_code; - this.r.text(30, this.y("2010") + 9, "2010").attr({ - 'text-anchor': 'start', - 'font-weight': 'bold' - }); - this.r.text(30, this.y("comparator") + 9, "2050 - " + (twentyfifty.pathwayName(comparator_id))).attr({ - 'text-anchor': 'start', - 'font-weight': 'bold' - }); - this.r.text(30, this.y("chosen") + 9, "2050 - Your pathway").attr({ - 'text-anchor': 'start', - 'font-weight': 'bold' - }); - this.bars = {}; - h = this.y.rangeBand(); - x = this.x(0); - _2010 = this.r.rect(x, this.y('2010'), this.x(100) - this.x(0), h).attr({ - 'fill': '#008000', - 'stroke': 'none' - }); - this.r.text(30, this.y('comparator') + 27, twentyfifty.pathwayDescriptions(comparator_id, "")).attr({ - 'text-anchor': 'start' - }); - clow = this.r.rect(x, this.y('comparator'), 0, h).attr({ - 'fill': '#f00', - 'stroke': 'none' - }); - crange = this.r.rect(x, this.y('comparator'), 0, h).attr({ - 'fill': 'url(/assets/images/hatches/hatch-f00.png)', - 'stroke': 'none' - }); - this.bars['comparator'] = { - low: clow, - range: crange - }; - low = this.r.rect(x, this.y('chosen'), 0, h).attr({ - 'fill': '#1f77b4', - 'stroke': 'none' - }); - range = this.r.rect(x, this.y('chosen'), 0, h).attr({ - 'fill': 'url(/assets/images/hatches/hatch-1f77b4.png)', - 'stroke': 'none' - }); - this.bars['chosen'] = { - low: low, - range: range - }; - this.r.text(this.x(0), 10, "Air pollution health impact index (2010=100)").attr({ - 'text-anchor': 'start', - 'font-weight': 'bold', - 'fill': '#000' - }); - this.r.path(["M", this.x(0), this.h - 35, "L", this.x(0), 30, "L", this.w - 30, 30]).attr({ - 'stroke': '#000', - 'stroke-width': 2 - }); - format = this.x.tickFormat(10); - _ref = this.x.ticks(10); - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - tick = _ref[_i]; - this.r.text(this.x(tick), 23, format(tick)).attr({ - 'text-anchor': 'middle', - fill: '#000000' - }); - this.r.path(["M", this.x(tick), 29, "L", this.x(tick), this.h - 26]).attr({ - stroke: '#fff' - }); - } - return twentyfifty.loadSecondaryPathway(comparator_id, this.updateComparator); - }; - - AirQuality.prototype.teardown = function() { - $("#results").empty(); - $("#message").removeClass('warning'); - return this.ready = false; - }; - - AirQuality.prototype.updateComparator = function(pathway) { - if (!this.ready) { - this.setup(); - } - this.bars['comparator']['low'].attr({ - width: this.x(pathway.air_quality.low) - this.x(0) - }); - return this.bars['comparator']['range'].attr({ - width: this.x(pathway.air_quality.high - pathway.air_quality.low) - this.x(0), - x: this.x(pathway.air_quality.low) - }); - }; - - AirQuality.prototype.updateResults = function(pathway) { - var text; - if (!this.ready) { - this.setup(); - } - this.bars['chosen']['low'].attr({ - width: this.x(pathway.air_quality.low) - this.x(0) - }); - this.bars['chosen']['range'].attr({ - width: this.x(pathway.air_quality.high - pathway.air_quality.low) - this.x(0), - x: this.x(pathway.air_quality.low) - }); - text = ["The damage to human health arising from air pollution from this pathway, principally particulate matter, could be around "]; - text.push("" + (Math.abs(Math.round(100 - pathway.air_quality.high))) + "%"); - if (pathway.air_quality.high > 100 && pathway.air_quality.low <= 100) { - text.push(" higher "); - } - if (pathway.air_quality.high <= 100 && pathway.air_quality.low > 100) { - text.push(" lower "); - } - text.push(" to "); - text.push("" + (Math.abs(Math.round(100 - pathway.air_quality.low))) + "%"); - if (pathway.air_quality.low > 100) { - text.push(" higher"); - } - if (pathway.air_quality.low <= 100) { - text.push(" lower"); - } - text.push(" in 2050 compared to 2010."); - if (pathway.air_quality.high > 100) { - text.push(" Given the scope for adverse implications for air quality, if the UK were to adopt this pathway the Government would develop a policy framweork that supported the innovation required to be at the bottom end of the range"); - } - return $('#airqualitymessage').html(text.join('')); - }; - - return AirQuality; - - })(); - - window.twentyfifty.views['air_quality'] = new AirQuality; - -}).call(this); -(function() { - var CostsInContext, costsInContextHTML, - __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }, - __hasProp = {}.hasOwnProperty; - - costsInContextHTML = "
\n
NB Some costs not on default values
\n

\n The cost to society of your pathway. This is not your energy bill.
\n For comparison, UK average GDP 2010-2050 is forecast to be roughly £35000 per person.\n

\n " + window.costCaveatHTML + "\n
\n " + window.costEssentialNotesHTML + "\n
"; - - CostsInContext = (function() { - function CostsInContext() { - this.updateBar = __bind(this.updateBar, this); - this.setup = __bind(this.setup, this); - this.pathways = {}; - this.ready = false; - } - - CostsInContext.prototype.setup = function() { - var all_pathways, code, comparator_pathways, e, format, h, labels_hide, labels_show, low, low_label, message, overlay, overlays, range, range_label, tick, x, y, _i, _j, _k, _l, _len, _len1, _len2, _len3, _len4, _m, _ref, _results, - _this = this; - if (this.ready) { - return false; - } - this.ready = true; - $("#results").append(costsInContextHTML); - $("#message").addClass('warning'); - twentyfifty.cost_override_in_place_warning(); - all_pathways = ["chosen"].concat(twentyfifty.comparator_pathways); - comparator_pathways = twentyfifty.comparator_pathways; - e = $('#costsincontext'); - this.h = e.height(); - this.w = e.width(); - this.r = new Raphael('costsincontext', this.w, this.h); - this.x = d3.scale.linear().domain([0, 40000]).range([250, this.w - 30]).nice(); - this.y = d3.scale.ordinal().domain(all_pathways).rangeRoundBands([25, this.h - 20], 0.25); - for (_i = 0, _len = comparator_pathways.length; _i < _len; _i++) { - code = comparator_pathways[_i]; - this.r.rect(this.x(0), this.y(code), this.x(40000) - this.x(0), this.y.rangeBand()).attr({ - 'fill': '#ddd', - 'stroke': 'none' - }); - } - this.r.rect(25, this.y("chosen"), this.x(40000) - 25, this.y.rangeBand()).attr({ - 'fill': '#FCFF9B', - 'stroke': 'none' - }); - this.r.text(30, this.y("chosen") + 9, "Your pathway").attr({ - 'text-anchor': 'start', - 'font-weight': 'bold' - }); - this.r.text(30, this.y("chosen") + 27, "You can click on the chart to make a more\ndetailed comparison with the pathways below").attr({ - 'text-anchor': 'start' - }); - for (_j = 0, _len1 = comparator_pathways.length; _j < _len1; _j++) { - code = comparator_pathways[_j]; - this.r.text(30, this.y(code) + 9, twentyfifty.pathwayName(code, code)).attr({ - 'text-anchor': 'start', - 'font-weight': 'bold', - href: twentyfifty.pathwayWikiPages(code) - }); - this.r.text(30, this.y(code) + 27, twentyfifty.pathwayDescriptions(code, "")).attr({ - 'text-anchor': 'start', - href: twentyfifty.pathwayWikiPages(code) - }); - } - this.bars = {}; - this.low = { - boxes: this.r.set(), - labels: this.r.set(), - top_label: null, - top_label_box: null - }; - this.range = { - boxes: this.r.set(), - labels: this.r.set(), - top_label: null, - top_label_box: null - }; - overlays = this.r.set(); - x = this.x(0); - h = this.y.rangeBand(); - labels_show = function() { - _this.low.labels.show(); - return _this.range.labels.show(); - }; - labels_hide = function() { - _this.low.labels.hide(); - return _this.range.labels.hide(); - }; - for (_k = 0, _len2 = all_pathways.length; _k < _len2; _k++) { - code = all_pathways[_k]; - y = this.y(code); - low = this.r.rect(x, y, 0, h).attr({ - 'fill': '#008000', - 'stroke': 'none' - }); - range = this.r.rect(x, y, 0, h).attr({ - 'fill': 'url(/assets/images/hatches/hatch-green.png)', - 'stroke': 'none' - }); - low_label = this.r.text(x + 10, y + h / 2, "").attr({ - 'fill': '#000', - 'text-anchor': 'start' - }); - range_label = this.r.text(x, y + h / 2, "").attr({ - 'text-anchor': 'start', - 'fill': '#f00' - }); - message = this.r.text(x, y + h / 2, "").attr({ - 'fill': '#000', - 'text-anchor': 'start' - }); - overlay = this.r.rect(x, y, 0, h).attr({ - 'fill': '#fff', - 'stroke': 'none', - cursor: 'pointer', - 'fill-opacity': 0.0 - }); - this.bars[code] = { - low: low, - range: range, - low_label: low_label, - range_label: range_label, - message: message, - overlay: overlay - }; - this.low.boxes.push(low); - this.low.labels.push(low_label); - this.range.boxes.push(range); - this.range.labels.push(range_label); - overlays.push(overlay); - low_label.hide(); - range_label.hide(); - overlay.hover(labels_show, labels_hide); - overlay.click(function() { - return window.twentyfifty.switchView('costs_compared_overview'); - }); - } - this.incremental_overlay = this.r.rect(this.x(0), this.y('chosen'), 0, 480).attr({ - 'fill': '#fff', - 'fill-opacity': 0.5, - 'stroke': 'none' - }); - overlays.insertAfter(this.incremental_overlay); - this.r.text(this.x(0), this.h - 5, "The absolute cost to society of the whole energy system (mean undiscounted real pounds per person per year 2010-2050)").attr({ - 'text-anchor': 'start', - 'font-weight': 'bold', - 'fill': '#008000' - }); - this.r.path(["M", this.x(0), 40, "L", this.x(0), this.h - 28, "L", this.w - 30, this.h - 28]).attr({ - 'stroke': '#008000', - 'stroke-width': 2 - }); - format = this.x.tickFormat(10); - _ref = this.x.ticks(10); - for (_l = 0, _len3 = _ref.length; _l < _len3; _l++) { - tick = _ref[_l]; - this.r.text(this.x(tick), this.h - 20, format(tick)).attr({ - 'text-anchor': 'middle', - fill: '#008000' - }); - } - this.drawIndicator(3700, "Approximate energy system cost today"); - _results = []; - for (_m = 0, _len4 = comparator_pathways.length; _m < _len4; _m++) { - code = comparator_pathways[_m]; - _results.push(twentyfifty.loadSecondaryPathway(code, this.updateBar)); - } - return _results; - }; - - CostsInContext.prototype.drawIndicator = function(value, text) { - var x; - x = this.x(value); - this.r.text(x, 10, text).attr({ - 'text-anchor': 'end', - fill: '#aaa' - }); - this.r.path(["M", x, 8, "L", x, this.h - 15]).attr({ - stroke: '#000', - 'stroke-dasharray': '.' - }); - return this.r.text(x, this.h - 20, '3,700').attr({ - 'text-anchor': 'end', - fill: '#aaa' - }); - }; - - CostsInContext.prototype.teardown = function() { - $("#results").empty(); - $("#message").removeClass('warning'); - return this.ready = false; - }; - - CostsInContext.prototype.updateResults = function(pathway) { - if (!this.ready) { - this.setup(); - } - return this.updateBar(pathway, 'chosen'); - }; - - CostsInContext.prototype.updateBar = function(pathway, _id) { - var bar, code, format, p, tick, total_cost, total_range, _i, _len, _ref, _ref1; - if (_id == null) { - _id = pathway._id; - } - this.pathways[_id] = pathway; - total_cost = this.total_cost_low_adjusted(pathway); - total_range = this.total_cost_range_adjusted(pathway); - bar = this.bars[_id]; - if (_id === 'chosen') { - bar.low.attr({ - fill: '#1f77b4' - }); - bar.range.attr({ - fill: 'url(/assets/images/hatches/hatch-1f77b4.png)' - }); - } else if (_id === (twentyfifty.getComparator() || twentyfifty.default_comparator_code)) { - this.comparator = pathway; - this.r.text(this.x(total_cost), 10, "The extra cost to society above that of the '" + (twentyfifty.pathwayName(_id, "comparison")) + "' pathway (mean £/person/year 2010-2050)").attr({ - 'text-anchor': 'start', - 'font-weight': 'bold', - 'fill': '#f00' - }); - this.r.path(["M", this.x(total_cost), this.h - 35, "L", this.x(total_cost), 30, "L", this.w - 30, 30]).attr({ - 'stroke': '#f00', - 'stroke-width': 2 - }); - format = this.x.tickFormat(10); - _ref = this.x.ticks(10); - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - tick = _ref[_i]; - this.r.text(this.x(tick + total_cost), 23, format(tick)).attr({ - 'text-anchor': 'middle', - 'fill': '#f00' - }); - if (tick > 0) { - this.r.path(["M", this.x(tick + total_cost), 27, "L", this.x(tick + total_cost), this.h - 30]).attr({ - stroke: '#fff' - }); - } - } - bar.low.attr({ - fill: '#f00' - }); - bar.range.attr({ - fill: 'url(/assets/images/hatches/hatch-f00.png)' - }); - this.incremental_overlay.attr({ - width: this.x(total_cost) - this.x(0) - }); - this.low.labels.toFront(); - this.range.labels.toFront(); - _ref1 = this.pathways; - for (code in _ref1) { - if (!__hasProp.call(_ref1, code)) continue; - p = _ref1[code]; - this.setIncrementalCostLabel(code, p); - } - } - bar.low.attr({ - width: this.x(total_cost) - this.x(0) - }); - if (total_range === 0) { - bar.low_label.attr({ - text: "" + (Math.round(total_cost)) - }); - } else { - bar.low_label.attr({ - text: "" + (Math.round(total_cost)) + "–" + (Math.round(total_cost + total_range)) - }); - } - bar.range_label.attr({ - x: this.x(total_cost + total_range) + 10 - }); - this.setIncrementalCostLabel(_id, pathway); - bar.range.attr({ - x: this.x(total_cost), - width: this.x(total_range) - this.x(0) - }); - bar.overlay.attr({ - width: this.x(total_cost + total_range) - this.x(0) - }); - if (pathway.ghg['Total'][8] > 166) { - bar.message.attr({ - x: this.x(total_cost + total_range) + 100, - text: "This pathway does not reduce emissions by at least 80% on 1990 levels" - }); - return bar.message.toFront(); - } else { - bar.message.attr({ - x: this.x(total_cost + total_range) + 100, - text: "" - }); - return bar.message.toFront(); - } - }; - - CostsInContext.prototype.setIncrementalCostLabel = function(code, pathway) { - var a, delta, i, i1, i2, message; - if (this.comparator == null) { - return false; - } - if (code === this.comparator._id) { - return false; - } - if (pathway.total_cost_range_adjusted === 0 && this.comparator.total_cost_range_adjusted === 0) { - delta = Math.round(pathway.total_cost_low_adjusted - this.comparator.total_cost_low_adjusted); - if (delta < 0) { - message = "" + (-delta) + " less"; - } else if (delta === 0) { - message = "the same"; - } else { - message = "" + delta + " more"; - } - } else { - i = twentyfifty.calculateIncrementalCost(pathway, this.comparator); - i1 = Math.round(i.tc - i.cc); - i2 = Math.round(i.tt - i.ct); - if (i1 > i2) { - a = i2; - i2 = i1; - i1 = a; - } - if (i1 < 0 && i2 < 0) { - message = "" + (-i1) + " to " + (-i2) + " less"; - } else if (i1 < 0 && i2 > 0) { - message = "" + (-i1) + " less to " + i2 + " more"; - } else { - message = "" + i1 + " to " + i2 + " more"; - } - } - return this.bars[code].range_label.attr({ - text: message - }); - }; - - CostsInContext.prototype.total_cost_low_adjusted = function(pathway) { - if (pathway.total_cost_low_adjusted == null) { - twentyfifty.adjust_costs_of_pathway(pathway); - } - return pathway.total_cost_low_adjusted; - }; - - CostsInContext.prototype.total_cost_range_adjusted = function(pathway) { - if (pathway.total_cost_range_adjusted == null) { - twentyfifty.adjust_costs_of_pathway(pathway); - } - return pathway.total_cost_range_adjusted; - }; - - return CostsInContext; - - })(); - - window.twentyfifty.views['costs_in_context'] = new CostsInContext; - -}).call(this); -(function() { - var CostsComparedOverview, costsComparedOverviewHTML, - __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }, - __hasProp = {}.hasOwnProperty; - - costsComparedOverviewHTML = "
\n
NB Some costs not on default values
\n

\n The cost of your pathway, compared with other pathways.\n This is not your energy bill.\n

\n " + window.costCaveatHTML + "\n
\n " + window.costEssentialNotesHTML + "\n
"; - - CostsComparedOverview = (function() { - var categories, category_colors; - - categories = ["Fossil fuels", "Bioenergy", "Electricity", "Buildings", "Transport", "Industry", "Finance", "Other"]; - - category_colors = { - "Fossil fuels": { - low: "#8c564b", - range: "url(/assets/images/hatches/hatch-8c564b.png)" - }, - "Bioenergy": { - low: "#2ca02c", - range: "url(/assets/images/hatches/hatch-2ca02c.png)" - }, - "Electricity": { - low: "#1f77b4", - range: "url(/assets/images/hatches/hatch-1f77b4.png)" - }, - "Buildings": { - low: "#ff7f0e", - range: "url(/assets/images/hatches/hatch-ff7f0e.png)" - }, - "Transport": { - low: "#d62728", - range: "url(/assets/images/hatches/hatch-d62728.png)" - }, - "Industry": { - low: "#7f7f7f", - range: "url(/assets/images/hatches/hatch-7f7f7f.png)" - }, - "Finance": { - low: "#EA8BCC", - range: "url(/assets/images/hatches/hatch-EA8BCC.png)" - }, - "Other": { - low: "#a55194", - range: "url(/assets/images/hatches/hatch-a55194.png)" - } - }; - - function CostsComparedOverview() { - this.updateBar = __bind(this.updateBar, this); - this.ready = false; - } - - CostsComparedOverview.prototype.setup = function() { - var all_pathways, b, c, category, clickFunction, code, color, colors, e, format, h, lb, tick, x, y, _i, _j, _k, _l, _len, _len1, _len2, _len3, _len4, _len5, _m, _n, _ref, _ref1, _ref2, _ref3, _ref4, _results; - if (this.ready) { - return false; - } - this.ready = true; - $('#results').append(costsComparedOverviewHTML); - $("#message").addClass('warning'); - twentyfifty.cost_override_in_place_warning(); - all_pathways = ["chosen"].concat(twentyfifty.comparator_pathways); - e = $('#costscomparedoverview'); - this.h = e.height(); - this.w = e.width(); - this.r = new Raphael('costscomparedoverview', this.w, this.h); - this.x = d3.scale.linear().domain([0, 7000]).range([250, this.w - 30]).nice(); - this.y = d3.scale.ordinal().domain(all_pathways).rangeRoundBands([25, this.h - 20], 0.25); - this.r.text(250, 30, "Move your mouse over a coloured bar to see what it refers to. Click on a bar to see more detail").attr({ - 'text-anchor': 'start' - }); - _ref = twentyfifty.comparator_pathways; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - code = _ref[_i]; - this.r.rect(this.x(0), this.y(code), this.x(7000) - this.x(0), this.y.rangeBand()).attr({ - 'fill': '#ddd', - 'stroke': 'none' - }); - } - this.r.rect(25, this.y("chosen"), this.x(7000) - 25, this.y.rangeBand()).attr({ - 'fill': '#FCFF9B', - 'stroke': 'none' - }); - this.r.text(30, this.y("chosen") + 9, "Your pathway").attr({ - 'text-anchor': 'start', - 'font-weight': 'bold' - }); - this.r.text(30, this.y("chosen") + 27, "You can click on the chart to make a more\ndetailed comparison of specific costs").attr({ - 'text-anchor': 'start' - }); - _ref1 = twentyfifty.comparator_pathways; - for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) { - code = _ref1[_j]; - this.r.text(30, this.y(code) + 9, twentyfifty.pathwayName(code, code)).attr({ - 'text-anchor': 'start', - 'font-weight': 'bold', - href: twentyfifty.pathwayWikiPages(code) - }); - this.r.text(30, this.y(code) + 27, twentyfifty.pathwayDescriptions(code, "")).attr({ - 'text-anchor': 'start', - href: twentyfifty.pathwayWikiPages(code) - }); - } - this.boxes = {}; - this.boxes_by_category = {}; - for (_k = 0, _len2 = categories.length; _k < _len2; _k++) { - category = categories[_k]; - this.boxes_by_category[category] = { - boxes: this.r.set(), - labels: this.r.set(), - top_label: null, - top_label_box: null - }; - } - x = this.x(0); - h = this.y.rangeBand(); - clickFunction = function(category) { - return function() { - return window.twentyfifty.switchSector(categories.indexOf(category)); - }; - }; - _ref2 = ["chosen"].concat(twentyfifty.comparator_pathways); - for (_l = 0, _len3 = _ref2.length; _l < _len3; _l++) { - code = _ref2[_l]; - b = {}; - y = this.y(code); - for (category in category_colors) { - if (!__hasProp.call(category_colors, category)) continue; - colors = category_colors[category]; - b[category] = { - low: this.r.rect(x, y, 0, h).attr({ - 'fill': colors.low, - 'stroke': 'none', - cursor: "pointer" - }).click(clickFunction(category)), - low_label: this.r.text(x, y + h / 2, "").attr({ - 'fill': '#000', - 'text-anchor': 'middle', - cursor: "pointer" - }).click(clickFunction(category)), - range: this.r.rect(x, y, 0, h).attr({ - 'fill': colors.range, - 'stroke': 'none', - cursor: "pointer" - }).click(clickFunction(category)), - range_label: this.r.text(x, y + h / 2, "").attr({ - 'fill': '#000', - 'text-anchor': 'middle', - cursor: "pointer" - }).click(clickFunction(category)) - }; - c = this.boxes_by_category[category]; - c.boxes.push(b[category].low, b[category].range); - c.labels.push(b[category].low_label, b[category].range_label); - } - this.boxes[code] = b; - } - this.r.text(this.x(0), this.h - 5, "The absolute cost to society of the whole energy system (mean undiscounted real pounds per person per year 2010-2050)").attr({ - 'text-anchor': 'start', - 'font-weight': 'bold', - 'fill': '#008000' - }); - this.r.path(["M", this.x(0), 40, "L", this.x(0), this.h - 28, "L", this.w - 30, this.h - 28]).attr({ - 'stroke': '#008000', - 'stroke-width': 2 - }); - format = this.x.tickFormat(10); - _ref3 = this.x.ticks(10); - for (_m = 0, _len4 = _ref3.length; _m < _len4; _m++) { - tick = _ref3[_m]; - this.r.text(this.x(tick), this.h - 20, format(tick)).attr({ - 'text-anchor': 'middle', - fill: '#008000' - }); - this.r.path(["M", this.x(tick), 40, "L", this.x(tick), this.h - 26]).attr({ - stroke: '#fff' - }); - } - for (category in category_colors) { - if (!__hasProp.call(category_colors, category)) continue; - color = category_colors[category]; - this.boxes_by_category[category].labels.hide(); - this.boxes_by_category[category].labels.toFront(); - this.hover(this.boxes_by_category[category].boxes, category); - this.hover(this.boxes_by_category[category].labels, category); - if (category === "Fossil fuels") { - lb = this.r.text(this.x(0) + 175, h * 0.75 / 2, "Fossil fuels for use in buildings, transport, electricity generation and industry").attr({ - 'text-anchor': 'middle', - 'font-weight': 'bold' - }); - } else if (category === "Bioenergy") { - lb = this.r.text(this.x(0) + 175, h * 0.75 / 2, "Bioenergy for use in buildings, transport, electricity generation and industry").attr({ - 'text-anchor': 'middle', - 'font-weight': 'bold' - }); - } else { - lb = this.r.text(this.x(0) + 50, h * 0.75 / 2, category).attr({ - 'text-anchor': 'middle', - 'font-weight': 'bold' - }); - } - this.boxes_by_category[category].top_label_box = this.r.rect(this.x(0), 0, lb.getBBox().width + 15, h * 0.75, 5).attr({ - 'fill': '#fff', - 'stroke': color.low - }).hide(); - this.boxes_by_category[category].top_label = lb; - lb.toFront(); - lb.hide(); - } - _ref4 = twentyfifty.comparator_pathways; - _results = []; - for (_n = 0, _len5 = _ref4.length; _n < _len5; _n++) { - code = _ref4[_n]; - _results.push(twentyfifty.loadSecondaryPathway(code, this.updateBar)); - } - return _results; - }; - - CostsComparedOverview.prototype.hover = function(boxes, category) { - var _this = this; - return boxes.hover((function() { - return _this.show(category); - }), (function() { - return _this.hide(category); - })); - }; - - CostsComparedOverview.prototype.show = function(category) { - var c, _i, _len, _results; - _results = []; - for (_i = 0, _len = categories.length; _i < _len; _i++) { - c = categories[_i]; - if (c === category) { - this.boxes_by_category[c].labels.show(); - this.boxes_by_category[c].top_label_box.show(); - _results.push(this.boxes_by_category[c].top_label.show()); - } else { - _results.push(this.boxes_by_category[c].boxes.attr({ - 'fill-opacity': 0.5 - })); - } - } - return _results; - }; - - CostsComparedOverview.prototype.hide = function(category) { - var c, _i, _len, _results; - _results = []; - for (_i = 0, _len = categories.length; _i < _len; _i++) { - c = categories[_i]; - if (c === category) { - this.boxes_by_category[c].labels.hide(); - this.boxes_by_category[c].top_label_box.hide(); - _results.push(this.boxes_by_category[c].top_label.hide()); - } else { - _results.push(this.boxes_by_category[c].boxes.attr({ - 'fill-opacity': 1.0 - })); - } - } - return _results; - }; - - CostsComparedOverview.prototype.teardown = function() { - $("#results").empty(); - $("#message").removeClass('warning'); - return this.ready = false; - }; - - CostsComparedOverview.prototype.updateResults = function(pathway) { - if (!this.ready) { - this.setup(); - } - return this.updateBar(pathway, 'chosen'); - }; - - CostsComparedOverview.prototype.updateBar = function(pathway, _id) { - var b, categorised_costs, category, cost, lb, _i, _j, _len, _len1, _results, _x; - if (_id == null) { - _id = pathway._id; - } - if (this.boxes == null) { - this.setupComparisonChart(); - } - if (pathway.categorised_costs == null) { - twentyfifty.group_costs_of_pathway(pathway); - } - categorised_costs = pathway.categorised_costs; - b = this.boxes[_id]; - _x = 0; - for (_i = 0, _len = categories.length; _i < _len; _i++) { - category = categories[_i]; - cost = categorised_costs[category]; - b[category].low.attr({ - x: this.x(_x), - width: this.x(cost.low) - this.x(0) - }); - if (cost.low > 1) { - b[category].low_label.attr({ - x: this.x(_x + cost.low / 2), - text: "" + (Math.round(cost.low)) - }); - } - if (_id === 'chosen') { - lb = this.boxes_by_category[category].top_label_box; - lb.attr({ - x: this.x(_x + cost.low / 2) - (lb.attr('width') / 2) - }); - this.boxes_by_category[category].top_label.attr({ - x: this.x(_x + cost.low / 2) - }); - } - _x += cost.low; - } - _results = []; - for (_j = 0, _len1 = categories.length; _j < _len1; _j++) { - category = categories[_j]; - cost = categorised_costs[category]; - b[category].range.attr({ - x: this.x(_x), - width: this.x(cost.range) - this.x(0) - }); - if (cost.range > 1) { - b[category].range_label.attr({ - x: this.x(_x + cost.range / 2), - text: "" + (Math.round(cost.range)) - }); - } - _results.push(_x += cost.range); - } - return _results; - }; - - return CostsComparedOverview; - - })(); - - window.twentyfifty.views['costs_compared_overview'] = new CostsComparedOverview; - -}).call(this); -(function() { - var CostsComparedWithinSector, costsComparedWithinSectorHTML, - __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }, - __hasProp = {}.hasOwnProperty; - - costsComparedWithinSectorHTML = "
\n
NB Some costs not on default values
\n \n

\n The cost of\n a sector\n within your and other pathways.\n This is not an energy bill.\n

\n " + window.costCaveatHTML + "\n
\n " + window.costEssentialNotesHTML + "\n
"; - - CostsComparedWithinSector = (function() { - var categories, cost_component_colors; - - categories = ["Fossil fuels", "Bioenergy", "Electricity", "Buildings", "Transport", "Industry", "Finance", "Other"]; - - cost_component_colors = { - "Conventional thermal plant": { - low: "#a55194", - range: "url(/assets/images/hatches/hatch-a55194.png)" - }, - "Combustion + CCS": { - low: "#8c564b", - range: "url(/assets/images/hatches/hatch-8c564b.png)" - }, - "Storage of captured CO2": { - low: "#8c564b", - range: "url(/assets/images/hatches/hatch-8c564b.png)" - }, - "Nuclear power": { - low: "#2ca02c", - range: "url(/assets/images/hatches/hatch-2ca02c.png)" - }, - "Onshore wind": { - low: "#1f77b4", - range: "url(/assets/images/hatches/hatch-1f77b4.png)" - }, - "Offshore wind": { - low: "#ff7f0e", - range: "url(/assets/images/hatches/hatch-ff7f0e.png)" - }, - "Hydroelectric": { - low: "#d62728", - range: "url(/assets/images/hatches/hatch-d62728.png)" - }, - "Wave and Tidal": { - low: "#7f7f7f", - range: "url(/assets/images/hatches/hatch-7f7f7f.png)" - }, - "Geothermal": { - low: "#EA8BCC", - range: "url(/assets/images/hatches/hatch-EA8BCC.png)" - }, - "Distributed solar PV": { - low: "#a55194", - range: "url(/assets/images/hatches/hatch-a55194.png)" - }, - "Distributed solar thermal": { - low: "#8c564b", - range: "url(/assets/images/hatches/hatch-8c564b.png)" - }, - "Micro wind": { - low: "#2ca02c", - range: "url(/assets/images/hatches/hatch-2ca02c.png)" - }, - "Biomatter to fuel conversion": { - low: "#1f77b4", - range: "url(/assets/images/hatches/hatch-1f77b4.png)" - }, - "Bioenergy imports": { - low: "#ff7f0e", - range: "url(/assets/images/hatches/hatch-ff7f0e.png)" - }, - "Agriculture and land use": { - low: "#d62728", - range: "url(/assets/images/hatches/hatch-d62728.png)" - }, - "Energy from waste": { - low: "#7f7f7f", - range: "url(/assets/images/hatches/hatch-7f7f7f.png)" - }, - "Waste arising": { - low: "#EA8BCC", - range: "url(/assets/images/hatches/hatch-EA8BCC.png)" - }, - "Marine algae": { - low: "#a55194", - range: "url(/assets/images/hatches/hatch-a55194.png)" - }, - "Electricity imports": { - low: "#8c564b", - range: "url(/assets/images/hatches/hatch-8c564b.png)" - }, - "Electricity Exports": { - low: "#2ca02c", - range: "url(/assets/images/hatches/hatch-2ca02c.png)" - }, - "Electricity grid distribution": { - low: "#1f77b4", - range: "url(/assets/images/hatches/hatch-1f77b4.png)" - }, - "Storage, demand shifting, backup": { - low: "#ff7f0e", - range: "url(/assets/images/hatches/hatch-ff7f0e.png)" - }, - "H2 Production": { - low: "#d62728", - range: "url(/assets/images/hatches/hatch-d62728.png)" - }, - "Domestic heating": { - low: "#7f7f7f", - range: "url(/assets/images/hatches/hatch-7f7f7f.png)" - }, - "Domestic insulation": { - low: "#EA8BCC", - range: "url(/assets/images/hatches/hatch-EA8BCC.png)" - }, - "Commercial heating and cooling": { - low: "#a55194", - range: "url(/assets/images/hatches/hatch-a55194.png)" - }, - "Domestic lighting, appliances, and cooking": { - low: "#8c564b", - range: "url(/assets/images/hatches/hatch-8c564b.png)" - }, - "Commercial lighting, appliances, and catering": { - low: "#2ca02c", - range: "url(/assets/images/hatches/hatch-2ca02c.png)" - }, - "Industrial processes": { - low: "#1f77b4", - range: "url(/assets/images/hatches/hatch-1f77b4.png)" - }, - "Conventional cars and buses": { - low: "#ff7f0e", - range: "url(/assets/images/hatches/hatch-ff7f0e.png)" - }, - "Hybrid cars and buses": { - low: "#d62728", - range: "url(/assets/images/hatches/hatch-d62728.png)" - }, - "Electric cars and buses": { - low: "#7f7f7f", - range: "url(/assets/images/hatches/hatch-7f7f7f.png)" - }, - "Fuel cell cars and buses": { - low: "#EA8BCC", - range: "url(/assets/images/hatches/hatch-EA8BCC.png)" - }, - "Bikes": { - low: "#a55194", - range: "url(/assets/images/hatches/hatch-a55194.png)" - }, - "Rail": { - low: "#8c564b", - range: "url(/assets/images/hatches/hatch-8c564b.png)" - }, - "Domestic aviation": { - low: "#2ca02c", - range: "url(/assets/images/hatches/hatch-2ca02c.png)" - }, - "Domestic freight": { - low: "#1f77b4", - range: "url(/assets/images/hatches/hatch-1f77b4.png)" - }, - "International aviation": { - low: "#ff7f0e", - range: "url(/assets/images/hatches/hatch-ff7f0e.png)" - }, - "International shipping (maritime bunkers)": { - low: "#d62728", - range: "url(/assets/images/hatches/hatch-d62728.png)" - }, - "Geosequestration": { - low: "#7f7f7f", - range: "url(/assets/images/hatches/hatch-7f7f7f.png)" - }, - "Petroleum refineries": { - low: "#8c564b", - range: "url(/assets/images/hatches/hatch-8c564b.png)" - }, - "Coal": { - low: "#2ca02c", - range: "url(/assets/images/hatches/hatch-2ca02c.png)" - }, - "Oil": { - low: "#1f77b4", - range: "url(/assets/images/hatches/hatch-1f77b4.png)" - }, - "Gas": { - low: "#ff7f0e", - range: "url(/assets/images/hatches/hatch-ff7f0e.png)" - }, - "Fossil fuel transfers": { - low: "#d62728", - range: "url(/assets/images/hatches/hatch-d62728.png)" - }, - "District heating effective demand": { - low: "#7f7f7f", - range: "url(/assets/images/hatches/hatch-7f7f7f.png)" - }, - "Power Carbon Capture": { - low: "#EA8BCC", - range: "url(/assets/images/hatches/hatch-EA8BCC.png)" - }, - "Industry Carbon Capture": { - low: "#a55194", - range: "url(/assets/images/hatches/hatch-a55194.png)" - }, - "Finance cost": { - low: "#8c564b", - range: "url(/assets/images/hatches/hatch-8c564b.png)" - } - }; - - function CostsComparedWithinSector() { - this.updateBar = __bind(this.updateBar, this); - this.ready = false; - } - - CostsComparedWithinSector.prototype.setup = function() { - var all_pathways, b, c, category, code, e, format, h, lb, tick, x, y, _i, _j, _k, _l, _len, _len1, _len2, _len3, _len4, _len5, _len6, _len7, _m, _n, _o, _p, _ref, _ref1, _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _results; - if (this.ready) { - return false; - } - this.ready = true; - $('#results').append(costsComparedWithinSectorHTML); - $('#message').addClass('warning'); - $('#sectorname').html(categories[twentyfifty.getSector()]); - twentyfifty.cost_override_in_place_warning(); - all_pathways = ["chosen"].concat(twentyfifty.comparator_pathways); - this.relevant_costs = twentyfifty.costs_in_category(categories[twentyfifty.getSector()]); - e = $('#costscomparedwithinsector'); - this.h = e.height(); - this.w = e.width(); - this.r = new Raphael('costscomparedwithinsector', this.w, this.h); - this.x = d3.scale.linear().domain([0, 3000]).range([250, this.w - 30]).nice(); - this.y = d3.scale.ordinal().domain(all_pathways).rangeRoundBands([25, this.h - 20], 0.25); - _ref = twentyfifty.comparator_pathways; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - code = _ref[_i]; - this.r.rect(this.x(0), this.y(code), this.x(3000) - this.x(0), this.y.rangeBand()).attr({ - 'fill': '#ddd', - 'stroke': 'none' - }); - } - this.r.rect(25, this.y("chosen"), this.x(3000) - 25, this.y.rangeBand()).attr({ - 'fill': '#FCFF9B', - 'stroke': 'none' - }); - this.r.text(30, this.y("chosen") + 9, "Your pathway").attr({ - 'text-anchor': 'start', - 'font-weight': 'bold' - }); - this.r.text(30, this.y("chosen") + 27, "").attr({ - 'text-anchor': 'start' - }); - _ref1 = twentyfifty.comparator_pathways; - for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) { - code = _ref1[_j]; - this.r.text(30, this.y(code) + 9, twentyfifty.pathwayName(code, code)).attr({ - 'text-anchor': 'start', - 'font-weight': 'bold', - href: twentyfifty.pathwayWikiPages(code) - }); - this.r.text(30, this.y(code) + 27, twentyfifty.pathwayDescriptions(code, "")).attr({ - 'text-anchor': 'start', - href: twentyfifty.pathwayWikiPages(code) - }); - } - this.boxes = {}; - this.boxes_by_category = {}; - _ref2 = this.relevant_costs; - for (_k = 0, _len2 = _ref2.length; _k < _len2; _k++) { - category = _ref2[_k]; - this.boxes_by_category[category] = { - boxes: this.r.set(), - labels: this.r.set(), - top_label: null, - top_label_box: null - }; - } - x = this.x(0); - h = this.y.rangeBand(); - _ref3 = ["chosen"].concat(twentyfifty.comparator_pathways); - for (_l = 0, _len3 = _ref3.length; _l < _len3; _l++) { - code = _ref3[_l]; - b = {}; - y = this.y(code); - _ref4 = this.relevant_costs; - for (_m = 0, _len4 = _ref4.length; _m < _len4; _m++) { - category = _ref4[_m]; - b[category] = { - low: this.r.rect(x, y, 0, h).attr({ - 'fill': cost_component_colors[category].low, - 'stroke': 'none' - }), - low_label: this.r.text(x, y + h / 2, "").attr({ - 'fill': '#000', - 'text-anchor': 'middle' - }), - range: this.r.rect(x, y, 0, h).attr({ - 'fill': cost_component_colors[category].range, - 'stroke': 'none' - }), - range_label: this.r.text(x, y + h / 2, "").attr({ - 'fill': '#000', - 'text-anchor': 'middle' - }) - }; - c = this.boxes_by_category[category]; - c.boxes.push(b[category].low, b[category].range); - c.labels.push(b[category].low_label, b[category].range_label); - } - this.boxes[code] = b; - } - this.r.text(this.x(0), this.h - 5, "The absolute cost to society of the whole energy system (mean undiscounted real pounds per person per year 2010-2050)").attr({ - 'text-anchor': 'start', - 'font-weight': 'bold', - 'fill': '#008000' - }); - this.r.path(["M", this.x(0), 40, "L", this.x(0), this.h - 28, "L", this.w - 30, this.h - 28]).attr({ - 'stroke': '#008000', - 'stroke-width': 2 - }); - format = this.x.tickFormat(10); - _ref5 = this.x.ticks(10); - for (_n = 0, _len5 = _ref5.length; _n < _len5; _n++) { - tick = _ref5[_n]; - this.r.text(this.x(tick), this.h - 20, format(tick)).attr({ - 'text-anchor': 'middle', - fill: '#008000' - }); - this.r.path(["M", this.x(tick), 40, "L", this.x(tick), this.h - 26]).attr({ - stroke: '#fff' - }); - } - _ref6 = this.relevant_costs; - for (_o = 0, _len6 = _ref6.length; _o < _len6; _o++) { - category = _ref6[_o]; - this.boxes_by_category[category].labels.hide(); - this.boxes_by_category[category].labels.toFront(); - this.hover(this.boxes_by_category[category].boxes, category); - this.hover(this.boxes_by_category[category].labels, category); - lb = this.boxes_by_category[category].top_label = this.r.text(this.x(0) + 100, h * 0.75 / 2, category).attr({ - 'text-anchor': 'middle', - 'font-weight': 'bold' - }).hide(); - this.boxes_by_category[category].top_label_box = this.r.rect(this.x(0), 0, lb.getBBox().width + 15, h * 0.75, 5).attr({ - 'fill': '#fff', - 'stroke': cost_component_colors[category].low - }).hide(); - lb.toFront(); - } - _ref7 = twentyfifty.comparator_pathways; - _results = []; - for (_p = 0, _len7 = _ref7.length; _p < _len7; _p++) { - code = _ref7[_p]; - _results.push(twentyfifty.loadSecondaryPathway(code, this.updateBar)); - } - return _results; - }; - - CostsComparedWithinSector.prototype.hover = function(boxes, category) { - var _this = this; - return boxes.hover((function() { - return _this.show(category); - }), (function() { - return _this.hide(category); - })); - }; - - CostsComparedWithinSector.prototype.show = function(category) { - var c, _i, _len, _ref, _results; - _ref = this.relevant_costs; - _results = []; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - c = _ref[_i]; - if (c === category) { - this.boxes_by_category[c].labels.show(); - this.boxes_by_category[c].top_label_box.show(); - _results.push(this.boxes_by_category[c].top_label.show()); - } else { - _results.push(this.boxes_by_category[c].boxes.attr({ - 'fill-opacity': 0.5 - })); - } - } - return _results; - }; - - CostsComparedWithinSector.prototype.hide = function(category) { - var c, _i, _len, _ref, _results; - _ref = this.relevant_costs; - _results = []; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - c = _ref[_i]; - if (c === category) { - this.boxes_by_category[c].labels.hide(); - this.boxes_by_category[c].top_label_box.hide(); - _results.push(this.boxes_by_category[c].top_label.hide()); - } else { - _results.push(this.boxes_by_category[c].boxes.attr({ - 'fill-opacity': 1.0 - })); - } - } - return _results; - }; - - CostsComparedWithinSector.prototype.teardown = function() { - $('#results').empty(); - $('#message').removeClass('warning'); - return this.ready = false; - }; - - CostsComparedWithinSector.prototype.updateResults = function(pathway) { - if (!this.ready) { - this.setup(); - } - return this.updateBar(pathway, 'chosen'); - }; - - CostsComparedWithinSector.prototype.updateBar = function(pathway, _id) { - var b, categorised_costs, category, cost, lb, low, range, _results, _x; - if (_id == null) { - _id = pathway._id; - } - if (this.boxes == null) { - this.setupComparisonChart(); - } - if (pathway.categorised_costs == null) { - twentyfifty.group_costs_of_pathway(pathway); - } - categorised_costs = pathway.categorised_costs[categories[twentyfifty.getSector()]]; - b = this.boxes[_id]; - _x = 0; - for (category in categorised_costs) { - if (!__hasProp.call(categorised_costs, category)) continue; - cost = categorised_costs[category]; - if (!(category === "high" || category === "low" || category === "range")) { - low = cost.low_adjusted; - if (_id === 'chosen') { - lb = this.boxes_by_category[category].top_label_box; - lb.attr({ - x: this.x(_x + low / 2) - (lb.attr('width') / 2) - }); - this.boxes_by_category[category].top_label.attr({ - x: this.x(_x + low / 2) - }); - } - if (low >= 0) { - b[category].low.attr({ - x: this.x(_x), - width: this.x(low) - this.x(0) - }); - if (Math.round(low) === 0) { - b[category].low_label.attr({ - x: this.x(_x + low / 2), - text: "" - }); - } else { - b[category].low_label.attr({ - x: this.x(_x + low / 2), - text: "" + (Math.round(low)) - }); - } - _x += low; - } else { - b[category].low.attr({ - x: this.x(0), - width: this.x(0) - this.x(0) - }); - b[category].low_label.attr({ - x: this.x(0), - text: "" - }); - } - } - } - _results = []; - for (category in categorised_costs) { - if (!__hasProp.call(categorised_costs, category)) continue; - cost = categorised_costs[category]; - if (!(category === "high" || category === "low" || category === "range")) { - range = cost.range_adjusted; - low = cost.low_adjusted; - if (low >= 0) { - b[category].range.attr({ - x: this.x(_x), - width: this.x(range) - this.x(0) - }); - if (Math.round(range) === 0) { - b[category].range_label.attr({ - x: this.x(_x + range / 2), - text: "" - }); - } else { - b[category].range_label.attr({ - x: this.x(_x + range / 2), - text: "" + (Math.round(range)) - }); - } - _results.push(_x += range); - } else { - b[category].range.attr({ - x: this.x(0), - width: this.x(0) - this.x(0) - }); - _results.push(b[category].range_label.attr({ - x: this.x(0), - text: "" - })); - } - } else { - _results.push(void 0); - } - } - return _results; - }; - - return CostsComparedWithinSector; - - })(); - - window.twentyfifty.views['costs_compared_within_sector'] = new CostsComparedWithinSector; - -}).call(this); -(function() { - var CostsSensitivity, - __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; - - CostsSensitivity = (function() { - var bottom_area_start, c_low_fill_color, c_range_fill_color, color, cost_component_names, cost_component_value, cost_component_values, cost_wiki_links, costsSensitivityHTML, direction, label_components, optional_arrow, p_low_fill_color, p_range_fill_color; - - costsSensitivityHTML = "
\n \n

The cost of your pathway compared with another, allowing simple variation in cost estimates.

\n " + window.costCaveatHTML + "\n
\n " + window.costEssentialNotesHTML + "\n
"; - - bottom_area_start = 219; - - cost_component_names = ["Conventional thermal plant", "Combustion + CCS", "Nuclear power", "Onshore wind", "Offshore wind", "Hydroelectric", "Wave and Tidal", "Geothermal", "Distributed solar PV", "Distributed solar thermal", "Micro wind", "Biomatter to fuel conversion", "Bioenergy imports", "Agriculture and land use", "Energy from waste", "Waste arising", "Marine algae", "Electricity imports", "Electricity Exports", "Electricity grid distribution", "Storage, demand shifting, backup", "H2 Production", "Domestic heating", "Domestic insulation", "Commercial heating and cooling", "Domestic lighting, appliances, and cooking", "Commercial lighting, appliances, and catering", "Industrial processes", "Conventional cars and buses", "Hybrid cars and buses", "Electric cars and buses", "Fuel cell cars and buses", "Bikes", "Rail", "Domestic aviation", "Domestic freight", "International aviation", "International shipping (maritime bunkers)", "Geosequestration", "Petroleum refineries", "Fossil fuel transfers", "District heating effective demand", "Storage of captured CO2", "Coal", "Oil", "Gas", "Finance cost"]; - - cost_wiki_links = { - "Fuel cell cars and buses": '/pages/63', - "Conventional cars and buses": '/pages/63', - "Hybrid cars and buses": '/pages/63', - "Gas": '/pages/13', - "Electric cars and buses": '/pages/63', - "Domestic insulation": '/pages/31', - "Wave and Tidal": '/pages/38', - "Finance cost": '/pages/28', - "Industrial processes": '/pages/24', - "Domestic heating": '/pages/31', - "Offshore wind": '/pages/6', - "Commercial heating and cooling": '/pages/44', - "Oil": '/pages/13', - "Conventional thermal plant": '/pages/42', - "Distributed solar PV": '/pages/40', - "Nuclear power": '/pages/7', - "Bioenergy imports": '/pages/3', - "Agriculture and land use": '/pages/19', - "Carbon Storage": '/pages/36', - "Fossil fuel transfers": '/pages/12', - "H2 Production": '/pages/43', - "Combustion + CCS": '/pages/8', - "Storage of captured CO2": '/pages/36', - "Biomatter to fuel conversion": '/pages/26', - "Electricity grid distribution": '/pages/11', - "Storage, demand shifting, backup": '/pages/10', - "Onshore wind": '/pages/5', - "Electricity Exports": '/pages/32', - "Energy from waste": '/pages/19', - "Waste arising": '/pages/27', - "Distributed solar thermal": '/pages/31', - "Domestic freight": '/pages/64', - "Coal": '/pages/13', - "Geothermal": '/pages/39', - "Micro wind": '/pages/56', - "District heating effective demand": '/pages/30', - "Commercial lighting, appliances, and catering": '/pages/23', - "Marine algae": '/pages/17', - "Rail": '/pages/63', - "Hydroelectric": '/pages/9', - "Domestic aviation": '/pages/63', - "Domestic lighting, appliances, and cooking": '/pages/46', - "Geosequestration": '/pages/29', - "Petroleum refineries": '/pages/25', - "International shipping (maritime bunkers)": '/pages/71', - "International aviation": '/pages/70', - "Bikes": '/pages/63', - "Electricity imports": '/pages/32' - }; - - cost_component_values = { - "Oil": { - cheap: "$75/bbl", - "default": "$130/bbl", - expensive: "$170/bbl" - }, - "Coal": { - cheap: "$80/tCoal", - "default": "$110/tCoal", - expensive: "$155/tCoal" - }, - "Gas": { - cheap: "45p/therm", - "default": "70p/therm", - expensive: "100p/therm" - }, - "Finance cost": { - cheap: "None", - "default": "7% real", - expensive: "10% real" - } - }; - - cost_component_value = function(name) { - return cost_component_values[name] || { - cheap: "Cheap", - "default": "Default", - expensive: "Today's cost" - }; - }; - - direction = function(value) { - if (value > 0) { - return "more expensive"; - } - return "cheaper"; - }; - - color = function(value) { - if (value > 0) { - return "#f00"; - } - return "#0f0"; - }; - - p_low_fill_color = '#1f77b4'; - - p_range_fill_color = 'url(/assets/images/hatches/hatch-1f77b4.png)'; - - c_low_fill_color = '#f00'; - - c_range_fill_color = 'url(/assets/images/hatches/hatch-f00.png)'; - - function CostsSensitivity() { - this.updateComparator = __bind(this.updateComparator, this); - this.updateResults = __bind(this.updateResults, this); - this.ready = false; - } - - CostsSensitivity.prototype.setup = function() { - if (this.ready) { - return false; - } - this.ready = true; - $("#results").append(costsSensitivityHTML); - $('#message').addClass('warning'); - this.drawChart(); - return this.switchComparator(twentyfifty.getComparator() || twentyfifty.default_comparator_code); - }; - - CostsSensitivity.prototype.teardown = function() { - $('#results').empty(); - $('#message').removeClass('warning'); - return this.ready = false; - }; - - CostsSensitivity.prototype.updateResults = function(pathway) { - this.pathway = pathway; - if (!this.ready) { - this.setup(); - } - if (this.pathway.total_cost_low_adjusted == null) { - twentyfifty.adjust_costs_of_pathway(this.pathway); - } - this.sortComponents(); - this.updateBar(this.top_pathway_chart, this.pathway.total_cost_low_adjusted, this.pathway.total_cost_range_adjusted); - return this.updateIncrement(); - }; - - CostsSensitivity.prototype.switchComparator = function(code) { - return twentyfifty.loadSecondaryPathway(code, this.updateComparator); - }; - - CostsSensitivity.prototype.updateComparator = function(comparator) { - this.comparator = comparator; - if (this.comparator.total_cost_low_adjusted == null) { - twentyfifty.adjust_costs_of_pathway(this.comparator); - } - this.updateBar(this.top_comparator_chart, this.comparator.total_cost_low_adjusted, this.comparator.total_cost_range_adjusted); - this.top_comparator_chart.name.attr({ - text: twentyfifty.pathwayName(this.comparator._id, this.comparator._id), - href: twentyfifty.pathwayWikiPages(this.comparator._id) - }); - this.top_comparator_chart.description.attr({ - text: twentyfifty.pathwayDescriptions(this.comparator._id, ""), - href: twentyfifty.pathwayWikiPages(this.comparator._id) - }); - this.key_label.attr({ - text: "The cost in '" + (twentyfifty.pathwayName(this.comparator._id, this.comparator._id)) + "'" - }); - if (this.pathway != null) { - this.updateIncrement(); - return this.updateComponents(false, true); - } - }; - - CostsSensitivity.prototype.updateToBarForNewCost = function() { - this.updateBar(this.top_pathway_chart, this.pathway.total_cost_low_adjusted, this.pathway.total_cost_range_adjusted); - this.updateBar(this.top_comparator_chart, this.comparator.total_cost_low_adjusted, this.comparator.total_cost_range_adjusted); - return this.updateIncrement(); - }; - - CostsSensitivity.prototype.updateIncrement = function() { - var average, c, i, i1, i2, max, min, p; - if (!((this.pathway != null) && (this.comparator != null))) { - return; - } - p = this.pathway; - c = this.comparator; - i = twentyfifty.calculateIncrementalCost(p, c); - min = Math.min(p.total_cost_low_adjusted, c.total_cost_low_adjusted); - max = Math.max(p.total_cost_high_adjusted, c.total_cost_high_adjusted); - average = (min + max) / 2; - i1 = i.tc - i.cc; - i2 = i.tt - i.ct; - if (i1 === i2) { - this.increment_arrows.low.hide(); - this.increment_arrows.high.hide(); - this.increment_arrows.range_message.hide(); - this.increment_arrows.low_value.hide(); - this.increment_arrows.high_value.hide(); - this.increment_arrows.single.attr({ - path: ["M", this.x(p.total_cost_low_adjusted - i1), this.top_y('i') + this.top_bar_height * 0.5, "L", this.x(p.total_cost_low_adjusted), this.top_y('i') + this.top_bar_height * 0.5], - stroke: color(i2), - fill: color(i2) - }); - this.increment_arrows.single_value.attr({ - x: this.x(max) + 3, - text: "£" + (Math.round(Math.abs(i1))) + "/person/year " + (direction(i1)) - }); - optional_arrow(this.increment_arrows.single, i1); - this.increment_arrows.single.show(); - return this.increment_arrows.single_value.show(); - } else { - this.increment_arrows.single.hide(); - this.increment_arrows.single_value.hide(); - this.increment_arrows.low.attr({ - path: ["M", this.x(average - i2 / 2), this.top_y('i') + this.top_bar_height * 0.25, "L", this.x(average + i2 / 2), this.top_y('i') + this.top_bar_height * 0.25], - stroke: color(i2), - fill: color(i2) - }); - this.increment_arrows.high.attr({ - path: ["M", this.x(average - i1 / 2), this.top_y('i') + this.top_bar_height * 0.75, "L", this.x(average + i1 / 2), this.top_y('i') + this.top_bar_height * 0.75], - stroke: color(i1), - fill: color(i1) - }); - this.increment_arrows.range_message.attr({ - x: this.x(min) - 3 - }); - this.increment_arrows.low_value.attr({ - x: this.x(max) + 3, - text: "£" + (Math.round(Math.abs(i2))) + "/person/year " + (direction(i2)) + " and" - }); - this.increment_arrows.high_value.attr({ - x: this.x(max) + 3, - text: "£" + (Math.round(Math.abs(i1))) + "/person/year " + (direction(i1)) - }); - optional_arrow(this.increment_arrows.low, i2); - optional_arrow(this.increment_arrows.high, i1); - this.increment_arrows.low.show(); - this.increment_arrows.high.show(); - this.increment_arrows.range_message.show(); - this.increment_arrows.low_value.show(); - return this.increment_arrows.high_value.show(); - } - }; - - optional_arrow = function(arrow, value) { - if (Math.abs(value) > 200) { - return arrow.attr({ - 'arrow-end': 'classic-narrow-short' - }); - } else { - return arrow.attr({ - 'arrow-end': 'none' - }); - } - }; - - label_components = { - labels: ['name', 'details', 'cheap', 'default', 'expensive', 'uncertain'], - boxes: ['details_box', 'cheap_box', 'default_box', 'expensive_box', 'uncertain_box'] - }; - - CostsSensitivity.prototype.sortComponents = function() { - var a, bar_offset, component, cy, ly, name, p, py, y, _i, _j, _k, _len, _len1, _len2, _ref, _ref1; - p = this.pathway.cost_components; - bar_offset = this.bar_offset; - cost_component_names.sort(function(a, b) { - return p[b].high_adjusted - p[a].high_adjusted; - }); - this.bottom_y = y = d3.scale.ordinal().domain(cost_component_names).rangeRoundBands([bottom_area_start, this.h], 0.25); - for (_i = 0, _len = cost_component_names.length; _i < _len; _i++) { - name = cost_component_names[_i]; - component = this.components[name]; - py = y(name); - cy = py + bar_offset; - ly = py + (y.rangeBand() / 2); - _ref = label_components.labels; - for (_j = 0, _len1 = _ref.length; _j < _len1; _j++) { - a = _ref[_j]; - component[a].attr({ - y: ly - }); - } - _ref1 = label_components.boxes; - for (_k = 0, _len2 = _ref1.length; _k < _len2; _k++) { - a = _ref1[_k]; - component[a].attr({ - y: py - }); - } - component.pathway.low.attr({ - y: py - }); - component.pathway.range.attr({ - y: py - }); - component.comparator.low.attr({ - y: cy - }); - component.comparator.range.attr({ - y: cy - }); - } - return this.updateComponents(); - }; - - CostsSensitivity.prototype.updateComponents = function(update_pathway, update_comparator) { - var name, _i, _len, _results; - if (update_pathway == null) { - update_pathway = true; - } - if (update_comparator == null) { - update_comparator = true; - } - if (!(this.pathway || this.comparator)) { - return; - } - _results = []; - for (_i = 0, _len = cost_component_names.length; _i < _len; _i++) { - name = cost_component_names[_i]; - _results.push(this.updateComponentNamed(name, update_pathway, update_comparator)); - } - return _results; - }; - - CostsSensitivity.prototype.updateComponentNamed = function(name, update_pathway, update_comparator) { - var a, c, chosen, component, cy, p, py, setting, _i, _len, _ref; - if (update_pathway == null) { - update_pathway = true; - } - if (update_comparator == null) { - update_comparator = true; - } - component = this.components[name]; - if (update_pathway && (this.pathway != null)) { - p = this.pathway.cost_components[name]; - py = this.bottom_y(name); - this.updateBar(component.pathway, p.low_adjusted, p.range_adjusted); - component.pathway.uncertainty.attr({ - path: ["M", this.x(p.low), py, "L", this.x(p.high), py] - }); - } - if (update_comparator && (this.comparator != null)) { - c = this.comparator.cost_components[name]; - cy = this.bottom_y(name) + this.bar_offset; - this.updateBar(component.comparator, c.low_adjusted, c.range_adjusted); - component.comparator.uncertainty.attr({ - path: ["M", this.x(c.low), cy, "L", this.x(c.high), cy] - }); - } - setting = $.jStorage.get(name); - _ref = ['details', 'cheap', 'default', 'expensive', 'uncertain', 'details_box', 'cheap_box', 'default_box', 'expensive_box', 'uncertain_box']; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - a = _ref[_i]; - component[a].attr({ - 'font-weight': 'normal' - }); - } - if ((setting == null) || setting === 'point') { - chosen = component["default"]; - } else if (setting === 'uncertain') { - chosen = component.uncertain; - } else if (setting === 0) { - chosen = component.cheap; - } else if (setting === 1) { - chosen = component.expensive; - } - return chosen.attr({ - 'font-weight': 'bold' - }); - }; - - CostsSensitivity.prototype.updateBar = function(bar, low, range) { - if (low < 0) { - bar.low.attr({ - x: this.x(low + range), - width: this.w(Math.abs(range)) - }); - } else { - bar.low.attr({ - width: this.w(low) - }); - } - if (range < 0) { - return bar.range.attr({ - x: this.x(low + range), - width: this.w(Math.abs(range)) - }); - } else { - return bar.range.attr({ - x: this.x(low), - width: this.w(range) - }); - } - }; - - CostsSensitivity.prototype.w = function(value) { - return this.x(value) - this.x(0); - }; - - CostsSensitivity.prototype.drawChart = function() { - var bar_height, bar_offset, box_attr, boxy, component, components, cy, e, format, h, increment, labels, ly, name, py, r, sensitivity_label_height, sensitivity_label_width, tick, url, w, x, y, _i, _j, _k, _len, _len1, _len2, _ref, - _this = this; - e = $('#costssensitivity'); - this.h = h = e.height(); - w = e.width(); - r = new Raphael('costssensitivity', w, h); - this.x = x = d3.scale.linear().domain([0, 10000]).range([250, w - 30]).nice(); - this.top_y = y = d3.scale.ordinal().domain(['p', 'i', 'c']).rangeRoundBands([30, 180], 0.15); - r.text(x(5000), 17, "The mean cost to society of the whole energy system in undiscounted real pounds per person 2010-2050").attr({ - 'text-anchor': 'center', - 'font-weight': 'bold' - }); - this.top_bar_height = bar_height = y.rangeBand(); - r.rect(25, y('p'), x(10000) - 25, bar_height).attr({ - 'fill': '#FCFF9B', - 'stroke': 'none' - }); - r.text(30, y("p") + 9, "Your pathway").attr({ - 'text-anchor': 'start', - 'font-weight': 'bold' - }); - r.text(30, y("p") + 27, "You can use the chart below to see how\nsensitive it is to different cost assumptions").attr({ - 'text-anchor': 'start' - }); - this.top_pathway_chart = { - low: r.rect(x(0), y('p'), 0, bar_height).attr({ - 'fill': p_low_fill_color, - 'stroke': 'none' - }), - range: r.rect(x(0), y('p'), 0, bar_height).attr({ - 'fill': p_range_fill_color, - 'stroke': 'none' - }) - }; - r.rect(x(0), y('c'), x(10000) - x(0), bar_height).attr({ - 'fill': '#ddd', - 'stroke': 'none' - }); - this.top_comparator_chart = { - name: r.text(30, y('c') + 9, "").attr({ - 'text-anchor': 'start', - 'font-weight': 'bold' - }), - description: r.text(30, y('c') + 27, "").attr({ - 'text-anchor': 'start' - }), - low: r.rect(x(0), y('c'), 0, bar_height).attr({ - 'fill': c_low_fill_color, - 'stroke': 'none' - }), - range: r.rect(x(0), y('c'), 0, bar_height).attr({ - 'fill': c_range_fill_color, - 'stroke': 'none' - }) - }; - r.setStart(); - this.increment_arrows = { - single: r.path(["M", 0, 0, "L", 0, 0]).attr({ - 'stroke-width': '15' - }), - single_value: r.text(0, y('i') + bar_height / 2, "").attr({ - 'text-anchor': 'start' - }), - range_message: r.text(0, y('i') + bar_height / 2, "Some costs are uncertain, therefore your pathway could be between").attr({ - 'text-anchor': 'end' - }), - low: r.path(["M", 0, 0, "L", 0, 0]).attr({ - 'stroke-width': '10' - }), - high: r.path(["M", 0, 0, "L", 0, 0]).attr({ - 'stroke-width': '10' - }), - low_value: r.text(0, y('i') + bar_height * 0.25, "").attr({ - 'text-anchor': 'start' - }), - high_value: r.text(0, y('i') + bar_height * 0.75, "").attr({ - 'text-anchor': 'start' - }) - }; - increment = r.setFinish(); - increment.hide(); - this.bottom_y = y = d3.scale.ordinal().domain(cost_component_names).rangeRoundBands([bottom_area_start, h], 0.25); - bar_height = (y.rangeBand() - 2) / 2; - this.bar_offset = bar_offset = ((y.rangeBand() - 2) / 2) + 2; - components = {}; - for (_i = 0, _len = cost_component_names.length; _i < _len; _i++) { - name = cost_component_names[_i]; - py = y(name); - r.rect(x(0), py, x(10000) - x(0), y.rangeBand()).attr({ - 'fill': '#ddd', - 'stroke': 'none' - }); - } - sensitivity_label_height = y.rangeBand(); - sensitivity_label_width = this.w(1000) - 2; - box_attr = { - fill: '#fff', - stroke: '#000', - 'fill-opacity': 0, - 'stroke-opacity': 0 - }; - for (_j = 0, _len1 = cost_component_names.length; _j < _len1; _j++) { - name = cost_component_names[_j]; - py = y(name); - cy = py + bar_offset; - ly = py + (y.rangeBand() / 2); - boxy = py; - component = {}; - url = "http://2050-calculator-tool-wiki.decc.gov.uk" + (cost_wiki_links[name] || "/"); - component.name = r.text(245, ly, name).attr({ - 'text-anchor': 'end', - href: url - }); - component.pathway = {}; - component.pathway.low = r.rect(x(0), py, 0, bar_height).attr({ - 'fill': p_low_fill_color, - 'stroke': 'none' - }); - component.pathway.range = r.rect(x(0), py, 0, bar_height).attr({ - 'fill': p_range_fill_color, - 'stroke': 'none' - }); - component.pathway.uncertainty = r.path(["M", 0, 0, "L", 0, 0]).attr({ - stroke: '#000', - 'arrow-end': "classic-narrow-long", - 'arrow-start': "classic-narrow-long" - }); - component.comparator = {}; - component.comparator.low = r.rect(x(0), cy, 0, bar_height).attr({ - 'fill': c_low_fill_color, - 'stroke': 'none' - }); - component.comparator.range = r.rect(x(0), cy, 0, bar_height).attr({ - 'fill': c_range_fill_color, - 'stroke': 'none' - }); - component.comparator.uncertainty = r.path(["M", 0, 0, "L", 0, 0]).attr({ - stroke: '#000', - 'arrow-end': "classic-narrow-long", - 'arrow-start': "classic-narrow-long" - }); - labels = cost_component_value(name); - component.details = r.text(x(5500), ly, "See assumptions").attr({ - 'text-anchor': 'middle', - href: url - }); - component.details_box = r.rect(x(5000), py, sensitivity_label_width, sensitivity_label_height).attr({ - fill: '#ccc', - opacity: 0, - cursor: 'pointer', - href: url - }); - component.cheap = r.text(x(6500), ly, labels.cheap).attr({ - 'text-anchor': 'middle' - }); - component.cheap_box = r.rect(x(6000) + 1, boxy, sensitivity_label_width, sensitivity_label_height).attr(box_attr); - component["default"] = r.text(x(7500), ly, labels["default"]).attr({ - 'text-anchor': 'middle' - }); - component.default_box = r.rect(x(7000) + 1, boxy, sensitivity_label_width, sensitivity_label_height).attr(box_attr); - component.expensive = r.text(x(8500), ly, labels.expensive).attr({ - 'text-anchor': 'middle' - }); - component.expensive_box = r.rect(x(8000) + 1, boxy, sensitivity_label_width, sensitivity_label_height).attr(box_attr); - component.uncertain = r.text(x(9500), ly, "Uncertain").attr({ - 'text-anchor': 'middle' - }); - component.uncertain_box = r.rect(x(9000) + 1, boxy, sensitivity_label_width, sensitivity_label_height).attr(box_attr); - this.clickToChangeCost(component.cheap_box, name, 0); - this.clickToChangeCost(component.default_box, name, "point"); - this.clickToChangeCost(component.expensive_box, name, 1); - this.clickToChangeCost(component.uncertain_box, name, "uncertain"); - components[name] = component; - } - this.components = components; - format = x.tickFormat(10); - _ref = x.ticks(10); - for (_k = 0, _len2 = _ref.length; _k < _len2; _k++) { - tick = _ref[_k]; - r.text(x(tick), 30, format(tick)).attr({ - 'text-anchor': 'middle' - }); - r.path(["M", x(tick), 40, "L", x(tick), h]).attr({ - stroke: '#fff' - }); - } - r.text(30, 205, "The biggest costs in your pathway").attr({ - 'text-anchor': 'start', - 'font-weight': 'bold' - }); - r.path(["M", 32, 212, "L", 32, 300]).attr({ - stroke: '#000', - 'arrow-end': "classic-wide-long" - }); - r.rect(250, 205, 30, bar_height).attr({ - 'fill': p_low_fill_color, - 'stroke': 'none' - }); - r.text(285, 208, "The cost in your pathway").attr({ - 'text-anchor': 'start', - 'font-weight': 'normal' - }); - r.rect(250, 215, 30, bar_height).attr({ - 'fill': c_low_fill_color, - 'stroke': 'none' - }); - this.key_label = r.text(285, 218, "The cost in your comparator").attr({ - 'text-anchor': 'start', - 'font-weight': 'normal' - }); - r.path(["M", 250, 228, "L", 280, 228]).attr({ - stroke: '#000', - 'arrow-end': "classic-wide-long", - 'arrow-start': 'classic-wide-short' - }); - r.text(285, 228, "The range of cost estimates").attr({ - 'text-anchor': 'start', - 'font-weight': 'normal' - }); - r.text(x(7500), 220, "Try different cost scenarios").attr({ - 'text-anchor': 'middle', - 'font-weight': 'bold' - }); - r.text(x(6500), 233, "Cheap"); - r.path(["M", x(7000), 233, "L", x(8000) - 2, 233]).attr({ - stroke: '#000', - 'arrow-end': "classic-wide-long" - }); - r.text(x(8500), 233, "Expensive"); - r.text(w - 30, 233, "(reset)").attr({ - 'text-anchor': 'end', - cursor: 'pointer' - }).click(function() { - var _l, _len3; - for (_l = 0, _len3 = cost_component_names.length; _l < _len3; _l++) { - name = cost_component_names[_l]; - jQuery.jStorage.set(name, 'point'); - } - twentyfifty.adjust_costs_of_pathway(_this.pathway); - twentyfifty.adjust_costs_of_pathway(_this.comparator); - _this.updateComponents(); - return _this.updateToBarForNewCost(); - }); - return increment.toFront(); - }; - - CostsSensitivity.prototype.clickToChangeCost = function(element, name, level) { - var _this = this; - element.click(function() { - jQuery.jStorage.set(name, level); - twentyfifty.adjust_costs_of_pathway(_this.pathway); - twentyfifty.adjust_costs_of_pathway(_this.comparator); - _this.updateComponentNamed(name); - return _this.updateToBarForNewCost(); - }); - element.hover((function() { - return this.attr({ - 'stroke-opacity': 1.0 - }); - }), (function() { - return this.attr({ - 'stroke-opacity': 0.0 - }); - })); - return element.attr({ - cursor: 'pointer' - }); - }; - - return CostsSensitivity; - - })(); - - window.twentyfifty.views['costs_sensitivity'] = new CostsSensitivity; - -}).call(this); -(function() { - var Story, - __slice = [].slice, - __hasProp = {}.hasOwnProperty; - - Story = (function() { - function Story() { - this.ready = false; - } - - Story.prototype.setup = function() { - $("#results").append("
"); - return this.ready = true; - }; - - Story.prototype.teardown = function() { - $("#results").empty(); - return this.ready = false; - }; - - Story.prototype.updateResults = function(pathway) { - var element; - this.pathway = pathway; - if (!this.ready) { - this.setup(); - } - this.choices = twentyfifty.choices; - element = $('#demand_story'); - element.empty(); - this.stories_for_choices(element, "Homes in 2050", 32, 33, 37, 38); - this.heating_choice_table(element, this.pathway.heating.residential); - this.stories_for_choices(element, "Personal transport in 2050", 25, 26, 27, 29); - this.stories_for_choices(element, "Businesses in 2050", 43, 47, 48); - this.heating_choice_table(element, this.pathway.heating.commercial); - this.stories_for_choices(element, "Industry in 2050", 40, 41); - this.stories_for_choices(element, "Commercial transport in 2050", 28, 29, 30); - element = $('#supply_story'); - element.empty(); - this.stories_for_choices(element, "Thermal power stations in 2050", 0, 2, 3, 9, 12); - this.stories_for_choices(element, "Wind in 2050", 4, 5, 14); - this.stories_for_choices(element, "Water: wave, tide and hydro in 2050", 6, 7, 8, 13); - this.stories_for_choices(element, "Solar in 2050", 10, 11, 15); - this.stories_for_choices(element, "Bioenergy, farming and waste in 2050", 22, 17, 18, 19, 20, 21); - element = $('#ghg_story'); - element.empty(); - this.electricity_generation_capacity_table(element); - element.append("

Greenhouse gases

"); - element.append("

2050 emissions will be " + this.pathway.ghg.percent_reduction_from_1990 + "% below 1990 levels.

"); - element.append("

International aviation and shipping emissions are not included in the UK's 2050 target but are included here to enable emissions from all sectors to be considered.

"); - this.stories_for_choices(element, null, 50); - element.append("

Energy security

"); - this.stories_for_choices(element, null, 51); - element.append("

If there are five cold, almost windless, winter days, then up to " + (Math.round(this.pathway.electricity.peaking)) + " GW of backup generation capacity will be required to ensure that electricity is always available.

"); - return this.stories_for_choices(element, null, 22, 15); - }; - - Story.prototype.stories_for_choices = function() { - var choice, element, row, rows, text, title, _i, _len; - element = arguments[0], title = arguments[1], rows = 3 <= arguments.length ? __slice.call(arguments, 2) : []; - if (title != null) { - element.append("

" + title + "

"); - } - text = []; - for (_i = 0, _len = rows.length; _i < _len; _i++) { - row = rows[_i]; - choice = choices[row] - 1; - if (choice % 1 === 0.0) { - text.push(window.twentyfifty.longDescriptions[row][choice]); - } else { - text.push("Between " + window.twentyfifty.longDescriptions[row][Math.floor(choice)] + " and " + window.twentyfifty.longDescriptions[row][Math.ceil(choice)]); - } - } - return element.append("

" + (text.join(". ")) + ".

"); - }; - - Story.prototype.heating_choice_table = function(element, heat) { - var html, name, value, values, _i, _len; - html = []; - html.push(""); - html.push(""); - values = []; - for (name in heat) { - if (!__hasProp.call(heat, name)) continue; - value = heat[name]; - values.push({ - name: name, - value: value - }); - } - values.sort(function(a, b) { - return a.value - b.value; - }); - for (_i = 0, _len = values.length; _i < _len; _i++) { - value = values[_i]; - if (value.value > 0.01) { - html.push(""); - } - } - html.push("
Type of heater2050 proportion of heating
" + value.name + "" + (Math.round(value.value * 100)) + "%
"); - return element.append(html.join('')); - }; - - Story.prototype.electricity_generation_capacity_table = function(element) { - var data, html, name, value, values, _i, _len, _ref; - html = []; - html.push(""); - html.push(""); - values = []; - _ref = this.pathway.electricity.capacity; - for (name in _ref) { - if (!__hasProp.call(_ref, name)) continue; - data = _ref[name]; - values.push({ - name: name, - d2010: data[0], - d2050: data[8] - }); - } - values.sort(function(a, b) { - return a.d2050 - b.d2050; - }); - for (_i = 0, _len = values.length; _i < _len; _i++) { - value = values[_i]; - if ((value.d2010 + value.d2050) !== 0.0) { - html.push(""); - } - } - html.push("
GW Capacity20102050
" + value.name + "" + (Math.round(value.d2010)) + "" + (Math.round(value.d2050)) + "
"); - return element.append(html.join('')); - }; - - return Story; - - })(); - - window.twentyfifty.views['story'] = new Story; - -}).call(this); -(function() { - var FilledBoxChart, SimpleSankeyDisplay, VectorChart, - __hasProp = {}.hasOwnProperty, - __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; - - FilledBoxChart = function(r, px, py, h, w, maximum_value, square_size, titles) { - var box, boxes, cols, gx, gy, i, inverse_x, label, labels, path, row_size, rows, setValues, title, x, y, _i, _j, _k, _len, _x, _x_end, _x_origin, _y; - rows = cols = Math.ceil(Math.sqrt(maximum_value / square_size)); - row_size = cols * square_size; - x = d3.scale.linear().domain([0, row_size]).range([px, px + w]); - inverse_x = d3.scale.linear().domain([0, row_size]).range([px + w, px]); - y = d3.scale.linear().domain([0, maximum_value]).range([h + py, py]); - _x = function(value) { - if (Math.floor(value / row_size) % 2 === 0) { - return x(value % row_size); - } else { - return inverse_x(value % row_size); - } - }; - _y = function(value) { - return y(Math.floor(value / row_size) * row_size); - }; - _x_origin = function(value) { - if (Math.floor(value / row_size) % 2 === 0) { - return x(0); - } else { - return inverse_x(0); - } - }; - _x_end = function(value) { - if (Math.floor(value / row_size) % 2 === 0) { - return x(row_size); - } else { - return inverse_x(row_size); - } - }; - path = function(start, end) { - var p; - if (_y(end) === _y(start)) { - return p = ["M", _x(start), _y(start), "L", _x(end), _y(end), "L", _x(end), _y(end + row_size), "L", _x(start), _y(end + row_size), "Z"]; - } else if (_y(end) === _y(start + row_size)) { - return p = ["M", _x(start), _y(start), "L", _x_end(start), _y(start), "L", _x_end(start), _y(end + row_size), "L", _x(end), _y(end + row_size), "L", _x(end), _y(end), "L", _x(start), _y(end), "Z"]; - } else if ((Math.floor(start / row_size) % 2) !== (Math.floor(end / row_size) % 2)) { - return p = ["M", _x(start), _y(start), "L", _x_end(start), _y(start), "L", _x_end(start), _y(end + row_size), "L", _x(end), _y(end + row_size), "L", _x(end), _y(end), "L", _x_end(end), _y(end), "L", _x_end(end), _y(start + row_size), "L", _x(start), _y(start + row_size), "L", _x(start), _y(start), "Z"]; - } else { - return p = ["M", _x(start), _y(start), "L", _x_end(start), _y(start), "L", _x_end(start), _y(end), "L", _x(end), _y(end), "L", _x(end), _y(end + row_size), "L", _x_origin(end), _y(end + row_size), "L", _x_origin(end), _y(start + row_size), "L", _x(start), _y(start + row_size), "L", _x(start), _y(start), "Z"]; - } - }; - for (gy = _i = 0; row_size > 0 ? _i <= maximum_value : _i >= maximum_value; gy = _i += row_size) { - r.path(["M", x(0), y(gy), "L", x(row_size), y(gy)]).attr({ - stroke: '#ccc' - }); - for (gx = _j = 0; square_size > 0 ? _j <= row_size : _j >= row_size; gx = _j += square_size) { - r.path(["M", x(gx), y(0), "L", x(gx), y(maximum_value)]).attr({ - stroke: '#ccc' - }); - } - } - boxes = {}; - labels = {}; - label = function(name, start, value) { - var l; - l = r.text(_x(start + value / 2), _y(start + value / 2), name); - l.hide(); - return l; - }; - box = function(name, start, value, color) { - var b; - if (color == null) { - color = "#0f0"; - } - b = r.path(path(start, start + value)).attr({ - 'stroke': '#000', - fill: color, - 'fill-opacity': 0.5, - 'stroke-width': '1' - }); - return b.hover(function() { - labels[name].show(); - return this.attr({ - 'fill-opacity': 0.75 - }); - }, function() { - labels[name].hide(); - return this.attr({ - 'fill-opacity': 0.5 - }); - }); - }; - for (i = _k = 0, _len = titles.length; _k < _len; i = ++_k) { - title = titles[i]; - boxes[title] = box(title, 0, 0, "#" + i + i + i); - labels[title] = label(title, 0, 0); - } - setValues = function(values) { - var name, sum, value, _results; - sum = 0; - _results = []; - for (name in values) { - if (!__hasProp.call(values, name)) continue; - value = values[name]; - boxes[name].attr({ - path: path(sum, sum + value) - }); - labels[name].attr({ - x: (_x(sum) + _x(sum + value)) / 2, - y: (_y(sum) + _y(sum + value)) / 2 - }); - _results.push(sum += value); - } - return _results; - }; - return { - box: box, - setValues: setValues - }; - }; - - VectorChart = function(r, px, py, h, w, maximum_value, square_size, titles) { - var box, boxes, cols, gx, gy, i, label, labels, row_size, rows, setValues, spacing, title, x, y, _i, _j, _k, _len; - rows = cols = Math.ceil(Math.sqrt(maximum_value / square_size)); - row_size = cols * square_size; - spacing = row_size * 0.1; - x = d3.scale.linear().domain([0, row_size]).range([px, px + w]); - y = d3.scale.linear().domain([0, maximum_value]).range([h + py, py]); - for (gy = _i = 0; row_size > 0 ? _i <= maximum_value : _i >= maximum_value; gy = _i += row_size) { - r.path(["M", x(0), y(gy), "L", x(row_size), y(gy)]).attr({ - stroke: '#ccc' - }); - for (gx = _j = 0; square_size > 0 ? _j <= row_size : _j >= row_size; gx = _j += square_size) { - r.path(["M", x(gx), y(0), "L", x(gx), y(maximum_value)]).attr({ - stroke: '#ccc' - }); - } - } - boxes = {}; - labels = {}; - label = function(name, start, value) { - var l; - l = r.text(x(row_size / 2), y(start + value / 2), name); - l.hide(); - return l; - }; - box = function(name, start, value, color) { - var b; - if (color == null) { - color = "#0f0"; - } - if (name === "Oil") { - b = r.path(["M", x(0), y(start + value / 2), "L", x(row_size), y(start + value / 2)]).attr({ - "stroke": '#F00', - 'stroke-width': y(start) - y(start + value) - }); - } else { - b = r.rect(x(0), y(start), x(row_size) - x(0), y(start + value) - y(start)).attr({ - 'stroke': '#000', - fill: color, - 'fill-opacity': 0.5, - 'stroke-width': '1' - }); - } - return b.hover(function() { - labels[name].show(); - return this.attr({ - 'fill-opacity': 0.75 - }); - }, function() { - labels[name].hide(); - return this.attr({ - 'fill-opacity': 0.5 - }); - }); - }; - for (i = _k = 0, _len = titles.length; _k < _len; i = ++_k) { - title = titles[i]; - boxes[title] = box(title, 0, 0, "#" + i + i + i); - labels[title] = label(title, 0, 0); - } - setValues = function(values) { - var name, sum, value, _results; - sum = 0; - _results = []; - for (name in values) { - if (!__hasProp.call(values, name)) continue; - value = values[name]; - boxes[name].attr({ - y: y(sum + value), - height: y(sum) - y(sum + value) - }); - labels[name].attr({ - x: x(sum + (value / 2)), - y: y(sum + value / 2) - }); - if (value > 0) { - _results.push(sum += value + spacing); - } else { - _results.push(void 0); - } - } - return _results; - }; - return { - box: box, - setValues: setValues - }; - }; - - SimpleSankeyDisplay = (function() { - var demand_titles, supply_titles, vector_titles; - - supply_titles = ["Nuclear fission", "Solar", "Wind", "Tidal", "Wave", "Geothermal", "Hydro", "Electricity oversupply (imports)", "Environmental heat", "Bioenergy", "Coal", "Oil", "Natural gas"]; - - demand_titles = ['Industry', 'Transport', 'Heating and cooling', 'Lighting & appliances']; - - vector_titles = ["Electricity", "Gas or biogas", "Coal or biomass", "Oil or biofuel", "Hydrogen", "Heat", "Overgeneration or exports", "Losses"]; - - function SimpleSankeyDisplay() { - this.documentReady = __bind(this.documentReady, this); - } - - SimpleSankeyDisplay.prototype.documentReady = function() { - var width; - if (this.drawn != null) { - return false; - } - this.drawn = true; - this.raphael = new Raphael('simplesankey'); - width = $('#simplesankey').width(); - this.supply = new FilledBoxChart(this.raphael, 30, 10, 300, 300, 3500, 10, supply_titles); - this.demand = new FilledBoxChart(this.raphael, 635, 10, 300, 300, 3500, 10, demand_titles); - this.vectors = new VectorChart(this.raphael, 335, 10, 300, 300, 3500, 10, supply_titles); - this.raphael.path(["M", 332, 10, "L", 332, 310]).attr({ - 'stroke-width': '5' - }); - return this.raphael.path(["M", 635, 10, "L", 635, 310]).attr({ - 'stroke-width': '5' - }); - }; - - SimpleSankeyDisplay.prototype.updateResults = function(pathway) { - var new_values, title, _i, _j, _len, _len1; - new_values = {}; - for (_i = 0, _len = supply_titles.length; _i < _len; _i++) { - title = supply_titles[_i]; - new_values[title] = pathway.primary_energy_supply[title][8]; - } - this.supply.setValues(new_values); - this.vectors.setValues(new_values); - new_values = {}; - for (_j = 0, _len1 = demand_titles.length; _j < _len1; _j++) { - title = demand_titles[_j]; - new_values[title] = pathway.final_energy_demand[title][8]; - } - return this.demand.setValues(new_values); - }; - - return SimpleSankeyDisplay; - - })(); - - window.twentyfifty.SimpleSankeyDisplay = SimpleSankeyDisplay; - -}).call(this); -(function() { - var Share, loadFromExcel, shareHTML; - - shareHTML = "
\n
\n

Sharing this pathway with others

\n

\n If you want to save or share your pathway, bookmark this page, or take note of its url*:\n \n

\n

\n To share, just send someone the url, or click this share button:\n \n \"Bookmark\n \n \n \n

\n

* On modern browsers, this url is the same as the one you will see in the address bar as you use the calculator. On older browsers, such as Internet Explorer 6 and 7, it will not be.

\n
\n
\n

Sharing this pathway with the excel version of the 2050 pathways calculator

\n

\n You may want to explore your pathway in more detail, taking a look at all the assumptions behind our modelling, by downloading\n the underlying excel spreadsheet.\n

\n

\n If you do, then you can recreate the pathway you have chosen in this tool by copying the numbers from the box below and pasting them in cells E5 to E57 on the 'Control' sheet of the workbook. You can also copy a pathway from that range in the excel model, paste it in the box below and click the 'Go to this pathway' button at the bottom of the page.\n

\n \n \n
\n

\n
\n
"; - - Share = (function() { - function Share() { - this.ready = false; - } - - Share.prototype.setup = function() { - if (this.ready) { - return false; - } - this.ready = true; - return $('#results').append(shareHTML); - }; - - Share.prototype.teardown = function() { - $('#results').empty(); - return this.ready = false; - }; - - Share.prototype.updateResults = function(pathway) { - var url; - this.pathway = pathway; - if (!this.ready) { - this.setup(); - } - url = "http://" + window.location.host + (twentyfifty.url({ - action: 'primary_energy_chart' - })); - $('#share a#pathwayurl').text(url); - $('#share a#pathwayurl').attr({ - href: url - }); - return $('#excel textarea').val(twentyfifty.getChoices().join("\n")); - }; - - return Share; - - })(); - - loadFromExcel = function() { - var c, pasted_choices; - pasted_choices = $('#excel textarea').val().split(/\r\n|\r|\n/); - pasted_choices = (function() { - var _i, _len, _results; - _results = []; - for (_i = 0, _len = pasted_choices.length; _i < _len; _i++) { - c = pasted_choices[_i]; - if (c === "") { - _results.push("0"); - } else { - _results.push(c); - } - } - return _results; - })(); - twentyfifty.setChoices(pasted_choices); - twentyfifty.switchView('primary_energy_chart'); - return false; - }; - - window.twentyfifty.loadFromExcel = loadFromExcel; - - window.twentyfifty.views['share'] = new Share; - -}).call(this); -// This is a manifest file that'll be compiled into including all the files listed below. -// Add new JavaScript/Coffee code in separate files in this directory and they'll automatically -// be included in the compiled file accessible from http://example.com/assets/application.js -// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the -// the compiled file. -// - -// First the support libs - - -// we aren't using this: require jquery_ujs - - - - - - - -// Now the common methods - - - - - -// Now the individual views - - - - - - - - - - - - - - -; diff --git a/public/assets/application-7326d7e2abd376baa3b4ed2fca25d596.js.gz b/public/assets/application-7326d7e2abd376baa3b4ed2fca25d596.js.gz deleted file mode 100644 index 30ecc208534f122d5f644717650a939317f00fee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160207 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 diff --git a/public/assets/application-abfca4ed4ecb4428660e2f0d3349b779.js b/public/assets/application-abfca4ed4ecb4428660e2f0d3349b779.js deleted file mode 100644 index 08508fb2..00000000 --- a/public/assets/application-abfca4ed4ecb4428660e2f0d3349b779.js +++ /dev/null @@ -1,5716 +0,0 @@ -/*! jQuery v1.8.3 jquery.com | jquery.org/license */ - -(function(e,t){function _(e){var t=M[e]={};return v.each(e.split(y),function(e,n){t[n]=!0}),t}function H(e,n,r){if(r===t&&e.nodeType===1){var i="data-"+n.replace(P,"-$1").toLowerCase();r=e.getAttribute(i);if(typeof r=="string"){try{r=r==="true"?!0:r==="false"?!1:r==="null"?null:+r+""===r?+r:D.test(r)?v.parseJSON(r):r}catch(s){}v.data(e,n,r)}else r=t}return r}function B(e){var t;for(t in e){if(t==="data"&&v.isEmptyObject(e[t]))continue;if(t!=="toJSON")return!1}return!0}function et(){return!1}function tt(){return!0}function ut(e){return!e||!e.parentNode||e.parentNode.nodeType===11}function at(e,t){do e=e[t];while(e&&e.nodeType!==1);return e}function ft(e,t,n){t=t||0;if(v.isFunction(t))return v.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return v.grep(e,function(e,r){return e===t===n});if(typeof t=="string"){var r=v.grep(e,function(e){return e.nodeType===1});if(it.test(t))return v.filter(t,r,!n);t=v.filter(t,r)}return v.grep(e,function(e,r){return v.inArray(e,t)>=0===n})}function lt(e){var t=ct.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function At(e,t){if(t.nodeType!==1||!v.hasData(e))return;var n,r,i,s=v._data(e),o=v._data(t,s),u=s.events;if(u){delete o.handle,o.events={};for(n in u)for(r=0,i=u[n].length;r").appendTo(i.body),n=t.css("display");t.remove();if(n==="none"||n===""){Pt=i.body.appendChild(Pt||v.extend(i.createElement("iframe"),{frameBorder:0,width:0,height:0}));if(!Ht||!Pt.createElement)Ht=(Pt.contentWindow||Pt.contentDocument).document,Ht.write(""),Ht.close();t=Ht.body.appendChild(Ht.createElement(e)),n=Dt(t,"display"),i.body.removeChild(Pt)}return Wt[e]=n,n}function fn(e,t,n,r){var i;if(v.isArray(t))v.each(t,function(t,i){n||sn.test(e)?r(e,i):fn(e+"["+(typeof i=="object"?t:"")+"]",i,n,r)});else if(!n&&v.type(t)==="object")for(i in t)fn(e+"["+i+"]",t[i],n,r);else r(e,t)}function Cn(e){return function(t,n){typeof t!="string"&&(n=t,t="*");var r,i,s,o=t.toLowerCase().split(y),u=0,a=o.length;if(v.isFunction(n))for(;u)[^>]*$|#([\w\-]*)$)/,E=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,S=/^[\],:{}\s]*$/,x=/(?:^|:|,)(?:\s*\[)+/g,T=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,N=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,C=/^-ms-/,k=/-([\da-z])/gi,L=function(e,t){return(t+"").toUpperCase()},A=function(){i.addEventListener?(i.removeEventListener("DOMContentLoaded",A,!1),v.ready()):i.readyState==="complete"&&(i.detachEvent("onreadystatechange",A),v.ready())},O={};v.fn=v.prototype={constructor:v,init:function(e,n,r){var s,o,u,a;if(!e)return this;if(e.nodeType)return this.context=this[0]=e,this.length=1,this;if(typeof e=="string"){e.charAt(0)==="<"&&e.charAt(e.length-1)===">"&&e.length>=3?s=[null,e,null]:s=w.exec(e);if(s&&(s[1]||!n)){if(s[1])return n=n instanceof v?n[0]:n,a=n&&n.nodeType?n.ownerDocument||n:i,e=v.parseHTML(s[1],a,!0),E.test(s[1])&&v.isPlainObject(n)&&this.attr.call(e,n,!0),v.merge(this,e);o=i.getElementById(s[2]);if(o&&o.parentNode){if(o.id!==s[2])return r.find(e);this.length=1,this[0]=o}return this.context=i,this.selector=e,this}return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e)}return v.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),v.makeArray(e,this))},selector:"",jquery:"1.8.3",length:0,size:function(){return this.length},toArray:function(){return l.call(this)},get:function(e){return e==null?this.toArray():e<0?this[this.length+e]:this[e]},pushStack:function(e,t,n){var r=v.merge(this.constructor(),e);return r.prevObject=this,r.context=this.context,t==="find"?r.selector=this.selector+(this.selector?" ":"")+n:t&&(r.selector=this.selector+"."+t+"("+n+")"),r},each:function(e,t){return v.each(this,e,t)},ready:function(e){return v.ready.promise().done(e),this},eq:function(e){return e=+e,e===-1?this.slice(e):this.slice(e,e+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(l.apply(this,arguments),"slice",l.call(arguments).join(","))},map:function(e){return this.pushStack(v.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:[].sort,splice:[].splice},v.fn.init.prototype=v.fn,v.extend=v.fn.extend=function(){var e,n,r,i,s,o,u=arguments[0]||{},a=1,f=arguments.length,l=!1;typeof u=="boolean"&&(l=u,u=arguments[1]||{},a=2),typeof u!="object"&&!v.isFunction(u)&&(u={}),f===a&&(u=this,--a);for(;a0)return;r.resolveWith(i,[v]),v.fn.trigger&&v(i).trigger("ready").off("ready")},isFunction:function(e){return v.type(e)==="function"},isArray:Array.isArray||function(e){return v.type(e)==="array"},isWindow:function(e){return e!=null&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return e==null?String(e):O[h.call(e)]||"object"},isPlainObject:function(e){if(!e||v.type(e)!=="object"||e.nodeType||v.isWindow(e))return!1;try{if(e.constructor&&!p.call(e,"constructor")&&!p.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||p.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw new Error(e)},parseHTML:function(e,t,n){var r;return!e||typeof e!="string"?null:(typeof t=="boolean"&&(n=t,t=0),t=t||i,(r=E.exec(e))?[t.createElement(r[1])]:(r=v.buildFragment([e],t,n?null:[]),v.merge([],(r.cacheable?v.clone(r.fragment):r.fragment).childNodes)))},parseJSON:function(t){if(!t||typeof t!="string")return null;t=v.trim(t);if(e.JSON&&e.JSON.parse)return e.JSON.parse(t);if(S.test(t.replace(T,"@").replace(N,"]").replace(x,"")))return(new Function("return "+t))();v.error("Invalid JSON: "+t)},parseXML:function(n){var r,i;if(!n||typeof n!="string")return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(s){r=t}return(!r||!r.documentElement||r.getElementsByTagName("parsererror").length)&&v.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&g.test(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(C,"ms-").replace(k,L)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,n,r){var i,s=0,o=e.length,u=o===t||v.isFunction(e);if(r){if(u){for(i in e)if(n.apply(e[i],r)===!1)break}else for(;s0&&e[0]&&e[a-1]||a===0||v.isArray(e));if(f)for(;u-1)a.splice(n,1),i&&(n<=o&&o--,n<=u&&u--)}),this},has:function(e){return v.inArray(e,a)>-1},empty:function(){return a=[],this},disable:function(){return a=f=n=t,this},disabled:function(){return!a},lock:function(){return f=t,n||c.disable(),this},locked:function(){return!f},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],a&&(!r||f)&&(i?f.push(t):l(t)),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},v.extend({Deferred:function(e){var t=[["resolve","done",v.Callbacks("once memory"),"resolved"],["reject","fail",v.Callbacks("once memory"),"rejected"],["notify","progress",v.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return v.Deferred(function(n){v.each(t,function(t,r){var s=r[0],o=e[t];i[r[1]](v.isFunction(o)?function(){var e=o.apply(this,arguments);e&&v.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[s+"With"](this===i?n:this,[e])}:n[s])}),e=null}).promise()},promise:function(e){return e!=null?v.extend(e,r):r}},i={};return r.pipe=r.then,v.each(t,function(e,s){var o=s[2],u=s[3];r[s[1]]=o.add,u&&o.add(function(){n=u},t[e^1][2].disable,t[2][2].lock),i[s[0]]=o.fire,i[s[0]+"With"]=o.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=l.call(arguments),r=n.length,i=r!==1||e&&v.isFunction(e.promise)?r:0,s=i===1?e:v.Deferred(),o=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?l.call(arguments):r,n===u?s.notifyWith(t,n):--i||s.resolveWith(t,n)}},u,a,f;if(r>1){u=new Array(r),a=new Array(r),f=new Array(r);for(;t
a",n=p.getElementsByTagName("*"),r=p.getElementsByTagName("a")[0];if(!n||!r||!n.length)return{};s=i.createElement("select"),o=s.appendChild(i.createElement("option")),u=p.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={leadingWhitespace:p.firstChild.nodeType===3,tbody:!p.getElementsByTagName("tbody").length,htmlSerialize:!!p.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:r.getAttribute("href")==="/a",opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:u.value==="on",optSelected:o.selected,getSetAttribute:p.className!=="t",enctype:!!i.createElement("form").enctype,html5Clone:i.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",boxModel:i.compatMode==="CSS1Compat",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},u.checked=!0,t.noCloneChecked=u.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!o.disabled;try{delete p.test}catch(d){t.deleteExpando=!1}!p.addEventListener&&p.attachEvent&&p.fireEvent&&(p.attachEvent("onclick",h=function(){t.noCloneEvent=!1}),p.cloneNode(!0).fireEvent("onclick"),p.detachEvent("onclick",h)),u=i.createElement("input"),u.value="t",u.setAttribute("type","radio"),t.radioValue=u.value==="t",u.setAttribute("checked","checked"),u.setAttribute("name","t"),p.appendChild(u),a=i.createDocumentFragment(),a.appendChild(p.lastChild),t.checkClone=a.cloneNode(!0).cloneNode(!0).lastChild.checked,t.appendChecked=u.checked,a.removeChild(u),a.appendChild(p);if(p.attachEvent)for(l in{submit:!0,change:!0,focusin:!0})f="on"+l,c=f in p,c||(p.setAttribute(f,"return;"),c=typeof p[f]=="function"),t[l+"Bubbles"]=c;return v(function(){var n,r,s,o,u="padding:0;margin:0;border:0;display:block;overflow:hidden;",a=i.getElementsByTagName("body")[0];if(!a)return;n=i.createElement("div"),n.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",a.insertBefore(n,a.firstChild),r=i.createElement("div"),n.appendChild(r),r.innerHTML="
t
",s=r.getElementsByTagName("td"),s[0].style.cssText="padding:0;margin:0;border:0;display:none",c=s[0].offsetHeight===0,s[0].style.display="",s[1].style.display="none",t.reliableHiddenOffsets=c&&s[0].offsetHeight===0,r.innerHTML="",r.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=r.offsetWidth===4,t.doesNotIncludeMarginInBodyOffset=a.offsetTop!==1,e.getComputedStyle&&(t.pixelPosition=(e.getComputedStyle(r,null)||{}).top!=="1%",t.boxSizingReliable=(e.getComputedStyle(r,null)||{width:"4px"}).width==="4px",o=i.createElement("div"),o.style.cssText=r.style.cssText=u,o.style.marginRight=o.style.width="0",r.style.width="1px",r.appendChild(o),t.reliableMarginRight=!parseFloat((e.getComputedStyle(o,null)||{}).marginRight)),typeof r.style.zoom!="undefined"&&(r.innerHTML="",r.style.cssText=u+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=r.offsetWidth===3,r.style.display="block",r.style.overflow="visible",r.innerHTML="

",r.firstChild.style.width="5px",t.shrinkWrapBlocks=r.offsetWidth!==3,n.style.zoom=1),a.removeChild(n),n=r=s=o=null}),a.removeChild(p),n=r=s=o=u=a=p=null,t}();var D=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,P=/([A-Z])/g;v.extend({cache:{},deletedIds:[],uuid:0,expando:"jQuery"+(v.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?v.cache[e[v.expando]]:e[v.expando],!!e&&!B(e)},data:function(e,n,r,i){if(!v.acceptData(e))return;var s,o,u=v.expando,a=typeof n=="string",f=e.nodeType,l=f?v.cache:e,c=f?e[u]:e[u]&&u;if((!c||!l[c]||!i&&!l[c].data)&&a&&r===t)return;c||(f?e[u]=c=v.deletedIds.pop()||v.guid++:c=u),l[c]||(l[c]={},f||(l[c].toJSON=v.noop));if(typeof n=="object"||typeof n=="function")i?l[c]=v.extend(l[c],n):l[c].data=v.extend(l[c].data,n);return s=l[c],i||(s.data||(s.data={}),s=s.data),r!==t&&(s[v.camelCase(n)]=r),a?(o=s[n],o==null&&(o=s[v.camelCase(n)])):o=s,o},removeData:function(e,t,n){if(!v.acceptData(e))return;var r,i,s,o=e.nodeType,u=o?v.cache:e,a=o?e[v.expando]:v.expando;if(!u[a])return;if(t){r=n?u[a]:u[a].data;if(r){v.isArray(t)||(t in r?t=[t]:(t=v.camelCase(t),t in r?t=[t]:t=t.split(" ")));for(i=0,s=t.length;i1,null,!1))},removeData:function(e){return this.each(function(){v.removeData(this,e)})}}),v.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=v._data(e,t),n&&(!r||v.isArray(n)?r=v._data(e,t,v.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=v.queue(e,t),r=n.length,i=n.shift(),s=v._queueHooks(e,t),o=function(){v.dequeue(e,t)};i==="inprogress"&&(i=n.shift(),r--),i&&(t==="fx"&&n.unshift("inprogress"),delete s.stop,i.call(e,o,s)),!r&&s&&s.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return v._data(e,n)||v._data(e,n,{empty:v.Callbacks("once memory").add(function(){v.removeData(e,t+"queue",!0),v.removeData(e,n,!0)})})}}),v.fn.extend({queue:function(e,n){var r=2;return typeof e!="string"&&(n=e,e="fx",r--),arguments.length1)},removeAttr:function(e){return this.each(function(){v.removeAttr(this,e)})},prop:function(e,t){return v.access(this,v.prop,e,t,arguments.length>1)},removeProp:function(e){return e=v.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,s,o,u;if(v.isFunction(e))return this.each(function(t){v(this).addClass(e.call(this,t,this.className))});if(e&&typeof e=="string"){t=e.split(y);for(n=0,r=this.length;n=0)r=r.replace(" "+n[s]+" "," ");i.className=e?v.trim(r):""}}}return this},toggleClass:function(e,t){var n=typeof e,r=typeof t=="boolean";return v.isFunction(e)?this.each(function(n){v(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if(n==="string"){var i,s=0,o=v(this),u=t,a=e.split(y);while(i=a[s++])u=r?u:!o.hasClass(i),o[u?"addClass":"removeClass"](i)}else if(n==="undefined"||n==="boolean")this.className&&v._data(this,"__className__",this.className),this.className=this.className||e===!1?"":v._data(this,"__className__")||""})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;n=0)return!0;return!1},val:function(e){var n,r,i,s=this[0];if(!arguments.length){if(s)return n=v.valHooks[s.type]||v.valHooks[s.nodeName.toLowerCase()],n&&"get"in n&&(r=n.get(s,"value"))!==t?r:(r=s.value,typeof r=="string"?r.replace(R,""):r==null?"":r);return}return i=v.isFunction(e),this.each(function(r){var s,o=v(this);if(this.nodeType!==1)return;i?s=e.call(this,r,o.val()):s=e,s==null?s="":typeof s=="number"?s+="":v.isArray(s)&&(s=v.map(s,function(e){return e==null?"":e+""})),n=v.valHooks[this.type]||v.valHooks[this.nodeName.toLowerCase()];if(!n||!("set"in n)||n.set(this,s,"value")===t)this.value=s})}}),v.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,s=e.type==="select-one"||i<0,o=s?null:[],u=s?i+1:r.length,a=i<0?u:s?i:0;for(;a=0}),n.length||(e.selectedIndex=-1),n}}},attrFn:{},attr:function(e,n,r,i){var s,o,u,a=e.nodeType;if(!e||a===3||a===8||a===2)return;if(i&&v.isFunction(v.fn[n]))return v(e)[n](r);if(typeof e.getAttribute=="undefined")return v.prop(e,n,r);u=a!==1||!v.isXMLDoc(e),u&&(n=n.toLowerCase(),o=v.attrHooks[n]||(X.test(n)?F:j));if(r!==t){if(r===null){v.removeAttr(e,n);return}return o&&"set"in o&&u&&(s=o.set(e,r,n))!==t?s:(e.setAttribute(n,r+""),r)}return o&&"get"in o&&u&&(s=o.get(e,n))!==null?s:(s=e.getAttribute(n),s===null?t:s)},removeAttr:function(e,t){var n,r,i,s,o=0;if(t&&e.nodeType===1){r=t.split(y);for(;o=0}})});var $=/^(?:textarea|input|select)$/i,J=/^([^\.]*|)(?:\.(.+)|)$/,K=/(?:^|\s)hover(\.\S+|)\b/,Q=/^key/,G=/^(?:mouse|contextmenu)|click/,Y=/^(?:focusinfocus|focusoutblur)$/,Z=function(e){return v.event.special.hover?e:e.replace(K,"mouseenter$1 mouseleave$1")};v.event={add:function(e,n,r,i,s){var o,u,a,f,l,c,h,p,d,m,g;if(e.nodeType===3||e.nodeType===8||!n||!r||!(o=v._data(e)))return;r.handler&&(d=r,r=d.handler,s=d.selector),r.guid||(r.guid=v.guid++),a=o.events,a||(o.events=a={}),u=o.handle,u||(o.handle=u=function(e){return typeof v=="undefined"||!!e&&v.event.triggered===e.type?t:v.event.dispatch.apply(u.elem,arguments)},u.elem=e),n=v.trim(Z(n)).split(" ");for(f=0;f=0&&(y=y.slice(0,-1),a=!0),y.indexOf(".")>=0&&(b=y.split("."),y=b.shift(),b.sort());if((!s||v.event.customEvent[y])&&!v.event.global[y])return;n=typeof n=="object"?n[v.expando]?n:new v.Event(y,n):new v.Event(y),n.type=y,n.isTrigger=!0,n.exclusive=a,n.namespace=b.join("."),n.namespace_re=n.namespace?new RegExp("(^|\\.)"+b.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,h=y.indexOf(":")<0?"on"+y:"";if(!s){u=v.cache;for(f in u)u[f].events&&u[f].events[y]&&v.event.trigger(n,r,u[f].handle.elem,!0);return}n.result=t,n.target||(n.target=s),r=r!=null?v.makeArray(r):[],r.unshift(n),p=v.event.special[y]||{};if(p.trigger&&p.trigger.apply(s,r)===!1)return;m=[[s,p.bindType||y]];if(!o&&!p.noBubble&&!v.isWindow(s)){g=p.delegateType||y,l=Y.test(g+y)?s:s.parentNode;for(c=s;l;l=l.parentNode)m.push([l,g]),c=l;c===(s.ownerDocument||i)&&m.push([c.defaultView||c.parentWindow||e,g])}for(f=0;f=0:v.find(h,this,null,[s]).length),u[h]&&f.push(c);f.length&&w.push({elem:s,matches:f})}d.length>m&&w.push({elem:this,matches:d.slice(m)});for(r=0;r0?this.on(t,null,e,n):this.trigger(t)},Q.test(t)&&(v.event.fixHooks[t]=v.event.keyHooks),G.test(t)&&(v.event.fixHooks[t]=v.event.mouseHooks)}),function(e,t){function nt(e,t,n,r){n=n||[],t=t||g;var i,s,a,f,l=t.nodeType;if(!e||typeof e!="string")return n;if(l!==1&&l!==9)return[];a=o(t);if(!a&&!r)if(i=R.exec(e))if(f=i[1]){if(l===9){s=t.getElementById(f);if(!s||!s.parentNode)return n;if(s.id===f)return n.push(s),n}else if(t.ownerDocument&&(s=t.ownerDocument.getElementById(f))&&u(t,s)&&s.id===f)return n.push(s),n}else{if(i[2])return S.apply(n,x.call(t.getElementsByTagName(e),0)),n;if((f=i[3])&&Z&&t.getElementsByClassName)return S.apply(n,x.call(t.getElementsByClassName(f),0)),n}return vt(e.replace(j,"$1"),t,n,r,a)}function rt(e){return function(t){var n=t.nodeName.toLowerCase();return n==="input"&&t.type===e}}function it(e){return function(t){var n=t.nodeName.toLowerCase();return(n==="input"||n==="button")&&t.type===e}}function st(e){return N(function(t){return t=+t,N(function(n,r){var i,s=e([],n.length,t),o=s.length;while(o--)n[i=s[o]]&&(n[i]=!(r[i]=n[i]))})})}function ot(e,t,n){if(e===t)return n;var r=e.nextSibling;while(r){if(r===t)return-1;r=r.nextSibling}return 1}function ut(e,t){var n,r,s,o,u,a,f,l=L[d][e+" "];if(l)return t?0:l.slice(0);u=e,a=[],f=i.preFilter;while(u){if(!n||(r=F.exec(u)))r&&(u=u.slice(r[0].length)||u),a.push(s=[]);n=!1;if(r=I.exec(u))s.push(n=new m(r.shift())),u=u.slice(n.length),n.type=r[0].replace(j," ");for(o in i.filter)(r=J[o].exec(u))&&(!f[o]||(r=f[o](r)))&&(s.push(n=new m(r.shift())),u=u.slice(n.length),n.type=o,n.matches=r);if(!n)break}return t?u.length:u?nt.error(e):L(e,a).slice(0)}function at(e,t,r){var i=t.dir,s=r&&t.dir==="parentNode",o=w++;return t.first?function(t,n,r){while(t=t[i])if(s||t.nodeType===1)return e(t,n,r)}:function(t,r,u){if(!u){var a,f=b+" "+o+" ",l=f+n;while(t=t[i])if(s||t.nodeType===1){if((a=t[d])===l)return t.sizset;if(typeof a=="string"&&a.indexOf(f)===0){if(t.sizset)return t}else{t[d]=l;if(e(t,r,u))return t.sizset=!0,t;t.sizset=!1}}}else while(t=t[i])if(s||t.nodeType===1)if(e(t,r,u))return t}}function ft(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function lt(e,t,n,r,i){var s,o=[],u=0,a=e.length,f=t!=null;for(;u-1&&(s[f]=!(o[f]=c))}}else g=lt(g===o?g.splice(d,g.length):g),i?i(null,o,g,a):S.apply(o,g)})}function ht(e){var t,n,r,s=e.length,o=i.relative[e[0].type],u=o||i.relative[" "],a=o?1:0,f=at(function(e){return e===t},u,!0),l=at(function(e){return T.call(t,e)>-1},u,!0),h=[function(e,n,r){return!o&&(r||n!==c)||((t=n).nodeType?f(e,n,r):l(e,n,r))}];for(;a1&&ft(h),a>1&&e.slice(0,a-1).join("").replace(j,"$1"),n,a0,s=e.length>0,o=function(u,a,f,l,h){var p,d,v,m=[],y=0,w="0",x=u&&[],T=h!=null,N=c,C=u||s&&i.find.TAG("*",h&&a.parentNode||a),k=b+=N==null?1:Math.E;T&&(c=a!==g&&a,n=o.el);for(;(p=C[w])!=null;w++){if(s&&p){for(d=0;v=e[d];d++)if(v(p,a,f)){l.push(p);break}T&&(b=k,n=++o.el)}r&&((p=!v&&p)&&y--,u&&x.push(p))}y+=w;if(r&&w!==y){for(d=0;v=t[d];d++)v(x,m,a,f);if(u){if(y>0)while(w--)!x[w]&&!m[w]&&(m[w]=E.call(l));m=lt(m)}S.apply(l,m),T&&!u&&m.length>0&&y+t.length>1&&nt.uniqueSort(l)}return T&&(b=k,c=N),x};return o.el=0,r?N(o):o}function dt(e,t,n){var r=0,i=t.length;for(;r2&&(f=u[0]).type==="ID"&&t.nodeType===9&&!s&&i.relative[u[1].type]){t=i.find.ID(f.matches[0].replace($,""),t,s)[0];if(!t)return n;e=e.slice(u.shift().length)}for(o=J.POS.test(e)?-1:u.length-1;o>=0;o--){f=u[o];if(i.relative[l=f.type])break;if(c=i.find[l])if(r=c(f.matches[0].replace($,""),z.test(u[0].type)&&t.parentNode||t,s)){u.splice(o,1),e=r.length&&u.join("");if(!e)return S.apply(n,x.call(r,0)),n;break}}}return a(e,h)(r,t,s,n,z.test(e)),n}function mt(){}var n,r,i,s,o,u,a,f,l,c,h=!0,p="undefined",d=("sizcache"+Math.random()).replace(".",""),m=String,g=e.document,y=g.documentElement,b=0,w=0,E=[].pop,S=[].push,x=[].slice,T=[].indexOf||function(e){var t=0,n=this.length;for(;ti.cacheLength&&delete e[t.shift()],e[n+" "]=r},e)},k=C(),L=C(),A=C(),O="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",_=M.replace("w","w#"),D="([*^$|!~]?=)",P="\\["+O+"*("+M+")"+O+"*(?:"+D+O+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+_+")|)|)"+O+"*\\]",H=":("+M+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:"+P+")|[^:]|\\\\.)*|.*))\\)|)",B=":(even|odd|eq|gt|lt|nth|first|last)(?:\\("+O+"*((?:-\\d)?\\d*)"+O+"*\\)|)(?=[^-]|$)",j=new RegExp("^"+O+"+|((?:^|[^\\\\])(?:\\\\.)*)"+O+"+$","g"),F=new RegExp("^"+O+"*,"+O+"*"),I=new RegExp("^"+O+"*([\\x20\\t\\r\\n\\f>+~])"+O+"*"),q=new RegExp(H),R=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,U=/^:not/,z=/[\x20\t\r\n\f]*[+~]/,W=/:not\($/,X=/h\d/i,V=/input|select|textarea|button/i,$=/\\(?!\\)/g,J={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),NAME:new RegExp("^\\[name=['\"]?("+M+")['\"]?\\]"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+H),POS:new RegExp(B,"i"),CHILD:new RegExp("^:(only|nth|first|last)-child(?:\\("+O+"*(even|odd|(([+-]|)(\\d*)n|)"+O+"*(?:([+-]|)"+O+"*(\\d+)|))"+O+"*\\)|)","i"),needsContext:new RegExp("^"+O+"*[>+~]|"+B,"i")},K=function(e){var t=g.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}},Q=K(function(e){return e.appendChild(g.createComment("")),!e.getElementsByTagName("*").length}),G=K(function(e){return e.innerHTML="",e.firstChild&&typeof e.firstChild.getAttribute!==p&&e.firstChild.getAttribute("href")==="#"}),Y=K(function(e){e.innerHTML="";var t=typeof e.lastChild.getAttribute("multiple");return t!=="boolean"&&t!=="string"}),Z=K(function(e){return e.innerHTML="",!e.getElementsByClassName||!e.getElementsByClassName("e").length?!1:(e.lastChild.className="e",e.getElementsByClassName("e").length===2)}),et=K(function(e){e.id=d+0,e.innerHTML="
",y.insertBefore(e,y.firstChild);var t=g.getElementsByName&&g.getElementsByName(d).length===2+g.getElementsByName(d+0).length;return r=!g.getElementById(d),y.removeChild(e),t});try{x.call(y.childNodes,0)[0].nodeType}catch(tt){x=function(e){var t,n=[];for(;t=this[e];e++)n.push(t);return n}}nt.matches=function(e,t){return nt(e,null,null,t)},nt.matchesSelector=function(e,t){return nt(t,null,null,[e]).length>0},s=nt.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(i===1||i===9||i===11){if(typeof e.textContent=="string")return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=s(e)}else if(i===3||i===4)return e.nodeValue}else for(;t=e[r];r++)n+=s(t);return n},o=nt.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?t.nodeName!=="HTML":!1},u=nt.contains=y.contains?function(e,t){var n=e.nodeType===9?e.documentElement:e,r=t&&t.parentNode;return e===r||!!(r&&r.nodeType===1&&n.contains&&n.contains(r))}:y.compareDocumentPosition?function(e,t){return t&&!!(e.compareDocumentPosition(t)&16)}:function(e,t){while(t=t.parentNode)if(t===e)return!0;return!1},nt.attr=function(e,t){var n,r=o(e);return r||(t=t.toLowerCase()),(n=i.attrHandle[t])?n(e):r||Y?e.getAttribute(t):(n=e.getAttributeNode(t),n?typeof e[t]=="boolean"?e[t]?t:null:n.specified?n.value:null:null)},i=nt.selectors={cacheLength:50,createPseudo:N,match:J,attrHandle:G?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},find:{ID:r?function(e,t,n){if(typeof t.getElementById!==p&&!n){var r=t.getElementById(e);return r&&r.parentNode?[r]:[]}}:function(e,n,r){if(typeof n.getElementById!==p&&!r){var i=n.getElementById(e);return i?i.id===e||typeof i.getAttributeNode!==p&&i.getAttributeNode("id").value===e?[i]:t:[]}},TAG:Q?function(e,t){if(typeof t.getElementsByTagName!==p)return t.getElementsByTagName(e)}:function(e,t){var n=t.getElementsByTagName(e);if(e==="*"){var r,i=[],s=0;for(;r=n[s];s++)r.nodeType===1&&i.push(r);return i}return n},NAME:et&&function(e,t){if(typeof t.getElementsByName!==p)return t.getElementsByName(name)},CLASS:Z&&function(e,t,n){if(typeof t.getElementsByClassName!==p&&!n)return t.getElementsByClassName(e)}},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace($,""),e[3]=(e[4]||e[5]||"").replace($,""),e[2]==="~="&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),e[1]==="nth"?(e[2]||nt.error(e[0]),e[3]=+(e[3]?e[4]+(e[5]||1):2*(e[2]==="even"||e[2]==="odd")),e[4]=+(e[6]+e[7]||e[2]==="odd")):e[2]&&nt.error(e[0]),e},PSEUDO:function(e){var t,n;if(J.CHILD.test(e[0]))return null;if(e[3])e[2]=e[3];else if(t=e[4])q.test(t)&&(n=ut(t,!0))&&(n=t.indexOf(")",t.length-n)-t.length)&&(t=t.slice(0,n),e[0]=e[0].slice(0,n)),e[2]=t;return e.slice(0,3)}},filter:{ID:r?function(e){return e=e.replace($,""),function(t){return t.getAttribute("id")===e}}:function(e){return e=e.replace($,""),function(t){var n=typeof t.getAttributeNode!==p&&t.getAttributeNode("id");return n&&n.value===e}},TAG:function(e){return e==="*"?function(){return!0}:(e=e.replace($,"").toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=k[d][e+" "];return t||(t=new RegExp("(^|"+O+")"+e+"("+O+"|$)"))&&k(e,function(e){return t.test(e.className||typeof e.getAttribute!==p&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r,i){var s=nt.attr(r,e);return s==null?t==="!=":t?(s+="",t==="="?s===n:t==="!="?s!==n:t==="^="?n&&s.indexOf(n)===0:t==="*="?n&&s.indexOf(n)>-1:t==="$="?n&&s.substr(s.length-n.length)===n:t==="~="?(" "+s+" ").indexOf(n)>-1:t==="|="?s===n||s.substr(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r){return e==="nth"?function(e){var t,i,s=e.parentNode;if(n===1&&r===0)return!0;if(s){i=0;for(t=s.firstChild;t;t=t.nextSibling)if(t.nodeType===1){i++;if(e===t)break}}return i-=r,i===n||i%n===0&&i/n>=0}:function(t){var n=t;switch(e){case"only":case"first":while(n=n.previousSibling)if(n.nodeType===1)return!1;if(e==="first")return!0;n=t;case"last":while(n=n.nextSibling)if(n.nodeType===1)return!1;return!0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||nt.error("unsupported pseudo: "+e);return r[d]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?N(function(e,n){var i,s=r(e,t),o=s.length;while(o--)i=T.call(e,s[o]),e[i]=!(n[i]=s[o])}):function(e){return r(e,0,n)}):r}},pseudos:{not:N(function(e){var t=[],n=[],r=a(e.replace(j,"$1"));return r[d]?N(function(e,t,n,i){var s,o=r(e,null,i,[]),u=e.length;while(u--)if(s=o[u])e[u]=!(t[u]=s)}):function(e,i,s){return t[0]=e,r(t,null,s,n),!n.pop()}}),has:N(function(e){return function(t){return nt(e,t).length>0}}),contains:N(function(e){return function(t){return(t.textContent||t.innerText||s(t)).indexOf(e)>-1}}),enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&!!e.checked||t==="option"&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},parent:function(e){return!i.pseudos.empty(e)},empty:function(e){var t;e=e.firstChild;while(e){if(e.nodeName>"@"||(t=e.nodeType)===3||t===4)return!1;e=e.nextSibling}return!0},header:function(e){return X.test(e.nodeName)},text:function(e){var t,n;return e.nodeName.toLowerCase()==="input"&&(t=e.type)==="text"&&((n=e.getAttribute("type"))==null||n.toLowerCase()===t)},radio:rt("radio"),checkbox:rt("checkbox"),file:rt("file"),password:rt("password"),image:rt("image"),submit:it("submit"),reset:it("reset"),button:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&e.type==="button"||t==="button"},input:function(e){return V.test(e.nodeName)},focus:function(e){var t=e.ownerDocument;return e===t.activeElement&&(!t.hasFocus||t.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},active:function(e){return e===e.ownerDocument.activeElement},first:st(function(){return[0]}),last:st(function(e,t){return[t-1]}),eq:st(function(e,t,n){return[n<0?n+t:n]}),even:st(function(e,t){for(var n=0;n=0;)e.push(r);return e}),gt:st(function(e,t,n){for(var r=n<0?n+t:n;++r",e.querySelectorAll("[selected]").length||i.push("\\["+O+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||i.push(":checked")}),K(function(e){e.innerHTML="

",e.querySelectorAll("[test^='']").length&&i.push("[*^$]="+O+"*(?:\"\"|'')"),e.innerHTML="",e.querySelectorAll(":enabled").length||i.push(":enabled",":disabled")}),i=new RegExp(i.join("|")),vt=function(e,r,s,o,u){if(!o&&!u&&!i.test(e)){var a,f,l=!0,c=d,h=r,p=r.nodeType===9&&e;if(r.nodeType===1&&r.nodeName.toLowerCase()!=="object"){a=ut(e),(l=r.getAttribute("id"))?c=l.replace(n,"\\$&"):r.setAttribute("id",c),c="[id='"+c+"'] ",f=a.length;while(f--)a[f]=c+a[f].join("");h=z.test(e)&&r.parentNode||r,p=a.join(",")}if(p)try{return S.apply(s,x.call(h.querySelectorAll(p),0)),s}catch(v){}finally{l||r.removeAttribute("id")}}return t(e,r,s,o,u)},u&&(K(function(t){e=u.call(t,"div");try{u.call(t,"[test!='']:sizzle"),s.push("!=",H)}catch(n){}}),s=new RegExp(s.join("|")),nt.matchesSelector=function(t,n){n=n.replace(r,"='$1']");if(!o(t)&&!s.test(n)&&!i.test(n))try{var a=u.call(t,n);if(a||e||t.document&&t.document.nodeType!==11)return a}catch(f){}return nt(n,null,null,[t]).length>0})}(),i.pseudos.nth=i.pseudos.eq,i.filters=mt.prototype=i.pseudos,i.setFilters=new mt,nt.attr=v.attr,v.find=nt,v.expr=nt.selectors,v.expr[":"]=v.expr.pseudos,v.unique=nt.uniqueSort,v.text=nt.getText,v.isXMLDoc=nt.isXML,v.contains=nt.contains}(e);var nt=/Until$/,rt=/^(?:parents|prev(?:Until|All))/,it=/^.[^:#\[\.,]*$/,st=v.expr.match.needsContext,ot={children:!0,contents:!0,next:!0,prev:!0};v.fn.extend({find:function(e){var t,n,r,i,s,o,u=this;if(typeof e!="string")return v(e).filter(function(){for(t=0,n=u.length;t0)for(i=r;i=0:v.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,s=[],o=st.test(e)||typeof e!="string"?v(e,t||this.context):0;for(;r-1:v.find.matchesSelector(n,e)){s.push(n);break}n=n.parentNode}}return s=s.length>1?v.unique(s):s,this.pushStack(s,"closest",e)},index:function(e){return e?typeof e=="string"?v.inArray(this[0],v(e)):v.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(e,t){var n=typeof e=="string"?v(e,t):v.makeArray(e&&e.nodeType?[e]:e),r=v.merge(this.get(),n);return this.pushStack(ut(n[0])||ut(r[0])?r:v.unique(r))},addBack:function(e){return this.add(e==null?this.prevObject:this.prevObject.filter(e))}}),v.fn.andSelf=v.fn.addBack,v.each({parent:function(e){var t=e.parentNode;return t&&t.nodeType!==11?t:null},parents:function(e){return v.dir(e,"parentNode")},parentsUntil:function(e,t,n){return v.dir(e,"parentNode",n)},next:function(e){return at(e,"nextSibling")},prev:function(e){return at(e,"previousSibling")},nextAll:function(e){return v.dir(e,"nextSibling")},prevAll:function(e){return v.dir(e,"previousSibling")},nextUntil:function(e,t,n){return v.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return v.dir(e,"previousSibling",n)},siblings:function(e){return v.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return v.sibling(e.firstChild)},contents:function(e){return v.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:v.merge([],e.childNodes)}},function(e,t){v.fn[e]=function(n,r){var i=v.map(this,t,n);return nt.test(e)||(r=n),r&&typeof r=="string"&&(i=v.filter(r,i)),i=this.length>1&&!ot[e]?v.unique(i):i,this.length>1&&rt.test(e)&&(i=i.reverse()),this.pushStack(i,e,l.call(arguments).join(","))}}),v.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),t.length===1?v.find.matchesSelector(t[0],e)?[t[0]]:[]:v.find.matches(e,t)},dir:function(e,n,r){var i=[],s=e[n];while(s&&s.nodeType!==9&&(r===t||s.nodeType!==1||!v(s).is(r)))s.nodeType===1&&i.push(s),s=s[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)e.nodeType===1&&e!==t&&n.push(e);return n}});var ct="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ht=/ jQuery\d+="(?:null|\d+)"/g,pt=/^\s+/,dt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,vt=/<([\w:]+)/,mt=/]","i"),Et=/^(?:checkbox|radio)$/,St=/checked\s*(?:[^=]|=\s*.checked.)/i,xt=/\/(java|ecma)script/i,Tt=/^\s*\s*$/g,Nt={option:[1,""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},Ct=lt(i),kt=Ct.appendChild(i.createElement("div"));Nt.optgroup=Nt.option,Nt.tbody=Nt.tfoot=Nt.colgroup=Nt.caption=Nt.thead,Nt.th=Nt.td,v.support.htmlSerialize||(Nt._default=[1,"X
","
"]),v.fn.extend({text:function(e){return v.access(this,function(e){return e===t?v.text(this):this.empty().append((this[0]&&this[0].ownerDocument||i).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(v.isFunction(e))return this.each(function(t){v(this).wrapAll(e.call(this,t))});if(this[0]){var t=v(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&e.firstChild.nodeType===1)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return v.isFunction(e)?this.each(function(t){v(this).wrapInner(e.call(this,t))}):this.each(function(){var t=v(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=v.isFunction(e);return this.each(function(n){v(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){v.nodeName(this,"body")||v(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(this.nodeType===1||this.nodeType===11)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(this.nodeType===1||this.nodeType===11)&&this.insertBefore(e,this.firstChild)})},before:function(){if(!ut(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this)});if(arguments.length){var e=v.clean(arguments);return this.pushStack(v.merge(e,this),"before",this.selector)}},after:function(){if(!ut(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this.nextSibling)});if(arguments.length){var e=v.clean(arguments);return this.pushStack(v.merge(this,e),"after",this.selector)}},remove:function(e,t){var n,r=0;for(;(n=this[r])!=null;r++)if(!e||v.filter(e,[n]).length)!t&&n.nodeType===1&&(v.cleanData(n.getElementsByTagName("*")),v.cleanData([n])),n.parentNode&&n.parentNode.removeChild(n);return this},empty:function(){var e,t=0;for(;(e=this[t])!=null;t++){e.nodeType===1&&v.cleanData(e.getElementsByTagName("*"));while(e.firstChild)e.removeChild(e.firstChild)}return this},clone:function(e,t){return e=e==null?!1:e,t=t==null?e:t,this.map(function(){return v.clone(this,e,t)})},html:function(e){return v.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return n.nodeType===1?n.innerHTML.replace(ht,""):t;if(typeof e=="string"&&!yt.test(e)&&(v.support.htmlSerialize||!wt.test(e))&&(v.support.leadingWhitespace||!pt.test(e))&&!Nt[(vt.exec(e)||["",""])[1].toLowerCase()]){e=e.replace(dt,"<$1>");try{for(;r1&&typeof f=="string"&&St.test(f))return this.each(function(){v(this).domManip(e,n,r)});if(v.isFunction(f))return this.each(function(i){var s=v(this);e[0]=f.call(this,i,n?s.html():t),s.domManip(e,n,r)});if(this[0]){i=v.buildFragment(e,this,l),o=i.fragment,s=o.firstChild,o.childNodes.length===1&&(o=s);if(s){n=n&&v.nodeName(s,"tr");for(u=i.cacheable||c-1;a0?this.clone(!0):this).get(),v(o[i])[t](r),s=s.concat(r);return this.pushStack(s,e,o.selector)}}),v.extend({clone:function(e,t,n){var r,i,s,o;v.support.html5Clone||v.isXMLDoc(e)||!wt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(kt.innerHTML=e.outerHTML,kt.removeChild(o=kt.firstChild));if((!v.support.noCloneEvent||!v.support.noCloneChecked)&&(e.nodeType===1||e.nodeType===11)&&!v.isXMLDoc(e)){Ot(e,o),r=Mt(e),i=Mt(o);for(s=0;r[s];++s)i[s]&&Ot(r[s],i[s])}if(t){At(e,o);if(n){r=Mt(e),i=Mt(o);for(s=0;r[s];++s)At(r[s],i[s])}}return r=i=null,o},clean:function(e,t,n,r){var s,o,u,a,f,l,c,h,p,d,m,g,y=t===i&&Ct,b=[];if(!t||typeof t.createDocumentFragment=="undefined")t=i;for(s=0;(u=e[s])!=null;s++){typeof u=="number"&&(u+="");if(!u)continue;if(typeof u=="string")if(!gt.test(u))u=t.createTextNode(u);else{y=y||lt(t),c=t.createElement("div"),y.appendChild(c),u=u.replace(dt,"<$1>"),a=(vt.exec(u)||["",""])[1].toLowerCase(),f=Nt[a]||Nt._default,l=f[0],c.innerHTML=f[1]+u+f[2];while(l--)c=c.lastChild;if(!v.support.tbody){h=mt.test(u),p=a==="table"&&!h?c.firstChild&&c.firstChild.childNodes:f[1]===""&&!h?c.childNodes:[];for(o=p.length-1;o>=0;--o)v.nodeName(p[o],"tbody")&&!p[o].childNodes.length&&p[o].parentNode.removeChild(p[o])}!v.support.leadingWhitespace&&pt.test(u)&&c.insertBefore(t.createTextNode(pt.exec(u)[0]),c.firstChild),u=c.childNodes,c.parentNode.removeChild(c)}u.nodeType?b.push(u):v.merge(b,u)}c&&(u=c=y=null);if(!v.support.appendChecked)for(s=0;(u=b[s])!=null;s++)v.nodeName(u,"input")?_t(u):typeof u.getElementsByTagName!="undefined"&&v.grep(u.getElementsByTagName("input"),_t);if(n){m=function(e){if(!e.type||xt.test(e.type))return r?r.push(e.parentNode?e.parentNode.removeChild(e):e):n.appendChild(e)};for(s=0;(u=b[s])!=null;s++)if(!v.nodeName(u,"script")||!m(u))n.appendChild(u),typeof u.getElementsByTagName!="undefined"&&(g=v.grep(v.merge([],u.getElementsByTagName("script")),m),b.splice.apply(b,[s+1,0].concat(g)),s+=g.length)}return b},cleanData:function(e,t){var n,r,i,s,o=0,u=v.expando,a=v.cache,f=v.support.deleteExpando,l=v.event.special;for(;(i=e[o])!=null;o++)if(t||v.acceptData(i)){r=i[u],n=r&&a[r];if(n){if(n.events)for(s in n.events)l[s]?v.event.remove(i,s):v.removeEvent(i,s,n.handle);a[r]&&(delete a[r],f?delete i[u]:i.removeAttribute?i.removeAttribute(u):i[u]=null,v.deletedIds.push(r))}}}}),function(){var e,t;v.uaMatch=function(e){e=e.toLowerCase();var t=/(chrome)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||e.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[];return{browser:t[1]||"",version:t[2]||"0"}},e=v.uaMatch(o.userAgent),t={},e.browser&&(t[e.browser]=!0,t.version=e.version),t.chrome?t.webkit=!0:t.webkit&&(t.safari=!0),v.browser=t,v.sub=function(){function e(t,n){return new e.fn.init(t,n)}v.extend(!0,e,this),e.superclass=this,e.fn=e.prototype=this(),e.fn.constructor=e,e.sub=this.sub,e.fn.init=function(r,i){return i&&i instanceof v&&!(i instanceof e)&&(i=e(i)),v.fn.init.call(this,r,i,t)},e.fn.init.prototype=e.fn;var t=e(i);return e}}();var Dt,Pt,Ht,Bt=/alpha\([^)]*\)/i,jt=/opacity=([^)]*)/,Ft=/^(top|right|bottom|left)$/,It=/^(none|table(?!-c[ea]).+)/,qt=/^margin/,Rt=new RegExp("^("+m+")(.*)$","i"),Ut=new RegExp("^("+m+")(?!px)[a-z%]+$","i"),zt=new RegExp("^([-+])=("+m+")","i"),Wt={BODY:"block"},Xt={position:"absolute",visibility:"hidden",display:"block"},Vt={letterSpacing:0,fontWeight:400},$t=["Top","Right","Bottom","Left"],Jt=["Webkit","O","Moz","ms"],Kt=v.fn.toggle;v.fn.extend({css:function(e,n){return v.access(this,function(e,n,r){return r!==t?v.style(e,n,r):v.css(e,n)},e,n,arguments.length>1)},show:function(){return Yt(this,!0)},hide:function(){return Yt(this)},toggle:function(e,t){var n=typeof e=="boolean";return v.isFunction(e)&&v.isFunction(t)?Kt.apply(this,arguments):this.each(function(){(n?e:Gt(this))?v(this).show():v(this).hide()})}}),v.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Dt(e,"opacity");return n===""?"1":n}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":v.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(!e||e.nodeType===3||e.nodeType===8||!e.style)return;var s,o,u,a=v.camelCase(n),f=e.style;n=v.cssProps[a]||(v.cssProps[a]=Qt(f,a)),u=v.cssHooks[n]||v.cssHooks[a];if(r===t)return u&&"get"in u&&(s=u.get(e,!1,i))!==t?s:f[n];o=typeof r,o==="string"&&(s=zt.exec(r))&&(r=(s[1]+1)*s[2]+parseFloat(v.css(e,n)),o="number");if(r==null||o==="number"&&isNaN(r))return;o==="number"&&!v.cssNumber[a]&&(r+="px");if(!u||!("set"in u)||(r=u.set(e,r,i))!==t)try{f[n]=r}catch(l){}},css:function(e,n,r,i){var s,o,u,a=v.camelCase(n);return n=v.cssProps[a]||(v.cssProps[a]=Qt(e.style,a)),u=v.cssHooks[n]||v.cssHooks[a],u&&"get"in u&&(s=u.get(e,!0,i)),s===t&&(s=Dt(e,n)),s==="normal"&&n in Vt&&(s=Vt[n]),r||i!==t?(o=parseFloat(s),r||v.isNumeric(o)?o||0:s):s},swap:function(e,t,n){var r,i,s={};for(i in t)s[i]=e.style[i],e.style[i]=t[i];r=n.call(e);for(i in t)e.style[i]=s[i];return r}}),e.getComputedStyle?Dt=function(t,n){var r,i,s,o,u=e.getComputedStyle(t,null),a=t.style;return u&&(r=u.getPropertyValue(n)||u[n],r===""&&!v.contains(t.ownerDocument,t)&&(r=v.style(t,n)),Ut.test(r)&&qt.test(n)&&(i=a.width,s=a.minWidth,o=a.maxWidth,a.minWidth=a.maxWidth=a.width=r,r=u.width,a.width=i,a.minWidth=s,a.maxWidth=o)),r}:i.documentElement.currentStyle&&(Dt=function(e,t){var n,r,i=e.currentStyle&&e.currentStyle[t],s=e.style;return i==null&&s&&s[t]&&(i=s[t]),Ut.test(i)&&!Ft.test(t)&&(n=s.left,r=e.runtimeStyle&&e.runtimeStyle.left,r&&(e.runtimeStyle.left=e.currentStyle.left),s.left=t==="fontSize"?"1em":i,i=s.pixelLeft+"px",s.left=n,r&&(e.runtimeStyle.left=r)),i===""?"auto":i}),v.each(["height","width"],function(e,t){v.cssHooks[t]={get:function(e,n,r){if(n)return e.offsetWidth===0&&It.test(Dt(e,"display"))?v.swap(e,Xt,function(){return tn(e,t,r)}):tn(e,t,r)},set:function(e,n,r){return Zt(e,n,r?en(e,t,r,v.support.boxSizing&&v.css(e,"boxSizing")==="border-box"):0)}}}),v.support.opacity||(v.cssHooks.opacity={get:function(e,t){return jt.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=v.isNumeric(t)?"alpha(opacity="+t*100+")":"",s=r&&r.filter||n.filter||"";n.zoom=1;if(t>=1&&v.trim(s.replace(Bt,""))===""&&n.removeAttribute){n.removeAttribute("filter");if(r&&!r.filter)return}n.filter=Bt.test(s)?s.replace(Bt,i):s+" "+i}}),v(function(){v.support.reliableMarginRight||(v.cssHooks.marginRight={get:function(e,t){return v.swap(e,{display:"inline-block"},function(){if(t)return Dt(e,"marginRight")})}}),!v.support.pixelPosition&&v.fn.position&&v.each(["top","left"],function(e,t){v.cssHooks[t]={get:function(e,n){if(n){var r=Dt(e,t);return Ut.test(r)?v(e).position()[t]+"px":r}}}})}),v.expr&&v.expr.filters&&(v.expr.filters.hidden=function(e){return e.offsetWidth===0&&e.offsetHeight===0||!v.support.reliableHiddenOffsets&&(e.style&&e.style.display||Dt(e,"display"))==="none"},v.expr.filters.visible=function(e){return!v.expr.filters.hidden(e)}),v.each({margin:"",padding:"",border:"Width"},function(e,t){v.cssHooks[e+t]={expand:function(n){var r,i=typeof n=="string"?n.split(" "):[n],s={};for(r=0;r<4;r++)s[e+$t[r]+t]=i[r]||i[r-2]||i[0];return s}},qt.test(e)||(v.cssHooks[e+t].set=Zt)});var rn=/%20/g,sn=/\[\]$/,on=/\r?\n/g,un=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,an=/^(?:select|textarea)/i;v.fn.extend({serialize:function(){return v.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?v.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||an.test(this.nodeName)||un.test(this.type))}).map(function(e,t){var n=v(this).val();return n==null?null:v.isArray(n)?v.map(n,function(e,n){return{name:t.name,value:e.replace(on,"\r\n")}}):{name:t.name,value:n.replace(on,"\r\n")}}).get()}}),v.param=function(e,n){var r,i=[],s=function(e,t){t=v.isFunction(t)?t():t==null?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};n===t&&(n=v.ajaxSettings&&v.ajaxSettings.traditional);if(v.isArray(e)||e.jquery&&!v.isPlainObject(e))v.each(e,function(){s(this.name,this.value)});else for(r in e)fn(r,e[r],n,s);return i.join("&").replace(rn,"+")};var ln,cn,hn=/#.*$/,pn=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,dn=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,vn=/^(?:GET|HEAD)$/,mn=/^\/\//,gn=/\?/,yn=/)<[^<]*)*<\/script>/gi,bn=/([?&])_=[^&]*/,wn=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,En=v.fn.load,Sn={},xn={},Tn=["*/"]+["*"];try{cn=s.href}catch(Nn){cn=i.createElement("a"),cn.href="",cn=cn.href}ln=wn.exec(cn.toLowerCase())||[],v.fn.load=function(e,n,r){if(typeof e!="string"&&En)return En.apply(this,arguments);if(!this.length)return this;var i,s,o,u=this,a=e.indexOf(" ");return a>=0&&(i=e.slice(a,e.length),e=e.slice(0,a)),v.isFunction(n)?(r=n,n=t):n&&typeof n=="object"&&(s="POST"),v.ajax({url:e,type:s,dataType:"html",data:n,complete:function(e,t){r&&u.each(r,o||[e.responseText,t,e])}}).done(function(e){o=arguments,u.html(i?v("
").append(e.replace(yn,"")).find(i):e)}),this},v.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,t){v.fn[t]=function(e){return this.on(t,e)}}),v.each(["get","post"],function(e,n){v[n]=function(e,r,i,s){return v.isFunction(r)&&(s=s||i,i=r,r=t),v.ajax({type:n,url:e,data:r,success:i,dataType:s})}}),v.extend({getScript:function(e,n){return v.get(e,t,n,"script")},getJSON:function(e,t,n){return v.get(e,t,n,"json")},ajaxSetup:function(e,t){return t?Ln(e,v.ajaxSettings):(t=e,e=v.ajaxSettings),Ln(e,t),e},ajaxSettings:{url:cn,isLocal:dn.test(ln[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":Tn},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":e.String,"text html":!0,"text json":v.parseJSON,"text xml":v.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:Cn(Sn),ajaxTransport:Cn(xn),ajax:function(e,n){function T(e,n,s,a){var l,y,b,w,S,T=n;if(E===2)return;E=2,u&&clearTimeout(u),o=t,i=a||"",x.readyState=e>0?4:0,s&&(w=An(c,x,s));if(e>=200&&e<300||e===304)c.ifModified&&(S=x.getResponseHeader("Last-Modified"),S&&(v.lastModified[r]=S),S=x.getResponseHeader("Etag"),S&&(v.etag[r]=S)),e===304?(T="notmodified",l=!0):(l=On(c,w),T=l.state,y=l.data,b=l.error,l=!b);else{b=T;if(!T||e)T="error",e<0&&(e=0)}x.status=e,x.statusText=(n||T)+"",l?d.resolveWith(h,[y,T,x]):d.rejectWith(h,[x,T,b]),x.statusCode(g),g=t,f&&p.trigger("ajax"+(l?"Success":"Error"),[x,c,l?y:b]),m.fireWith(h,[x,T]),f&&(p.trigger("ajaxComplete",[x,c]),--v.active||v.event.trigger("ajaxStop"))}typeof e=="object"&&(n=e,e=t),n=n||{};var r,i,s,o,u,a,f,l,c=v.ajaxSetup({},n),h=c.context||c,p=h!==c&&(h.nodeType||h instanceof v)?v(h):v.event,d=v.Deferred(),m=v.Callbacks("once memory"),g=c.statusCode||{},b={},w={},E=0,S="canceled",x={readyState:0,setRequestHeader:function(e,t){if(!E){var n=e.toLowerCase();e=w[n]=w[n]||e,b[e]=t}return this},getAllResponseHeaders:function(){return E===2?i:null},getResponseHeader:function(e){var n;if(E===2){if(!s){s={};while(n=pn.exec(i))s[n[1].toLowerCase()]=n[2]}n=s[e.toLowerCase()]}return n===t?null:n},overrideMimeType:function(e){return E||(c.mimeType=e),this},abort:function(e){return e=e||S,o&&o.abort(e),T(0,e),this}};d.promise(x),x.success=x.done,x.error=x.fail,x.complete=m.add,x.statusCode=function(e){if(e){var t;if(E<2)for(t in e)g[t]=[g[t],e[t]];else t=e[x.status],x.always(t)}return this},c.url=((e||c.url)+"").replace(hn,"").replace(mn,ln[1]+"//"),c.dataTypes=v.trim(c.dataType||"*").toLowerCase().split(y),c.crossDomain==null&&(a=wn.exec(c.url.toLowerCase()),c.crossDomain=!(!a||a[1]===ln[1]&&a[2]===ln[2]&&(a[3]||(a[1]==="http:"?80:443))==(ln[3]||(ln[1]==="http:"?80:443)))),c.data&&c.processData&&typeof c.data!="string"&&(c.data=v.param(c.data,c.traditional)),kn(Sn,c,n,x);if(E===2)return x;f=c.global,c.type=c.type.toUpperCase(),c.hasContent=!vn.test(c.type),f&&v.active++===0&&v.event.trigger("ajaxStart");if(!c.hasContent){c.data&&(c.url+=(gn.test(c.url)?"&":"?")+c.data,delete c.data),r=c.url;if(c.cache===!1){var N=v.now(),C=c.url.replace(bn,"$1_="+N);c.url=C+(C===c.url?(gn.test(c.url)?"&":"?")+"_="+N:"")}}(c.data&&c.hasContent&&c.contentType!==!1||n.contentType)&&x.setRequestHeader("Content-Type",c.contentType),c.ifModified&&(r=r||c.url,v.lastModified[r]&&x.setRequestHeader("If-Modified-Since",v.lastModified[r]),v.etag[r]&&x.setRequestHeader("If-None-Match",v.etag[r])),x.setRequestHeader("Accept",c.dataTypes[0]&&c.accepts[c.dataTypes[0]]?c.accepts[c.dataTypes[0]]+(c.dataTypes[0]!=="*"?", "+Tn+"; q=0.01":""):c.accepts["*"]);for(l in c.headers)x.setRequestHeader(l,c.headers[l]);if(!c.beforeSend||c.beforeSend.call(h,x,c)!==!1&&E!==2){S="abort";for(l in{success:1,error:1,complete:1})x[l](c[l]);o=kn(xn,c,n,x);if(!o)T(-1,"No Transport");else{x.readyState=1,f&&p.trigger("ajaxSend",[x,c]),c.async&&c.timeout>0&&(u=setTimeout(function(){x.abort("timeout")},c.timeout));try{E=1,o.send(b,T)}catch(k){if(!(E<2))throw k;T(-1,k)}}return x}return x.abort()},active:0,lastModified:{},etag:{}});var Mn=[],_n=/\?/,Dn=/(=)\?(?=&|$)|\?\?/,Pn=v.now();v.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Mn.pop()||v.expando+"_"+Pn++;return this[e]=!0,e}}),v.ajaxPrefilter("json jsonp",function(n,r,i){var s,o,u,a=n.data,f=n.url,l=n.jsonp!==!1,c=l&&Dn.test(f),h=l&&!c&&typeof a=="string"&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Dn.test(a);if(n.dataTypes[0]==="jsonp"||c||h)return s=n.jsonpCallback=v.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,o=e[s],c?n.url=f.replace(Dn,"$1"+s):h?n.data=a.replace(Dn,"$1"+s):l&&(n.url+=(_n.test(f)?"&":"?")+n.jsonp+"="+s),n.converters["script json"]=function(){return u||v.error(s+" was not called"),u[0]},n.dataTypes[0]="json",e[s]=function(){u=arguments},i.always(function(){e[s]=o,n[s]&&(n.jsonpCallback=r.jsonpCallback,Mn.push(s)),u&&v.isFunction(o)&&o(u[0]),u=o=t}),"script"}),v.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(e){return v.globalEval(e),e}}}),v.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),v.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=i.head||i.getElementsByTagName("head")[0]||i.documentElement;return{send:function(s,o){n=i.createElement("script"),n.async="async",e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,i){if(i||!n.readyState||/loaded|complete/.test(n.readyState))n.onload=n.onreadystatechange=null,r&&n.parentNode&&r.removeChild(n),n=t,i||o(200,"success")},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(0,1)}}}});var Hn,Bn=e.ActiveXObject?function(){for(var e in Hn)Hn[e](0,1)}:!1,jn=0;v.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&Fn()||In()}:Fn,function(e){v.extend(v.support,{ajax:!!e,cors:!!e&&"withCredentials"in e})}(v.ajaxSettings.xhr()),v.support.ajax&&v.ajaxTransport(function(n){if(!n.crossDomain||v.support.cors){var r;return{send:function(i,s){var o,u,a=n.xhr();n.username?a.open(n.type,n.url,n.async,n.username,n.password):a.open(n.type,n.url,n.async);if(n.xhrFields)for(u in n.xhrFields)a[u]=n.xhrFields[u];n.mimeType&&a.overrideMimeType&&a.overrideMimeType(n.mimeType),!n.crossDomain&&!i["X-Requested-With"]&&(i["X-Requested-With"]="XMLHttpRequest");try{for(u in i)a.setRequestHeader(u,i[u])}catch(f){}a.send(n.hasContent&&n.data||null),r=function(e,i){var u,f,l,c,h;try{if(r&&(i||a.readyState===4)){r=t,o&&(a.onreadystatechange=v.noop,Bn&&delete Hn[o]);if(i)a.readyState!==4&&a.abort();else{u=a.status,l=a.getAllResponseHeaders(),c={},h=a.responseXML,h&&h.documentElement&&(c.xml=h);try{c.text=a.responseText}catch(p){}try{f=a.statusText}catch(p){f=""}!u&&n.isLocal&&!n.crossDomain?u=c.text?200:404:u===1223&&(u=204)}}}catch(d){i||s(-1,d)}c&&s(u,f,c,l)},n.async?a.readyState===4?setTimeout(r,0):(o=++jn,Bn&&(Hn||(Hn={},v(e).unload(Bn)),Hn[o]=r),a.onreadystatechange=r):r()},abort:function(){r&&r(0,1)}}}});var qn,Rn,Un=/^(?:toggle|show|hide)$/,zn=new RegExp("^(?:([-+])=|)("+m+")([a-z%]*)$","i"),Wn=/queueHooks$/,Xn=[Gn],Vn={"*":[function(e,t){var n,r,i=this.createTween(e,t),s=zn.exec(t),o=i.cur(),u=+o||0,a=1,f=20;if(s){n=+s[2],r=s[3]||(v.cssNumber[e]?"":"px");if(r!=="px"&&u){u=v.css(i.elem,e,!0)||n||1;do a=a||".5",u/=a,v.style(i.elem,e,u+r);while(a!==(a=i.cur()/o)&&a!==1&&--f)}i.unit=r,i.start=u,i.end=s[1]?u+(s[1]+1)*n:n}return i}]};v.Animation=v.extend(Kn,{tweener:function(e,t){v.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;r-1,f={},l={},c,h;a?(l=i.position(),c=l.top,h=l.left):(c=parseFloat(o)||0,h=parseFloat(u)||0),v.isFunction(t)&&(t=t.call(e,n,s)),t.top!=null&&(f.top=t.top-s.top+c),t.left!=null&&(f.left=t.left-s.left+h),"using"in t?t.using.call(e,f):i.css(f)}},v.fn.extend({position:function(){if(!this[0])return;var e=this[0],t=this.offsetParent(),n=this.offset(),r=er.test(t[0].nodeName)?{top:0,left:0}:t.offset();return n.top-=parseFloat(v.css(e,"marginTop"))||0,n.left-=parseFloat(v.css(e,"marginLeft"))||0,r.top+=parseFloat(v.css(t[0],"borderTopWidth"))||0,r.left+=parseFloat(v.css(t[0],"borderLeftWidth"))||0,{top:n.top-r.top,left:n.left-r.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||i.body;while(e&&!er.test(e.nodeName)&&v.css(e,"position")==="static")e=e.offsetParent;return e||i.body})}}),v.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);v.fn[e]=function(i){return v.access(this,function(e,i,s){var o=tr(e);if(s===t)return o?n in o?o[n]:o.document.documentElement[i]:e[i];o?o.scrollTo(r?v(o).scrollLeft():s,r?s:v(o).scrollTop()):e[i]=s},e,i,arguments.length,null)}}),v.each({Height:"height",Width:"width"},function(e,n){v.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){v.fn[i]=function(i,s){var o=arguments.length&&(r||typeof i!="boolean"),u=r||(i===!0||s===!0?"margin":"border");return v.access(this,function(n,r,i){var s;return v.isWindow(n)?n.document.documentElement["client"+e]:n.nodeType===9?(s=n.documentElement,Math.max(n.body["scroll"+e],s["scroll"+e],n.body["offset"+e],s["offset"+e],s["client"+e])):i===t?v.css(n,r,i,u):v.style(n,r,i,u)},n,o?i:t,o,null)}})}),e.jQuery=e.$=v,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return v})})(window); -/* - * jQuery JSON Plugin - * version: 2.1 (2009-08-14) - * - * This document is licensed as free software under the terms of the - * MIT License: http://www.opensource.org/licenses/mit-license.php - * - * Brantley Harris wrote this plugin. It is based somewhat on the JSON.org - * website's http://www.json.org/json2.js, which proclaims: - * "NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.", a sentiment that - * I uphold. - * - * It is also influenced heavily by MochiKit's serializeJSON, which is - * copyrighted 2005 by Bob Ippolito. - */ - - -(function($) { - /** jQuery.toJSON( json-serializble ) - Converts the given argument into a JSON respresentation. - - If an object has a "toJSON" function, that will be used to get the representation. - Non-integer/string keys are skipped in the object, as are keys that point to a function. - - json-serializble: - The *thing* to be converted. - **/ - $.toJSON = function(o) - { - if (typeof(JSON) == 'object' && JSON.stringify) - return JSON.stringify(o); - - var type = typeof(o); - - if (o === null) - return "null"; - - if (type == "undefined") - return undefined; - - if (type == "number" || type == "boolean") - return o + ""; - - if (type == "string") - return $.quoteString(o); - - if (type == 'object') - { - if (typeof o.toJSON == "function") - return $.toJSON( o.toJSON() ); - - if (o.constructor === Date) - { - var month = o.getUTCMonth() + 1; - if (month < 10) month = '0' + month; - - var day = o.getUTCDate(); - if (day < 10) day = '0' + day; - - var year = o.getUTCFullYear(); - - var hours = o.getUTCHours(); - if (hours < 10) hours = '0' + hours; - - var minutes = o.getUTCMinutes(); - if (minutes < 10) minutes = '0' + minutes; - - var seconds = o.getUTCSeconds(); - if (seconds < 10) seconds = '0' + seconds; - - var milli = o.getUTCMilliseconds(); - if (milli < 100) milli = '0' + milli; - if (milli < 10) milli = '0' + milli; - - return '"' + year + '-' + month + '-' + day + 'T' + - hours + ':' + minutes + ':' + seconds + - '.' + milli + 'Z"'; - } - - if (o.constructor === Array) - { - var ret = []; - for (var i = 0; i < o.length; i++) - ret.push( $.toJSON(o[i]) || "null" ); - - return "[" + ret.join(",") + "]"; - } - - var pairs = []; - for (var k in o) { - var name; - var type = typeof k; - - if (type == "number") - name = '"' + k + '"'; - else if (type == "string") - name = $.quoteString(k); - else - continue; //skip non-string or number keys - - if (typeof o[k] == "function") - continue; //skip pairs where the value is a function. - - var val = $.toJSON(o[k]); - - pairs.push(name + ":" + val); - } - - return "{" + pairs.join(", ") + "}"; - } - }; - - /** jQuery.evalJSON(src) - Evaluates a given piece of json source. - **/ - $.evalJSON = function(src) - { - if (typeof(JSON) == 'object' && JSON.parse) - return JSON.parse(src); - return eval("(" + src + ")"); - }; - - /** jQuery.secureEvalJSON(src) - Evals JSON in a way that is *more* secure. - **/ - $.secureEvalJSON = function(src) - { - if (typeof(JSON) == 'object' && JSON.parse) - return JSON.parse(src); - - var filtered = src; - filtered = filtered.replace(/\\["\\\/bfnrtu]/g, '@'); - filtered = filtered.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']'); - filtered = filtered.replace(/(?:^|:|,)(?:\s*\[)+/g, ''); - - if (/^[\],:{}\s]*$/.test(filtered)) - return eval("(" + src + ")"); - else - throw new SyntaxError("Error parsing JSON, source is not valid."); - }; - - /** jQuery.quoteString(string) - Returns a string-repr of a string, escaping quotes intelligently. - Mostly a support function for toJSON. - - Examples: - >>> jQuery.quoteString("apple") - "apple" - - >>> jQuery.quoteString('"Where are we going?", she asked.') - "\"Where are we going?\", she asked." - **/ - $.quoteString = function(string) - { - if (string.match(_escapeable)) - { - return '"' + string.replace(_escapeable, function (a) - { - var c = _meta[a]; - if (typeof c === 'string') return c; - c = a.charCodeAt(); - return '\\u00' + Math.floor(c / 16).toString(16) + (c % 16).toString(16); - }) + '"'; - } - return '"' + string + '"'; - }; - - var _escapeable = /["\\\x00-\x1f\x7f-\x9f]/g; - - var _meta = { - '\b': '\\b', - '\t': '\\t', - '\n': '\\n', - '\f': '\\f', - '\r': '\\r', - '"' : '\\"', - '\\': '\\\\' - }; -})(jQuery); -/*! - * jQuery Tools v1.2.6 - The missing UI library for the Web - * - * tooltip/tooltip.js - * - * NO COPYRIGHTS OR LICENSES. DO WHAT YOU LIKE. - * - * http://flowplayer.org/tools/ - * - */ - -(function(a){a.tools=a.tools||{version:"v1.2.6"},a.tools.tooltip={conf:{effect:"toggle",fadeOutSpeed:"fast",predelay:0,delay:30,opacity:1,tip:0,fadeIE:!1,position:["top","center"],offset:[0,0],relative:!1,cancelDefault:!0,events:{def:"mouseenter,mouseleave",input:"focus,blur",widget:"focus mouseenter,blur mouseleave",tooltip:"mouseenter,mouseleave"},layout:"
",tipClass:"tooltip"},addEffect:function(a,c,d){b[a]=[c,d]}};var b={toggle:[function(a){var b=this.getConf(),c=this.getTip(),d=b.opacity;d<1&&c.css({opacity:d}),c.show(),a.call()},function(a){this.getTip().hide(),a.call()}],fade:[function(b){var c=this.getConf();!a.browser.msie||c.fadeIE?this.getTip().fadeTo(c.fadeInSpeed,c.opacity,b):(this.getTip().show(),b())},function(b){var c=this.getConf();!a.browser.msie||c.fadeIE?this.getTip().fadeOut(c.fadeOutSpeed,b):(this.getTip().hide(),b())}]};function c(b,c,d){var e=d.relative?b.position().top:b.offset().top,f=d.relative?b.position().left:b.offset().left,g=d.position[0];e-=c.outerHeight()-d.offset[0],f+=b.outerWidth()+d.offset[1],/iPad/i.test(navigator.userAgent)&&(e-=a(window).scrollTop());var h=c.outerHeight()+b.outerHeight();g=="center"&&(e+=h/2),g=="bottom"&&(e+=h),g=d.position[1];var i=c.outerWidth()+b.outerWidth();g=="center"&&(f-=i/2),g=="left"&&(f-=i);return{top:e,left:f}}function d(d,e){var f=this,g=d.add(f),h,i=0,j=0,k=d.attr("title"),l=d.attr("data-tooltip"),m=b[e.effect],n,o=d.is(":input"),p=o&&d.is(":checkbox, :radio, select, :button, :submit"),q=d.attr("type"),r=e.events[q]||e.events[o?p?"widget":"input":"def"];if(!m)throw"Nonexistent effect \""+e.effect+"\"";r=r.split(/,\s*/);if(r.length!=2)throw"Tooltip: bad events configuration for "+q;d.bind(r[0],function(a){clearTimeout(i),e.predelay?j=setTimeout(function(){f.show(a)},e.predelay):f.show(a)}).bind(r[1],function(a){clearTimeout(j),e.delay?i=setTimeout(function(){f.hide(a)},e.delay):f.hide(a)}),k&&e.cancelDefault&&(d.removeAttr("title"),d.data("title",k)),a.extend(f,{show:function(b){if(!h){l?h=a(l):e.tip?h=a(e.tip).eq(0):k?h=a(e.layout).addClass(e.tipClass).appendTo(document.body).hide().append(k):(h=d.next(),h.length||(h=d.parent().next()));if(!h.length)throw"Cannot find tooltip for "+d}if(f.isShown())return f;h.stop(!0,!0);var o=c(d,h,e);e.tip&&h.html(d.data("title")),b=a.Event(),b.type="onBeforeShow",g.trigger(b,[o]);if(b.isDefaultPrevented())return f;o=c(d,h,e),h.css({position:"absolute",top:o.top,left:o.left}),n=!0,m[0].call(f,function(){b.type="onShow",n="full",g.trigger(b)});var p=e.events.tooltip.split(/,\s*/);h.data("__set")||(h.unbind(p[0]).bind(p[0],function(){clearTimeout(i),clearTimeout(j)}),p[1]&&!d.is("input:not(:checkbox, :radio), textarea")&&h.unbind(p[1]).bind(p[1],function(a){a.relatedTarget!=d[0]&&d.trigger(r[1].split(" ")[0])}),e.tip||h.data("__set",!0));return f},hide:function(c){if(!h||!f.isShown())return f;c=a.Event(),c.type="onBeforeHide",g.trigger(c);if(!c.isDefaultPrevented()){n=!1,b[e.effect][1].call(f,function(){c.type="onHide",g.trigger(c)});return f}},isShown:function(a){return a?n=="full":n},getConf:function(){return e},getTip:function(){return h},getTrigger:function(){return d}}),a.each("onHide,onBeforeShow,onShow,onBeforeHide".split(","),function(b,c){a.isFunction(e[c])&&a(f).bind(c,e[c]),f[c]=function(b){b&&a(f).bind(c,b);return f}})}a.fn.tooltip=function(b){var c=this.data("tooltip");if(c)return c;b=a.extend(!0,{},a.tools.tooltip.conf,b),typeof b.position=="string"&&(b.position=b.position.split(/,?\s/)),this.each(function(){c=new d(a(this),b),a(this).data("tooltip",c)});return b.api?c:this}})(jQuery); -// For IE8 compatability, sigh -if (!Array.prototype.map) Array.prototype.map = function(callback, that) { - var i = -1, n = this.length, map = new Array(n); - while (++i < n) { - if (i in this) { - map[i] = callback.call(that, this[i], i, this); - } - } - return map; -}; -// ┌────────────────────────────────────────────────────────────────────┐ \\ -// │ Raphaël 2.1.0 - JavaScript Vector Library │ \\ -// ├────────────────────────────────────────────────────────────────────┤ \\ -// │ Copyright © 2008-2012 Dmitry Baranovskiy (http://raphaeljs.com) │ \\ -// │ Copyright © 2008-2012 Sencha Labs (http://sencha.com) │ \\ -// ├────────────────────────────────────────────────────────────────────┤ \\ -// │ Licensed under the MIT (http://raphaeljs.com/license.html) license.│ \\ -// └────────────────────────────────────────────────────────────────────┘ \\ - -(function(a){var b="0.3.4",c="hasOwnProperty",d=/[\.\/]/,e="*",f=function(){},g=function(a,b){return a-b},h,i,j={n:{}},k=function(a,b){var c=j,d=i,e=Array.prototype.slice.call(arguments,2),f=k.listeners(a),l=0,m=!1,n,o=[],p={},q=[],r=h,s=[];h=a,i=0;for(var t=0,u=f.length;tf*b.top){e=b.percents[y],p=b.percents[y-1]||0,t=t/b.top*(e-p),o=b.percents[y+1],j=b.anim[e];break}f&&d.attr(b.anim[b.percents[y]])}if(!!j){if(!k){for(var A in j)if(j[g](A))if(U[g](A)||d.paper.customAttributes[g](A)){u[A]=d.attr(A),u[A]==null&&(u[A]=T[A]),v[A]=j[A];switch(U[A]){case C:w[A]=(v[A]-u[A])/t;break;case"colour":u[A]=a.getRGB(u[A]);var B=a.getRGB(v[A]);w[A]={r:(B.r-u[A].r)/t,g:(B.g-u[A].g)/t,b:(B.b-u[A].b)/t};break;case"path":var D=bR(u[A],v[A]),E=D[1];u[A]=D[0],w[A]=[];for(y=0,z=u[A].length;yd)return d;while(cf?c=e:d=e,e=(d-c)/2+c}return e}function n(a,b){var c=o(a,b);return((l*c+k)*c+j)*c}function m(a){return((i*a+h)*a+g)*a}var g=3*b,h=3*(d-b)-g,i=1-g-h,j=3*c,k=3*(e-c)-j,l=1-j-k;return n(a,1/(200*f))}function cq(){return this.x+q+this.y+q+this.width+" × "+this.height}function cp(){return this.x+q+this.y}function cb(a,b,c,d,e,f){a!=null?(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 bH(b,c,d){b=a._path2curve(b),c=a._path2curve(c);var e,f,g,h,i,j,k,l,m,n,o=d?0:[];for(var p=0,q=b.length;p=0&&y<=1&&A>=0&&A<=1&&(d?n++:n.push({x:x.x,y:x.y,t1:y,t2:A}))}}return n}function bF(a,b){return bG(a,b,1)}function bE(a,b){return bG(a,b)}function bD(a,b,c,d,e,f,g,h){if(!(x(a,c)x(e,g)||x(b,d)x(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)return;var l=i/k,m=j/k,n=+l.toFixed(2),o=+m.toFixed(2);if(n<+y(a,c).toFixed(2)||n>+x(a,c).toFixed(2)||n<+y(e,g).toFixed(2)||n>+x(e,g).toFixed(2)||o<+y(b,d).toFixed(2)||o>+x(b,d).toFixed(2)||o<+y(f,h).toFixed(2)||o>+x(f,h).toFixed(2))return;return{x:l,y:m}}}function bC(a,b,c,d,e,f,g,h,i){if(!(i<0||bB(a,b,c,d,e,f,g,h)n)k/=2,l+=(m1?1:i<0?0:i;var j=i/2,k=12,l=[-0.1252,.1252,-0.3678,.3678,-0.5873,.5873,-0.7699,.7699,-0.9041,.9041,-0.9816,.9816],m=[.2491,.2491,.2335,.2335,.2032,.2032,.1601,.1601,.1069,.1069,.0472,.0472],n=0;for(var o=0;od;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 bx(){return this.hex}function bv(a,b,c){function d(){var e=Array.prototype.slice.call(arguments,0),f=e.join("␀"),h=d.cache=d.cache||{},i=d.count=d.count||[];if(h[g](f)){bu(i,f);return c?c(h[f]):h[f]}i.length>=1e3&&delete h[i.shift()],i.push(f),h[f]=a[m](b,e);return c?c(h[f]):h[f]}return d}function bu(a,b){for(var c=0,d=a.length;c',bl=bk.firstChild,bl.style.behavior="url(#default#VML)";if(!bl||typeof bl.adj!="object")return a.type=p;bk=null}a.svg=!(a.vml=a.type=="VML"),a._Paper=j,a.fn=k=j.prototype=a.prototype,a._id=0,a._oid=0,a.is=function(a,b){b=v.call(b);if(b=="finite")return!M[g](+a);if(b=="array")return a instanceof Array;return b=="null"&&a===null||b==typeof a&&a!==null||b=="object"&&a===Object(a)||b=="array"&&Array.isArray&&Array.isArray(a)||H.call(a).slice(8,-1).toLowerCase()==b},a.angle=function(b,c,d,e,f,g){if(f==null){var h=b-d,i=c-e;if(!h&&!i)return 0;return(180+w.atan2(-i,-h)*180/B+360)%360}return a.angle(b,c,f,g)-a.angle(d,e,f,g)},a.rad=function(a){return a%360*B/180},a.deg=function(a){return a*180/B%360},a.snapTo=function(b,c,d){d=a.is(d,"finite")?d:10;if(a.is(b,E)){var e=b.length;while(e--)if(z(b[e]-c)<=d)return b[e]}else{b=+b;var f=c%b;if(fb-d)return c-f+b}return c};var bn=a.createUUID=function(a,b){return function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(a,b).toUpperCase()}}(/[xy]/g,function(a){var b=w.random()*16|0,c=a=="x"?b:b&3|8;return c.toString(16)});a.setWindow=function(b){eve("raphael.setWindow",a,h.win,b),h.win=b,h.doc=h.win.document,a._engine.initWin&&a._engine.initWin(h.win)};var bo=function(b){if(a.vml){var c=/^\s+|\s+$/g,d;try{var e=new ActiveXObject("htmlfile");e.write(""),e.close(),d=e.body}catch(f){d=createPopup().document.body}var g=d.createTextRange();bo=bv(function(a){try{d.style.color=r(a).replace(c,p);var b=g.queryCommandValue("ForeColor");b=(b&255)<<16|b&65280|(b&16711680)>>>16;return"#"+("000000"+b.toString(16)).slice(-6)}catch(e){return"none"}})}else{var i=h.doc.createElement("i");i.title="Raphaël Colour Picker",i.style.display="none",h.doc.body.appendChild(i),bo=bv(function(a){i.style.color=a;return h.doc.defaultView.getComputedStyle(i,p).getPropertyValue("color")})}return bo(b)},bp=function(){return"hsb("+[this.h,this.s,this.b]+")"},bq=function(){return"hsl("+[this.h,this.s,this.l]+")"},br=function(){return this.hex},bs=function(b,c,d){c==null&&a.is(b,"object")&&"r"in b&&"g"in b&&"b"in b&&(d=b.b,c=b.g,b=b.r);if(c==null&&a.is(b,D)){var e=a.getRGB(b);b=e.r,c=e.g,d=e.b}if(b>1||c>1||d>1)b/=255,c/=255,d/=255;return[b,c,d]},bt=function(b,c,d,e){b*=255,c*=255,d*=255;var f={r:b,g:c,b:d,hex:a.rgb(b,c,d),toString:br};a.is(e,"finite")&&(f.opacity=e);return f};a.color=function(b){var c;a.is(b,"object")&&"h"in b&&"s"in b&&"b"in b?(c=a.hsb2rgb(b),b.r=c.r,b.g=c.g,b.b=c.b,b.hex=c.hex):a.is(b,"object")&&"h"in b&&"s"in b&&"l"in b?(c=a.hsl2rgb(b),b.r=c.r,b.g=c.g,b.b=c.b,b.hex=c.hex):(a.is(b,"string")&&(b=a.getRGB(b)),a.is(b,"object")&&"r"in b&&"g"in b&&"b"in b?(c=a.rgb2hsl(b),b.h=c.h,b.s=c.s,b.l=c.l,c=a.rgb2hsb(b),b.v=c.b):(b={hex:"none"},b.r=b.g=b.b=b.h=b.s=b.v=b.l=-1)),b.toString=br;return b},a.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,a=a.h,d=a.o),a*=360;var e,f,g,h,i;a=a%360/60,i=c*b,h=i*(1-z(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];return bt(e,f,g,d)},a.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);if(a>1||b>1||c>1)a/=360,b/=100,c/=100;a*=360;var e,f,g,h,i;a=a%360/60,i=2*b*(c<.5?c:1-c),h=i*(1-z(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];return bt(e,f,g,d)},a.rgb2hsb=function(a,b,c){c=bs(a,b,c),a=c[0],b=c[1],c=c[2];var d,e,f,g;f=x(a,b,c),g=f-y(a,b,c),d=g==0?null:f==a?(b-c)/g:f==b?(c-a)/g+2:(a-b)/g+4,d=(d+360)%6*60/360,e=g==0?0:g/f;return{h:d,s:e,b:f,toString:bp}},a.rgb2hsl=function(a,b,c){c=bs(a,b,c),a=c[0],b=c[1],c=c[2];var d,e,f,g,h,i;g=x(a,b,c),h=y(a,b,c),i=g-h,d=i==0?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=i==0?0:f<.5?i/(2*f):i/(2-2*f);return{h:d,s:e,l:f,toString:bq}},a._path2string=function(){return this.join(",").replace(Y,"$1")};var bw=a._preload=function(a,b){var c=h.doc.createElement("img");c.style.cssText="position:absolute;left:-9999em;top:-9999em",c.onload=function(){b.call(this),this.onload=null,h.doc.body.removeChild(this)},c.onerror=function(){h.doc.body.removeChild(this)},h.doc.body.appendChild(c),c.src=a};a.getRGB=bv(function(b){if(!b||!!((b=r(b)).indexOf("-")+1))return{r:-1,g:-1,b:-1,hex:"none",error:1,toString:bx};if(b=="none")return{r:-1,g:-1,b:-1,hex:"none",toString:bx};!X[g](b.toLowerCase().substring(0,2))&&b.charAt()!="#"&&(b=bo(b));var c,d,e,f,h,i,j,k=b.match(L);if(k){k[2]&&(f=R(k[2].substring(5),16),e=R(k[2].substring(3,5),16),d=R(k[2].substring(1,3),16)),k[3]&&(f=R((i=k[3].charAt(3))+i,16),e=R((i=k[3].charAt(2))+i,16),d=R((i=k[3].charAt(1))+i,16)),k[4]&&(j=k[4][s](W),d=Q(j[0]),j[0].slice(-1)=="%"&&(d*=2.55),e=Q(j[1]),j[1].slice(-1)=="%"&&(e*=2.55),f=Q(j[2]),j[2].slice(-1)=="%"&&(f*=2.55),k[1].toLowerCase().slice(0,4)=="rgba"&&(h=Q(j[3])),j[3]&&j[3].slice(-1)=="%"&&(h/=100));if(k[5]){j=k[5][s](W),d=Q(j[0]),j[0].slice(-1)=="%"&&(d*=2.55),e=Q(j[1]),j[1].slice(-1)=="%"&&(e*=2.55),f=Q(j[2]),j[2].slice(-1)=="%"&&(f*=2.55),(j[0].slice(-3)=="deg"||j[0].slice(-1)=="°")&&(d/=360),k[1].toLowerCase().slice(0,4)=="hsba"&&(h=Q(j[3])),j[3]&&j[3].slice(-1)=="%"&&(h/=100);return a.hsb2rgb(d,e,f,h)}if(k[6]){j=k[6][s](W),d=Q(j[0]),j[0].slice(-1)=="%"&&(d*=2.55),e=Q(j[1]),j[1].slice(-1)=="%"&&(e*=2.55),f=Q(j[2]),j[2].slice(-1)=="%"&&(f*=2.55),(j[0].slice(-3)=="deg"||j[0].slice(-1)=="°")&&(d/=360),k[1].toLowerCase().slice(0,4)=="hsla"&&(h=Q(j[3])),j[3]&&j[3].slice(-1)=="%"&&(h/=100);return a.hsl2rgb(d,e,f,h)}k={r:d,g:e,b:f,toString:bx},k.hex="#"+(16777216|f|e<<8|d<<16).toString(16).slice(1),a.is(h,"finite")&&(k.opacity=h);return k}return{r:-1,g:-1,b:-1,hex:"none",error:1,toString:bx}},a),a.hsb=bv(function(b,c,d){return a.hsb2rgb(b,c,d).hex}),a.hsl=bv(function(b,c,d){return a.hsl2rgb(b,c,d).hex}),a.rgb=bv(function(a,b,c){return"#"+(16777216|c|b<<8|a<<16).toString(16).slice(1)}),a.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);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}));return c.hex},a.getColor.reset=function(){delete this.start},a.parsePathString=function(b){if(!b)return null;var c=bz(b);if(c.arr)return bJ(c.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=[];a.is(b,E)&&a.is(b[0],E)&&(e=bJ(b)),e.length||r(b).replace(Z,function(a,b,c){var f=[],g=b.toLowerCase();c.replace(_,function(a,b){b&&f.push(+b)}),g=="m"&&f.length>2&&(e.push([b][n](f.splice(0,2))),g="l",b=b=="m"?"l":"L");if(g=="r")e.push([b][n](f));else while(f.length>=d[g]){e.push([b][n](f.splice(0,d[g])));if(!d[g])break}}),e.toString=a._path2string,c.arr=bJ(e);return e},a.parseTransformString=bv(function(b){if(!b)return null;var c={r:3,s:4,t:2,m:6},d=[];a.is(b,E)&&a.is(b[0],E)&&(d=bJ(b)),d.length||r(b).replace($,function(a,b,c){var e=[],f=v.call(b);c.replace(_,function(a,b){b&&e.push(+b)}),d.push([b][n](e))}),d.toString=a._path2string;return d});var bz=function(a){var b=bz.ps=bz.ps||{};b[a]?b[a].sleep=100:b[a]={sleep:100},setTimeout(function(){for(var c in b)b[g](c)&&c!=a&&(b[c].sleep--,!b[c].sleep&&delete b[c])});return b[a]};a.findDotsAtSegment=function(a,b,c,d,e,f,g,h,i){var j=1-i,k=A(j,3),l=A(j,2),m=i*i,n=m*i,o=k*a+l*3*i*c+j*3*i*i*e+n*g,p=k*b+l*3*i*d+j*3*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,x=j*e+i*g,y=j*f+i*h,z=90-w.atan2(q-s,r-t)*180/B;(q>s||r=a.x&&b<=a.x2&&c>=a.y&&c<=a.y2},a.isBBoxIntersect=function(b,c){var d=a.isPointInsideBBox;return d(c,b.x,b.y)||d(c,b.x2,b.y)||d(c,b.x,b.y2)||d(c,b.x2,b.y2)||d(b,c.x,c.y)||d(b,c.x2,c.y)||d(b,c.x,c.y2)||d(b,c.x2,c.y2)||(b.xc.x||c.xb.x)&&(b.yc.y||c.yb.y)},a.pathIntersection=function(a,b){return bH(a,b)},a.pathIntersectionNumber=function(a,b){return bH(a,b,1)},a.isPointInsidePath=function(b,c,d){var e=a.pathBBox(b);return a.isPointInsideBBox(e,c,d)&&bH(b,[["M",c,d],["H",e.x2+10]],1)%2==1},a._removedFactory=function(a){return function(){eve("raphael.log",null,"Raphaël: you are calling to method “"+a+"” of removed object",a)}};var bI=a.pathBBox=function(a){var b=bz(a);if(b.bbox)return b.bbox;if(!a)return{x:0,y:0,width:0,height:0,x2:0,y2:0};a=bR(a);var c=0,d=0,e=[],f=[],g;for(var h=0,i=a.length;h1&&(v=w.sqrt(v),c=v*c,d=v*d);var x=c*c,y=d*d,A=(f==g?-1:1)*w.sqrt(z((x*y-x*u*u-y*t*t)/(x*u*u+y*t*t))),C=A*c*u/d+(a+h)/2,D=A*-d*t/c+(b+i)/2,E=w.asin(((b-D)/d).toFixed(9)),F=w.asin(((i-D)/d).toFixed(9));E=aF&&(E=E-B*2),!g&&F>E&&(F=F-B*2)}else E=j[0],F=j[1],C=j[2],D=j[3];var G=F-E;if(z(G)>k){var H=F,I=h,J=i;F=E+k*(g&&F>E?1:-1),h=C+c*w.cos(F),i=D+d*w.sin(F),m=bO(h,i,c,d,e,0,g,I,J,[F,H,C,D])}G=F-E;var K=w.cos(E),L=w.sin(E),M=w.cos(F),N=w.sin(F),O=w.tan(G/4),P=4/3*c*O,Q=4/3*d*O,R=[a,b],S=[a+P*L,b-Q*K],T=[h+P*N,i-Q*M],U=[h,i];S[0]=2*R[0]-S[0],S[1]=2*R[1]-S[1];if(j)return[S,T,U][n](m);m=[S,T,U][n](m).join()[s](",");var V=[];for(var W=0,X=m.length;W"1e12"&&(l=.5),z(n)>"1e12"&&(n=.5),l>0&&l<1&&(q=bP(a,b,c,d,e,f,g,h,l),p.push(q.x),o.push(q.y)),n>0&&n<1&&(q=bP(a,b,c,d,e,f,g,h,n),p.push(q.x),o.push(q.y)),i=f-2*d+b-(h-2*f+d),j=2*(d-b)-2*(f-d),k=b-d,l=(-j+w.sqrt(j*j-4*i*k))/2/i,n=(-j-w.sqrt(j*j-4*i*k))/2/i,z(l)>"1e12"&&(l=.5),z(n)>"1e12"&&(n=.5),l>0&&l<1&&(q=bP(a,b,c,d,e,f,g,h,l),p.push(q.x),o.push(q.y)),n>0&&n<1&&(q=bP(a,b,c,d,e,f,g,h,n),p.push(q.x),o.push(q.y));return{min:{x:y[m](0,p),y:y[m](0,o)},max:{x:x[m](0,p),y:x[m](0,o)}}}),bR=a._path2curve=bv(function(a,b){var c=!b&&bz(a);if(!b&&c.curve)return bJ(c.curve);var d=bL(a),e=b&&bL(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){var c,d;if(!a)return["C",b.x,b.y,b.x,b.y,b.x,b.y];!(a[0]in{T:1,Q:1})&&(b.qx=b.qy=null);switch(a[0]){case"M":b.X=a[1],b.Y=a[2];break;case"A":a=["C"][n](bO[m](0,[b.x,b.y][n](a.slice(1))));break;case"S":c=b.x+(b.x-(b.bx||b.x)),d=b.y+(b.y-(b.by||b.y)),a=["C",c,d][n](a.slice(1));break;case"T":b.qx=b.x+(b.x-(b.qx||b.x)),b.qy=b.y+(b.y-(b.qy||b.y)),a=["C"][n](bN(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"][n](bN(b.x,b.y,a[1],a[2],a[3],a[4]));break;case"L":a=["C"][n](bM(b.x,b.y,a[1],a[2]));break;case"H":a=["C"][n](bM(b.x,b.y,a[1],b.y));break;case"V":a=["C"][n](bM(b.x,b.y,b.x,a[1]));break;case"Z":a=["C"][n](bM(b.x,b.y,b.X,b.Y))}return a},i=function(a,b){if(a[b].length>7){a[b].shift();var c=a[b];while(c.length)a.splice(b++,0,["C"][n](c.splice(0,6)));a.splice(b,1),l=x(d.length,e&&e.length||0)}},j=function(a,b,c,f,g){a&&b&&a[g][0]=="M"&&b[g][0]!="M"&&(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],l=x(d.length,e&&e.length||0))};for(var k=0,l=x(d.length,e&&e.length||0);ke){if(c&&!l.start){m=cs(g,h,i[1],i[2],i[3],i[4],i[5],i[6],e-n),k+=["C"+m.start.x,m.start.y,m.m.x,m.m.y,m.x,m.y];if(f)return k;l.start=k,k=["M"+m.x,m.y+"C"+m.n.x,m.n.y,m.end.x,m.end.y,i[5],i[6]].join(),n+=j,g=+i[5],h=+i[6];continue}if(!b&&!c){m=cs(g,h,i[1],i[2],i[3],i[4],i[5],i[6],e-n);return{x:m.x,y:m.y,alpha:m.alpha}}}n+=j,g=+i[5],h=+i[6]}k+=i.shift()+i}l.end=k,m=b?n:c?l:a.findDotsAtSegment(g,h,i[0],i[1],i[2],i[3],i[4],i[5],1),m.alpha&&(m={x:m.x,y:m.y,alpha:m.alpha});return m}},cu=ct(1),cv=ct(),cw=ct(0,1);a.getTotalLength=cu,a.getPointAtLength=cv,a.getSubpath=function(a,b,c){if(this.getTotalLength(a)-c<1e-6)return cw(a,b).end;var d=cw(a,c,1);return b?cw(d,b).end:d},cl.getTotalLength=function(){if(this.type=="path"){if(this.node.getTotalLength)return this.node.getTotalLength();return cu(this.attrs.path)}},cl.getPointAtLength=function(a){if(this.type=="path")return cv(this.attrs.path,a)},cl.getSubpath=function(b,c){if(this.type=="path")return a.getSubpath(this.attrs.path,b,c)};var cx=a.easing_formulas={linear:function(a){return a},"<":function(a){return A(a,1.7)},">":function(a){return A(a,.48)},"<>":function(a){var b=.48-a/1.04,c=w.sqrt(.1734+b*b),d=c-b,e=A(z(d),1/3)*(d<0?-1:1),f=-c-b,g=A(z(f),1/3)*(f<0?-1:1),h=e+g+.5;return(1-h)*3*h*h+h*h*h},backIn:function(a){var b=1.70158;return a*a*((b+1)*a-b)},backOut:function(a){a=a-1;var b=1.70158;return a*a*((b+1)*a+b)+1},elastic:function(a){if(a==!!a)return a;return A(2,-10*a)*w.sin((a-.075)*2*B/.3)+1},bounce:function(a){var b=7.5625,c=2.75,d;a<1/c?d=b*a*a:a<2/c?(a-=1.5/c,d=b*a*a+.75):a<2.5/c?(a-=2.25/c,d=b*a*a+.9375):(a-=2.625/c,d=b*a*a+.984375);return d}};cx.easeIn=cx["ease-in"]=cx["<"],cx.easeOut=cx["ease-out"]=cx[">"],cx.easeInOut=cx["ease-in-out"]=cx["<>"],cx["back-in"]=cx.backIn,cx["back-out"]=cx.backOut;var cy=[],cz=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(a){setTimeout(a,16)},cA=function(){var b=+(new Date),c=0;for(;c1&&!d.next){for(s in k)k[g](s)&&(r[s]=d.totalOrigin[s]);d.el.attr(r),cE(d.anim,d.el,d.anim.percents[0],null,d.totalOrigin,d.repeat-1)}d.next&&!d.stop&&cE(d.anim,d.el,d.next,null,d.totalOrigin,d.repeat)}}a.svg&&m&&m.paper&&m.paper.safari(),cy.length&&cz(cA)},cB=function(a){return a>255?255:a<0?0:a};cl.animateWith=function(b,c,d,e,f,g){var h=this;if(h.removed){g&&g.call(h);return h}var i=d instanceof cD?d:a.animation(d,e,f,g),j,k;cE(i,h,i.percents[0],null,h.attr());for(var l=0,m=cy.length;l.5)*2-1;i(m-.5,2)+i(n-.5,2)>.25&&(n=f.sqrt(.25-i(m-.5,2))*e+.5)&&n!=.5&&(n=n.toFixed(5)-1e-5*e)}return l}),e=e.split(/\s*\-\s*/);if(j=="linear"){var t=e.shift();t=-d(t);if(isNaN(t))return null;var u=[0,0,f.cos(a.rad(t)),f.sin(a.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=a._parseDots(e);if(!w)return null;k=k.replace(/[\(\)\s,\xb0#]/g,"_"),b.gradient&&k!=b.gradient.id&&(p.defs.removeChild(b.gradient),delete b.gradient);if(!b.gradient){s=q(j+"Gradient",{id:k}),b.gradient=s,q(s,j=="radial"?{fx:m,fy:n}:{x1:u[0],y1:u[1],x2:u[2],y2:u[3],gradientTransform:b.matrix.invert()}),p.defs.appendChild(s);for(var x=0,y=w.length;x1?G.opacity/100:G.opacity});case"stroke":G=a.getRGB(p),i.setAttribute(o,G.hex),o=="stroke"&&G[b]("opacity")&&q(i,{"stroke-opacity":G.opacity>1?G.opacity/100:G.opacity}),o=="stroke"&&d._.arrows&&("startString"in d._.arrows&&t(d,d._.arrows.startString),"endString"in d._.arrows&&t(d,d._.arrows.endString,1));break;case"gradient":(d.type=="circle"||d.type=="ellipse"||c(p).charAt()!="r")&&r(d,p);break;case"opacity":k.gradient&&!k[b]("stroke-opacity")&&q(i,{"stroke-opacity":p>1?p/100:p});case"fill-opacity":if(k.gradient){H=a._g.doc.getElementById(i.getAttribute("fill").replace(/^url\(#|\)$/g,l)),H&&(I=H.getElementsByTagName("stop"),q(I[I.length-1],{"stop-opacity":p}));break};default:o=="font-size"&&(p=e(p,10)+"px");var J=o.replace(/(\-.)/g,function(a){return a.substring(1).toUpperCase()});i.style[J]=p,d._.dirty=1,i.setAttribute(o,p)}}y(d,f),i.style.visibility=m},x=1.2,y=function(d,f){if(d.type=="text"&&!!(f[b]("text")||f[b]("font")||f[b]("font-size")||f[b]("x")||f[b]("y"))){var g=d.attrs,h=d.node,i=h.firstChild?e(a._g.doc.defaultView.getComputedStyle(h.firstChild,l).getPropertyValue("font-size"),10):10;if(f[b]("text")){g.text=f.text;while(h.firstChild)h.removeChild(h.firstChild);var j=c(f.text).split("\n"),k=[],m;for(var n=0,o=j.length;n"));var $=X.getBoundingClientRect();t.W=m.w=($.right-$.left)/Y,t.H=m.h=($.bottom-$.top)/Y,t.X=m.x,t.Y=m.y+t.H/2,("x"in i||"y"in i)&&(t.path.v=a.format("m{0},{1}l{2},{1}",f(m.x*u),f(m.y*u),f(m.x*u)+1));var _=["x","y","text","font","font-family","font-weight","font-style","font-size"];for(var ba=0,bb=_.length;ba.25&&(c=e.sqrt(.25-i(b-.5,2))*((c>.5)*2-1)+.5),m=b+n+c);return o}),f=f.split(/\s*\-\s*/);if(l=="linear"){var p=f.shift();p=-d(p);if(isNaN(p))return null}var q=a._parseDots(f);if(!q)return null;b=b.shape||b.node;if(q.length){b.removeChild(g),g.on=!0,g.method="none",g.color=q[0].color,g.color2=q[q.length-1].color;var r=[];for(var s=0,t=q.length;s')}}catch(c){F=function(a){return b.createElement("<"+a+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">')}}},a._engine.initWin(a._g.win),a._engine.create=function(){var b=a._getContainer.apply(0,arguments),c=b.container,d=b.height,e,f=b.width,g=b.x,h=b.y;if(!c)throw new Error("VML container not found.");var i=new a._Paper,j=i.canvas=a._g.doc.createElement("div"),k=j.style;g=g||0,h=h||0,f=f||512,d=d||342,i.width=f,i.height=d,f==+f&&(f+="px"),d==+d&&(d+="px"),i.coordsize=u*1e3+n+u*1e3,i.coordorigin="0 0",i.span=a._g.doc.createElement("span"),i.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;",j.appendChild(i.span),k.cssText=a.format("top:0;left:0;width:{0};height:{1};display:inline-block;position:relative;clip:rect(0 {0} {1} 0);overflow:hidden",f,d),c==1?(a._g.doc.body.appendChild(j),k.left=g+"px",k.top=h+"px",k.position="absolute"):c.firstChild?c.insertBefore(j,c.firstChild):c.appendChild(j),i.renderfix=function(){};return i},a.prototype.clear=function(){a.eve("raphael.clear",this),this.canvas.innerHTML=o,this.span=a._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},a.prototype.remove=function(){a.eve("raphael.remove",this),this.canvas.parentNode.removeChild(this.canvas);for(var b in this)this[b]=typeof this[b]=="function"?a._removedFactory(b):null;return!0};var G=a.st;for(var H in E)E[b](H)&&!G[b](H)&&(G[H]=function(a){return function(){var b=arguments;return this.forEach(function(c){c[a].apply(c,b)})}}(H))}(window.Raphael) -; -d3=function(){function n(n){return null!=n&&!isNaN(n)}function t(n){return n.length}function e(n){for(var t=1;n*t%1;)t*=10;return t}function r(n,t){try{for(var e in t)Object.defineProperty(n.prototype,e,{value:t[e],enumerable:!1})}catch(r){n.prototype=t}}function u(){}function i(){}function o(n,t,e){return function(){var r=e.apply(t,arguments);return r===t?n:r}}function a(n,t){if(t in n)return t;t=t.charAt(0).toUpperCase()+t.substring(1);for(var e=0,r=Do.length;r>e;++e){var u=Do[e]+t;if(u in n)return u}}function c(){}function l(){}function s(n){function t(){for(var t,r=e,u=-1,i=r.length;++ue;e++)for(var u,i=n[e],o=0,a=i.length;a>o;o++)(u=i[o])&&t(u,o,e);return n}function T(n){return Lo(n,Io),n}function q(n){var t,e;return function(r,u,i){var o,a=n[i].update,c=a.length;for(i!=e&&(e=i,t=0),u>=t&&(t=u+1);!(o=a[t])&&++t0&&(n=n.substring(0,a));var s=Zo.get(n);return s&&(n=s,l=j),a?t?u:r:t?c:i}function D(n,t){return function(e){var r=mo.event;mo.event=e,t[0]=this.__data__;try{n.apply(this,t)}finally{mo.event=r}}}function j(n,t){var e=D(n,t);return function(n){var t=this,r=n.relatedTarget;r&&(r===t||8&r.compareDocumentPosition(t))||e.call(t,n)}}function L(){var n=".dragsuppress-"+ ++Xo,t="touchmove"+n,e="selectstart"+n,r="dragstart"+n,u="click"+n,i=mo.select(_o).on(t,f).on(e,f).on(r,f),o=bo.style,a=o[Vo];return o[Vo]="none",function(t){function e(){i.on(u,null)}i.on(n,null),o[Vo]=a,t&&(i.on(u,function(){f(),e()},!0),setTimeout(e,0))}}function H(n,t){t.changedTouches&&(t=t.changedTouches[0]);var e=n.ownerSVGElement||n;if(e.createSVGPoint){var r=e.createSVGPoint();if(0>$o&&(_o.scrollX||_o.scrollY)){e=mo.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var u=e[0][0].getScreenCTM();$o=!(u.f||u.e),e.remove()}return $o?(r.x=t.pageX,r.y=t.pageY):(r.x=t.clientX,r.y=t.clientY),r=r.matrixTransform(n.getScreenCTM().inverse()),[r.x,r.y]}var i=n.getBoundingClientRect();return[t.clientX-i.left-n.clientLeft,t.clientY-i.top-n.clientTop]}function F(n){return n>0?1:0>n?-1:0}function P(n){return n>1?0:-1>n?Bo:Math.acos(n)}function O(n){return n>1?Jo:-1>n?-Jo:Math.asin(n)}function R(n){return((n=Math.exp(n))-1/n)/2}function Y(n){return((n=Math.exp(n))+1/n)/2}function I(n){return((n=Math.exp(2*n))-1)/(n+1)}function U(n){return(n=Math.sin(n/2))*n}function Z(){}function V(n,t,e){return new X(n,t,e)}function X(n,t,e){this.h=n,this.s=t,this.l=e}function $(n,t,e){function r(n){return n>360?n-=360:0>n&&(n+=360),60>n?i+(o-i)*n/60:180>n?o:240>n?i+(o-i)*(240-n)/60:i}function u(n){return Math.round(255*r(n))}var i,o;return n=isNaN(n)?0:(n%=360)<0?n+360:n,t=isNaN(t)?0:0>t?0:t>1?1:t,e=0>e?0:e>1?1:e,o=.5>=e?e*(1+t):e+t-e*t,i=2*e-o,ot(u(n+120),u(n),u(n-120))}function B(n,t,e){return new W(n,t,e)}function W(n,t,e){this.h=n,this.c=t,this.l=e}function J(n,t,e){return isNaN(n)&&(n=0),isNaN(t)&&(t=0),G(e,Math.cos(n*=Qo)*t,Math.sin(n)*t)}function G(n,t,e){return new K(n,t,e)}function K(n,t,e){this.l=n,this.a=t,this.b=e}function Q(n,t,e){var r=(n+16)/116,u=r+t/500,i=r-e/200;return u=tt(u)*sa,r=tt(r)*fa,i=tt(i)*ha,ot(rt(3.2404542*u-1.5371385*r-.4985314*i),rt(-.969266*u+1.8760108*r+.041556*i),rt(.0556434*u-.2040259*r+1.0572252*i))}function nt(n,t,e){return n>0?B(Math.atan2(e,t)*na,Math.sqrt(t*t+e*e),n):B(0/0,0/0,n)}function tt(n){return n>.206893034?n*n*n:(n-4/29)/7.787037}function et(n){return n>.008856?Math.pow(n,1/3):7.787037*n+4/29}function rt(n){return Math.round(255*(.00304>=n?12.92*n:1.055*Math.pow(n,1/2.4)-.055))}function ut(n){return ot(n>>16,255&n>>8,255&n)}function it(n){return ut(n)+""}function ot(n,t,e){return new at(n,t,e)}function at(n,t,e){this.r=n,this.g=t,this.b=e}function ct(n){return 16>n?"0"+Math.max(0,n).toString(16):Math.min(255,n).toString(16)}function lt(n,t,e){var r,u,i,o=0,a=0,c=0;if(r=/([a-z]+)\((.*)\)/i.exec(n))switch(u=r[2].split(","),r[1]){case"hsl":return e(parseFloat(u[0]),parseFloat(u[1])/100,parseFloat(u[2])/100);case"rgb":return t(gt(u[0]),gt(u[1]),gt(u[2]))}return(i=da.get(n))?t(i.r,i.g,i.b):(null!=n&&"#"===n.charAt(0)&&(4===n.length?(o=n.charAt(1),o+=o,a=n.charAt(2),a+=a,c=n.charAt(3),c+=c):7===n.length&&(o=n.substring(1,3),a=n.substring(3,5),c=n.substring(5,7)),o=parseInt(o,16),a=parseInt(a,16),c=parseInt(c,16)),t(o,a,c))}function st(n,t,e){var r,u,i=Math.min(n/=255,t/=255,e/=255),o=Math.max(n,t,e),a=o-i,c=(o+i)/2;return a?(u=.5>c?a/(o+i):a/(2-o-i),r=n==o?(t-e)/a+(e>t?6:0):t==o?(e-n)/a+2:(n-t)/a+4,r*=60):(r=0/0,u=c>0&&1>c?0:r),V(r,u,c)}function ft(n,t,e){n=ht(n),t=ht(t),e=ht(e);var r=et((.4124564*n+.3575761*t+.1804375*e)/sa),u=et((.2126729*n+.7151522*t+.072175*e)/fa),i=et((.0193339*n+.119192*t+.9503041*e)/ha);return G(116*u-16,500*(r-u),200*(u-i))}function ht(n){return(n/=255)<=.04045?n/12.92:Math.pow((n+.055)/1.055,2.4)}function gt(n){var t=parseFloat(n);return"%"===n.charAt(n.length-1)?Math.round(2.55*t):t}function pt(n){return"function"==typeof n?n:function(){return n}}function dt(n){return n}function vt(n){return function(t,e,r){return 2===arguments.length&&"function"==typeof e&&(r=e,e=null),mt(t,e,n,r)}}function mt(n,t,e,r){function u(){var n,t=c.status;if(!t&&c.responseText||t>=200&&300>t||304===t){try{n=e.call(i,c)}catch(r){return o.error.call(i,r),void 0}o.load.call(i,n)}else o.error.call(i,c)}var i={},o=mo.dispatch("beforesend","progress","load","error"),a={},c=new XMLHttpRequest,l=null;return!_o.XDomainRequest||"withCredentials"in c||!/^(http(s)?:)?\/\//.test(n)||(c=new XDomainRequest),"onload"in c?c.onload=c.onerror=u:c.onreadystatechange=function(){c.readyState>3&&u()},c.onprogress=function(n){var t=mo.event;mo.event=n;try{o.progress.call(i,c)}finally{mo.event=t}},i.header=function(n,t){return n=(n+"").toLowerCase(),arguments.length<2?a[n]:(null==t?delete a[n]:a[n]=t+"",i)},i.mimeType=function(n){return arguments.length?(t=null==n?null:n+"",i):t},i.responseType=function(n){return arguments.length?(l=n,i):l},i.response=function(n){return e=n,i},["get","post"].forEach(function(n){i[n]=function(){return i.send.apply(i,[n].concat(Mo(arguments)))}}),i.send=function(e,r,u){if(2===arguments.length&&"function"==typeof r&&(u=r,r=null),c.open(e,n,!0),null==t||"accept"in a||(a.accept=t+",*/*"),c.setRequestHeader)for(var s in a)c.setRequestHeader(s,a[s]);return null!=t&&c.overrideMimeType&&c.overrideMimeType(t),null!=l&&(c.responseType=l),null!=u&&i.on("error",u).on("load",function(n){u(null,n)}),o.beforesend.call(i,c),c.send(null==r?null:r),i},i.abort=function(){return c.abort(),i},mo.rebind(i,o,"on"),null==r?i:i.get(yt(r))}function yt(n){return 1===n.length?function(t,e){n(null==t?e:null)}:n}function Mt(){var n=bt(),t=_t()-n;t>24?(isFinite(t)&&(clearTimeout(Ma),Ma=setTimeout(Mt,t)),ya=0):(ya=1,ba(Mt))}function xt(n,t,e){var r=arguments.length;2>r&&(t=0),3>r&&(e=Date.now()),xa.callback=n,xa.time=e+t}function bt(){var n=Date.now();for(xa=va;xa;)n>=xa.time&&(xa.flush=xa.callback(n-xa.time)),xa=xa.next;return n}function _t(){for(var n,t=va,e=1/0;t;)t.flush?t=n?n.next=t.next:va=t.next:(t.time8?function(n){return n/e}:function(n){return n*e},symbol:n}}function St(n,t){return t-(n?Math.ceil(Math.log(n)/Math.LN10):1)}function Et(n){return n+""}function kt(){}function At(n,t,e){var r=e.s=n+t,u=r-n,i=r-u;e.t=n-i+(t-u)}function Nt(n,t){n&&Da.hasOwnProperty(n.type)&&Da[n.type](n,t)}function Tt(n,t,e){var r,u=-1,i=n.length-e;for(t.lineStart();++ua;++a)u.point((e=n[a])[0],e[1]);return u.lineEnd(),void 0}var c={point:e,points:n,other:null,visited:!1,entry:!0,subject:!0},l={point:e,points:[e],other:c,visited:!1,entry:!1,subject:!1};c.other=l,i.push(c),o.push(l),c={point:r,points:[r],other:null,visited:!1,entry:!1,subject:!0},l={point:r,points:[r],other:c,visited:!1,entry:!0,subject:!1},c.other=l,i.push(c),o.push(l)}}),o.sort(t),$t(i),$t(o),i.length){for(var a=0,c=e,l=o.length;l>a;++a)o[a].entry=c=!c;for(var s,f,h,g=i[0];;){for(s=g;s.visited;)if((s=s.next)===g)return;f=s.points,u.lineStart();do{if(s.visited=s.other.visited=!0,s.entry){if(s.subject)for(var a=0;a=0;)u.point((h=f[a])[0],h[1])}else r(s.point,s.prev.point,-1,u);s=s.prev}s=s.other,f=s.points}while(!s.visited);u.lineEnd()}}}function $t(n){if(t=n.length){for(var t,e,r=0,u=n[0];++r1&&2&t&&e.push(e.pop().concat(e.shift())),g.push(e.filter(Wt))}}var g,p,d,v=t(i),m=u.invert(r[0],r[1]),y={point:o,lineStart:c,lineEnd:l,polygonStart:function(){y.point=s,y.lineStart=f,y.lineEnd=h,g=[],p=[],i.polygonStart()},polygonEnd:function(){y.point=o,y.lineStart=c,y.lineEnd=l,g=mo.merge(g);var n=Kt(m,p);g.length?Xt(g,Gt,n,e,i):n&&(i.lineStart(),e(null,null,1,i),i.lineEnd()),i.polygonEnd(),g=p=null},sphere:function(){i.polygonStart(),i.lineStart(),e(null,null,1,i),i.lineEnd(),i.polygonEnd()}},M=Jt(),x=t(M);return y}}function Wt(n){return n.length>1}function Jt(){var n,t=[];return{lineStart:function(){t.push(n=[])},point:function(t,e){n.push([t,e])},lineEnd:c,buffer:function(){var e=t;return t=[],n=null,e},rejoin:function(){t.length>1&&t.push(t.pop().concat(t.shift()))}}}function Gt(n,t){return((n=n.point)[0]<0?n[1]-Jo-Go:Jo-n[1])-((t=t.point)[0]<0?t[1]-Jo-Go:Jo-t[1])}function Kt(n,t){var e=n[0],r=n[1],u=[Math.sin(e),-Math.cos(e),0],i=0,o=0;La.reset();for(var a=0,c=t.length;c>a;++a){var l=t[a],s=l.length;if(s)for(var f=l[0],h=f[0],g=f[1]/2+Bo/4,p=Math.sin(g),d=Math.cos(g),v=1;;){v===s&&(v=0),n=l[v];var m=n[0],y=n[1]/2+Bo/4,M=Math.sin(y),x=Math.cos(y),b=m-h,_=Math.abs(b)>Bo,w=p*M;if(La.add(Math.atan2(w*Math.sin(b),d*x+w*Math.cos(b))),i+=_?b+(b>=0?2:-2)*Bo:b,_^h>=e^m>=e){var S=jt(Ct(f),Ct(n));Ft(S);var E=jt(u,S);Ft(E);var k=(_^b>=0?-1:1)*O(E[2]);(r>k||r===k&&(S[0]||S[1]))&&(o+=_^b>=0?1:-1)}if(!v++)break;h=m,p=M,d=x,f=n}}return(-Go>i||Go>i&&0>La)^1&o}function Qt(n){var t,e=0/0,r=0/0,u=0/0;return{lineStart:function(){n.lineStart(),t=1},point:function(i,o){var a=i>0?Bo:-Bo,c=Math.abs(i-e);Math.abs(c-Bo)0?Jo:-Jo),n.point(u,r),n.lineEnd(),n.lineStart(),n.point(a,r),n.point(i,r),t=0):u!==a&&c>=Bo&&(Math.abs(e-u)Go?Math.atan((Math.sin(t)*(i=Math.cos(r))*Math.sin(e)-Math.sin(r)*(u=Math.cos(t))*Math.sin(n))/(u*i*o)):(t+r)/2}function te(n,t,e,r){var u;if(null==n)u=e*Jo,r.point(-Bo,u),r.point(0,u),r.point(Bo,u),r.point(Bo,0),r.point(Bo,-u),r.point(0,-u),r.point(-Bo,-u),r.point(-Bo,0),r.point(-Bo,u);else if(Math.abs(n[0]-t[0])>Go){var i=(n[0]i}function e(n){var e,i,c,l,s;return{lineStart:function(){l=c=!1,s=1},point:function(f,h){var g,p=[f,h],d=t(f,h),v=o?d?0:u(f,h):d?u(f+(0>f?Bo:-Bo),h):0;if(!e&&(l=c=d)&&n.lineStart(),d!==c&&(g=r(e,p),(Ot(e,g)||Ot(p,g))&&(p[0]+=Go,p[1]+=Go,d=t(p[0],p[1]))),d!==c)s=0,d?(n.lineStart(),g=r(p,e),n.point(g[0],g[1])):(g=r(e,p),n.point(g[0],g[1]),n.lineEnd()),e=g;else if(a&&e&&o^d){var m;v&i||!(m=r(p,e,!0))||(s=0,o?(n.lineStart(),n.point(m[0][0],m[0][1]),n.point(m[1][0],m[1][1]),n.lineEnd()):(n.point(m[1][0],m[1][1]),n.lineEnd(),n.lineStart(),n.point(m[0][0],m[0][1])))}!d||e&&Ot(e,p)||n.point(p[0],p[1]),e=p,c=d,i=v},lineEnd:function(){c&&n.lineEnd(),e=null},clean:function(){return s|(l&&c)<<1}}}function r(n,t,e){var r=Ct(n),u=Ct(t),o=[1,0,0],a=jt(r,u),c=Dt(a,a),l=a[0],s=c-l*l;if(!s)return!e&&n;var f=i*c/s,h=-i*l/s,g=jt(o,a),p=Ht(o,f),d=Ht(a,h);Lt(p,d);var v=g,m=Dt(p,v),y=Dt(v,v),M=m*m-y*(Dt(p,p)-1);if(!(0>M)){var x=Math.sqrt(M),b=Ht(v,(-m-x)/y);if(Lt(b,p),b=Pt(b),!e)return b;var _,w=n[0],S=t[0],E=n[1],k=t[1];w>S&&(_=w,w=S,S=_);var A=S-w,N=Math.abs(A-Bo)A;if(!N&&E>k&&(_=E,E=k,k=_),T?N?E+k>0^b[1]<(Math.abs(b[0]-w)Bo^(w<=b[0]&&b[0]<=S)){var q=Ht(v,(-m+x)/y);return Lt(q,p),[b,Pt(q)]}}}function u(t,e){var r=o?n:Bo-n,u=0;return-r>t?u|=1:t>r&&(u|=2),-r>e?u|=4:e>r&&(u|=8),u}var i=Math.cos(n),o=i>0,a=Math.abs(i)>Go,c=Te(n,6*Qo);return Bt(t,e,c,o?[0,-n]:[-Bo,n-Bo])}function re(n,t,e,r){function u(r,u){return Math.abs(r[0]-n)0?0:3:Math.abs(r[0]-e)0?2:1:Math.abs(r[1]-t)0?1:0:u>0?3:2}function i(n,t){return o(n.point,t.point)}function o(n,t){var e=u(n,1),r=u(t,1);return e!==r?e-r:0===e?t[1]-n[1]:1===e?n[0]-t[0]:2===e?n[1]-t[1]:t[0]-n[0]}function a(u,i){var o=i[0]-u[0],a=i[1]-u[1],c=[0,1];return Math.abs(o)0&&(u[0]+=c[0]*o,u[1]+=c[0]*a),!0):!1}return function(c){function l(n){for(var t=0,e=y.length,r=n[1],u=0;e>u;++u)for(var i,o=1,a=y[u],c=a.length,l=a[0];c>o;++o)i=a[o],l[1]<=r?i[1]>r&&s(l,i,n)>0&&++t:i[1]<=r&&s(l,i,n)<0&&--t,l=i;return 0!==t}function s(n,t,e){return(t[0]-n[0])*(e[1]-n[1])-(e[0]-n[0])*(t[1]-n[1])}function f(i,a,c,l){var s=0,f=0;if(null==i||(s=u(i,c))!==(f=u(a,c))||o(i,a)<0^c>0){do l.point(0===s||3===s?n:e,s>1?r:t);while((s=(s+c+4)%4)!==f)}else l.point(a[0],a[1])}function h(u,i){return u>=n&&e>=u&&i>=t&&r>=i}function g(n,t){h(n,t)&&c.point(n,t)}function p(){q.point=v,y&&y.push(M=[]),k=!0,E=!1,w=S=0/0}function d(){m&&(v(x,b),_&&E&&T.rejoin(),m.push(T.buffer())),q.point=g,E&&c.lineEnd()}function v(n,t){n=Math.max(-Ja,Math.min(Ja,n)),t=Math.max(-Ja,Math.min(Ja,t));var e=h(n,t);if(y&&M.push([n,t]),k)x=n,b=t,_=e,k=!1,e&&(c.lineStart(),c.point(n,t));else if(e&&E)c.point(n,t);else{var r=[w,S],u=[n,t];a(r,u)?(E||(c.lineStart(),c.point(r[0],r[1])),c.point(u[0],u[1]),e||c.lineEnd(),A=!1):e&&(c.lineStart(),c.point(n,t),A=!1)}w=n,S=t,E=e}var m,y,M,x,b,_,w,S,E,k,A,N=c,T=Jt(),q={point:g,lineStart:p,lineEnd:d,polygonStart:function(){c=T,m=[],y=[],A=!0},polygonEnd:function(){c=N,m=mo.merge(m);var t=l([n,r]),e=A&&t,u=m.length;(e||u)&&(c.polygonStart(),e&&(c.lineStart(),f(null,null,1,c),c.lineEnd()),u&&Xt(m,i,t,f,c),c.polygonEnd()),m=y=M=null}};return q}}function ue(n,t,e){if(Math.abs(t)=n;var r=n/t;if(t>0){if(r>e[1])return!1;r>e[0]&&(e[0]=r)}else{if(rn&&(Qa=n),n>tc&&(tc=n),nc>t&&(nc=t),t>ec&&(ec=t)}function se(){function n(n,t){o.push("M",n,",",t,i)}function t(n,t){o.push("M",n,",",t),a.point=e}function e(n,t){o.push("L",n,",",t)}function r(){a.point=n}function u(){o.push("Z")}var i=fe(4.5),o=[],a={point:n,lineStart:function(){a.point=t},lineEnd:r,polygonStart:function(){a.lineEnd=u},polygonEnd:function(){a.lineEnd=r,a.point=n},pointRadius:function(n){return i=fe(n),a},result:function(){if(o.length){var n=o.join("");return o=[],n}}};return a}function fe(n){return"m0,"+n+"a"+n+","+n+" 0 1,1 0,"+-2*n+"a"+n+","+n+" 0 1,1 0,"+2*n+"z"}function he(n,t){Oa+=n,Ra+=t,++Ya}function ge(){function n(n,r){var u=n-t,i=r-e,o=Math.sqrt(u*u+i*i);Ia+=o*(t+n)/2,Ua+=o*(e+r)/2,Za+=o,he(t=n,e=r)}var t,e;ic.point=function(r,u){ic.point=n,he(t=r,e=u)}}function pe(){ic.point=he}function de(){function n(n,t){var e=n-r,i=t-u,o=Math.sqrt(e*e+i*i);Ia+=o*(r+n)/2,Ua+=o*(u+t)/2,Za+=o,o=u*n-r*t,Va+=o*(r+n),Xa+=o*(u+t),$a+=3*o,he(r=n,u=t)}var t,e,r,u;ic.point=function(i,o){ic.point=n,he(t=r=i,e=u=o)},ic.lineEnd=function(){n(t,e)}}function ve(n){function t(t,e){n.moveTo(t,e),n.arc(t,e,o,0,Wo)}function e(t,e){n.moveTo(t,e),a.point=r}function r(t,e){n.lineTo(t,e)}function u(){a.point=t}function i(){n.closePath()}var o=4.5,a={point:t,lineStart:function(){a.point=e},lineEnd:u,polygonStart:function(){a.lineEnd=i},polygonEnd:function(){a.lineEnd=u,a.point=t},pointRadius:function(n){return o=n,a},result:c};return a}function me(n){function t(t){function r(e,r){e=n(e,r),t.point(e[0],e[1])}function u(){M=0/0,S.point=o,t.lineStart()}function o(r,u){var o=Ct([r,u]),a=n(r,u);e(M,x,y,b,_,w,M=a[0],x=a[1],y=r,b=o[0],_=o[1],w=o[2],i,t),t.point(M,x)}function a(){S.point=r,t.lineEnd()}function c(){u(),S.point=l,S.lineEnd=s}function l(n,t){o(f=n,h=t),g=M,p=x,d=b,v=_,m=w,S.point=o}function s(){e(M,x,y,b,_,w,g,p,f,d,v,m,i,t),S.lineEnd=a,a()}var f,h,g,p,d,v,m,y,M,x,b,_,w,S={point:r,lineStart:u,lineEnd:a,polygonStart:function(){t.polygonStart(),S.lineStart=c},polygonEnd:function(){t.polygonEnd(),S.lineStart=u}};return S}function e(t,i,o,a,c,l,s,f,h,g,p,d,v,m){var y=s-t,M=f-i,x=y*y+M*M;if(x>4*r&&v--){var b=a+g,_=c+p,w=l+d,S=Math.sqrt(b*b+_*_+w*w),E=Math.asin(w/=S),k=Math.abs(Math.abs(w)-1)r||Math.abs((y*q+M*z)/x-.5)>.3||u>a*g+c*p+l*d)&&(e(t,i,o,a,c,l,N,T,k,b/=S,_/=S,w,v,m),m.point(N,T),e(N,T,k,b,_,w,s,f,h,g,p,d,v,m))}}var r=.5,u=Math.cos(30*Qo),i=16;return t.precision=function(n){return arguments.length?(i=(r=n*n)>0&&16,t):Math.sqrt(r)},t}function ye(n){this.stream=n}function Me(n){var t=me(function(t,e){return n([t*na,e*na])});return function(n){var e=new ye(n=t(n));return e.point=function(t,e){n.point(t*Qo,e*Qo)},e}}function xe(n){return be(function(){return n})()}function be(n){function t(n){return n=a(n[0]*Qo,n[1]*Qo),[n[0]*h+c,l-n[1]*h]}function e(n){return n=a.invert((n[0]-c)/h,(l-n[1])/h),n&&[n[0]*na,n[1]*na]}function r(){a=ie(o=Ee(m,y,M),i);var n=i(d,v);return c=g-n[0]*h,l=p+n[1]*h,u()}function u(){return s&&(s.valid=!1,s=null),t}var i,o,a,c,l,s,f=me(function(n,t){return n=i(n,t),[n[0]*h+c,l-n[1]*h]}),h=150,g=480,p=250,d=0,v=0,m=0,y=0,M=0,x=Wa,b=dt,_=null,w=null;return t.stream=function(n){return s&&(s.valid=!1),s=_e(x(o,f(b(n)))),s.valid=!0,s},t.clipAngle=function(n){return arguments.length?(x=null==n?(_=n,Wa):ee((_=+n)*Qo),u()):_},t.clipExtent=function(n){return arguments.length?(w=n,b=n?re(n[0][0],n[0][1],n[1][0],n[1][1]):dt,u()):w},t.scale=function(n){return arguments.length?(h=+n,r()):h},t.translate=function(n){return arguments.length?(g=+n[0],p=+n[1],r()):[g,p]},t.center=function(n){return arguments.length?(d=n[0]%360*Qo,v=n[1]%360*Qo,r()):[d*na,v*na]},t.rotate=function(n){return arguments.length?(m=n[0]%360*Qo,y=n[1]%360*Qo,M=n.length>2?n[2]%360*Qo:0,r()):[m*na,y*na,M*na]},mo.rebind(t,f,"precision"),function(){return i=n.apply(this,arguments),t.invert=i.invert&&e,r()}}function _e(n){var t=new ye(n);return t.point=function(t,e){n.point(t*Qo,e*Qo)},t}function we(n,t){return[n,t]}function Se(n,t){return[n>Bo?n-Wo:-Bo>n?n+Wo:n,t]}function Ee(n,t,e){return n?t||e?ie(Ae(n),Ne(t,e)):Ae(n):t||e?Ne(t,e):Se}function ke(n){return function(t,e){return t+=n,[t>Bo?t-Wo:-Bo>t?t+Wo:t,e]}}function Ae(n){var t=ke(n);return t.invert=ke(-n),t}function Ne(n,t){function e(n,t){var e=Math.cos(t),a=Math.cos(n)*e,c=Math.sin(n)*e,l=Math.sin(t),s=l*r+a*u;return[Math.atan2(c*i-s*o,a*r-l*u),O(s*i+c*o)]}var r=Math.cos(n),u=Math.sin(n),i=Math.cos(t),o=Math.sin(t);return e.invert=function(n,t){var e=Math.cos(t),a=Math.cos(n)*e,c=Math.sin(n)*e,l=Math.sin(t),s=l*i-c*o;return[Math.atan2(c*i+l*o,a*r+s*u),O(s*r-a*u)]},e}function Te(n,t){var e=Math.cos(n),r=Math.sin(n);return function(u,i,o,a){var c=o*t;null!=u?(u=qe(e,u),i=qe(e,i),(o>0?i>u:u>i)&&(u+=o*Wo)):(u=n+o*Wo,i=n-.5*c);for(var l,s=u;o>0?s>i:i>s;s-=c)a.point((l=Pt([e,-r*Math.cos(s),-r*Math.sin(s)]))[0],l[1])}}function qe(n,t){var e=Ct(t);e[0]-=n,Ft(e);var r=P(-e[1]);return((-e[2]<0?-r:r)+2*Math.PI-Go)%(2*Math.PI)}function ze(n,t,e){var r=mo.range(n,t-Go,e).concat(t);return function(n){return r.map(function(t){return[n,t]})}}function Ce(n,t,e){var r=mo.range(n,t-Go,e).concat(t);return function(n){return r.map(function(t){return[t,n]})}}function De(n){return n.source}function je(n){return n.target}function Le(n,t,e,r){var u=Math.cos(t),i=Math.sin(t),o=Math.cos(r),a=Math.sin(r),c=u*Math.cos(n),l=u*Math.sin(n),s=o*Math.cos(e),f=o*Math.sin(e),h=2*Math.asin(Math.sqrt(U(r-t)+u*o*U(e-n))),g=1/Math.sin(h),p=h?function(n){var t=Math.sin(n*=h)*g,e=Math.sin(h-n)*g,r=e*c+t*s,u=e*l+t*f,o=e*i+t*a;return[Math.atan2(u,r)*na,Math.atan2(o,Math.sqrt(r*r+u*u))*na]}:function(){return[n*na,t*na]};return p.distance=h,p}function He(){function n(n,u){var i=Math.sin(u*=Qo),o=Math.cos(u),a=Math.abs((n*=Qo)-t),c=Math.cos(a);oc+=Math.atan2(Math.sqrt((a=o*Math.sin(a))*a+(a=r*i-e*o*c)*a),e*i+r*o*c),t=n,e=i,r=o}var t,e,r;ac.point=function(u,i){t=u*Qo,e=Math.sin(i*=Qo),r=Math.cos(i),ac.point=n},ac.lineEnd=function(){ac.point=ac.lineEnd=c}}function Fe(n,t){function e(t,e){var r=Math.cos(t),u=Math.cos(e),i=n(r*u);return[i*u*Math.sin(t),i*Math.sin(e)]}return e.invert=function(n,e){var r=Math.sqrt(n*n+e*e),u=t(r),i=Math.sin(u),o=Math.cos(u);return[Math.atan2(n*i,r*o),Math.asin(r&&e*i/r)]},e}function Pe(n,t){function e(n,t){var e=Math.abs(Math.abs(t)-Jo)1&&u.push("H",r[0]),u.join("")}function We(n){for(var t=0,e=n.length,r=n[0],u=[r[0],",",r[1]];++t1){a=t[1],i=n[c],c++,r+="C"+(u[0]+o[0])+","+(u[1]+o[1])+","+(i[0]-a[0])+","+(i[1]-a[1])+","+i[0]+","+i[1];for(var l=2;l9&&(u=3*t/Math.sqrt(u),o[a]=u*e,o[a+1]=u*r));for(a=-1;++a<=c;)u=(n[Math.min(c,a+1)][0]-n[Math.max(0,a-1)][0])/(6*(1+o[a]*o[a])),i.push([u||0,o[a]*u||0]);return i}function fr(n){return n.length<3?Xe(n):n[0]+nr(n,sr(n))}function hr(n,t,e,r){var u,i,o,a,c,l,s;return u=r[n],i=u[0],o=u[1],u=r[t],a=u[0],c=u[1],u=r[e],l=u[0],s=u[1],(s-o)*(a-i)-(c-o)*(l-i)>0}function gr(n,t,e){return(e[0]-t[0])*(n[1]-t[1])<(e[1]-t[1])*(n[0]-t[0])}function pr(n,t,e,r){var u=n[0],i=e[0],o=t[0]-u,a=r[0]-i,c=n[1],l=e[1],s=t[1]-c,f=r[1]-l,h=(a*(c-l)-f*(u-i))/(f*o-a*s);return[u+h*o,c+h*s]}function dr(n){var t=n[0],e=n[n.length-1];return!(t[0]-e[0]||t[1]-e[1])}function vr(n,t){var e={list:n.map(function(n,t){return{index:t,x:n[0],y:n[1]}}).sort(function(n,t){return n.yt.y?1:n.xt.x?1:0}),bottomSite:null},r={list:[],leftEnd:null,rightEnd:null,init:function(){r.leftEnd=r.createHalfEdge(null,"l"),r.rightEnd=r.createHalfEdge(null,"l"),r.leftEnd.r=r.rightEnd,r.rightEnd.l=r.leftEnd,r.list.unshift(r.leftEnd,r.rightEnd)},createHalfEdge:function(n,t){return{edge:n,side:t,vertex:null,l:null,r:null}},insert:function(n,t){t.l=n,t.r=n.r,n.r.l=t,n.r=t},leftBound:function(n){var t=r.leftEnd;do t=t.r;while(t!=r.rightEnd&&u.rightOf(t,n));return t=t.l},del:function(n){n.l.r=n.r,n.r.l=n.l,n.edge=null},right:function(n){return n.r},left:function(n){return n.l},leftRegion:function(n){return null==n.edge?e.bottomSite:n.edge.region[n.side]},rightRegion:function(n){return null==n.edge?e.bottomSite:n.edge.region[yc[n.side]]}},u={bisect:function(n,t){var e={region:{l:n,r:t},ep:{l:null,r:null}},r=t.x-n.x,u=t.y-n.y,i=r>0?r:-r,o=u>0?u:-u;return e.c=n.x*r+n.y*u+.5*(r*r+u*u),i>o?(e.a=1,e.b=u/r,e.c/=r):(e.b=1,e.a=r/u,e.c/=u),e},intersect:function(n,t){var e=n.edge,r=t.edge;if(!e||!r||e.region.r==r.region.r)return null;var u=e.a*r.b-e.b*r.a;if(Math.abs(u)<1e-10)return null;var i,o,a=(e.c*r.b-r.c*e.b)/u,c=(r.c*e.a-e.c*r.a)/u,l=e.region.r,s=r.region.r;l.y=o.region.r.x;return f&&"l"===i.side||!f&&"r"===i.side?null:{x:a,y:c}},rightOf:function(n,t){var e=n.edge,r=e.region.r,u=t.x>r.x;if(u&&"l"===n.side)return 1;if(!u&&"r"===n.side)return 0;if(1===e.a){var i=t.y-r.y,o=t.x-r.x,a=0,c=0;if(!u&&e.b<0||u&&e.b>=0?c=a=i>=e.b*o:(c=t.x+t.y*e.b>e.c,e.b<0&&(c=!c),c||(a=1)),!a){var l=r.x-e.region.l.x;c=e.b*(o*o-i*i)h*h+g*g}return"l"===n.side?c:!c},endPoint:function(n,e,r){n.ep[e]=r,n.ep[yc[e]]&&t(n)},distance:function(n,t){var e=n.x-t.x,r=n.y-t.y;return Math.sqrt(e*e+r*r)}},i={list:[],insert:function(n,t,e){n.vertex=t,n.ystar=t.y+e;for(var r=0,u=i.list,o=u.length;o>r;r++){var a=u[r];if(!(n.ystar>a.ystar||n.ystar==a.ystar&&t.x>a.vertex.x))break}u.splice(r,0,n)},del:function(n){for(var t=0,e=i.list,r=e.length;r>t&&e[t]!=n;++t);e.splice(t,1)},empty:function(){return 0===i.list.length},nextEvent:function(n){for(var t=0,e=i.list,r=e.length;r>t;++t)if(e[t]==n)return e[t+1];return null},min:function(){var n=i.list[0];return{x:n.vertex.x,y:n.ystar}},extractMin:function(){return i.list.shift()}};r.init(),e.bottomSite=e.list.shift();for(var o,a,c,l,s,f,h,g,p,d,v,m,y,M=e.list.shift();;)if(i.empty()||(o=i.min()),M&&(i.empty()||M.yg.y&&(p=h,h=g,g=p,y="r"),m=u.bisect(h,g),f=r.createHalfEdge(m,y),r.insert(l,f),u.endPoint(m,yc[y],v),d=u.intersect(l,f),d&&(i.del(l),i.insert(l,d,u.distance(d,h))),d=u.intersect(f,s),d&&i.insert(f,d,u.distance(d,h))}for(a=r.right(r.leftEnd);a!=r.rightEnd;a=r.right(a))t(a.edge)}function mr(n){return n.x}function yr(n){return n.y}function Mr(){return{leaf:!0,nodes:[],point:null,x:null,y:null}}function xr(n,t,e,r,u,i){if(!n(t,e,r,u,i)){var o=.5*(e+u),a=.5*(r+i),c=t.nodes;c[0]&&xr(n,c[0],e,r,o,a),c[1]&&xr(n,c[1],o,r,u,a),c[2]&&xr(n,c[2],e,a,o,i),c[3]&&xr(n,c[3],o,a,u,i)}}function br(n,t){n=mo.rgb(n),t=mo.rgb(t);var e=n.r,r=n.g,u=n.b,i=t.r-e,o=t.g-r,a=t.b-u;return function(n){return"#"+ct(Math.round(e+i*n))+ct(Math.round(r+o*n))+ct(Math.round(u+a*n))}}function _r(n,t){var e,r={},u={};for(e in n)e in t?r[e]=Er(n[e],t[e]):u[e]=n[e];for(e in t)e in n||(u[e]=t[e]);return function(n){for(e in r)u[e]=r[e](n);return u}}function wr(n,t){return t-=n=+n,function(e){return n+t*e}}function Sr(n,t){var e,r,u,i,o,a=0,c=0,l=[],s=[];for(n+="",t+="",Mc.lastIndex=0,r=0;e=Mc.exec(t);++r)e.index&&l.push(t.substring(a,c=e.index)),s.push({i:l.length,x:e[0]}),l.push(null),a=Mc.lastIndex;for(ar;++r)if(o=s[r],o.x==e[0]){if(o.i)if(null==l[o.i+1])for(l[o.i-1]+=o.x,l.splice(o.i,1),u=r+1;i>u;++u)s[u].i--;else for(l[o.i-1]+=o.x+l[o.i+1],l.splice(o.i,2),u=r+1;i>u;++u)s[u].i-=2;else if(null==l[o.i+1])l[o.i]=o.x;else for(l[o.i]=o.x+l[o.i+1],l.splice(o.i+1,1),u=r+1;i>u;++u)s[u].i--;s.splice(r,1),i--,r--}else o.x=wr(parseFloat(e[0]),parseFloat(o.x));for(;i>r;)o=s.pop(),null==l[o.i+1]?l[o.i]=o.x:(l[o.i]=o.x+l[o.i+1],l.splice(o.i+1,1)),i--;return 1===l.length?null==l[0]?(o=s[0].x,function(n){return o(n)+""}):function(){return t}:function(n){for(r=0;i>r;++r)l[(o=s[r]).i]=o.x(n);return l.join("")}}function Er(n,t){for(var e,r=mo.interpolators.length;--r>=0&&!(e=mo.interpolators[r](n,t)););return e}function kr(n,t){var e,r=[],u=[],i=n.length,o=t.length,a=Math.min(n.length,t.length);for(e=0;a>e;++e)r.push(Er(n[e],t[e]));for(;i>e;++e)u[e]=n[e];for(;o>e;++e)u[e]=t[e];return function(n){for(e=0;a>e;++e)u[e]=r[e](n);return u}}function Ar(n){return function(t){return 0>=t?0:t>=1?1:n(t)}}function Nr(n){return function(t){return 1-n(1-t)}}function Tr(n){return function(t){return.5*(.5>t?n(2*t):2-n(2-2*t))}}function qr(n){return n*n}function zr(n){return n*n*n}function Cr(n){if(0>=n)return 0;if(n>=1)return 1;var t=n*n,e=t*n;return 4*(.5>n?e:3*(n-t)+e-.75)}function Dr(n){return function(t){return Math.pow(t,n)}}function jr(n){return 1-Math.cos(n*Jo)}function Lr(n){return Math.pow(2,10*(n-1))}function Hr(n){return 1-Math.sqrt(1-n*n)}function Fr(n,t){var e;return arguments.length<2&&(t=.45),arguments.length?e=t/Wo*Math.asin(1/n):(n=1,e=t/4),function(r){return 1+n*Math.pow(2,-10*r)*Math.sin((r-e)*Wo/t)}}function Pr(n){return n||(n=1.70158),function(t){return t*t*((n+1)*t-n)}}function Or(n){return 1/2.75>n?7.5625*n*n:2/2.75>n?7.5625*(n-=1.5/2.75)*n+.75:2.5/2.75>n?7.5625*(n-=2.25/2.75)*n+.9375:7.5625*(n-=2.625/2.75)*n+.984375}function Rr(n,t){n=mo.hcl(n),t=mo.hcl(t);var e=n.h,r=n.c,u=n.l,i=t.h-e,o=t.c-r,a=t.l-u;return isNaN(o)&&(o=0,r=isNaN(r)?t.c:r),isNaN(i)?(i=0,e=isNaN(e)?t.h:e):i>180?i-=360:-180>i&&(i+=360),function(n){return J(e+i*n,r+o*n,u+a*n)+""}}function Yr(n,t){n=mo.hsl(n),t=mo.hsl(t);var e=n.h,r=n.s,u=n.l,i=t.h-e,o=t.s-r,a=t.l-u;return isNaN(o)&&(o=0,r=isNaN(r)?t.s:r),isNaN(i)?(i=0,e=isNaN(e)?t.h:e):i>180?i-=360:-180>i&&(i+=360),function(n){return $(e+i*n,r+o*n,u+a*n)+""}}function Ir(n,t){n=mo.lab(n),t=mo.lab(t);var e=n.l,r=n.a,u=n.b,i=t.l-e,o=t.a-r,a=t.b-u;return function(n){return Q(e+i*n,r+o*n,u+a*n)+""}}function Ur(n,t){return t-=n,function(e){return Math.round(n+t*e)}}function Zr(n){var t=[n.a,n.b],e=[n.c,n.d],r=Xr(t),u=Vr(t,e),i=Xr($r(e,t,-u))||0;t[0]*e[1]180?s+=360:s-l>180&&(l+=360),u.push({i:r.push(r.pop()+"rotate(",null,")")-2,x:wr(l,s)})):s&&r.push(r.pop()+"rotate("+s+")"),f!=h?u.push({i:r.push(r.pop()+"skewX(",null,")")-2,x:wr(f,h)}):h&&r.push(r.pop()+"skewX("+h+")"),g[0]!=p[0]||g[1]!=p[1]?(e=r.push(r.pop()+"scale(",null,",",null,")"),u.push({i:e-4,x:wr(g[0],p[0])},{i:e-2,x:wr(g[1],p[1])})):(1!=p[0]||1!=p[1])&&r.push(r.pop()+"scale("+p+")"),e=u.length,function(n){for(var t,i=-1;++ie;++e)(t=n[e][1])>u&&(r=e,u=t);return r}function vu(n){return n.reduce(mu,0)}function mu(n,t){return n+t[1]}function yu(n,t){return Mu(n,Math.ceil(Math.log(t.length)/Math.LN2+1))}function Mu(n,t){for(var e=-1,r=+n[0],u=(n[1]-r)/t,i=[];++e<=t;)i[e]=u*e+r;return i}function xu(n){return[mo.min(n),mo.max(n)]}function bu(n,t){return n.parent==t.parent?1:2}function _u(n){var t=n.children;return t&&t.length?t[0]:n._tree.thread}function wu(n){var t,e=n.children;return e&&(t=e.length)?e[t-1]:n._tree.thread}function Su(n,t){var e=n.children;if(e&&(u=e.length))for(var r,u,i=-1;++i0&&(n=r);return n}function Eu(n,t){return n.x-t.x}function ku(n,t){return t.x-n.x}function Au(n,t){return n.depth-t.depth}function Nu(n,t){function e(n,r){var u=n.children;if(u&&(o=u.length))for(var i,o,a=null,c=-1;++c=0;)t=u[i]._tree,t.prelim+=e,t.mod+=e,e+=t.shift+(r+=t.change)}function qu(n,t,e){n=n._tree,t=t._tree;var r=e/(t.number-n.number);n.change+=r,t.change-=r,t.shift+=e,t.prelim+=e,t.mod+=e}function zu(n,t,e){return n._tree.ancestor.parent==t.parent?n._tree.ancestor:e}function Cu(n,t){return n.value-t.value}function Du(n,t){var e=n._pack_next;n._pack_next=t,t._pack_prev=n,t._pack_next=e,e._pack_prev=t}function ju(n,t){n._pack_next=t,t._pack_prev=n}function Lu(n,t){var e=t.x-n.x,r=t.y-n.y,u=n.r+t.r;return.999*u*u>e*e+r*r}function Hu(n){function t(n){s=Math.min(n.x-n.r,s),f=Math.max(n.x+n.r,f),h=Math.min(n.y-n.r,h),g=Math.max(n.y+n.r,g)}if((e=n.children)&&(l=e.length)){var e,r,u,i,o,a,c,l,s=1/0,f=-1/0,h=1/0,g=-1/0;if(e.forEach(Fu),r=e[0],r.x=-r.r,r.y=0,t(r),l>1&&(u=e[1],u.x=u.r,u.y=0,t(u),l>2))for(i=e[2],Ru(r,u,i),t(i),Du(r,i),r._pack_prev=i,Du(i,u),u=r._pack_next,o=3;l>o;o++){Ru(r,u,i=e[o]);var p=0,d=1,v=1;for(a=u._pack_next;a!==u;a=a._pack_next,d++)if(Lu(a,i)){p=1;break}if(1==p)for(c=r._pack_prev;c!==a._pack_prev&&!Lu(c,i);c=c._pack_prev,v++);p?(v>d||d==v&&u.ro;o++)i=e[o],i.x-=m,i.y-=y,M=Math.max(M,i.r+Math.sqrt(i.x*i.x+i.y*i.y));n.r=M,e.forEach(Pu)}}function Fu(n){n._pack_next=n._pack_prev=n}function Pu(n){delete n._pack_next,delete n._pack_prev}function Ou(n,t,e,r){var u=n.children;if(n.x=t+=r*n.x,n.y=e+=r*n.y,n.r*=r,u)for(var i=-1,o=u.length;++iu&&(e+=u/2,u=0),0>i&&(r+=i/2,i=0),{x:e,y:r,dx:u,dy:i}}function $u(n){var t=n[0],e=n[n.length-1];return e>t?[t,e]:[e,t]}function Bu(n){return n.rangeExtent?n.rangeExtent():$u(n.range())}function Wu(n,t,e,r){var u=e(n[0],n[1]),i=r(t[0],t[1]);return function(n){return i(u(n))}}function Ju(n,t){var e,r=0,u=n.length-1,i=n[r],o=n[u];return i>o&&(e=r,r=u,u=e,e=i,i=o,o=e),n[r]=t.floor(i),n[u]=t.ceil(o),n}function Gu(n){return n?{floor:function(t){return Math.floor(t/n)*n},ceil:function(t){return Math.ceil(t/n)*n}}:Tc}function Ku(n,t,e,r){var u=[],i=[],o=0,a=Math.min(n.length,t.length)-1;for(n[a]2?Ku:Wu,c=r?Jr:Wr;return o=u(n,t,c,e),a=u(t,n,c,Er),i}function i(n){return o(n)}var o,a;return i.invert=function(n){return a(n)},i.domain=function(t){return arguments.length?(n=t.map(Number),u()):n},i.range=function(n){return arguments.length?(t=n,u()):t},i.rangeRound=function(n){return i.range(n).interpolate(Ur)},i.clamp=function(n){return arguments.length?(r=n,u()):r},i.interpolate=function(n){return arguments.length?(e=n,u()):e},i.ticks=function(t){return ri(n,t)},i.tickFormat=function(t,e){return ui(n,t,e)},i.nice=function(t){return ti(n,t),u()},i.copy=function(){return Qu(n,t,e,r)},u()}function ni(n,t){return mo.rebind(n,t,"range","rangeRound","interpolate","clamp")}function ti(n,t){return Ju(n,Gu(ei(n,t)[2]))}function ei(n,t){null==t&&(t=10);var e=$u(n),r=e[1]-e[0],u=Math.pow(10,Math.floor(Math.log(r/t)/Math.LN10)),i=t/r*u;return.15>=i?u*=10:.35>=i?u*=5:.75>=i&&(u*=2),e[0]=Math.ceil(e[0]/u)*u,e[1]=Math.floor(e[1]/u)*u+.5*u,e[2]=u,e}function ri(n,t){return mo.range.apply(mo,ei(n,t))}function ui(n,t,e){var r=-Math.floor(Math.log(ei(n,t)[2])/Math.LN10+.01);return mo.format(e?e.replace(Aa,function(n,t,e,u,i,o,a,c,l,s){return[t,e,u,i,o,a,c,l||"."+(r-2*("%"===s)),s].join("")}):",."+r+"f")}function ii(n,t,e,r){function u(n){return(e?Math.log(0>n?0:n):-Math.log(n>0?0:-n))/Math.log(t)}function i(n){return e?Math.pow(t,n):-Math.pow(t,-n)}function o(t){return n(u(t))}return o.invert=function(t){return i(n.invert(t))},o.domain=function(t){return arguments.length?(e=t[0]>=0,n.domain((r=t.map(Number)).map(u)),o):r},o.base=function(e){return arguments.length?(t=+e,n.domain(r.map(u)),o):t},o.nice=function(){var t=Ju(r.map(u),e?Math:zc);return n.domain(t),r=t.map(i),o},o.ticks=function(){var n=$u(r),o=[],a=n[0],c=n[1],l=Math.floor(u(a)),s=Math.ceil(u(c)),f=t%1?2:t;if(isFinite(s-l)){if(e){for(;s>l;l++)for(var h=1;f>h;h++)o.push(i(l)*h);o.push(i(l))}else for(o.push(i(l));l++0;h--)o.push(i(l)*h);for(l=0;o[l]c;s--);o=o.slice(l,s)}return o},o.tickFormat=function(n,t){if(!arguments.length)return qc;arguments.length<2?t=qc:"function"!=typeof t&&(t=mo.format(t));var r,a=Math.max(.1,n/o.ticks().length),c=e?(r=1e-12,Math.ceil):(r=-1e-12,Math.floor);return function(n){return n/i(c(u(n)+r))<=a?t(n):""}},o.copy=function(){return ii(n.copy(),t,e,r)},ni(o,n)}function oi(n,t,e){function r(t){return n(u(t))}var u=ai(t),i=ai(1/t);return r.invert=function(t){return i(n.invert(t))},r.domain=function(t){return arguments.length?(n.domain((e=t.map(Number)).map(u)),r):e},r.ticks=function(n){return ri(e,n)},r.tickFormat=function(n,t){return ui(e,n,t)},r.nice=function(n){return r.domain(ti(e,n))},r.exponent=function(o){return arguments.length?(u=ai(t=o),i=ai(1/t),n.domain(e.map(u)),r):t},r.copy=function(){return oi(n.copy(),t,e)},ni(r,n)}function ai(n){return function(t){return 0>t?-Math.pow(-t,n):Math.pow(t,n)}}function ci(n,t){function e(e){return o[((i.get(e)||"range"===t.t&&i.set(e,n.push(e)))-1)%o.length]}function r(t,e){return mo.range(n.length).map(function(n){return t+e*n})}var i,o,a;return e.domain=function(r){if(!arguments.length)return n;n=[],i=new u;for(var o,a=-1,c=r.length;++ae?[0/0,0/0]:[e>0?u[e-1]:n[0],et?0/0:t/i+n,[t,t+1/i]},r.copy=function(){return si(n,t,e)},u()}function fi(n,t){function e(e){return e>=e?t[mo.bisect(n,e)]:void 0}return e.domain=function(t){return arguments.length?(n=t,e):n},e.range=function(n){return arguments.length?(t=n,e):t},e.invertExtent=function(e){return e=t.indexOf(e),[n[e-1],n[e]]},e.copy=function(){return fi(n,t)},e}function hi(n){function t(n){return+n}return t.invert=t,t.domain=t.range=function(e){return arguments.length?(n=e.map(t),t):n},t.ticks=function(t){return ri(n,t)},t.tickFormat=function(t,e){return ui(n,t,e)},t.copy=function(){return hi(n)},t}function gi(n){return n.innerRadius}function pi(n){return n.outerRadius}function di(n){return n.startAngle}function vi(n){return n.endAngle}function mi(n){for(var t,e,r,u=-1,i=n.length;++ue?l():(i.active=e,o.event&&o.event.start.call(n,s,t),o.tween.forEach(function(e,r){(r=r.call(n,s,t))&&p.push(r)}),c(r||1)?1:(xt(c,h,a),void 0))}function c(r){if(i.active!==e)return l();for(var u=r/g,a=f(u),c=p.length;c>0;)p[--c].call(n,a);return u>=1?(o.event&&o.event.end.call(n,s,t),l()):void 0}function l(){return--i.count?delete i[e]:delete n.__transition__,1}var s=n.__data__,f=o.ease,h=o.delay,g=o.duration,p=[];return r>=h?u(r-h):(xt(u,h,a),void 0)},0,a)}}function Ti(n,t){n.attr("transform",function(n){return"translate("+t(n)+",0)"})}function qi(n,t){n.attr("transform",function(n){return"translate(0,"+t(n)+")"})}function zi(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function Ci(n,t,e){function r(t){var e=n(t),r=i(e,1);return r-t>t-e?e:r}function u(e){return t(e=n(new Jc(e-1)),1),e}function i(n,e){return t(n=new Jc(+n),e),n}function o(n,r,i){var o=u(n),a=[];if(i>1)for(;r>o;)e(o)%i||a.push(new Date(+o)),t(o,1);else for(;r>o;)a.push(new Date(+o)),t(o,1);return a}function a(n,t,e){try{Jc=zi;var r=new zi;return r._=n,o(r,t,e)}finally{Jc=Date}}n.floor=n,n.round=r,n.ceil=u,n.offset=i,n.range=o;var c=n.utc=Di(n);return c.floor=c,c.round=Di(r),c.ceil=Di(u),c.offset=Di(i),c.range=a,n}function Di(n){return function(t,e){try{Jc=zi;var r=new zi;return r._=t,n(r,e)._}finally{Jc=Date}}}function ji(n){function t(t){for(var r,u,i,o=[],a=-1,c=0;++aa;){if(r>=l)return-1;if(u=t.charCodeAt(a++),37===u){if(o=t.charAt(a++),i=ml[o in dl?t.charAt(a++):o],!i||(r=i(n,e,r))<0)return-1}else if(u!=e.charCodeAt(r++))return-1}return r}function Hi(n){return new RegExp("^(?:"+n.map(mo.requote).join("|")+")","i")}function Fi(n){for(var t=new u,e=-1,r=n.length;++en?"-":"",u=(r?-n:n)+"",i=u.length;return r+(e>i?new Array(e-i+1).join(t)+u:u)}function Oi(n,t,e){cl.lastIndex=0;var r=cl.exec(t.substring(e));return r?(n.w=ll.get(r[0].toLowerCase()),e+r[0].length):-1}function Ri(n,t,e){ol.lastIndex=0;var r=ol.exec(t.substring(e));return r?(n.w=al.get(r[0].toLowerCase()),e+r[0].length):-1}function Yi(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e,e+1));return r?(n.w=+r[0],e+r[0].length):-1}function Ii(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e));return r?(n.U=+r[0],e+r[0].length):-1}function Ui(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e));return r?(n.W=+r[0],e+r[0].length):-1}function Zi(n,t,e){hl.lastIndex=0;var r=hl.exec(t.substring(e));return r?(n.m=gl.get(r[0].toLowerCase()),e+r[0].length):-1}function Vi(n,t,e){sl.lastIndex=0;var r=sl.exec(t.substring(e));return r?(n.m=fl.get(r[0].toLowerCase()),e+r[0].length):-1}function Xi(n,t,e){return Li(n,vl.c.toString(),t,e)}function $i(n,t,e){return Li(n,vl.x.toString(),t,e)}function Bi(n,t,e){return Li(n,vl.X.toString(),t,e)}function Wi(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e,e+4));return r?(n.y=+r[0],e+r[0].length):-1}function Ji(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e,e+2));return r?(n.y=Ki(+r[0]),e+r[0].length):-1}function Gi(n,t,e){return/^[+-]\d{4}$/.test(t=t.substring(e,e+5))?(n.Z=+t,e+5):-1}function Ki(n){return n+(n>68?1900:2e3)}function Qi(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e,e+2));return r?(n.m=r[0]-1,e+r[0].length):-1}function no(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e,e+2));return r?(n.d=+r[0],e+r[0].length):-1}function to(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e,e+3));return r?(n.j=+r[0],e+r[0].length):-1}function eo(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e,e+2));return r?(n.H=+r[0],e+r[0].length):-1}function ro(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e,e+2));return r?(n.M=+r[0],e+r[0].length):-1}function uo(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e,e+2));return r?(n.S=+r[0],e+r[0].length):-1}function io(n,t,e){yl.lastIndex=0;var r=yl.exec(t.substring(e,e+3));return r?(n.L=+r[0],e+r[0].length):-1}function oo(n,t,e){var r=Ml.get(t.substring(e,e+=2).toLowerCase());return null==r?-1:(n.p=r,e)}function ao(n){var t=n.getTimezoneOffset(),e=t>0?"-":"+",r=~~(Math.abs(t)/60),u=Math.abs(t)%60;return e+Pi(r,"0",2)+Pi(u,"0",2)}function co(n,t,e){pl.lastIndex=0;var r=pl.exec(t.substring(e,e+1));return r?e+r[0].length:-1}function lo(n){function t(n){try{Jc=zi;var t=new Jc;return t._=n,e(t)}finally{Jc=Date}}var e=ji(n);return t.parse=function(n){try{Jc=zi;var t=e.parse(n);return t&&t._}finally{Jc=Date}},t.toString=e.toString,t}function so(n){return n.toISOString()}function fo(n,t,e){function r(t){return n(t)}function u(n,e){var r=n[1]-n[0],u=r/e,i=mo.bisect(bl,u);return i==bl.length?[t.year,ei(n.map(function(n){return n/31536e6}),e)[2]]:i?t[u/bl[i-1]1?{floor:function(t){for(;e(t=n.floor(t));)t=ho(t-1);return t},ceil:function(t){for(;e(t=n.ceil(t));)t=ho(+t+1);return t}}:n))},r.ticks=function(n,t){var e=$u(r.domain()),i=null==n?u(e,10):"number"==typeof n?u(e,n):!n.range&&[{range:n},t];return i&&(n=i[0],t=i[1]),n.range(e[0],ho(+e[1]+1),1>t?1:t)},r.tickFormat=function(){return e},r.copy=function(){return fo(n.copy(),t,e)},ni(r,n)}function ho(n){return new Date(n)}function go(n){return function(t){for(var e=n.length-1,r=n[e];!r[1](t);)r=n[--e];return r[0](t)}}function po(n){return JSON.parse(n.responseText)}function vo(n){var t=xo.createRange();return t.selectNode(xo.body),t.createContextualFragment(n.responseText)}var mo={version:"3.3.6"};Date.now||(Date.now=function(){return+new Date});var yo=[].slice,Mo=function(n){return yo.call(n)},xo=document,bo=xo.documentElement,_o=window;try{Mo(bo.childNodes)[0].nodeType}catch(wo){Mo=function(n){for(var t=n.length,e=new Array(t);t--;)e[t]=n[t];return e}}try{xo.createElement("div").style.setProperty("opacity",0,"")}catch(So){var Eo=_o.Element.prototype,ko=Eo.setAttribute,Ao=Eo.setAttributeNS,No=_o.CSSStyleDeclaration.prototype,To=No.setProperty;Eo.setAttribute=function(n,t){ko.call(this,n,t+"")},Eo.setAttributeNS=function(n,t,e){Ao.call(this,n,t,e+"")},No.setProperty=function(n,t,e){To.call(this,n,t+"",e)}}mo.ascending=function(n,t){return t>n?-1:n>t?1:n>=t?0:0/0},mo.descending=function(n,t){return n>t?-1:t>n?1:t>=n?0:0/0},mo.min=function(n,t){var e,r,u=-1,i=n.length;if(1===arguments.length){for(;++u=e);)e=void 0;for(;++ur&&(e=r)}else{for(;++u=e);)e=void 0;for(;++ur&&(e=r)}return e},mo.max=function(n,t){var e,r,u=-1,i=n.length;if(1===arguments.length){for(;++u=e);)e=void 0;for(;++ue&&(e=r)}else{for(;++u=e);)e=void 0;for(;++ue&&(e=r)}return e},mo.extent=function(n,t){var e,r,u,i=-1,o=n.length;if(1===arguments.length){for(;++i=e);)e=u=void 0;for(;++ir&&(e=r),r>u&&(u=r))}else{for(;++i=e);)e=void 0;for(;++ir&&(e=r),r>u&&(u=r))}return[e,u]},mo.sum=function(n,t){var e,r=0,u=n.length,i=-1;if(1===arguments.length)for(;++i1&&(t=t.map(e)),t=t.filter(n),t.length?mo.quantile(t.sort(mo.ascending),.5):void 0},mo.bisector=function(n){return{left:function(t,e,r,u){for(arguments.length<3&&(r=0),arguments.length<4&&(u=t.length);u>r;){var i=r+u>>>1;n.call(t,t[i],i)r;){var i=r+u>>>1;er?0:r);r>e;)i[e]=[t=u,u=n[++e]];return i},mo.zip=function(){if(!(u=arguments.length))return[];for(var n=-1,e=mo.min(arguments,t),r=new Array(e);++nr)for(;(u=n+r*++a)>t;)i.push(u/o);else for(;(u=n+r*++a)=o.length)return r?r.call(i,a):e?a.sort(e):a;for(var l,s,f,h,g=-1,p=a.length,d=o[c++],v=new u;++g=o.length)return n;var r=[],u=a[e++];return n.forEach(function(n,u){r.push({key:n,values:t(u,e)})}),u?r.sort(function(n,t){return u(n.key,t.key)}):r}var e,r,i={},o=[],a=[];return i.map=function(t,e){return n(e,t,0)},i.entries=function(e){return t(n(mo.map,e,0),0)},i.key=function(n){return o.push(n),i},i.sortKeys=function(n){return a[o.length-1]=n,i},i.sortValues=function(n){return e=n,i},i.rollup=function(n){return r=n,i},i},mo.set=function(n){var t=new i;if(n)for(var e=0,r=n.length;r>e;++e)t.add(n[e]);return t},r(i,{has:function(n){return zo+n in this},add:function(n){return this[zo+n]=!0,n},remove:function(n){return n=zo+n,n in this&&delete this[n]},values:function(){var n=[];return this.forEach(function(t){n.push(t)}),n},forEach:function(n){for(var t in this)t.charCodeAt(0)===Co&&n.call(this,t.substring(1))}}),mo.behavior={},mo.rebind=function(n,t){for(var e,r=1,u=arguments.length;++r=0&&(r=n.substring(e+1),n=n.substring(0,e)),n)return arguments.length<2?this[n].on(r):this[n].on(r,t);if(2===arguments.length){if(null==t)for(n in this)this.hasOwnProperty(n)&&this[n].on(r,null);return this}},mo.event=null,mo.requote=function(n){return n.replace(jo,"\\$&")};var jo=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,Lo={}.__proto__?function(n,t){n.__proto__=t}:function(n,t){for(var e in t)n[e]=t[e]},Ho=function(n,t){return t.querySelector(n)},Fo=function(n,t){return t.querySelectorAll(n)},Po=bo[a(bo,"matchesSelector")],Oo=function(n,t){return Po.call(n,t)};"function"==typeof Sizzle&&(Ho=function(n,t){return Sizzle(n,t)[0]||null},Fo=function(n,t){return Sizzle.uniqueSort(Sizzle(n,t))},Oo=Sizzle.matchesSelector),mo.selection=function(){return Uo};var Ro=mo.selection.prototype=[];Ro.select=function(n){var t,e,r,u,i=[];n=d(n);for(var o=-1,a=this.length;++o=0&&(e=n.substring(0,t),n=n.substring(t+1)),Yo.hasOwnProperty(e)?{space:Yo[e],local:n}:n}},Ro.attr=function(n,t){if(arguments.length<2){if("string"==typeof n){var e=this.node();return n=mo.ns.qualify(n),n.local?e.getAttributeNS(n.space,n.local):e.getAttribute(n)}for(t in n)this.each(m(t,n[t]));return this}return this.each(m(n,t))},Ro.classed=function(n,t){if(arguments.length<2){if("string"==typeof n){var e=this.node(),r=(n=n.trim().split(/^|\s+/g)).length,u=-1;if(t=e.classList){for(;++ur){if("string"!=typeof n){2>r&&(t="");for(e in n)this.each(_(e,n[e],t));return this}if(2>r)return _o.getComputedStyle(this.node(),null).getPropertyValue(n);e=""}return this.each(_(n,t,e))},Ro.property=function(n,t){if(arguments.length<2){if("string"==typeof n)return this.node()[n];for(t in n)this.each(w(t,n[t]));return this}return this.each(w(n,t))},Ro.text=function(n){return arguments.length?this.each("function"==typeof n?function(){var t=n.apply(this,arguments);this.textContent=null==t?"":t}:null==n?function(){this.textContent=""}:function(){this.textContent=n}):this.node().textContent},Ro.html=function(n){return arguments.length?this.each("function"==typeof n?function(){var t=n.apply(this,arguments);this.innerHTML=null==t?"":t}:null==n?function(){this.innerHTML=""}:function(){this.innerHTML=n}):this.node().innerHTML},Ro.append=function(n){return n=S(n),this.select(function(){return this.appendChild(n.apply(this,arguments))})},Ro.insert=function(n,t){return n=S(n),t=d(t),this.select(function(){return this.insertBefore(n.apply(this,arguments),t.apply(this,arguments))})},Ro.remove=function(){return this.each(function(){var n=this.parentNode;n&&n.removeChild(this)})},Ro.data=function(n,t){function e(n,e){var r,i,o,a=n.length,f=e.length,h=Math.min(a,f),g=new Array(f),p=new Array(f),d=new Array(a);if(t){var v,m=new u,y=new u,M=[];for(r=-1;++rr;++r)p[r]=E(e[r]);for(;a>r;++r)d[r]=n[r]}p.update=g,p.parentNode=g.parentNode=d.parentNode=n.parentNode,c.push(p),l.push(g),s.push(d)}var r,i,o=-1,a=this.length;if(!arguments.length){for(n=new Array(a=(r=this[0]).length);++oi;i++){u.push(t=[]),t.parentNode=(e=this[i]).parentNode;for(var a=0,c=e.length;c>a;a++)(r=e[a])&&n.call(r,r.__data__,a)&&t.push(r)}return p(u)},Ro.order=function(){for(var n=-1,t=this.length;++n=0;)(e=r[u])&&(i&&i!==e.nextSibling&&i.parentNode.insertBefore(e,i),i=e);return this},Ro.sort=function(n){n=A.apply(this,arguments);for(var t=-1,e=this.length;++tn;n++)for(var e=this[n],r=0,u=e.length;u>r;r++){var i=e[r];if(i)return i}return null},Ro.size=function(){var n=0;return this.each(function(){++n}),n};var Io=[];mo.selection.enter=T,mo.selection.enter.prototype=Io,Io.append=Ro.append,Io.empty=Ro.empty,Io.node=Ro.node,Io.call=Ro.call,Io.size=Ro.size,Io.select=function(n){for(var t,e,r,u,i,o=[],a=-1,c=this.length;++ar){if("string"!=typeof n){2>r&&(t=!1);for(e in n)this.each(C(e,n[e],t));return this}if(2>r)return(r=this.node()["__on"+n])&&r._;e=!1}return this.each(C(n,t,e))};var Zo=mo.map({mouseenter:"mouseover",mouseleave:"mouseout"});Zo.forEach(function(n){"on"+n in xo&&Zo.remove(n)});var Vo=a(bo.style,"userSelect"),Xo=0;mo.mouse=function(n){return H(n,h())};var $o=/WebKit/.test(_o.navigator.userAgent)?-1:0;mo.touches=function(n,t){return arguments.length<2&&(t=h().touches),t?Mo(t).map(function(t){var e=H(n,t);return e.identifier=t.identifier,e}):[]},mo.behavior.drag=function(){function n(){this.on("mousedown.drag",o).on("touchstart.drag",a)}function t(){return mo.event.changedTouches[0].identifier}function e(n,t){return mo.touches(n).filter(function(n){return n.identifier===t})[0]}function r(n,t,e,r){return function(){function o(){var n=t(s,g),e=n[0]-d[0],r=n[1]-d[1];v|=e|r,d=n,f({type:"drag",x:n[0]+c[0],y:n[1]+c[1],dx:e,dy:r})}function a(){m.on(e+"."+p,null).on(r+"."+p,null),y(v&&mo.event.target===h),f({type:"dragend"})}var c,l=this,s=l.parentNode,f=u.of(l,arguments),h=mo.event.target,g=n(),p=null==g?"drag":"drag-"+g,d=t(s,g),v=0,m=mo.select(_o).on(e+"."+p,o).on(r+"."+p,a),y=L();i?(c=i.apply(l,arguments),c=[c.x-d[0],c.y-d[1]]):c=[0,0],f({type:"dragstart"})}}var u=g(n,"drag","dragstart","dragend"),i=null,o=r(c,mo.mouse,"mousemove","mouseup"),a=r(t,e,"touchmove","touchend");return n.origin=function(t){return arguments.length?(i=t,n):i},mo.rebind(n,u,"on")};var Bo=Math.PI,Wo=2*Bo,Jo=Bo/2,Go=1e-6,Ko=Go*Go,Qo=Bo/180,na=180/Bo,ta=Math.SQRT2,ea=2,ra=4;mo.interpolateZoom=function(n,t){function e(n){var t=n*y;if(m){var e=Y(d),o=i/(ea*h)*(e*I(ta*t+d)-R(d));return[r+o*l,u+o*s,i*e/Y(ta*t+d)]}return[r+n*l,u+n*s,i*Math.exp(ta*t)]}var r=n[0],u=n[1],i=n[2],o=t[0],a=t[1],c=t[2],l=o-r,s=a-u,f=l*l+s*s,h=Math.sqrt(f),g=(c*c-i*i+ra*f)/(2*i*ea*h),p=(c*c-i*i-ra*f)/(2*c*ea*h),d=Math.log(Math.sqrt(g*g+1)-g),v=Math.log(Math.sqrt(p*p+1)-p),m=v-d,y=(m||Math.log(c/i))/ta;return e.duration=1e3*y,e},mo.behavior.zoom=function(){function n(n){n.on(A,l).on(oa+".zoom",h).on(N,p).on("dblclick.zoom",d).on(q,s)}function t(n){return[(n[0]-S.x)/S.k,(n[1]-S.y)/S.k]}function e(n){return[n[0]*S.k+S.x,n[1]*S.k+S.y]}function r(n){S.k=Math.max(k[0],Math.min(k[1],n))}function u(n,t){t=e(t),S.x+=n[0]-t[0],S.y+=n[1]-t[1]}function i(){b&&b.domain(x.range().map(function(n){return(n-S.x)/S.k}).map(x.invert)),w&&w.domain(_.range().map(function(n){return(n-S.y)/S.k}).map(_.invert))}function o(n){n({type:"zoomstart"})}function a(n){i(),n({type:"zoom",scale:S.k,translate:[S.x,S.y]})}function c(n){n({type:"zoomend"})}function l(){function n(){s=1,u(mo.mouse(r),h),a(i)}function e(){f.on(N,_o===r?p:null).on(T,null),g(s&&mo.event.target===l),c(i)}var r=this,i=C.of(r,arguments),l=mo.event.target,s=0,f=mo.select(_o).on(N,n).on(T,e),h=t(mo.mouse(r)),g=L();z.call(r),o(i)}function s(){function n(){var n=mo.touches(p);return g=S.k,n.forEach(function(n){n.identifier in v&&(v[n.identifier]=t(n))}),n}function e(){for(var t=mo.event.changedTouches,e=0,i=t.length;i>e;++e)v[t[e].identifier]=null;var o=n(),c=Date.now();if(1===o.length){if(500>c-M){var l=o[0],s=v[l.identifier];r(2*S.k),u(l,s),f(),a(d)}M=c}else if(o.length>1){var l=o[0],h=o[1],g=l[0]-h[0],p=l[1]-h[1];m=g*g+p*p}}function i(){for(var n,t,e,i,o=mo.touches(p),c=0,l=o.length;l>c;++c,i=null)if(e=o[c],i=v[e.identifier]){if(t)break;n=e,t=i}if(i){var s=(s=e[0]-n[0])*s+(s=e[1]-n[1])*s,f=m&&Math.sqrt(s/m);n=[(n[0]+e[0])/2,(n[1]+e[1])/2],t=[(t[0]+i[0])/2,(t[1]+i[1])/2],r(f*g)}M=null,u(n,t),a(d)}function h(){if(mo.event.touches.length){for(var t=mo.event.changedTouches,e=0,r=t.length;r>e;++e)delete v[t[e].identifier];for(var u in v)return void n()}_.on(x,null).on(b,null),w.on(A,l).on(q,s),E(),c(d)}var g,p=this,d=C.of(p,arguments),v={},m=0,y=mo.event.changedTouches[0].identifier,x="touchmove.zoom-"+y,b="touchend.zoom-"+y,_=mo.select(_o).on(x,i).on(b,h),w=mo.select(p).on(A,null).on(q,e),E=L();z.call(p),e(),o(d)}function h(){var n=C.of(this,arguments);y?clearTimeout(y):(z.call(this),o(n)),y=setTimeout(function(){y=null,c(n)},50),f();var e=m||mo.mouse(this);v||(v=t(e)),r(Math.pow(2,.002*ua())*S.k),u(e,v),a(n)}function p(){v=null}function d(){var n=C.of(this,arguments),e=mo.mouse(this),i=t(e),l=Math.log(S.k)/Math.LN2;o(n),r(Math.pow(2,mo.event.shiftKey?Math.ceil(l)-1:Math.floor(l)+1)),u(e,i),a(n),c(n)}var v,m,y,M,x,b,_,w,S={x:0,y:0,k:1},E=[960,500],k=ia,A="mousedown.zoom",N="mousemove.zoom",T="mouseup.zoom",q="touchstart.zoom",C=g(n,"zoomstart","zoom","zoomend");return n.event=function(n){n.each(function(){var n=C.of(this,arguments),t=S;Oc?mo.select(this).transition().each("start.zoom",function(){S=this.__chart__||{x:0,y:0,k:1},o(n)}).tween("zoom:zoom",function(){var e=E[0],r=E[1],u=e/2,i=r/2,o=mo.interpolateZoom([(u-S.x)/S.k,(i-S.y)/S.k,e/S.k],[(u-t.x)/t.k,(i-t.y)/t.k,e/t.k]);return function(t){var r=o(t),c=e/r[2];this.__chart__=S={x:u-r[0]*c,y:i-r[1]*c,k:c},a(n)}}).each("end.zoom",function(){c(n)}):(this.__chart__=S,o(n),a(n),c(n))})},n.translate=function(t){return arguments.length?(S={x:+t[0],y:+t[1],k:S.k},i(),n):[S.x,S.y]},n.scale=function(t){return arguments.length?(S={x:S.x,y:S.y,k:+t},i(),n):S.k},n.scaleExtent=function(t){return arguments.length?(k=null==t?ia:[+t[0],+t[1]],n):k},n.center=function(t){return arguments.length?(m=t&&[+t[0],+t[1]],n):m},n.size=function(t){return arguments.length?(E=t&&[+t[0],+t[1]],n):E},n.x=function(t){return arguments.length?(b=t,x=t.copy(),S={x:0,y:0,k:1},n):b},n.y=function(t){return arguments.length?(w=t,_=t.copy(),S={x:0,y:0,k:1},n):w},mo.rebind(n,C,"on")};var ua,ia=[0,1/0],oa="onwheel"in xo?(ua=function(){return-mo.event.deltaY*(mo.event.deltaMode?120:1)},"wheel"):"onmousewheel"in xo?(ua=function(){return mo.event.wheelDelta},"mousewheel"):(ua=function(){return-mo.event.detail},"MozMousePixelScroll");Z.prototype.toString=function(){return this.rgb()+""},mo.hsl=function(n,t,e){return 1===arguments.length?n instanceof X?V(n.h,n.s,n.l):lt(""+n,st,V):V(+n,+t,+e)};var aa=X.prototype=new Z;aa.brighter=function(n){return n=Math.pow(.7,arguments.length?n:1),V(this.h,this.s,this.l/n)},aa.darker=function(n){return n=Math.pow(.7,arguments.length?n:1),V(this.h,this.s,n*this.l)},aa.rgb=function(){return $(this.h,this.s,this.l)},mo.hcl=function(n,t,e){return 1===arguments.length?n instanceof W?B(n.h,n.c,n.l):n instanceof K?nt(n.l,n.a,n.b):nt((n=ft((n=mo.rgb(n)).r,n.g,n.b)).l,n.a,n.b):B(+n,+t,+e)};var ca=W.prototype=new Z;ca.brighter=function(n){return B(this.h,this.c,Math.min(100,this.l+la*(arguments.length?n:1)))},ca.darker=function(n){return B(this.h,this.c,Math.max(0,this.l-la*(arguments.length?n:1)))},ca.rgb=function(){return J(this.h,this.c,this.l).rgb()},mo.lab=function(n,t,e){return 1===arguments.length?n instanceof K?G(n.l,n.a,n.b):n instanceof W?J(n.l,n.c,n.h):ft((n=mo.rgb(n)).r,n.g,n.b):G(+n,+t,+e)};var la=18,sa=.95047,fa=1,ha=1.08883,ga=K.prototype=new Z;ga.brighter=function(n){return G(Math.min(100,this.l+la*(arguments.length?n:1)),this.a,this.b)},ga.darker=function(n){return G(Math.max(0,this.l-la*(arguments.length?n:1)),this.a,this.b)},ga.rgb=function(){return Q(this.l,this.a,this.b)},mo.rgb=function(n,t,e){return 1===arguments.length?n instanceof at?ot(n.r,n.g,n.b):lt(""+n,ot,$):ot(~~n,~~t,~~e)};var pa=at.prototype=new Z;pa.brighter=function(n){n=Math.pow(.7,arguments.length?n:1);var t=this.r,e=this.g,r=this.b,u=30;return t||e||r?(t&&u>t&&(t=u),e&&u>e&&(e=u),r&&u>r&&(r=u),ot(Math.min(255,~~(t/n)),Math.min(255,~~(e/n)),Math.min(255,~~(r/n)))):ot(u,u,u)},pa.darker=function(n){return n=Math.pow(.7,arguments.length?n:1),ot(~~(n*this.r),~~(n*this.g),~~(n*this.b))},pa.hsl=function(){return st(this.r,this.g,this.b)},pa.toString=function(){return"#"+ct(this.r)+ct(this.g)+ct(this.b)};var da=mo.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});da.forEach(function(n,t){da.set(n,ut(t))}),mo.functor=pt,mo.xhr=vt(dt),mo.dsv=function(n,t){function e(n,e,i){arguments.length<3&&(i=e,e=null);var o=mo.xhr(n,t,i);return o.row=function(n){return arguments.length?o.response(null==(e=n)?r:u(n)):e},o.row(e)}function r(n){return e.parse(n.responseText)}function u(n){return function(t){return e.parse(t.responseText,n)}}function o(t){return t.map(a).join(n)}function a(n){return c.test(n)?'"'+n.replace(/\"/g,'""')+'"':n}var c=new RegExp('["'+n+"\n]"),l=n.charCodeAt(0);return e.parse=function(n,t){var r;return e.parseRows(n,function(n,e){if(r)return r(n,e-1);var u=new Function("d","return {"+n.map(function(n,t){return JSON.stringify(n)+": d["+t+"]"}).join(",")+"}");r=t?function(n,e){return t(u(n),e)}:u})},e.parseRows=function(n,t){function e(){if(s>=c)return o;if(u)return u=!1,i;var t=s;if(34===n.charCodeAt(t)){for(var e=t;e++s;){var r=n.charCodeAt(s++),a=1;if(10===r)u=!0;else if(13===r)u=!0,10===n.charCodeAt(s)&&(++s,++a);else if(r!==l)continue;return n.substring(t,s-a)}return n.substring(t)}for(var r,u,i={},o={},a=[],c=n.length,s=0,f=0;(r=e())!==o;){for(var h=[];r!==i&&r!==o;)h.push(r),r=e();(!t||(h=t(h,f++)))&&a.push(h)}return a},e.format=function(t){if(Array.isArray(t[0]))return e.formatRows(t);var r=new i,u=[];return t.forEach(function(n){for(var t in n)r.has(t)||u.push(r.add(t))}),[u.map(a).join(n)].concat(t.map(function(t){return u.map(function(n){return a(t[n])}).join(n)})).join("\n")},e.formatRows=function(n){return n.map(o).join("\n")},e},mo.csv=mo.dsv(",","text/csv"),mo.tsv=mo.dsv(" ","text/tab-separated-values");var va,ma,ya,Ma,xa,ba=_o[a(_o,"requestAnimationFrame")]||function(n){setTimeout(n,17)};mo.timer=function(n,t,e){var r=arguments.length;2>r&&(t=0),3>r&&(e=Date.now());var u=e+t,i={callback:n,time:u,next:null};ma?ma.next=i:va=i,ma=i,ya||(Ma=clearTimeout(Ma),ya=1,ba(Mt))},mo.timer.flush=function(){bt(),_t()};var _a=".",wa=",",Sa=[3,3],Ea="$",ka=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"].map(wt);mo.formatPrefix=function(n,t){var e=0;return n&&(0>n&&(n*=-1),t&&(n=mo.round(n,St(n,t))),e=1+Math.floor(1e-12+Math.log(n)/Math.LN10),e=Math.max(-24,Math.min(24,3*Math.floor((0>=e?e+1:e-1)/3)))),ka[8+e/3]},mo.round=function(n,t){return t?Math.round(n*(t=Math.pow(10,t)))/t:Math.round(n)},mo.format=function(n){var t=Aa.exec(n),e=t[1]||" ",r=t[2]||">",u=t[3]||"",i=t[4]||"",o=t[5],a=+t[6],c=t[7],l=t[8],s=t[9],f=1,h="",g=!1;switch(l&&(l=+l.substring(1)),(o||"0"===e&&"="===r)&&(o=e="0",r="=",c&&(a-=Math.floor((a-1)/4))),s){case"n":c=!0,s="g";break;case"%":f=100,h="%",s="f";break;case"p":f=100,h="%",s="r";break;case"b":case"o":case"x":case"X":"#"===i&&(i="0"+s.toLowerCase());case"c":case"d":g=!0,l=0;break;case"s":f=-1,s="r"}"#"===i?i="":"$"===i&&(i=Ea),"r"!=s||l||(s="g"),null!=l&&("g"==s?l=Math.max(1,Math.min(21,l)):("e"==s||"f"==s)&&(l=Math.max(0,Math.min(20,l)))),s=Na.get(s)||Et;var p=o&&c;return function(n){if(g&&n%1)return"";var t=0>n||0===n&&0>1/n?(n=-n,"-"):u;if(0>f){var d=mo.formatPrefix(n,l);n=d.scale(n),h=d.symbol}else n*=f;n=s(n,l);var v=n.lastIndexOf("."),m=0>v?n:n.substring(0,v),y=0>v?"":_a+n.substring(v+1);!o&&c&&(m=Ta(m));var M=i.length+m.length+y.length+(p?0:t.length),x=a>M?new Array(M=a-M+1).join(e):"";return p&&(m=Ta(x+m)),t+=i,n=m+y,("<"===r?t+n+x:">"===r?x+t+n:"^"===r?x.substring(0,M>>=1)+t+n+x.substring(M):t+(p?n:x+n))+h}};var Aa=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,Na=mo.map({b:function(n){return n.toString(2)},c:function(n){return String.fromCharCode(n)},o:function(n){return n.toString(8)},x:function(n){return n.toString(16)},X:function(n){return n.toString(16).toUpperCase()},g:function(n,t){return n.toPrecision(t)},e:function(n,t){return n.toExponential(t)},f:function(n,t){return n.toFixed(t)},r:function(n,t){return(n=mo.round(n,St(n,t))).toFixed(Math.max(0,Math.min(20,St(n*(1+1e-15),t))))}}),Ta=dt;if(Sa){var qa=Sa.length;Ta=function(n){for(var t=n.length,e=[],r=0,u=Sa[0];t>0&&u>0;)e.push(n.substring(t-=u,t+u)),u=Sa[r=(r+1)%qa];return e.reverse().join(wa)}}mo.geo={},kt.prototype={s:0,t:0,add:function(n){At(n,this.t,za),At(za.s,this.s,this),this.s?this.t+=za.t:this.s=za.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var za=new kt;mo.geo.stream=function(n,t){n&&Ca.hasOwnProperty(n.type)?Ca[n.type](n,t):Nt(n,t)};var Ca={Feature:function(n,t){Nt(n.geometry,t)},FeatureCollection:function(n,t){for(var e=n.features,r=-1,u=e.length;++rn?4*Bo+n:n,Ha.lineStart=Ha.lineEnd=Ha.point=c}};mo.geo.bounds=function(){function n(n,t){M.push(x=[s=n,h=n]),f>t&&(f=t),t>g&&(g=t)}function t(t,e){var r=Ct([t*Qo,e*Qo]);if(m){var u=jt(m,r),i=[u[1],-u[0],0],o=jt(i,u);Ft(o),o=Pt(o);var c=t-p,l=c>0?1:-1,d=o[0]*na*l,v=Math.abs(c)>180;if(v^(d>l*p&&l*t>d)){var y=o[1]*na;y>g&&(g=y)}else if(d=(d+360)%360-180,v^(d>l*p&&l*t>d)){var y=-o[1]*na;f>y&&(f=y)}else f>e&&(f=e),e>g&&(g=e);v?p>t?a(s,t)>a(s,h)&&(h=t):a(t,h)>a(s,h)&&(s=t):h>=s?(s>t&&(s=t),t>h&&(h=t)):t>p?a(s,t)>a(s,h)&&(h=t):a(t,h)>a(s,h)&&(s=t)}else n(t,e);m=r,p=t}function e(){b.point=t}function r(){x[0]=s,x[1]=h,b.point=n,m=null}function u(n,e){if(m){var r=n-p;y+=Math.abs(r)>180?r+(r>0?360:-360):r}else d=n,v=e;Ha.point(n,e),t(n,e)}function i(){Ha.lineStart()}function o(){u(d,v),Ha.lineEnd(),Math.abs(y)>Go&&(s=-(h=180)),x[0]=s,x[1]=h,m=null}function a(n,t){return(t-=n)<0?t+360:t}function c(n,t){return n[0]-t[0]}function l(n,t){return t[0]<=t[1]?t[0]<=n&&n<=t[1]:nLa?(s=-(h=180),f=-(g=90)):y>Go?g=90:-Go>y&&(f=-90),x[0]=s,x[1]=h}};return function(n){g=h=-(s=f=1/0),M=[],mo.geo.stream(n,b);var t=M.length;if(t){M.sort(c);for(var e,r=1,u=M[0],i=[u];t>r;++r)e=M[r],l(e[0],u)||l(e[1],u)?(a(u[0],e[1])>a(u[0],u[1])&&(u[1]=e[1]),a(e[0],u[1])>a(u[0],u[1])&&(u[0]=e[0])):i.push(u=e);for(var o,e,p=-1/0,t=i.length-1,r=0,u=i[t];t>=r;u=e,++r)e=i[r],(o=a(u[1],e[0]))>p&&(p=o,s=e[0],h=u[1])}return M=x=null,1/0===s||1/0===f?[[0/0,0/0],[0/0,0/0]]:[[s,f],[h,g]]}}(),mo.geo.centroid=function(n){Fa=Pa=Oa=Ra=Ya=Ia=Ua=Za=Va=Xa=$a=0,mo.geo.stream(n,Ba);var t=Va,e=Xa,r=$a,u=t*t+e*e+r*r;return Ko>u&&(t=Ia,e=Ua,r=Za,Go>Pa&&(t=Oa,e=Ra,r=Ya),u=t*t+e*e+r*r,Ko>u)?[0/0,0/0]:[Math.atan2(e,t)*na,O(r/Math.sqrt(u))*na]};var Fa,Pa,Oa,Ra,Ya,Ia,Ua,Za,Va,Xa,$a,Ba={sphere:c,point:Rt,lineStart:It,lineEnd:Ut,polygonStart:function(){Ba.lineStart=Zt},polygonEnd:function(){Ba.lineStart=It}},Wa=Bt(Vt,Qt,te,[-Bo,-Bo/2]),Ja=1e9;mo.geo.clipExtent=function(){var n,t,e,r,u,i,o={stream:function(n){return u&&(u.valid=!1),u=i(n),u.valid=!0,u},extent:function(a){return arguments.length?(i=re(n=+a[0][0],t=+a[0][1],e=+a[1][0],r=+a[1][1]),u&&(u.valid=!1,u=null),o):[[n,t],[e,r]]}};return o.extent([[0,0],[960,500]])},(mo.geo.conicEqualArea=function(){return oe(ae)}).raw=ae,mo.geo.albers=function(){return mo.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},mo.geo.albersUsa=function(){function n(n){var i=n[0],o=n[1];return t=null,e(i,o),t||(r(i,o),t)||u(i,o),t}var t,e,r,u,i=mo.geo.albers(),o=mo.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),a=mo.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),c={point:function(n,e){t=[n,e]}};return n.invert=function(n){var t=i.scale(),e=i.translate(),r=(n[0]-e[0])/t,u=(n[1]-e[1])/t;return(u>=.12&&.234>u&&r>=-.425&&-.214>r?o:u>=.166&&.234>u&&r>=-.214&&-.115>r?a:i).invert(n)},n.stream=function(n){var t=i.stream(n),e=o.stream(n),r=a.stream(n);return{point:function(n,u){t.point(n,u),e.point(n,u),r.point(n,u)},sphere:function(){t.sphere(),e.sphere(),r.sphere()},lineStart:function(){t.lineStart(),e.lineStart(),r.lineStart()},lineEnd:function(){t.lineEnd(),e.lineEnd(),r.lineEnd()},polygonStart:function(){t.polygonStart(),e.polygonStart(),r.polygonStart()},polygonEnd:function(){t.polygonEnd(),e.polygonEnd(),r.polygonEnd()}}},n.precision=function(t){return arguments.length?(i.precision(t),o.precision(t),a.precision(t),n):i.precision()},n.scale=function(t){return arguments.length?(i.scale(t),o.scale(.35*t),a.scale(t),n.translate(i.translate())):i.scale()},n.translate=function(t){if(!arguments.length)return i.translate();var l=i.scale(),s=+t[0],f=+t[1];return e=i.translate(t).clipExtent([[s-.455*l,f-.238*l],[s+.455*l,f+.238*l]]).stream(c).point,r=o.translate([s-.307*l,f+.201*l]).clipExtent([[s-.425*l+Go,f+.12*l+Go],[s-.214*l-Go,f+.234*l-Go]]).stream(c).point,u=a.translate([s-.205*l,f+.212*l]).clipExtent([[s-.214*l+Go,f+.166*l+Go],[s-.115*l-Go,f+.234*l-Go]]).stream(c).point,n},n.scale(1070)};var Ga,Ka,Qa,nc,tc,ec,rc={point:c,lineStart:c,lineEnd:c,polygonStart:function(){Ka=0,rc.lineStart=ce},polygonEnd:function(){rc.lineStart=rc.lineEnd=rc.point=c,Ga+=Math.abs(Ka/2)}},uc={point:le,lineStart:c,lineEnd:c,polygonStart:c,polygonEnd:c},ic={point:he,lineStart:ge,lineEnd:pe,polygonStart:function(){ic.lineStart=de},polygonEnd:function(){ic.point=he,ic.lineStart=ge,ic.lineEnd=pe}};mo.geo.transform=function(n){return{stream:function(t){var e=new ye(t);for(var r in n)e[r]=n[r];return e}}},ye.prototype={point:function(n,t){this.stream.point(n,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}},mo.geo.path=function(){function n(n){return n&&("function"==typeof a&&i.pointRadius(+a.apply(this,arguments)),o&&o.valid||(o=u(i)),mo.geo.stream(n,o)),i.result()}function t(){return o=null,n}var e,r,u,i,o,a=4.5;return n.area=function(n){return Ga=0,mo.geo.stream(n,u(rc)),Ga},n.centroid=function(n){return Oa=Ra=Ya=Ia=Ua=Za=Va=Xa=$a=0,mo.geo.stream(n,u(ic)),$a?[Va/$a,Xa/$a]:Za?[Ia/Za,Ua/Za]:Ya?[Oa/Ya,Ra/Ya]:[0/0,0/0]},n.bounds=function(n){return tc=ec=-(Qa=nc=1/0),mo.geo.stream(n,u(uc)),[[Qa,nc],[tc,ec]]},n.projection=function(n){return arguments.length?(u=(e=n)?n.stream||Me(n):dt,t()):e},n.context=function(n){return arguments.length?(i=null==(r=n)?new se:new ve(n),"function"!=typeof a&&i.pointRadius(a),t()):r},n.pointRadius=function(t){return arguments.length?(a="function"==typeof t?t:(i.pointRadius(+t),+t),n):a},n.projection(mo.geo.albersUsa()).context(null)},mo.geo.projection=xe,mo.geo.projectionMutator=be,(mo.geo.equirectangular=function(){return xe(we)}).raw=we.invert=we,mo.geo.rotation=function(n){function t(t){return t=n(t[0]*Qo,t[1]*Qo),t[0]*=na,t[1]*=na,t}return n=Ee(n[0]%360*Qo,n[1]*Qo,n.length>2?n[2]*Qo:0),t.invert=function(t){return t=n.invert(t[0]*Qo,t[1]*Qo),t[0]*=na,t[1]*=na,t},t},Se.invert=we,mo.geo.circle=function(){function n(){var n="function"==typeof r?r.apply(this,arguments):r,t=Ee(-n[0]*Qo,-n[1]*Qo,0).invert,u=[];return e(null,null,1,{point:function(n,e){u.push(n=t(n,e)),n[0]*=na,n[1]*=na}}),{type:"Polygon",coordinates:[u]}}var t,e,r=[0,0],u=6;return n.origin=function(t){return arguments.length?(r=t,n):r},n.angle=function(r){return arguments.length?(e=Te((t=+r)*Qo,u*Qo),n):t},n.precision=function(r){return arguments.length?(e=Te(t*Qo,(u=+r)*Qo),n):u},n.angle(90)},mo.geo.distance=function(n,t){var e,r=(t[0]-n[0])*Qo,u=n[1]*Qo,i=t[1]*Qo,o=Math.sin(r),a=Math.cos(r),c=Math.sin(u),l=Math.cos(u),s=Math.sin(i),f=Math.cos(i);return Math.atan2(Math.sqrt((e=f*o)*e+(e=l*s-c*f*a)*e),c*s+l*f*a)},mo.geo.graticule=function(){function n(){return{type:"MultiLineString",coordinates:t()}}function t(){return mo.range(Math.ceil(i/v)*v,u,v).map(h).concat(mo.range(Math.ceil(l/m)*m,c,m).map(g)).concat(mo.range(Math.ceil(r/p)*p,e,p).filter(function(n){return Math.abs(n%v)>Go -}).map(s)).concat(mo.range(Math.ceil(a/d)*d,o,d).filter(function(n){return Math.abs(n%m)>Go}).map(f))}var e,r,u,i,o,a,c,l,s,f,h,g,p=10,d=p,v=90,m=360,y=2.5;return n.lines=function(){return t().map(function(n){return{type:"LineString",coordinates:n}})},n.outline=function(){return{type:"Polygon",coordinates:[h(i).concat(g(c).slice(1),h(u).reverse().slice(1),g(l).reverse().slice(1))]}},n.extent=function(t){return arguments.length?n.majorExtent(t).minorExtent(t):n.minorExtent()},n.majorExtent=function(t){return arguments.length?(i=+t[0][0],u=+t[1][0],l=+t[0][1],c=+t[1][1],i>u&&(t=i,i=u,u=t),l>c&&(t=l,l=c,c=t),n.precision(y)):[[i,l],[u,c]]},n.minorExtent=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],a=+t[0][1],o=+t[1][1],r>e&&(t=r,r=e,e=t),a>o&&(t=a,a=o,o=t),n.precision(y)):[[r,a],[e,o]]},n.step=function(t){return arguments.length?n.majorStep(t).minorStep(t):n.minorStep()},n.majorStep=function(t){return arguments.length?(v=+t[0],m=+t[1],n):[v,m]},n.minorStep=function(t){return arguments.length?(p=+t[0],d=+t[1],n):[p,d]},n.precision=function(t){return arguments.length?(y=+t,s=ze(a,o,90),f=Ce(r,e,y),h=ze(l,c,90),g=Ce(i,u,y),n):y},n.majorExtent([[-180,-90+Go],[180,90-Go]]).minorExtent([[-180,-80-Go],[180,80+Go]])},mo.geo.greatArc=function(){function n(){return{type:"LineString",coordinates:[t||r.apply(this,arguments),e||u.apply(this,arguments)]}}var t,e,r=De,u=je;return n.distance=function(){return mo.geo.distance(t||r.apply(this,arguments),e||u.apply(this,arguments))},n.source=function(e){return arguments.length?(r=e,t="function"==typeof e?null:e,n):r},n.target=function(t){return arguments.length?(u=t,e="function"==typeof t?null:t,n):u},n.precision=function(){return arguments.length?n:0},n},mo.geo.interpolate=function(n,t){return Le(n[0]*Qo,n[1]*Qo,t[0]*Qo,t[1]*Qo)},mo.geo.length=function(n){return oc=0,mo.geo.stream(n,ac),oc};var oc,ac={sphere:c,point:c,lineStart:He,lineEnd:c,polygonStart:c,polygonEnd:c},cc=Fe(function(n){return Math.sqrt(2/(1+n))},function(n){return 2*Math.asin(n/2)});(mo.geo.azimuthalEqualArea=function(){return xe(cc)}).raw=cc;var lc=Fe(function(n){var t=Math.acos(n);return t&&t/Math.sin(t)},dt);(mo.geo.azimuthalEquidistant=function(){return xe(lc)}).raw=lc,(mo.geo.conicConformal=function(){return oe(Pe)}).raw=Pe,(mo.geo.conicEquidistant=function(){return oe(Oe)}).raw=Oe;var sc=Fe(function(n){return 1/n},Math.atan);(mo.geo.gnomonic=function(){return xe(sc)}).raw=sc,Re.invert=function(n,t){return[n,2*Math.atan(Math.exp(t))-Jo]},(mo.geo.mercator=function(){return Ye(Re)}).raw=Re;var fc=Fe(function(){return 1},Math.asin);(mo.geo.orthographic=function(){return xe(fc)}).raw=fc;var hc=Fe(function(n){return 1/(1+n)},function(n){return 2*Math.atan(n)});(mo.geo.stereographic=function(){return xe(hc)}).raw=hc,Ie.invert=function(n,t){return[Math.atan2(R(n),Math.cos(t)),O(Math.sin(t)/Y(n))]},(mo.geo.transverseMercator=function(){return Ye(Ie)}).raw=Ie,mo.geom={},mo.svg={},mo.svg.line=function(){return Ue(dt)};var gc=mo.map({linear:Xe,"linear-closed":$e,step:Be,"step-before":We,"step-after":Je,basis:er,"basis-open":rr,"basis-closed":ur,bundle:ir,cardinal:Qe,"cardinal-open":Ge,"cardinal-closed":Ke,monotone:fr});gc.forEach(function(n,t){t.key=n,t.closed=/-closed$/.test(n)});var pc=[0,2/3,1/3,0],dc=[0,1/3,2/3,0],vc=[0,1/6,2/3,1/6];mo.geom.hull=function(n){function t(n){if(n.length<3)return[];var t,u,i,o,a,c,l,s,f,h,g,p,d=pt(e),v=pt(r),m=n.length,y=m-1,M=[],x=[],b=0;if(d===Ze&&r===Ve)t=n;else for(i=0,t=[];m>i;++i)t.push([+d.call(this,u=n[i],i),+v.call(this,u,i)]);for(i=1;m>i;++i)(t[i][1]i;++i)i!==b&&(c=t[i][1]-t[b][1],a=t[i][0]-t[b][0],M.push({angle:Math.atan2(c,a),index:i}));for(M.sort(function(n,t){return n.angle-t.angle}),g=M[0].angle,h=M[0].index,f=0,i=1;y>i;++i){if(o=M[i].index,g==M[i].angle){if(a=t[h][0]-t[b][0],c=t[h][1]-t[b][1],l=t[o][0]-t[b][0],s=t[o][1]-t[b][1],a*a+c*c>=l*l+s*s){M[i].index=-1;continue}M[f].index=-1}g=M[i].angle,f=i,h=o}for(x.push(b),i=0,o=0;2>i;++o)M[o].index>-1&&(x.push(M[o].index),i++);for(p=x.length;y>o;++o)if(!(M[o].index<0)){for(;!hr(x[p-2],x[p-1],M[o].index,t);)--p;x[p++]=M[o].index}var _=[];for(i=p-1;i>=0;--i)_.push(n[x[i]]);return _}var e=Ze,r=Ve;return arguments.length?t(n):(t.x=function(n){return arguments.length?(e=n,t):e},t.y=function(n){return arguments.length?(r=n,t):r},t)},mo.geom.polygon=function(n){return Lo(n,mc),n};var mc=mo.geom.polygon.prototype=[];mc.area=function(){for(var n,t=-1,e=this.length,r=this[e-1],u=0;++ta;a++)e.push([u,t[a],t[a+1]])}),e},mo.geom.voronoi=function(n){function t(n){var t,i,o,a=n.map(function(){return[]}),c=pt(e),l=pt(r),s=n.length,f=1e6;if(c===Ze&&l===Ve)t=n;else for(t=new Array(s),o=0;s>o;++o)t[o]=[+c.call(this,i=n[o],o),+l.call(this,i,o)];if(vr(t,function(n){var t,e,r,u,i,o;1===n.a&&n.b>=0?(t=n.ep.r,e=n.ep.l):(t=n.ep.l,e=n.ep.r),1===n.a?(i=t?t.y:-f,r=n.c-n.b*i,o=e?e.y:f,u=n.c-n.b*o):(r=t?t.x:-f,i=n.c-n.a*r,u=e?e.x:f,o=n.c-n.a*u);var c=[r,i],l=[u,o];a[n.region.l.index].push(c,l),a[n.region.r.index].push(c,l)}),a=a.map(function(n,e){var r=t[e][0],u=t[e][1],i=n.map(function(n){return Math.atan2(n[0]-r,n[1]-u)}),o=mo.range(n.length).sort(function(n,t){return i[n]-i[t]});return o.filter(function(n,t){return!t||i[n]-i[o[t-1]]>Go}).map(function(t){return n[t]})}),a.forEach(function(n,e){var r=n.length;if(!r)return n.push([-f,-f],[-f,f],[f,f],[f,-f]);if(!(r>2)){var u=t[e],i=n[0],o=n[1],a=u[0],c=u[1],l=i[0],s=i[1],h=o[0],g=o[1],p=Math.abs(h-l),d=g-s;if(Math.abs(d)c?-f:f;n.push([-f,v],[f,v])}else if(Go>p){var m=l>a?-f:f;n.push([m,-f],[m,f])}else{var v=(l-a)*(g-s)>(h-l)*(s-c)?f:-f,y=Math.abs(d)-p;Math.abs(y)d?v:-v,v]):(y>0&&(v*=-1),n.push([-f,v],[f,v]))}}}),u)for(o=0;s>o;++o)u.clip(a[o]);for(o=0;s>o;++o)a[o].point=n[o];return a}var e=Ze,r=Ve,u=null;return arguments.length?t(n):(t.x=function(n){return arguments.length?(e=n,t):e},t.y=function(n){return arguments.length?(r=n,t):r},t.clipExtent=function(n){if(!arguments.length)return u&&[u[0],u[2]];if(null==n)u=null;else{var e=+n[0][0],r=+n[0][1],i=+n[1][0],o=+n[1][1];u=mo.geom.polygon([[e,r],[e,o],[i,o],[i,r]])}return t},t.size=function(n){return arguments.length?t.clipExtent(n&&[[0,0],n]):u&&u[2]},t.links=function(n){var t,u,i,o=n.map(function(){return[]}),a=[],c=pt(e),l=pt(r),s=n.length;if(c===Ze&&l===Ve)t=n;else for(t=new Array(s),i=0;s>i;++i)t[i]=[+c.call(this,u=n[i],i),+l.call(this,u,i)];return vr(t,function(t){var e=t.region.l.index,r=t.region.r.index;o[e][r]||(o[e][r]=o[r][e]=!0,a.push({source:n[e],target:n[r]}))}),a},t.triangles=function(n){if(e===Ze&&r===Ve)return mo.geom.delaunay(n);for(var t,u=new Array(c),i=pt(e),o=pt(r),a=-1,c=n.length;++a=l,h=r>=s,g=(h<<1)+f;n.leaf=!1,n=n.nodes[g]||(n.nodes[g]=Mr()),f?u=l:a=l,h?o=s:c=s,i(n,t,e,r,u,o,a,c)}var s,f,h,g,p,d,v,m,y,M=pt(a),x=pt(c);if(null!=t)d=t,v=e,m=r,y=u;else if(m=y=-(d=v=1/0),f=[],h=[],p=n.length,o)for(g=0;p>g;++g)s=n[g],s.xm&&(m=s.x),s.y>y&&(y=s.y),f.push(s.x),h.push(s.y);else for(g=0;p>g;++g){var b=+M(s=n[g],g),_=+x(s,g);d>b&&(d=b),v>_&&(v=_),b>m&&(m=b),_>y&&(y=_),f.push(b),h.push(_)}var w=m-d,S=y-v;w>S?y=v+w:m=d+S;var E=Mr();if(E.add=function(n){i(E,n,+M(n,++g),+x(n,g),d,v,m,y)},E.visit=function(n){xr(n,E,d,v,m,y)},g=-1,null==t){for(;++g=0?n.substring(0,t):n,r=t>=0?n.substring(t+1):"in";return e=bc.get(e)||xc,r=_c.get(r)||dt,Ar(r(e.apply(null,Array.prototype.slice.call(arguments,1))))},mo.interpolateHcl=Rr,mo.interpolateHsl=Yr,mo.interpolateLab=Ir,mo.interpolateRound=Ur,mo.transform=function(n){var t=xo.createElementNS(mo.ns.prefix.svg,"g");return(mo.transform=function(n){if(null!=n){t.setAttribute("transform",n);var e=t.transform.baseVal.consolidate()}return new Zr(e?e.matrix:wc)})(n)},Zr.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var wc={a:1,b:0,c:0,d:1,e:0,f:0};mo.interpolateTransform=Br,mo.layout={},mo.layout.bundle=function(){return function(n){for(var t=[],e=-1,r=n.length;++e(u-e)*a){var c=t.charge*a*a;return n.px-=i*c,n.py-=o*c,!0}if(t.point&&isFinite(a)){var c=t.pointCharge*a*a;n.px-=i*c,n.py-=o*c}}return!t.charge}}function t(n){n.px=mo.event.x,n.py=mo.event.y,a.resume()}var e,r,u,i,o,a={},c=mo.dispatch("start","tick","end"),l=[1,1],s=.9,f=Sc,h=Ec,g=-30,p=.1,d=.8,v=[],m=[];return a.tick=function(){if((r*=.99)<.005)return c.end({type:"end",alpha:r=0}),!0;var t,e,a,f,h,d,y,M,x,b=v.length,_=m.length;for(e=0;_>e;++e)a=m[e],f=a.source,h=a.target,M=h.x-f.x,x=h.y-f.y,(d=M*M+x*x)&&(d=r*i[e]*((d=Math.sqrt(d))-u[e])/d,M*=d,x*=d,h.x-=M*(y=f.weight/(h.weight+f.weight)),h.y-=x*y,f.x+=M*(y=1-y),f.y+=x*y);if((y=r*p)&&(M=l[0]/2,x=l[1]/2,e=-1,y))for(;++e0?n:0:n>0&&(c.start({type:"start",alpha:r=n}),mo.timer(a.tick)),a):r},a.start=function(){function n(n,r){for(var u,i=t(e),o=-1,a=i.length;++or;++r)c[r]=[];for(r=0;d>r;++r){var n=m[r];c[n.source.index].push(n.target),c[n.target.index].push(n.source)}}return c[e]}var e,r,c,s,p=v.length,d=m.length,y=l[0],M=l[1];for(e=0;p>e;++e)(s=v[e]).index=e,s.weight=0;for(e=0;d>e;++e)s=m[e],"number"==typeof s.source&&(s.source=v[s.source]),"number"==typeof s.target&&(s.target=v[s.target]),++s.source.weight,++s.target.weight;for(e=0;p>e;++e)s=v[e],isNaN(s.x)&&(s.x=n("x",y)),isNaN(s.y)&&(s.y=n("y",M)),isNaN(s.px)&&(s.px=s.x),isNaN(s.py)&&(s.py=s.y);if(u=[],"function"==typeof f)for(e=0;d>e;++e)u[e]=+f.call(this,m[e],e);else for(e=0;d>e;++e)u[e]=f;if(i=[],"function"==typeof h)for(e=0;d>e;++e)i[e]=+h.call(this,m[e],e);else for(e=0;d>e;++e)i[e]=h;if(o=[],"function"==typeof g)for(e=0;p>e;++e)o[e]=+g.call(this,v[e],e);else for(e=0;p>e;++e)o[e]=g;return a.resume()},a.resume=function(){return a.alpha(.1)},a.stop=function(){return a.alpha(0)},a.drag=function(){return e||(e=mo.behavior.drag().origin(dt).on("dragstart.force",nu).on("drag.force",t).on("dragend.force",tu)),arguments.length?(this.on("mouseover.force",eu).on("mouseout.force",ru).call(e),void 0):e},mo.rebind(a,c,"on")};var Sc=20,Ec=1;mo.layout.hierarchy=function(){function n(t,o,a){var c=u.call(e,t,o);if(t.depth=o,a.push(t),c&&(l=c.length)){for(var l,s,f=-1,h=t.children=[],g=0,p=o+1;++fg;++g)for(u.call(n,l[0][g],p=d[g],s[0][g][1]),h=1;v>h;++h)u.call(n,l[h][g],p+=s[h-1][g][1],s[h][g][1]);return a}var t=dt,e=gu,r=pu,u=hu,i=su,o=fu;return n.values=function(e){return arguments.length?(t=e,n):t},n.order=function(t){return arguments.length?(e="function"==typeof t?t:Ac.get(t)||gu,n):e},n.offset=function(t){return arguments.length?(r="function"==typeof t?t:Nc.get(t)||pu,n):r},n.x=function(t){return arguments.length?(i=t,n):i},n.y=function(t){return arguments.length?(o=t,n):o},n.out=function(t){return arguments.length?(u=t,n):u},n};var Ac=mo.map({"inside-out":function(n){var t,e,r=n.length,u=n.map(du),i=n.map(vu),o=mo.range(r).sort(function(n,t){return u[n]-u[t]}),a=0,c=0,l=[],s=[];for(t=0;r>t;++t)e=o[t],c>a?(a+=i[e],l.push(e)):(c+=i[e],s.push(e));return s.reverse().concat(l)},reverse:function(n){return mo.range(n.length).reverse()},"default":gu}),Nc=mo.map({silhouette:function(n){var t,e,r,u=n.length,i=n[0].length,o=[],a=0,c=[];for(e=0;i>e;++e){for(t=0,r=0;u>t;t++)r+=n[t][e][1];r>a&&(a=r),o.push(r)}for(e=0;i>e;++e)c[e]=(a-o[e])/2;return c},wiggle:function(n){var t,e,r,u,i,o,a,c,l,s=n.length,f=n[0],h=f.length,g=[];for(g[0]=c=l=0,e=1;h>e;++e){for(t=0,u=0;s>t;++t)u+=n[t][e][1];for(t=0,i=0,a=f[e][0]-f[e-1][0];s>t;++t){for(r=0,o=(n[t][e][1]-n[t][e-1][1])/(2*a);t>r;++r)o+=(n[r][e][1]-n[r][e-1][1])/a;i+=o*n[t][e][1]}g[e]=c-=u?i/u*a:0,l>c&&(l=c)}for(e=0;h>e;++e)g[e]-=l;return g},expand:function(n){var t,e,r,u=n.length,i=n[0].length,o=1/u,a=[];for(e=0;i>e;++e){for(t=0,r=0;u>t;t++)r+=n[t][e][1];if(r)for(t=0;u>t;t++)n[t][e][1]/=r;else for(t=0;u>t;t++)n[t][e][1]=o}for(e=0;i>e;++e)a[e]=0;return a},zero:pu});mo.layout.histogram=function(){function n(n,i){for(var o,a,c=[],l=n.map(e,this),s=r.call(this,l,i),f=u.call(this,s,l,i),i=-1,h=l.length,g=f.length-1,p=t?1:1/h;++i0)for(i=-1;++i=s[0]&&a<=s[1]&&(o=c[mo.bisect(f,a,1,g)-1],o.y+=p,o.push(n[i]));return c}var t=!0,e=Number,r=xu,u=yu;return n.value=function(t){return arguments.length?(e=t,n):e},n.range=function(t){return arguments.length?(r=pt(t),n):r},n.bins=function(t){return arguments.length?(u="number"==typeof t?function(n){return Mu(n,t)}:pt(t),n):u},n.frequency=function(e){return arguments.length?(t=!!e,n):t},n},mo.layout.tree=function(){function n(n,i){function o(n,t){var r=n.children,u=n._tree;if(r&&(i=r.length)){for(var i,a,l,s=r[0],f=s,h=-1;++h0&&(qu(zu(a,n,r),n,u),l+=u,s+=u),f+=a._tree.mod,l+=i._tree.mod,h+=c._tree.mod,s+=o._tree.mod;a&&!wu(o)&&(o._tree.thread=a,o._tree.mod+=f-s),i&&!_u(c)&&(c._tree.thread=i,c._tree.mod+=l-h,r=n)}return r}var l=t.call(this,n,i),s=l[0];Nu(s,function(n,t){n._tree={ancestor:n,prelim:0,mod:0,change:0,shift:0,number:t?t._tree.number+1:0}}),o(s),a(s,-s._tree.prelim);var f=Su(s,ku),h=Su(s,Eu),g=Su(s,Au),p=f.x-e(f,h)/2,d=h.x+e(h,f)/2,v=g.depth||1;return Nu(s,u?function(n){n.x*=r[0],n.y=n.depth*r[1],delete n._tree}:function(n){n.x=(n.x-p)/(d-p)*r[0],n.y=n.depth/v*r[1],delete n._tree}),l}var t=mo.layout.hierarchy().sort(null).value(null),e=bu,r=[1,1],u=!1;return n.separation=function(t){return arguments.length?(e=t,n):e},n.size=function(t){return arguments.length?(u=null==(r=t),n):u?null:r},n.nodeSize=function(t){return arguments.length?(u=null!=(r=t),n):u?r:null},iu(n,t)},mo.layout.pack=function(){function n(n,i){var o=e.call(this,n,i),a=o[0],c=u[0],l=u[1],s=null==t?Math.sqrt:"function"==typeof t?t:function(){return t};if(a.x=a.y=0,Nu(a,function(n){n.r=+s(n.value)}),Nu(a,Hu),r){var f=r*(t?1:Math.max(2*a.r/c,2*a.r/l))/2;Nu(a,function(n){n.r+=f}),Nu(a,Hu),Nu(a,function(n){n.r-=f})}return Ou(a,c/2,l/2,t?1:1/Math.max(2*a.r/c,2*a.r/l)),o}var t,e=mo.layout.hierarchy().sort(Cu),r=0,u=[1,1];return n.size=function(t){return arguments.length?(u=t,n):u},n.radius=function(e){return arguments.length?(t=null==e||"function"==typeof e?e:+e,n):t},n.padding=function(t){return arguments.length?(r=+t,n):r},iu(n,e)},mo.layout.cluster=function(){function n(n,i){var o,a=t.call(this,n,i),c=a[0],l=0;Nu(c,function(n){var t=n.children;t&&t.length?(n.x=Iu(t),n.y=Yu(t)):(n.x=o?l+=e(n,o):0,n.y=0,o=n)});var s=Uu(c),f=Zu(c),h=s.x-e(s,f)/2,g=f.x+e(f,s)/2;return Nu(c,u?function(n){n.x=(n.x-c.x)*r[0],n.y=(c.y-n.y)*r[1]}:function(n){n.x=(n.x-h)/(g-h)*r[0],n.y=(1-(c.y?n.y/c.y:1))*r[1]}),a}var t=mo.layout.hierarchy().sort(null).value(null),e=bu,r=[1,1],u=!1;return n.separation=function(t){return arguments.length?(e=t,n):e},n.size=function(t){return arguments.length?(u=null==(r=t),n):u?null:r},n.nodeSize=function(t){return arguments.length?(u=null!=(r=t),n):u?r:null},iu(n,t)},mo.layout.treemap=function(){function n(n,t){for(var e,r,u=-1,i=n.length;++ut?0:t),e.area=isNaN(r)||0>=r?0:r}function t(e){var i=e.children;if(i&&i.length){var o,a,c,l=f(e),s=[],h=i.slice(),p=1/0,d="slice"===g?l.dx:"dice"===g?l.dy:"slice-dice"===g?1&e.depth?l.dy:l.dx:Math.min(l.dx,l.dy);for(n(h,l.dx*l.dy/e.value),s.area=0;(c=h.length)>0;)s.push(o=h[c-1]),s.area+=o.area,"squarify"!==g||(a=r(s,d))<=p?(h.pop(),p=a):(s.area-=s.pop().area,u(s,d,l,!1),d=Math.min(l.dx,l.dy),s.length=s.area=0,p=1/0);s.length&&(u(s,d,l,!0),s.length=s.area=0),i.forEach(t)}}function e(t){var r=t.children;if(r&&r.length){var i,o=f(t),a=r.slice(),c=[];for(n(a,o.dx*o.dy/t.value),c.area=0;i=a.pop();)c.push(i),c.area+=i.area,null!=i.z&&(u(c,i.z?o.dx:o.dy,o,!a.length),c.length=c.area=0);r.forEach(e)}}function r(n,t){for(var e,r=n.area,u=0,i=1/0,o=-1,a=n.length;++oe&&(i=e),e>u&&(u=e));return r*=r,t*=t,r?Math.max(t*u*p/r,r/(t*i*p)):1/0}function u(n,t,e,r){var u,i=-1,o=n.length,a=e.x,l=e.y,s=t?c(n.area/t):0;if(t==e.dx){for((r||s>e.dy)&&(s=e.dy);++ie.dx)&&(s=e.dx);++ie&&(t=1),1>e&&(n=0),function(){var e,r,u;do e=2*Math.random()-1,r=2*Math.random()-1,u=e*e+r*r;while(!u||u>1);return n+t*e*Math.sqrt(-2*Math.log(u)/u)}},logNormal:function(){var n=mo.random.normal.apply(mo,arguments);return function(){return Math.exp(n())}},irwinHall:function(n){return function(){for(var t=0,e=0;n>e;e++)t+=Math.random();return t/n}}},mo.scale={};var Tc={floor:dt,ceil:dt};mo.scale.linear=function(){return Qu([0,1],[0,1],Er,!1)},mo.scale.log=function(){return ii(mo.scale.linear().domain([0,1]),10,!0,[1,10])};var qc=mo.format(".0e"),zc={floor:function(n){return-Math.ceil(-n)},ceil:function(n){return-Math.floor(-n)}};mo.scale.pow=function(){return oi(mo.scale.linear(),1,[0,1])},mo.scale.sqrt=function(){return mo.scale.pow().exponent(.5)},mo.scale.ordinal=function(){return ci([],{t:"range",a:[[]]})},mo.scale.category10=function(){return mo.scale.ordinal().range(Cc)},mo.scale.category20=function(){return mo.scale.ordinal().range(Dc)},mo.scale.category20b=function(){return mo.scale.ordinal().range(jc)},mo.scale.category20c=function(){return mo.scale.ordinal().range(Lc)};var Cc=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(it),Dc=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(it),jc=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(it),Lc=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(it);mo.scale.quantile=function(){return li([],[])},mo.scale.quantize=function(){return si(0,1,[0,1])},mo.scale.threshold=function(){return fi([.5],[0,1])},mo.scale.identity=function(){return hi([0,1])},mo.svg.arc=function(){function n(){var n=t.apply(this,arguments),i=e.apply(this,arguments),o=r.apply(this,arguments)+Hc,a=u.apply(this,arguments)+Hc,c=(o>a&&(c=o,o=a,a=c),a-o),l=Bo>c?"0":"1",s=Math.cos(o),f=Math.sin(o),h=Math.cos(a),g=Math.sin(a);return c>=Fc?n?"M0,"+i+"A"+i+","+i+" 0 1,1 0,"+-i+"A"+i+","+i+" 0 1,1 0,"+i+"M0,"+n+"A"+n+","+n+" 0 1,0 0,"+-n+"A"+n+","+n+" 0 1,0 0,"+n+"Z":"M0,"+i+"A"+i+","+i+" 0 1,1 0,"+-i+"A"+i+","+i+" 0 1,1 0,"+i+"Z":n?"M"+i*s+","+i*f+"A"+i+","+i+" 0 "+l+",1 "+i*h+","+i*g+"L"+n*h+","+n*g+"A"+n+","+n+" 0 "+l+",0 "+n*s+","+n*f+"Z":"M"+i*s+","+i*f+"A"+i+","+i+" 0 "+l+",1 "+i*h+","+i*g+"L0,0"+"Z"}var t=gi,e=pi,r=di,u=vi;return n.innerRadius=function(e){return arguments.length?(t=pt(e),n):t},n.outerRadius=function(t){return arguments.length?(e=pt(t),n):e},n.startAngle=function(t){return arguments.length?(r=pt(t),n):r},n.endAngle=function(t){return arguments.length?(u=pt(t),n):u},n.centroid=function(){var n=(t.apply(this,arguments)+e.apply(this,arguments))/2,i=(r.apply(this,arguments)+u.apply(this,arguments))/2+Hc;return[Math.cos(i)*n,Math.sin(i)*n]},n};var Hc=-Jo,Fc=Wo-Go;mo.svg.line.radial=function(){var n=Ue(mi);return n.radius=n.x,delete n.x,n.angle=n.y,delete n.y,n},We.reverse=Je,Je.reverse=We,mo.svg.area=function(){return yi(dt)},mo.svg.area.radial=function(){var n=yi(mi);return n.radius=n.x,delete n.x,n.innerRadius=n.x0,delete n.x0,n.outerRadius=n.x1,delete n.x1,n.angle=n.y,delete n.y,n.startAngle=n.y0,delete n.y0,n.endAngle=n.y1,delete n.y1,n},mo.svg.chord=function(){function n(n,a){var c=t(this,i,n,a),l=t(this,o,n,a);return"M"+c.p0+r(c.r,c.p1,c.a1-c.a0)+(e(c,l)?u(c.r,c.p1,c.r,c.p0):u(c.r,c.p1,l.r,l.p0)+r(l.r,l.p1,l.a1-l.a0)+u(l.r,l.p1,c.r,c.p0))+"Z"}function t(n,t,e,r){var u=t.call(n,e,r),i=a.call(n,u,r),o=c.call(n,u,r)+Hc,s=l.call(n,u,r)+Hc;return{r:i,a0:o,a1:s,p0:[i*Math.cos(o),i*Math.sin(o)],p1:[i*Math.cos(s),i*Math.sin(s)]}}function e(n,t){return n.a0==t.a0&&n.a1==t.a1}function r(n,t,e){return"A"+n+","+n+" 0 "+ +(e>Bo)+",1 "+t}function u(n,t,e,r){return"Q 0,0 "+r}var i=De,o=je,a=Mi,c=di,l=vi;return n.radius=function(t){return arguments.length?(a=pt(t),n):a},n.source=function(t){return arguments.length?(i=pt(t),n):i},n.target=function(t){return arguments.length?(o=pt(t),n):o},n.startAngle=function(t){return arguments.length?(c=pt(t),n):c},n.endAngle=function(t){return arguments.length?(l=pt(t),n):l},n},mo.svg.diagonal=function(){function n(n,u){var i=t.call(this,n,u),o=e.call(this,n,u),a=(i.y+o.y)/2,c=[i,{x:i.x,y:a},{x:o.x,y:a},o];return c=c.map(r),"M"+c[0]+"C"+c[1]+" "+c[2]+" "+c[3]}var t=De,e=je,r=xi;return n.source=function(e){return arguments.length?(t=pt(e),n):t},n.target=function(t){return arguments.length?(e=pt(t),n):e},n.projection=function(t){return arguments.length?(r=t,n):r},n},mo.svg.diagonal.radial=function(){var n=mo.svg.diagonal(),t=xi,e=n.projection;return n.projection=function(n){return arguments.length?e(bi(t=n)):t},n},mo.svg.symbol=function(){function n(n,r){return(Pc.get(t.call(this,n,r))||Si)(e.call(this,n,r))}var t=wi,e=_i;return n.type=function(e){return arguments.length?(t=pt(e),n):t},n.size=function(t){return arguments.length?(e=pt(t),n):e},n};var Pc=mo.map({circle:Si,cross:function(n){var t=Math.sqrt(n/5)/2;return"M"+-3*t+","+-t+"H"+-t+"V"+-3*t+"H"+t+"V"+-t+"H"+3*t+"V"+t+"H"+t+"V"+3*t+"H"+-t+"V"+t+"H"+-3*t+"Z"},diamond:function(n){var t=Math.sqrt(n/(2*Ic)),e=t*Ic;return"M0,"+-t+"L"+e+",0"+" 0,"+t+" "+-e+",0"+"Z"},square:function(n){var t=Math.sqrt(n)/2;return"M"+-t+","+-t+"L"+t+","+-t+" "+t+","+t+" "+-t+","+t+"Z"},"triangle-down":function(n){var t=Math.sqrt(n/Yc),e=t*Yc/2;return"M0,"+e+"L"+t+","+-e+" "+-t+","+-e+"Z"},"triangle-up":function(n){var t=Math.sqrt(n/Yc),e=t*Yc/2;return"M0,"+-e+"L"+t+","+e+" "+-t+","+e+"Z"}});mo.svg.symbolTypes=Pc.keys();var Oc,Rc,Yc=Math.sqrt(3),Ic=Math.tan(30*Qo),Uc=[],Zc=0;Uc.call=Ro.call,Uc.empty=Ro.empty,Uc.node=Ro.node,Uc.size=Ro.size,mo.transition=function(n){return arguments.length?Oc?n.transition():n:Uo.transition()},mo.transition.prototype=Uc,Uc.select=function(n){var t,e,r,u=this.id,i=[];n=d(n);for(var o=-1,a=this.length;++oi;i++){u.push(t=[]);for(var e=this[i],a=0,c=e.length;c>a;a++)(r=e[a])&&n.call(r,r.__data__,a)&&t.push(r)}return Ei(u,this.id)},Uc.tween=function(n,t){var e=this.id;return arguments.length<2?this.node().__transition__[e].tween.get(n):N(this,null==t?function(t){t.__transition__[e].tween.remove(n)}:function(r){r.__transition__[e].tween.set(n,t)})},Uc.attr=function(n,t){function e(){this.removeAttribute(a)}function r(){this.removeAttributeNS(a.space,a.local)}function u(n){return null==n?e:(n+="",function(){var t,e=this.getAttribute(a);return e!==n&&(t=o(e,n),function(n){this.setAttribute(a,t(n))})})}function i(n){return null==n?r:(n+="",function(){var t,e=this.getAttributeNS(a.space,a.local);return e!==n&&(t=o(e,n),function(n){this.setAttributeNS(a.space,a.local,t(n)) -})})}if(arguments.length<2){for(t in n)this.attr(t,n[t]);return this}var o="transform"==n?Br:Er,a=mo.ns.qualify(n);return ki(this,"attr."+n,t,a.local?i:u)},Uc.attrTween=function(n,t){function e(n,e){var r=t.call(this,n,e,this.getAttribute(u));return r&&function(n){this.setAttribute(u,r(n))}}function r(n,e){var r=t.call(this,n,e,this.getAttributeNS(u.space,u.local));return r&&function(n){this.setAttributeNS(u.space,u.local,r(n))}}var u=mo.ns.qualify(n);return this.tween("attr."+n,u.local?r:e)},Uc.style=function(n,t,e){function r(){this.style.removeProperty(n)}function u(t){return null==t?r:(t+="",function(){var r,u=_o.getComputedStyle(this,null).getPropertyValue(n);return u!==t&&(r=Er(u,t),function(t){this.style.setProperty(n,r(t),e)})})}var i=arguments.length;if(3>i){if("string"!=typeof n){2>i&&(t="");for(e in n)this.style(e,n[e],t);return this}e=""}return ki(this,"style."+n,t,u)},Uc.styleTween=function(n,t,e){function r(r,u){var i=t.call(this,r,u,_o.getComputedStyle(this,null).getPropertyValue(n));return i&&function(t){this.style.setProperty(n,i(t),e)}}return arguments.length<3&&(e=""),this.tween("style."+n,r)},Uc.text=function(n){return ki(this,"text",n,Ai)},Uc.remove=function(){return this.each("end.transition",function(){var n;this.__transition__.count<2&&(n=this.parentNode)&&n.removeChild(this)})},Uc.ease=function(n){var t=this.id;return arguments.length<1?this.node().__transition__[t].ease:("function"!=typeof n&&(n=mo.ease.apply(mo,arguments)),N(this,function(e){e.__transition__[t].ease=n}))},Uc.delay=function(n){var t=this.id;return N(this,"function"==typeof n?function(e,r,u){e.__transition__[t].delay=+n.call(e,e.__data__,r,u)}:(n=+n,function(e){e.__transition__[t].delay=n}))},Uc.duration=function(n){var t=this.id;return N(this,"function"==typeof n?function(e,r,u){e.__transition__[t].duration=Math.max(1,n.call(e,e.__data__,r,u))}:(n=Math.max(1,n),function(e){e.__transition__[t].duration=n}))},Uc.each=function(n,t){var e=this.id;if(arguments.length<2){var r=Rc,u=Oc;Oc=e,N(this,function(t,r,u){Rc=t.__transition__[e],n.call(t,t.__data__,r,u)}),Rc=r,Oc=u}else N(this,function(r){var u=r.__transition__[e];(u.event||(u.event=mo.dispatch("start","end"))).on(n,t)});return this},Uc.transition=function(){for(var n,t,e,r,u=this.id,i=++Zc,o=[],a=0,c=this.length;c>a;a++){o.push(n=[]);for(var t=this[a],l=0,s=t.length;s>l;l++)(e=t[l])&&(r=Object.create(e.__transition__[u]),r.delay+=r.duration,Ni(e,l,i,r)),n.push(e)}return Ei(o,i)},mo.svg.axis=function(){function n(n){n.each(function(){var n,l=mo.select(this),s=this.__chart__||e,f=this.__chart__=e.copy(),h=null==c?f.ticks?f.ticks.apply(f,a):f.domain():c,g=null==t?f.tickFormat?f.tickFormat.apply(f,a):dt:t,p=l.selectAll(".tick").data(h,f),d=p.enter().insert("g",".domain").attr("class","tick").style("opacity",Go),v=mo.transition(p.exit()).style("opacity",Go).remove(),m=mo.transition(p).style("opacity",1),y=Bu(f),M=l.selectAll(".domain").data([0]),x=(M.enter().append("path").attr("class","domain"),mo.transition(M));d.append("line"),d.append("text");var b=d.select("line"),_=m.select("line"),w=p.select("text").text(g),S=d.select("text"),E=m.select("text");switch(r){case"bottom":n=Ti,b.attr("y2",u),S.attr("y",Math.max(u,0)+o),_.attr("x2",0).attr("y2",u),E.attr("x",0).attr("y",Math.max(u,0)+o),w.attr("dy",".71em").style("text-anchor","middle"),x.attr("d","M"+y[0]+","+i+"V0H"+y[1]+"V"+i);break;case"top":n=Ti,b.attr("y2",-u),S.attr("y",-(Math.max(u,0)+o)),_.attr("x2",0).attr("y2",-u),E.attr("x",0).attr("y",-(Math.max(u,0)+o)),w.attr("dy","0em").style("text-anchor","middle"),x.attr("d","M"+y[0]+","+-i+"V0H"+y[1]+"V"+-i);break;case"left":n=qi,b.attr("x2",-u),S.attr("x",-(Math.max(u,0)+o)),_.attr("x2",-u).attr("y2",0),E.attr("x",-(Math.max(u,0)+o)).attr("y",0),w.attr("dy",".32em").style("text-anchor","end"),x.attr("d","M"+-i+","+y[0]+"H0V"+y[1]+"H"+-i);break;case"right":n=qi,b.attr("x2",u),S.attr("x",Math.max(u,0)+o),_.attr("x2",u).attr("y2",0),E.attr("x",Math.max(u,0)+o).attr("y",0),w.attr("dy",".32em").style("text-anchor","start"),x.attr("d","M"+i+","+y[0]+"H0V"+y[1]+"H"+i)}if(f.rangeBand){var k=f.rangeBand()/2,A=function(n){return f(n)+k};d.call(n,A),m.call(n,A)}else d.call(n,s),m.call(n,f),v.call(n,f)})}var t,e=mo.scale.linear(),r=Vc,u=6,i=6,o=3,a=[10],c=null;return n.scale=function(t){return arguments.length?(e=t,n):e},n.orient=function(t){return arguments.length?(r=t in Xc?t+"":Vc,n):r},n.ticks=function(){return arguments.length?(a=arguments,n):a},n.tickValues=function(t){return arguments.length?(c=t,n):c},n.tickFormat=function(e){return arguments.length?(t=e,n):t},n.tickSize=function(t){var e=arguments.length;return e?(u=+t,i=+arguments[e-1],n):u},n.innerTickSize=function(t){return arguments.length?(u=+t,n):u},n.outerTickSize=function(t){return arguments.length?(i=+t,n):i},n.tickPadding=function(t){return arguments.length?(o=+t,n):o},n.tickSubdivide=function(){return arguments.length&&n},n};var Vc="bottom",Xc={top:1,right:1,bottom:1,left:1};mo.svg.brush=function(){function n(i){i.each(function(){var i=mo.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",u).on("touchstart.brush",u),o=i.selectAll(".background").data([0]);o.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),i.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var a=i.selectAll(".resize").data(v,dt);a.exit().remove(),a.enter().append("g").attr("class",function(n){return"resize "+n}).style("cursor",function(n){return $c[n]}).append("rect").attr("x",function(n){return/[ew]$/.test(n)?-3:null}).attr("y",function(n){return/^[ns]/.test(n)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),a.style("display",n.empty()?"none":null);var s,f=mo.transition(i),h=mo.transition(o);c&&(s=Bu(c),h.attr("x",s[0]).attr("width",s[1]-s[0]),e(f)),l&&(s=Bu(l),h.attr("y",s[0]).attr("height",s[1]-s[0]),r(f)),t(f)})}function t(n){n.selectAll(".resize").attr("transform",function(n){return"translate("+s[+/e$/.test(n)]+","+h[+/^s/.test(n)]+")"})}function e(n){n.select(".extent").attr("x",s[0]),n.selectAll(".extent,.n>rect,.s>rect").attr("width",s[1]-s[0])}function r(n){n.select(".extent").attr("y",h[0]),n.selectAll(".extent,.e>rect,.w>rect").attr("height",h[1]-h[0])}function u(){function u(){32==mo.event.keyCode&&(N||(M=null,q[0]-=s[1],q[1]-=h[1],N=2),f())}function g(){32==mo.event.keyCode&&2==N&&(q[0]+=s[1],q[1]+=h[1],N=0,f())}function v(){var n=mo.mouse(b),u=!1;x&&(n[0]+=x[0],n[1]+=x[1]),N||(mo.event.altKey?(M||(M=[(s[0]+s[1])/2,(h[0]+h[1])/2]),q[0]=s[+(n[0]f?(u=r,r=f):u=f),g[0]!=r||g[1]!=u?(e?o=null:i=null,g[0]=r,g[1]=u,!0):void 0}function y(){v(),S.style("pointer-events","all").selectAll(".resize").style("display",n.empty()?"none":null),mo.select("body").style("cursor",null),z.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null),T(),w({type:"brushend"})}var M,x,b=this,_=mo.select(mo.event.target),w=a.of(b,arguments),S=mo.select(b),E=_.datum(),k=!/^(n|s)$/.test(E)&&c,A=!/^(e|w)$/.test(E)&&l,N=_.classed("extent"),T=L(),q=mo.mouse(b),z=mo.select(_o).on("keydown.brush",u).on("keyup.brush",g);if(mo.event.changedTouches?z.on("touchmove.brush",v).on("touchend.brush",y):z.on("mousemove.brush",v).on("mouseup.brush",y),S.interrupt().selectAll("*").interrupt(),N)q[0]=s[0]-q[0],q[1]=h[0]-q[1];else if(E){var C=+/w$/.test(E),D=+/^n/.test(E);x=[s[1-C]-q[0],h[1-D]-q[1]],q[0]=s[C],q[1]=h[D]}else mo.event.altKey&&(M=q.slice());S.style("pointer-events","none").selectAll(".resize").style("display",null),mo.select("body").style("cursor",_.style("cursor")),w({type:"brushstart"}),v()}var i,o,a=g(n,"brushstart","brush","brushend"),c=null,l=null,s=[0,0],h=[0,0],p=!0,d=!0,v=Bc[0];return n.event=function(n){n.each(function(){var n=a.of(this,arguments),t={x:s,y:h,i:i,j:o},e=this.__chart__||t;this.__chart__=t,Oc?mo.select(this).transition().each("start.brush",function(){i=e.i,o=e.j,s=e.x,h=e.y,n({type:"brushstart"})}).tween("brush:brush",function(){var e=kr(s,t.x),r=kr(h,t.y);return i=o=null,function(u){s=t.x=e(u),h=t.y=r(u),n({type:"brush",mode:"resize"})}}).each("end.brush",function(){i=t.i,o=t.j,n({type:"brush",mode:"resize"}),n({type:"brushend"})}):(n({type:"brushstart"}),n({type:"brush",mode:"resize"}),n({type:"brushend"}))})},n.x=function(t){return arguments.length?(c=t,v=Bc[!c<<1|!l],n):c},n.y=function(t){return arguments.length?(l=t,v=Bc[!c<<1|!l],n):l},n.clamp=function(t){return arguments.length?(c&&l?(p=!!t[0],d=!!t[1]):c?p=!!t:l&&(d=!!t),n):c&&l?[p,d]:c?p:l?d:null},n.extent=function(t){var e,r,u,a,f;return arguments.length?(c&&(e=t[0],r=t[1],l&&(e=e[0],r=r[0]),i=[e,r],c.invert&&(e=c(e),r=c(r)),e>r&&(f=e,e=r,r=f),(e!=s[0]||r!=s[1])&&(s=[e,r])),l&&(u=t[0],a=t[1],c&&(u=u[1],a=a[1]),o=[u,a],l.invert&&(u=l(u),a=l(a)),u>a&&(f=u,u=a,a=f),(u!=h[0]||a!=h[1])&&(h=[u,a])),n):(c&&(i?(e=i[0],r=i[1]):(e=s[0],r=s[1],c.invert&&(e=c.invert(e),r=c.invert(r)),e>r&&(f=e,e=r,r=f))),l&&(o?(u=o[0],a=o[1]):(u=h[0],a=h[1],l.invert&&(u=l.invert(u),a=l.invert(a)),u>a&&(f=u,u=a,a=f))),c&&l?[[e,u],[r,a]]:c?[e,r]:l&&[u,a])},n.clear=function(){return n.empty()||(s=[0,0],h=[0,0],i=o=null),n},n.empty=function(){return!!c&&s[0]==s[1]||!!l&&h[0]==h[1]},mo.rebind(n,a,"on")};var $c={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},Bc=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]],Wc=mo.time={},Jc=Date,Gc=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];zi.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){Kc.setUTCDate.apply(this._,arguments)},setDay:function(){Kc.setUTCDay.apply(this._,arguments)},setFullYear:function(){Kc.setUTCFullYear.apply(this._,arguments)},setHours:function(){Kc.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){Kc.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){Kc.setUTCMinutes.apply(this._,arguments)},setMonth:function(){Kc.setUTCMonth.apply(this._,arguments)},setSeconds:function(){Kc.setUTCSeconds.apply(this._,arguments)},setTime:function(){Kc.setTime.apply(this._,arguments)}};var Kc=Date.prototype,Qc="%a %b %e %X %Y",nl="%m/%d/%Y",tl="%H:%M:%S",el=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],rl=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],ul=["January","February","March","April","May","June","July","August","September","October","November","December"],il=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];Wc.year=Ci(function(n){return n=Wc.day(n),n.setMonth(0,1),n},function(n,t){n.setFullYear(n.getFullYear()+t)},function(n){return n.getFullYear()}),Wc.years=Wc.year.range,Wc.years.utc=Wc.year.utc.range,Wc.day=Ci(function(n){var t=new Jc(2e3,0);return t.setFullYear(n.getFullYear(),n.getMonth(),n.getDate()),t},function(n,t){n.setDate(n.getDate()+t)},function(n){return n.getDate()-1}),Wc.days=Wc.day.range,Wc.days.utc=Wc.day.utc.range,Wc.dayOfYear=function(n){var t=Wc.year(n);return Math.floor((n-t-6e4*(n.getTimezoneOffset()-t.getTimezoneOffset()))/864e5)},Gc.forEach(function(n,t){n=n.toLowerCase(),t=7-t;var e=Wc[n]=Ci(function(n){return(n=Wc.day(n)).setDate(n.getDate()-(n.getDay()+t)%7),n},function(n,t){n.setDate(n.getDate()+7*Math.floor(t))},function(n){var e=Wc.year(n).getDay();return Math.floor((Wc.dayOfYear(n)+(e+t)%7)/7)-(e!==t)});Wc[n+"s"]=e.range,Wc[n+"s"].utc=e.utc.range,Wc[n+"OfYear"]=function(n){var e=Wc.year(n).getDay();return Math.floor((Wc.dayOfYear(n)+(e+t)%7)/7)}}),Wc.week=Wc.sunday,Wc.weeks=Wc.sunday.range,Wc.weeks.utc=Wc.sunday.utc.range,Wc.weekOfYear=Wc.sundayOfYear,Wc.format=ji;var ol=Hi(el),al=Fi(el),cl=Hi(rl),ll=Fi(rl),sl=Hi(ul),fl=Fi(ul),hl=Hi(il),gl=Fi(il),pl=/^%/,dl={"-":"",_:" ",0:"0"},vl={a:function(n){return rl[n.getDay()]},A:function(n){return el[n.getDay()]},b:function(n){return il[n.getMonth()]},B:function(n){return ul[n.getMonth()]},c:ji(Qc),d:function(n,t){return Pi(n.getDate(),t,2)},e:function(n,t){return Pi(n.getDate(),t,2)},H:function(n,t){return Pi(n.getHours(),t,2)},I:function(n,t){return Pi(n.getHours()%12||12,t,2)},j:function(n,t){return Pi(1+Wc.dayOfYear(n),t,3)},L:function(n,t){return Pi(n.getMilliseconds(),t,3)},m:function(n,t){return Pi(n.getMonth()+1,t,2)},M:function(n,t){return Pi(n.getMinutes(),t,2)},p:function(n){return n.getHours()>=12?"PM":"AM"},S:function(n,t){return Pi(n.getSeconds(),t,2)},U:function(n,t){return Pi(Wc.sundayOfYear(n),t,2)},w:function(n){return n.getDay()},W:function(n,t){return Pi(Wc.mondayOfYear(n),t,2)},x:ji(nl),X:ji(tl),y:function(n,t){return Pi(n.getFullYear()%100,t,2)},Y:function(n,t){return Pi(n.getFullYear()%1e4,t,4)},Z:ao,"%":function(){return"%"}},ml={a:Oi,A:Ri,b:Zi,B:Vi,c:Xi,d:no,e:no,H:eo,I:eo,j:to,L:io,m:Qi,M:ro,p:oo,S:uo,U:Ii,w:Yi,W:Ui,x:$i,X:Bi,y:Ji,Y:Wi,Z:Gi,"%":co},yl=/^\s*\d+/,Ml=mo.map({am:0,pm:1});ji.utc=lo;var xl=lo("%Y-%m-%dT%H:%M:%S.%LZ");ji.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?so:xl,so.parse=function(n){var t=new Date(n);return isNaN(t)?null:t},so.toString=xl.toString,Wc.second=Ci(function(n){return new Jc(1e3*Math.floor(n/1e3))},function(n,t){n.setTime(n.getTime()+1e3*Math.floor(t))},function(n){return n.getSeconds()}),Wc.seconds=Wc.second.range,Wc.seconds.utc=Wc.second.utc.range,Wc.minute=Ci(function(n){return new Jc(6e4*Math.floor(n/6e4))},function(n,t){n.setTime(n.getTime()+6e4*Math.floor(t))},function(n){return n.getMinutes()}),Wc.minutes=Wc.minute.range,Wc.minutes.utc=Wc.minute.utc.range,Wc.hour=Ci(function(n){var t=n.getTimezoneOffset()/60;return new Jc(36e5*(Math.floor(n/36e5-t)+t))},function(n,t){n.setTime(n.getTime()+36e5*Math.floor(t))},function(n){return n.getHours()}),Wc.hours=Wc.hour.range,Wc.hours.utc=Wc.hour.utc.range,Wc.month=Ci(function(n){return n=Wc.day(n),n.setDate(1),n},function(n,t){n.setMonth(n.getMonth()+t)},function(n){return n.getMonth()}),Wc.months=Wc.month.range,Wc.months.utc=Wc.month.utc.range;var bl=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],_l=[[Wc.second,1],[Wc.second,5],[Wc.second,15],[Wc.second,30],[Wc.minute,1],[Wc.minute,5],[Wc.minute,15],[Wc.minute,30],[Wc.hour,1],[Wc.hour,3],[Wc.hour,6],[Wc.hour,12],[Wc.day,1],[Wc.day,2],[Wc.week,1],[Wc.month,1],[Wc.month,3],[Wc.year,1]],wl=[[ji("%Y"),Vt],[ji("%B"),function(n){return n.getMonth()}],[ji("%b %d"),function(n){return 1!=n.getDate()}],[ji("%a %d"),function(n){return n.getDay()&&1!=n.getDate()}],[ji("%I %p"),function(n){return n.getHours()}],[ji("%I:%M"),function(n){return n.getMinutes()}],[ji(":%S"),function(n){return n.getSeconds()}],[ji(".%L"),function(n){return n.getMilliseconds()}]],Sl=go(wl);_l.year=Wc.year,Wc.scale=function(){return fo(mo.scale.linear(),_l,Sl)};var El={range:function(n,t,e){return mo.range(+n,+t,e).map(ho)}},kl=_l.map(function(n){return[n[0].utc,n[1]]}),Al=[[lo("%Y"),Vt],[lo("%B"),function(n){return n.getUTCMonth()}],[lo("%b %d"),function(n){return 1!=n.getUTCDate()}],[lo("%a %d"),function(n){return n.getUTCDay()&&1!=n.getUTCDate()}],[lo("%I %p"),function(n){return n.getUTCHours()}],[lo("%I:%M"),function(n){return n.getUTCMinutes()}],[lo(":%S"),function(n){return n.getUTCSeconds()}],[lo(".%L"),function(n){return n.getUTCMilliseconds()}]],Nl=go(Al);return kl.year=Wc.year.utc,Wc.scale.utc=function(){return fo(mo.scale.linear(),kl,Nl)},mo.text=vt(function(n){return n.responseText}),mo.json=function(n,t){return mt(n,"application/json",po,t)},mo.html=function(n,t){return mt(n,"text/html",vo,t)},mo.xml=vt(function(n){return n.responseXML}),mo}(); -/* - * ----------------------------- JSTORAGE ------------------------------------- - * Simple local storage wrapper to save data on the browser side, supporting - * all major browsers - IE6+, Firefox2+, Safari4+, Chrome4+ and Opera 10.5+ - * - * Copyright (c) 2010 Andris Reinman, andris.reinman@gmail.com - * Project homepage: www.jstorage.info - * - * Licensed under MIT-style license: - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -/** - * $.jStorage - * - * USAGE: - * - * jStorage requires Prototype, MooTools or jQuery! If jQuery is used, then - * jQuery-JSON (http://code.google.com/p/jquery-json/) is also needed. - * (jQuery-JSON needs to be loaded BEFORE jStorage!) - * - * Methods: - * - * -set(key, value) - * $.jStorage.set(key, value) -> saves a value - * - * -get(key[, default]) - * value = $.jStorage.get(key [, default]) -> - * retrieves value if key exists, or default if it doesn't - * - * -deleteKey(key) - * $.jStorage.deleteKey(key) -> removes a key from the storage - * - * -flush() - * $.jStorage.flush() -> clears the cache - * - * -storageObj() - * $.jStorage.storageObj() -> returns a read-ony copy of the actual storage - * - * -storageSize() - * $.jStorage.storageSize() -> returns the size of the storage in bytes - * - * -index() - * $.jStorage.index() -> returns the used keys as an array - * - * -storageAvailable() - * $.jStorage.storageAvailable() -> returns true if storage is available - * - * -reInit() - * $.jStorage.reInit() -> reloads the data from browser storage - * - * can be any JSON-able value, including objects and arrays. - * - **/ - - -(function($){ - if(!$ || !($.toJSON || Object.toJSON || window.JSON)){ - throw new Error("jQuery, MooTools or Prototype needs to be loaded before jStorage!"); - } - - var - /* This is the object, that holds the cached values */ - _storage = {}, - - /* Actual browser storage (localStorage or globalStorage['domain']) */ - _storage_service = {jStorage:"{}"}, - - /* DOM element for older IE versions, holds userData behavior */ - _storage_elm = null, - - /* How much space does the storage take */ - _storage_size = 0, - - /* function to encode objects to JSON strings */ - json_encode = $.toJSON || Object.toJSON || (window.JSON && (JSON.encode || JSON.stringify)), - - /* function to decode objects from JSON strings */ - json_decode = $.evalJSON || (window.JSON && (JSON.decode || JSON.parse)) || function(str){ - return String(str).evalJSON(); - }, - - /* which backend is currently used */ - _backend = false, - - /** - * XML encoding and decoding as XML nodes can't be JSON'ized - * XML nodes are encoded and decoded if the node is the value to be saved - * but not if it's as a property of another object - * Eg. - - * $.jStorage.set("key", xmlNode); // IS OK - * $.jStorage.set("key", {xml: xmlNode}); // NOT OK - */ - _XMLService = { - - /** - * Validates a XML node to be XML - * based on jQuery.isXML function - */ - isXML: function(elm){ - var documentElement = (elm ? elm.ownerDocument || elm : 0).documentElement; - return documentElement ? documentElement.nodeName !== "HTML" : false; - }, - - /** - * Encodes a XML node to string - * based on http://www.mercurytide.co.uk/news/article/issues-when-working-ajax/ - */ - encode: function(xmlNode) { - if(!this.isXML(xmlNode)){ - return false; - } - try{ // Mozilla, Webkit, Opera - return new XMLSerializer().serializeToString(xmlNode); - }catch(E1) { - try { // IE - return xmlNode.xml; - }catch(E2){} - } - return false; - }, - - /** - * Decodes a XML node from string - * loosely based on http://outwestmedia.com/jquery-plugins/xmldom/ - */ - decode: function(xmlString){ - var dom_parser = ("DOMParser" in window && (new DOMParser()).parseFromString) || - (window.ActiveXObject && function(_xmlString) { - var xml_doc = new ActiveXObject('Microsoft.XMLDOM'); - xml_doc.async = 'false'; - xml_doc.loadXML(_xmlString); - return xml_doc; - }), - resultXML; - if(!dom_parser){ - return false; - } - resultXML = dom_parser.call("DOMParser" in window && (new DOMParser()) || window, xmlString, 'text/xml'); - return this.isXML(resultXML)?resultXML:false; - } - }; - - ////////////////////////// PRIVATE METHODS //////////////////////// - - /** - * Initialization function. Detects if the browser supports DOM Storage - * or userData behavior and behaves accordingly. - * @returns undefined - */ - function _init(){ - /* Check if browser supports localStorage */ - var localStorageReallyWorks = false; - if("localStorage" in window){ - try { - window.localStorage.setItem('_tmptest', 'tmpval'); - localStorageReallyWorks = true; - window.localStorage.removeItem('_tmptest'); - } catch(BogusQuotaExceededErrorOnIos5) { - // Thanks be to iOS5 Private Browsing mode which throws - // QUOTA_EXCEEDED_ERRROR DOM Exception 22. - } - } - if(localStorageReallyWorks){ - try { - if(window.localStorage) { - _storage_service = window.localStorage; - _backend = "localStorage"; - } - } catch(E3) {/* Firefox fails when touching localStorage and cookies are disabled */} - } - /* Check if browser supports globalStorage */ - else if("globalStorage" in window){ - try { - if(window.globalStorage) { - _storage_service = window.globalStorage[window.location.hostname]; - _backend = "globalStorage"; - } - } catch(E4) {/* Firefox fails when touching localStorage and cookies are disabled */} - } - /* Check if browser supports userData behavior */ - else { - _storage_elm = document.createElement('link'); - if(_storage_elm.addBehavior){ - - /* Use a DOM element to act as userData storage */ - _storage_elm.style.behavior = 'url(#default#userData)'; - - /* userData element needs to be inserted into the DOM! */ - document.getElementsByTagName('head')[0].appendChild(_storage_elm); - - _storage_elm.load("jStorage"); - var data = "{}"; - try{ - data = _storage_elm.getAttribute("jStorage"); - }catch(E5){} - _storage_service.jStorage = data; - _backend = "userDataBehavior"; - }else{ - _storage_elm = null; - return; - } - } - - _load_storage(); - } - - /** - * Loads the data from the storage based on the supported mechanism - * @returns undefined - */ - function _load_storage(){ - /* if jStorage string is retrieved, then decode it */ - if(_storage_service.jStorage){ - try{ - _storage = json_decode(String(_storage_service.jStorage)); - }catch(E6){_storage_service.jStorage = "{}";} - }else{ - _storage_service.jStorage = "{}"; - } - _storage_size = _storage_service.jStorage?String(_storage_service.jStorage).length:0; - } - - /** - * This functions provides the "save" mechanism to store the jStorage object - * @returns undefined - */ - function _save(){ - try{ - _storage_service.jStorage = json_encode(_storage); - // If userData is used as the storage engine, additional - if(_storage_elm) { - _storage_elm.setAttribute("jStorage",_storage_service.jStorage); - _storage_elm.save("jStorage"); - } - _storage_size = _storage_service.jStorage?String(_storage_service.jStorage).length:0; - }catch(E7){/* probably cache is full, nothing is saved this way*/} - } - - /** - * Function checks if a key is set and is string or numberic - */ - function _checkKey(key){ - if(!key || (typeof key != "string" && typeof key != "number")){ - throw new TypeError('Key name must be string or numeric'); - } - return true; - } - - ////////////////////////// PUBLIC INTERFACE ///////////////////////// - - $.jStorage = { - /* Version number */ - version: "0.1.5.3", - - /** - * Sets a key's value. - * - * @param {String} key - Key to set. If this value is not set or not - * a string an exception is raised. - * @param value - Value to set. This can be any value that is JSON - * compatible (Numbers, Strings, Objects etc.). - * @returns the used value - */ - set: function(key, value){ - _checkKey(key); - if(_XMLService.isXML(value)){ - value = {_is_xml:true,xml:_XMLService.encode(value)}; - } - _storage[key] = value; - _save(); - return value; - }, - - /** - * Looks up a key in cache - * - * @param {String} key - Key to look up. - * @param {mixed} def - Default value to return, if key didn't exist. - * @returns the key value, default value or - */ - get: function(key, def){ - _checkKey(key); - if(key in _storage){ - if(_storage[key] && typeof _storage[key] == "object" && - _storage[key]._is_xml && - _storage[key]._is_xml){ - return _XMLService.decode(_storage[key].xml); - }else{ - return _storage[key]; - } - } - return typeof(def) == 'undefined' ? null : def; - }, - - /** - * Deletes a key from cache. - * - * @param {String} key - Key to delete. - * @returns true if key existed or false if it didn't - */ - deleteKey: function(key){ - _checkKey(key); - if(key in _storage){ - delete _storage[key]; - _save(); - return true; - } - return false; - }, - - /** - * Deletes everything in cache. - * - * @returns true - */ - flush: function(){ - _storage = {}; - _save(); - return true; - }, - - /** - * Returns a read-only copy of _storage - * - * @returns Object - */ - storageObj: function(){ - function F() {} - F.prototype = _storage; - return new F(); - }, - - /** - * Returns an index of all used keys as an array - * ['key1', 'key2',..'keyN'] - * - * @returns Array - */ - index: function(){ - var index = [], i; - for(i in _storage){ - if(_storage.hasOwnProperty(i)){ - index.push(i); - } - } - return index; - }, - - /** - * How much space in bytes does the storage take? - * - * @returns Number - */ - storageSize: function(){ - return _storage_size; - }, - - /** - * Which backend is currently in use? - * - * @returns String - */ - currentBackend: function(){ - return _backend; - }, - - /** - * Test if storage is available - * - * @returns Boolean - */ - storageAvailable: function(){ - return !!_backend; - }, - - /** - * Reloads the data from browser storage - * - * @returns undefined - */ - reInit: function(){ - var new_storage_elm, data; - if(_storage_elm && _storage_elm.addBehavior){ - new_storage_elm = document.createElement('link'); - - _storage_elm.parentNode.replaceChild(new_storage_elm, _storage_elm); - _storage_elm = new_storage_elm; - - /* Use a DOM element to act as userData storage */ - _storage_elm.style.behavior = 'url(#default#userData)'; - - /* userData element needs to be inserted into the DOM! */ - document.getElementsByTagName('head')[0].appendChild(_storage_elm); - - _storage_elm.load("jStorage"); - data = "{}"; - try{ - data = _storage_elm.getAttribute("jStorage"); - }catch(E5){} - _storage_service.jStorage = data; - _backend = "userDataBehavior"; - } - - _load_storage(); - } - }; - - // Initialize jStorage - _init(); - -})(window.jQuery || window.$); -(function() { - /* - Source, bug reports, examples: https://github.com/tamc/Sankey - Copyright: Thomas Counsell 2010, 2011 - Licence: MIT Open Source licence http://www.opensource.org/licenses/mit-license.php - */ - var FlowLine, Sankey, TransformationBox; - var __hasProp = Object.prototype.hasOwnProperty, __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; - Sankey = (function() { - function Sankey() { - this.display_in_element = 'sankey'; - this.display_width = $('#sankey').width(); - this.display_height = $('#sankey').height(); - this.r = Raphael(this.display_in_element, this.display_width, this.display_height); - this.left_margin = 100; - this.right_margin = 100; - this.y_space = 10; - this.threshold_for_drawing = 0; - this.box_width = 50; - this.flow_edge_width = 2; - this.flow_curve = 0.25; - this.boxes = {}; - this.box_array = []; - this.lines = {}; - this.line_array = []; - this.stacks = []; - this.bubbles = []; - this.bubbleColor = '#000'; - this.bubbleLabelColor = '#fff'; - } - Sankey.prototype.find_or_create_transformation_box = function(name) { - var new_box; - if (this.boxes[name] == null) { - new_box = new TransformationBox(this, name); - this.boxes[name] = new_box; - this.box_array.push(new_box); - } - return this.boxes[name]; - }; - Sankey.prototype.lineName = function(start, end) { - return "" + start + "-" + end; - }; - Sankey.prototype.createLine = function(datum) { - var new_line; - if (datum[0] === 0) { - return; - } - new_line = new FlowLine(this, datum[0], datum[1], datum[2]); - this.lines[this.lineName(datum[0], datum[2])] = new_line; - return this.line_array.push(new_line); - }; - Sankey.prototype.setData = function(data) { - var datum, _i, _len, _results; - _results = []; - for (_i = 0, _len = data.length; _i < _len; _i++) { - datum = data[_i]; - _results.push(this.createLine(datum)); - } - return _results; - }; - Sankey.prototype.setBubbles = function(data) { - return this.bubbles = data; - }; - Sankey.prototype.updateData = function(data) { - var datum, line, _i, _len, _results; - _results = []; - for (_i = 0, _len = data.length; _i < _len; _i++) { - datum = data[_i]; - line = this.lines[this.lineName(datum[0], datum[2])]; - _results.push(line ? line.setFlow(datum[1]) : this.createLine(datum)); - } - return _results; - }; - Sankey.prototype.convert_flow_values_callback = function(flow) { - return flow; - }; - Sankey.prototype.convert_flow_labels_callback = function(flow) { - return flow; - }; - Sankey.prototype.convert_box_value_labels_callback = function(flow) { - return this.convert_flow_labels_callback(flow); - }; - Sankey.prototype.convert_box_description_labels_callback = function(name) { - return name; - }; - Sankey.prototype.convert_bubble_values_callback = function(size) { - return size; - }; - Sankey.prototype.convert_bubble_labels_callback = function(size) { - return size; - }; - Sankey.prototype.nudge_boxes_callback = function() { - return; - }; - Sankey.prototype.nudge_colours_callback = function() { - return; - }; - Sankey.prototype.stack = function(x, box_names, y_box) { - return this.stacks.push({ - x: x, - box_names: box_names, - y_box: y_box - }); - }; - Sankey.prototype.setColors = function(colors) { - var box, box_name, color, _results; - _results = []; - for (box_name in colors) { - if (!__hasProp.call(colors, box_name)) continue; - color = colors[box_name]; - box = this.find_or_create_transformation_box(box_name); - _results.push(box.line_colour = colors[box.name] || box.line_colour); - } - return _results; - }; - Sankey.prototype.recolour = function(lines, new_colour) { - var line, _i, _len, _results; - _results = []; - for (_i = 0, _len = lines.length; _i < _len; _i++) { - line = lines[_i]; - _results.push(line.colour = new_colour); - } - return _results; - }; - Sankey.prototype.calculateXStep = function() { - var maximum_x, stack, _i, _len, _ref; - maximum_x = 0; - _ref = this.stacks; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - stack = _ref[_i]; - if (stack.x > maximum_x) { - maximum_x = stack.x; - } - } - return (this.display_width - this.left_margin - this.right_margin) / maximum_x; - }; - Sankey.prototype.position_boxes_and_lines = function() { - var box, bubble, name, stack, x, x_step, y, _i, _j, _k, _l, _len, _len2, _len3, _len4, _ref, _ref2, _ref3, _ref4, _ref5, _ref6; - x_step = this.calculateXStep(); - _ref = this.stacks; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - stack = _ref[_i]; - x = stack.x; - if (stack.y_box != null) { - y = ((_ref2 = this.boxes[stack.y_box]) != null ? _ref2.y : void 0) || 10; - } else { - y = 10; - } - _ref3 = stack.box_names; - for (_j = 0, _len2 = _ref3.length; _j < _len2; _j++) { - name = _ref3[_j]; - box = this.boxes[name]; - if (box == null) {} else { - box.y = y; - box.x = this.left_margin + (x * x_step); - y = box.b() + this.y_space; - } - } - } - this.nudge_boxes_callback(); - _ref4 = this.box_array; - for (_k = 0, _len3 = _ref4.length; _k < _len3; _k++) { - box = _ref4[_k]; - box.position_and_colour_lines(); - } - _ref5 = this.bubbles; - for (_l = 0, _len4 = _ref5.length; _l < _len4; _l++) { - bubble = _ref5[_l]; - if ((_ref6 = this.boxes[bubble[0]]) != null) { - _ref6.bubbleValue = bubble[1]; - } - } - this.nudge_colours_callback(); - return this.line_array.sort(function(a, b) { - return b.size - a.size; - }); - }; - Sankey.prototype.draw = function() { - var box, line, _i, _j, _len, _len2, _ref, _ref2, _results; - this.position_boxes_and_lines(); - _ref = this.line_array; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - line = _ref[_i]; - if (line.size > this.threshold_for_drawing) { - line.draw(this.r); - } - } - _ref2 = this.box_array; - _results = []; - for (_j = 0, _len2 = _ref2.length; _j < _len2; _j++) { - box = _ref2[_j]; - _results.push(box.size() > this.threshold_for_drawing ? box.draw(this.r) : void 0); - } - return _results; - }; - Sankey.prototype.redraw = function() { - var box, line, _i, _j, _len, _len2, _ref, _ref2, _results; - this.position_boxes_and_lines(); - _ref = this.line_array; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - line = _ref[_i]; - line.redraw(this.r); - } - _ref2 = this.box_array; - _results = []; - for (_j = 0, _len2 = _ref2.length; _j < _len2; _j++) { - box = _ref2[_j]; - _results.push(box.redraw(this.r)); - } - return _results; - }; - Sankey.prototype.fade_unless_highlighted = function() { - var box, line, _i, _j, _len, _len2, _ref, _ref2, _results; - _ref = this.line_array; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - line = _ref[_i]; - line.fade_unless_highlighted(); - void 0; - } - _ref2 = this.box_array; - _results = []; - for (_j = 0, _len2 = _ref2.length; _j < _len2; _j++) { - box = _ref2[_j]; - box.fade_unless_highlighted(); - _results.push(void 0); - } - return _results; - }; - Sankey.prototype.un_fade = function() { - var box, line, _i, _j, _len, _len2, _ref, _ref2, _results; - _ref = this.line_array; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - line = _ref[_i]; - line.un_fade(); - void 0; - } - _ref2 = this.box_array; - _results = []; - for (_j = 0, _len2 = _ref2.length; _j < _len2; _j++) { - box = _ref2[_j]; - box.un_fade(); - _results.push(void 0); - } - return _results; - }; - return Sankey; - })(); - FlowLine = (function() { - function FlowLine(sankey, left_box_name, flow, right_box_name) { - this.sankey = sankey; - this.hover_stop = __bind(this.hover_stop, this); - this.hover_start = __bind(this.hover_start, this); - this.setFlow(flow); - this.colour = void 0; - this.ox = 0; - this.oy = 0; - this.dx = 0; - this.dy = 0; - this.left_box = this.sankey.find_or_create_transformation_box(left_box_name); - this.right_box = this.sankey.find_or_create_transformation_box(right_box_name); - this.left_box.right_lines.push(this); - this.right_box.left_lines.push(this); - } - FlowLine.prototype.setFlow = function(flow) { - this.flow = flow; - return this.size = this.sankey.convert_flow_values_callback(this.flow); - }; - FlowLine.prototype.labelText = function() { - return this.sankey.convert_flow_labels_callback(this.flow); - }; - FlowLine.prototype.path = function() { - var curve; - curve = (this.dx - this.ox) * this.sankey.flow_curve; - return "M " + this.ox + "," + this.oy + " Q " + (this.ox + curve) + "," + this.oy + " " + ((this.ox + this.dx) / 2) + "," + ((this.oy + this.dy) / 2) + " Q " + (this.dx - curve) + "," + this.dy + " " + this.dx + "," + this.dy; - }; - FlowLine.prototype.innerWidth = function() { - if (this.size > this.sankey.flow_edge_width) { - return this.size - this.sankey.flow_edge_width; - } - return this.size; - }; - FlowLine.prototype.innerColor = function() { - var c; - c = Raphael.rgb2hsb(this.colour); - if (c.h !== 0 && c.s !== 0) { - if (c.b > 0.5) { - c.b = c.b - 0.15; - } else { - c.b = c.b + 0.15; - } - } - return Raphael.hsb2rgb(c.h, c.s, c.b); - }; - FlowLine.prototype.draw = function(r) { - this.outer_line = r.path(this.path()).attr({ - 'stroke-width': this.size, - 'stroke': this.colour - }); - this.inner_line = r.path(this.path()).attr({ - 'stroke-width': this.innerWidth(), - 'stroke': this.innerColor() - }); - r.set().push(this.inner_line, this.outer_line).hover(this.hover_start, this.hover_stop); - this.left_label = r.text(this.ox + 1, this.oy - (this.size / 2) - 5, this.labelText()).attr({ - 'text-anchor': 'start' - }); - this.right_label = r.text(this.dx - 1, this.dy - (this.size / 2) - 5, this.labelText()).attr({ - 'text-anchor': 'end' - }); - this.left_label.hide(); - return this.right_label.hide(); - }; - FlowLine.prototype.hover_start = function(event) { - this.highlight(true, true); - return this.sankey.fade_unless_highlighted(); - }; - FlowLine.prototype.hover_stop = function(event) { - this.un_highlight(true, true); - return this.sankey.un_fade(); - }; - FlowLine.prototype.redraw = function(r) { - if (this.outer_line == null) { - this.draw(r); - } - this.outer_line.attr({ - path: this.path(), - 'stroke-width': this.size - }); - this.inner_line.attr({ - path: this.path(), - 'stroke-width': this.innerWidth() - }); - this.left_label.attr({ - text: this.labelText(), - x: this.ox + 1, - y: this.oy - (this.size / 2) - 5 - }); - return this.right_label.attr({ - text: this.labelText(), - x: this.dx - 1, - y: this.dy - (this.size / 2) - 5 - }); - }; - FlowLine.prototype.fade_unless_highlighted = function() { - if (this.outer_line == null) { - return false; - } - if (this.inner_line == null) { - return false; - } - if (this.highlighed === true) { - return false; - } - this.outer_line.attr({ - 'opacity': '0.1' - }); - return this.inner_line.attr({ - 'opacity': '0.1' - }); - }; - FlowLine.prototype.un_fade = function() { - if (this.outer_line == null) { - return false; - } - if (this.inner_line == null) { - return false; - } - if (this.highlighed === true) { - return false; - } - this.outer_line.attr({ - 'opacity': '1.0' - }); - return this.inner_line.attr({ - 'opacity': '1.0' - }); - }; - FlowLine.prototype.highlight = function(left, right) { - if (this.outer_line == null) { - return false; - } - if (this.inner_line == null) { - return false; - } - this.highlighed = true; - if (left) { - this.left_label.toFront(); - this.left_label.show(); - this.left_box.highlight(); - } - if (right) { - this.right_label.toFront(); - this.right_label.show(); - return this.right_box.highlight(); - } - }; - FlowLine.prototype.un_highlight = function(left, right) { - if (this.outer_line == null) { - return false; - } - this.highlighed = false; - if (left) { - this.left_label.hide(); - this.left_box.un_highlight(); - } - if (right) { - this.right_label.hide(); - return this.right_box.un_highlight(); - } - }; - return FlowLine; - })(); - TransformationBox = (function() { - function TransformationBox(sankey, name) { - this.sankey = sankey; - this.name = name; - this.hover_end = __bind(this.hover_end, this); - this.hover_start = __bind(this.hover_start, this); - this.label_text = this.sankey.convert_box_description_labels_callback(name); - this.line_colour = "orange"; - this.left_lines = []; - this.right_lines = []; - this.x = 0; - this.y = 0; - this.bubbleValue = null; - } - TransformationBox.prototype.b = function() { - return this.y + this.size(); - }; - TransformationBox.prototype.is_left_box = function() { - return this.left_lines.length === 0; - }; - TransformationBox.prototype.is_right_box = function() { - return this.right_lines.length === 0; - }; - TransformationBox.prototype.size = function() { - var line, lines, s, _i, _len; - s = 0; - if (this.is_left_box()) { - lines = this.right_lines; - } else { - lines = this.left_lines; - } - for (_i = 0, _len = lines.length; _i < _len; _i++) { - line = lines[_i]; - if (line.size > this.sankey.threshold_for_drawing) { - s = s + line.size; - } - } - return s; - }; - TransformationBox.prototype.flow = function() { - var line, lines, s, _i, _len; - s = 0; - if (this.is_left_box()) { - lines = this.right_lines; - } else { - lines = this.left_lines; - } - for (_i = 0, _len = lines.length; _i < _len; _i++) { - line = lines[_i]; - if (line.size > this.sankey.threshold_for_drawing) { - s = s + line.flow; - } - } - return s; - }; - TransformationBox.prototype.position_and_colour_lines = function() { - var box_width, left_lines, line, ly, right_lines, ry, _i, _j, _len, _len2, _ref, _results; - ly = this.y; - left_lines = this.left_lines; - left_lines.sort(function(a, b) { - return a.left_box.y - b.left_box.y; - }); - for (_i = 0, _len = left_lines.length; _i < _len; _i++) { - line = left_lines[_i]; - line.dx = this.x; - line.dy = ly + (line.size / 2); - ly = ly + line.size; - } - ry = this.y; - right_lines = this.right_lines; - right_lines.sort(function(a, b) { - return a.right_box.y - b.right_box.y; - }); - box_width = this.sankey.box_width; - _results = []; - for (_j = 0, _len2 = right_lines.length; _j < _len2; _j++) { - line = right_lines[_j]; - if ((_ref = line.colour) == null) { - line.colour = this.line_colour; - } - line.ox = this.x + box_width; - line.oy = ry + (line.size / 2); - _results.push(ry = ry + line.size); - } - return _results; - }; - TransformationBox.prototype.valueLabelText = function() { - return this.sankey.convert_box_value_labels_callback(this.flow()); - }; - TransformationBox.prototype.descriptionLabelText = function() { - return this.label_text; - }; - TransformationBox.prototype.labelPositionX = function() { - if (this.is_left_box()) { - return this.x - 3.0; - } - if (this.is_right_box()) { - return this.x + this.sankey.box_width + 3.0; - } - return this.x + (this.sankey.box_width / 2); - }; - TransformationBox.prototype.labelPositionY = function() { - return this.y + (this.size() / 2); - }; - TransformationBox.prototype.labelAttributes = function() { - if (this.is_left_box()) { - return { - 'text-anchor': 'end' - }; - } - if (this.is_right_box()) { - return { - 'text-anchor': 'start' - }; - } - return {}; - }; - TransformationBox.prototype.numberLabelPositionX = function() { - return this.x + (this.sankey.box_width / 2); - }; - TransformationBox.prototype.numberLabelPositionY = function() { - return this.y - 5; - }; - TransformationBox.prototype.bubbleSize = function() { - return Math.sqrt(this.sankey.convert_bubble_values_callback(Math.abs(this.bubbleValue))); - }; - TransformationBox.prototype.bubbleLabel = function() { - return this.sankey.convert_bubble_labels_callback(this.bubbleValue); - }; - TransformationBox.prototype.bubbleColourForValue = function() { - if (this.bubbleValue > 0) { - return this.sankey.bubbleColor; - } - if (this.sankey.negativeBubbleColor == null) { - return this.sankey.bubbleColor; - } - return this.sankey.negativeBubbleColor; - }; - TransformationBox.prototype.bubbleLabelColourForValue = function() { - if (this.bubbleValue > 0) { - return this.sankey.bubbleLabelColor; - } - if (this.sankey.negativeBubbleLabelColor == null) { - return this.sankey.bubbleLabelColor; - } - return this.sankey.negativeBubbleLabelColor; - }; - TransformationBox.prototype.draw = function(r) { - var box_width; - if (!(this.size() > this.sankey.threshold_for_drawing)) { - return false; - } - box_width = this.sankey.box_width; - this.box = r.rect(this.x, this.y, box_width, this.size()).attr({ - 'fill': "#E8E2FF", - "stroke": "#D4CBF2" - }); - this.label = r.text(this.labelPositionX(), this.labelPositionY(), this.descriptionLabelText()).attr(this.labelAttributes()); - if (this.bubbleValue != null) { - this.bubble_circle = r.circle(this.x + box_width, this.y, this.bubbleSize()).attr({ - 'fill': this.bubbleColourForValue(), - 'stroke-width': 0 - }); - this.bubble_label = r.text(this.x + box_width, this.y, this.bubbleLabel()).attr({ - 'stroke': this.bubbleLabelColourForValue(), - 'text-anchor': 'middle' - }); - } - this.number_label = r.text(this.numberLabelPositionX(), this.numberLabelPositionY(), this.valueLabelText()); - this.number_label.hide(); - return r.set().push(this.number_label, this.label, this.box, this.bubble_circle, this.bubble_label).hover(this.hover_start, this.hover_end); - }; - TransformationBox.prototype.redraw = function(r) { - if (this.box == null) { - this.draw(r); - } - if (this.box == null) { - return; - } - this.box.attr({ - y: this.y, - height: this.size() - }); - this.label.attr({ - y: this.labelPositionY() - }); - this.number_label.attr({ - y: this.numberLabelPositionY(), - text: this.valueLabelText() - }); - if (this.bubbleValue != null) { - if (this.bubble_circle != null) { - this.bubble_circle.attr({ - cy: this.y, - r: this.bubbleSize(), - fill: this.bubbleColourForValue() - }); - this.bubble_label.attr({ - y: this.y, - text: this.bubbleLabel(), - 'stroke': this.bubbleLabelColourForValue() - }); - } else { - this.draw(r); - } - } - if (this.size() <= this.sankey.threshold_for_drawing) { - this.box.hide(); - this.label.hide(); - if (this.bubble_circle != null) { - return this.bubble_circle.hide(); - } - } else { - this.box.show(); - this.label.show(); - if (this.bubble_circle != null) { - return this.bubble_circle.show(); - } - } - }; - TransformationBox.prototype.hover_start = function() { - var line, _i, _j, _len, _len2, _ref, _ref2; - this.highlight(); - this.number_label.toFront(); - this.number_label.show(); - _ref = this.left_lines; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - line = _ref[_i]; - line.highlight(true, false); - } - _ref2 = this.right_lines; - for (_j = 0, _len2 = _ref2.length; _j < _len2; _j++) { - line = _ref2[_j]; - line.highlight(false, true); - } - return this.sankey.fade_unless_highlighted(); - }; - TransformationBox.prototype.hover_end = function() { - var line, _i, _j, _len, _len2, _ref, _ref2; - this.un_highlight(); - this.number_label.hide(); - _ref = this.left_lines; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - line = _ref[_i]; - line.un_highlight(true, false); - } - _ref2 = this.right_lines; - for (_j = 0, _len2 = _ref2.length; _j < _len2; _j++) { - line = _ref2[_j]; - line.un_highlight(false, true); - } - return this.sankey.un_fade(); - }; - TransformationBox.prototype.highlight = function() { - if (this.box == null) { - return false; - } - return this.highlighed = true; - }; - TransformationBox.prototype.un_highlight = function() { - if (this.box == null) { - return false; - } - return this.highlighed = false; - }; - TransformationBox.prototype.fade_unless_highlighted = function() { - if (this.box == null) { - return false; - } - if (this.highlighed === true) { - return false; - } - this.box.attr({ - 'opacity': '0.1' - }); - this.label.attr({ - 'opacity': '0.1' - }); - if (this.bubble_circle != null) { - this.bubble_circle.attr({ - 'opacity': '0.1' - }); - } - if (this.bubble_label != null) { - return this.bubble_label.attr({ - 'opacity': '0.1' - }); - } - }; - TransformationBox.prototype.un_fade = function() { - if (this.box == null) { - return false; - } - if (this.highlighed === true) { - return false; - } - this.box.attr({ - 'opacity': '1.0' - }); - this.label.attr({ - 'opacity': '1.0' - }); - if (this.bubble_circle != null) { - this.bubble_circle.attr({ - 'opacity': '1.0' - }); - } - if (this.bubble_label != null) { - return this.bubble_label.attr({ - 'opacity': '1.0' - }); - } - }; - return TransformationBox; - })(); - window.Sankey = Sankey; -}).call(this); -// éclair - FIXME: Need this so file is recognised as utf-8. Need a better solution than this bodge -// FIXME: In the end, this should only contain information drawn from the Excel Model. -// that is constant across pathways. The methods called are in helper.rb -window.twentyfifty = {}; -window.twentyfifty.default_pathway = "11111111111111111111111111111111111111111111111111111"; -window.twentyfifty.pathway_wiki_pages_hash = {"10111111111111110111111001111110111101101101110110111":75.0,"10111111111111110111111004424440444404204304440420111":"No","40444444444444440443424001121110111101102101110110111":"No","i0g2dd2pp1121f1i032211p004314110433304202304320420121":112.0,"e0d3jrg221ci12110222112004423220444404202304440420141":109.0,"r013ce1111111111042233B002322220233302202102330220121":110.0,"f023df111111111f0322123003223220333203102303430310221":111.0,"q011111111111111032413l004314110434104103204440410111":170.0,"10h4nn4431w23y110244111004424440343304202304430420441":95.0,"10h2pdppp12332130233122004414430343304102304430410231":96.0,"20222144411341110343321003422440423404203203340420141":94.0,"h0h2gg1211cj1j110322222003313230234102102203440320121":97.0,"g0f2oj11t1rgqj1j0343111003324240244104201304430420231":92.0,"00000000000000000000000000000000000000000000000000000":null}; -window.twentyfifty.pathway_descriptions_hash = {"10111111111111110111111001111110111101101101110110111":"Imported natural gas for electricity and\nheat. Imported oil for vehicles.","10111111111111110111111004424440444404204304440420111":"","40444444444444440443424001121110111101102101110110111":"","i0g2dd2pp1121f1i032211p004314110433304202304320420121":"Cost-optimising model based. Mix of supply\nsources. Ambitious demand reduction.","e0d3jrg221ci12110222112004423220444404202304440420141":"Renewables largest supply component. Very\nambitious demand reduction. Lots of storage.","r013ce1111111111042233B002322220233302202102330220121":"Lots of nuclear. Moderate energy demand\nreduction. Minimal renewables.","f023df111111111f0322123003223220333203102303430310221":"Lots of CCS and biomass co-firing. Ambitious\ndemand reduction.","q011111111111111032413l004314110434104103204440410111":"TBD\n","10h4nn4431w23y110244111004424440343304202304430420441":"Generation from wind, marine renewables and\nhydro. Ambitious demand reduction.","10h2pdppp12332130233122004414430343304102304430410231":"Offshore renewables, solar, geothermal and\nelectricity imports. Ambitious demand reduction.","20222144411341110343321003422440423404203203340420141":"Marine renewables, geothermal and algae\nsupply. Some nuclear and CCS.","h0h2gg1211cj1j110322222003313230234102102203440320121":"Wide range of generation sources. Moderate\ndemand reduction. Considerable bioenergy.","g0f2oj11t1rgqj1j0343111003324240244104201304430420231":"Energy from a range of sources. Emphasis on\nUK self-reliance.","00000000000000000000000000000000000000000000000000000":""}; -window.twentyfifty.pathway_names_hash = {"10111111111111110111111001111110111101101101110110111":"Doesn't tackle climate change (All at level 1)","10111111111111110111111004424440444404204304440420111":"Maximium demand, no supply","40444444444444440443424001121110111101102101110110111":"Maximum supply, no demand","i0g2dd2pp1121f1i032211p004314110433304202304320420121":"Analogous to MARKAL 3.26","e0d3jrg221ci12110222112004423220444404202304440420141":"Higher renewables, more energy efficiency","r013ce1111111111042233B002322220233302202102330220121":"Higher nuclear, less energy efficiency","f023df111111111f0322123003223220333203102303430310221":"Higher CCS, more bioenergy","q011111111111111032413l004314110434104103204440410111":"Low cost pathway","10h4nn4431w23y110244111004424440343304202304430420441":"Friends of the Earth","10h2pdppp12332130233122004414430343304102304430410231":"Campaign to Protect Rural England","20222144411341110343321003422440423404203203340420141":"Mark Brinkley","h0h2gg1211cj1j110322222003313230234102102203440320121":"National Grid","g0f2oj11t1rgqj1j0343111003324240244104201304430420231":"Atkins","00000000000000000000000000000000000000000000000000000":null}; -window.twentyfifty.comparator_pathways = ["i0g2dd2pp1121f1i032211p004314110433304202304320420121","e0d3jrg221ci12110222112004423220444404202304440420141","r013ce1111111111042233B002322220233302202102330220121","f023df111111111f0322123003223220333203102303430310221","q011111111111111032413l004314110434104103204440410111","10h4nn4431w23y110244111004424440343304202304430420441","10h2pdppp12332130233122004414430343304102304430410231","20222144411341110343321003422440423404203203340420141","h0h2gg1211cj1j110322222003313230234102102203440320121","g0f2oj11t1rgqj1j0343111003324240244104201304430420231","10111111111111110111111001111110111101101101110110111"]; -window.twentyfifty.default_comparator_code = "10111111111111110111111001111110111101101101110110111"; -window.twentyfifty.longDescriptions = [["No new nuclear power installed. Final nuclear power station estimated to close in 2035","~13 3GW nuclear power stations delivering ~280 TWh/yr","~30 3GW nuclear power stations delivering ~630 TWh/yr","~50 3GW nuclear power stations delivering ~1030 TWh/yr"],[null,null,null,null],["CCS demonstration plants only","~240 TWh/yr from 25-40 CCS power stations - comparable to current gas & coal generation","~340 TWh/yr from 35-60 CCS power stations - comparable to total current demand","~510 TWh/yr from 50-90 CCS power stations - this requires a similar build rate to that of gas plants in the 1990s"],["After demonstration plants, all CCS electricity is from solid fuel (coal or biomass)","After demonstration plants, two thirds of CCS electricity is from solid fuel (coal or biomass), one third from gas (natural gas or biogas)","After demonstration plants, one third of CCS electricity is from solid fuel (coal or biomass), two thirds from gas (natural gas or biogas)","After demonstration plants, all CCS electricity is from gas (natural gas or biogas)"],["~1,400 offshore wind turbines in 2025, reducing to zero as decommissioned sites are not replanted","~10,000 offshore wind turbines in 2050, delivering ~180 TWh/yr","~17,000 offshore wind turbines in 2050, delivering ~310 TWh/yr","~40,000 offshore wind turbines in 2050, delivering ~430 TWh/yr"],["~4,400 onshore wind turbines in 2025, reducing to zero as decommissioned sites are not replanted","~8,000 onshore wind turbines in 2050, delivering ~50 TWh/yr. ","~13,000 onshore wind turbines in 2050, delivering ~80 TWh/yr","~20,000 onshore wind turbines in 2050, delivering ~130 TWh/yr"],["None in 2050","~300km of wave farms","~600km of wave farms","~900km of wave farms"],["None in 2050","1,000 tidal stream turbines","4,700 tidal stream turbines","10,600 tidal stream turbines"],["None in 2050","3 small tidal range schemes","4 tidal range schemes","8 tidal range schemes"],["Only existing biomass plants and those already under construction (0.6GW)","8GW of biomass power stations by 2050 delivering 62TWh/yr","12GW of biomass power stations by 2050 delivering 100TWh/yr","Over 20GW of biomass power stations by 2050 delivering 180TWh/yr"],["No significant solar PV capacity is installed","4m2 of photovoltaic panels per person in 2050, supplying ~60 TWh/yr of electricity"," 5.4m2 of photovoltaic panels per person in 2050, supplying ~80 TWh/yr","9.5m2 of photovoltaic panels per person – all suitable roof and facade space used"],["As today, a negligible proportion of buildings have solar thermal in 2050","~30% of suitable buildings get ~30% of their hot water from solar thermal","All suitable buildings get ~30% of their hot water from solar thermal","All suitable buildings get ~60% of their hot water from solar thermal"],["No deployment of geothermal electricity generation","Supply of geothermal electricity grows slowly to 7 TWh/yr in 2035 and is sustained","Supply of geothermal electricity grows quickly reaching 21 TWh/yr by 2030 and is sustained","Supply of geothermal electricity grows rapidly reaching 35 TWh/yr by 2030 and is sustained"],["Supply of hydroelectricity is maintained at current levels of 5 TWh/yr","Supply of hydroelectricity grows slowly, reaching 7 TWh/yr by 2050","Supply of hydroelectricity grows more quickly, reaching 8 TWh/yr by 2030 and is sustained","Supply of hydroelectricity grows rapidly reaching 13 TWh/yr by 2035 and is sustained"],["As today, no discernable supply of electricity from micro-wind turbines","Supply of electricity from micro wind turbines increases to 1.3 TWh/yr by 2020 and is sustained","Micro wind turbines installed in all ~450,000 suitable domestic properties, supplying 3.5 TWh/year from 2020","Micro wind turbines installed in all suitable domestic and non-domestic sties, supplying 8.9 TWh/year from 2020"],["No electricity imports, other than for balancing","30 TWh/yr of electricity imported from Southern Europe","70 TWh/yr of electricity imported from a 10% share of an internationally coordinated desert solar project ","140 TWh/yr of electricity imported from a 20% share of an internationally coordinated desert solar project"],[null,null,null,null],["Energy crops and food production similar to today","5% of UK land used for energy crops","10% of UK land used for energy crops","17% of UK land used for energy crops"],["Livestock numbers increase by 10%","Livestock numbers same as today","Livestock numbers decrease by 10%","Livestock numbers decrease by 20%"],["Overall quantity of waste increases 50% to 2050; 21% increase in recycling rate and 44% increase in rate of energy from waste. 24% of waste is sent to landfill","Overall quantity of waste increases almost 20% by 2050; recycling and energy from waste rates increase by 36% and 89% respectively. 11% of waste is sent to landfill.","Overall quantity of waste increases 33%; waste is handled through high-tech and industry-led approaches; by 2050, recycling and energy from waste rates increase by 36% and 89% respectively. Only 2% is sent to landfill.","Quantity of waste decreases 20% by 2050; recycling and energy from waste increase by 70% and 7% respectively; by 2050, 3% of waste sent to landfill."],["No development of macro-algae cultivation","Macro algae covering the same area as half of natural reserve used, delivering ~4 TWh/yr","Macro algae covering the same area as all of natural reserve used, delivering ~9 TWh/yr","Macro algae covering the same area as four times natural reserve used, delivering ~46 TWh/yr"],["Biomass converted to a mixture of solid, liquid and gas biofuels","Biomass mainly converted to solid biofuel","Biomass mainly converted to liquid biofuel","Biomass mainly converted to biogas fuel"],["Imported biofuel declines from ~ 4 TWh/yr currently to zero","Up to 70 TWh/yr of imported bioenergy in 2050","Up to 140 TWh/yr of imported bioenergy in 2050","Up to 280 TWh/yr of imported bioenergy in 2050"],[null,null,null,null],[null,null,null,null],["In 2050, individuals travel 9% further than today. No noticeable modal shift.","Individuals travel 7% further than today, cars and vans are 80% of 2050 passenger mileage","Individuals travel 7% further than today; cars and vans 74% of 2050 passenger mileage","In 2050, individuals travel the same distance as today. Signficant shift to public transport."],["By 2050, 20% plug in hybrid electric cars; 2.5% zero emission cars.","By 2050, 35% conventional petrol or diesel engine cars; 54% plug-in hybrid vehicles; 11% zero emission vehicles; all buses hybrids; 73% of passenger railway is electrifi","By 2050, 20% conventional combustion engine cars, with 32% in plug-in hybrid vehicles and 48% in zero emission vehicles: 22% of bus travel fully electric or fuel cell electric ","By 2050 100% electric motor or hydrogen fuel cell; all passenger trains electrified; 50% bus electrified "],["By 2050, 100% electric","by 2050, 80% electric, 20% hydrogen fuel cell","By 2050, 20% electric, 80% hydrogen fuel cell","By 2050, 100% hydrogen fuel cells"],["Road haulage makes up 73% of distance, using conventional engines. Rail all diesel","Some shift from road to rail and water, and more efficient engines","Greater modal shift to rail and water; more efficient HGVs; more efficient logistics","Road modal share falls to half; greater hybridisation. Rail freight is all electric "],["By 2050, international aviation has 130% more passengers but uses only 50% more fuel","By 2050, international aviation has 130% more passengers but uses only 45% more fuel","By 2050, international aviation has 130% more passengers but uses only 31% more fuel","By 2050, international aviation has 85% more passengers but uses only 5% more fuel"],["no improvements from energy efficiency; between 2007 and 2050 emissions increase by 139%","1/3 of technical feasible reductions realised; between 2007 and 2050 emissions increase by 78%","2/3 of technical feasible reductions realised; between 2007 and 2050 emissions increase by 16%","maximum technical feasible reductions realised; between 2007 and 2050 emissions decrease by 46%"],[null,null,null,null],["Average room temperature increases to 20°C (a 2.5°C increase on 2007)","Average room temperature increases to 18°C (a 0.5°C increase on 2007)","Average room temperature decreases to 17°C (a 0.5°C decrease on 2007)","Average room temperature decreases to 16°C (a 1.5°C decrease on 2007)"],["Over 7m homes insulated, average thermal leakiness falls by 25%","Over 8m homes insulated, average thermal leakiness falls by 33%","Over 18m homes insulated, average thermal leakiness falls by 42%","Over 24m homes insulated, average thermal leakiness decreases by 50% "],["The proportion of domestic heat supplied using electricity is 0-10%, as today","The proportion of new domestic heating systems using electricity is 20%","The proportion of new domestic heating systems supplied using electricity is 30-60%","The proportion of new domestic heating systems supplied using electricity is 80-100%"],["The dominant non-electric heat source is gas (biogas if available)","The dominant non-electric heat source is coal (biomass if available)","The dominant non-electric heat source is waste heat from power stations","A mixture of gas/biogas; coal/biomass; and heat from power stations"],[null,null,null,null],["Energy demand for domestic lights and appliances increases by 20% (relative to 2007)","Energy demand for domestic lights and appliances is stable","Energy demand for domestic lights and appliances decreases by 40%","Energy demand for domestic lights and appliances decreases by 60%"],["Energy used for domestic cooking remains at 63% electricity and 37% gas","Energy used for domestic cooking is entirely electric","Energy used for domestic cooking is entirely electric","Energy used for domestic cooking is entirely electric"],[null,null,null,null],["UK industry output more than doubles by 2050","UK industry grows in line with current trends","UK industry output falls 30-40% by 2050","UK industry output falls 30-40% by 2050"],["No electrification of industrial processes and little improvement in industrial energy intensity","Some industrial processes electrified and moderate improvements in process emissions and energy demand","Many industrial processes electrified, CCS captures 48% of emissions and substantial improvements in process emissions and energy demand","Many industrial processes electrified, CCS captures 48% of emissions and substantial improvements in process emissions and energy demand"],[null,null,null,null],["Commercial space heating demand increases by 50%, hot water demand by 60%, cooling demand by 250%","Commercial space heating demand increases by 30%, hot water demand by 50%, cooling demand by 60%","Commercial space heating demand stable, hot water demand increases by 25%, cooling demand stable","Commercial space heating demand drops by 25%, hot water demand by 10%, cooling demand by 60%"],["The proportion of non-domestic heat supplied using electricity is 0-10%, as today","The proportion of non-domestic heat supplied using electricity is 20%","The proportion of non-domestic heat supplied using electricity is 30-60%","The proportion of non-domestic heat supplied using electricity is 80-100%"],["The dominant non-electric heat source is gas (biogas if available)","The dominant non-electric heating fuel is coal (biomass if available)","The dominant non-electric heat source is heat from power stations","A mixture of gas/biogas, coal/biomass, and heat from power stations"],[null,null,null,null],["Energy demand for commercial lights & appliances increases by 33%. Energy for cooking is stable","Energy demand for commercial lights & appliances increases by 15%; decreases by 5% for cooking","Energy demand for commercial lights & appliances decreases by 5%; decreases by 20% for cooking","Energy demand for commercial lights & appliances decreases by 30%; decreases by 25% for cooking"],["Energy used for commercial cooking is 60% electricity and 40% gas (no change from 2007)","Energy used for commercial cooking is 100% electric","Energy used for commercial cooking is 100% electric","Energy used for commercial cooking is 100% electric"],[null,null,null,null],["No geosequestration","Carbon dioxide sequestred at a rate of 1 million tonnes per annum by 2050","Carbon dioxide sequestred at a rate of ~30 million tonnes per annum by 2050","Carbon dioxide sequestred at a rate of ~110 million tonnes per annum by 2050"],["Today’s 3.5 GW of pumped storage and 4 GW interconnection with Europe available for balancing electricity supply and demand","4 GW of pumped storage and 10 GW interconnection with Europe available for balancing electricity supply and demand","7 GW of pumped storage (includign 2 more sites), 15 GW of interconnection with Europe and some demand shifting available for balancing electricity supply and demand","20 GW of pumped storage with large lagoons, 30 GW of interconnection with Europe and substantial demand shifting available for balancing electricity supply and demand"],[null,null,null,null]]; -window.twentyfifty.helpPages = {"primary_energy_chart":"83","electricity":"84","energy_security":"85","sankey":"86","map":"87","costs_in_context":"88","costs_compared_overview":"89","costs_sensitivity":"90","story":"91","air_quality":"TBD"}; -window.twentyfifty.choice_sizes = {"0":4,"2":4,"3":4,"4":4,"5":4,"6":4,"7":4,"8":4,"9":4,"10":4,"11":4,"12":4,"13":4,"14":4,"15":4,"17":4,"18":4,"19":4,"20":4,"21":4,"22":4,"25":4,"26":4,"27":4,"28":4,"29":4,"30":4,"32":4,"33":4,"34":4,"35":4,"37":4,"38":2,"40":3,"41":3,"43":4,"44":4,"45":4,"47":4,"48":2,"50":4,"51":4,"52":3}; -(function() { - var action, cache, callbacks, choices, choicesForCode, codeForChoices, comparator, controller, current_view, demoOriginalLevel, demoTimer, documentReady, float_to_letter_map, getChoices, getComparator, getSector, go, letter_to_float_map, loadMainPathway, loadSecondaryPathway, old_choices, pathwayDescriptions, pathwayName, pathwayWikiPages, sector, setChoices, setHelpUrl, setUpControls, setVariablesFromURL, startDemo, stopDemo, switchComparator, switchPathway, switchSector, switchView, updateControls, url, views; - - views = {}; - - controller = null; - - choices = null; - - action = null; - - sector = null; - - comparator = null; - - current_view = null; - - old_choices = []; - - cache = {}; - - callbacks = {}; - - documentReady = function() { - setVariablesFromURL(); - current_view = views[action]; - setHelpUrl(); - if ($.jStorage.get('CostCaveatShown') !== true) { - $('#cost_caveats').show(); - } - loadMainPathway(); - return setUpControls(); - }; - - $(document).ready(documentReady); - - setUpControls = function() { - $("a[title]").tooltip({ - delay: 0, - position: 'top left', - offset: [3, 3], - tip: '#tooltip' - }); - return $("a.choiceLink").click(function(event) { - var c, l, t; - event.preventDefault(); - t = $(event.target); - c = t.data().choicenumber; - l = t.data().choicelevel; - return go(c, l); - }); - }; - - setVariablesFromURL = function() { - var url_elements; - url_elements = window.location.pathname.split('/'); - controller = url_elements[1] || "pathways"; - choices = choicesForCode(url_elements[2] || twentyfifty.default_pathway); - action = url_elements[3] || "primary_energy_chart"; - if (action === 'costs_compared_within_sector') { - sector = url_elements[4]; - } - if (url_elements[4] === 'comparator') { - return comparator = url_elements[5]; - } - }; - - float_to_letter_map = { - "": "0", - 1.0: "1", - 1.1: "b", - 1.2: "c", - 1.3: "d", - 1.4: "e", - 1.5: "f", - 1.6: "g", - 1.7: "h", - 1.8: "i", - 1.9: "j", - 2.0: "2", - 2.1: "l", - 2.2: "m", - 2.3: "n", - 2.4: "o", - 2.5: "p", - 2.6: "q", - 2.7: "r", - 2.8: "s", - 2.9: "t", - 3.0: "3", - 3.1: "v", - 3.2: "w", - 3.3: "x", - 3.4: "y", - 3.5: "z", - 3.6: "A", - 3.7: "B", - 3.8: "C", - 3.9: "D", - 0.0: "0", - 4.0: "4" - }; - - codeForChoices = function(c) { - var cd, choice; - if (c == null) { - c = choices; - } - cd = (function() { - var _i, _len, _results; - _results = []; - for (_i = 0, _len = c.length; _i < _len; _i++) { - choice = c[_i]; - _results.push(float_to_letter_map[choice]); - } - return _results; - })(); - return cd.join(''); - }; - - letter_to_float_map = { - "1": 1.0, - "b": 1.1, - "c": 1.2, - "d": 1.3, - "e": 1.4, - "f": 1.5, - "g": 1.6, - "h": 1.7, - "i": 1.8, - "j": 1.9, - "2": 2.0, - "l": 2.1, - "m": 2.2, - "n": 2.3, - "o": 2.4, - "p": 2.5, - "q": 2.6, - "r": 2.7, - "s": 2.8, - "t": 2.9, - "3": 3.0, - "v": 3.1, - "w": 3.2, - "x": 3.3, - "y": 3.4, - "z": 3.5, - "A": 3.6, - "B": 3.7, - "C": 3.8, - "D": 3.9, - "0": 0.0, - "4": 4.0 - }; - - choicesForCode = function(newCode) { - var choice, _i, _len, _ref, _results; - _ref = newCode.split(''); - _results = []; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - choice = _ref[_i]; - _results.push(letter_to_float_map[choice]); - } - return _results; - }; - - getChoices = function() { - return choices; - }; - - getSector = function() { - return parseInt(sector); - }; - - switchSector = function(new_sector) { - sector = new_sector; - if (history['pushState'] != null) { - history.pushState(choices, codeForChoices(), url()); - } - switchView('costs_compared_within_sector'); - current_view.teardown(); - return current_view.updateResults(cache[codeForChoices()]); - }; - - getComparator = function() { - return comparator; - }; - - switchComparator = function(new_comparator) { - comparator = new_comparator; - if (history['pushState'] != null) { - history.pushState(choices, codeForChoices(), url()); - } - if (current_view.switchComparator != null) { - return current_view.switchComparator(comparator); - } - }; - - url = function(options) { - var s; - if (options == null) { - options = {}; - } - s = jQuery.extend({ - controller: controller, - code: codeForChoices(), - action: action, - sector: sector, - comparator: getComparator() - }, options); - if (s.action === 'costs_compared_within_sector' && (s.sector != null)) { - return "/" + s.controller + "/" + s.code + "/" + s.action + "/" + s.sector; - } else if (s.comparator != null) { - return "/" + s.controller + "/" + s.code + "/" + s.action + "/comparator/" + s.comparator; - } else { - return "/" + s.controller + "/" + s.code + "/" + s.action; - } - }; - - go = function(index, level) { - old_choices = choices.slice(0); - if (index <= 15 && index !== 3 && level > 1 && Math.ceil(choices[index]) === level) { - choices[index] = Math.round((choices[index] - 0.1) * 10) / 10; - } else { - choices[index] = level; - } - return loadMainPathway(); - }; - - demoTimer = null; - - demoOriginalLevel = null; - - startDemo = function(choice) { - var demoLevel, demoMaximum; - demoLevel = 1; - demoOriginalLevel = choices[choice]; - demoMaximum = window.twentyfifty.choice_sizes[choice]; - return demoTimer = setInterval((function() { - go(choice, demoLevel); - demoLevel = demoLevel + 1; - if (demoLevel > demoMaximum) { - demoLevel = 1; - } - return false; - }), 1000); - }; - - stopDemo = function(choice) { - if (demoTimer != null) { - clearInterval(demoTimer); - } - if ((demoOriginalLevel != null) && demoOriginalLevel !== choices[choice]) { - return go(choice, demoOriginalLevel); - } - }; - - switchView = function(new_action) { - $('ul#view_choices').hide(); - if (action === new_action) { - return false; - } - current_view.teardown(); - action = new_action; - if (history['pushState'] != null) { - history.pushState(choices, codeForChoices(), url()); - } - current_view = views[action]; - setHelpUrl(); - return current_view.updateResults(cache[codeForChoices()]); - }; - - setHelpUrl = function() { - return $('#help a').attr('href', "http://2050-calculator-tool-wiki.decc.gov.uk/pages/" + twentyfifty.helpPages[action]); - }; - - switchPathway = function(new_code) { - old_choices = choices.slice(0); - choices = choicesForCode(new_code); - return loadMainPathway(); - }; - - setChoices = function(new_choices) { - old_choices = choices.slice(0); - choices = new_choices; - return loadMainPathway(); - }; - - loadMainPathway = function(pushState) { - var fetch, main_code; - if (pushState == null) { - pushState = true; - } - if (choices.join('') === old_choices.join('')) { - return false; - } - updateControls(old_choices, choices); - main_code = codeForChoices(); - if (history['pushState'] != null) { - history.pushState(choices, main_code, url()); - } - if (cache[main_code] != null) { - current_view.updateResults(cache[main_code]); - $('#calculating').hide(); - return $('#message').show(); - } else { - $('#calculating').show(); - $('#message').hide(); - fetch = function() { - return $.getJSON(url({ - code: main_code, - action: 'data', - sector: null, - comparator: null - }), function(data) { - if (data != null) { - cache[data._id] = data; - if (data._id === codeForChoices()) { - current_view.updateResults(data); - $('#calculating').hide(); - return $('#message').show(); - } - } - }); - }; - return fetch(); - } - }; - - loadSecondaryPathway = function(secondary_code, callback) { - var fetch, - _this = this; - if (cache[secondary_code] != null) { - return callback(cache[secondary_code]); - } else { - fetch = function() { - return $.getJSON(url({ - code: secondary_code, - action: 'data', - sector: null, - comparator: null - }), function(data) { - if (data != null) { - cache[data._id] = data; - return callback(data); - } - }); - }; - return fetch(); - } - }; - - window.onpopstate = function(event) { - var url_elements; - if (!event.state) { - return false; - } - url_elements = window.location.pathname.split('/'); - setChoices(choicesForCode(url_elements[2])); - switchView(url_elements[3]); - if (action === 'costs_compared_within_sector') { - switchSector(url_elements[4]); - } - if (url_elements[4] === 'comparator') { - return switchComparator(url_elements[5]); - } - }; - - updateControls = function(old_choices, choices) { - var c, choice, choice_fraction, choice_whole, controls, i, old_choice, old_choice_fraction, old_choice_whole, row, _i, _j, _len, _ref, _ref1, _results; - this.choices = choices; - controls = $('#classic_controls'); - _ref = this.choices; - _results = []; - for (i = _i = 0, _len = _ref.length; _i < _len; i = ++_i) { - choice = _ref[i]; - old_choice = old_choices[i]; - if (choice !== old_choices[i]) { - old_choice_whole = Math.ceil(old_choice); - old_choice_fraction = parseInt((old_choice % 1) * 10); - choice_whole = Math.ceil(choice); - choice_fraction = parseInt((choice % 1) * 10); - row = controls.find("tr#r" + i); - row.find(".selected, .level" + old_choice_whole + ", .level" + old_choice_whole + "_" + old_choice_fraction).removeClass("selected level" + old_choice_whole + " level" + old_choice_whole + "_" + old_choice_fraction); - if (old_choice_fraction !== 0) { - controls.find("#c" + i + "l" + old_choice_whole).text(old_choice_whole); - } - row.find("#c" + i + "l" + choice_whole).addClass('selected'); - for (c = _j = 1, _ref1 = choice_whole - 1; 1 <= _ref1 ? _j <= _ref1 : _j >= _ref1; c = 1 <= _ref1 ? ++_j : --_j) { - controls.find("#c" + i + "l" + c).addClass("level" + choice_whole); - } - if (choice_fraction !== 0) { - controls.find("#c" + i + "l" + choice_whole).text(choice); - _results.push(controls.find("#c" + i + "l" + choice_whole).addClass("level" + choice_whole + "_" + choice_fraction)); - } else { - _results.push(controls.find("#c" + i + "l" + choice_whole).addClass("level" + choice_whole)); - } - } else { - _results.push(void 0); - } - } - return _results; - }; - - pathwayName = function(pathway_code, default_name) { - if (default_name == null) { - default_name = null; - } - return window.twentyfifty.pathway_names_hash[pathway_code] || default_name; - }; - - pathwayDescriptions = function(pathway_code, default_description) { - if (default_description == null) { - default_description = null; - } - return window.twentyfifty.pathway_descriptions_hash[pathway_code] || default_description; - }; - - pathwayWikiPages = function(pathway_code, default_page) { - if (default_page == null) { - default_page = null; - } - return "http://2050-calculator-tool-wiki.decc.gov.uk/pages/" + (window.twentyfifty.pathway_wiki_pages_hash[pathway_code] || default_page); - }; - - window.twentyfifty.code = codeForChoices; - - window.twentyfifty.getChoices = getChoices; - - window.twentyfifty.setChoices = setChoices; - - window.twentyfifty.getSector = getSector; - - window.twentyfifty.switchSector = switchSector; - - window.twentyfifty.getComparator = getComparator; - - window.twentyfifty.switchComparator = switchComparator; - - window.twentyfifty.url = url; - - window.twentyfifty.go = go; - - window.twentyfifty.loadMainPathway = loadMainPathway; - - window.twentyfifty.loadSecondaryPathway = loadSecondaryPathway; - - window.twentyfifty.switchView = switchView; - - window.twentyfifty.switchPathway = switchPathway; - - window.twentyfifty.pathwayName = pathwayName; - - window.twentyfifty.pathwayDescriptions = pathwayDescriptions; - - window.twentyfifty.pathwayWikiPages = pathwayWikiPages; - - window.twentyfifty.startDemo = startDemo; - - window.twentyfifty.stopDemo = stopDemo; - - window.twentyfifty.views = views; - -}).call(this); -(function() { - var adjust_costs_of_pathway, calculateIncrementalCost, cost_categories, cost_override_in_place_warning, costs_in_category, group_costs_of_pathway, setDefaultStoreIfRequired, - __hasProp = {}.hasOwnProperty; - - window.costCaveatHTML = "
\n We would like your help to develop this tool. Please\nclick here\n to find out more about our methodology and suggest improvements.\nBefore viewing the cost implications of your choices, please note that:\n
    \n
  1. \n The Calculator expresses pathway costs as 'average pounds per person per year'. This is not the same as your energy bill. It is the cost of everything the UK buys that makes, converts, saves or uses energy: from kettles and insulation foam to trains and power stations. You can choose to see the results in different units when using the\n excel version of the Calculator.\n
  2. \n
  3. The Calculator does not choose any options automatically, regardless of their cost.
  4. \n
  5. \n The Calculator uses forecasts from credible sources of how technology and fuel costs might rise or fall over time. You vary these forecasts using the\n cost sensitivity\n implication from the menu on the top left. The full set of data points is available on the\n wiki.\n
  6. \n
  7. The cost of not tackling climate change is not included in the Calculator. The Stern review estimated that failing to tackle climate change could reduce global GDP by up to 20%. This is the equivalent of up to £6,500 per person per year on average, on top of the cost of the energy system.
  8. \n
  9. Some other important effects have been excluded from the Calculator. The costs of travelling less or with different modes of transport, having colder homes or fewer goods, and changing the appearance of our houses or landscape are not included. Nor are profits, taxes, subsidies or economies of scale driven by pathway choices. The Calculator includes only the physical costs of constructing, operating and fuelling equipment.
  10. \n
  11. Costs are just one feature for comparing 2050 pathways. The Calculator provides information on other impacts, as well as some illustrative pathways to compare your choices with.
  12. \n
\n\n
"; - - window.costEssentialNotesHTML = "
\n Note: The cost of failing to tackle climate change is not included. Some pathways, including the 'All at Level 1' pathway shown here, fail to tackle climate change. The Stern review estimated that failing to tackle climate change could reduce global GDP by up to 20% (equivalent to up to £6500 per person per year on top of the cost of the energy system included in the chart above). Nor are the costs of travelling less, being colder, or consuming less included.\n Show the caveats again\n
"; - - cost_categories = { - "Conventional thermal plant": "Electricity", - "Combustion + CCS": "Electricity", - "Nuclear power": "Electricity", - "Onshore wind": "Electricity", - "Offshore wind": "Electricity", - "Hydroelectric": "Electricity", - "Wave and Tidal": "Electricity", - "Geothermal": "Electricity", - "Distributed solar PV": "Electricity", - "Distributed solar thermal": "Buildings", - "Micro wind": "Electricity", - "Biomatter to fuel conversion": "Bioenergy", - "Bioenergy imports": "Bioenergy", - "Agriculture and land use": "Bioenergy", - "Energy from waste": "Bioenergy", - "Waste arising": "Bioenergy", - "Marine algae": "Bioenergy", - "Electricity imports": "Electricity", - "Electricity Exports": "Electricity", - "Electricity grid distribution": "Electricity", - "Storage, demand shifting, backup": "Electricity", - "H2 Production": "Transport", - "Domestic heating": "Buildings", - "Domestic insulation": "Buildings", - "Commercial heating and cooling": "Buildings", - "Domestic lighting, appliances, and cooking": "Buildings", - "Commercial lighting, appliances, and catering": "Buildings", - "Industrial processes": "Industry", - "Conventional cars and buses": "Transport", - "Hybrid cars and buses": "Transport", - "Electric cars and buses": "Transport", - "Fuel cell cars and buses": "Transport", - "Bikes": "Transport", - "Rail": "Transport", - "Domestic aviation": "Transport", - "Domestic freight": "Transport", - "International aviation": "Transport", - "International shipping (maritime bunkers)": "Transport", - "Geosequestration": "Other", - "Petroleum refineries": "Industry", - "Coal": "Fossil fuels", - "Oil": "Fossil fuels", - "Gas": "Fossil fuels", - "Fossil fuel transfers": "Fossil fuels", - "District heating effective demand": "Buildings", - "Power Carbon Capture": "Electricity", - "Industry Carbon Capture": "Industry", - "Storage of captured CO2": "Other", - "Finance cost": "Finance" - }; - - costs_in_category = function(desired_category) { - var category, cost, costs; - costs = []; - for (cost in cost_categories) { - if (!__hasProp.call(cost_categories, cost)) continue; - category = cost_categories[cost]; - if (category === desired_category) { - costs.push(cost); - } - } - return costs; - }; - - group_costs_of_pathway = function(pathway) { - var categorised_costs, category, category_name, high, low, name, range, values, _ref; - if (pathway.total_cost_low_adjusted == null) { - adjust_costs_of_pathway(pathway); - } - categorised_costs = {}; - _ref = pathway.cost_components; - for (name in _ref) { - if (!__hasProp.call(_ref, name)) continue; - values = _ref[name]; - category_name = cost_categories[name]; - category = categorised_costs[category_name]; - if (category == null) { - category = categorised_costs[category_name] = { - low: 0, - range: 0, - high: 0 - }; - } - low = values.low_adjusted; - range = values.range_adjusted; - high = values.high_adjusted; - values.low_adjusted_with_finance = low; - values.range_adjusted_with_finance = range; - values.high_adjusted_with_finance = high; - category.low += low; - category.range += range; - category.high += high; - category[name] = values; - } - pathway.categorised_costs = categorised_costs; - return pathway; - }; - - cost_override_in_place_warning = function() { - var ignore, name, o, _results; - _results = []; - for (name in cost_categories) { - if (!__hasProp.call(cost_categories, name)) continue; - ignore = cost_categories[name]; - o = jQuery.jStorage.get(name, void 0); - if ((o != null) && o !== 'point') { - $('#cost_override_warning').show(); - break; - } else { - _results.push(void 0); - } - } - return _results; - }; - - adjust_costs_of_pathway = function(pathway) { - var cost, finance, fraction_of_width, implied_fraction_of_width, name, total, values, _ref; - total = { - low: 0, - range: 0, - high: 0, - finance_max: 0 - }; - _ref = pathway.cost_components; - for (name in _ref) { - if (!__hasProp.call(_ref, name)) continue; - values = _ref[name]; - fraction_of_width = jQuery.jStorage.get(name, null); - if ((fraction_of_width != null) && fraction_of_width !== 'point' && fraction_of_width !== 'uncertain') { - cost = values.low + (values.range * fraction_of_width); - finance = values.finance_low + (values.finance_range * fraction_of_width); - values.low_adjusted = cost; - values.range_adjusted = 0; - values.high_adjusted = cost; - values.finance_low_adjusted = finance; - values.finance_range_adjusted = 0; - values.finance_high_adjusted = finance; - } else if (fraction_of_width === 'uncertain') { - values.low_adjusted = values.low; - values.range_adjusted = values.range; - values.high_adjusted = values.high; - values.finance_low_adjusted = values.finance_low; - values.finance_range_adjusted = values.finance_range; - values.finance_high_adjusted = values.finance_high; - } else { - values.low_adjusted = values.point; - values.range_adjusted = 0; - values.high_adjusted = values.point; - implied_fraction_of_width = (values.point - values.low) / values.range; - finance = values.finance_low + (values.finance_range * implied_fraction_of_width); - values.finance_low_adjusted = values.finance; - values.finance_range_adjusted = 0; - values.finance_high_adjusted = values.finance; - } - total.low += values.low_adjusted; - total.range += values.range_adjusted; - total.high += values.high_adjusted; - total.finance_max += values.finance_high_adjusted; - } - pathway.total_cost_low_adjusted = total.low; - pathway.total_cost_range_adjusted = total.range; - pathway.total_cost_high_adjusted = total.high; - return pathway; - }; - - setDefaultStoreIfRequired = function(pathway) { - var name, values, _ref; - if (jQuery.jStorage.get('defaultCostsSet') === true) { - return false; - } - _ref = pathway.cost_components; - for (name in _ref) { - if (!__hasProp.call(_ref, name)) continue; - values = _ref[name]; - if ((name !== 'Oil') && (name !== 'Gas') && (name !== 'Coal') && (name !== 'Finance cost')) { - jQuery.jStorage.set(name, 0); - } - } - return jQuery.jStorage.set('defaultCostsSet', true); - }; - - calculateIncrementalCost = function(pt, pc) { - var cc, ct, cvalues, name, tc, tt, tvalues, _ref; - if (pt.total_cost_low_adjusted == null) { - adjust_costs_of_pathway(pt); - } - if (pc.total_cost_low_adjusted == null) { - adjust_costs_of_pathway(pc); - } - tt = 0; - tc = 0; - ct = 0; - cc = 0; - _ref = pt.cost_components; - for (name in _ref) { - if (!__hasProp.call(_ref, name)) continue; - tvalues = _ref[name]; - if (name !== 0) { - cvalues = pc.cost_components[name]; - if (tvalues.range_adjusted === cvalues.range_adjusted) { - tt += tvalues.low_adjusted; - tc += tvalues.low_adjusted; - ct += cvalues.low_adjusted; - cc += cvalues.low_adjusted; - } else if (tvalues.range_adjusted >= cvalues.range_adjusted) { - tt += tvalues.low_adjusted; - ct += cvalues.low_adjusted; - tc += tvalues.high_adjusted; - cc += cvalues.high_adjusted; - } else { - tt += tvalues.high_adjusted; - ct += cvalues.high_adjusted; - tc += tvalues.low_adjusted; - cc += cvalues.low_adjusted; - } - } - } - return { - tc: tc, - tt: tt, - cc: cc, - ct: ct - }; - }; - - window.twentyfifty.group_costs_of_pathway = group_costs_of_pathway; - - window.twentyfifty.adjust_costs_of_pathway = adjust_costs_of_pathway; - - window.twentyfifty.calculateIncrementalCost = calculateIncrementalCost; - - window.twentyfifty.costs_in_category = costs_in_category; - - window.twentyfifty.cost_override_in_place_warning = cost_override_in_place_warning; - -}).call(this); -(function() { - window.timeSeriesStackedAreaChart = function() { - var area, chart, color_class_index, color_classes, dataTableFormat, first_scale_year, height, label_threshold, last_scale_year, line, margin, max_value, min_value, seriesClass, showLabelFilter, stack, title, total_label, unit, width, xAxis, xScale, x_center, yAxis, yScale; - margin = { - top: 41, - right: 115, - bottom: 40, - left: 40 - }; - width = 375; - height = 125; - x_center = (width - margin.left - margin.right) / 2; - title = ""; - unit = "TWh/yr"; - first_scale_year = 2010; - last_scale_year = 2050; - min_value = 0; - max_value = 4000; - total_label = "Total"; - xScale = d3.scale.linear(); - yScale = d3.scale.linear(); - xAxis = d3.svg.axis().scale(xScale).orient("bottom").ticks(5).tickFormat(d3.format(".0f")); - yAxis = d3.svg.axis().scale(yScale).orient("left").ticks(5); - stack = d3.layout.stack().values(function(d) { - return d.value; - }); - area = d3.svg.area().x(function(d, i) { - return xScale(d.x); - }).y0(function(d, i) { - return yScale(d.y0); - }).y1(function(d, i) { - return yScale(d.y0 + d.y); - }); - line = d3.svg.line().x(function(d, i) { - return xScale(d.x); - }).y(function(d, i) { - return yScale(d.y); - }); - color_classes = { - 'Total': 'total', - 'Total Use': 'total', - 'Total Primary Supply': 'total', - 'Total generation supplied to grid': 'total', - 'Environmental heat': 'environmentalheat' - }; - color_class_index = 0; - seriesClass = function(d, i) { - var c; - c = color_classes[d.key]; - if (c == null) { - c = "q" + color_class_index + "-12"; - color_classes[d.key] = c; - color_class_index++; - } - return c; - }; - label_threshold = 200; - showLabelFilter = function(d) { - return Math.abs(d.total) > label_threshold; - }; - dataTableFormat = d3.format(".0f"); - chart = function(selection) { - return selection.each(function(data) { - var areas, d, dataTable, g, gEnter, label, label_width, label_x, labels, minimum_y_space, negative_series, p, positive_series, previous_y, removeDataTable, series, stacked_data, svg, total, total_series, y, _i, _j, _k, _l, _len, _len1, _len2, _len3, _ref, _ref1; - width = $(this).width(); - height = width / 1.4; - x_center = (width - (margin.left * 2)) / 2; - positive_series = []; - negative_series = []; - total_series = []; - _ref = data.entries(); - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - series = _ref[_i]; - series.value = series.value.map(function(p, i) { - return { - x: first_scale_year + (i * 5), - y: p - }; - }); - total = 0; - _ref1 = series.value; - for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) { - p = _ref1[_j]; - total += p.y; - } - series.total = total; - if (series.key === total_label) { - series.path = line; - total_series.push(series); - } else { - series.path = area; - if (total >= 0) { - positive_series.push(series); - } else { - negative_series.push(series); - } - } - } - stacked_data = stack(positive_series.sort(function(a, b) { - return d3.descending(a.total, b.total); - })); - if (negative_series.length > 0) { - stacked_data = stack(negative_series.sort(function(a, b) { - return d3.ascending(a.total, b.total); - })).reverse().concat(stacked_data); - } - if (total_series.length > 0) { - stacked_data = stacked_data.concat(total_series.sort(function(a, b) { - return d3.descending(a.total, b.total); - })); - } - xScale.domain([first_scale_year, last_scale_year]).range([0, width - margin.left - margin.right]); - yScale.domain([min_value, max_value]).range([height - margin.top - margin.bottom, 0]); - svg = d3.select(this).selectAll("svg").data([stacked_data]); - gEnter = svg.enter().append("svg").append("g").attr('class', 'drawing Paired'); - gEnter.append("g").attr('class', 'context'); - gEnter.append("g").attr('class', 'series'); - svg.attr("width", width).attr("height", height); - g = svg.select("g.drawing").attr("transform", "translate(" + margin.left + "," + margin.top + ")"); - areas = g.select('g.series').selectAll("path").data(Object, function(d) { - return d.key; - }); - areas.enter().append("path").attr("class", function(d, i) { - return seriesClass(d, i); - }).on("mouseover", function(d, i) { - var c, l, s; - c = seriesClass(d, i); - dataTable(d, c); - g.selectAll("." + c).classed("hover", true); - if (!showLabelFilter(d)) { - l = g.selectAll("." + c + ".linelabel").attr("display", "inline"); - s = l[0][0].getBBox(); - return g.insert("rect", "." + c + ".linelabel").attr("class", "labelbackground").attr("x", s.x).attr("y", s.y).attr("width", s.width + 6).attr("height", s.height); - } - }).on("mouseout", function(d, i) { - var c; - removeDataTable(); - c = seriesClass(d, i); - g.selectAll("." + c).classed("hover", false); - if (!showLabelFilter(d)) { - g.selectAll("." + c + ".linelabel").attr("display", "none"); - return g.selectAll(".labelbackground").remove(); - } - }); - areas.transition().attr("d", function(d) { - return d.path(d.value); - }); - gEnter.append("g").attr("class", "x axis"); - gEnter.append("g").attr("class", "y axis"); - gEnter.append("text").attr("class", "y axislabel"); - gEnter.append("text").attr("class", "charttitle"); - g.select(".x.axis").attr("transform", "translate(0," + yScale(0) + ")").call(xAxis); - if (min_value < 0) { - g.selectAll(".x.axis text").attr("dy", yScale(min_value) - yScale(0) + 7); - } - g.select(".y.axis").attr("transform", "translate(0," + xScale.range()[0] + ")").call(yAxis); - g.select(".y.axislabel").attr("transform", "translate(0," + (xScale.range()[0] - 10) + ")").text(unit); - label = g.select(".y.axislabel"); - label_width = label[0][0].getBBox().width; - if (label_width > margin.left) { - label.attr("dx", label_width - margin.left); - } - g.select(".charttitle").attr("transform", "translate(" + x_center + "," + (xScale.range()[0] - 30) + ")").text(title); - label_x = xScale.range()[1] + 2; - minimum_y_space = Math.abs(yScale.invert(10) - yScale.invert(0)); - label_threshold = Math.abs(yScale.invert(5) - yScale.invert(0)) * 9; - for (_k = 0, _len2 = stacked_data.length; _k < _len2; _k++) { - d = stacked_data[_k]; - p = d.value[d.value.length - 1]; - if (p.y0 != null) { - d.label_y = p.y0 + (p.y / 2); - } else { - d.label_y = p.y; - } - d; - } - stacked_data.sort(function(a, b) { - var a_y, b_y; - a_y = a.label_y; - b_y = b.label_y; - if (a_y < 0 && b_y > 0) { - return -1; - } else if (a_y > 0 && b_y < 0) { - return 1; - } else if (a_y > 0 && b_y > 0) { - return a_y - b_y; - } else { - return a_y - b_y; - } - }); - previous_y = min_value - 1000; - for (_l = 0, _len3 = stacked_data.length; _l < _len3; _l++) { - d = stacked_data[_l]; - y = d.label_y; - if (showLabelFilter(d)) { - y = Math.max(previous_y + minimum_y_space, y); - previous_y = y; - d.label_y = y; - } - } - labels = g.selectAll(".linelabel").data(Object, (function(d) { - return d.key; - })); - labels.enter().append("text").attr("class", function(d, i) { - return "linelabel " + (seriesClass(d, i)); - }).attr("x", label_x).attr("y", function(d) { - return yScale(d.label_y) + 4; - }).text(function(d) { - return d.key; - }).on("mouseover", function(d, i) { - dataTable(d, seriesClass(d, i)); - return g.selectAll("." + (seriesClass(d, i))).classed("hover", true); - }).on("mouseout", function(d, i) { - removeDataTable(); - return g.selectAll("." + (seriesClass(d, i))).classed("hover", false); - }); - labels.exit().remove(); - labels.sort(function(a, b) { - return d3.descending(Math.abs(a.total), Math.abs(b.total)); - }).transition().attr("x", label_x).attr("y", function(d) { - return yScale(d.label_y) + 4; - }).attr("display", function(d, i) { - if (showLabelFilter(d)) { - return "inline"; - } else { - return "none"; - } - }); - dataTable = function(series, seriesclass) { - var grid; - labels = series.value; - grid = g.selectAll(".seriesValue").data(labels); - grid.enter().append("text").attr("class", "seriesValue"); - return grid.text(function(d, i) { - if ((i % 2) === 0) { - return dataTableFormat(d.y); - } else { - return ""; - } - }).attr("transform", function(d, i) { - return "translate(" + xScale(first_scale_year + (i * 5)) + "," + (yScale.range()[0] + 30) + ")"; - }).classed(seriesclass, true); - }; - return removeDataTable = function() { - return g.selectAll(".seriesValue").remove(); - }; - }); - }; - chart.title = function(_) { - if (_ == null) { - return title; - } - title = _; - return chart; - }; - chart.total_label = function(_) { - if (_ == null) { - return total_label; - } - total_label = _; - return chart; - }; - chart.unit = function(_) { - if (_ == null) { - return unit; - } - unit = _; - return chart; - }; - chart.max_value = function(_) { - if (_ == null) { - return max_value; - } - max_value = _; - return chart; - }; - chart.min_value = function(_) { - if (_ == null) { - return min_value; - } - min_value = _; - return chart; - }; - chart.x_center = function() { - return x_center; - }; - chart.area = function(_) { - if (_ == null) { - return area; - } - area = _; - return chart; - }; - return chart; - }; - -}).call(this); -(function() { - var PrimaryEnergy; - - PrimaryEnergy = (function() { - function PrimaryEnergy() {} - - PrimaryEnergy.prototype.setup = function() { - var charts; - charts = d3.select("#results").selectAll(".chart").data(['demand_chart', 'supply_chart', 'emissions_chart']); - charts.enter().append('div').attr('id', Object).attr('class', 'chart'); - this.final_energy_chart = timeSeriesStackedAreaChart().title("Final Energy Demand").unit('TWh/yr').total_label('Total Use').max_value(4000); - this.primary_energy_chart = timeSeriesStackedAreaChart().title("Primary Energy Supply").unit('TWh/yr').total_label('Total Primary Supply').max_value(4000); - return this.emissions_chart = timeSeriesStackedAreaChart().title("Greenhouse Gas Emissions").unit('MtCO2e/yr').total_label('Total').min_value(-500).max_value(1000); - }; - - PrimaryEnergy.prototype.teardown = function() { - $('#results').empty(); - this.final_energy_chart = null; - this.primary_energy_chart = null; - return this.emissions_chart = null; - }; - - PrimaryEnergy.prototype.updateResults = function(pathway) { - var percent, series, t; - this.pathway = pathway; - if (!((this.emissions_chart != null) && (this.final_energy_chart != null) && (this.primary_energy_chart != null))) { - this.setup(); - } - d3.select('#demand_chart').datum(d3.map(this.pathway.final_energy_demand)).call(this.final_energy_chart); - d3.select('#supply_chart').datum(d3.map(this.pathway.primary_energy_supply)).call(this.primary_energy_chart); - series = d3.map(this.pathway.ghg); - series.remove("percent_reduction_from_1990"); - percent = this.pathway.ghg.percent_reduction_from_1990; - d3.select('#emissions_chart').datum(series).call(this.emissions_chart); - t = d3.select('#emissions_chart g.drawing').selectAll('text.target').data([percent]); - t.enter().append('text').attr('class', 'target'); - t.attr('transform', 'translate(' + this.emissions_chart.x_center() + ',-18)'); - return t.transition().tween('text', function(d) { - var current, i; - current = parseInt(this.textContent) || +d; - i = d3.interpolateRound(current, +d); - return function(t) { - return this.textContent = "" + (i(t)) + "% reduction 1990-2050; Target is 80%"; - }; - }); - }; - - return PrimaryEnergy; - - })(); - - window.twentyfifty.views['primary_energy_chart'] = new PrimaryEnergy; - -}).call(this); -(function() { - var Electricity; - - Electricity = (function() { - var showContext; - - function Electricity() {} - - Electricity.prototype.setup = function() { - var charts; - charts = d3.select("#results").selectAll(".chart").data(['demand_chart', 'supply_chart', 'emissions_chart']); - charts.enter().append('div').attr('id', Object).attr('class', 'chart'); - this.demand_chart = timeSeriesStackedAreaChart().title("Electricity Demand").unit('TWh/yr').max_value(4000); - this.supply_chart = timeSeriesStackedAreaChart().title("Electricity Supply").unit('TWh/yr').total_label('Total generation supplied to grid').max_value(4000); - return this.emissions_chart = timeSeriesStackedAreaChart().title("Emissions from Electricity").unit('MtCO2e/yr').total_label('Total').min_value(-500).max_value(1000); - }; - - Electricity.prototype.teardown = function() { - $('#results').empty(); - this.final_energy_chart = null; - this.primary_energy_chart = null; - return this.emissions_chart = null; - }; - - showContext = function(data, chart_id, chart_object) { - var d, i, p, total; - d = (function() { - var _i, _len, _results; - _results = []; - for (i = _i = 0, _len = data.length; _i < _len; i = ++_i) { - p = data[i]; - _results.push({ - x: 2010 + (i * 5), - y: p, - y0: 0 - }); - } - return _results; - })(); - total = d3.select(chart_id).select('g.context').selectAll('path').data([d]); - total.enter().append("path"); - return total.transition().attr("d", function(d) { - return chart_object.area()(d); - }); - }; - - Electricity.prototype.updateResults = function(pathway) { - var series; - this.pathway = pathway; - if (!((this.emissions_chart != null) && (this.demand_chart != null) && (this.supply_chart != null))) { - this.setup(); - } - d3.select('#demand_chart').datum(d3.map(this.pathway.electricity.demand)).call(this.demand_chart); - series = d3.map(this.pathway.electricity.supply); - series.remove('Biomass/Coal power stations'); - series.remove('Non-thermal renewable generation'); - d3.select('#supply_chart').datum(series).call(this.supply_chart); - d3.select('#emissions_chart').datum(d3.map(this.pathway.electricity.emissions)).call(this.emissions_chart); - showContext(this.pathway['final_energy_demand']['Total Use'], '#demand_chart', this.demand_chart); - showContext(this.pathway['final_energy_demand']['Total Use'], '#supply_chart', this.supply_chart); - return showContext(this.pathway.ghg.Total, '#emissions_chart', this.emissions_chart); - }; - - return Electricity; - - })(); - - window.twentyfifty.views['electricity'] = new Electricity; - -}).call(this); -(function() { - var EnergySecurity, - __hasProp = {}.hasOwnProperty; - - EnergySecurity = (function() { - function EnergySecurity() { - this.long_descriptions = twentyfifty.longDescriptions; - } - - EnergySecurity.prototype.setup = function() { - this.ready = true; - return $('#results').append("
"); - }; - - EnergySecurity.prototype.teardown = function() { - this.ready = false; - return $('#results').empty(); - }; - - EnergySecurity.prototype.updateResults = function(pathway) { - this.pathway = pathway; - if (!this.ready) { - this.setup(); - } - this.updateBalancingSection(); - this.updateImportsSection(); - return this.updatedDiversitySection(); - }; - - EnergySecurity.prototype.updateBalancingSection = function() { - var element; - element = $('#balancing'); - element.empty(); - element.append("

Balancing electricity supply and demand

"); - if (this.pathway.electricity.automatically_built > 0) { - element.append("

" + (Math.round(this.pathway.electricity.automatically_built)) + " GW of conventional gas electricity generation plant has been assumed to have been built by 2050, to cover the gap between average electricity demand and the amount of low carbon generation selected in this pathway.

"); - } - element.append("

This tool does not model the hourly, daily or even seasonal operation of the electricity grid. It presents annual averages. Therefore it does not correctly represent the peaks and troughs of electricity demand.

"); - element.append("

To go some way to addressing this flaw, the tool applies a simulated stress test to your pathway of five cold, almost windless, days. This is described in more detail here."); - element.append("In this case, the stress test implies that " + (Math.round(this.pathway.electricity.peaking)) + " GW of additional peaking plant may be required for supply to meet demand over that period.

"); - return element.append("

You can influence the amount of peaking plant by changing your choice level of 'storage, demand shifting & interconnection' below right, or by reducing the amount of intermittent renewable generation, or by reducing the demand for electricity

"); - }; - - EnergySecurity.prototype.updateImportsSection = function() { - var element, name, values, _ref; - element = $('#imports'); - element.empty(); - element.append("

Dependence on imported energy

"); - element.append("

The calculator assumes that any available biomass is preferred over fossil fuels and that domestically produced fuels are preferred over imports. It assumes that fossil fuels are imported to cover any shortfall.

"); - element.append("
"); - element.append(""); - element.append(""); - _ref = this.pathway.imports; - for (name in _ref) { - if (!__hasProp.call(_ref, name)) continue; - values = _ref[name]; - element.append(""); - } - return element.append("
20072050
ImportsTWh/yr%TWh/yr%
" + name + "" + values['2007'].quantity + "" + values['2007'].proportion + " " + values['2050'].quantity + "" + values['2050'].proportion + "
"); - }; - - EnergySecurity.prototype.updatedDiversitySection = function() { - var element, name, values, _ref; - element = $('#diversity'); - element.empty(); - element.append("

Diversity of energy sources

"); - element.append("

There may be a benefit from maintaining a diversity of energy sources:

"); - element.append(""); - element.append(""); - _ref = this.pathway.diversity; - for (name in _ref) { - if (!__hasProp.call(_ref, name)) continue; - values = _ref[name]; - if (!(values['2007'] === "0%" && values['2050'] === "0%")) { - element.append(""); - } - } - return element.append("
Proportion of energy supply20072050
" + name + "" + values['2007'] + " " + values['2050'] + "
"); - }; - - return EnergySecurity; - - })(); - - window.twentyfifty.views['energy_security'] = new EnergySecurity; - -}).call(this); -(function() { - var Map; - - Raphael.fn.up_labeled_square = function(x, y, label, area, colour) { - var side, sq; - side = Math.sqrt(area); - sq = this.rect(x, y - side, side, side).attr({ - stroke: colour, - fill: colour, - 'fill-opacity': "0.5" - }); - label = this.text(x - 2, y - (side / 2), label).attr({ - 'text-anchor': 'end', - fill: 'black' - }); - label.hide(); - return { - square: sq, - label: label - }; - }; - - Raphael.fn.up_right_labeled_square = function(x, y, label, area, colour) { - var side, sq; - side = Math.sqrt(area); - sq = this.rect(x - (side / 2), y - side, side, side).attr({ - stroke: colour, - fill: colour, - 'fill-opacity': "0.5" - }); - label = this.text(x + (side / 2) + 4, y - (side / 2), label).attr({ - 'text-anchor': 'start', - fill: 'black' - }); - return { - square: sq, - label: label - }; - }; - - Raphael.fn.down_labeled_square = function(x, y, label, area, colour) { - var side, sq; - side = Math.sqrt(area); - sq = this.rect(x - side, y, side, side).attr({ - stroke: colour, - fill: colour, - 'fill-opacity': "0.5" - }); - label = this.text(x + 4, y + (side / 2), label).attr({ - 'text-anchor': 'start', - fill: 'black' - }); - return { - square: sq, - label: label - }; - }; - - Map = (function() { - var GW, MW, Mha, colours, display_height, display_in_element, display_width, ha, km, km2, labels, m, m2, map_height, map_image_url, map_offset_x, map_offset_y, map_width, pointSizes; - - display_in_element = 'map'; - - display_width = 1200; - - display_height = 800; - - map_image_url = '/assets/images/uk.png'; - - map_width = 492; - - map_height = 725; - - map_offset_x = 150; - - map_offset_y = 0; - - km = 0.69; - - m = km / 1000.0; - - m2 = m * m; - - ha = 10000 * m2; - - km2 = 1e6 * m2; - - Mha = 1e6 * ha; - - GW = 2; - - MW = GW / 1000; - - colours = { - 'III.a.2': '#ff0000', - 'III.a.1': '#ff0000', - 'IV.c': '#aa0000', - 'VI.a.Biocrop': '#00ff00', - 'VI.a.Forestry': '#408000', - 'VI.c': '#00ff00', - 'V.b': '#00ff00', - 'IV.a': '#ffff00', - 'IV.b': '#cccc00', - 'VII.a': '#ffff00', - 'III.b': '#0000ff', - 'III.c.TidalRange': '#0000ff', - 'III.c.TidalStream': '#aaaaff', - 'I.a': '#666', - 'I.b': '#CCC', - 'II.a': '#FF0', - 'III.d': '#F00', - 'VII.c': '#008000', - 'VI.b': '#F00' - }; - - labels = { - 'III.a.2': 'Offshore wind', - 'III.a.1': 'Onshore wind', - 'IV.c': 'Micro wind', - 'VI.a.Biocrop': 'Energy crops', - 'VI.a.Forestry': 'Forest', - 'VI.c': 'Marine algae', - 'V.b': 'Biocrops', - 'IV.a': 'Solar PV', - 'IV.b': 'Solar thermal', - 'VII.a': 'Solar PV', - 'III.b': 'Hydro', - 'III.c.TidalRange': 'Tidal range', - 'III.c.TidalStream': 'Tidal stream', - 'I.a': '2 GW coal gas or biomass power stations without CCS', - 'I.b': '1.2 GW coal gas or biomass power stations with CCS', - 'II.a': '3 GW nuclear power station', - 'III.d': '0.01 GW geothermal stations', - 'VII.c': '1 GW gas standby power stations', - 'VI.b': '215 kt/y waste to energy conversion facilities' - }; - - pointSizes = { - 'I.a': 2, - 'I.b': 1.2, - 'II.a': 3, - 'III.d': 0.01, - 'VII.c': 1, - 'VI.b': 0.01 - }; - - function Map() { - this.ready = false; - } - - Map.prototype.setup = function() { - var name, r, x, y, _i, _j, _k, _len, _len1, _len2, _ref, _ref1, _ref2; - this.ready = true; - $('#results').append("
"); - r = Raphael(display_in_element, display_width, display_height); - this.r = r; - r.image(map_image_url, map_offset_x, map_offset_y, map_width, map_height); - r.text(20, 10, "Illustration of scale of land and sea use in 2050 (positions are arbitrary)").attr({ - 'font-weight': 'bold', - 'text-anchor': 'start' - }); - this.wave = { - line: r.path([]).attr({ - stroke: 'blue', - 'stroke-width': 2 - }), - label: r.text(98, 34, "Wave").attr({ - 'text-anchor': 'end' - }) - }; - this.wave.label.hide(); - x = (map_width / 2) + map_offset_x; - y = map_height + map_offset_y - 100; - this.land_boxes = {}; - _ref = ['III.a.1', 'III.b', 'IV.a', 'IV.b', 'IV.c', 'VI.a.Biocrop', 'VI.a.Forestry']; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - name = _ref[_i]; - this.land_boxes[name] = r.up_labeled_square(x, y, labels[name], 0, colours[name]); - } - x = (map_width / 2) + map_offset_x + 250; - y = 30; - this.sea_boxes = {}; - _ref1 = ['III.a.2', 'III.c.TidalStream', 'III.c.TidalRange', 'VI.c']; - for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) { - name = _ref1[_j]; - this.sea_boxes[name] = r.down_labeled_square(x, y, labels[name], 0, colours[name]); - } - r.path("M244,695 q0,-200 -200,-200").attr({ - 'stroke': '#ccc' - }); - r.text(44, 510, "Imports").attr({ - 'fill': '#ccc', - 'font-weight': 'bold', - 'text-anchor': 'start' - }); - x = map_offset_x - 105; - y = map_height + map_offset_y - 30; - this.overseas_land_boxes = {}; - _ref2 = ['V.b', 'VII.a']; - for (_k = 0, _len2 = _ref2.length; _k < _len2; _k++) { - name = _ref2[_k]; - this.overseas_land_boxes[name] = r.up_labeled_square(x, y, labels[name], 0, colours[name]); - } - this.points = r.set(); - return r.text(700, 10, "Illustration of the number of thermal power stations in 2050 (scales and positions are arbitrary)").attr({ - 'font-weight': 'bold', - 'text-anchor': 'start' - }); - }; - - Map.prototype.point_stack = function(x, y, number, colour, label, size) { - var i, width, x_count, x_step, y_step, _i; - x_count = 0; - if (size < 10) { - x_step = 5; - y_step = 5; - } else { - x_step = 1.5 * size; - y_step = 1.5 * size; - } - width = 100; - if (number > 0) { - this.r.text(x - 20, y, label).attr({ - 'text-anchor': 'end' - }); - } - for (i = _i = 1; 1 <= number ? _i <= number : _i >= number; i = 1 <= number ? ++_i : --_i) { - this.r.circle(x + (x_count * x_step), y, size * km).attr({ - 'stroke-width': 0, - 'fill': colour - }); - this.r.circle(x + (x_count * x_step), y, 1).attr({ - 'stroke-width': 0, - 'fill': 'black' - }); - x_count = x_count + 1; - if ((x_count * x_step) > width) { - x_count = 0; - y = y + y_step; - } - } - return y = y + 30; - }; - - Map.prototype.teardown = function() { - $('#results').empty(); - return this.ready = false; - }; - - Map.prototype.updateResults = function(data) { - var box, map, name, side, size, value, values, x, y, _i, _j, _k, _l, _len, _len1, _len2, _len3, _len4, _m, _ref, _ref1, _ref2, _ref3; - if (!this.ready) { - this.setup(); - } - map = data.map; - if (map.wave > 0) { - this.wave.label.show(); - } - if (map.wave === 0) { - this.wave.label.hide(); - } - this.wave.line.attr({ - path: ["M", 100, 30, "l", 0, map.wave * km] - }); - y = map_height + map_offset_y - 100; - values = []; - _ref = this.land_boxes; - for (name in _ref) { - box = _ref[name]; - values.push({ - name: name, - value: map[name] - }); - } - values.sort(function(a, b) { - return b.value - a.value; - }); - for (_i = 0, _len = values.length; _i < _len; _i++) { - value = values[_i]; - box = this.land_boxes[value.name]; - side = Math.sqrt(value.value * km2); - box.square.attr({ - y: y - side, - width: side, - height: side - }); - box.label.attr({ - y: y - (side / 2) - }); - if (value.value > 10) { - box.label.show(); - } else { - box.label.hide(); - } - y = y - side - 5; - } - x = (map_width / 2) + map_offset_x + 250; - y = 30; - values = []; - _ref1 = this.sea_boxes; - for (name in _ref1) { - box = _ref1[name]; - values.push({ - name: name, - value: map[name] - }); - } - values.sort(function(a, b) { - return b.value - a.value; - }); - for (_j = 0, _len1 = values.length; _j < _len1; _j++) { - value = values[_j]; - box = this.sea_boxes[value.name]; - side = Math.sqrt(value.value * km2); - box.square.attr({ - x: x - side, - y: y, - width: side, - height: side - }); - box.label.attr({ - x: x + 4, - y: y + (side / 2) - }); - if (value.value > 10) { - box.label.show(); - } else { - box.label.hide(); - } - y = y + side + 5; - } - y = map_height + map_offset_y - 30; - values = []; - _ref2 = this.overseas_land_boxes; - for (name in _ref2) { - box = _ref2[name]; - values.push({ - name: name, - value: map[name] - }); - } - values.sort(function(a, b) { - return b.value - a.value; - }); - for (_k = 0, _len2 = values.length; _k < _len2; _k++) { - value = values[_k]; - box = this.overseas_land_boxes[value.name]; - side = Math.sqrt(value.value * km2); - box.square.attr({ - y: y - side, - width: side, - height: side - }); - box.label.attr({ - y: y - (side / 2) - }); - if (value.value > 10) { - box.label.show(); - } else { - box.label.hide(); - } - y = y - side - 5; - } - if (this.points != null) { - this.points.remove(); - } - this.r.setStart(); - y = 35; - x = 1055; - values = []; - _ref3 = ['I.a', 'I.b', 'II.a', 'III.d', 'VII.c', 'VI.b']; - for (_l = 0, _len3 = _ref3.length; _l < _len3; _l++) { - name = _ref3[_l]; - values.push({ - name: name, - value: map[name] - }); - } - values.sort(function(a, b) { - return b.value - a.value; - }); - for (_m = 0, _len4 = values.length; _m < _len4; _m++) { - value = values[_m]; - if (value.value >= 1) { - size = Math.round(Math.sqrt(pointSizes[value.name]) * 10); - y = this.point_stack(x, y, value.value, colours[value.name], "" + (Math.round(value.value)) + " x " + labels[value.name], size); - } - } - return this.points = this.r.setFinish(); - }; - - return Map; - - })(); - - window.twentyfifty.views['map'] = new Map; - -}).call(this); -(function() { - var SankeyDisplay; - - SankeyDisplay = (function() { - var convert_name, name_conversions; - - name_conversions = { - "UK land based bioenergy": "Forests & biocrops", - "Bio-conversion": "Biomass processing", - "H2 conversion": "Hydrogen production", - "H2": "Hydrogen", - "Useful district heat": "Delivered heat", - "Heating and cooling - homes": "Home heating & cooling", - "Heating and cooling - commercial": "Office heating & cooling", - "Lighting & appliances - homes": "Home lighting & appliances", - "Lighting & appliances - commercial": "Office lighting & appliances" - }; - - convert_name = function(name) { - return name_conversions[name] || name; - }; - - function SankeyDisplay() {} - - SankeyDisplay.prototype.updateResults = function(pathway) { - var data, max_y; - if (this.s == null) { - this.setup(); - } - data = pathway.sankey; - if (this.drawn === true) { - this.s.updateData(data); - this.s.redraw(); - } else { - this.s.setData(data); - this.s.draw(); - this.drawn = true; - } - max_y = this.s.boxes['Losses'].b(); - if ($('#sankey').height() < max_y) { - $('#sankey').height(max_y); - return this.s.r.setSize($('#sankey').width(), max_y); - } - }; - - SankeyDisplay.prototype.teardown = function() { - $('#results').empty(); - return this.s = null; - }; - - SankeyDisplay.prototype.setup = function() { - var pixels_per_TWh; - if (this.s != null) { - return false; - } - $('#results').append("
"); - this.s = new Sankey(); - this.s.stack(0, ["Pumped heat", "Solar", "Wind", "Tidal", "Wave", "Geothermal", "Hydro", "Electricity imports", "Nuclear", "Coal reserves", "Coal imports", "Biomass imports", "Oil reserves", "Oil imports", "Biofuel imports", "Gas reserves", "Gas imports", "UK land based bioenergy", "Agricultural 'waste'", "Other waste", "Marine algae"]); - this.s.stack(1, ["Coal"], "Coal reserves"); - this.s.stack(1, ["Oil"], "Oil reserves"); - this.s.stack(1, ["Natural Gas"], "Gas reserves"); - this.s.stack(1, ["Bio-conversion"], "UK land based bioenergy"); - this.s.stack(2, ["Solar Thermal", "Solar PV"], "Solar"); - this.s.stack(2, ["Solid", "Liquid", "Gas"], "Coal"); - this.s.stack(3, ["Thermal generation", "CHP"], "Nuclear"); - this.s.stack(4, ["Electricity grid", "District heating"], "Wind"); - this.s.stack(5, ["H2 conversion"], "Electricity grid"); - this.s.stack(6, ["H2"], "H2 conversion"); - this.s.stack(7, ["Heating and cooling - homes", "Heating and cooling - commercial", "Lighting & appliances - homes", "Lighting & appliances - commercial", "Industry", "Road transport", "Rail transport", "Domestic aviation", "International aviation", "National navigation", "International shipping", "Agriculture", "Geosequestration", "Over generation / exports", "Losses"]); - this.s.nudge_boxes_callback = function() { - return this.boxes["Losses"].y = this.boxes["Marine algae"].b() - this.boxes["Losses"].size(); - }; - this.s.setColors({ - "Coal reserves": "#8F6F38", - "Coal": "#8F6F38", - "Coal imports": "#8F6F38", - "Oil reserves": "#A99268", - "Oil": "#A99268", - "Oil imports": "#A99268", - "Gas reserves": "#DDD4C4", - "Natural Gas": "#DDD4C4", - "Gas imports": "#DDD4C4", - "Solar": "#F6FF00", - "Solar Thermal": "#F6FF00", - "Solar PV": "#F6FF00", - "UK land based bioenergy": "#30FF00", - "Bio-conversion": "#30FF00", - "Marine algae": "#30FF00", - "Agricultural 'waste'": "#30FF00", - "Other waste": "#30FF00", - "Biomass imports": "#30FF00", - "Biofuel imports": "#30FF00", - "Solid": "#557731", - "Liquid": "#7D9763", - "Gas": "#BCC2AD", - "Electricity grid": "#0000FF", - "Thermal generation": "#0000FF", - "CHP": "#FF0000", - "Nuclear": "#E2ABDB", - "District heating": "#FF0000", - "Pumped heat": "#FF0000", - "Useful district heat": "#FF0000", - "CHP Heat": "#FF0000", - "Electricity imports": "#0000FF", - "Wind": "#C7E7E6", - "Tidal": "#C7E7E6", - "Wave": "#C7E7E6", - "Geothermal": "#C7E7E6", - "Hydro": "#C7E7E6", - "H2 conversion": "#FF6FCF", - "Final electricity": "#0000FF", - "Over generation / exports": "#0000FF", - "H2": "#FF6FCF" - }); - this.s.nudge_colours_callback = function() { - this.recolour(this.boxes["Losses"].left_lines, "#ddd"); - this.recolour(this.boxes["District heating"].left_lines, "#FF0000"); - return this.recolour(this.boxes["Electricity grid"].left_lines, "#0000FF"); - }; - pixels_per_TWh = $('#sankey').height() / 6000; - this.s.y_space = Math.round(100 * pixels_per_TWh); - this.s.right_margin = 250; - this.s.left_margin = 150; - this.s.convert_flow_values_callback = function(flow) { - return flow * pixels_per_TWh; - }; - this.s.convert_flow_labels_callback = function(flow) { - return Math.round(flow); - }; - return this.s.convert_box_value_labels_callback = function(flow) { - return "" + Math.round(flow) + " TWh/y"; - }; - }; - - return SankeyDisplay; - - })(); - - window.twentyfifty.views['sankey'] = new SankeyDisplay; - -}).call(this); -(function() { - var AirQuality, airQualityHTML, - __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; - - airQualityHTML = "
\n

The impact of your pathway on air quality

\n
\n
\n
\n

How to interpret these results:

\n
    \n
  • Air pollution health impact index — this index measures the effect on human health from fine particulate matter and other air pollutants such as nitrogen oxides. For example, these pollutants have been linked to premature death caused by heart and lung disease. 2010 is the baseline year (100). A number lower than 100 indicates a reduction in average air pollution and associated health impacts, whilst a higher number indicates an increase. This index reflects changes in the average concentration of air pollutants across the UK. It does not provide information on the number or severity of pollution hotspots.
  • \n
  • Low end of hatched range — worst case scenario for air pollution whereby there is no further deployment or innovation in pollution abatement technology between now and 2050 beyond planned measures.
  • \n
  • High end of hatched range — best case scenario whereby innovation radically improves pollution abatement technology between now and 2050 and it is fully deployed.
  • \n
\n

\n We would welcome your feedback on the\n methodology used to calculate the impact of your pathway on air quality.\n You can also download the excel version of the 2050 pathways calcualtor to see the different types of air pollution and the relative importance of different sources.\n

\n
\n
"; - - AirQuality = (function() { - function AirQuality() { - this.updateResults = __bind(this.updateResults, this); - this.updateComparator = __bind(this.updateComparator, this); - this.ready = false; - } - - AirQuality.prototype.setup = function() { - var clow, comparator_id, crange, e, format, h, low, range, tick, x, _2010, _i, _len, _ref; - if (this.ready) { - return false; - } - this.ready = true; - $("#results").append(airQualityHTML); - $("#message").addClass('warning'); - e = $('#airquality'); - this.h = e.height(); - this.w = e.width(); - this.r = new Raphael('airquality', this.w, this.h); - this.x = d3.scale.linear().domain([0, 250]).range([300, this.w - 30]).nice(); - this.y = d3.scale.ordinal().domain(['2010', 'comparator', 'chosen']).rangeRoundBands([25, this.h - 20], 0.25); - comparator_id = twentyfifty.getComparator() || twentyfifty.default_comparator_code; - this.r.text(30, this.y("2010") + 9, "2010").attr({ - 'text-anchor': 'start', - 'font-weight': 'bold' - }); - this.r.text(30, this.y("comparator") + 9, "2050 - " + (twentyfifty.pathwayName(comparator_id))).attr({ - 'text-anchor': 'start', - 'font-weight': 'bold' - }); - this.r.text(30, this.y("chosen") + 9, "2050 - Your pathway").attr({ - 'text-anchor': 'start', - 'font-weight': 'bold' - }); - this.bars = {}; - h = this.y.rangeBand(); - x = this.x(0); - _2010 = this.r.rect(x, this.y('2010'), this.x(100) - this.x(0), h).attr({ - 'fill': '#008000', - 'stroke': 'none' - }); - this.r.text(30, this.y('comparator') + 27, twentyfifty.pathwayDescriptions(comparator_id, "")).attr({ - 'text-anchor': 'start' - }); - clow = this.r.rect(x, this.y('comparator'), 0, h).attr({ - 'fill': '#f00', - 'stroke': 'none' - }); - crange = this.r.rect(x, this.y('comparator'), 0, h).attr({ - 'fill': 'url(/assets/images/hatches/hatch-f00.png)', - 'stroke': 'none' - }); - this.bars['comparator'] = { - low: clow, - range: crange - }; - low = this.r.rect(x, this.y('chosen'), 0, h).attr({ - 'fill': '#1f77b4', - 'stroke': 'none' - }); - range = this.r.rect(x, this.y('chosen'), 0, h).attr({ - 'fill': 'url(/assets/images/hatches/hatch-1f77b4.png)', - 'stroke': 'none' - }); - this.bars['chosen'] = { - low: low, - range: range - }; - this.r.text(this.x(0), 10, "Air pollution health impact index (2010=100)").attr({ - 'text-anchor': 'start', - 'font-weight': 'bold', - 'fill': '#000' - }); - this.r.path(["M", this.x(0), this.h - 35, "L", this.x(0), 30, "L", this.w - 30, 30]).attr({ - 'stroke': '#000', - 'stroke-width': 2 - }); - format = this.x.tickFormat(10); - _ref = this.x.ticks(10); - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - tick = _ref[_i]; - this.r.text(this.x(tick), 23, format(tick)).attr({ - 'text-anchor': 'middle', - fill: '#000000' - }); - this.r.path(["M", this.x(tick), 29, "L", this.x(tick), this.h - 26]).attr({ - stroke: '#fff' - }); - } - return twentyfifty.loadSecondaryPathway(comparator_id, this.updateComparator); - }; - - AirQuality.prototype.teardown = function() { - $("#results").empty(); - $("#message").removeClass('warning'); - return this.ready = false; - }; - - AirQuality.prototype.updateComparator = function(pathway) { - if (!this.ready) { - this.setup(); - } - this.bars['comparator']['low'].attr({ - width: this.x(pathway.air_quality.low) - this.x(0) - }); - return this.bars['comparator']['range'].attr({ - width: this.x(pathway.air_quality.high - pathway.air_quality.low) - this.x(0), - x: this.x(pathway.air_quality.low) - }); - }; - - AirQuality.prototype.updateResults = function(pathway) { - var text; - if (!this.ready) { - this.setup(); - } - this.bars['chosen']['low'].attr({ - width: this.x(pathway.air_quality.low) - this.x(0) - }); - this.bars['chosen']['range'].attr({ - width: this.x(pathway.air_quality.high - pathway.air_quality.low) - this.x(0), - x: this.x(pathway.air_quality.low) - }); - text = ["The damage to human health arising from air pollution from this pathway, principally particulate matter, could be around "]; - text.push("" + (Math.abs(Math.round(100 - pathway.air_quality.high))) + "%"); - if (pathway.air_quality.high > 100 && pathway.air_quality.low <= 100) { - text.push(" higher "); - } - if (pathway.air_quality.high <= 100 && pathway.air_quality.low > 100) { - text.push(" lower "); - } - text.push(" to "); - text.push("" + (Math.abs(Math.round(100 - pathway.air_quality.low))) + "%"); - if (pathway.air_quality.low > 100) { - text.push(" higher"); - } - if (pathway.air_quality.low <= 100) { - text.push(" lower"); - } - text.push(" in 2050 compared to 2010."); - if (pathway.air_quality.high > 100) { - text.push(" Given the scope for adverse implications for air quality, if the UK were to adopt this pathway the Government would develop a policy framweork that supported the innovation required to be at the bottom end of the range"); - } - return $('#airqualitymessage').html(text.join('')); - }; - - return AirQuality; - - })(); - - window.twentyfifty.views['air_quality'] = new AirQuality; - -}).call(this); -(function() { - var CostsInContext, costsInContextHTML, - __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }, - __hasProp = {}.hasOwnProperty; - - costsInContextHTML = "
\n
NB Some costs not on default values
\n

\n The cost to society of your pathway. This is not your energy bill.
\n For comparison, UK average GDP 2010-2050 is forecast to be roughly £35000 per person.\n

\n " + window.costCaveatHTML + "\n
\n " + window.costEssentialNotesHTML + "\n
"; - - CostsInContext = (function() { - function CostsInContext() { - this.updateBar = __bind(this.updateBar, this); - this.setup = __bind(this.setup, this); - this.pathways = {}; - this.ready = false; - } - - CostsInContext.prototype.setup = function() { - var all_pathways, code, comparator_pathways, e, format, h, labels_hide, labels_show, low, low_label, message, overlay, overlays, range, range_label, tick, x, y, _i, _j, _k, _l, _len, _len1, _len2, _len3, _len4, _m, _ref, _results, - _this = this; - if (this.ready) { - return false; - } - this.ready = true; - $("#results").append(costsInContextHTML); - $("#message").addClass('warning'); - twentyfifty.cost_override_in_place_warning(); - all_pathways = ["chosen"].concat(twentyfifty.comparator_pathways); - comparator_pathways = twentyfifty.comparator_pathways; - e = $('#costsincontext'); - this.h = e.height(); - this.w = e.width(); - this.r = new Raphael('costsincontext', this.w, this.h); - this.x = d3.scale.linear().domain([0, 40000]).range([250, this.w - 30]).nice(); - this.y = d3.scale.ordinal().domain(all_pathways).rangeRoundBands([25, this.h - 20], 0.25); - for (_i = 0, _len = comparator_pathways.length; _i < _len; _i++) { - code = comparator_pathways[_i]; - this.r.rect(this.x(0), this.y(code), this.x(40000) - this.x(0), this.y.rangeBand()).attr({ - 'fill': '#ddd', - 'stroke': 'none' - }); - } - this.r.rect(25, this.y("chosen"), this.x(40000) - 25, this.y.rangeBand()).attr({ - 'fill': '#FCFF9B', - 'stroke': 'none' - }); - this.r.text(30, this.y("chosen") + 9, "Your pathway").attr({ - 'text-anchor': 'start', - 'font-weight': 'bold' - }); - this.r.text(30, this.y("chosen") + 27, "You can click on the chart to make a more\ndetailed comparison with the pathways below").attr({ - 'text-anchor': 'start' - }); - for (_j = 0, _len1 = comparator_pathways.length; _j < _len1; _j++) { - code = comparator_pathways[_j]; - this.r.text(30, this.y(code) + 9, twentyfifty.pathwayName(code, code)).attr({ - 'text-anchor': 'start', - 'font-weight': 'bold', - href: twentyfifty.pathwayWikiPages(code) - }); - this.r.text(30, this.y(code) + 27, twentyfifty.pathwayDescriptions(code, "")).attr({ - 'text-anchor': 'start', - href: twentyfifty.pathwayWikiPages(code) - }); - } - this.bars = {}; - this.low = { - boxes: this.r.set(), - labels: this.r.set(), - top_label: null, - top_label_box: null - }; - this.range = { - boxes: this.r.set(), - labels: this.r.set(), - top_label: null, - top_label_box: null - }; - overlays = this.r.set(); - x = this.x(0); - h = this.y.rangeBand(); - labels_show = function() { - _this.low.labels.show(); - return _this.range.labels.show(); - }; - labels_hide = function() { - _this.low.labels.hide(); - return _this.range.labels.hide(); - }; - for (_k = 0, _len2 = all_pathways.length; _k < _len2; _k++) { - code = all_pathways[_k]; - y = this.y(code); - low = this.r.rect(x, y, 0, h).attr({ - 'fill': '#008000', - 'stroke': 'none' - }); - range = this.r.rect(x, y, 0, h).attr({ - 'fill': 'url(/assets/images/hatches/hatch-green.png)', - 'stroke': 'none' - }); - low_label = this.r.text(x + 10, y + h / 2, "").attr({ - 'fill': '#000', - 'text-anchor': 'start' - }); - range_label = this.r.text(x, y + h / 2, "").attr({ - 'text-anchor': 'start', - 'fill': '#f00' - }); - message = this.r.text(x, y + h / 2, "").attr({ - 'fill': '#000', - 'text-anchor': 'start' - }); - overlay = this.r.rect(x, y, 0, h).attr({ - 'fill': '#fff', - 'stroke': 'none', - cursor: 'pointer', - 'fill-opacity': 0.0 - }); - this.bars[code] = { - low: low, - range: range, - low_label: low_label, - range_label: range_label, - message: message, - overlay: overlay - }; - this.low.boxes.push(low); - this.low.labels.push(low_label); - this.range.boxes.push(range); - this.range.labels.push(range_label); - overlays.push(overlay); - low_label.hide(); - range_label.hide(); - overlay.hover(labels_show, labels_hide); - overlay.click(function() { - return window.twentyfifty.switchView('costs_compared_overview'); - }); - } - this.incremental_overlay = this.r.rect(this.x(0), this.y('chosen'), 0, 480).attr({ - 'fill': '#fff', - 'fill-opacity': 0.5, - 'stroke': 'none' - }); - overlays.insertAfter(this.incremental_overlay); - this.r.text(this.x(0), this.h - 5, "The absolute cost to society of the whole energy system (mean undiscounted real pounds per person per year 2010-2050)").attr({ - 'text-anchor': 'start', - 'font-weight': 'bold', - 'fill': '#008000' - }); - this.r.path(["M", this.x(0), 40, "L", this.x(0), this.h - 28, "L", this.w - 30, this.h - 28]).attr({ - 'stroke': '#008000', - 'stroke-width': 2 - }); - format = this.x.tickFormat(10); - _ref = this.x.ticks(10); - for (_l = 0, _len3 = _ref.length; _l < _len3; _l++) { - tick = _ref[_l]; - this.r.text(this.x(tick), this.h - 20, format(tick)).attr({ - 'text-anchor': 'middle', - fill: '#008000' - }); - } - this.drawIndicator(3700, "Approximate energy system cost today"); - _results = []; - for (_m = 0, _len4 = comparator_pathways.length; _m < _len4; _m++) { - code = comparator_pathways[_m]; - _results.push(twentyfifty.loadSecondaryPathway(code, this.updateBar)); - } - return _results; - }; - - CostsInContext.prototype.drawIndicator = function(value, text) { - var x; - x = this.x(value); - this.r.text(x, 10, text).attr({ - 'text-anchor': 'end', - fill: '#aaa' - }); - this.r.path(["M", x, 8, "L", x, this.h - 15]).attr({ - stroke: '#000', - 'stroke-dasharray': '.' - }); - return this.r.text(x, this.h - 20, '3,700').attr({ - 'text-anchor': 'end', - fill: '#aaa' - }); - }; - - CostsInContext.prototype.teardown = function() { - $("#results").empty(); - $("#message").removeClass('warning'); - return this.ready = false; - }; - - CostsInContext.prototype.updateResults = function(pathway) { - if (!this.ready) { - this.setup(); - } - return this.updateBar(pathway, 'chosen'); - }; - - CostsInContext.prototype.updateBar = function(pathway, _id) { - var bar, code, format, p, tick, total_cost, total_range, _i, _len, _ref, _ref1; - if (_id == null) { - _id = pathway._id; - } - this.pathways[_id] = pathway; - total_cost = this.total_cost_low_adjusted(pathway); - total_range = this.total_cost_range_adjusted(pathway); - bar = this.bars[_id]; - if (_id === 'chosen') { - bar.low.attr({ - fill: '#1f77b4' - }); - bar.range.attr({ - fill: 'url(/assets/images/hatches/hatch-1f77b4.png)' - }); - } else if (_id === (twentyfifty.getComparator() || twentyfifty.default_comparator_code)) { - this.comparator = pathway; - this.r.text(this.x(total_cost), 10, "The extra cost to society above that of the '" + (twentyfifty.pathwayName(_id, "comparison")) + "' pathway (mean £/person/year 2010-2050)").attr({ - 'text-anchor': 'start', - 'font-weight': 'bold', - 'fill': '#f00' - }); - this.r.path(["M", this.x(total_cost), this.h - 35, "L", this.x(total_cost), 30, "L", this.w - 30, 30]).attr({ - 'stroke': '#f00', - 'stroke-width': 2 - }); - format = this.x.tickFormat(10); - _ref = this.x.ticks(10); - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - tick = _ref[_i]; - this.r.text(this.x(tick + total_cost), 23, format(tick)).attr({ - 'text-anchor': 'middle', - 'fill': '#f00' - }); - if (tick > 0) { - this.r.path(["M", this.x(tick + total_cost), 27, "L", this.x(tick + total_cost), this.h - 30]).attr({ - stroke: '#fff' - }); - } - } - bar.low.attr({ - fill: '#f00' - }); - bar.range.attr({ - fill: 'url(/assets/images/hatches/hatch-f00.png)' - }); - this.incremental_overlay.attr({ - width: this.x(total_cost) - this.x(0) - }); - this.low.labels.toFront(); - this.range.labels.toFront(); - _ref1 = this.pathways; - for (code in _ref1) { - if (!__hasProp.call(_ref1, code)) continue; - p = _ref1[code]; - this.setIncrementalCostLabel(code, p); - } - } - bar.low.attr({ - width: this.x(total_cost) - this.x(0) - }); - if (total_range === 0) { - bar.low_label.attr({ - text: "" + (Math.round(total_cost)) - }); - } else { - bar.low_label.attr({ - text: "" + (Math.round(total_cost)) + "–" + (Math.round(total_cost + total_range)) - }); - } - bar.range_label.attr({ - x: this.x(total_cost + total_range) + 10 - }); - this.setIncrementalCostLabel(_id, pathway); - bar.range.attr({ - x: this.x(total_cost), - width: this.x(total_range) - this.x(0) - }); - bar.overlay.attr({ - width: this.x(total_cost + total_range) - this.x(0) - }); - if (pathway.ghg['Total'][8] > 166) { - bar.message.attr({ - x: this.x(total_cost + total_range) + 100, - text: "This pathway does not reduce emissions by at least 80% on 1990 levels" - }); - return bar.message.toFront(); - } else { - bar.message.attr({ - x: this.x(total_cost + total_range) + 100, - text: "" - }); - return bar.message.toFront(); - } - }; - - CostsInContext.prototype.setIncrementalCostLabel = function(code, pathway) { - var a, delta, i, i1, i2, message; - if (this.comparator == null) { - return false; - } - if (code === this.comparator._id) { - return false; - } - if (pathway.total_cost_range_adjusted === 0 && this.comparator.total_cost_range_adjusted === 0) { - delta = Math.round(pathway.total_cost_low_adjusted - this.comparator.total_cost_low_adjusted); - if (delta < 0) { - message = "" + (-delta) + " less"; - } else if (delta === 0) { - message = "the same"; - } else { - message = "" + delta + " more"; - } - } else { - i = twentyfifty.calculateIncrementalCost(pathway, this.comparator); - i1 = Math.round(i.tc - i.cc); - i2 = Math.round(i.tt - i.ct); - if (i1 > i2) { - a = i2; - i2 = i1; - i1 = a; - } - if (i1 < 0 && i2 < 0) { - message = "" + (-i1) + " to " + (-i2) + " less"; - } else if (i1 < 0 && i2 > 0) { - message = "" + (-i1) + " less to " + i2 + " more"; - } else { - message = "" + i1 + " to " + i2 + " more"; - } - } - return this.bars[code].range_label.attr({ - text: message - }); - }; - - CostsInContext.prototype.total_cost_low_adjusted = function(pathway) { - if (pathway.total_cost_low_adjusted == null) { - twentyfifty.adjust_costs_of_pathway(pathway); - } - return pathway.total_cost_low_adjusted; - }; - - CostsInContext.prototype.total_cost_range_adjusted = function(pathway) { - if (pathway.total_cost_range_adjusted == null) { - twentyfifty.adjust_costs_of_pathway(pathway); - } - return pathway.total_cost_range_adjusted; - }; - - return CostsInContext; - - })(); - - window.twentyfifty.views['costs_in_context'] = new CostsInContext; - -}).call(this); -(function() { - var CostsComparedOverview, costsComparedOverviewHTML, - __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }, - __hasProp = {}.hasOwnProperty; - - costsComparedOverviewHTML = "
\n
NB Some costs not on default values
\n

\n The cost of your pathway, compared with other pathways.\n This is not your energy bill.\n

\n " + window.costCaveatHTML + "\n
\n " + window.costEssentialNotesHTML + "\n
"; - - CostsComparedOverview = (function() { - var categories, category_colors; - - categories = ["Fossil fuels", "Bioenergy", "Electricity", "Buildings", "Transport", "Industry", "Finance", "Other"]; - - category_colors = { - "Fossil fuels": { - low: "#8c564b", - range: "url(/assets/images/hatches/hatch-8c564b.png)" - }, - "Bioenergy": { - low: "#2ca02c", - range: "url(/assets/images/hatches/hatch-2ca02c.png)" - }, - "Electricity": { - low: "#1f77b4", - range: "url(/assets/images/hatches/hatch-1f77b4.png)" - }, - "Buildings": { - low: "#ff7f0e", - range: "url(/assets/images/hatches/hatch-ff7f0e.png)" - }, - "Transport": { - low: "#d62728", - range: "url(/assets/images/hatches/hatch-d62728.png)" - }, - "Industry": { - low: "#7f7f7f", - range: "url(/assets/images/hatches/hatch-7f7f7f.png)" - }, - "Finance": { - low: "#EA8BCC", - range: "url(/assets/images/hatches/hatch-EA8BCC.png)" - }, - "Other": { - low: "#a55194", - range: "url(/assets/images/hatches/hatch-a55194.png)" - } - }; - - function CostsComparedOverview() { - this.updateBar = __bind(this.updateBar, this); - this.ready = false; - } - - CostsComparedOverview.prototype.setup = function() { - var all_pathways, b, c, category, clickFunction, code, color, colors, e, format, h, lb, tick, x, y, _i, _j, _k, _l, _len, _len1, _len2, _len3, _len4, _len5, _m, _n, _ref, _ref1, _ref2, _ref3, _ref4, _results; - if (this.ready) { - return false; - } - this.ready = true; - $('#results').append(costsComparedOverviewHTML); - $("#message").addClass('warning'); - twentyfifty.cost_override_in_place_warning(); - all_pathways = ["chosen"].concat(twentyfifty.comparator_pathways); - e = $('#costscomparedoverview'); - this.h = e.height(); - this.w = e.width(); - this.r = new Raphael('costscomparedoverview', this.w, this.h); - this.x = d3.scale.linear().domain([0, 7000]).range([250, this.w - 30]).nice(); - this.y = d3.scale.ordinal().domain(all_pathways).rangeRoundBands([25, this.h - 20], 0.25); - this.r.text(250, 30, "Move your mouse over a coloured bar to see what it refers to. Click on a bar to see more detail").attr({ - 'text-anchor': 'start' - }); - _ref = twentyfifty.comparator_pathways; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - code = _ref[_i]; - this.r.rect(this.x(0), this.y(code), this.x(7000) - this.x(0), this.y.rangeBand()).attr({ - 'fill': '#ddd', - 'stroke': 'none' - }); - } - this.r.rect(25, this.y("chosen"), this.x(7000) - 25, this.y.rangeBand()).attr({ - 'fill': '#FCFF9B', - 'stroke': 'none' - }); - this.r.text(30, this.y("chosen") + 9, "Your pathway").attr({ - 'text-anchor': 'start', - 'font-weight': 'bold' - }); - this.r.text(30, this.y("chosen") + 27, "You can click on the chart to make a more\ndetailed comparison of specific costs").attr({ - 'text-anchor': 'start' - }); - _ref1 = twentyfifty.comparator_pathways; - for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) { - code = _ref1[_j]; - this.r.text(30, this.y(code) + 9, twentyfifty.pathwayName(code, code)).attr({ - 'text-anchor': 'start', - 'font-weight': 'bold', - href: twentyfifty.pathwayWikiPages(code) - }); - this.r.text(30, this.y(code) + 27, twentyfifty.pathwayDescriptions(code, "")).attr({ - 'text-anchor': 'start', - href: twentyfifty.pathwayWikiPages(code) - }); - } - this.boxes = {}; - this.boxes_by_category = {}; - for (_k = 0, _len2 = categories.length; _k < _len2; _k++) { - category = categories[_k]; - this.boxes_by_category[category] = { - boxes: this.r.set(), - labels: this.r.set(), - top_label: null, - top_label_box: null - }; - } - x = this.x(0); - h = this.y.rangeBand(); - clickFunction = function(category) { - return function() { - return window.twentyfifty.switchSector(categories.indexOf(category)); - }; - }; - _ref2 = ["chosen"].concat(twentyfifty.comparator_pathways); - for (_l = 0, _len3 = _ref2.length; _l < _len3; _l++) { - code = _ref2[_l]; - b = {}; - y = this.y(code); - for (category in category_colors) { - if (!__hasProp.call(category_colors, category)) continue; - colors = category_colors[category]; - b[category] = { - low: this.r.rect(x, y, 0, h).attr({ - 'fill': colors.low, - 'stroke': 'none', - cursor: "pointer" - }).click(clickFunction(category)), - low_label: this.r.text(x, y + h / 2, "").attr({ - 'fill': '#000', - 'text-anchor': 'middle', - cursor: "pointer" - }).click(clickFunction(category)), - range: this.r.rect(x, y, 0, h).attr({ - 'fill': colors.range, - 'stroke': 'none', - cursor: "pointer" - }).click(clickFunction(category)), - range_label: this.r.text(x, y + h / 2, "").attr({ - 'fill': '#000', - 'text-anchor': 'middle', - cursor: "pointer" - }).click(clickFunction(category)) - }; - c = this.boxes_by_category[category]; - c.boxes.push(b[category].low, b[category].range); - c.labels.push(b[category].low_label, b[category].range_label); - } - this.boxes[code] = b; - } - this.r.text(this.x(0), this.h - 5, "The absolute cost to society of the whole energy system (mean undiscounted real pounds per person per year 2010-2050)").attr({ - 'text-anchor': 'start', - 'font-weight': 'bold', - 'fill': '#008000' - }); - this.r.path(["M", this.x(0), 40, "L", this.x(0), this.h - 28, "L", this.w - 30, this.h - 28]).attr({ - 'stroke': '#008000', - 'stroke-width': 2 - }); - format = this.x.tickFormat(10); - _ref3 = this.x.ticks(10); - for (_m = 0, _len4 = _ref3.length; _m < _len4; _m++) { - tick = _ref3[_m]; - this.r.text(this.x(tick), this.h - 20, format(tick)).attr({ - 'text-anchor': 'middle', - fill: '#008000' - }); - this.r.path(["M", this.x(tick), 40, "L", this.x(tick), this.h - 26]).attr({ - stroke: '#fff' - }); - } - for (category in category_colors) { - if (!__hasProp.call(category_colors, category)) continue; - color = category_colors[category]; - this.boxes_by_category[category].labels.hide(); - this.boxes_by_category[category].labels.toFront(); - this.hover(this.boxes_by_category[category].boxes, category); - this.hover(this.boxes_by_category[category].labels, category); - if (category === "Fossil fuels") { - lb = this.r.text(this.x(0) + 175, h * 0.75 / 2, "Fossil fuels for use in buildings, transport, electricity generation and industry").attr({ - 'text-anchor': 'middle', - 'font-weight': 'bold' - }); - } else if (category === "Bioenergy") { - lb = this.r.text(this.x(0) + 175, h * 0.75 / 2, "Bioenergy for use in buildings, transport, electricity generation and industry").attr({ - 'text-anchor': 'middle', - 'font-weight': 'bold' - }); - } else { - lb = this.r.text(this.x(0) + 50, h * 0.75 / 2, category).attr({ - 'text-anchor': 'middle', - 'font-weight': 'bold' - }); - } - this.boxes_by_category[category].top_label_box = this.r.rect(this.x(0), 0, lb.getBBox().width + 15, h * 0.75, 5).attr({ - 'fill': '#fff', - 'stroke': color.low - }).hide(); - this.boxes_by_category[category].top_label = lb; - lb.toFront(); - lb.hide(); - } - _ref4 = twentyfifty.comparator_pathways; - _results = []; - for (_n = 0, _len5 = _ref4.length; _n < _len5; _n++) { - code = _ref4[_n]; - _results.push(twentyfifty.loadSecondaryPathway(code, this.updateBar)); - } - return _results; - }; - - CostsComparedOverview.prototype.hover = function(boxes, category) { - var _this = this; - return boxes.hover((function() { - return _this.show(category); - }), (function() { - return _this.hide(category); - })); - }; - - CostsComparedOverview.prototype.show = function(category) { - var c, _i, _len, _results; - _results = []; - for (_i = 0, _len = categories.length; _i < _len; _i++) { - c = categories[_i]; - if (c === category) { - this.boxes_by_category[c].labels.show(); - this.boxes_by_category[c].top_label_box.show(); - _results.push(this.boxes_by_category[c].top_label.show()); - } else { - _results.push(this.boxes_by_category[c].boxes.attr({ - 'fill-opacity': 0.5 - })); - } - } - return _results; - }; - - CostsComparedOverview.prototype.hide = function(category) { - var c, _i, _len, _results; - _results = []; - for (_i = 0, _len = categories.length; _i < _len; _i++) { - c = categories[_i]; - if (c === category) { - this.boxes_by_category[c].labels.hide(); - this.boxes_by_category[c].top_label_box.hide(); - _results.push(this.boxes_by_category[c].top_label.hide()); - } else { - _results.push(this.boxes_by_category[c].boxes.attr({ - 'fill-opacity': 1.0 - })); - } - } - return _results; - }; - - CostsComparedOverview.prototype.teardown = function() { - $("#results").empty(); - $("#message").removeClass('warning'); - return this.ready = false; - }; - - CostsComparedOverview.prototype.updateResults = function(pathway) { - if (!this.ready) { - this.setup(); - } - return this.updateBar(pathway, 'chosen'); - }; - - CostsComparedOverview.prototype.updateBar = function(pathway, _id) { - var b, categorised_costs, category, cost, lb, _i, _j, _len, _len1, _results, _x; - if (_id == null) { - _id = pathway._id; - } - if (this.boxes == null) { - this.setupComparisonChart(); - } - if (pathway.categorised_costs == null) { - twentyfifty.group_costs_of_pathway(pathway); - } - categorised_costs = pathway.categorised_costs; - b = this.boxes[_id]; - _x = 0; - for (_i = 0, _len = categories.length; _i < _len; _i++) { - category = categories[_i]; - cost = categorised_costs[category]; - b[category].low.attr({ - x: this.x(_x), - width: this.x(cost.low) - this.x(0) - }); - if (cost.low > 1) { - b[category].low_label.attr({ - x: this.x(_x + cost.low / 2), - text: "" + (Math.round(cost.low)) - }); - } - if (_id === 'chosen') { - lb = this.boxes_by_category[category].top_label_box; - lb.attr({ - x: this.x(_x + cost.low / 2) - (lb.attr('width') / 2) - }); - this.boxes_by_category[category].top_label.attr({ - x: this.x(_x + cost.low / 2) - }); - } - _x += cost.low; - } - _results = []; - for (_j = 0, _len1 = categories.length; _j < _len1; _j++) { - category = categories[_j]; - cost = categorised_costs[category]; - b[category].range.attr({ - x: this.x(_x), - width: this.x(cost.range) - this.x(0) - }); - if (cost.range > 1) { - b[category].range_label.attr({ - x: this.x(_x + cost.range / 2), - text: "" + (Math.round(cost.range)) - }); - } - _results.push(_x += cost.range); - } - return _results; - }; - - return CostsComparedOverview; - - })(); - - window.twentyfifty.views['costs_compared_overview'] = new CostsComparedOverview; - -}).call(this); -(function() { - var CostsComparedWithinSector, costsComparedWithinSectorHTML, - __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }, - __hasProp = {}.hasOwnProperty; - - costsComparedWithinSectorHTML = "
\n
NB Some costs not on default values
\n \n

\n The cost of\n a sector\n within your and other pathways.\n This is not an energy bill.\n

\n " + window.costCaveatHTML + "\n
\n " + window.costEssentialNotesHTML + "\n
"; - - CostsComparedWithinSector = (function() { - var categories, cost_component_colors; - - categories = ["Fossil fuels", "Bioenergy", "Electricity", "Buildings", "Transport", "Industry", "Finance", "Other"]; - - cost_component_colors = { - "Conventional thermal plant": { - low: "#a55194", - range: "url(/assets/images/hatches/hatch-a55194.png)" - }, - "Combustion + CCS": { - low: "#8c564b", - range: "url(/assets/images/hatches/hatch-8c564b.png)" - }, - "Storage of captured CO2": { - low: "#8c564b", - range: "url(/assets/images/hatches/hatch-8c564b.png)" - }, - "Nuclear power": { - low: "#2ca02c", - range: "url(/assets/images/hatches/hatch-2ca02c.png)" - }, - "Onshore wind": { - low: "#1f77b4", - range: "url(/assets/images/hatches/hatch-1f77b4.png)" - }, - "Offshore wind": { - low: "#ff7f0e", - range: "url(/assets/images/hatches/hatch-ff7f0e.png)" - }, - "Hydroelectric": { - low: "#d62728", - range: "url(/assets/images/hatches/hatch-d62728.png)" - }, - "Wave and Tidal": { - low: "#7f7f7f", - range: "url(/assets/images/hatches/hatch-7f7f7f.png)" - }, - "Geothermal": { - low: "#EA8BCC", - range: "url(/assets/images/hatches/hatch-EA8BCC.png)" - }, - "Distributed solar PV": { - low: "#a55194", - range: "url(/assets/images/hatches/hatch-a55194.png)" - }, - "Distributed solar thermal": { - low: "#8c564b", - range: "url(/assets/images/hatches/hatch-8c564b.png)" - }, - "Micro wind": { - low: "#2ca02c", - range: "url(/assets/images/hatches/hatch-2ca02c.png)" - }, - "Biomatter to fuel conversion": { - low: "#1f77b4", - range: "url(/assets/images/hatches/hatch-1f77b4.png)" - }, - "Bioenergy imports": { - low: "#ff7f0e", - range: "url(/assets/images/hatches/hatch-ff7f0e.png)" - }, - "Agriculture and land use": { - low: "#d62728", - range: "url(/assets/images/hatches/hatch-d62728.png)" - }, - "Energy from waste": { - low: "#7f7f7f", - range: "url(/assets/images/hatches/hatch-7f7f7f.png)" - }, - "Waste arising": { - low: "#EA8BCC", - range: "url(/assets/images/hatches/hatch-EA8BCC.png)" - }, - "Marine algae": { - low: "#a55194", - range: "url(/assets/images/hatches/hatch-a55194.png)" - }, - "Electricity imports": { - low: "#8c564b", - range: "url(/assets/images/hatches/hatch-8c564b.png)" - }, - "Electricity Exports": { - low: "#2ca02c", - range: "url(/assets/images/hatches/hatch-2ca02c.png)" - }, - "Electricity grid distribution": { - low: "#1f77b4", - range: "url(/assets/images/hatches/hatch-1f77b4.png)" - }, - "Storage, demand shifting, backup": { - low: "#ff7f0e", - range: "url(/assets/images/hatches/hatch-ff7f0e.png)" - }, - "H2 Production": { - low: "#d62728", - range: "url(/assets/images/hatches/hatch-d62728.png)" - }, - "Domestic heating": { - low: "#7f7f7f", - range: "url(/assets/images/hatches/hatch-7f7f7f.png)" - }, - "Domestic insulation": { - low: "#EA8BCC", - range: "url(/assets/images/hatches/hatch-EA8BCC.png)" - }, - "Commercial heating and cooling": { - low: "#a55194", - range: "url(/assets/images/hatches/hatch-a55194.png)" - }, - "Domestic lighting, appliances, and cooking": { - low: "#8c564b", - range: "url(/assets/images/hatches/hatch-8c564b.png)" - }, - "Commercial lighting, appliances, and catering": { - low: "#2ca02c", - range: "url(/assets/images/hatches/hatch-2ca02c.png)" - }, - "Industrial processes": { - low: "#1f77b4", - range: "url(/assets/images/hatches/hatch-1f77b4.png)" - }, - "Conventional cars and buses": { - low: "#ff7f0e", - range: "url(/assets/images/hatches/hatch-ff7f0e.png)" - }, - "Hybrid cars and buses": { - low: "#d62728", - range: "url(/assets/images/hatches/hatch-d62728.png)" - }, - "Electric cars and buses": { - low: "#7f7f7f", - range: "url(/assets/images/hatches/hatch-7f7f7f.png)" - }, - "Fuel cell cars and buses": { - low: "#EA8BCC", - range: "url(/assets/images/hatches/hatch-EA8BCC.png)" - }, - "Bikes": { - low: "#a55194", - range: "url(/assets/images/hatches/hatch-a55194.png)" - }, - "Rail": { - low: "#8c564b", - range: "url(/assets/images/hatches/hatch-8c564b.png)" - }, - "Domestic aviation": { - low: "#2ca02c", - range: "url(/assets/images/hatches/hatch-2ca02c.png)" - }, - "Domestic freight": { - low: "#1f77b4", - range: "url(/assets/images/hatches/hatch-1f77b4.png)" - }, - "International aviation": { - low: "#ff7f0e", - range: "url(/assets/images/hatches/hatch-ff7f0e.png)" - }, - "International shipping (maritime bunkers)": { - low: "#d62728", - range: "url(/assets/images/hatches/hatch-d62728.png)" - }, - "Geosequestration": { - low: "#7f7f7f", - range: "url(/assets/images/hatches/hatch-7f7f7f.png)" - }, - "Petroleum refineries": { - low: "#8c564b", - range: "url(/assets/images/hatches/hatch-8c564b.png)" - }, - "Coal": { - low: "#2ca02c", - range: "url(/assets/images/hatches/hatch-2ca02c.png)" - }, - "Oil": { - low: "#1f77b4", - range: "url(/assets/images/hatches/hatch-1f77b4.png)" - }, - "Gas": { - low: "#ff7f0e", - range: "url(/assets/images/hatches/hatch-ff7f0e.png)" - }, - "Fossil fuel transfers": { - low: "#d62728", - range: "url(/assets/images/hatches/hatch-d62728.png)" - }, - "District heating effective demand": { - low: "#7f7f7f", - range: "url(/assets/images/hatches/hatch-7f7f7f.png)" - }, - "Power Carbon Capture": { - low: "#EA8BCC", - range: "url(/assets/images/hatches/hatch-EA8BCC.png)" - }, - "Industry Carbon Capture": { - low: "#a55194", - range: "url(/assets/images/hatches/hatch-a55194.png)" - }, - "Finance cost": { - low: "#8c564b", - range: "url(/assets/images/hatches/hatch-8c564b.png)" - } - }; - - function CostsComparedWithinSector() { - this.updateBar = __bind(this.updateBar, this); - this.ready = false; - } - - CostsComparedWithinSector.prototype.setup = function() { - var all_pathways, b, c, category, code, e, format, h, lb, tick, x, y, _i, _j, _k, _l, _len, _len1, _len2, _len3, _len4, _len5, _len6, _len7, _m, _n, _o, _p, _ref, _ref1, _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _results; - if (this.ready) { - return false; - } - this.ready = true; - $('#results').append(costsComparedWithinSectorHTML); - $('#message').addClass('warning'); - $('#sectorname').html(categories[twentyfifty.getSector()]); - twentyfifty.cost_override_in_place_warning(); - all_pathways = ["chosen"].concat(twentyfifty.comparator_pathways); - this.relevant_costs = twentyfifty.costs_in_category(categories[twentyfifty.getSector()]); - e = $('#costscomparedwithinsector'); - this.h = e.height(); - this.w = e.width(); - this.r = new Raphael('costscomparedwithinsector', this.w, this.h); - this.x = d3.scale.linear().domain([0, 3000]).range([250, this.w - 30]).nice(); - this.y = d3.scale.ordinal().domain(all_pathways).rangeRoundBands([25, this.h - 20], 0.25); - _ref = twentyfifty.comparator_pathways; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - code = _ref[_i]; - this.r.rect(this.x(0), this.y(code), this.x(3000) - this.x(0), this.y.rangeBand()).attr({ - 'fill': '#ddd', - 'stroke': 'none' - }); - } - this.r.rect(25, this.y("chosen"), this.x(3000) - 25, this.y.rangeBand()).attr({ - 'fill': '#FCFF9B', - 'stroke': 'none' - }); - this.r.text(30, this.y("chosen") + 9, "Your pathway").attr({ - 'text-anchor': 'start', - 'font-weight': 'bold' - }); - this.r.text(30, this.y("chosen") + 27, "").attr({ - 'text-anchor': 'start' - }); - _ref1 = twentyfifty.comparator_pathways; - for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) { - code = _ref1[_j]; - this.r.text(30, this.y(code) + 9, twentyfifty.pathwayName(code, code)).attr({ - 'text-anchor': 'start', - 'font-weight': 'bold', - href: twentyfifty.pathwayWikiPages(code) - }); - this.r.text(30, this.y(code) + 27, twentyfifty.pathwayDescriptions(code, "")).attr({ - 'text-anchor': 'start', - href: twentyfifty.pathwayWikiPages(code) - }); - } - this.boxes = {}; - this.boxes_by_category = {}; - _ref2 = this.relevant_costs; - for (_k = 0, _len2 = _ref2.length; _k < _len2; _k++) { - category = _ref2[_k]; - this.boxes_by_category[category] = { - boxes: this.r.set(), - labels: this.r.set(), - top_label: null, - top_label_box: null - }; - } - x = this.x(0); - h = this.y.rangeBand(); - _ref3 = ["chosen"].concat(twentyfifty.comparator_pathways); - for (_l = 0, _len3 = _ref3.length; _l < _len3; _l++) { - code = _ref3[_l]; - b = {}; - y = this.y(code); - _ref4 = this.relevant_costs; - for (_m = 0, _len4 = _ref4.length; _m < _len4; _m++) { - category = _ref4[_m]; - b[category] = { - low: this.r.rect(x, y, 0, h).attr({ - 'fill': cost_component_colors[category].low, - 'stroke': 'none' - }), - low_label: this.r.text(x, y + h / 2, "").attr({ - 'fill': '#000', - 'text-anchor': 'middle' - }), - range: this.r.rect(x, y, 0, h).attr({ - 'fill': cost_component_colors[category].range, - 'stroke': 'none' - }), - range_label: this.r.text(x, y + h / 2, "").attr({ - 'fill': '#000', - 'text-anchor': 'middle' - }) - }; - c = this.boxes_by_category[category]; - c.boxes.push(b[category].low, b[category].range); - c.labels.push(b[category].low_label, b[category].range_label); - } - this.boxes[code] = b; - } - this.r.text(this.x(0), this.h - 5, "The absolute cost to society of the whole energy system (mean undiscounted real pounds per person per year 2010-2050)").attr({ - 'text-anchor': 'start', - 'font-weight': 'bold', - 'fill': '#008000' - }); - this.r.path(["M", this.x(0), 40, "L", this.x(0), this.h - 28, "L", this.w - 30, this.h - 28]).attr({ - 'stroke': '#008000', - 'stroke-width': 2 - }); - format = this.x.tickFormat(10); - _ref5 = this.x.ticks(10); - for (_n = 0, _len5 = _ref5.length; _n < _len5; _n++) { - tick = _ref5[_n]; - this.r.text(this.x(tick), this.h - 20, format(tick)).attr({ - 'text-anchor': 'middle', - fill: '#008000' - }); - this.r.path(["M", this.x(tick), 40, "L", this.x(tick), this.h - 26]).attr({ - stroke: '#fff' - }); - } - _ref6 = this.relevant_costs; - for (_o = 0, _len6 = _ref6.length; _o < _len6; _o++) { - category = _ref6[_o]; - this.boxes_by_category[category].labels.hide(); - this.boxes_by_category[category].labels.toFront(); - this.hover(this.boxes_by_category[category].boxes, category); - this.hover(this.boxes_by_category[category].labels, category); - lb = this.boxes_by_category[category].top_label = this.r.text(this.x(0) + 100, h * 0.75 / 2, category).attr({ - 'text-anchor': 'middle', - 'font-weight': 'bold' - }).hide(); - this.boxes_by_category[category].top_label_box = this.r.rect(this.x(0), 0, lb.getBBox().width + 15, h * 0.75, 5).attr({ - 'fill': '#fff', - 'stroke': cost_component_colors[category].low - }).hide(); - lb.toFront(); - } - _ref7 = twentyfifty.comparator_pathways; - _results = []; - for (_p = 0, _len7 = _ref7.length; _p < _len7; _p++) { - code = _ref7[_p]; - _results.push(twentyfifty.loadSecondaryPathway(code, this.updateBar)); - } - return _results; - }; - - CostsComparedWithinSector.prototype.hover = function(boxes, category) { - var _this = this; - return boxes.hover((function() { - return _this.show(category); - }), (function() { - return _this.hide(category); - })); - }; - - CostsComparedWithinSector.prototype.show = function(category) { - var c, _i, _len, _ref, _results; - _ref = this.relevant_costs; - _results = []; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - c = _ref[_i]; - if (c === category) { - this.boxes_by_category[c].labels.show(); - this.boxes_by_category[c].top_label_box.show(); - _results.push(this.boxes_by_category[c].top_label.show()); - } else { - _results.push(this.boxes_by_category[c].boxes.attr({ - 'fill-opacity': 0.5 - })); - } - } - return _results; - }; - - CostsComparedWithinSector.prototype.hide = function(category) { - var c, _i, _len, _ref, _results; - _ref = this.relevant_costs; - _results = []; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - c = _ref[_i]; - if (c === category) { - this.boxes_by_category[c].labels.hide(); - this.boxes_by_category[c].top_label_box.hide(); - _results.push(this.boxes_by_category[c].top_label.hide()); - } else { - _results.push(this.boxes_by_category[c].boxes.attr({ - 'fill-opacity': 1.0 - })); - } - } - return _results; - }; - - CostsComparedWithinSector.prototype.teardown = function() { - $('#results').empty(); - $('#message').removeClass('warning'); - return this.ready = false; - }; - - CostsComparedWithinSector.prototype.updateResults = function(pathway) { - if (!this.ready) { - this.setup(); - } - return this.updateBar(pathway, 'chosen'); - }; - - CostsComparedWithinSector.prototype.updateBar = function(pathway, _id) { - var b, categorised_costs, category, cost, lb, low, range, _results, _x; - if (_id == null) { - _id = pathway._id; - } - if (this.boxes == null) { - this.setupComparisonChart(); - } - if (pathway.categorised_costs == null) { - twentyfifty.group_costs_of_pathway(pathway); - } - categorised_costs = pathway.categorised_costs[categories[twentyfifty.getSector()]]; - b = this.boxes[_id]; - _x = 0; - for (category in categorised_costs) { - if (!__hasProp.call(categorised_costs, category)) continue; - cost = categorised_costs[category]; - if (!(category === "high" || category === "low" || category === "range")) { - low = cost.low_adjusted; - if (_id === 'chosen') { - lb = this.boxes_by_category[category].top_label_box; - lb.attr({ - x: this.x(_x + low / 2) - (lb.attr('width') / 2) - }); - this.boxes_by_category[category].top_label.attr({ - x: this.x(_x + low / 2) - }); - } - if (low >= 0) { - b[category].low.attr({ - x: this.x(_x), - width: this.x(low) - this.x(0) - }); - if (Math.round(low) === 0) { - b[category].low_label.attr({ - x: this.x(_x + low / 2), - text: "" - }); - } else { - b[category].low_label.attr({ - x: this.x(_x + low / 2), - text: "" + (Math.round(low)) - }); - } - _x += low; - } else { - b[category].low.attr({ - x: this.x(0), - width: this.x(0) - this.x(0) - }); - b[category].low_label.attr({ - x: this.x(0), - text: "" - }); - } - } - } - _results = []; - for (category in categorised_costs) { - if (!__hasProp.call(categorised_costs, category)) continue; - cost = categorised_costs[category]; - if (!(category === "high" || category === "low" || category === "range")) { - range = cost.range_adjusted; - low = cost.low_adjusted; - if (low >= 0) { - b[category].range.attr({ - x: this.x(_x), - width: this.x(range) - this.x(0) - }); - if (Math.round(range) === 0) { - b[category].range_label.attr({ - x: this.x(_x + range / 2), - text: "" - }); - } else { - b[category].range_label.attr({ - x: this.x(_x + range / 2), - text: "" + (Math.round(range)) - }); - } - _results.push(_x += range); - } else { - b[category].range.attr({ - x: this.x(0), - width: this.x(0) - this.x(0) - }); - _results.push(b[category].range_label.attr({ - x: this.x(0), - text: "" - })); - } - } else { - _results.push(void 0); - } - } - return _results; - }; - - return CostsComparedWithinSector; - - })(); - - window.twentyfifty.views['costs_compared_within_sector'] = new CostsComparedWithinSector; - -}).call(this); -(function() { - var CostsSensitivity, - __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; - - CostsSensitivity = (function() { - var bottom_area_start, c_low_fill_color, c_range_fill_color, color, cost_component_names, cost_component_value, cost_component_values, cost_wiki_links, costsSensitivityHTML, direction, label_components, optional_arrow, p_low_fill_color, p_range_fill_color; - - costsSensitivityHTML = "
\n \n

The cost of your pathway compared with another, allowing simple variation in cost estimates.

\n " + window.costCaveatHTML + "\n
\n " + window.costEssentialNotesHTML + "\n
"; - - bottom_area_start = 219; - - cost_component_names = ["Conventional thermal plant", "Combustion + CCS", "Nuclear power", "Onshore wind", "Offshore wind", "Hydroelectric", "Wave and Tidal", "Geothermal", "Distributed solar PV", "Distributed solar thermal", "Micro wind", "Biomatter to fuel conversion", "Bioenergy imports", "Agriculture and land use", "Energy from waste", "Waste arising", "Marine algae", "Electricity imports", "Electricity Exports", "Electricity grid distribution", "Storage, demand shifting, backup", "H2 Production", "Domestic heating", "Domestic insulation", "Commercial heating and cooling", "Domestic lighting, appliances, and cooking", "Commercial lighting, appliances, and catering", "Industrial processes", "Conventional cars and buses", "Hybrid cars and buses", "Electric cars and buses", "Fuel cell cars and buses", "Bikes", "Rail", "Domestic aviation", "Domestic freight", "International aviation", "International shipping (maritime bunkers)", "Geosequestration", "Petroleum refineries", "Fossil fuel transfers", "District heating effective demand", "Storage of captured CO2", "Coal", "Oil", "Gas", "Finance cost"]; - - cost_wiki_links = { - "Fuel cell cars and buses": '/pages/63', - "Conventional cars and buses": '/pages/63', - "Hybrid cars and buses": '/pages/63', - "Gas": '/pages/13', - "Electric cars and buses": '/pages/63', - "Domestic insulation": '/pages/31', - "Wave and Tidal": '/pages/38', - "Finance cost": '/pages/28', - "Industrial processes": '/pages/24', - "Domestic heating": '/pages/31', - "Offshore wind": '/pages/6', - "Commercial heating and cooling": '/pages/44', - "Oil": '/pages/13', - "Conventional thermal plant": '/pages/42', - "Distributed solar PV": '/pages/40', - "Nuclear power": '/pages/7', - "Bioenergy imports": '/pages/3', - "Agriculture and land use": '/pages/19', - "Carbon Storage": '/pages/36', - "Fossil fuel transfers": '/pages/12', - "H2 Production": '/pages/43', - "Combustion + CCS": '/pages/8', - "Storage of captured CO2": '/pages/36', - "Biomatter to fuel conversion": '/pages/26', - "Electricity grid distribution": '/pages/11', - "Storage, demand shifting, backup": '/pages/10', - "Onshore wind": '/pages/5', - "Electricity Exports": '/pages/32', - "Energy from waste": '/pages/19', - "Waste arising": '/pages/27', - "Distributed solar thermal": '/pages/31', - "Domestic freight": '/pages/64', - "Coal": '/pages/13', - "Geothermal": '/pages/39', - "Micro wind": '/pages/56', - "District heating effective demand": '/pages/30', - "Commercial lighting, appliances, and catering": '/pages/23', - "Marine algae": '/pages/17', - "Rail": '/pages/63', - "Hydroelectric": '/pages/9', - "Domestic aviation": '/pages/63', - "Domestic lighting, appliances, and cooking": '/pages/46', - "Geosequestration": '/pages/29', - "Petroleum refineries": '/pages/25', - "International shipping (maritime bunkers)": '/pages/71', - "International aviation": '/pages/70', - "Bikes": '/pages/63', - "Electricity imports": '/pages/32' - }; - - cost_component_values = { - "Oil": { - cheap: "$75/bbl", - "default": "$130/bbl", - expensive: "$170/bbl" - }, - "Coal": { - cheap: "$80/tCoal", - "default": "$110/tCoal", - expensive: "$155/tCoal" - }, - "Gas": { - cheap: "45p/therm", - "default": "70p/therm", - expensive: "100p/therm" - }, - "Finance cost": { - cheap: "None", - "default": "7% real", - expensive: "10% real" - } - }; - - cost_component_value = function(name) { - return cost_component_values[name] || { - cheap: "Cheap", - "default": "Default", - expensive: "Today's cost" - }; - }; - - direction = function(value) { - if (value > 0) { - return "more expensive"; - } - return "cheaper"; - }; - - color = function(value) { - if (value > 0) { - return "#f00"; - } - return "#0f0"; - }; - - p_low_fill_color = '#1f77b4'; - - p_range_fill_color = 'url(/assets/images/hatches/hatch-1f77b4.png)'; - - c_low_fill_color = '#f00'; - - c_range_fill_color = 'url(/assets/images/hatches/hatch-f00.png)'; - - function CostsSensitivity() { - this.updateComparator = __bind(this.updateComparator, this); - this.updateResults = __bind(this.updateResults, this); - this.ready = false; - } - - CostsSensitivity.prototype.setup = function() { - if (this.ready) { - return false; - } - this.ready = true; - $("#results").append(costsSensitivityHTML); - $('#message').addClass('warning'); - this.drawChart(); - return this.switchComparator(twentyfifty.getComparator() || twentyfifty.default_comparator_code); - }; - - CostsSensitivity.prototype.teardown = function() { - $('#results').empty(); - $('#message').removeClass('warning'); - return this.ready = false; - }; - - CostsSensitivity.prototype.updateResults = function(pathway) { - this.pathway = pathway; - if (!this.ready) { - this.setup(); - } - if (this.pathway.total_cost_low_adjusted == null) { - twentyfifty.adjust_costs_of_pathway(this.pathway); - } - this.sortComponents(); - this.updateBar(this.top_pathway_chart, this.pathway.total_cost_low_adjusted, this.pathway.total_cost_range_adjusted); - return this.updateIncrement(); - }; - - CostsSensitivity.prototype.switchComparator = function(code) { - return twentyfifty.loadSecondaryPathway(code, this.updateComparator); - }; - - CostsSensitivity.prototype.updateComparator = function(comparator) { - this.comparator = comparator; - if (this.comparator.total_cost_low_adjusted == null) { - twentyfifty.adjust_costs_of_pathway(this.comparator); - } - this.updateBar(this.top_comparator_chart, this.comparator.total_cost_low_adjusted, this.comparator.total_cost_range_adjusted); - this.top_comparator_chart.name.attr({ - text: twentyfifty.pathwayName(this.comparator._id, this.comparator._id), - href: twentyfifty.pathwayWikiPages(this.comparator._id) - }); - this.top_comparator_chart.description.attr({ - text: twentyfifty.pathwayDescriptions(this.comparator._id, ""), - href: twentyfifty.pathwayWikiPages(this.comparator._id) - }); - this.key_label.attr({ - text: "The cost in '" + (twentyfifty.pathwayName(this.comparator._id, this.comparator._id)) + "'" - }); - if (this.pathway != null) { - this.updateIncrement(); - return this.updateComponents(false, true); - } - }; - - CostsSensitivity.prototype.updateToBarForNewCost = function() { - this.updateBar(this.top_pathway_chart, this.pathway.total_cost_low_adjusted, this.pathway.total_cost_range_adjusted); - this.updateBar(this.top_comparator_chart, this.comparator.total_cost_low_adjusted, this.comparator.total_cost_range_adjusted); - return this.updateIncrement(); - }; - - CostsSensitivity.prototype.updateIncrement = function() { - var average, c, i, i1, i2, max, min, p; - if (!((this.pathway != null) && (this.comparator != null))) { - return; - } - p = this.pathway; - c = this.comparator; - i = twentyfifty.calculateIncrementalCost(p, c); - min = Math.min(p.total_cost_low_adjusted, c.total_cost_low_adjusted); - max = Math.max(p.total_cost_high_adjusted, c.total_cost_high_adjusted); - average = (min + max) / 2; - i1 = i.tc - i.cc; - i2 = i.tt - i.ct; - if (i1 === i2) { - this.increment_arrows.low.hide(); - this.increment_arrows.high.hide(); - this.increment_arrows.range_message.hide(); - this.increment_arrows.low_value.hide(); - this.increment_arrows.high_value.hide(); - this.increment_arrows.single.attr({ - path: ["M", this.x(p.total_cost_low_adjusted - i1), this.top_y('i') + this.top_bar_height * 0.5, "L", this.x(p.total_cost_low_adjusted), this.top_y('i') + this.top_bar_height * 0.5], - stroke: color(i2), - fill: color(i2) - }); - this.increment_arrows.single_value.attr({ - x: this.x(max) + 3, - text: "£" + (Math.round(Math.abs(i1))) + "/person/year " + (direction(i1)) - }); - optional_arrow(this.increment_arrows.single, i1); - this.increment_arrows.single.show(); - return this.increment_arrows.single_value.show(); - } else { - this.increment_arrows.single.hide(); - this.increment_arrows.single_value.hide(); - this.increment_arrows.low.attr({ - path: ["M", this.x(average - i2 / 2), this.top_y('i') + this.top_bar_height * 0.25, "L", this.x(average + i2 / 2), this.top_y('i') + this.top_bar_height * 0.25], - stroke: color(i2), - fill: color(i2) - }); - this.increment_arrows.high.attr({ - path: ["M", this.x(average - i1 / 2), this.top_y('i') + this.top_bar_height * 0.75, "L", this.x(average + i1 / 2), this.top_y('i') + this.top_bar_height * 0.75], - stroke: color(i1), - fill: color(i1) - }); - this.increment_arrows.range_message.attr({ - x: this.x(min) - 3 - }); - this.increment_arrows.low_value.attr({ - x: this.x(max) + 3, - text: "£" + (Math.round(Math.abs(i2))) + "/person/year " + (direction(i2)) + " and" - }); - this.increment_arrows.high_value.attr({ - x: this.x(max) + 3, - text: "£" + (Math.round(Math.abs(i1))) + "/person/year " + (direction(i1)) - }); - optional_arrow(this.increment_arrows.low, i2); - optional_arrow(this.increment_arrows.high, i1); - this.increment_arrows.low.show(); - this.increment_arrows.high.show(); - this.increment_arrows.range_message.show(); - this.increment_arrows.low_value.show(); - return this.increment_arrows.high_value.show(); - } - }; - - optional_arrow = function(arrow, value) { - if (Math.abs(value) > 200) { - return arrow.attr({ - 'arrow-end': 'classic-narrow-short' - }); - } else { - return arrow.attr({ - 'arrow-end': 'none' - }); - } - }; - - label_components = { - labels: ['name', 'details', 'cheap', 'default', 'expensive', 'uncertain'], - boxes: ['details_box', 'cheap_box', 'default_box', 'expensive_box', 'uncertain_box'] - }; - - CostsSensitivity.prototype.sortComponents = function() { - var a, bar_offset, component, cy, ly, name, p, py, y, _i, _j, _k, _len, _len1, _len2, _ref, _ref1; - p = this.pathway.cost_components; - bar_offset = this.bar_offset; - cost_component_names.sort(function(a, b) { - return p[b].high_adjusted - p[a].high_adjusted; - }); - this.bottom_y = y = d3.scale.ordinal().domain(cost_component_names).rangeRoundBands([bottom_area_start, this.h], 0.25); - for (_i = 0, _len = cost_component_names.length; _i < _len; _i++) { - name = cost_component_names[_i]; - component = this.components[name]; - py = y(name); - cy = py + bar_offset; - ly = py + (y.rangeBand() / 2); - _ref = label_components.labels; - for (_j = 0, _len1 = _ref.length; _j < _len1; _j++) { - a = _ref[_j]; - component[a].attr({ - y: ly - }); - } - _ref1 = label_components.boxes; - for (_k = 0, _len2 = _ref1.length; _k < _len2; _k++) { - a = _ref1[_k]; - component[a].attr({ - y: py - }); - } - component.pathway.low.attr({ - y: py - }); - component.pathway.range.attr({ - y: py - }); - component.comparator.low.attr({ - y: cy - }); - component.comparator.range.attr({ - y: cy - }); - } - return this.updateComponents(); - }; - - CostsSensitivity.prototype.updateComponents = function(update_pathway, update_comparator) { - var name, _i, _len, _results; - if (update_pathway == null) { - update_pathway = true; - } - if (update_comparator == null) { - update_comparator = true; - } - if (!(this.pathway || this.comparator)) { - return; - } - _results = []; - for (_i = 0, _len = cost_component_names.length; _i < _len; _i++) { - name = cost_component_names[_i]; - _results.push(this.updateComponentNamed(name, update_pathway, update_comparator)); - } - return _results; - }; - - CostsSensitivity.prototype.updateComponentNamed = function(name, update_pathway, update_comparator) { - var a, c, chosen, component, cy, p, py, setting, _i, _len, _ref; - if (update_pathway == null) { - update_pathway = true; - } - if (update_comparator == null) { - update_comparator = true; - } - component = this.components[name]; - if (update_pathway && (this.pathway != null)) { - p = this.pathway.cost_components[name]; - py = this.bottom_y(name); - this.updateBar(component.pathway, p.low_adjusted, p.range_adjusted); - component.pathway.uncertainty.attr({ - path: ["M", this.x(p.low), py, "L", this.x(p.high), py] - }); - } - if (update_comparator && (this.comparator != null)) { - c = this.comparator.cost_components[name]; - cy = this.bottom_y(name) + this.bar_offset; - this.updateBar(component.comparator, c.low_adjusted, c.range_adjusted); - component.comparator.uncertainty.attr({ - path: ["M", this.x(c.low), cy, "L", this.x(c.high), cy] - }); - } - setting = $.jStorage.get(name); - _ref = ['details', 'cheap', 'default', 'expensive', 'uncertain', 'details_box', 'cheap_box', 'default_box', 'expensive_box', 'uncertain_box']; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - a = _ref[_i]; - component[a].attr({ - 'font-weight': 'normal' - }); - } - if ((setting == null) || setting === 'point') { - chosen = component["default"]; - } else if (setting === 'uncertain') { - chosen = component.uncertain; - } else if (setting === 0) { - chosen = component.cheap; - } else if (setting === 1) { - chosen = component.expensive; - } - return chosen.attr({ - 'font-weight': 'bold' - }); - }; - - CostsSensitivity.prototype.updateBar = function(bar, low, range) { - if (low < 0) { - bar.low.attr({ - x: this.x(low + range), - width: this.w(Math.abs(range)) - }); - } else { - bar.low.attr({ - width: this.w(low) - }); - } - if (range < 0) { - return bar.range.attr({ - x: this.x(low + range), - width: this.w(Math.abs(range)) - }); - } else { - return bar.range.attr({ - x: this.x(low), - width: this.w(range) - }); - } - }; - - CostsSensitivity.prototype.w = function(value) { - return this.x(value) - this.x(0); - }; - - CostsSensitivity.prototype.drawChart = function() { - var bar_height, bar_offset, box_attr, boxy, component, components, cy, e, format, h, increment, labels, ly, name, py, r, sensitivity_label_height, sensitivity_label_width, tick, url, w, x, y, _i, _j, _k, _len, _len1, _len2, _ref, - _this = this; - e = $('#costssensitivity'); - this.h = h = e.height(); - w = e.width(); - r = new Raphael('costssensitivity', w, h); - this.x = x = d3.scale.linear().domain([0, 10000]).range([250, w - 30]).nice(); - this.top_y = y = d3.scale.ordinal().domain(['p', 'i', 'c']).rangeRoundBands([30, 180], 0.15); - r.text(x(5000), 17, "The mean cost to society of the whole energy system in undiscounted real pounds per person 2010-2050").attr({ - 'text-anchor': 'center', - 'font-weight': 'bold' - }); - this.top_bar_height = bar_height = y.rangeBand(); - r.rect(25, y('p'), x(10000) - 25, bar_height).attr({ - 'fill': '#FCFF9B', - 'stroke': 'none' - }); - r.text(30, y("p") + 9, "Your pathway").attr({ - 'text-anchor': 'start', - 'font-weight': 'bold' - }); - r.text(30, y("p") + 27, "You can use the chart below to see how\nsensitive it is to different cost assumptions").attr({ - 'text-anchor': 'start' - }); - this.top_pathway_chart = { - low: r.rect(x(0), y('p'), 0, bar_height).attr({ - 'fill': p_low_fill_color, - 'stroke': 'none' - }), - range: r.rect(x(0), y('p'), 0, bar_height).attr({ - 'fill': p_range_fill_color, - 'stroke': 'none' - }) - }; - r.rect(x(0), y('c'), x(10000) - x(0), bar_height).attr({ - 'fill': '#ddd', - 'stroke': 'none' - }); - this.top_comparator_chart = { - name: r.text(30, y('c') + 9, "").attr({ - 'text-anchor': 'start', - 'font-weight': 'bold' - }), - description: r.text(30, y('c') + 27, "").attr({ - 'text-anchor': 'start' - }), - low: r.rect(x(0), y('c'), 0, bar_height).attr({ - 'fill': c_low_fill_color, - 'stroke': 'none' - }), - range: r.rect(x(0), y('c'), 0, bar_height).attr({ - 'fill': c_range_fill_color, - 'stroke': 'none' - }) - }; - r.setStart(); - this.increment_arrows = { - single: r.path(["M", 0, 0, "L", 0, 0]).attr({ - 'stroke-width': '15' - }), - single_value: r.text(0, y('i') + bar_height / 2, "").attr({ - 'text-anchor': 'start' - }), - range_message: r.text(0, y('i') + bar_height / 2, "Some costs are uncertain, therefore your pathway could be between").attr({ - 'text-anchor': 'end' - }), - low: r.path(["M", 0, 0, "L", 0, 0]).attr({ - 'stroke-width': '10' - }), - high: r.path(["M", 0, 0, "L", 0, 0]).attr({ - 'stroke-width': '10' - }), - low_value: r.text(0, y('i') + bar_height * 0.25, "").attr({ - 'text-anchor': 'start' - }), - high_value: r.text(0, y('i') + bar_height * 0.75, "").attr({ - 'text-anchor': 'start' - }) - }; - increment = r.setFinish(); - increment.hide(); - this.bottom_y = y = d3.scale.ordinal().domain(cost_component_names).rangeRoundBands([bottom_area_start, h], 0.25); - bar_height = (y.rangeBand() - 2) / 2; - this.bar_offset = bar_offset = ((y.rangeBand() - 2) / 2) + 2; - components = {}; - for (_i = 0, _len = cost_component_names.length; _i < _len; _i++) { - name = cost_component_names[_i]; - py = y(name); - r.rect(x(0), py, x(10000) - x(0), y.rangeBand()).attr({ - 'fill': '#ddd', - 'stroke': 'none' - }); - } - sensitivity_label_height = y.rangeBand(); - sensitivity_label_width = this.w(1000) - 2; - box_attr = { - fill: '#fff', - stroke: '#000', - 'fill-opacity': 0, - 'stroke-opacity': 0 - }; - for (_j = 0, _len1 = cost_component_names.length; _j < _len1; _j++) { - name = cost_component_names[_j]; - py = y(name); - cy = py + bar_offset; - ly = py + (y.rangeBand() / 2); - boxy = py; - component = {}; - url = "http://2050-calculator-tool-wiki.decc.gov.uk" + (cost_wiki_links[name] || "/"); - component.name = r.text(245, ly, name).attr({ - 'text-anchor': 'end', - href: url - }); - component.pathway = {}; - component.pathway.low = r.rect(x(0), py, 0, bar_height).attr({ - 'fill': p_low_fill_color, - 'stroke': 'none' - }); - component.pathway.range = r.rect(x(0), py, 0, bar_height).attr({ - 'fill': p_range_fill_color, - 'stroke': 'none' - }); - component.pathway.uncertainty = r.path(["M", 0, 0, "L", 0, 0]).attr({ - stroke: '#000', - 'arrow-end': "classic-narrow-long", - 'arrow-start': "classic-narrow-long" - }); - component.comparator = {}; - component.comparator.low = r.rect(x(0), cy, 0, bar_height).attr({ - 'fill': c_low_fill_color, - 'stroke': 'none' - }); - component.comparator.range = r.rect(x(0), cy, 0, bar_height).attr({ - 'fill': c_range_fill_color, - 'stroke': 'none' - }); - component.comparator.uncertainty = r.path(["M", 0, 0, "L", 0, 0]).attr({ - stroke: '#000', - 'arrow-end': "classic-narrow-long", - 'arrow-start': "classic-narrow-long" - }); - labels = cost_component_value(name); - component.details = r.text(x(5500), ly, "See assumptions").attr({ - 'text-anchor': 'middle', - href: url - }); - component.details_box = r.rect(x(5000), py, sensitivity_label_width, sensitivity_label_height).attr({ - fill: '#ccc', - opacity: 0, - cursor: 'pointer', - href: url - }); - component.cheap = r.text(x(6500), ly, labels.cheap).attr({ - 'text-anchor': 'middle' - }); - component.cheap_box = r.rect(x(6000) + 1, boxy, sensitivity_label_width, sensitivity_label_height).attr(box_attr); - component["default"] = r.text(x(7500), ly, labels["default"]).attr({ - 'text-anchor': 'middle' - }); - component.default_box = r.rect(x(7000) + 1, boxy, sensitivity_label_width, sensitivity_label_height).attr(box_attr); - component.expensive = r.text(x(8500), ly, labels.expensive).attr({ - 'text-anchor': 'middle' - }); - component.expensive_box = r.rect(x(8000) + 1, boxy, sensitivity_label_width, sensitivity_label_height).attr(box_attr); - component.uncertain = r.text(x(9500), ly, "Uncertain").attr({ - 'text-anchor': 'middle' - }); - component.uncertain_box = r.rect(x(9000) + 1, boxy, sensitivity_label_width, sensitivity_label_height).attr(box_attr); - this.clickToChangeCost(component.cheap_box, name, 0); - this.clickToChangeCost(component.default_box, name, "point"); - this.clickToChangeCost(component.expensive_box, name, 1); - this.clickToChangeCost(component.uncertain_box, name, "uncertain"); - components[name] = component; - } - this.components = components; - format = x.tickFormat(10); - _ref = x.ticks(10); - for (_k = 0, _len2 = _ref.length; _k < _len2; _k++) { - tick = _ref[_k]; - r.text(x(tick), 30, format(tick)).attr({ - 'text-anchor': 'middle' - }); - r.path(["M", x(tick), 40, "L", x(tick), h]).attr({ - stroke: '#fff' - }); - } - r.text(30, 205, "The biggest costs in your pathway").attr({ - 'text-anchor': 'start', - 'font-weight': 'bold' - }); - r.path(["M", 32, 212, "L", 32, 300]).attr({ - stroke: '#000', - 'arrow-end': "classic-wide-long" - }); - r.rect(250, 205, 30, bar_height).attr({ - 'fill': p_low_fill_color, - 'stroke': 'none' - }); - r.text(285, 208, "The cost in your pathway").attr({ - 'text-anchor': 'start', - 'font-weight': 'normal' - }); - r.rect(250, 215, 30, bar_height).attr({ - 'fill': c_low_fill_color, - 'stroke': 'none' - }); - this.key_label = r.text(285, 218, "The cost in your comparator").attr({ - 'text-anchor': 'start', - 'font-weight': 'normal' - }); - r.path(["M", 250, 228, "L", 280, 228]).attr({ - stroke: '#000', - 'arrow-end': "classic-wide-long", - 'arrow-start': 'classic-wide-short' - }); - r.text(285, 228, "The range of cost estimates").attr({ - 'text-anchor': 'start', - 'font-weight': 'normal' - }); - r.text(x(7500), 220, "Try different cost scenarios").attr({ - 'text-anchor': 'middle', - 'font-weight': 'bold' - }); - r.text(x(6500), 233, "Cheap"); - r.path(["M", x(7000), 233, "L", x(8000) - 2, 233]).attr({ - stroke: '#000', - 'arrow-end': "classic-wide-long" - }); - r.text(x(8500), 233, "Expensive"); - r.text(w - 30, 233, "(reset)").attr({ - 'text-anchor': 'end', - cursor: 'pointer' - }).click(function() { - var _l, _len3; - for (_l = 0, _len3 = cost_component_names.length; _l < _len3; _l++) { - name = cost_component_names[_l]; - jQuery.jStorage.set(name, 'point'); - } - twentyfifty.adjust_costs_of_pathway(_this.pathway); - twentyfifty.adjust_costs_of_pathway(_this.comparator); - _this.updateComponents(); - return _this.updateToBarForNewCost(); - }); - return increment.toFront(); - }; - - CostsSensitivity.prototype.clickToChangeCost = function(element, name, level) { - var _this = this; - element.click(function() { - jQuery.jStorage.set(name, level); - twentyfifty.adjust_costs_of_pathway(_this.pathway); - twentyfifty.adjust_costs_of_pathway(_this.comparator); - _this.updateComponentNamed(name); - return _this.updateToBarForNewCost(); - }); - element.hover((function() { - return this.attr({ - 'stroke-opacity': 1.0 - }); - }), (function() { - return this.attr({ - 'stroke-opacity': 0.0 - }); - })); - return element.attr({ - cursor: 'pointer' - }); - }; - - return CostsSensitivity; - - })(); - - window.twentyfifty.views['costs_sensitivity'] = new CostsSensitivity; - -}).call(this); -(function() { - var Story, - __slice = [].slice, - __hasProp = {}.hasOwnProperty; - - Story = (function() { - function Story() { - this.ready = false; - } - - Story.prototype.setup = function() { - $("#results").append("
"); - return this.ready = true; - }; - - Story.prototype.teardown = function() { - $("#results").empty(); - return this.ready = false; - }; - - Story.prototype.updateResults = function(pathway) { - var element; - this.pathway = pathway; - if (!this.ready) { - this.setup(); - } - this.choices = twentyfifty.choices; - element = $('#demand_story'); - element.empty(); - this.stories_for_choices(element, "Homes in 2050", 32, 33, 37, 38); - this.heating_choice_table(element, this.pathway.heating.residential); - this.stories_for_choices(element, "Personal transport in 2050", 25, 26, 27, 29); - this.stories_for_choices(element, "Businesses in 2050", 43, 47, 48); - this.heating_choice_table(element, this.pathway.heating.commercial); - this.stories_for_choices(element, "Industry in 2050", 40, 41); - this.stories_for_choices(element, "Commercial transport in 2050", 28, 29, 30); - element = $('#supply_story'); - element.empty(); - this.stories_for_choices(element, "Thermal power stations in 2050", 0, 2, 3, 9, 12); - this.stories_for_choices(element, "Wind in 2050", 4, 5, 14); - this.stories_for_choices(element, "Water: wave, tide and hydro in 2050", 6, 7, 8, 13); - this.stories_for_choices(element, "Solar in 2050", 10, 11, 15); - this.stories_for_choices(element, "Bioenergy, farming and waste in 2050", 22, 17, 18, 19, 20, 21); - element = $('#ghg_story'); - element.empty(); - this.electricity_generation_capacity_table(element); - element.append("

Greenhouse gases

"); - element.append("

2050 emissions will be " + this.pathway.ghg.percent_reduction_from_1990 + "% below 1990 levels.

"); - element.append("

International aviation and shipping emissions are not included in the UK's 2050 target but are included here to enable emissions from all sectors to be considered.

"); - this.stories_for_choices(element, null, 50); - element.append("

Energy security

"); - this.stories_for_choices(element, null, 51); - element.append("

If there are five cold, almost windless, winter days, then up to " + (Math.round(this.pathway.electricity.peaking)) + " GW of backup generation capacity will be required to ensure that electricity is always available.

"); - return this.stories_for_choices(element, null, 22, 15); - }; - - Story.prototype.stories_for_choices = function() { - var choice, element, row, rows, text, title, _i, _len; - element = arguments[0], title = arguments[1], rows = 3 <= arguments.length ? __slice.call(arguments, 2) : []; - if (title != null) { - element.append("

" + title + "

"); - } - text = []; - for (_i = 0, _len = rows.length; _i < _len; _i++) { - row = rows[_i]; - choice = choices[row] - 1; - if (choice % 1 === 0.0) { - text.push(window.twentyfifty.longDescriptions[row][choice]); - } else { - text.push("Between " + window.twentyfifty.longDescriptions[row][Math.floor(choice)] + " and " + window.twentyfifty.longDescriptions[row][Math.ceil(choice)]); - } - } - return element.append("

" + (text.join(". ")) + ".

"); - }; - - Story.prototype.heating_choice_table = function(element, heat) { - var html, name, value, values, _i, _len; - html = []; - html.push(""); - html.push(""); - values = []; - for (name in heat) { - if (!__hasProp.call(heat, name)) continue; - value = heat[name]; - values.push({ - name: name, - value: value - }); - } - values.sort(function(a, b) { - return a.value - b.value; - }); - for (_i = 0, _len = values.length; _i < _len; _i++) { - value = values[_i]; - if (value.value > 0.01) { - html.push(""); - } - } - html.push("
Type of heater2050 proportion of heating
" + value.name + "" + (Math.round(value.value * 100)) + "%
"); - return element.append(html.join('')); - }; - - Story.prototype.electricity_generation_capacity_table = function(element) { - var data, html, name, value, values, _i, _len, _ref; - html = []; - html.push(""); - html.push(""); - values = []; - _ref = this.pathway.electricity.capacity; - for (name in _ref) { - if (!__hasProp.call(_ref, name)) continue; - data = _ref[name]; - values.push({ - name: name, - d2010: data[0], - d2050: data[8] - }); - } - values.sort(function(a, b) { - return a.d2050 - b.d2050; - }); - for (_i = 0, _len = values.length; _i < _len; _i++) { - value = values[_i]; - if ((value.d2010 + value.d2050) !== 0.0) { - html.push(""); - } - } - html.push("
GW Capacity20102050
" + value.name + "" + (Math.round(value.d2010)) + "" + (Math.round(value.d2050)) + "
"); - return element.append(html.join('')); - }; - - return Story; - - })(); - - window.twentyfifty.views['story'] = new Story; - -}).call(this); -(function() { - var FilledBoxChart, SimpleSankeyDisplay, VectorChart, - __hasProp = {}.hasOwnProperty, - __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; - - FilledBoxChart = function(r, px, py, h, w, maximum_value, square_size, titles) { - var box, boxes, cols, gx, gy, i, inverse_x, label, labels, path, row_size, rows, setValues, title, x, y, _i, _j, _k, _len, _x, _x_end, _x_origin, _y; - rows = cols = Math.ceil(Math.sqrt(maximum_value / square_size)); - row_size = cols * square_size; - x = d3.scale.linear().domain([0, row_size]).range([px, px + w]); - inverse_x = d3.scale.linear().domain([0, row_size]).range([px + w, px]); - y = d3.scale.linear().domain([0, maximum_value]).range([h + py, py]); - _x = function(value) { - if (Math.floor(value / row_size) % 2 === 0) { - return x(value % row_size); - } else { - return inverse_x(value % row_size); - } - }; - _y = function(value) { - return y(Math.floor(value / row_size) * row_size); - }; - _x_origin = function(value) { - if (Math.floor(value / row_size) % 2 === 0) { - return x(0); - } else { - return inverse_x(0); - } - }; - _x_end = function(value) { - if (Math.floor(value / row_size) % 2 === 0) { - return x(row_size); - } else { - return inverse_x(row_size); - } - }; - path = function(start, end) { - var p; - if (_y(end) === _y(start)) { - return p = ["M", _x(start), _y(start), "L", _x(end), _y(end), "L", _x(end), _y(end + row_size), "L", _x(start), _y(end + row_size), "Z"]; - } else if (_y(end) === _y(start + row_size)) { - return p = ["M", _x(start), _y(start), "L", _x_end(start), _y(start), "L", _x_end(start), _y(end + row_size), "L", _x(end), _y(end + row_size), "L", _x(end), _y(end), "L", _x(start), _y(end), "Z"]; - } else if ((Math.floor(start / row_size) % 2) !== (Math.floor(end / row_size) % 2)) { - return p = ["M", _x(start), _y(start), "L", _x_end(start), _y(start), "L", _x_end(start), _y(end + row_size), "L", _x(end), _y(end + row_size), "L", _x(end), _y(end), "L", _x_end(end), _y(end), "L", _x_end(end), _y(start + row_size), "L", _x(start), _y(start + row_size), "L", _x(start), _y(start), "Z"]; - } else { - return p = ["M", _x(start), _y(start), "L", _x_end(start), _y(start), "L", _x_end(start), _y(end), "L", _x(end), _y(end), "L", _x(end), _y(end + row_size), "L", _x_origin(end), _y(end + row_size), "L", _x_origin(end), _y(start + row_size), "L", _x(start), _y(start + row_size), "L", _x(start), _y(start), "Z"]; - } - }; - for (gy = _i = 0; row_size > 0 ? _i <= maximum_value : _i >= maximum_value; gy = _i += row_size) { - r.path(["M", x(0), y(gy), "L", x(row_size), y(gy)]).attr({ - stroke: '#ccc' - }); - for (gx = _j = 0; square_size > 0 ? _j <= row_size : _j >= row_size; gx = _j += square_size) { - r.path(["M", x(gx), y(0), "L", x(gx), y(maximum_value)]).attr({ - stroke: '#ccc' - }); - } - } - boxes = {}; - labels = {}; - label = function(name, start, value) { - var l; - l = r.text(_x(start + value / 2), _y(start + value / 2), name); - l.hide(); - return l; - }; - box = function(name, start, value, color) { - var b; - if (color == null) { - color = "#0f0"; - } - b = r.path(path(start, start + value)).attr({ - 'stroke': '#000', - fill: color, - 'fill-opacity': 0.5, - 'stroke-width': '1' - }); - return b.hover(function() { - labels[name].show(); - return this.attr({ - 'fill-opacity': 0.75 - }); - }, function() { - labels[name].hide(); - return this.attr({ - 'fill-opacity': 0.5 - }); - }); - }; - for (i = _k = 0, _len = titles.length; _k < _len; i = ++_k) { - title = titles[i]; - boxes[title] = box(title, 0, 0, "#" + i + i + i); - labels[title] = label(title, 0, 0); - } - setValues = function(values) { - var name, sum, value, _results; - sum = 0; - _results = []; - for (name in values) { - if (!__hasProp.call(values, name)) continue; - value = values[name]; - boxes[name].attr({ - path: path(sum, sum + value) - }); - labels[name].attr({ - x: (_x(sum) + _x(sum + value)) / 2, - y: (_y(sum) + _y(sum + value)) / 2 - }); - _results.push(sum += value); - } - return _results; - }; - return { - box: box, - setValues: setValues - }; - }; - - VectorChart = function(r, px, py, h, w, maximum_value, square_size, titles) { - var box, boxes, cols, gx, gy, i, label, labels, row_size, rows, setValues, spacing, title, x, y, _i, _j, _k, _len; - rows = cols = Math.ceil(Math.sqrt(maximum_value / square_size)); - row_size = cols * square_size; - spacing = row_size * 0.1; - x = d3.scale.linear().domain([0, row_size]).range([px, px + w]); - y = d3.scale.linear().domain([0, maximum_value]).range([h + py, py]); - for (gy = _i = 0; row_size > 0 ? _i <= maximum_value : _i >= maximum_value; gy = _i += row_size) { - r.path(["M", x(0), y(gy), "L", x(row_size), y(gy)]).attr({ - stroke: '#ccc' - }); - for (gx = _j = 0; square_size > 0 ? _j <= row_size : _j >= row_size; gx = _j += square_size) { - r.path(["M", x(gx), y(0), "L", x(gx), y(maximum_value)]).attr({ - stroke: '#ccc' - }); - } - } - boxes = {}; - labels = {}; - label = function(name, start, value) { - var l; - l = r.text(x(row_size / 2), y(start + value / 2), name); - l.hide(); - return l; - }; - box = function(name, start, value, color) { - var b; - if (color == null) { - color = "#0f0"; - } - if (name === "Oil") { - b = r.path(["M", x(0), y(start + value / 2), "L", x(row_size), y(start + value / 2)]).attr({ - "stroke": '#F00', - 'stroke-width': y(start) - y(start + value) - }); - } else { - b = r.rect(x(0), y(start), x(row_size) - x(0), y(start + value) - y(start)).attr({ - 'stroke': '#000', - fill: color, - 'fill-opacity': 0.5, - 'stroke-width': '1' - }); - } - return b.hover(function() { - labels[name].show(); - return this.attr({ - 'fill-opacity': 0.75 - }); - }, function() { - labels[name].hide(); - return this.attr({ - 'fill-opacity': 0.5 - }); - }); - }; - for (i = _k = 0, _len = titles.length; _k < _len; i = ++_k) { - title = titles[i]; - boxes[title] = box(title, 0, 0, "#" + i + i + i); - labels[title] = label(title, 0, 0); - } - setValues = function(values) { - var name, sum, value, _results; - sum = 0; - _results = []; - for (name in values) { - if (!__hasProp.call(values, name)) continue; - value = values[name]; - boxes[name].attr({ - y: y(sum + value), - height: y(sum) - y(sum + value) - }); - labels[name].attr({ - x: x(sum + (value / 2)), - y: y(sum + value / 2) - }); - if (value > 0) { - _results.push(sum += value + spacing); - } else { - _results.push(void 0); - } - } - return _results; - }; - return { - box: box, - setValues: setValues - }; - }; - - SimpleSankeyDisplay = (function() { - var demand_titles, supply_titles, vector_titles; - - supply_titles = ["Nuclear fission", "Solar", "Wind", "Tidal", "Wave", "Geothermal", "Hydro", "Electricity oversupply (imports)", "Environmental heat", "Bioenergy", "Coal", "Oil", "Natural gas"]; - - demand_titles = ['Industry', 'Transport', 'Heating and cooling', 'Lighting & appliances']; - - vector_titles = ["Electricity", "Gas or biogas", "Coal or biomass", "Oil or biofuel", "Hydrogen", "Heat", "Overgeneration or exports", "Losses"]; - - function SimpleSankeyDisplay() { - this.documentReady = __bind(this.documentReady, this); - } - - SimpleSankeyDisplay.prototype.documentReady = function() { - var width; - if (this.drawn != null) { - return false; - } - this.drawn = true; - this.raphael = new Raphael('simplesankey'); - width = $('#simplesankey').width(); - this.supply = new FilledBoxChart(this.raphael, 30, 10, 300, 300, 3500, 10, supply_titles); - this.demand = new FilledBoxChart(this.raphael, 635, 10, 300, 300, 3500, 10, demand_titles); - this.vectors = new VectorChart(this.raphael, 335, 10, 300, 300, 3500, 10, supply_titles); - this.raphael.path(["M", 332, 10, "L", 332, 310]).attr({ - 'stroke-width': '5' - }); - return this.raphael.path(["M", 635, 10, "L", 635, 310]).attr({ - 'stroke-width': '5' - }); - }; - - SimpleSankeyDisplay.prototype.updateResults = function(pathway) { - var new_values, title, _i, _j, _len, _len1; - new_values = {}; - for (_i = 0, _len = supply_titles.length; _i < _len; _i++) { - title = supply_titles[_i]; - new_values[title] = pathway.primary_energy_supply[title][8]; - } - this.supply.setValues(new_values); - this.vectors.setValues(new_values); - new_values = {}; - for (_j = 0, _len1 = demand_titles.length; _j < _len1; _j++) { - title = demand_titles[_j]; - new_values[title] = pathway.final_energy_demand[title][8]; - } - return this.demand.setValues(new_values); - }; - - return SimpleSankeyDisplay; - - })(); - - window.twentyfifty.SimpleSankeyDisplay = SimpleSankeyDisplay; - -}).call(this); -(function() { - var Share, loadFromExcel, shareHTML; - - shareHTML = "
\n
\n

Sharing this pathway with others

\n

\n If you want to save or share your pathway, bookmark this page, or take note of its url*:\n \n

\n

\n To share, just send someone the url, or click this share button:\n \n \"Bookmark\n \n \n \n

\n

* On modern browsers, this url is the same as the one you will see in the address bar as you use the calculator. On older browsers, such as Internet Explorer 6 and 7, it will not be.

\n
\n
\n

Sharing this pathway with the excel version of the 2050 pathways calculator

\n

\n You may want to explore your pathway in more detail, taking a look at all the assumptions behind our modelling, by downloading\n the underlying excel spreadsheet.\n

\n

\n If you do, then you can recreate the pathway you have chosen in this tool by copying the numbers from the box below and pasting them in cells E5 to E57 on the 'Control' sheet of the workbook. You can also copy a pathway from that range in the excel model, paste it in the box below and click the 'Go to this pathway' button at the bottom of the page.\n

\n \n \n
\n

\n
\n
"; - - Share = (function() { - function Share() { - this.ready = false; - } - - Share.prototype.setup = function() { - if (this.ready) { - return false; - } - this.ready = true; - return $('#results').append(shareHTML); - }; - - Share.prototype.teardown = function() { - $('#results').empty(); - return this.ready = false; - }; - - Share.prototype.updateResults = function(pathway) { - var url; - this.pathway = pathway; - if (!this.ready) { - this.setup(); - } - url = "http://" + window.location.host + (twentyfifty.url({ - action: 'primary_energy_chart' - })); - $('#share a#pathwayurl').text(url); - $('#share a#pathwayurl').attr({ - href: url - }); - return $('#excel textarea').val(twentyfifty.getChoices().join("\n")); - }; - - return Share; - - })(); - - loadFromExcel = function() { - var c, pasted_choices; - pasted_choices = $('#excel textarea').val().split(/\r\n|\r|\n/); - pasted_choices = (function() { - var _i, _len, _results; - _results = []; - for (_i = 0, _len = pasted_choices.length; _i < _len; _i++) { - c = pasted_choices[_i]; - if (c === "") { - _results.push("0"); - } else { - _results.push(c); - } - } - return _results; - })(); - twentyfifty.setChoices(pasted_choices); - twentyfifty.switchView('primary_energy_chart'); - return false; - }; - - window.twentyfifty.loadFromExcel = loadFromExcel; - - window.twentyfifty.views['share'] = new Share; - -}).call(this); -// This is a manifest file that'll be compiled into including all the files listed below. -// Add new JavaScript/Coffee code in separate files in this directory and they'll automatically -// be included in the compiled file accessible from http://example.com/assets/application.js -// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the -// the compiled file. -// - -// First the support libs - - -// we aren't using this: require jquery_ujs - - - - - - - -// Now the common methods - - - - - -// Now the individual views - - - - - - - - - - - - - - -; diff --git a/public/assets/application-abfca4ed4ecb4428660e2f0d3349b779.js.gz b/public/assets/application-abfca4ed4ecb4428660e2f0d3349b779.js.gz deleted file mode 100644 index b1b644fa8178b117a0301fe3a83a074c62759cba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160052 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 diff --git a/public/assets/application-ba3e580ce5dec0cac713df23d276cd90.css.gz b/public/assets/application-ba3e580ce5dec0cac713df23d276cd90.css.gz deleted file mode 100644 index d7b05d76361658a6b8874dc91827a1515c2dd7f4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10980 zcmbuFbx>SO^yiU5gAPt`cMtCF?(QBWxCbY=ySo!$a1Syhgy0g~eQ+m)CGWl8dt0^p z$5w6C+|T`X-KnnbQ|Fx9r*D(SAVS4Y$Em}>jt3aIQSu~1{9cgPATF^&8R~e|=Rcph z*7PPy1iE={BMOL8b(z@}lk}61oZ>8gKfxWvj7s8iE=RZ5xQ=a?Cx^SCeU!vagj##P z8Q*G%d2#FGW7#U0+cIle_P0-{7_Jy^HOf8JspxZTiGF10)NhgHwMozW^CG4^F9Wg%;*ad#J=O+;4nM_PSiae7z5@_vraJOvTj?kD;R zzpVVl9Wx;No^Ki5dfI)Ae?48Xv{ub+fhC@(=Wp)rDrUByyv{l!SKJGX&d|Ni0^5y; ze1qJck8er4hHrv&bjC>=102^$Pn~)jS`6mPjTxK+?-wkKKVa=#R2pU! z5sE;YVx!g~pme^9-IftL?`a8RYjGN*klCcM-(i9+)G5arUhs~Hlh$mH>U(Zj78ctW z`7pGcOqVL9b-aTu?v@@+TsC1+MQ+Czqp7QB9Nufb@Ir+GHCc-UB|1R&W32dOV+t}~ zRHQbYEH*MQJVdgHOpOi^8yO}Xra^UsALINkkYMaG5Bd;tjPG*9>t2-GB9=%1xxa8!a&44uS6Zcz`vYBOJP1>YLrBOufRfT7qp}zT+Eg2j+fgRN zWK?96+AxIP5Zx;+{2W*KrOS6Qf;{6W_ooEb{Q(nfZa{10FW==d`H-5wj~?Xfy;SG0 zyBR8k&QK@$Uz^}iB-kkMh(iN!2Q|@Lt{Y=%Kj{B;9L+G-pNnQ1(NJDW3_x!wm&N@(E#NnmqrEegUvYN@}?mFM_CmsTB#B5-xi0tN<0-g^QRnG8@XEkAu5i< zboU%}IS74#(xb^HRV%1+5Ep@+C(oUi}DO1)0DAj2M%U>E#@SO&He`)5j8M%vtaOFOQSS!-06{gTgv4_i%BcD%~(y>+3NFjC81>;el7Xyq_`(uFK zYA}rQru+!!b3d4C%8p^an9PSYD07O+r3vF$v#Cu|xgu@W-W$r+-#N=2cjxUQ)2nq#s3rY@f9gKv(*MoJg-roVE~jTD!Ny11UW&O zOx%dzE2JcIO@<{)Zj+a!0<2?HlSNsTWJ5Tl=>E@$mjkjWzzDfFD^d<%#Jx1J?DKc( zJaQFeW{Kh%mHC5t8Nycp$__F#c1{{_sz1s);)`-usN&uUqbA~}zK-A`PGG>b11a}M z{j{Gl%F}-_A4@kW1zu{1V46Ux-Yp6NKv>E=Q1ECf(`!TyisZOmjFec>89dU6zp5C4q`EcI;G-es7~J4d0#`xoCDwbt0JQJ@|Xt&a#DpsG&t<|3Pp&y zxir|pzq8b-&Z7awN&Sp}d!H!|QZB`&dB(Z7ez!h%-pk8_sP{fgx!g}(E$d>J*t+hw zSab+jJ9(=dXjJgHq1*eZpt*e=jVTClGA^+(whP+-kO6P7B`HbqreK^(BgAE-ks^SK91 z&wY&PTKUNILw>-rDzif+A#>EXer!%k*XUr%G({cVNODaVeJ2@7s8E6C+J%=M?ikZs z2&O@1MJ0LX~(UmR`|V zy)%%`Y4h54iK^bBhm04#y(aGEs+?XJLFZoTm6JtSi1az?<1=FnOYZyU!}B_njeK$+_z~-p#wsk zh}daSk<&XO$4O9B{0*oUlZ0}>g33Dl2=3u-Xyi!YNOF0REW*(w`|HXkbh?1sahX$J?3VvYOayu=Rl&0?bbzl=UCI#Pg^7 zGA<9kl&69>a&g2-VmL?N_z)S7QtcoCeL^Jj$&zRhcaUIwLPYcXzr9Xj+m+jgXffhv z=AZ>XPDSP^+E}2}x+r6&XfiiXnPFCEh_;In$HTxCp@T6+=6(Isodd+>Q@;?8glFC` zwLOS?1#S@$&#<)iWV+@8JCrCLbAW?FR~j&exD(<>eZ$eSdkE8oV}?-QZXl`R5Q5)@ zqv@ehTB3@wNwG&H(H`(2z6gumogzYcXz~+2KfYKMKXbh9_sI)X3>0{lv=+^{5st!k zKIV*t@&OKSu>xtVLr(L7)KtDk_oR05PjFZodqW{L`JCp#MP}NyWI)EKA!Lfi5ZQku zun}f?pkLLj%W6tE?EwtIVppB@C{UWb>z^tg<*eP#)EL~yM$jos$$!+Vb5kSKl3PM_ zKw(1O53af1DmPW@KkIU;(Oi`&C_!CGAy^;LqWow9a6zd+TM{f_SkaAI zKt2z-PM*ylY_D}6arn6;nd2|3JS?Y8O$!Rm-`WA>=6+1Ua`^zG{J=eq-)|>CovV~f zw9qsu?E7}ag6Rh+=DUQ}^sOUUvLmvTOX`xG9Cc|yLLQdKF?qV5IH#1$Rz!$e2}2eO zFbxRi5+nN~z3pIFmD*SICVL-2v&$7uzqcn_yS7h$JPN0{a)=xFYKpW>F$xll7f58{ zNK?o2pfber!<7ZKeM24;@CzZP-J~gbFuEn6pcJ#Dii!m!ZE|I=Iv1F=0>97d={(y@ zMEtzG(RaEfj~XvfHO)8VMK>BKb$2KLU&k`mggk;vPjv zwYvl;9C@C#RV>;#PXgs*XBagg?d*^R9%q`=j=Lzpj zTeirDDL`w!FL{z1MlAnL^RTw-<6%*#n^D}`)svOLdQo;~=MlMZLul560V`y*GL5Wo zi9>fYIG&9DD}FuyLZ_;k6RMzk4U9ut0~p}XRH{#= zcSWJgM>uDTv zjfl?YLlSnSFv~b>cT+Xt>vEF6^=oP96Ku57TWwS^mU4&{Dq_%K0loo(|B<{_U#zSq ziN+G4UM>#zIYiXGVj2``INxX)-npIHhRVgEH)`=i8s8NXp{{q#pc$$n=QCXR@|~VN zc8q?~Tuth=C-OkR+5m;dH*oAX-v_dAQqW^ZNSX1zBlQ3B9tr#2fsk%#Yx_C#{@N`I zMo!DXNP35#*be<8Or*1!a{q+XEu~Sj=B!`OJ$+um&fpBH@#C}Aet{4pCpDMuc zP4E;~6~R)UirrrHP=+|C3KfWKTobNB+}!jm*tWk=vjrZ$v=)`C$bD`!3^*^EL-3Q# zP@iWs3zwy>DD_Q$@p9A2hG;2vMeSCqR(Dghjy6)NmSIlIWQ68AxqRv)$)R`^=||ME z-jGY{%NOta3sR}>B<%vjwqsUKF=+5Te7*==FN5}Tuz=8P6%ne<+ZiM-+|&^Cd|3po zh0oZiIEPMghZzI#SeaQl+6L-hVEfH@i6X#eyke%`#l(mA8L?ESE*$9DOJG!)b-X-$ zB(JzWDyzm&2MU#UtEe(-^b99`yWz0yA9gh)ni#$?B+}vRG`t79i_MBnGoz`o9Qekw z@OLp2{|@g=-CrV)<(Cz6?}#;Nx-rxUw{hVcJwso8fwEJjj>Q5sX&W=#U5X~p6r#2~eWUs0Qvga)< zv>bbH?GBqjA0A3BleV@Oq1h*=JB(PPYlg#G3q-5|d|{{`)(1oa*KsZ+>4jtYWG~D{ z#i9}@;uW70`cid-=xjQreq7|8W?U8{5LrK~8(&SXep=KLhea08$Sp%6g(_=r;2m#E z0AKtTH#|3epE1sNvP-Ne`aOwe8{(pI5H|Rk7bRiPC7FvCL|?R3+Ye-romR*RD@poe zJwLWRSz45`aocB-Uq}qDhZioyvw*n|I4B|UmTEeg@fL@?`SII_y!9WrJUBTl9nXie zsVy+PCS!%h@ax)c_GK9R7v07i>3_^INKVbJf-@WU^_dWb)S33S{0!m&k|ZFi;Iu#G zvvG320y=!613Ex-EU?{OiIU8E8a$ z5fo9n2eV&dUrpf2Qhw){jL|1tFTKyXn6Dk!F^8JYnccO9=gj-Xhg&+82Q6&18}eZ? zEAKFV`J%L^k?3=RnAiSIoB@^}7RJYRkXk7Tha(MH1f01yS;P!Lnv6;tBY0BxlUsD8 zf~s_FdQBe%UyBHnAXF{gA?QsFBl>6k`e-r4~<-a;EQ) zx@m$JsLrzi^+knLH1gc|p@~g=xq|wm5fiPnmZ6+Phv&Oy;(?l|5$Iu`y;sB4ag{<6 zr;p5C%V%+=$T`13k8)0L&e4c>t%L#5Bgj|v0x=VUFBz1LhsSCFmkhz(@?;HLODxfn zqYR=+h`EkcmB;DuL+89shQq#3V}DUmn@oGW77Y_VU` z%?H8#{C3#5>JAQMIU`EIN9gCWC1Bd(4_V}D8?op)@A zD=rN+m?RR#f%qZcU-xnx;K-wt@<-yDHABM( z1vZeRU@Bxcu>UT%UE%=nWTm!jP~=juuYQsZ_S;69>X*&UBNhG>fkpqhmJW*CeRvar znh7%y`&;q3g)|So`qY=;4pMzS3`5oFf%_5xI^KRvq}b1;py)L1#{YZ|SxELl?Lh1s zx&*pf5djo98HIJ@=dow?8dqwtcFomSd`U(?V_%l4p0s|sG#BS@!zJ)K@ zh3|?|y;-U)&&|6jb`0-m9VWp^qRWTxQo3COX=+u~AC{}pwZmbo1Iqph$oi=zimR4X zQWa0t%aX5X>c7ofVaF0+&?;XV3|{4mDErSuwMb-S{DF1}FZgYvF+IBjj$HSdB$@ET z4<^6yX_Tyj<5-^QSq6Q?Q!t}M)XOTuNKGgOBfx*kGggeHYw^$so`H$r*4=Q@_7Nt7 zn(NyPGlvrbu6X(BBL5}I$@B(ajI7e;wdnzYUh(fl6W@_ucbGWA3wi`)7}u!1*m1?^ z6lr>o`4tI+N%!g&t`66ZF=cIFvQOVC!!6Gqtl!6ART%24g|3L6a4@QEP$R>93K1

JS+z#o=YHtX@$qLH0l~IyKXrqgZ6wY)MW2^^6Gk)5VFK!3Y*WcqRhY3mc zY$$QN_Y_XrlpC9#b84`9Hz*mizdS6i<)hU=cJb+&JF(%ctcQOog7c2FaeA|1V``bbu z%ePBtu+Kl$;#eKQ^rmsW!Jy6(Ce?jt8sJA#pfx|VWXdaL`5Kn49&2tLi3>ZVh&OZ& zWVhaa&4+j(2YycmDoPC_I_B=uhZ4%Gx^P;}gNs58&dwQK$J3IYF zb;f>1_y>n+B39asU8-&(6SG}->JWeS2g$@pzf|i{zx-drRTUo!rWGxEu!XHwdcwN) z4crNMA1>Yi9pgfn?@s>$O*V^UM=^HPF_a`P&-lBd`h@xwv?Q5v02QS}zRI!@kYIfm ziEqhKMm@ty6$7*`!bDM8*7L8x^A}1YWLLAr-vjB3pljnb7*rADThawUz z=@x2TrhIG4m(42Uwrkr;bWlOqqL^d)IBHMIr zCNypZttQlOiFOt0_qXlcY!{@4Qq9{LR_FFUVx9}zxmMPXzzuwb=PyiEO22f7SpBg- z4Jzegrc=5q8$i{!Q?DodQ858UfJ8Z-0Lgx=q*c)V zAVZzZG?JhrHZujo4aQtq{QJdg4V<|h^^?OTW`Zz2mbdxt)j<7!43yuK@%c{BZ=%_Y z*F~YxJRE=w3=R=3B>T&IK8Xh7(a8dkb46Y9E0<}u!48_7I5A(b)ulfl+9`u6gmSQf zOrqm-NH#HhrD1aNp!DG#Yy^|Gf_}7Et>Z*roHDsitbYZ3&sAF&Y zwray&%|XmoLj3_f5xh<;@(O*Dx($#?CmSsU6%j3?Qi|GM?UTMLg@2i{mutmx>PWTl zHV4I@R2Ahy0L@}#NS$Gv{|E{u>cJ^$qqx=%TZ^7FfcBM8qC;C?-X+S5D#3Dfr-)Y` zn)<}c4=sa#?Af-UM1ax(G%gLpqu-R0_fGmp!pXOPNU`9T=sO@5E7id`#F6xcOEUgf z1{&-{=rfS}d|DYAjLdAxgmeEV)mEg(tEY4i`le+u(e0%e098zJ7QN-MMCtBXt&azfL!8@QKl6WHC&3Hq)?*SL z?lUCjd2w84t#;69Lnqyee42o4&Un7;KAYdTF9qrTVhq#{e1>!e=tAZdjkU@(O9 zq2~FpSIFIp6*r;g#<#gE#wzIGcVM$f?egIDLgd`*K?I4Qp1+SG+_XH@zub>m2XqGY z*;a3!VLmVrQZ@4(RLqUH60@P0=*-djAKD+5oEk{Iyk2f$-&h3%`1P%?PrUJ&c~OQe%*@$$b;P9Qcp88rug;23pB4dYzGqW- z^AL#e{Gc^yUrS8)L?6lWxNF~PE#>+0a`>Y(g9PLk``!2I>fVQ}1+eGxTKH#Q^M1BIUa`xmL@{hYEgirhRxB-i@bCnY+hU3NigNJN`dev z2cC?RUz;wNcM71#GV zey*5v+&>6fZLz97&v+WIN^@T=uGii7>iM}!vJ^RL-x5b`u^i~scElsq0ulMiUC=k~ z9LQhmq(Kk%qQot_$}LjwqhPohtK@2klE30$c*IegVl6Q@#>9DT+~TM;vX*SUHtskW ze&eWJu$BOgG1Jb03^$B~6vr8;N&mn1@z;KGUii)>S+)7}Y*H zA%FLS8Jow6$dk2dqbg1+mkG4bqo<*C5 zvftSDTdwM7cS~?Lz!`LVxjFLg)2~<=s#fVf-Z3CLb<$qf85=&|U-HsZ(LsL-G7dQQ z>IL!iIV-O}zSGr{STn0XSY~NF@YaV&v+{CPDGzlLUb#lszNKKUtZCpzi|m@QZdrw> zyiXdhVwiM#vgTP%jX^7CxW5?x?Y<;Z$~4x!APrUZ$$u?3|0U?!piB)sKK81{WcF>B(KCtkkjF!Ob&03;)tl8MJ;l3-x zf~7q#9|Z-v#fcWoFBIr3SM&;lmCt$=THVUWq%LxvPRRLgev~CnboK>0=|pb5*~d#F zkM!FKef<>KW&Yf@P1*G#U$s>6R9`L(DS2TI@~Fo?*tClx%$}>s4wK$+8Fc?B2I8 zZ8Bqw<3oKP`9NGI;pe}E2EF7{F!F5OfOhGZFXJYj{GPv5Br_(WBtj@9%#Jl zn8kNg_f%r2{k<#ap}}L0rB6U~IEZ$WXJU0{{O0I*5C3QWY01;UZ-F?2fVhfrHjNbi zk&M~(<*TTlFVFV1$Ly^KBDLm50as zALJ@6%71k}gQAse`u%KmG#YiDKv}!kPx(i$hkm++Av3xCq=M;YL!;*^IN3xJe!m*N z2Bh3qR!7j)PXr?~OV~umSwq)|cb{|##hvEFytMduuaKG#1!gl~IL;oDCX=|FHvg1( zbbqvT_Y&$gr76vlTdKM!stiBstOi5hToJTYkDzB58WckF=B4zK- z8v0JFD9+^OfKP^`KHGbUaHTbi-|`nM!jFp?Jj9=|0#)@1?4tgGb85@x>>s-qhWx6I zo^1J`u75MWT)r3!0@3>;B(7+$p|p?9*mU#zGSJaElT2&RZHbJ2lzBry>&_}UGW-W* zwA6u*RirGFPxHDaH`gB!gWNoH>v&Ya!nj8-TBt8-->nK4avnOhe53ST+yUh#)xn3` z<78j>M)^R?PTJ|VTNYP!jM!Zs0fCN}Ws)fc!%tD8yaLhK^T#<;J~9bx8?<6yE=BYZrYVCiC za8?qIe$e-o5ei98%`4A*L{}Gm47js9={yV;DWu&~o~Nu>4&rOg8P>X6y$^aW*)R!e z=L(KClo-3IHu4%-5VJOb@?w(j>Nv=z6UtXXRl|C%LWrT+M EUu`M)YXATM diff --git a/public/assets/application-be2b56e65151f7fe8b6a9c2db3e60500.css b/public/assets/application-be2b56e65151f7fe8b6a9c2db3e60500.css deleted file mode 100644 index afd0508b..00000000 --- a/public/assets/application-be2b56e65151f7fe8b6a9c2db3e60500.css +++ /dev/null @@ -1,2267 +0,0 @@ -/* - * This is a manifest file that'll automatically include all the stylesheets available in this directory - * and any sub-directories. You're free to add application-wide styles to this file and they'll appear at - * the top of the compiled file, but it's generally better to create a new file per style scope. - - -*/ -#airquality { - margin-left: 0%; - margin-right: 0%; - width: 100%; - margin: 0 0 0 0; - padding: 0; - height: 300px; } - -.airquality h1 { - font-size: 16px; - margin-left: 300px; } -.airquality .airqualitymessage { - margin-left: 300px; - margin-right: 30px; - margin-bottom: 30px; } - .airquality .airqualitymessage h2 { - font-size: 16px; - margin-left: 0px; - text-align: left; } -/* This product includes color specifications and designs developed by Cynthia Brewer (http://colorbrewer.org/). */ - -.YlGn .q0-3{fill:rgb(247,252,185)} -.YlGn .q1-3{fill:rgb(173,221,142)} -.YlGn .q2-3{fill:rgb(49,163,84)} -.YlGn .q0-4{fill:rgb(255,255,204)} -.YlGn .q1-4{fill:rgb(194,230,153)} -.YlGn .q2-4{fill:rgb(120,198,121)} -.YlGn .q3-4{fill:rgb(35,132,67)} -.YlGn .q0-5{fill:rgb(255,255,204)} -.YlGn .q1-5{fill:rgb(194,230,153)} -.YlGn .q2-5{fill:rgb(120,198,121)} -.YlGn .q3-5{fill:rgb(49,163,84)} -.YlGn .q4-5{fill:rgb(0,104,55)} -.YlGn .q0-6{fill:rgb(255,255,204)} -.YlGn .q1-6{fill:rgb(217,240,163)} -.YlGn .q2-6{fill:rgb(173,221,142)} -.YlGn .q3-6{fill:rgb(120,198,121)} -.YlGn .q4-6{fill:rgb(49,163,84)} -.YlGn .q5-6{fill:rgb(0,104,55)} -.YlGn .q0-7{fill:rgb(255,255,204)} -.YlGn .q1-7{fill:rgb(217,240,163)} -.YlGn .q2-7{fill:rgb(173,221,142)} -.YlGn .q3-7{fill:rgb(120,198,121)} -.YlGn .q4-7{fill:rgb(65,171,93)} -.YlGn .q5-7{fill:rgb(35,132,67)} -.YlGn .q6-7{fill:rgb(0,90,50)} -.YlGn .q0-8{fill:rgb(255,255,229)} -.YlGn .q1-8{fill:rgb(247,252,185)} -.YlGn .q2-8{fill:rgb(217,240,163)} -.YlGn .q3-8{fill:rgb(173,221,142)} -.YlGn .q4-8{fill:rgb(120,198,121)} -.YlGn .q5-8{fill:rgb(65,171,93)} -.YlGn .q6-8{fill:rgb(35,132,67)} -.YlGn .q7-8{fill:rgb(0,90,50)} -.YlGn .q0-9{fill:rgb(255,255,229)} -.YlGn .q1-9{fill:rgb(247,252,185)} -.YlGn .q2-9{fill:rgb(217,240,163)} -.YlGn .q3-9{fill:rgb(173,221,142)} -.YlGn .q4-9{fill:rgb(120,198,121)} -.YlGn .q5-9{fill:rgb(65,171,93)} -.YlGn .q6-9{fill:rgb(35,132,67)} -.YlGn .q7-9{fill:rgb(0,104,55)} -.YlGn .q8-9{fill:rgb(0,69,41)} -.YlGnBu .q0-3{fill:rgb(237,248,177)} -.YlGnBu .q1-3{fill:rgb(127,205,187)} -.YlGnBu .q2-3{fill:rgb(44,127,184)} -.YlGnBu .q0-4{fill:rgb(255,255,204)} -.YlGnBu .q1-4{fill:rgb(161,218,180)} -.YlGnBu .q2-4{fill:rgb(65,182,196)} -.YlGnBu .q3-4{fill:rgb(34,94,168)} -.YlGnBu .q0-5{fill:rgb(255,255,204)} -.YlGnBu .q1-5{fill:rgb(161,218,180)} -.YlGnBu .q2-5{fill:rgb(65,182,196)} -.YlGnBu .q3-5{fill:rgb(44,127,184)} -.YlGnBu .q4-5{fill:rgb(37,52,148)} -.YlGnBu .q0-6{fill:rgb(255,255,204)} -.YlGnBu .q1-6{fill:rgb(199,233,180)} -.YlGnBu .q2-6{fill:rgb(127,205,187)} -.YlGnBu .q3-6{fill:rgb(65,182,196)} -.YlGnBu .q4-6{fill:rgb(44,127,184)} -.YlGnBu .q5-6{fill:rgb(37,52,148)} -.YlGnBu .q0-7{fill:rgb(255,255,204)} -.YlGnBu .q1-7{fill:rgb(199,233,180)} -.YlGnBu .q2-7{fill:rgb(127,205,187)} -.YlGnBu .q3-7{fill:rgb(65,182,196)} -.YlGnBu .q4-7{fill:rgb(29,145,192)} -.YlGnBu .q5-7{fill:rgb(34,94,168)} -.YlGnBu .q6-7{fill:rgb(12,44,132)} -.YlGnBu .q0-8{fill:rgb(255,255,217)} -.YlGnBu .q1-8{fill:rgb(237,248,177)} -.YlGnBu .q2-8{fill:rgb(199,233,180)} -.YlGnBu .q3-8{fill:rgb(127,205,187)} -.YlGnBu .q4-8{fill:rgb(65,182,196)} -.YlGnBu .q5-8{fill:rgb(29,145,192)} -.YlGnBu .q6-8{fill:rgb(34,94,168)} -.YlGnBu .q7-8{fill:rgb(12,44,132)} -.YlGnBu .q0-9{fill:rgb(255,255,217)} -.YlGnBu .q1-9{fill:rgb(237,248,177)} -.YlGnBu .q2-9{fill:rgb(199,233,180)} -.YlGnBu .q3-9{fill:rgb(127,205,187)} -.YlGnBu .q4-9{fill:rgb(65,182,196)} -.YlGnBu .q5-9{fill:rgb(29,145,192)} -.YlGnBu .q6-9{fill:rgb(34,94,168)} -.YlGnBu .q7-9{fill:rgb(37,52,148)} -.YlGnBu .q8-9{fill:rgb(8,29,88)} -.GnBu .q0-3{fill:rgb(224,243,219)} -.GnBu .q1-3{fill:rgb(168,221,181)} -.GnBu .q2-3{fill:rgb(67,162,202)} -.GnBu .q0-4{fill:rgb(240,249,232)} -.GnBu .q1-4{fill:rgb(186,228,188)} -.GnBu .q2-4{fill:rgb(123,204,196)} -.GnBu .q3-4{fill:rgb(43,140,190)} -.GnBu .q0-5{fill:rgb(240,249,232)} -.GnBu .q1-5{fill:rgb(186,228,188)} -.GnBu .q2-5{fill:rgb(123,204,196)} -.GnBu .q3-5{fill:rgb(67,162,202)} -.GnBu .q4-5{fill:rgb(8,104,172)} -.GnBu .q0-6{fill:rgb(240,249,232)} -.GnBu .q1-6{fill:rgb(204,235,197)} -.GnBu .q2-6{fill:rgb(168,221,181)} -.GnBu .q3-6{fill:rgb(123,204,196)} -.GnBu .q4-6{fill:rgb(67,162,202)} -.GnBu .q5-6{fill:rgb(8,104,172)} -.GnBu .q0-7{fill:rgb(240,249,232)} -.GnBu .q1-7{fill:rgb(204,235,197)} -.GnBu .q2-7{fill:rgb(168,221,181)} -.GnBu .q3-7{fill:rgb(123,204,196)} -.GnBu .q4-7{fill:rgb(78,179,211)} -.GnBu .q5-7{fill:rgb(43,140,190)} -.GnBu .q6-7{fill:rgb(8,88,158)} -.GnBu .q0-8{fill:rgb(247,252,240)} -.GnBu .q1-8{fill:rgb(224,243,219)} -.GnBu .q2-8{fill:rgb(204,235,197)} -.GnBu .q3-8{fill:rgb(168,221,181)} -.GnBu .q4-8{fill:rgb(123,204,196)} -.GnBu .q5-8{fill:rgb(78,179,211)} -.GnBu .q6-8{fill:rgb(43,140,190)} -.GnBu .q7-8{fill:rgb(8,88,158)} -.GnBu .q0-9{fill:rgb(247,252,240)} -.GnBu .q1-9{fill:rgb(224,243,219)} -.GnBu .q2-9{fill:rgb(204,235,197)} -.GnBu .q3-9{fill:rgb(168,221,181)} -.GnBu .q4-9{fill:rgb(123,204,196)} -.GnBu .q5-9{fill:rgb(78,179,211)} -.GnBu .q6-9{fill:rgb(43,140,190)} -.GnBu .q7-9{fill:rgb(8,104,172)} -.GnBu .q8-9{fill:rgb(8,64,129)} -.BuGn .q0-3{fill:rgb(229,245,249)} -.BuGn .q1-3{fill:rgb(153,216,201)} -.BuGn .q2-3{fill:rgb(44,162,95)} -.BuGn .q0-4{fill:rgb(237,248,251)} -.BuGn .q1-4{fill:rgb(178,226,226)} -.BuGn .q2-4{fill:rgb(102,194,164)} -.BuGn .q3-4{fill:rgb(35,139,69)} -.BuGn .q0-5{fill:rgb(237,248,251)} -.BuGn .q1-5{fill:rgb(178,226,226)} -.BuGn .q2-5{fill:rgb(102,194,164)} -.BuGn .q3-5{fill:rgb(44,162,95)} -.BuGn .q4-5{fill:rgb(0,109,44)} -.BuGn .q0-6{fill:rgb(237,248,251)} -.BuGn .q1-6{fill:rgb(204,236,230)} -.BuGn .q2-6{fill:rgb(153,216,201)} -.BuGn .q3-6{fill:rgb(102,194,164)} -.BuGn .q4-6{fill:rgb(44,162,95)} -.BuGn .q5-6{fill:rgb(0,109,44)} -.BuGn .q0-7{fill:rgb(237,248,251)} -.BuGn .q1-7{fill:rgb(204,236,230)} -.BuGn .q2-7{fill:rgb(153,216,201)} -.BuGn .q3-7{fill:rgb(102,194,164)} -.BuGn .q4-7{fill:rgb(65,174,118)} -.BuGn .q5-7{fill:rgb(35,139,69)} -.BuGn .q6-7{fill:rgb(0,88,36)} -.BuGn .q0-8{fill:rgb(247,252,253)} -.BuGn .q1-8{fill:rgb(229,245,249)} -.BuGn .q2-8{fill:rgb(204,236,230)} -.BuGn .q3-8{fill:rgb(153,216,201)} -.BuGn .q4-8{fill:rgb(102,194,164)} -.BuGn .q5-8{fill:rgb(65,174,118)} -.BuGn .q6-8{fill:rgb(35,139,69)} -.BuGn .q7-8{fill:rgb(0,88,36)} -.BuGn .q0-9{fill:rgb(247,252,253)} -.BuGn .q1-9{fill:rgb(229,245,249)} -.BuGn .q2-9{fill:rgb(204,236,230)} -.BuGn .q3-9{fill:rgb(153,216,201)} -.BuGn .q4-9{fill:rgb(102,194,164)} -.BuGn .q5-9{fill:rgb(65,174,118)} -.BuGn .q6-9{fill:rgb(35,139,69)} -.BuGn .q7-9{fill:rgb(0,109,44)} -.BuGn .q8-9{fill:rgb(0,68,27)} -.PuBuGn .q0-3{fill:rgb(236,226,240)} -.PuBuGn .q1-3{fill:rgb(166,189,219)} -.PuBuGn .q2-3{fill:rgb(28,144,153)} -.PuBuGn .q0-4{fill:rgb(246,239,247)} -.PuBuGn .q1-4{fill:rgb(189,201,225)} -.PuBuGn .q2-4{fill:rgb(103,169,207)} -.PuBuGn .q3-4{fill:rgb(2,129,138)} -.PuBuGn .q0-5{fill:rgb(246,239,247)} -.PuBuGn .q1-5{fill:rgb(189,201,225)} -.PuBuGn .q2-5{fill:rgb(103,169,207)} -.PuBuGn .q3-5{fill:rgb(28,144,153)} -.PuBuGn .q4-5{fill:rgb(1,108,89)} -.PuBuGn .q0-6{fill:rgb(246,239,247)} -.PuBuGn .q1-6{fill:rgb(208,209,230)} -.PuBuGn .q2-6{fill:rgb(166,189,219)} -.PuBuGn .q3-6{fill:rgb(103,169,207)} -.PuBuGn .q4-6{fill:rgb(28,144,153)} -.PuBuGn .q5-6{fill:rgb(1,108,89)} -.PuBuGn .q0-7{fill:rgb(246,239,247)} -.PuBuGn .q1-7{fill:rgb(208,209,230)} -.PuBuGn .q2-7{fill:rgb(166,189,219)} -.PuBuGn .q3-7{fill:rgb(103,169,207)} -.PuBuGn .q4-7{fill:rgb(54,144,192)} -.PuBuGn .q5-7{fill:rgb(2,129,138)} -.PuBuGn .q6-7{fill:rgb(1,100,80)} -.PuBuGn .q0-8{fill:rgb(255,247,251)} -.PuBuGn .q1-8{fill:rgb(236,226,240)} -.PuBuGn .q2-8{fill:rgb(208,209,230)} -.PuBuGn .q3-8{fill:rgb(166,189,219)} -.PuBuGn .q4-8{fill:rgb(103,169,207)} -.PuBuGn .q5-8{fill:rgb(54,144,192)} -.PuBuGn .q6-8{fill:rgb(2,129,138)} -.PuBuGn .q7-8{fill:rgb(1,100,80)} -.PuBuGn .q0-9{fill:rgb(255,247,251)} -.PuBuGn .q1-9{fill:rgb(236,226,240)} -.PuBuGn .q2-9{fill:rgb(208,209,230)} -.PuBuGn .q3-9{fill:rgb(166,189,219)} -.PuBuGn .q4-9{fill:rgb(103,169,207)} -.PuBuGn .q5-9{fill:rgb(54,144,192)} -.PuBuGn .q6-9{fill:rgb(2,129,138)} -.PuBuGn .q7-9{fill:rgb(1,108,89)} -.PuBuGn .q8-9{fill:rgb(1,70,54)} -.PuBu .q0-3{fill:rgb(236,231,242)} -.PuBu .q1-3{fill:rgb(166,189,219)} -.PuBu .q2-3{fill:rgb(43,140,190)} -.PuBu .q0-4{fill:rgb(241,238,246)} -.PuBu .q1-4{fill:rgb(189,201,225)} -.PuBu .q2-4{fill:rgb(116,169,207)} -.PuBu .q3-4{fill:rgb(5,112,176)} -.PuBu .q0-5{fill:rgb(241,238,246)} -.PuBu .q1-5{fill:rgb(189,201,225)} -.PuBu .q2-5{fill:rgb(116,169,207)} -.PuBu .q3-5{fill:rgb(43,140,190)} -.PuBu .q4-5{fill:rgb(4,90,141)} -.PuBu .q0-6{fill:rgb(241,238,246)} -.PuBu .q1-6{fill:rgb(208,209,230)} -.PuBu .q2-6{fill:rgb(166,189,219)} -.PuBu .q3-6{fill:rgb(116,169,207)} -.PuBu .q4-6{fill:rgb(43,140,190)} -.PuBu .q5-6{fill:rgb(4,90,141)} -.PuBu .q0-7{fill:rgb(241,238,246)} -.PuBu .q1-7{fill:rgb(208,209,230)} -.PuBu .q2-7{fill:rgb(166,189,219)} -.PuBu .q3-7{fill:rgb(116,169,207)} -.PuBu .q4-7{fill:rgb(54,144,192)} -.PuBu .q5-7{fill:rgb(5,112,176)} -.PuBu .q6-7{fill:rgb(3,78,123)} -.PuBu .q0-8{fill:rgb(255,247,251)} -.PuBu .q1-8{fill:rgb(236,231,242)} -.PuBu .q2-8{fill:rgb(208,209,230)} -.PuBu .q3-8{fill:rgb(166,189,219)} -.PuBu .q4-8{fill:rgb(116,169,207)} -.PuBu .q5-8{fill:rgb(54,144,192)} -.PuBu .q6-8{fill:rgb(5,112,176)} -.PuBu .q7-8{fill:rgb(3,78,123)} -.PuBu .q0-9{fill:rgb(255,247,251)} -.PuBu .q1-9{fill:rgb(236,231,242)} -.PuBu .q2-9{fill:rgb(208,209,230)} -.PuBu .q3-9{fill:rgb(166,189,219)} -.PuBu .q4-9{fill:rgb(116,169,207)} -.PuBu .q5-9{fill:rgb(54,144,192)} -.PuBu .q6-9{fill:rgb(5,112,176)} -.PuBu .q7-9{fill:rgb(4,90,141)} -.PuBu .q8-9{fill:rgb(2,56,88)} -.BuPu .q0-3{fill:rgb(224,236,244)} -.BuPu .q1-3{fill:rgb(158,188,218)} -.BuPu .q2-3{fill:rgb(136,86,167)} -.BuPu .q0-4{fill:rgb(237,248,251)} -.BuPu .q1-4{fill:rgb(179,205,227)} -.BuPu .q2-4{fill:rgb(140,150,198)} -.BuPu .q3-4{fill:rgb(136,65,157)} -.BuPu .q0-5{fill:rgb(237,248,251)} -.BuPu .q1-5{fill:rgb(179,205,227)} -.BuPu .q2-5{fill:rgb(140,150,198)} -.BuPu .q3-5{fill:rgb(136,86,167)} -.BuPu .q4-5{fill:rgb(129,15,124)} -.BuPu .q0-6{fill:rgb(237,248,251)} -.BuPu .q1-6{fill:rgb(191,211,230)} -.BuPu .q2-6{fill:rgb(158,188,218)} -.BuPu .q3-6{fill:rgb(140,150,198)} -.BuPu .q4-6{fill:rgb(136,86,167)} -.BuPu .q5-6{fill:rgb(129,15,124)} -.BuPu .q0-7{fill:rgb(237,248,251)} -.BuPu .q1-7{fill:rgb(191,211,230)} -.BuPu .q2-7{fill:rgb(158,188,218)} -.BuPu .q3-7{fill:rgb(140,150,198)} -.BuPu .q4-7{fill:rgb(140,107,177)} -.BuPu .q5-7{fill:rgb(136,65,157)} -.BuPu .q6-7{fill:rgb(110,1,107)} -.BuPu .q0-8{fill:rgb(247,252,253)} -.BuPu .q1-8{fill:rgb(224,236,244)} -.BuPu .q2-8{fill:rgb(191,211,230)} -.BuPu .q3-8{fill:rgb(158,188,218)} -.BuPu .q4-8{fill:rgb(140,150,198)} -.BuPu .q5-8{fill:rgb(140,107,177)} -.BuPu .q6-8{fill:rgb(136,65,157)} -.BuPu .q7-8{fill:rgb(110,1,107)} -.BuPu .q0-9{fill:rgb(247,252,253)} -.BuPu .q1-9{fill:rgb(224,236,244)} -.BuPu .q2-9{fill:rgb(191,211,230)} -.BuPu .q3-9{fill:rgb(158,188,218)} -.BuPu .q4-9{fill:rgb(140,150,198)} -.BuPu .q5-9{fill:rgb(140,107,177)} -.BuPu .q6-9{fill:rgb(136,65,157)} -.BuPu .q7-9{fill:rgb(129,15,124)} -.BuPu .q8-9{fill:rgb(77,0,75)} -.RdPu .q0-3{fill:rgb(253,224,221)} -.RdPu .q1-3{fill:rgb(250,159,181)} -.RdPu .q2-3{fill:rgb(197,27,138)} -.RdPu .q0-4{fill:rgb(254,235,226)} -.RdPu .q1-4{fill:rgb(251,180,185)} -.RdPu .q2-4{fill:rgb(247,104,161)} -.RdPu .q3-4{fill:rgb(174,1,126)} -.RdPu .q0-5{fill:rgb(254,235,226)} -.RdPu .q1-5{fill:rgb(251,180,185)} -.RdPu .q2-5{fill:rgb(247,104,161)} -.RdPu .q3-5{fill:rgb(197,27,138)} -.RdPu .q4-5{fill:rgb(122,1,119)} -.RdPu .q0-6{fill:rgb(254,235,226)} -.RdPu .q1-6{fill:rgb(252,197,192)} -.RdPu .q2-6{fill:rgb(250,159,181)} -.RdPu .q3-6{fill:rgb(247,104,161)} -.RdPu .q4-6{fill:rgb(197,27,138)} -.RdPu .q5-6{fill:rgb(122,1,119)} -.RdPu .q0-7{fill:rgb(254,235,226)} -.RdPu .q1-7{fill:rgb(252,197,192)} -.RdPu .q2-7{fill:rgb(250,159,181)} -.RdPu .q3-7{fill:rgb(247,104,161)} -.RdPu .q4-7{fill:rgb(221,52,151)} -.RdPu .q5-7{fill:rgb(174,1,126)} -.RdPu .q6-7{fill:rgb(122,1,119)} -.RdPu .q0-8{fill:rgb(255,247,243)} -.RdPu .q1-8{fill:rgb(253,224,221)} -.RdPu .q2-8{fill:rgb(252,197,192)} -.RdPu .q3-8{fill:rgb(250,159,181)} -.RdPu .q4-8{fill:rgb(247,104,161)} -.RdPu .q5-8{fill:rgb(221,52,151)} -.RdPu .q6-8{fill:rgb(174,1,126)} -.RdPu .q7-8{fill:rgb(122,1,119)} -.RdPu .q0-9{fill:rgb(255,247,243)} -.RdPu .q1-9{fill:rgb(253,224,221)} -.RdPu .q2-9{fill:rgb(252,197,192)} -.RdPu .q3-9{fill:rgb(250,159,181)} -.RdPu .q4-9{fill:rgb(247,104,161)} -.RdPu .q5-9{fill:rgb(221,52,151)} -.RdPu .q6-9{fill:rgb(174,1,126)} -.RdPu .q7-9{fill:rgb(122,1,119)} -.RdPu .q8-9{fill:rgb(73,0,106)} -.PuRd .q0-3{fill:rgb(231,225,239)} -.PuRd .q1-3{fill:rgb(201,148,199)} -.PuRd .q2-3{fill:rgb(221,28,119)} -.PuRd .q0-4{fill:rgb(241,238,246)} -.PuRd .q1-4{fill:rgb(215,181,216)} -.PuRd .q2-4{fill:rgb(223,101,176)} -.PuRd .q3-4{fill:rgb(206,18,86)} -.PuRd .q0-5{fill:rgb(241,238,246)} -.PuRd .q1-5{fill:rgb(215,181,216)} -.PuRd .q2-5{fill:rgb(223,101,176)} -.PuRd .q3-5{fill:rgb(221,28,119)} -.PuRd .q4-5{fill:rgb(152,0,67)} -.PuRd .q0-6{fill:rgb(241,238,246)} -.PuRd .q1-6{fill:rgb(212,185,218)} -.PuRd .q2-6{fill:rgb(201,148,199)} -.PuRd .q3-6{fill:rgb(223,101,176)} -.PuRd .q4-6{fill:rgb(221,28,119)} -.PuRd .q5-6{fill:rgb(152,0,67)} -.PuRd .q0-7{fill:rgb(241,238,246)} -.PuRd .q1-7{fill:rgb(212,185,218)} -.PuRd .q2-7{fill:rgb(201,148,199)} -.PuRd .q3-7{fill:rgb(223,101,176)} -.PuRd .q4-7{fill:rgb(231,41,138)} -.PuRd .q5-7{fill:rgb(206,18,86)} -.PuRd .q6-7{fill:rgb(145,0,63)} -.PuRd .q0-8{fill:rgb(247,244,249)} -.PuRd .q1-8{fill:rgb(231,225,239)} -.PuRd .q2-8{fill:rgb(212,185,218)} -.PuRd .q3-8{fill:rgb(201,148,199)} -.PuRd .q4-8{fill:rgb(223,101,176)} -.PuRd .q5-8{fill:rgb(231,41,138)} -.PuRd .q6-8{fill:rgb(206,18,86)} -.PuRd .q7-8{fill:rgb(145,0,63)} -.PuRd .q0-9{fill:rgb(247,244,249)} -.PuRd .q1-9{fill:rgb(231,225,239)} -.PuRd .q2-9{fill:rgb(212,185,218)} -.PuRd .q3-9{fill:rgb(201,148,199)} -.PuRd .q4-9{fill:rgb(223,101,176)} -.PuRd .q5-9{fill:rgb(231,41,138)} -.PuRd .q6-9{fill:rgb(206,18,86)} -.PuRd .q7-9{fill:rgb(152,0,67)} -.PuRd .q8-9{fill:rgb(103,0,31)} -.OrRd .q0-3{fill:rgb(254,232,200)} -.OrRd .q1-3{fill:rgb(253,187,132)} -.OrRd .q2-3{fill:rgb(227,74,51)} -.OrRd .q0-4{fill:rgb(254,240,217)} -.OrRd .q1-4{fill:rgb(253,204,138)} -.OrRd .q2-4{fill:rgb(252,141,89)} -.OrRd .q3-4{fill:rgb(215,48,31)} -.OrRd .q0-5{fill:rgb(254,240,217)} -.OrRd .q1-5{fill:rgb(253,204,138)} -.OrRd .q2-5{fill:rgb(252,141,89)} -.OrRd .q3-5{fill:rgb(227,74,51)} -.OrRd .q4-5{fill:rgb(179,0,0)} -.OrRd .q0-6{fill:rgb(254,240,217)} -.OrRd .q1-6{fill:rgb(253,212,158)} -.OrRd .q2-6{fill:rgb(253,187,132)} -.OrRd .q3-6{fill:rgb(252,141,89)} -.OrRd .q4-6{fill:rgb(227,74,51)} -.OrRd .q5-6{fill:rgb(179,0,0)} -.OrRd .q0-7{fill:rgb(254,240,217)} -.OrRd .q1-7{fill:rgb(253,212,158)} -.OrRd .q2-7{fill:rgb(253,187,132)} -.OrRd .q3-7{fill:rgb(252,141,89)} -.OrRd .q4-7{fill:rgb(239,101,72)} -.OrRd .q5-7{fill:rgb(215,48,31)} -.OrRd .q6-7{fill:rgb(153,0,0)} -.OrRd .q0-8{fill:rgb(255,247,236)} -.OrRd .q1-8{fill:rgb(254,232,200)} -.OrRd .q2-8{fill:rgb(253,212,158)} -.OrRd .q3-8{fill:rgb(253,187,132)} -.OrRd .q4-8{fill:rgb(252,141,89)} -.OrRd .q5-8{fill:rgb(239,101,72)} -.OrRd .q6-8{fill:rgb(215,48,31)} -.OrRd .q7-8{fill:rgb(153,0,0)} -.OrRd .q0-9{fill:rgb(255,247,236)} -.OrRd .q1-9{fill:rgb(254,232,200)} -.OrRd .q2-9{fill:rgb(253,212,158)} -.OrRd .q3-9{fill:rgb(253,187,132)} -.OrRd .q4-9{fill:rgb(252,141,89)} -.OrRd .q5-9{fill:rgb(239,101,72)} -.OrRd .q6-9{fill:rgb(215,48,31)} -.OrRd .q7-9{fill:rgb(179,0,0)} -.OrRd .q8-9{fill:rgb(127,0,0)} -.YlOrRd .q0-3{fill:rgb(255,237,160)} -.YlOrRd .q1-3{fill:rgb(254,178,76)} -.YlOrRd .q2-3{fill:rgb(240,59,32)} -.YlOrRd .q0-4{fill:rgb(255,255,178)} -.YlOrRd .q1-4{fill:rgb(254,204,92)} -.YlOrRd .q2-4{fill:rgb(253,141,60)} -.YlOrRd .q3-4{fill:rgb(227,26,28)} -.YlOrRd .q0-5{fill:rgb(255,255,178)} -.YlOrRd .q1-5{fill:rgb(254,204,92)} -.YlOrRd .q2-5{fill:rgb(253,141,60)} -.YlOrRd .q3-5{fill:rgb(240,59,32)} -.YlOrRd .q4-5{fill:rgb(189,0,38)} -.YlOrRd .q0-6{fill:rgb(255,255,178)} -.YlOrRd .q1-6{fill:rgb(254,217,118)} -.YlOrRd .q2-6{fill:rgb(254,178,76)} -.YlOrRd .q3-6{fill:rgb(253,141,60)} -.YlOrRd .q4-6{fill:rgb(240,59,32)} -.YlOrRd .q5-6{fill:rgb(189,0,38)} -.YlOrRd .q0-7{fill:rgb(255,255,178)} -.YlOrRd .q1-7{fill:rgb(254,217,118)} -.YlOrRd .q2-7{fill:rgb(254,178,76)} -.YlOrRd .q3-7{fill:rgb(253,141,60)} -.YlOrRd .q4-7{fill:rgb(252,78,42)} -.YlOrRd .q5-7{fill:rgb(227,26,28)} -.YlOrRd .q6-7{fill:rgb(177,0,38)} -.YlOrRd .q0-8{fill:rgb(255,255,204)} -.YlOrRd .q1-8{fill:rgb(255,237,160)} -.YlOrRd .q2-8{fill:rgb(254,217,118)} -.YlOrRd .q3-8{fill:rgb(254,178,76)} -.YlOrRd .q4-8{fill:rgb(253,141,60)} -.YlOrRd .q5-8{fill:rgb(252,78,42)} -.YlOrRd .q6-8{fill:rgb(227,26,28)} -.YlOrRd .q7-8{fill:rgb(177,0,38)} -.YlOrRd .q0-9{fill:rgb(255,255,204)} -.YlOrRd .q1-9{fill:rgb(255,237,160)} -.YlOrRd .q2-9{fill:rgb(254,217,118)} -.YlOrRd .q3-9{fill:rgb(254,178,76)} -.YlOrRd .q4-9{fill:rgb(253,141,60)} -.YlOrRd .q5-9{fill:rgb(252,78,42)} -.YlOrRd .q6-9{fill:rgb(227,26,28)} -.YlOrRd .q7-9{fill:rgb(189,0,38)} -.YlOrRd .q8-9{fill:rgb(128,0,38)} -.YlOrBr .q0-3{fill:rgb(255,247,188)} -.YlOrBr .q1-3{fill:rgb(254,196,79)} -.YlOrBr .q2-3{fill:rgb(217,95,14)} -.YlOrBr .q0-4{fill:rgb(255,255,212)} -.YlOrBr .q1-4{fill:rgb(254,217,142)} -.YlOrBr .q2-4{fill:rgb(254,153,41)} -.YlOrBr .q3-4{fill:rgb(204,76,2)} -.YlOrBr .q0-5{fill:rgb(255,255,212)} -.YlOrBr .q1-5{fill:rgb(254,217,142)} -.YlOrBr .q2-5{fill:rgb(254,153,41)} -.YlOrBr .q3-5{fill:rgb(217,95,14)} -.YlOrBr .q4-5{fill:rgb(153,52,4)} -.YlOrBr .q0-6{fill:rgb(255,255,212)} -.YlOrBr .q1-6{fill:rgb(254,227,145)} -.YlOrBr .q2-6{fill:rgb(254,196,79)} -.YlOrBr .q3-6{fill:rgb(254,153,41)} -.YlOrBr .q4-6{fill:rgb(217,95,14)} -.YlOrBr .q5-6{fill:rgb(153,52,4)} -.YlOrBr .q0-7{fill:rgb(255,255,212)} -.YlOrBr .q1-7{fill:rgb(254,227,145)} -.YlOrBr .q2-7{fill:rgb(254,196,79)} -.YlOrBr .q3-7{fill:rgb(254,153,41)} -.YlOrBr .q4-7{fill:rgb(236,112,20)} -.YlOrBr .q5-7{fill:rgb(204,76,2)} -.YlOrBr .q6-7{fill:rgb(140,45,4)} -.YlOrBr .q0-8{fill:rgb(255,255,229)} -.YlOrBr .q1-8{fill:rgb(255,247,188)} -.YlOrBr .q2-8{fill:rgb(254,227,145)} -.YlOrBr .q3-8{fill:rgb(254,196,79)} -.YlOrBr .q4-8{fill:rgb(254,153,41)} -.YlOrBr .q5-8{fill:rgb(236,112,20)} -.YlOrBr .q6-8{fill:rgb(204,76,2)} -.YlOrBr .q7-8{fill:rgb(140,45,4)} -.YlOrBr .q0-9{fill:rgb(255,255,229)} -.YlOrBr .q1-9{fill:rgb(255,247,188)} -.YlOrBr .q2-9{fill:rgb(254,227,145)} -.YlOrBr .q3-9{fill:rgb(254,196,79)} -.YlOrBr .q4-9{fill:rgb(254,153,41)} -.YlOrBr .q5-9{fill:rgb(236,112,20)} -.YlOrBr .q6-9{fill:rgb(204,76,2)} -.YlOrBr .q7-9{fill:rgb(153,52,4)} -.YlOrBr .q8-9{fill:rgb(102,37,6)} -.Purples .q0-3{fill:rgb(239,237,245)} -.Purples .q1-3{fill:rgb(188,189,220)} -.Purples .q2-3{fill:rgb(117,107,177)} -.Purples .q0-4{fill:rgb(242,240,247)} -.Purples .q1-4{fill:rgb(203,201,226)} -.Purples .q2-4{fill:rgb(158,154,200)} -.Purples .q3-4{fill:rgb(106,81,163)} -.Purples .q0-5{fill:rgb(242,240,247)} -.Purples .q1-5{fill:rgb(203,201,226)} -.Purples .q2-5{fill:rgb(158,154,200)} -.Purples .q3-5{fill:rgb(117,107,177)} -.Purples .q4-5{fill:rgb(84,39,143)} -.Purples .q0-6{fill:rgb(242,240,247)} -.Purples .q1-6{fill:rgb(218,218,235)} -.Purples .q2-6{fill:rgb(188,189,220)} -.Purples .q3-6{fill:rgb(158,154,200)} -.Purples .q4-6{fill:rgb(117,107,177)} -.Purples .q5-6{fill:rgb(84,39,143)} -.Purples .q0-7{fill:rgb(242,240,247)} -.Purples .q1-7{fill:rgb(218,218,235)} -.Purples .q2-7{fill:rgb(188,189,220)} -.Purples .q3-7{fill:rgb(158,154,200)} -.Purples .q4-7{fill:rgb(128,125,186)} -.Purples .q5-7{fill:rgb(106,81,163)} -.Purples .q6-7{fill:rgb(74,20,134)} -.Purples .q0-8{fill:rgb(252,251,253)} -.Purples .q1-8{fill:rgb(239,237,245)} -.Purples .q2-8{fill:rgb(218,218,235)} -.Purples .q3-8{fill:rgb(188,189,220)} -.Purples .q4-8{fill:rgb(158,154,200)} -.Purples .q5-8{fill:rgb(128,125,186)} -.Purples .q6-8{fill:rgb(106,81,163)} -.Purples .q7-8{fill:rgb(74,20,134)} -.Purples .q0-9{fill:rgb(252,251,253)} -.Purples .q1-9{fill:rgb(239,237,245)} -.Purples .q2-9{fill:rgb(218,218,235)} -.Purples .q3-9{fill:rgb(188,189,220)} -.Purples .q4-9{fill:rgb(158,154,200)} -.Purples .q5-9{fill:rgb(128,125,186)} -.Purples .q6-9{fill:rgb(106,81,163)} -.Purples .q7-9{fill:rgb(84,39,143)} -.Purples .q8-9{fill:rgb(63,0,125)} -.Blues .q0-3{fill:rgb(222,235,247)} -.Blues .q1-3{fill:rgb(158,202,225)} -.Blues .q2-3{fill:rgb(49,130,189)} -.Blues .q0-4{fill:rgb(239,243,255)} -.Blues .q1-4{fill:rgb(189,215,231)} -.Blues .q2-4{fill:rgb(107,174,214)} -.Blues .q3-4{fill:rgb(33,113,181)} -.Blues .q0-5{fill:rgb(239,243,255)} -.Blues .q1-5{fill:rgb(189,215,231)} -.Blues .q2-5{fill:rgb(107,174,214)} -.Blues .q3-5{fill:rgb(49,130,189)} -.Blues .q4-5{fill:rgb(8,81,156)} -.Blues .q0-6{fill:rgb(239,243,255)} -.Blues .q1-6{fill:rgb(198,219,239)} -.Blues .q2-6{fill:rgb(158,202,225)} -.Blues .q3-6{fill:rgb(107,174,214)} -.Blues .q4-6{fill:rgb(49,130,189)} -.Blues .q5-6{fill:rgb(8,81,156)} -.Blues .q0-7{fill:rgb(239,243,255)} -.Blues .q1-7{fill:rgb(198,219,239)} -.Blues .q2-7{fill:rgb(158,202,225)} -.Blues .q3-7{fill:rgb(107,174,214)} -.Blues .q4-7{fill:rgb(66,146,198)} -.Blues .q5-7{fill:rgb(33,113,181)} -.Blues .q6-7{fill:rgb(8,69,148)} -.Blues .q0-8{fill:rgb(247,251,255)} -.Blues .q1-8{fill:rgb(222,235,247)} -.Blues .q2-8{fill:rgb(198,219,239)} -.Blues .q3-8{fill:rgb(158,202,225)} -.Blues .q4-8{fill:rgb(107,174,214)} -.Blues .q5-8{fill:rgb(66,146,198)} -.Blues .q6-8{fill:rgb(33,113,181)} -.Blues .q7-8{fill:rgb(8,69,148)} -.Blues .q0-9{fill:rgb(247,251,255)} -.Blues .q1-9{fill:rgb(222,235,247)} -.Blues .q2-9{fill:rgb(198,219,239)} -.Blues .q3-9{fill:rgb(158,202,225)} -.Blues .q4-9{fill:rgb(107,174,214)} -.Blues .q5-9{fill:rgb(66,146,198)} -.Blues .q6-9{fill:rgb(33,113,181)} -.Blues .q7-9{fill:rgb(8,81,156)} -.Blues .q8-9{fill:rgb(8,48,107)} -.Greens .q0-3{fill:rgb(229,245,224)} -.Greens .q1-3{fill:rgb(161,217,155)} -.Greens .q2-3{fill:rgb(49,163,84)} -.Greens .q0-4{fill:rgb(237,248,233)} -.Greens .q1-4{fill:rgb(186,228,179)} -.Greens .q2-4{fill:rgb(116,196,118)} -.Greens .q3-4{fill:rgb(35,139,69)} -.Greens .q0-5{fill:rgb(237,248,233)} -.Greens .q1-5{fill:rgb(186,228,179)} -.Greens .q2-5{fill:rgb(116,196,118)} -.Greens .q3-5{fill:rgb(49,163,84)} -.Greens .q4-5{fill:rgb(0,109,44)} -.Greens .q0-6{fill:rgb(237,248,233)} -.Greens .q1-6{fill:rgb(199,233,192)} -.Greens .q2-6{fill:rgb(161,217,155)} -.Greens .q3-6{fill:rgb(116,196,118)} -.Greens .q4-6{fill:rgb(49,163,84)} -.Greens .q5-6{fill:rgb(0,109,44)} -.Greens .q0-7{fill:rgb(237,248,233)} -.Greens .q1-7{fill:rgb(199,233,192)} -.Greens .q2-7{fill:rgb(161,217,155)} -.Greens .q3-7{fill:rgb(116,196,118)} -.Greens .q4-7{fill:rgb(65,171,93)} -.Greens .q5-7{fill:rgb(35,139,69)} -.Greens .q6-7{fill:rgb(0,90,50)} -.Greens .q0-8{fill:rgb(247,252,245)} -.Greens .q1-8{fill:rgb(229,245,224)} -.Greens .q2-8{fill:rgb(199,233,192)} -.Greens .q3-8{fill:rgb(161,217,155)} -.Greens .q4-8{fill:rgb(116,196,118)} -.Greens .q5-8{fill:rgb(65,171,93)} -.Greens .q6-8{fill:rgb(35,139,69)} -.Greens .q7-8{fill:rgb(0,90,50)} -.Greens .q0-9{fill:rgb(247,252,245)} -.Greens .q1-9{fill:rgb(229,245,224)} -.Greens .q2-9{fill:rgb(199,233,192)} -.Greens .q3-9{fill:rgb(161,217,155)} -.Greens .q4-9{fill:rgb(116,196,118)} -.Greens .q5-9{fill:rgb(65,171,93)} -.Greens .q6-9{fill:rgb(35,139,69)} -.Greens .q7-9{fill:rgb(0,109,44)} -.Greens .q8-9{fill:rgb(0,68,27)} -.Oranges .q0-3{fill:rgb(254,230,206)} -.Oranges .q1-3{fill:rgb(253,174,107)} -.Oranges .q2-3{fill:rgb(230,85,13)} -.Oranges .q0-4{fill:rgb(254,237,222)} -.Oranges .q1-4{fill:rgb(253,190,133)} -.Oranges .q2-4{fill:rgb(253,141,60)} -.Oranges .q3-4{fill:rgb(217,71,1)} -.Oranges .q0-5{fill:rgb(254,237,222)} -.Oranges .q1-5{fill:rgb(253,190,133)} -.Oranges .q2-5{fill:rgb(253,141,60)} -.Oranges .q3-5{fill:rgb(230,85,13)} -.Oranges .q4-5{fill:rgb(166,54,3)} -.Oranges .q0-6{fill:rgb(254,237,222)} -.Oranges .q1-6{fill:rgb(253,208,162)} -.Oranges .q2-6{fill:rgb(253,174,107)} -.Oranges .q3-6{fill:rgb(253,141,60)} -.Oranges .q4-6{fill:rgb(230,85,13)} -.Oranges .q5-6{fill:rgb(166,54,3)} -.Oranges .q0-7{fill:rgb(254,237,222)} -.Oranges .q1-7{fill:rgb(253,208,162)} -.Oranges .q2-7{fill:rgb(253,174,107)} -.Oranges .q3-7{fill:rgb(253,141,60)} -.Oranges .q4-7{fill:rgb(241,105,19)} -.Oranges .q5-7{fill:rgb(217,72,1)} -.Oranges .q6-7{fill:rgb(140,45,4)} -.Oranges .q0-8{fill:rgb(255,245,235)} -.Oranges .q1-8{fill:rgb(254,230,206)} -.Oranges .q2-8{fill:rgb(253,208,162)} -.Oranges .q3-8{fill:rgb(253,174,107)} -.Oranges .q4-8{fill:rgb(253,141,60)} -.Oranges .q5-8{fill:rgb(241,105,19)} -.Oranges .q6-8{fill:rgb(217,72,1)} -.Oranges .q7-8{fill:rgb(140,45,4)} -.Oranges .q0-9{fill:rgb(255,245,235)} -.Oranges .q1-9{fill:rgb(254,230,206)} -.Oranges .q2-9{fill:rgb(253,208,162)} -.Oranges .q3-9{fill:rgb(253,174,107)} -.Oranges .q4-9{fill:rgb(253,141,60)} -.Oranges .q5-9{fill:rgb(241,105,19)} -.Oranges .q6-9{fill:rgb(217,72,1)} -.Oranges .q7-9{fill:rgb(166,54,3)} -.Oranges .q8-9{fill:rgb(127,39,4)} -.Reds .q0-3{fill:rgb(254,224,210)} -.Reds .q1-3{fill:rgb(252,146,114)} -.Reds .q2-3{fill:rgb(222,45,38)} -.Reds .q0-4{fill:rgb(254,229,217)} -.Reds .q1-4{fill:rgb(252,174,145)} -.Reds .q2-4{fill:rgb(251,106,74)} -.Reds .q3-4{fill:rgb(203,24,29)} -.Reds .q0-5{fill:rgb(254,229,217)} -.Reds .q1-5{fill:rgb(252,174,145)} -.Reds .q2-5{fill:rgb(251,106,74)} -.Reds .q3-5{fill:rgb(222,45,38)} -.Reds .q4-5{fill:rgb(165,15,21)} -.Reds .q0-6{fill:rgb(254,229,217)} -.Reds .q1-6{fill:rgb(252,187,161)} -.Reds .q2-6{fill:rgb(252,146,114)} -.Reds .q3-6{fill:rgb(251,106,74)} -.Reds .q4-6{fill:rgb(222,45,38)} -.Reds .q5-6{fill:rgb(165,15,21)} -.Reds .q0-7{fill:rgb(254,229,217)} -.Reds .q1-7{fill:rgb(252,187,161)} -.Reds .q2-7{fill:rgb(252,146,114)} -.Reds .q3-7{fill:rgb(251,106,74)} -.Reds .q4-7{fill:rgb(239,59,44)} -.Reds .q5-7{fill:rgb(203,24,29)} -.Reds .q6-7{fill:rgb(153,0,13)} -.Reds .q0-8{fill:rgb(255,245,240)} -.Reds .q1-8{fill:rgb(254,224,210)} -.Reds .q2-8{fill:rgb(252,187,161)} -.Reds .q3-8{fill:rgb(252,146,114)} -.Reds .q4-8{fill:rgb(251,106,74)} -.Reds .q5-8{fill:rgb(239,59,44)} -.Reds .q6-8{fill:rgb(203,24,29)} -.Reds .q7-8{fill:rgb(153,0,13)} -.Reds .q0-9{fill:rgb(255,245,240)} -.Reds .q1-9{fill:rgb(254,224,210)} -.Reds .q2-9{fill:rgb(252,187,161)} -.Reds .q3-9{fill:rgb(252,146,114)} -.Reds .q4-9{fill:rgb(251,106,74)} -.Reds .q5-9{fill:rgb(239,59,44)} -.Reds .q6-9{fill:rgb(203,24,29)} -.Reds .q7-9{fill:rgb(165,15,21)} -.Reds .q8-9{fill:rgb(103,0,13)} -.Greys .q0-3{fill:rgb(240,240,240)} -.Greys .q1-3{fill:rgb(189,189,189)} -.Greys .q2-3{fill:rgb(99,99,99)} -.Greys .q0-4{fill:rgb(247,247,247)} -.Greys .q1-4{fill:rgb(204,204,204)} -.Greys .q2-4{fill:rgb(150,150,150)} -.Greys .q3-4{fill:rgb(82,82,82)} -.Greys .q0-5{fill:rgb(247,247,247)} -.Greys .q1-5{fill:rgb(204,204,204)} -.Greys .q2-5{fill:rgb(150,150,150)} -.Greys .q3-5{fill:rgb(99,99,99)} -.Greys .q4-5{fill:rgb(37,37,37)} -.Greys .q0-6{fill:rgb(247,247,247)} -.Greys .q1-6{fill:rgb(217,217,217)} -.Greys .q2-6{fill:rgb(189,189,189)} -.Greys .q3-6{fill:rgb(150,150,150)} -.Greys .q4-6{fill:rgb(99,99,99)} -.Greys .q5-6{fill:rgb(37,37,37)} -.Greys .q0-7{fill:rgb(247,247,247)} -.Greys .q1-7{fill:rgb(217,217,217)} -.Greys .q2-7{fill:rgb(189,189,189)} -.Greys .q3-7{fill:rgb(150,150,150)} -.Greys .q4-7{fill:rgb(115,115,115)} -.Greys .q5-7{fill:rgb(82,82,82)} -.Greys .q6-7{fill:rgb(37,37,37)} -.Greys .q0-8{fill:rgb(255,255,255)} -.Greys .q1-8{fill:rgb(240,240,240)} -.Greys .q2-8{fill:rgb(217,217,217)} -.Greys .q3-8{fill:rgb(189,189,189)} -.Greys .q4-8{fill:rgb(150,150,150)} -.Greys .q5-8{fill:rgb(115,115,115)} -.Greys .q6-8{fill:rgb(82,82,82)} -.Greys .q7-8{fill:rgb(37,37,37)} -.Greys .q0-9{fill:rgb(255,255,255)} -.Greys .q1-9{fill:rgb(240,240,240)} -.Greys .q2-9{fill:rgb(217,217,217)} -.Greys .q3-9{fill:rgb(189,189,189)} -.Greys .q4-9{fill:rgb(150,150,150)} -.Greys .q5-9{fill:rgb(115,115,115)} -.Greys .q6-9{fill:rgb(82,82,82)} -.Greys .q7-9{fill:rgb(37,37,37)} -.Greys .q8-9{fill:rgb(0,0,0)} -.PuOr .q0-3{fill:rgb(241,163,64)} -.PuOr .q1-3{fill:rgb(247,247,247)} -.PuOr .q2-3{fill:rgb(153,142,195)} -.PuOr .q0-4{fill:rgb(230,97,1)} -.PuOr .q1-4{fill:rgb(253,184,99)} -.PuOr .q2-4{fill:rgb(178,171,210)} -.PuOr .q3-4{fill:rgb(94,60,153)} -.PuOr .q0-5{fill:rgb(230,97,1)} -.PuOr .q1-5{fill:rgb(253,184,99)} -.PuOr .q2-5{fill:rgb(247,247,247)} -.PuOr .q3-5{fill:rgb(178,171,210)} -.PuOr .q4-5{fill:rgb(94,60,153)} -.PuOr .q0-6{fill:rgb(179,88,6)} -.PuOr .q1-6{fill:rgb(241,163,64)} -.PuOr .q2-6{fill:rgb(254,224,182)} -.PuOr .q3-6{fill:rgb(216,218,235)} -.PuOr .q4-6{fill:rgb(153,142,195)} -.PuOr .q5-6{fill:rgb(84,39,136)} -.PuOr .q0-7{fill:rgb(179,88,6)} -.PuOr .q1-7{fill:rgb(241,163,64)} -.PuOr .q2-7{fill:rgb(254,224,182)} -.PuOr .q3-7{fill:rgb(247,247,247)} -.PuOr .q4-7{fill:rgb(216,218,235)} -.PuOr .q5-7{fill:rgb(153,142,195)} -.PuOr .q6-7{fill:rgb(84,39,136)} -.PuOr .q0-8{fill:rgb(179,88,6)} -.PuOr .q1-8{fill:rgb(224,130,20)} -.PuOr .q2-8{fill:rgb(253,184,99)} -.PuOr .q3-8{fill:rgb(254,224,182)} -.PuOr .q4-8{fill:rgb(216,218,235)} -.PuOr .q5-8{fill:rgb(178,171,210)} -.PuOr .q6-8{fill:rgb(128,115,172)} -.PuOr .q7-8{fill:rgb(84,39,136)} -.PuOr .q0-9{fill:rgb(179,88,6)} -.PuOr .q1-9{fill:rgb(224,130,20)} -.PuOr .q2-9{fill:rgb(253,184,99)} -.PuOr .q3-9{fill:rgb(254,224,182)} -.PuOr .q4-9{fill:rgb(247,247,247)} -.PuOr .q5-9{fill:rgb(216,218,235)} -.PuOr .q6-9{fill:rgb(178,171,210)} -.PuOr .q7-9{fill:rgb(128,115,172)} -.PuOr .q8-9{fill:rgb(84,39,136)} -.PuOr .q0-10{fill:rgb(127,59,8)} -.PuOr .q1-10{fill:rgb(179,88,6)} -.PuOr .q2-10{fill:rgb(224,130,20)} -.PuOr .q3-10{fill:rgb(253,184,99)} -.PuOr .q4-10{fill:rgb(254,224,182)} -.PuOr .q5-10{fill:rgb(216,218,235)} -.PuOr .q6-10{fill:rgb(178,171,210)} -.PuOr .q7-10{fill:rgb(128,115,172)} -.PuOr .q8-10{fill:rgb(84,39,136)} -.PuOr .q9-10{fill:rgb(45,0,75)} -.PuOr .q0-11{fill:rgb(127,59,8)} -.PuOr .q1-11{fill:rgb(179,88,6)} -.PuOr .q2-11{fill:rgb(224,130,20)} -.PuOr .q3-11{fill:rgb(253,184,99)} -.PuOr .q4-11{fill:rgb(254,224,182)} -.PuOr .q5-11{fill:rgb(247,247,247)} -.PuOr .q6-11{fill:rgb(216,218,235)} -.PuOr .q7-11{fill:rgb(178,171,210)} -.PuOr .q8-11{fill:rgb(128,115,172)} -.PuOr .q9-11{fill:rgb(84,39,136)} -.PuOr .q10-11{fill:rgb(45,0,75)} -.BrBG .q0-3{fill:rgb(216,179,101)} -.BrBG .q1-3{fill:rgb(245,245,245)} -.BrBG .q2-3{fill:rgb(90,180,172)} -.BrBG .q0-4{fill:rgb(166,97,26)} -.BrBG .q1-4{fill:rgb(223,194,125)} -.BrBG .q2-4{fill:rgb(128,205,193)} -.BrBG .q3-4{fill:rgb(1,133,113)} -.BrBG .q0-5{fill:rgb(166,97,26)} -.BrBG .q1-5{fill:rgb(223,194,125)} -.BrBG .q2-5{fill:rgb(245,245,245)} -.BrBG .q3-5{fill:rgb(128,205,193)} -.BrBG .q4-5{fill:rgb(1,133,113)} -.BrBG .q0-6{fill:rgb(140,81,10)} -.BrBG .q1-6{fill:rgb(216,179,101)} -.BrBG .q2-6{fill:rgb(246,232,195)} -.BrBG .q3-6{fill:rgb(199,234,229)} -.BrBG .q4-6{fill:rgb(90,180,172)} -.BrBG .q5-6{fill:rgb(1,102,94)} -.BrBG .q0-7{fill:rgb(140,81,10)} -.BrBG .q1-7{fill:rgb(216,179,101)} -.BrBG .q2-7{fill:rgb(246,232,195)} -.BrBG .q3-7{fill:rgb(245,245,245)} -.BrBG .q4-7{fill:rgb(199,234,229)} -.BrBG .q5-7{fill:rgb(90,180,172)} -.BrBG .q6-7{fill:rgb(1,102,94)} -.BrBG .q0-8{fill:rgb(140,81,10)} -.BrBG .q1-8{fill:rgb(191,129,45)} -.BrBG .q2-8{fill:rgb(223,194,125)} -.BrBG .q3-8{fill:rgb(246,232,195)} -.BrBG .q4-8{fill:rgb(199,234,229)} -.BrBG .q5-8{fill:rgb(128,205,193)} -.BrBG .q6-8{fill:rgb(53,151,143)} -.BrBG .q7-8{fill:rgb(1,102,94)} -.BrBG .q0-9{fill:rgb(140,81,10)} -.BrBG .q1-9{fill:rgb(191,129,45)} -.BrBG .q2-9{fill:rgb(223,194,125)} -.BrBG .q3-9{fill:rgb(246,232,195)} -.BrBG .q4-9{fill:rgb(245,245,245)} -.BrBG .q5-9{fill:rgb(199,234,229)} -.BrBG .q6-9{fill:rgb(128,205,193)} -.BrBG .q7-9{fill:rgb(53,151,143)} -.BrBG .q8-9{fill:rgb(1,102,94)} -.BrBG .q0-10{fill:rgb(84,48,5)} -.BrBG .q1-10{fill:rgb(140,81,10)} -.BrBG .q2-10{fill:rgb(191,129,45)} -.BrBG .q3-10{fill:rgb(223,194,125)} -.BrBG .q4-10{fill:rgb(246,232,195)} -.BrBG .q5-10{fill:rgb(199,234,229)} -.BrBG .q6-10{fill:rgb(128,205,193)} -.BrBG .q7-10{fill:rgb(53,151,143)} -.BrBG .q8-10{fill:rgb(1,102,94)} -.BrBG .q9-10{fill:rgb(0,60,48)} -.BrBG .q0-11{fill:rgb(84,48,5)} -.BrBG .q1-11{fill:rgb(140,81,10)} -.BrBG .q2-11{fill:rgb(191,129,45)} -.BrBG .q3-11{fill:rgb(223,194,125)} -.BrBG .q4-11{fill:rgb(246,232,195)} -.BrBG .q5-11{fill:rgb(245,245,245)} -.BrBG .q6-11{fill:rgb(199,234,229)} -.BrBG .q7-11{fill:rgb(128,205,193)} -.BrBG .q8-11{fill:rgb(53,151,143)} -.BrBG .q9-11{fill:rgb(1,102,94)} -.BrBG .q10-11{fill:rgb(0,60,48)} -.PRGn .q0-3{fill:rgb(175,141,195)} -.PRGn .q1-3{fill:rgb(247,247,247)} -.PRGn .q2-3{fill:rgb(127,191,123)} -.PRGn .q0-4{fill:rgb(123,50,148)} -.PRGn .q1-4{fill:rgb(194,165,207)} -.PRGn .q2-4{fill:rgb(166,219,160)} -.PRGn .q3-4{fill:rgb(0,136,55)} -.PRGn .q0-5{fill:rgb(123,50,148)} -.PRGn .q1-5{fill:rgb(194,165,207)} -.PRGn .q2-5{fill:rgb(247,247,247)} -.PRGn .q3-5{fill:rgb(166,219,160)} -.PRGn .q4-5{fill:rgb(0,136,55)} -.PRGn .q0-6{fill:rgb(118,42,131)} -.PRGn .q1-6{fill:rgb(175,141,195)} -.PRGn .q2-6{fill:rgb(231,212,232)} -.PRGn .q3-6{fill:rgb(217,240,211)} -.PRGn .q4-6{fill:rgb(127,191,123)} -.PRGn .q5-6{fill:rgb(27,120,55)} -.PRGn .q0-7{fill:rgb(118,42,131)} -.PRGn .q1-7{fill:rgb(175,141,195)} -.PRGn .q2-7{fill:rgb(231,212,232)} -.PRGn .q3-7{fill:rgb(247,247,247)} -.PRGn .q4-7{fill:rgb(217,240,211)} -.PRGn .q5-7{fill:rgb(127,191,123)} -.PRGn .q6-7{fill:rgb(27,120,55)} -.PRGn .q0-8{fill:rgb(118,42,131)} -.PRGn .q1-8{fill:rgb(153,112,171)} -.PRGn .q2-8{fill:rgb(194,165,207)} -.PRGn .q3-8{fill:rgb(231,212,232)} -.PRGn .q4-8{fill:rgb(217,240,211)} -.PRGn .q5-8{fill:rgb(166,219,160)} -.PRGn .q6-8{fill:rgb(90,174,97)} -.PRGn .q7-8{fill:rgb(27,120,55)} -.PRGn .q0-9{fill:rgb(118,42,131)} -.PRGn .q1-9{fill:rgb(153,112,171)} -.PRGn .q2-9{fill:rgb(194,165,207)} -.PRGn .q3-9{fill:rgb(231,212,232)} -.PRGn .q4-9{fill:rgb(247,247,247)} -.PRGn .q5-9{fill:rgb(217,240,211)} -.PRGn .q6-9{fill:rgb(166,219,160)} -.PRGn .q7-9{fill:rgb(90,174,97)} -.PRGn .q8-9{fill:rgb(27,120,55)} -.PRGn .q0-10{fill:rgb(64,0,75)} -.PRGn .q1-10{fill:rgb(118,42,131)} -.PRGn .q2-10{fill:rgb(153,112,171)} -.PRGn .q3-10{fill:rgb(194,165,207)} -.PRGn .q4-10{fill:rgb(231,212,232)} -.PRGn .q5-10{fill:rgb(217,240,211)} -.PRGn .q6-10{fill:rgb(166,219,160)} -.PRGn .q7-10{fill:rgb(90,174,97)} -.PRGn .q8-10{fill:rgb(27,120,55)} -.PRGn .q9-10{fill:rgb(0,68,27)} -.PRGn .q0-11{fill:rgb(64,0,75)} -.PRGn .q1-11{fill:rgb(118,42,131)} -.PRGn .q2-11{fill:rgb(153,112,171)} -.PRGn .q3-11{fill:rgb(194,165,207)} -.PRGn .q4-11{fill:rgb(231,212,232)} -.PRGn .q5-11{fill:rgb(247,247,247)} -.PRGn .q6-11{fill:rgb(217,240,211)} -.PRGn .q7-11{fill:rgb(166,219,160)} -.PRGn .q8-11{fill:rgb(90,174,97)} -.PRGn .q9-11{fill:rgb(27,120,55)} -.PRGn .q10-11{fill:rgb(0,68,27)} -.PiYG .q0-3{fill:rgb(233,163,201)} -.PiYG .q1-3{fill:rgb(247,247,247)} -.PiYG .q2-3{fill:rgb(161,215,106)} -.PiYG .q0-4{fill:rgb(208,28,139)} -.PiYG .q1-4{fill:rgb(241,182,218)} -.PiYG .q2-4{fill:rgb(184,225,134)} -.PiYG .q3-4{fill:rgb(77,172,38)} -.PiYG .q0-5{fill:rgb(208,28,139)} -.PiYG .q1-5{fill:rgb(241,182,218)} -.PiYG .q2-5{fill:rgb(247,247,247)} -.PiYG .q3-5{fill:rgb(184,225,134)} -.PiYG .q4-5{fill:rgb(77,172,38)} -.PiYG .q0-6{fill:rgb(197,27,125)} -.PiYG .q1-6{fill:rgb(233,163,201)} -.PiYG .q2-6{fill:rgb(253,224,239)} -.PiYG .q3-6{fill:rgb(230,245,208)} -.PiYG .q4-6{fill:rgb(161,215,106)} -.PiYG .q5-6{fill:rgb(77,146,33)} -.PiYG .q0-7{fill:rgb(197,27,125)} -.PiYG .q1-7{fill:rgb(233,163,201)} -.PiYG .q2-7{fill:rgb(253,224,239)} -.PiYG .q3-7{fill:rgb(247,247,247)} -.PiYG .q4-7{fill:rgb(230,245,208)} -.PiYG .q5-7{fill:rgb(161,215,106)} -.PiYG .q6-7{fill:rgb(77,146,33)} -.PiYG .q0-8{fill:rgb(197,27,125)} -.PiYG .q1-8{fill:rgb(222,119,174)} -.PiYG .q2-8{fill:rgb(241,182,218)} -.PiYG .q3-8{fill:rgb(253,224,239)} -.PiYG .q4-8{fill:rgb(230,245,208)} -.PiYG .q5-8{fill:rgb(184,225,134)} -.PiYG .q6-8{fill:rgb(127,188,65)} -.PiYG .q7-8{fill:rgb(77,146,33)} -.PiYG .q0-9{fill:rgb(197,27,125)} -.PiYG .q1-9{fill:rgb(222,119,174)} -.PiYG .q2-9{fill:rgb(241,182,218)} -.PiYG .q3-9{fill:rgb(253,224,239)} -.PiYG .q4-9{fill:rgb(247,247,247)} -.PiYG .q5-9{fill:rgb(230,245,208)} -.PiYG .q6-9{fill:rgb(184,225,134)} -.PiYG .q7-9{fill:rgb(127,188,65)} -.PiYG .q8-9{fill:rgb(77,146,33)} -.PiYG .q0-10{fill:rgb(142,1,82)} -.PiYG .q1-10{fill:rgb(197,27,125)} -.PiYG .q2-10{fill:rgb(222,119,174)} -.PiYG .q3-10{fill:rgb(241,182,218)} -.PiYG .q4-10{fill:rgb(253,224,239)} -.PiYG .q5-10{fill:rgb(230,245,208)} -.PiYG .q6-10{fill:rgb(184,225,134)} -.PiYG .q7-10{fill:rgb(127,188,65)} -.PiYG .q8-10{fill:rgb(77,146,33)} -.PiYG .q9-10{fill:rgb(39,100,25)} -.PiYG .q0-11{fill:rgb(142,1,82)} -.PiYG .q1-11{fill:rgb(197,27,125)} -.PiYG .q2-11{fill:rgb(222,119,174)} -.PiYG .q3-11{fill:rgb(241,182,218)} -.PiYG .q4-11{fill:rgb(253,224,239)} -.PiYG .q5-11{fill:rgb(247,247,247)} -.PiYG .q6-11{fill:rgb(230,245,208)} -.PiYG .q7-11{fill:rgb(184,225,134)} -.PiYG .q8-11{fill:rgb(127,188,65)} -.PiYG .q9-11{fill:rgb(77,146,33)} -.PiYG .q10-11{fill:rgb(39,100,25)} -.RdBu .q0-3{fill:rgb(239,138,98)} -.RdBu .q1-3{fill:rgb(247,247,247)} -.RdBu .q2-3{fill:rgb(103,169,207)} -.RdBu .q0-4{fill:rgb(202,0,32)} -.RdBu .q1-4{fill:rgb(244,165,130)} -.RdBu .q2-4{fill:rgb(146,197,222)} -.RdBu .q3-4{fill:rgb(5,113,176)} -.RdBu .q0-5{fill:rgb(202,0,32)} -.RdBu .q1-5{fill:rgb(244,165,130)} -.RdBu .q2-5{fill:rgb(247,247,247)} -.RdBu .q3-5{fill:rgb(146,197,222)} -.RdBu .q4-5{fill:rgb(5,113,176)} -.RdBu .q0-6{fill:rgb(178,24,43)} -.RdBu .q1-6{fill:rgb(239,138,98)} -.RdBu .q2-6{fill:rgb(253,219,199)} -.RdBu .q3-6{fill:rgb(209,229,240)} -.RdBu .q4-6{fill:rgb(103,169,207)} -.RdBu .q5-6{fill:rgb(33,102,172)} -.RdBu .q0-7{fill:rgb(178,24,43)} -.RdBu .q1-7{fill:rgb(239,138,98)} -.RdBu .q2-7{fill:rgb(253,219,199)} -.RdBu .q3-7{fill:rgb(247,247,247)} -.RdBu .q4-7{fill:rgb(209,229,240)} -.RdBu .q5-7{fill:rgb(103,169,207)} -.RdBu .q6-7{fill:rgb(33,102,172)} -.RdBu .q0-8{fill:rgb(178,24,43)} -.RdBu .q1-8{fill:rgb(214,96,77)} -.RdBu .q2-8{fill:rgb(244,165,130)} -.RdBu .q3-8{fill:rgb(253,219,199)} -.RdBu .q4-8{fill:rgb(209,229,240)} -.RdBu .q5-8{fill:rgb(146,197,222)} -.RdBu .q6-8{fill:rgb(67,147,195)} -.RdBu .q7-8{fill:rgb(33,102,172)} -.RdBu .q0-9{fill:rgb(178,24,43)} -.RdBu .q1-9{fill:rgb(214,96,77)} -.RdBu .q2-9{fill:rgb(244,165,130)} -.RdBu .q3-9{fill:rgb(253,219,199)} -.RdBu .q4-9{fill:rgb(247,247,247)} -.RdBu .q5-9{fill:rgb(209,229,240)} -.RdBu .q6-9{fill:rgb(146,197,222)} -.RdBu .q7-9{fill:rgb(67,147,195)} -.RdBu .q8-9{fill:rgb(33,102,172)} -.RdBu .q0-10{fill:rgb(103,0,31)} -.RdBu .q1-10{fill:rgb(178,24,43)} -.RdBu .q2-10{fill:rgb(214,96,77)} -.RdBu .q3-10{fill:rgb(244,165,130)} -.RdBu .q4-10{fill:rgb(253,219,199)} -.RdBu .q5-10{fill:rgb(209,229,240)} -.RdBu .q6-10{fill:rgb(146,197,222)} -.RdBu .q7-10{fill:rgb(67,147,195)} -.RdBu .q8-10{fill:rgb(33,102,172)} -.RdBu .q9-10{fill:rgb(5,48,97)} -.RdBu .q0-11{fill:rgb(103,0,31)} -.RdBu .q1-11{fill:rgb(178,24,43)} -.RdBu .q2-11{fill:rgb(214,96,77)} -.RdBu .q3-11{fill:rgb(244,165,130)} -.RdBu .q4-11{fill:rgb(253,219,199)} -.RdBu .q5-11{fill:rgb(247,247,247)} -.RdBu .q6-11{fill:rgb(209,229,240)} -.RdBu .q7-11{fill:rgb(146,197,222)} -.RdBu .q8-11{fill:rgb(67,147,195)} -.RdBu .q9-11{fill:rgb(33,102,172)} -.RdBu .q10-11{fill:rgb(5,48,97)} -.RdGy .q0-3{fill:rgb(239,138,98)} -.RdGy .q1-3{fill:rgb(255,255,255)} -.RdGy .q2-3{fill:rgb(153,153,153)} -.RdGy .q0-4{fill:rgb(202,0,32)} -.RdGy .q1-4{fill:rgb(244,165,130)} -.RdGy .q2-4{fill:rgb(186,186,186)} -.RdGy .q3-4{fill:rgb(64,64,64)} -.RdGy .q0-5{fill:rgb(202,0,32)} -.RdGy .q1-5{fill:rgb(244,165,130)} -.RdGy .q2-5{fill:rgb(255,255,255)} -.RdGy .q3-5{fill:rgb(186,186,186)} -.RdGy .q4-5{fill:rgb(64,64,64)} -.RdGy .q0-6{fill:rgb(178,24,43)} -.RdGy .q1-6{fill:rgb(239,138,98)} -.RdGy .q2-6{fill:rgb(253,219,199)} -.RdGy .q3-6{fill:rgb(224,224,224)} -.RdGy .q4-6{fill:rgb(153,153,153)} -.RdGy .q5-6{fill:rgb(77,77,77)} -.RdGy .q0-7{fill:rgb(178,24,43)} -.RdGy .q1-7{fill:rgb(239,138,98)} -.RdGy .q2-7{fill:rgb(253,219,199)} -.RdGy .q3-7{fill:rgb(255,255,255)} -.RdGy .q4-7{fill:rgb(224,224,224)} -.RdGy .q5-7{fill:rgb(153,153,153)} -.RdGy .q6-7{fill:rgb(77,77,77)} -.RdGy .q0-8{fill:rgb(178,24,43)} -.RdGy .q1-8{fill:rgb(214,96,77)} -.RdGy .q2-8{fill:rgb(244,165,130)} -.RdGy .q3-8{fill:rgb(253,219,199)} -.RdGy .q4-8{fill:rgb(224,224,224)} -.RdGy .q5-8{fill:rgb(186,186,186)} -.RdGy .q6-8{fill:rgb(135,135,135)} -.RdGy .q7-8{fill:rgb(77,77,77)} -.RdGy .q0-9{fill:rgb(178,24,43)} -.RdGy .q1-9{fill:rgb(214,96,77)} -.RdGy .q2-9{fill:rgb(244,165,130)} -.RdGy .q3-9{fill:rgb(253,219,199)} -.RdGy .q4-9{fill:rgb(255,255,255)} -.RdGy .q5-9{fill:rgb(224,224,224)} -.RdGy .q6-9{fill:rgb(186,186,186)} -.RdGy .q7-9{fill:rgb(135,135,135)} -.RdGy .q8-9{fill:rgb(77,77,77)} -.RdGy .q0-10{fill:rgb(103,0,31)} -.RdGy .q1-10{fill:rgb(178,24,43)} -.RdGy .q2-10{fill:rgb(214,96,77)} -.RdGy .q3-10{fill:rgb(244,165,130)} -.RdGy .q4-10{fill:rgb(253,219,199)} -.RdGy .q5-10{fill:rgb(224,224,224)} -.RdGy .q6-10{fill:rgb(186,186,186)} -.RdGy .q7-10{fill:rgb(135,135,135)} -.RdGy .q8-10{fill:rgb(77,77,77)} -.RdGy .q9-10{fill:rgb(26,26,26)} -.RdGy .q0-11{fill:rgb(103,0,31)} -.RdGy .q1-11{fill:rgb(178,24,43)} -.RdGy .q2-11{fill:rgb(214,96,77)} -.RdGy .q3-11{fill:rgb(244,165,130)} -.RdGy .q4-11{fill:rgb(253,219,199)} -.RdGy .q5-11{fill:rgb(255,255,255)} -.RdGy .q6-11{fill:rgb(224,224,224)} -.RdGy .q7-11{fill:rgb(186,186,186)} -.RdGy .q8-11{fill:rgb(135,135,135)} -.RdGy .q9-11{fill:rgb(77,77,77)} -.RdGy .q10-11{fill:rgb(26,26,26)} -.RdYlBu .q0-3{fill:rgb(252,141,89)} -.RdYlBu .q1-3{fill:rgb(255,255,191)} -.RdYlBu .q2-3{fill:rgb(145,191,219)} -.RdYlBu .q0-4{fill:rgb(215,25,28)} -.RdYlBu .q1-4{fill:rgb(253,174,97)} -.RdYlBu .q2-4{fill:rgb(171,217,233)} -.RdYlBu .q3-4{fill:rgb(44,123,182)} -.RdYlBu .q0-5{fill:rgb(215,25,28)} -.RdYlBu .q1-5{fill:rgb(253,174,97)} -.RdYlBu .q2-5{fill:rgb(255,255,191)} -.RdYlBu .q3-5{fill:rgb(171,217,233)} -.RdYlBu .q4-5{fill:rgb(44,123,182)} -.RdYlBu .q0-6{fill:rgb(215,48,39)} -.RdYlBu .q1-6{fill:rgb(252,141,89)} -.RdYlBu .q2-6{fill:rgb(254,224,144)} -.RdYlBu .q3-6{fill:rgb(224,243,248)} -.RdYlBu .q4-6{fill:rgb(145,191,219)} -.RdYlBu .q5-6{fill:rgb(69,117,180)} -.RdYlBu .q0-7{fill:rgb(215,48,39)} -.RdYlBu .q1-7{fill:rgb(252,141,89)} -.RdYlBu .q2-7{fill:rgb(254,224,144)} -.RdYlBu .q3-7{fill:rgb(255,255,191)} -.RdYlBu .q4-7{fill:rgb(224,243,248)} -.RdYlBu .q5-7{fill:rgb(145,191,219)} -.RdYlBu .q6-7{fill:rgb(69,117,180)} -.RdYlBu .q0-8{fill:rgb(215,48,39)} -.RdYlBu .q1-8{fill:rgb(244,109,67)} -.RdYlBu .q2-8{fill:rgb(253,174,97)} -.RdYlBu .q3-8{fill:rgb(254,224,144)} -.RdYlBu .q4-8{fill:rgb(224,243,248)} -.RdYlBu .q5-8{fill:rgb(171,217,233)} -.RdYlBu .q6-8{fill:rgb(116,173,209)} -.RdYlBu .q7-8{fill:rgb(69,117,180)} -.RdYlBu .q0-9{fill:rgb(215,48,39)} -.RdYlBu .q1-9{fill:rgb(244,109,67)} -.RdYlBu .q2-9{fill:rgb(253,174,97)} -.RdYlBu .q3-9{fill:rgb(254,224,144)} -.RdYlBu .q4-9{fill:rgb(255,255,191)} -.RdYlBu .q5-9{fill:rgb(224,243,248)} -.RdYlBu .q6-9{fill:rgb(171,217,233)} -.RdYlBu .q7-9{fill:rgb(116,173,209)} -.RdYlBu .q8-9{fill:rgb(69,117,180)} -.RdYlBu .q0-10{fill:rgb(165,0,38)} -.RdYlBu .q1-10{fill:rgb(215,48,39)} -.RdYlBu .q2-10{fill:rgb(244,109,67)} -.RdYlBu .q3-10{fill:rgb(253,174,97)} -.RdYlBu .q4-10{fill:rgb(254,224,144)} -.RdYlBu .q5-10{fill:rgb(224,243,248)} -.RdYlBu .q6-10{fill:rgb(171,217,233)} -.RdYlBu .q7-10{fill:rgb(116,173,209)} -.RdYlBu .q8-10{fill:rgb(69,117,180)} -.RdYlBu .q9-10{fill:rgb(49,54,149)} -.RdYlBu .q0-11{fill:rgb(165,0,38)} -.RdYlBu .q1-11{fill:rgb(215,48,39)} -.RdYlBu .q2-11{fill:rgb(244,109,67)} -.RdYlBu .q3-11{fill:rgb(253,174,97)} -.RdYlBu .q4-11{fill:rgb(254,224,144)} -.RdYlBu .q5-11{fill:rgb(255,255,191)} -.RdYlBu .q6-11{fill:rgb(224,243,248)} -.RdYlBu .q7-11{fill:rgb(171,217,233)} -.RdYlBu .q8-11{fill:rgb(116,173,209)} -.RdYlBu .q9-11{fill:rgb(69,117,180)} -.RdYlBu .q10-11{fill:rgb(49,54,149)} -.Spectral .q0-3{fill:rgb(252,141,89)} -.Spectral .q1-3{fill:rgb(255,255,191)} -.Spectral .q2-3{fill:rgb(153,213,148)} -.Spectral .q0-4{fill:rgb(215,25,28)} -.Spectral .q1-4{fill:rgb(253,174,97)} -.Spectral .q2-4{fill:rgb(171,221,164)} -.Spectral .q3-4{fill:rgb(43,131,186)} -.Spectral .q0-5{fill:rgb(215,25,28)} -.Spectral .q1-5{fill:rgb(253,174,97)} -.Spectral .q2-5{fill:rgb(255,255,191)} -.Spectral .q3-5{fill:rgb(171,221,164)} -.Spectral .q4-5{fill:rgb(43,131,186)} -.Spectral .q0-6{fill:rgb(213,62,79)} -.Spectral .q1-6{fill:rgb(252,141,89)} -.Spectral .q2-6{fill:rgb(254,224,139)} -.Spectral .q3-6{fill:rgb(230,245,152)} -.Spectral .q4-6{fill:rgb(153,213,148)} -.Spectral .q5-6{fill:rgb(50,136,189)} -.Spectral .q0-7{fill:rgb(213,62,79)} -.Spectral .q1-7{fill:rgb(252,141,89)} -.Spectral .q2-7{fill:rgb(254,224,139)} -.Spectral .q3-7{fill:rgb(255,255,191)} -.Spectral .q4-7{fill:rgb(230,245,152)} -.Spectral .q5-7{fill:rgb(153,213,148)} -.Spectral .q6-7{fill:rgb(50,136,189)} -.Spectral .q0-8{fill:rgb(213,62,79)} -.Spectral .q1-8{fill:rgb(244,109,67)} -.Spectral .q2-8{fill:rgb(253,174,97)} -.Spectral .q3-8{fill:rgb(254,224,139)} -.Spectral .q4-8{fill:rgb(230,245,152)} -.Spectral .q5-8{fill:rgb(171,221,164)} -.Spectral .q6-8{fill:rgb(102,194,165)} -.Spectral .q7-8{fill:rgb(50,136,189)} -.Spectral .q0-9{fill:rgb(213,62,79)} -.Spectral .q1-9{fill:rgb(244,109,67)} -.Spectral .q2-9{fill:rgb(253,174,97)} -.Spectral .q3-9{fill:rgb(254,224,139)} -.Spectral .q4-9{fill:rgb(255,255,191)} -.Spectral .q5-9{fill:rgb(230,245,152)} -.Spectral .q6-9{fill:rgb(171,221,164)} -.Spectral .q7-9{fill:rgb(102,194,165)} -.Spectral .q8-9{fill:rgb(50,136,189)} -.Spectral .q0-10{fill:rgb(158,1,66)} -.Spectral .q1-10{fill:rgb(213,62,79)} -.Spectral .q2-10{fill:rgb(244,109,67)} -.Spectral .q3-10{fill:rgb(253,174,97)} -.Spectral .q4-10{fill:rgb(254,224,139)} -.Spectral .q5-10{fill:rgb(230,245,152)} -.Spectral .q6-10{fill:rgb(171,221,164)} -.Spectral .q7-10{fill:rgb(102,194,165)} -.Spectral .q8-10{fill:rgb(50,136,189)} -.Spectral .q9-10{fill:rgb(94,79,162)} -.Spectral .q0-11{fill:rgb(158,1,66)} -.Spectral .q1-11{fill:rgb(213,62,79)} -.Spectral .q2-11{fill:rgb(244,109,67)} -.Spectral .q3-11{fill:rgb(253,174,97)} -.Spectral .q4-11{fill:rgb(254,224,139)} -.Spectral .q5-11{fill:rgb(255,255,191)} -.Spectral .q6-11{fill:rgb(230,245,152)} -.Spectral .q7-11{fill:rgb(171,221,164)} -.Spectral .q8-11{fill:rgb(102,194,165)} -.Spectral .q9-11{fill:rgb(50,136,189)} -.Spectral .q10-11{fill:rgb(94,79,162)} -.RdYlGn .q0-3{fill:rgb(252,141,89)} -.RdYlGn .q1-3{fill:rgb(255,255,191)} -.RdYlGn .q2-3{fill:rgb(145,207,96)} -.RdYlGn .q0-4{fill:rgb(215,25,28)} -.RdYlGn .q1-4{fill:rgb(253,174,97)} -.RdYlGn .q2-4{fill:rgb(166,217,106)} -.RdYlGn .q3-4{fill:rgb(26,150,65)} -.RdYlGn .q0-5{fill:rgb(215,25,28)} -.RdYlGn .q1-5{fill:rgb(253,174,97)} -.RdYlGn .q2-5{fill:rgb(255,255,191)} -.RdYlGn .q3-5{fill:rgb(166,217,106)} -.RdYlGn .q4-5{fill:rgb(26,150,65)} -.RdYlGn .q0-6{fill:rgb(215,48,39)} -.RdYlGn .q1-6{fill:rgb(252,141,89)} -.RdYlGn .q2-6{fill:rgb(254,224,139)} -.RdYlGn .q3-6{fill:rgb(217,239,139)} -.RdYlGn .q4-6{fill:rgb(145,207,96)} -.RdYlGn .q5-6{fill:rgb(26,152,80)} -.RdYlGn .q0-7{fill:rgb(215,48,39)} -.RdYlGn .q1-7{fill:rgb(252,141,89)} -.RdYlGn .q2-7{fill:rgb(254,224,139)} -.RdYlGn .q3-7{fill:rgb(255,255,191)} -.RdYlGn .q4-7{fill:rgb(217,239,139)} -.RdYlGn .q5-7{fill:rgb(145,207,96)} -.RdYlGn .q6-7{fill:rgb(26,152,80)} -.RdYlGn .q0-8{fill:rgb(215,48,39)} -.RdYlGn .q1-8{fill:rgb(244,109,67)} -.RdYlGn .q2-8{fill:rgb(253,174,97)} -.RdYlGn .q3-8{fill:rgb(254,224,139)} -.RdYlGn .q4-8{fill:rgb(217,239,139)} -.RdYlGn .q5-8{fill:rgb(166,217,106)} -.RdYlGn .q6-8{fill:rgb(102,189,99)} -.RdYlGn .q7-8{fill:rgb(26,152,80)} -.RdYlGn .q0-9{fill:rgb(215,48,39)} -.RdYlGn .q1-9{fill:rgb(244,109,67)} -.RdYlGn .q2-9{fill:rgb(253,174,97)} -.RdYlGn .q3-9{fill:rgb(254,224,139)} -.RdYlGn .q4-9{fill:rgb(255,255,191)} -.RdYlGn .q5-9{fill:rgb(217,239,139)} -.RdYlGn .q6-9{fill:rgb(166,217,106)} -.RdYlGn .q7-9{fill:rgb(102,189,99)} -.RdYlGn .q8-9{fill:rgb(26,152,80)} -.RdYlGn .q0-10{fill:rgb(165,0,38)} -.RdYlGn .q1-10{fill:rgb(215,48,39)} -.RdYlGn .q2-10{fill:rgb(244,109,67)} -.RdYlGn .q3-10{fill:rgb(253,174,97)} -.RdYlGn .q4-10{fill:rgb(254,224,139)} -.RdYlGn .q5-10{fill:rgb(217,239,139)} -.RdYlGn .q6-10{fill:rgb(166,217,106)} -.RdYlGn .q7-10{fill:rgb(102,189,99)} -.RdYlGn .q8-10{fill:rgb(26,152,80)} -.RdYlGn .q9-10{fill:rgb(0,104,55)} -.RdYlGn .q0-11{fill:rgb(165,0,38)} -.RdYlGn .q1-11{fill:rgb(215,48,39)} -.RdYlGn .q2-11{fill:rgb(244,109,67)} -.RdYlGn .q3-11{fill:rgb(253,174,97)} -.RdYlGn .q4-11{fill:rgb(254,224,139)} -.RdYlGn .q5-11{fill:rgb(255,255,191)} -.RdYlGn .q6-11{fill:rgb(217,239,139)} -.RdYlGn .q7-11{fill:rgb(166,217,106)} -.RdYlGn .q8-11{fill:rgb(102,189,99)} -.RdYlGn .q9-11{fill:rgb(26,152,80)} -.RdYlGn .q10-11{fill:rgb(0,104,55)} -.Accent .q0-3{fill:rgb(127,201,127)} -.Accent .q1-3{fill:rgb(190,174,212)} -.Accent .q2-3{fill:rgb(253,192,134)} -.Accent .q0-4{fill:rgb(127,201,127)} -.Accent .q1-4{fill:rgb(190,174,212)} -.Accent .q2-4{fill:rgb(253,192,134)} -.Accent .q3-4{fill:rgb(255,255,153)} -.Accent .q0-5{fill:rgb(127,201,127)} -.Accent .q1-5{fill:rgb(190,174,212)} -.Accent .q2-5{fill:rgb(253,192,134)} -.Accent .q3-5{fill:rgb(255,255,153)} -.Accent .q4-5{fill:rgb(56,108,176)} -.Accent .q0-6{fill:rgb(127,201,127)} -.Accent .q1-6{fill:rgb(190,174,212)} -.Accent .q2-6{fill:rgb(253,192,134)} -.Accent .q3-6{fill:rgb(255,255,153)} -.Accent .q4-6{fill:rgb(56,108,176)} -.Accent .q5-6{fill:rgb(240,2,127)} -.Accent .q0-7{fill:rgb(127,201,127)} -.Accent .q1-7{fill:rgb(190,174,212)} -.Accent .q2-7{fill:rgb(253,192,134)} -.Accent .q3-7{fill:rgb(255,255,153)} -.Accent .q4-7{fill:rgb(56,108,176)} -.Accent .q5-7{fill:rgb(240,2,127)} -.Accent .q6-7{fill:rgb(191,91,23)} -.Accent .q0-8{fill:rgb(127,201,127)} -.Accent .q1-8{fill:rgb(190,174,212)} -.Accent .q2-8{fill:rgb(253,192,134)} -.Accent .q3-8{fill:rgb(255,255,153)} -.Accent .q4-8{fill:rgb(56,108,176)} -.Accent .q5-8{fill:rgb(240,2,127)} -.Accent .q6-8{fill:rgb(191,91,23)} -.Accent .q7-8{fill:rgb(102,102,102)} -.Dark2 .q0-3{fill:rgb(27,158,119)} -.Dark2 .q1-3{fill:rgb(217,95,2)} -.Dark2 .q2-3{fill:rgb(117,112,179)} -.Dark2 .q0-4{fill:rgb(27,158,119)} -.Dark2 .q1-4{fill:rgb(217,95,2)} -.Dark2 .q2-4{fill:rgb(117,112,179)} -.Dark2 .q3-4{fill:rgb(231,41,138)} -.Dark2 .q0-5{fill:rgb(27,158,119)} -.Dark2 .q1-5{fill:rgb(217,95,2)} -.Dark2 .q2-5{fill:rgb(117,112,179)} -.Dark2 .q3-5{fill:rgb(231,41,138)} -.Dark2 .q4-5{fill:rgb(102,166,30)} -.Dark2 .q0-6{fill:rgb(27,158,119)} -.Dark2 .q1-6{fill:rgb(217,95,2)} -.Dark2 .q2-6{fill:rgb(117,112,179)} -.Dark2 .q3-6{fill:rgb(231,41,138)} -.Dark2 .q4-6{fill:rgb(102,166,30)} -.Dark2 .q5-6{fill:rgb(230,171,2)} -.Dark2 .q0-7{fill:rgb(27,158,119)} -.Dark2 .q1-7{fill:rgb(217,95,2)} -.Dark2 .q2-7{fill:rgb(117,112,179)} -.Dark2 .q3-7{fill:rgb(231,41,138)} -.Dark2 .q4-7{fill:rgb(102,166,30)} -.Dark2 .q5-7{fill:rgb(230,171,2)} -.Dark2 .q6-7{fill:rgb(166,118,29)} -.Dark2 .q0-8{fill:rgb(27,158,119)} -.Dark2 .q1-8{fill:rgb(217,95,2)} -.Dark2 .q2-8{fill:rgb(117,112,179)} -.Dark2 .q3-8{fill:rgb(231,41,138)} -.Dark2 .q4-8{fill:rgb(102,166,30)} -.Dark2 .q5-8{fill:rgb(230,171,2)} -.Dark2 .q6-8{fill:rgb(166,118,29)} -.Dark2 .q7-8{fill:rgb(102,102,102)} -.Paired .q0-3{fill:rgb(166,206,227)} -.Paired .q1-3{fill:rgb(31,120,180)} -.Paired .q2-3{fill:rgb(178,223,138)} -.Paired .q0-4{fill:rgb(166,206,227)} -.Paired .q1-4{fill:rgb(31,120,180)} -.Paired .q2-4{fill:rgb(178,223,138)} -.Paired .q3-4{fill:rgb(51,160,44)} -.Paired .q0-5{fill:rgb(166,206,227)} -.Paired .q1-5{fill:rgb(31,120,180)} -.Paired .q2-5{fill:rgb(178,223,138)} -.Paired .q3-5{fill:rgb(51,160,44)} -.Paired .q4-5{fill:rgb(251,154,153)} -.Paired .q0-6{fill:rgb(166,206,227)} -.Paired .q1-6{fill:rgb(31,120,180)} -.Paired .q2-6{fill:rgb(178,223,138)} -.Paired .q3-6{fill:rgb(51,160,44)} -.Paired .q4-6{fill:rgb(251,154,153)} -.Paired .q5-6{fill:rgb(227,26,28)} -.Paired .q0-7{fill:rgb(166,206,227)} -.Paired .q1-7{fill:rgb(31,120,180)} -.Paired .q2-7{fill:rgb(178,223,138)} -.Paired .q3-7{fill:rgb(51,160,44)} -.Paired .q4-7{fill:rgb(251,154,153)} -.Paired .q5-7{fill:rgb(227,26,28)} -.Paired .q6-7{fill:rgb(253,191,111)} -.Paired .q0-8{fill:rgb(166,206,227)} -.Paired .q1-8{fill:rgb(31,120,180)} -.Paired .q2-8{fill:rgb(178,223,138)} -.Paired .q3-8{fill:rgb(51,160,44)} -.Paired .q4-8{fill:rgb(251,154,153)} -.Paired .q5-8{fill:rgb(227,26,28)} -.Paired .q6-8{fill:rgb(253,191,111)} -.Paired .q7-8{fill:rgb(255,127,0)} -.Paired .q0-9{fill:rgb(166,206,227)} -.Paired .q1-9{fill:rgb(31,120,180)} -.Paired .q2-9{fill:rgb(178,223,138)} -.Paired .q3-9{fill:rgb(51,160,44)} -.Paired .q4-9{fill:rgb(251,154,153)} -.Paired .q5-9{fill:rgb(227,26,28)} -.Paired .q6-9{fill:rgb(253,191,111)} -.Paired .q7-9{fill:rgb(255,127,0)} -.Paired .q8-9{fill:rgb(202,178,214)} -.Paired .q0-10{fill:rgb(166,206,227)} -.Paired .q1-10{fill:rgb(31,120,180)} -.Paired .q2-10{fill:rgb(178,223,138)} -.Paired .q3-10{fill:rgb(51,160,44)} -.Paired .q4-10{fill:rgb(251,154,153)} -.Paired .q5-10{fill:rgb(227,26,28)} -.Paired .q6-10{fill:rgb(253,191,111)} -.Paired .q7-10{fill:rgb(255,127,0)} -.Paired .q8-10{fill:rgb(202,178,214)} -.Paired .q9-10{fill:rgb(106,61,154)} -.Paired .q0-11{fill:rgb(166,206,227)} -.Paired .q1-11{fill:rgb(31,120,180)} -.Paired .q2-11{fill:rgb(178,223,138)} -.Paired .q3-11{fill:rgb(51,160,44)} -.Paired .q4-11{fill:rgb(251,154,153)} -.Paired .q5-11{fill:rgb(227,26,28)} -.Paired .q6-11{fill:rgb(253,191,111)} -.Paired .q7-11{fill:rgb(255,127,0)} -.Paired .q8-11{fill:rgb(202,178,214)} -.Paired .q9-11{fill:rgb(106,61,154)} -.Paired .q10-11{fill:rgb(255,255,153)} -.Paired .q0-12{fill:rgb(166,206,227)} -.Paired .q1-12{fill:rgb(31,120,180)} -.Paired .q2-12{fill:rgb(178,223,138)} -.Paired .q3-12{fill:rgb(51,160,44)} -.Paired .q4-12{fill:rgb(251,154,153)} -.Paired .q5-12{fill:rgb(227,26,28)} -.Paired .q6-12{fill:rgb(253,191,111)} -.Paired .q7-12{fill:rgb(255,127,0)} -.Paired .q8-12{fill:rgb(202,178,214)} -.Paired .q9-12{fill:rgb(106,61,154)} -.Paired .q10-12{fill:rgb(255,255,153)} -.Paired .q11-12{fill:rgb(177,89,40)} -.Pastel1 .q0-3{fill:rgb(251,180,174)} -.Pastel1 .q1-3{fill:rgb(179,205,227)} -.Pastel1 .q2-3{fill:rgb(204,235,197)} -.Pastel1 .q0-4{fill:rgb(251,180,174)} -.Pastel1 .q1-4{fill:rgb(179,205,227)} -.Pastel1 .q2-4{fill:rgb(204,235,197)} -.Pastel1 .q3-4{fill:rgb(222,203,228)} -.Pastel1 .q0-5{fill:rgb(251,180,174)} -.Pastel1 .q1-5{fill:rgb(179,205,227)} -.Pastel1 .q2-5{fill:rgb(204,235,197)} -.Pastel1 .q3-5{fill:rgb(222,203,228)} -.Pastel1 .q4-5{fill:rgb(254,217,166)} -.Pastel1 .q0-6{fill:rgb(251,180,174)} -.Pastel1 .q1-6{fill:rgb(179,205,227)} -.Pastel1 .q2-6{fill:rgb(204,235,197)} -.Pastel1 .q3-6{fill:rgb(222,203,228)} -.Pastel1 .q4-6{fill:rgb(254,217,166)} -.Pastel1 .q5-6{fill:rgb(255,255,204)} -.Pastel1 .q0-7{fill:rgb(251,180,174)} -.Pastel1 .q1-7{fill:rgb(179,205,227)} -.Pastel1 .q2-7{fill:rgb(204,235,197)} -.Pastel1 .q3-7{fill:rgb(222,203,228)} -.Pastel1 .q4-7{fill:rgb(254,217,166)} -.Pastel1 .q5-7{fill:rgb(255,255,204)} -.Pastel1 .q6-7{fill:rgb(229,216,189)} -.Pastel1 .q0-8{fill:rgb(251,180,174)} -.Pastel1 .q1-8{fill:rgb(179,205,227)} -.Pastel1 .q2-8{fill:rgb(204,235,197)} -.Pastel1 .q3-8{fill:rgb(222,203,228)} -.Pastel1 .q4-8{fill:rgb(254,217,166)} -.Pastel1 .q5-8{fill:rgb(255,255,204)} -.Pastel1 .q6-8{fill:rgb(229,216,189)} -.Pastel1 .q7-8{fill:rgb(253,218,236)} -.Pastel1 .q0-9{fill:rgb(251,180,174)} -.Pastel1 .q1-9{fill:rgb(179,205,227)} -.Pastel1 .q2-9{fill:rgb(204,235,197)} -.Pastel1 .q3-9{fill:rgb(222,203,228)} -.Pastel1 .q4-9{fill:rgb(254,217,166)} -.Pastel1 .q5-9{fill:rgb(255,255,204)} -.Pastel1 .q6-9{fill:rgb(229,216,189)} -.Pastel1 .q7-9{fill:rgb(253,218,236)} -.Pastel1 .q8-9{fill:rgb(242,242,242)} -.Pastel2 .q0-3{fill:rgb(179,226,205)} -.Pastel2 .q1-3{fill:rgb(253,205,172)} -.Pastel2 .q2-3{fill:rgb(203,213,232)} -.Pastel2 .q0-4{fill:rgb(179,226,205)} -.Pastel2 .q1-4{fill:rgb(253,205,172)} -.Pastel2 .q2-4{fill:rgb(203,213,232)} -.Pastel2 .q3-4{fill:rgb(244,202,228)} -.Pastel2 .q0-5{fill:rgb(179,226,205)} -.Pastel2 .q1-5{fill:rgb(253,205,172)} -.Pastel2 .q2-5{fill:rgb(203,213,232)} -.Pastel2 .q3-5{fill:rgb(244,202,228)} -.Pastel2 .q4-5{fill:rgb(230,245,201)} -.Pastel2 .q0-6{fill:rgb(179,226,205)} -.Pastel2 .q1-6{fill:rgb(253,205,172)} -.Pastel2 .q2-6{fill:rgb(203,213,232)} -.Pastel2 .q3-6{fill:rgb(244,202,228)} -.Pastel2 .q4-6{fill:rgb(230,245,201)} -.Pastel2 .q5-6{fill:rgb(255,242,174)} -.Pastel2 .q0-7{fill:rgb(179,226,205)} -.Pastel2 .q1-7{fill:rgb(253,205,172)} -.Pastel2 .q2-7{fill:rgb(203,213,232)} -.Pastel2 .q3-7{fill:rgb(244,202,228)} -.Pastel2 .q4-7{fill:rgb(230,245,201)} -.Pastel2 .q5-7{fill:rgb(255,242,174)} -.Pastel2 .q6-7{fill:rgb(241,226,204)} -.Pastel2 .q0-8{fill:rgb(179,226,205)} -.Pastel2 .q1-8{fill:rgb(253,205,172)} -.Pastel2 .q2-8{fill:rgb(203,213,232)} -.Pastel2 .q3-8{fill:rgb(244,202,228)} -.Pastel2 .q4-8{fill:rgb(230,245,201)} -.Pastel2 .q5-8{fill:rgb(255,242,174)} -.Pastel2 .q6-8{fill:rgb(241,226,204)} -.Pastel2 .q7-8{fill:rgb(204,204,204)} -.Set1 .q0-3{fill:rgb(228,26,28)} -.Set1 .q1-3{fill:rgb(55,126,184)} -.Set1 .q2-3{fill:rgb(77,175,74)} -.Set1 .q0-4{fill:rgb(228,26,28)} -.Set1 .q1-4{fill:rgb(55,126,184)} -.Set1 .q2-4{fill:rgb(77,175,74)} -.Set1 .q3-4{fill:rgb(152,78,163)} -.Set1 .q0-5{fill:rgb(228,26,28)} -.Set1 .q1-5{fill:rgb(55,126,184)} -.Set1 .q2-5{fill:rgb(77,175,74)} -.Set1 .q3-5{fill:rgb(152,78,163)} -.Set1 .q4-5{fill:rgb(255,127,0)} -.Set1 .q0-6{fill:rgb(228,26,28)} -.Set1 .q1-6{fill:rgb(55,126,184)} -.Set1 .q2-6{fill:rgb(77,175,74)} -.Set1 .q3-6{fill:rgb(152,78,163)} -.Set1 .q4-6{fill:rgb(255,127,0)} -.Set1 .q5-6{fill:rgb(255,255,51)} -.Set1 .q0-7{fill:rgb(228,26,28)} -.Set1 .q1-7{fill:rgb(55,126,184)} -.Set1 .q2-7{fill:rgb(77,175,74)} -.Set1 .q3-7{fill:rgb(152,78,163)} -.Set1 .q4-7{fill:rgb(255,127,0)} -.Set1 .q5-7{fill:rgb(255,255,51)} -.Set1 .q6-7{fill:rgb(166,86,40)} -.Set1 .q0-8{fill:rgb(228,26,28)} -.Set1 .q1-8{fill:rgb(55,126,184)} -.Set1 .q2-8{fill:rgb(77,175,74)} -.Set1 .q3-8{fill:rgb(152,78,163)} -.Set1 .q4-8{fill:rgb(255,127,0)} -.Set1 .q5-8{fill:rgb(255,255,51)} -.Set1 .q6-8{fill:rgb(166,86,40)} -.Set1 .q7-8{fill:rgb(247,129,191)} -.Set1 .q0-9{fill:rgb(228,26,28)} -.Set1 .q1-9{fill:rgb(55,126,184)} -.Set1 .q2-9{fill:rgb(77,175,74)} -.Set1 .q3-9{fill:rgb(152,78,163)} -.Set1 .q4-9{fill:rgb(255,127,0)} -.Set1 .q5-9{fill:rgb(255,255,51)} -.Set1 .q6-9{fill:rgb(166,86,40)} -.Set1 .q7-9{fill:rgb(247,129,191)} -.Set1 .q8-9{fill:rgb(153,153,153)} -.Set2 .q0-3{fill:rgb(102,194,165)} -.Set2 .q1-3{fill:rgb(252,141,98)} -.Set2 .q2-3{fill:rgb(141,160,203)} -.Set2 .q0-4{fill:rgb(102,194,165)} -.Set2 .q1-4{fill:rgb(252,141,98)} -.Set2 .q2-4{fill:rgb(141,160,203)} -.Set2 .q3-4{fill:rgb(231,138,195)} -.Set2 .q0-5{fill:rgb(102,194,165)} -.Set2 .q1-5{fill:rgb(252,141,98)} -.Set2 .q2-5{fill:rgb(141,160,203)} -.Set2 .q3-5{fill:rgb(231,138,195)} -.Set2 .q4-5{fill:rgb(166,216,84)} -.Set2 .q0-6{fill:rgb(102,194,165)} -.Set2 .q1-6{fill:rgb(252,141,98)} -.Set2 .q2-6{fill:rgb(141,160,203)} -.Set2 .q3-6{fill:rgb(231,138,195)} -.Set2 .q4-6{fill:rgb(166,216,84)} -.Set2 .q5-6{fill:rgb(255,217,47)} -.Set2 .q0-7{fill:rgb(102,194,165)} -.Set2 .q1-7{fill:rgb(252,141,98)} -.Set2 .q2-7{fill:rgb(141,160,203)} -.Set2 .q3-7{fill:rgb(231,138,195)} -.Set2 .q4-7{fill:rgb(166,216,84)} -.Set2 .q5-7{fill:rgb(255,217,47)} -.Set2 .q6-7{fill:rgb(229,196,148)} -.Set2 .q0-8{fill:rgb(102,194,165)} -.Set2 .q1-8{fill:rgb(252,141,98)} -.Set2 .q2-8{fill:rgb(141,160,203)} -.Set2 .q3-8{fill:rgb(231,138,195)} -.Set2 .q4-8{fill:rgb(166,216,84)} -.Set2 .q5-8{fill:rgb(255,217,47)} -.Set2 .q6-8{fill:rgb(229,196,148)} -.Set2 .q7-8{fill:rgb(179,179,179)} -.Set3 .q0-3{fill:rgb(141,211,199)} -.Set3 .q1-3{fill:rgb(255,255,179)} -.Set3 .q2-3{fill:rgb(190,186,218)} -.Set3 .q0-4{fill:rgb(141,211,199)} -.Set3 .q1-4{fill:rgb(255,255,179)} -.Set3 .q2-4{fill:rgb(190,186,218)} -.Set3 .q3-4{fill:rgb(251,128,114)} -.Set3 .q0-5{fill:rgb(141,211,199)} -.Set3 .q1-5{fill:rgb(255,255,179)} -.Set3 .q2-5{fill:rgb(190,186,218)} -.Set3 .q3-5{fill:rgb(251,128,114)} -.Set3 .q4-5{fill:rgb(128,177,211)} -.Set3 .q0-6{fill:rgb(141,211,199)} -.Set3 .q1-6{fill:rgb(255,255,179)} -.Set3 .q2-6{fill:rgb(190,186,218)} -.Set3 .q3-6{fill:rgb(251,128,114)} -.Set3 .q4-6{fill:rgb(128,177,211)} -.Set3 .q5-6{fill:rgb(253,180,98)} -.Set3 .q0-7{fill:rgb(141,211,199)} -.Set3 .q1-7{fill:rgb(255,255,179)} -.Set3 .q2-7{fill:rgb(190,186,218)} -.Set3 .q3-7{fill:rgb(251,128,114)} -.Set3 .q4-7{fill:rgb(128,177,211)} -.Set3 .q5-7{fill:rgb(253,180,98)} -.Set3 .q6-7{fill:rgb(179,222,105)} -.Set3 .q0-8{fill:rgb(141,211,199)} -.Set3 .q1-8{fill:rgb(255,255,179)} -.Set3 .q2-8{fill:rgb(190,186,218)} -.Set3 .q3-8{fill:rgb(251,128,114)} -.Set3 .q4-8{fill:rgb(128,177,211)} -.Set3 .q5-8{fill:rgb(253,180,98)} -.Set3 .q6-8{fill:rgb(179,222,105)} -.Set3 .q7-8{fill:rgb(252,205,229)} -.Set3 .q0-9{fill:rgb(141,211,199)} -.Set3 .q1-9{fill:rgb(255,255,179)} -.Set3 .q2-9{fill:rgb(190,186,218)} -.Set3 .q3-9{fill:rgb(251,128,114)} -.Set3 .q4-9{fill:rgb(128,177,211)} -.Set3 .q5-9{fill:rgb(253,180,98)} -.Set3 .q6-9{fill:rgb(179,222,105)} -.Set3 .q7-9{fill:rgb(252,205,229)} -.Set3 .q8-9{fill:rgb(217,217,217)} -.Set3 .q0-10{fill:rgb(141,211,199)} -.Set3 .q1-10{fill:rgb(255,255,179)} -.Set3 .q2-10{fill:rgb(190,186,218)} -.Set3 .q3-10{fill:rgb(251,128,114)} -.Set3 .q4-10{fill:rgb(128,177,211)} -.Set3 .q5-10{fill:rgb(253,180,98)} -.Set3 .q6-10{fill:rgb(179,222,105)} -.Set3 .q7-10{fill:rgb(252,205,229)} -.Set3 .q8-10{fill:rgb(217,217,217)} -.Set3 .q9-10{fill:rgb(188,128,189)} -.Set3 .q0-11{fill:rgb(141,211,199)} -.Set3 .q1-11{fill:rgb(255,255,179)} -.Set3 .q2-11{fill:rgb(190,186,218)} -.Set3 .q3-11{fill:rgb(251,128,114)} -.Set3 .q4-11{fill:rgb(128,177,211)} -.Set3 .q5-11{fill:rgb(253,180,98)} -.Set3 .q6-11{fill:rgb(179,222,105)} -.Set3 .q7-11{fill:rgb(252,205,229)} -.Set3 .q8-11{fill:rgb(217,217,217)} -.Set3 .q9-11{fill:rgb(188,128,189)} -.Set3 .q10-11{fill:rgb(204,235,197)} -.Set3 .q0-12{fill:rgb(141,211,199)} -.Set3 .q1-12{fill:rgb(255,255,179)} -.Set3 .q2-12{fill:rgb(190,186,218)} -.Set3 .q3-12{fill:rgb(251,128,114)} -.Set3 .q4-12{fill:rgb(128,177,211)} -.Set3 .q5-12{fill:rgb(253,180,98)} -.Set3 .q6-12{fill:rgb(179,222,105)} -.Set3 .q7-12{fill:rgb(252,205,229)} -.Set3 .q8-12{fill:rgb(217,217,217)} -.Set3 .q9-12{fill:rgb(188,128,189)} -.Set3 .q10-12{fill:rgb(204,235,197)} -.Set3 .q11-12{fill:rgb(255,237,111)} -#classic_controls { - font-size: 0.72em; } - #classic_controls #demand, #classic_controls #supply, #classic_controls #other { - padding: 0; - border: 0; - margin: 0; - margin-left: 2.5%; - width: 30%; - float: left; } - #classic_controls table { - width: 100%; } - #classic_controls table tr:hover td.name { - font-weight: bold; - background-image: url("/assets/images/oneblackpixel.png"); } - #classic_controls table td.choice { - width: 20px; } - #classic_controls table td.choice a { - display: block; - width: 100%; - text-align: center; - color: #888; - text-decoration: none; - border: solid #ccc 1px; } - #classic_controls table td.choice a:hover { - border: solid #000 1px; } - #classic_controls table td.choice a.selected { - color: #000; } - #classic_controls table td.name { - background-image: url("/assets/images/onegreypixel.png"); - background-position: left center; - background-repeat: repeat-x; } - #classic_controls table td.name a { - background-color: #fff; - text-decoration: none; - color: #000; - cursor: help; } - #classic_controls table td.name a:hover { - text-decoration: underline; } - #classic_controls table td.help { - width: 14px; } - #classic_controls table td.help a { - text-align: center; - display: block; - background-color: #7c88fa; - border: solid #7c88fa 1px; - color: white; - width: 100%; - text-decoration: none; - font-weight: bold; - font-style: italic; } - #classic_controls table tr.incremental a.level1_1 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level1_1.png"); } - #classic_controls table tr.incremental a.level1_2 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level1_2.png"); } - #classic_controls table tr.incremental a.level1_3 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level1_3.png"); } - #classic_controls table tr.incremental a.level1_4 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level1_4.png"); } - #classic_controls table tr.incremental a.level1_5 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level1_5.png"); } - #classic_controls table tr.incremental a.level1_6 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level1_6.png"); } - #classic_controls table tr.incremental a.level1_7 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level1_7.png"); } - #classic_controls table tr.incremental a.level1_8 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level1_8.png"); } - #classic_controls table tr.incremental a.level1_9 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level1_9.png"); } - #classic_controls table tr.incremental a.level2_1 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level2_1.png"); } - #classic_controls table tr.incremental a.level2_2 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level2_2.png"); } - #classic_controls table tr.incremental a.level2_3 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level2_3.png"); } - #classic_controls table tr.incremental a.level2_4 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level2_4.png"); } - #classic_controls table tr.incremental a.level2_5 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level2_5.png"); } - #classic_controls table tr.incremental a.level2_6 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level2_6.png"); } - #classic_controls table tr.incremental a.level2_7 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level2_7.png"); } - #classic_controls table tr.incremental a.level2_8 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level2_8.png"); } - #classic_controls table tr.incremental a.level2_9 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level2_9.png"); } - #classic_controls table tr.incremental a.level3_1 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level3_1.png"); } - #classic_controls table tr.incremental a.level3_2 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level3_2.png"); } - #classic_controls table tr.incremental a.level3_3 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level3_3.png"); } - #classic_controls table tr.incremental a.level3_4 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level3_4.png"); } - #classic_controls table tr.incremental a.level3_5 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level3_5.png"); } - #classic_controls table tr.incremental a.level3_6 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level3_6.png"); } - #classic_controls table tr.incremental a.level3_7 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level3_7.png"); } - #classic_controls table tr.incremental a.level3_8 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level3_8.png"); } - #classic_controls table tr.incremental a.level3_9 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level3_9.png"); } - #classic_controls table tr.incremental a.level4_1 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level4_1.png"); } - #classic_controls table tr.incremental a.level4_2 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level4_2.png"); } - #classic_controls table tr.incremental a.level4_3 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level4_3.png"); } - #classic_controls table tr.incremental a.level4_4 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level4_4.png"); } - #classic_controls table tr.incremental a.level4_5 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level4_5.png"); } - #classic_controls table tr.incremental a.level4_6 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level4_6.png"); } - #classic_controls table tr.incremental a.level4_7 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level4_7.png"); } - #classic_controls table tr.incremental a.level4_8 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level4_8.png"); } - #classic_controls table tr.incremental a.level4_9 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level4_9.png"); } - #classic_controls table tr.incremental a.level1 { - background-color: #92C979; } - #classic_controls table tr.incremental a.level2 { - background-color: #EFDD60; } - #classic_controls table tr.incremental a.level3 { - background-color: #FFAE55; } - #classic_controls table tr.incremental a.level4 { - background-color: #F44545; } - #classic_controls table tr.alternative a.selected { - background-color: #aaa; } -#costscomparedoverview { - margin-left: 0%; - margin-right: 0%; - width: 100%; - margin: 0 0 0 0; - padding: 0; - height: 600px; } - -.costscomparedoverview h1 { - font-size: 16px; - margin-left: 250px; } -#costscomparedwithinsector { - margin-left: 0%; - margin-right: 0%; - width: 100%; - margin: 0 0 0 0; - padding: 0; - height: 600px; } - -.costscomparedwithinsector h1 { - font-size: 16px; - margin-left: 250px; } - -#sectorchoice { - z-index: 5; - position: absolute; - top: 45px; - left: 25px; } -#costsincontext { - margin-left: 0%; - margin-right: 0%; - width: 100%; - margin: 0 0 0 0; - padding: 0; - height: 600px; } - -.costsincontext h1 { - font-size: 16px; - margin-left: 250px; } - -#cost_override_warning { - position: absolute; - top: 55px; - left: 25px; - width: 200px; - display: none; - border: solid 1px #000; - background-color: yellow; - font-size: smaller; - padding: 5px; } - -#cost_caveats { - position: absolute; - left: 5%; - top: 75px; - z-index: 1000; - width: 85%; - padding: 2.5%; - background-color: #FF0; - border: solid 1px #000; - box-shadow: 0px 0px 25px rgba(0, 0, 0, 0.8); - -moz-box-shadow: 0px 0px 25px rgba(0, 0, 0, 0.8); - -webkit-box-shadow: 0px 0px 25px rgba(0, 0, 0, 0.8); - display: none; } - #cost_caveats #understand { - margin-top: 20px; - width: 100%; - text-align: center; } - -#essentialnotes { - font-size: 10px; - margin-top: 5px; - margin-left: 250px; - margin-right: 100px; - margin-bottom: 30px; } -#costssensitivity { - margin-left: 0%; - margin-right: 0%; - width: 100%; - margin: 0 0 0 0; - padding: 0; - height: 1400px; } - -.costssensitivity h1 { - font-size: 16px; - margin-left: 250px; } - -#comparatorchoice { - z-index: 5; - border: 1px solid black; - position: absolute; - top: 45px; - left: 25px; - list-style: none; - margin-left: 0; - padding: 5px; } - #comparatorchoice a { - color: #000; - text-decoration: none; } - #comparatorchoice a:hover { - text-decoration: underline; } - #comparatorchoice li { - margin-left: 0; - padding-left: 0; } - #comparatorchoice #view_comparatorchoice { - box-shadow: 0 0 5px #888; - list-style: none; - display: none; - background: #fff; - margin-left: 0; - padding: 5px; } - #comparatorchoice #view_comparatorchoice li { - margin-left: 0; - padding-left: 0; - margin-bottom: 5px; } -#energysecurity .column { - text-align: left; - padding: 0; - border: 0; - margin: 0; - margin-left: 2.5%; - font-size: 12px; - width: 30%; - margin-bottom: 30px; - float: left; } - -.energysecurity td.value { - width: 17%; } -.energysecurity td.value, .energysecurity th.value { - text-align: right; } -.energysecurity th.year { - text-align: center; - border-bottom: solid 1px #000; } - -#energysecurity .clear { - clear: both; } -#footer { - clear: both; - padding-top: 20px; - text-align: center; - font-size: 0.72em; } -#map { - text-align: left; - margin-left: 0; - margin-right: 0; - width: 100%; - margin: 0 0 30px 0; - padding: 0; - height: 800px; } -body { - font-family: Times; - margin: 0; - padding: 0; } - -#calculating { - font-size: 0.72em; - position: absolute; - width: 100%; - top: 20px; - left: 0px; - text-align: center; - z-index: 10; } - #calculating span { - padding: 3px; - background-color: yellow; } - -.chart { - padding: 0; - border: 0; - margin: 0; - margin-left: 2.4%; - width: 30%; - margin-bottom: 0px; - float: left; } - -.charttitle { - text-anchor: middle; - font-family: Times; - font-size: 1em; } - -text.target { - text-anchor: middle; - font-family: Times; - font-size: 0.72em; } - -.axis path, .axis line { - fill: none; - stroke: #000; - stroke-width: 1px; } - -.axis text { - font-family: Times; - font-size: 0.72em; - fill: #000; } - -.axislabel { - text-anchor: end; - font-family: Times; - font-size: 0.72em; } - -.line { - fill: none; - stroke: black; - stroke-width: 3px; } - -.linelabel { - font-family: Times; - font-size: 0.72em; - cursor: default; } - -.area { - fill-opacity: 1; } - -path.total { - stroke: black; - stroke-width: 2px; - fill: none; } - -text.seriesValue { - font-size: 0.72em; - font-family: Ties; - text-anchor: middle; } - -path.total.hover { - stroke-width: 3px; } - -path.hover { - stroke: black; - stroke-width: 1px; } - -.linelabel.hover { - fill: black !important; - font-weight: bold; } - -.labelbackground { - fill: white; } - -g.context path { - fill: grey; - fill-opacity: 0.02; } - -.environmentalheat { - fill: #c7c728; } -#sankey { - width: 100%; - margin: 0 0 30px 0; - padding: 0; } -#share div { - margin: 0 10% 0 10%; - width: 80%; } -#share #excel { - margin-top: 50px; } - #share #excel textarea { - text-align: right; - margin-left: 10%; - width: 32px; - height: 700px; } -#simplesankey { - margin-left: 2.5%; - margin-right: 2.5%; - width: 100%; - margin: 0 0 30px 0; - padding: 0; - height: 320px; } -.story { - text-align: left; - padding: 0; - border: 0; - margin: 0; - margin-left: 2.5%; - font-size: 12px; - width: 30%; - margin-bottom: 30px; - float: left; } - .story h4 { - margin-top: 1em; - margin-bottom: 0em; } - .story h4 + p { - margin-top: 0em; } - .story th { - text-align: left; } - .story td.target, .story th.target { - text-align: right; } - -#stories .clear { - clear: both; } -#tooltip { - display: none; - background-color: #FFFF00; - color: #000; - border: 2px solid #000; - border-radius: 15px 15px 0px 15px; - box-shadow: 0 0 5px #888; - font-size: 12px; - width: 14em; - padding: 10px; - z-index: 10000; } -#topbar { - width: 100%; - height: 20px; - margin: 0 0 10px 0; - background-color: black; - color: white; - border-bottom: solid #57DA95 7px; } - #topbar a { - color: white; - text-decoration: none; } - #topbar .selected { - color: #57da95; } - #topbar a:hover { - text-decoration: underline; } - #topbar div { - position: absolute; - display: inline; } - #topbar #name { - left: 2.4%; - top: 0px; } - #topbar #examples { - right: 2.4%; - top: 0px; } - #topbar #views { - left: 160px; - left: calc(160px + 2.4%); - top: 0px; - width: 80%; - width: calc(100% - 2.4% - 160px - 2.4% - 160px); - text-align: center; } - #topbar #views a { - padding-right: 10px; } - #topbar #views div { - position: static; - padding-right: 10px; } - #topbar .dropdown { - z-index: 10000; - position: absolute; - display: none; - background: black; - padding: 5px; - border: solid 1px black; - box-shadow: 0 0 5px #888; } - #topbar .dropdown a { - color: white; - display: block; - margin-bottom: 5px; } - #topbar .showdropdown { - display: block; } diff --git a/public/assets/application-be2b56e65151f7fe8b6a9c2db3e60500.css.gz b/public/assets/application-be2b56e65151f7fe8b6a9c2db3e60500.css.gz deleted file mode 100644 index 4a0adf6d7272f6765e21938ce5e0bf045808d917..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10901 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 diff --git a/public/assets/application-ba3e580ce5dec0cac713df23d276cd90.css b/public/assets/application-c182c67d4e8d9d3e60fa0a84f25dce5b.css similarity index 99% rename from public/assets/application-ba3e580ce5dec0cac713df23d276cd90.css rename to public/assets/application-c182c67d4e8d9d3e60fa0a84f25dce5b.css index db40491b..07694821 100644 --- a/public/assets/application-ba3e580ce5dec0cac713df23d276cd90.css +++ b/public/assets/application-c182c67d4e8d9d3e60fa0a84f25dce5b.css @@ -2075,6 +2075,14 @@ body { margin: 0; padding: 0; } +#cumulative_emissions { + float: right; + margin-right: 20px; + margin-bottom: 20px; } + +.clearfix { + clear: both; } + #svgWarn { display: none; padding: 10px; @@ -2109,7 +2117,7 @@ body { text-anchor: middle; font-size: 1em; } -text.target { +text.result { text-anchor: middle; font-size: 0.72em; } @@ -2224,8 +2232,8 @@ g.context path { z-index: 10000; } #topbar { position: relative; + overflow: hidden; width: 100%; - height: 20px; margin: 0 0 10px 0; background-color: black; color: white; @@ -2237,38 +2245,36 @@ g.context path { color: #009ddb; } #topbar a:hover { text-decoration: underline; } - #topbar div { - position: absolute; - display: inline; } #topbar #name { - left: 2.4%; - top: 0px; } + float: left; + width: 180px; } #topbar #examples { - right: 2.4%; - top: 0px; } + text-align: right; + float: right; + width: 180px; } #topbar #views { - left: 160px; - left: calc(160px + 2.4%); - top: 0px; - width: 80%; - width: calc(100% - 2.4% - 160px - 2.4% - 160px); + margin: 0 180px; text-align: center; } #topbar #views a { padding-right: 10px; } - #topbar #views div { - position: static; - padding-right: 10px; } - #topbar .dropdown { - z-index: 10000; - position: absolute; - display: none; - background: black; + +.dropdown { + z-index: 10000; + position: absolute; + display: none; + background: black; + border: solid 1px black; + box-shadow: 0 0 5px #888; } + .dropdown a { padding: 5px; - border: solid 1px black; - box-shadow: 0 0 5px #888; } - #topbar .dropdown a { - color: white; - display: block; - margin-bottom: 5px; } - #topbar .showdropdown { - display: block; } + color: white; + display: block; + text-decoration: none; } + .dropdown a:hover { + text-decoration: underline; } + +#savedpathway_choices { + width: 200px; } + +.showdropdown { + display: block; } diff --git a/public/assets/application-c182c67d4e8d9d3e60fa0a84f25dce5b.css.gz b/public/assets/application-c182c67d4e8d9d3e60fa0a84f25dce5b.css.gz new file mode 100644 index 0000000000000000000000000000000000000000..1a9b4a9f708a8c0ef8de1347c9ae4e1ce4c35166 GIT binary patch literal 10975 zcmbuFWl$X7w)SBdWN>$PcV{3#fZ*=#8ry+)kKQEh51u`OpkttbJ=0^ zH;iID(C#2&0~UmjgMiDagUosq9mDPklL8VjeZ zsGRP1uH-oE7I!UJo{pnQ?5;~7Z9{xV|jhlV`_e;*3eVZqVug|?d&cAciZf@3>dO>>DcNhAf zeO{VA_WwG&s@*+13wkvA>DK?+q^{+J{pRFV;j>@djdzka#bfY#$8$&CN599b^&^w> z4I>-)&Dw^Oq-ea0*DiFlhQYqKe!5mUqR*wN=$>Vv5^$tvG~$(m;7;dL7tRHK|`qB1|%;JkUmd7w-ehr%o0}=COUzKb{c{!j%aHIGJg# zrJ3qDT`+H0gI;4=LAS?xNvqX4I6YIuq;|0_E;%4leoj@G!huWI6wavC_#I+x-Mf$k zU~&o!H$Xfp14-~$m!ihg9(6@t{GgvdLa?0|X!}iv^Uz(Iy>6f48@ zI4PGz-zmXE#*Pe=Dxp+kl*L5`M23l%46xvKq62^TnLt_sY{dPZgc0(E(T$ib>8F zj*b^%?!y=r{TFKRonD)0i{lbMSd;h!YGzs9+AE-&wi%+8iszTYfraG|AKY^jccFrX z|AMmhPU_nj)pURd>0EjU#(lHRh&SJIPmHR_6+(dM608}ovOK^@fC&^g$|M)ENlyoB zoR8YQ?E@b{n76s99t{45U#f78i(rQGkWh-)Ns3*IEi6CkJ!XOXbjHK_tC|d_LuNJnE zngy)ExX``3BaXq8CwNH6LZaB69zOJY4sLlq^I%xIJDn^huZ}u0wvPmWLv{-u)Jqvk zK-&}sR8DSMrn<0{J3(8=yq@EM=8&xVmjvCnQU4!pfAWfMpofeYUFqe&scY~CYLdlISB@;H*L=Brn_U<<` z0u^j%JNEQ|10=U`XgPsrIwzcxmAN#YCk-49E)LBo+ z+0`e`XOI0^_WBXi7i=)w#Thx~-#<)Uq|6c_>7-BfbIC3;#HL6M>A_2%O3+A>1(y~X zK2}nqR5h9LuMCw8)nVi$8+(hQQ~!Y+P1bu;N~Q96BEtPnni743u+lB0EXj&j&D>E! z=$li&%av=4^sG4n1)?loq&q$(7Z`h(<}YFZq&>FM`1n32paBp4X z&|LOuNg$tG!T&;@G(jSn;6h@^lhYzpsoM!=-ReN8`>gcZHPK+J9i>W%d8qUKNfVQF zNDn<8sFylahxQ^4Xq+;@f~_kJsFKw^!6x_fv52lYIWGz>t!hc5wgA6sK=YLZs`3`k zxN)}fwF1Ia-jgxf*yaALniZ;IDr2q}7Ex7pN?i+w;z#iOX@Qe|lWIYUJN%Xl{1*w# zoF~fR&OiePn8hp8L2N619jz>HNRj-jqBhmd6fMP8k(?Oka^)|cnlnDr6xYKPkoPvUUwBeVT7vaIP7;L$-*qHx zb{hQzs@-b_r18Ev7`+S{vhPBEZ#t$t6Iz&C8V=@@hFp4(s{9KK0ySD4md?1vyO{>q z@}wmX>dmcAFeX#CZwM9AQhBE%Ql)mO%F=<>@v5of97?ib+|rEy{iJwX9HS{u zvGg(}CcraK4bsh2IW>X>6K-hQTm<#>8;yUg%|{y0D7%FRs-q6opk?&}B~^{odd~fN zrAUhKJ~Piv|Da_>j|^EJ@8Jq{mQz6oaA`{*n)jISj|eiutK7X7rkAp&KB`mNZA5UsFRIGv}tYgbOQJ8TQ*v z4!+weEN-_(u<$Q3kzK}1j?)?t4Ag)IKmPX9a6Ws5WMz(c*qhxO`cm$SGO!l88Q~3 zYY;+tU#ya7#NIESpm*M?bM|Rtw@g)U+4G$@p}i*l)w-Ns1X1^X`n8iqMDztAh@57? z0_cNUl{Ctd>U!}drXI+3w>SQQNQTJro3@=s=XGl4XwC*5+hL=fzOv*uIa?uEHiqKJ z0RMo5(N@x>f#U14N*t8^AhROO(?O`1K7mtVa@C+r1i1U+rUH!6^QcaK_*Krgn4@YB zgzXz9RY;k_fbCp$s5&-&Y&Oh-#L# zREws3l(DiaCHMG%{8q-UnBv|ao!?ep3gV}~gp`!B#f1%)34yo(N`9o!DVe#M z=XOqdB)}gno-4TgbZj5)zh$+eeg`nv3W3-dO7?)Q`5~F%Oh|TmpBpeaAg!G7SsZOl z*&L@1McMxSX_+qt$yGP!72xhBradk}o5*Cy4(gR8c{Bkx=%4Y+{vCgqcp+snL(>(o za?>YYi5#)rjDP9?ct;e+Zs{iKXYx9y~%BZ6(!|fRu?f$PMV)GM4L8cJ}QaaFSjQ zWjVv2naiadb%NJg$AvQDzU_<=f?zroIw^nKYqM)YHJ+}Tk$Ozf<)pJxW;LR1P&FU?k}lM|_3AYpbJsr_|S~8LgtLTxw@jOiC#Mva;cKx5={uXnEzlE)aSq zv=tQ8LE=CB%#X!aHZEPkp;X3*LY+@)u z*jG7DVqSDp2O8dxEM|*=S+CNC5;JY{@_Q(u_uwW+WSDb~LG}iO9T+B6L^<nUjIF-F5K_+*}u-fxpEEl?4raw;P$kk-v`QhgeCrw>~_}LrBz)1_*OP%0em^?30 zJ~Vb`ubeyc2zA>vVflJadYU0isq6$`nptF6+Al7`m`-H2dL)7GwKW04aPYhBVZ_F| z&66nxnFWKZa!g*zU%tmK3t@>cm_?^@YY88-oBADY8S3oH2#9nPv8Yb0=DDg<=?tLw zx#Wbsg=$)Fs|vH#ZS7nR>Qmsocvl!P!B?rtFuQ5z3jciSfl{>#_ zQW@ELmdh~eA(ho&#rjeTfHC)>j6yWmrL@+=`guIp-g4VCY%cXDs}a29qD#<&Pu6d^ zN)BfjE57-fit2WX``_P}uB=47j+UdC_SCzXtC%Toek6I~=#57^ELVY-PREtrMUpG! zkj37L2jxwd$rgX{E0+GDjzJxa{r_Y%3;$#^Ya}rVUVQza-gM(GgT;@PX;g?LtuMrj z!zxa2zuf|cp)Uhryc>>Nqd%GyBp6w&A41_nrI*Y)>S04do$qeDpWp@wVF_tqEP$pH zE!+>)muDDK4)C^@lbFwc#1B6yg<4vgt#T%rhZxte6dX=BfQ<6M7>F>`F2_Sz<{nP2 zYflDV#ehmr1IjxpzF2sgv?q;K!EL*ju8B~empVS6rJ+x>)y`zKRl`!wEm5q9$%q3S z2ZsJ51+9i!xNQ@yWJ6w|zaZRi)V<>y9cp<{v<&avp|;_2A26D=gio9Kib>HnyXMdh zRgnvsFa1Q%&L5k{Vl~%O`t3N7ry>03pX_ti0^$N&o{QG207b^Dl)9QpVj{9vTAdh!4g zwyp$#cplLYN<)2tu^fE%j*@hgfzs8MlP&Rb+^V{rbgkZ&I2~d_S}HbEt^ud<`j@4appc z7e74=qfi!6YpDqr4G-${0h%?4fRmk*r){7<1UFzNNE!t(6O=HWkdPcXV8KzHxpZLS zDg&sp>3DnkN?r4YD67WP1&LPns;IJQ^o^v9-wN9fjJO(-PK{g|lIrku8$LihB<3Y% z+0fP45B(C^g?re@ULw2G4_2rWgk>c>x)MxUZVfdeZCv=FNCjNm?oEu}71@EHe9BNf z+KVutaq>VLrUv_|#Uv{_ll-LkyoCM!CDVAMwe95d@P>YCwk)L|pl0*9CzM)ZNv*qeBl zQcPkALb8`;V-hh*)QO7EMM3P1eyZO+;`4V!)~EKQF$5WqUOuus7iIMwu zQcw)oRt~`OPx_oi>vH-GqZZsCVg)f6kgv%`@wUFdw>>F0R3bYSPnx2< z0S%di(M;_@f;s*GY`ZS5$1}9Y-|ALOE7?u`JKISlw_GcsH7-jVRIUZE%MjNeY10Qo zCB7yBFx7(yLsYMZAHq{Vql(i%dw)*XAcwZC^6%E`g?}}Nna!Kuvqs=4_$`EAK2rcI zX0;dQHl0%dODyz!T0NCGJk}LqSnMKRt3%vP8l50x1Ke$d0ym<sqjD`zW54L zoLQ?6ewulPH6(?MH2)23uD4-M@ui2EHI?v2;9IrXThjGk*%qe9UD}6@BVS&UAi^X*b)rOTWQ@i1 zd#)WqDT4$-gasFM7CMsri(*eWex9KcB8)mxRKeNH1ur85#`>M|KXVb6@o#6uTe5Xb z`K3Re#2~`>YsM0hDVS?DbnhK3;{0otDAy{iQ*rkDvFf+*@Cl}CB_iRM4SRLG9z@FB z(6O>1k1md2)U?W$0hz29+^lVI$ycN=6g9INLrINTeX1$i*)3+wRI{@)JI;g7HDb}CTrf7`fte!J;i_C<|I??7&O*20tXZN@+K^^H4 z!6Z&*1~FxvHE?PUvMn1>)7;7D*FG}4YLP5uH80t6AMmMtBvymHzFNYG(kmx}@d6t@ zR7!$UEm;=#L0eOXJ0j6`6}7&MMY)pNBjTX992W6eo!ul_Pi=m9X43Huh~LKJIiWhgZioiYOsz$D>wFu>># zfO*hX-Sh~Uj{u0Jw3R9v4RoYh!>2jvkS4;^Tc*Ox zvCw=nlehX76Q{YjO`>UQC860?%sSC@>(JKTu8J?C-TI=?jF;>s)(x0Vz0^{J_ZUK@ zbHcKitVUs&+TVkB&~Seol4TKNI+bhn)I*V1N0HY=k=Op$ri&s!i*vY^+tMC07GKAP z>p!`OpU`jZfHGoI+^wFheI~}dc^G^8&I(ihz4(z^!kVzI=JG61vkSf^q2S<-vWttw zojWX=VCBq*!~v6Zc$fJRkD`L3;71}5dv{QbacBUVku1&#jt*ElUER36*7DlywyC@$hE6e*wz?b zSLpQbm(B`Jqfk-Ld%u-fK@#Y3GX_7>?RrOmI^Ys`sgGnj|S6nU80 zl|-;svu!K7>=?{x<`Nd;&D1I_nzLeYTh=C}nDl^B>FKuH3Dell_UakNBqtxU_VZ)v zl|H$##IDIxcVK_5e;8FdaiM08T-nvsM#j2N&%nO0Cstz`(XLXc|9yJb9tb8_t)J`b z*ILm!3c&)Sdn|kNtwjqHEsW&6l#qX_{It_rF385Dd_BVV6YVT;Q6}oEEGH3&o@UU} zN0IYYaM4MauUAFW*!%EIA3P7D^-r zlh9Xt>K6^8%_=PWgZw$n&goA2Li!GV_$T(Un3umW5IqOF|E^~@o|~;;g8r^e&STsG zxLhP$-7PyMy${*5?I)egDEr}7Tx35l>=*_`grNK_bduuIgqRC5Uf6!r6mg|J=Fw%h zWlLIgv#p1z-<#1#uOFP-UoQv#-1QMl+}#BRkWN7^14xGv{is&g8F@*0gGx?(#|z6& z;L}A_eq5)ED*SLy&oZ1+$y;w;$H&r$+y3aGlLsd=@Kioh(oIYNWFR>VQRmkiZzS>( zF_E83ooy}Voyk|U!)BBPA_GFhq>2YnaA^VX#>JFaj4psd-%_W%1d2wrNljLI4OybW$|@nU_?!3Y zvQ032WwiNhxoOz+Of&lUX&U9(({b83PF!VssJ4q=8ypeI9U7!^Sz`C)%e$~`|H{z+ zk=pM0WoVo5*B@)7wKNnyR^n?Zu~p~lYx1=f+uN%x%!mE!Lj1?d{aP6&+G>NRrbW2A zxvuqEw+s!mcgyy+@HWqehsqK8_P(uQb3xFd{8j-W0w)dP z+Q)x|DJ*uHAuC{~hiitRpYPEeg4>OD#75k-0hS+&q%-^>8efT^VMn^V2X&(Imzh{W zVXSuyJBL70v%1xFV*xA9pYlE_*v91%1Wen~|1BA}$CVPHsL!R|z!YPNave-4o|GT_ ze@md>psH?FUSm&Dyp~bnRGwFJ)#avm?M~Ri8LwG%VdQ9{*sUAbn3F{-k(S^HgFIZq$@&+l$RBjRR0-68 zD)&tF@&65@C^>{y8CdE>njPK$fRK9RF{NYJVE@a!yQ1i~{{;@7NOZb_5shdj5kFiS z7jvL?!ayvRE*F47#&iTJpD+|>m;h2^qO2ZEZ

>{n;Pq&(lOK(kn(i37Ta@*C{5Q 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 literal 0 HcmV?d00001 diff --git a/public/assets/application-c471dda56bbb01d3858d3f97f6b4a804.css b/public/assets/application-c471dda56bbb01d3858d3f97f6b4a804.css deleted file mode 100644 index bba6f0ba..00000000 --- a/public/assets/application-c471dda56bbb01d3858d3f97f6b4a804.css +++ /dev/null @@ -1,2276 +0,0 @@ -/* - * This is a manifest file that'll automatically include all the stylesheets available in this directory - * and any sub-directories. You're free to add application-wide styles to this file and they'll appear at - * the top of the compiled file, but it's generally better to create a new file per style scope. - - -*/ -#airquality { - margin-left: 0%; - margin-right: 0%; - width: 100%; - margin: 0 0 0 0; - padding: 0; - height: 300px; } - -.airquality h1 { - font-size: 16px; - margin-left: 300px; } -.airquality .airqualitymessage { - margin-left: 300px; - margin-right: 30px; - margin-bottom: 30px; } - .airquality .airqualitymessage h2 { - font-size: 16px; - margin-left: 0px; - text-align: left; } -/* This product includes color specifications and designs developed by Cynthia Brewer (http://colorbrewer.org/). */ - -.YlGn .q0-3{fill:rgb(247,252,185)} -.YlGn .q1-3{fill:rgb(173,221,142)} -.YlGn .q2-3{fill:rgb(49,163,84)} -.YlGn .q0-4{fill:rgb(255,255,204)} -.YlGn .q1-4{fill:rgb(194,230,153)} -.YlGn .q2-4{fill:rgb(120,198,121)} -.YlGn .q3-4{fill:rgb(35,132,67)} -.YlGn .q0-5{fill:rgb(255,255,204)} -.YlGn .q1-5{fill:rgb(194,230,153)} -.YlGn .q2-5{fill:rgb(120,198,121)} -.YlGn .q3-5{fill:rgb(49,163,84)} -.YlGn .q4-5{fill:rgb(0,104,55)} -.YlGn .q0-6{fill:rgb(255,255,204)} -.YlGn .q1-6{fill:rgb(217,240,163)} -.YlGn .q2-6{fill:rgb(173,221,142)} -.YlGn .q3-6{fill:rgb(120,198,121)} -.YlGn .q4-6{fill:rgb(49,163,84)} -.YlGn .q5-6{fill:rgb(0,104,55)} -.YlGn .q0-7{fill:rgb(255,255,204)} -.YlGn .q1-7{fill:rgb(217,240,163)} -.YlGn .q2-7{fill:rgb(173,221,142)} -.YlGn .q3-7{fill:rgb(120,198,121)} -.YlGn .q4-7{fill:rgb(65,171,93)} -.YlGn .q5-7{fill:rgb(35,132,67)} -.YlGn .q6-7{fill:rgb(0,90,50)} -.YlGn .q0-8{fill:rgb(255,255,229)} -.YlGn .q1-8{fill:rgb(247,252,185)} -.YlGn .q2-8{fill:rgb(217,240,163)} -.YlGn .q3-8{fill:rgb(173,221,142)} -.YlGn .q4-8{fill:rgb(120,198,121)} -.YlGn .q5-8{fill:rgb(65,171,93)} -.YlGn .q6-8{fill:rgb(35,132,67)} -.YlGn .q7-8{fill:rgb(0,90,50)} -.YlGn .q0-9{fill:rgb(255,255,229)} -.YlGn .q1-9{fill:rgb(247,252,185)} -.YlGn .q2-9{fill:rgb(217,240,163)} -.YlGn .q3-9{fill:rgb(173,221,142)} -.YlGn .q4-9{fill:rgb(120,198,121)} -.YlGn .q5-9{fill:rgb(65,171,93)} -.YlGn .q6-9{fill:rgb(35,132,67)} -.YlGn .q7-9{fill:rgb(0,104,55)} -.YlGn .q8-9{fill:rgb(0,69,41)} -.YlGnBu .q0-3{fill:rgb(237,248,177)} -.YlGnBu .q1-3{fill:rgb(127,205,187)} -.YlGnBu .q2-3{fill:rgb(44,127,184)} -.YlGnBu .q0-4{fill:rgb(255,255,204)} -.YlGnBu .q1-4{fill:rgb(161,218,180)} -.YlGnBu .q2-4{fill:rgb(65,182,196)} -.YlGnBu .q3-4{fill:rgb(34,94,168)} -.YlGnBu .q0-5{fill:rgb(255,255,204)} -.YlGnBu .q1-5{fill:rgb(161,218,180)} -.YlGnBu .q2-5{fill:rgb(65,182,196)} -.YlGnBu .q3-5{fill:rgb(44,127,184)} -.YlGnBu .q4-5{fill:rgb(37,52,148)} -.YlGnBu .q0-6{fill:rgb(255,255,204)} -.YlGnBu .q1-6{fill:rgb(199,233,180)} -.YlGnBu .q2-6{fill:rgb(127,205,187)} -.YlGnBu .q3-6{fill:rgb(65,182,196)} -.YlGnBu .q4-6{fill:rgb(44,127,184)} -.YlGnBu .q5-6{fill:rgb(37,52,148)} -.YlGnBu .q0-7{fill:rgb(255,255,204)} -.YlGnBu .q1-7{fill:rgb(199,233,180)} -.YlGnBu .q2-7{fill:rgb(127,205,187)} -.YlGnBu .q3-7{fill:rgb(65,182,196)} -.YlGnBu .q4-7{fill:rgb(29,145,192)} -.YlGnBu .q5-7{fill:rgb(34,94,168)} -.YlGnBu .q6-7{fill:rgb(12,44,132)} -.YlGnBu .q0-8{fill:rgb(255,255,217)} -.YlGnBu .q1-8{fill:rgb(237,248,177)} -.YlGnBu .q2-8{fill:rgb(199,233,180)} -.YlGnBu .q3-8{fill:rgb(127,205,187)} -.YlGnBu .q4-8{fill:rgb(65,182,196)} -.YlGnBu .q5-8{fill:rgb(29,145,192)} -.YlGnBu .q6-8{fill:rgb(34,94,168)} -.YlGnBu .q7-8{fill:rgb(12,44,132)} -.YlGnBu .q0-9{fill:rgb(255,255,217)} -.YlGnBu .q1-9{fill:rgb(237,248,177)} -.YlGnBu .q2-9{fill:rgb(199,233,180)} -.YlGnBu .q3-9{fill:rgb(127,205,187)} -.YlGnBu .q4-9{fill:rgb(65,182,196)} -.YlGnBu .q5-9{fill:rgb(29,145,192)} -.YlGnBu .q6-9{fill:rgb(34,94,168)} -.YlGnBu .q7-9{fill:rgb(37,52,148)} -.YlGnBu .q8-9{fill:rgb(8,29,88)} -.GnBu .q0-3{fill:rgb(224,243,219)} -.GnBu .q1-3{fill:rgb(168,221,181)} -.GnBu .q2-3{fill:rgb(67,162,202)} -.GnBu .q0-4{fill:rgb(240,249,232)} -.GnBu .q1-4{fill:rgb(186,228,188)} -.GnBu .q2-4{fill:rgb(123,204,196)} -.GnBu .q3-4{fill:rgb(43,140,190)} -.GnBu .q0-5{fill:rgb(240,249,232)} -.GnBu .q1-5{fill:rgb(186,228,188)} -.GnBu .q2-5{fill:rgb(123,204,196)} -.GnBu .q3-5{fill:rgb(67,162,202)} -.GnBu .q4-5{fill:rgb(8,104,172)} -.GnBu .q0-6{fill:rgb(240,249,232)} -.GnBu .q1-6{fill:rgb(204,235,197)} -.GnBu .q2-6{fill:rgb(168,221,181)} -.GnBu .q3-6{fill:rgb(123,204,196)} -.GnBu .q4-6{fill:rgb(67,162,202)} -.GnBu .q5-6{fill:rgb(8,104,172)} -.GnBu .q0-7{fill:rgb(240,249,232)} -.GnBu .q1-7{fill:rgb(204,235,197)} -.GnBu .q2-7{fill:rgb(168,221,181)} -.GnBu .q3-7{fill:rgb(123,204,196)} -.GnBu .q4-7{fill:rgb(78,179,211)} -.GnBu .q5-7{fill:rgb(43,140,190)} -.GnBu .q6-7{fill:rgb(8,88,158)} -.GnBu .q0-8{fill:rgb(247,252,240)} -.GnBu .q1-8{fill:rgb(224,243,219)} -.GnBu .q2-8{fill:rgb(204,235,197)} -.GnBu .q3-8{fill:rgb(168,221,181)} -.GnBu .q4-8{fill:rgb(123,204,196)} -.GnBu .q5-8{fill:rgb(78,179,211)} -.GnBu .q6-8{fill:rgb(43,140,190)} -.GnBu .q7-8{fill:rgb(8,88,158)} -.GnBu .q0-9{fill:rgb(247,252,240)} -.GnBu .q1-9{fill:rgb(224,243,219)} -.GnBu .q2-9{fill:rgb(204,235,197)} -.GnBu .q3-9{fill:rgb(168,221,181)} -.GnBu .q4-9{fill:rgb(123,204,196)} -.GnBu .q5-9{fill:rgb(78,179,211)} -.GnBu .q6-9{fill:rgb(43,140,190)} -.GnBu .q7-9{fill:rgb(8,104,172)} -.GnBu .q8-9{fill:rgb(8,64,129)} -.BuGn .q0-3{fill:rgb(229,245,249)} -.BuGn .q1-3{fill:rgb(153,216,201)} -.BuGn .q2-3{fill:rgb(44,162,95)} -.BuGn .q0-4{fill:rgb(237,248,251)} -.BuGn .q1-4{fill:rgb(178,226,226)} -.BuGn .q2-4{fill:rgb(102,194,164)} -.BuGn .q3-4{fill:rgb(35,139,69)} -.BuGn .q0-5{fill:rgb(237,248,251)} -.BuGn .q1-5{fill:rgb(178,226,226)} -.BuGn .q2-5{fill:rgb(102,194,164)} -.BuGn .q3-5{fill:rgb(44,162,95)} -.BuGn .q4-5{fill:rgb(0,109,44)} -.BuGn .q0-6{fill:rgb(237,248,251)} -.BuGn .q1-6{fill:rgb(204,236,230)} -.BuGn .q2-6{fill:rgb(153,216,201)} -.BuGn .q3-6{fill:rgb(102,194,164)} -.BuGn .q4-6{fill:rgb(44,162,95)} -.BuGn .q5-6{fill:rgb(0,109,44)} -.BuGn .q0-7{fill:rgb(237,248,251)} -.BuGn .q1-7{fill:rgb(204,236,230)} -.BuGn .q2-7{fill:rgb(153,216,201)} -.BuGn .q3-7{fill:rgb(102,194,164)} -.BuGn .q4-7{fill:rgb(65,174,118)} -.BuGn .q5-7{fill:rgb(35,139,69)} -.BuGn .q6-7{fill:rgb(0,88,36)} -.BuGn .q0-8{fill:rgb(247,252,253)} -.BuGn .q1-8{fill:rgb(229,245,249)} -.BuGn .q2-8{fill:rgb(204,236,230)} -.BuGn .q3-8{fill:rgb(153,216,201)} -.BuGn .q4-8{fill:rgb(102,194,164)} -.BuGn .q5-8{fill:rgb(65,174,118)} -.BuGn .q6-8{fill:rgb(35,139,69)} -.BuGn .q7-8{fill:rgb(0,88,36)} -.BuGn .q0-9{fill:rgb(247,252,253)} -.BuGn .q1-9{fill:rgb(229,245,249)} -.BuGn .q2-9{fill:rgb(204,236,230)} -.BuGn .q3-9{fill:rgb(153,216,201)} -.BuGn .q4-9{fill:rgb(102,194,164)} -.BuGn .q5-9{fill:rgb(65,174,118)} -.BuGn .q6-9{fill:rgb(35,139,69)} -.BuGn .q7-9{fill:rgb(0,109,44)} -.BuGn .q8-9{fill:rgb(0,68,27)} -.PuBuGn .q0-3{fill:rgb(236,226,240)} -.PuBuGn .q1-3{fill:rgb(166,189,219)} -.PuBuGn .q2-3{fill:rgb(28,144,153)} -.PuBuGn .q0-4{fill:rgb(246,239,247)} -.PuBuGn .q1-4{fill:rgb(189,201,225)} -.PuBuGn .q2-4{fill:rgb(103,169,207)} -.PuBuGn .q3-4{fill:rgb(2,129,138)} -.PuBuGn .q0-5{fill:rgb(246,239,247)} -.PuBuGn .q1-5{fill:rgb(189,201,225)} -.PuBuGn .q2-5{fill:rgb(103,169,207)} -.PuBuGn .q3-5{fill:rgb(28,144,153)} -.PuBuGn .q4-5{fill:rgb(1,108,89)} -.PuBuGn .q0-6{fill:rgb(246,239,247)} -.PuBuGn .q1-6{fill:rgb(208,209,230)} -.PuBuGn .q2-6{fill:rgb(166,189,219)} -.PuBuGn .q3-6{fill:rgb(103,169,207)} -.PuBuGn .q4-6{fill:rgb(28,144,153)} -.PuBuGn .q5-6{fill:rgb(1,108,89)} -.PuBuGn .q0-7{fill:rgb(246,239,247)} -.PuBuGn .q1-7{fill:rgb(208,209,230)} -.PuBuGn .q2-7{fill:rgb(166,189,219)} -.PuBuGn .q3-7{fill:rgb(103,169,207)} -.PuBuGn .q4-7{fill:rgb(54,144,192)} -.PuBuGn .q5-7{fill:rgb(2,129,138)} -.PuBuGn .q6-7{fill:rgb(1,100,80)} -.PuBuGn .q0-8{fill:rgb(255,247,251)} -.PuBuGn .q1-8{fill:rgb(236,226,240)} -.PuBuGn .q2-8{fill:rgb(208,209,230)} -.PuBuGn .q3-8{fill:rgb(166,189,219)} -.PuBuGn .q4-8{fill:rgb(103,169,207)} -.PuBuGn .q5-8{fill:rgb(54,144,192)} -.PuBuGn .q6-8{fill:rgb(2,129,138)} -.PuBuGn .q7-8{fill:rgb(1,100,80)} -.PuBuGn .q0-9{fill:rgb(255,247,251)} -.PuBuGn .q1-9{fill:rgb(236,226,240)} -.PuBuGn .q2-9{fill:rgb(208,209,230)} -.PuBuGn .q3-9{fill:rgb(166,189,219)} -.PuBuGn .q4-9{fill:rgb(103,169,207)} -.PuBuGn .q5-9{fill:rgb(54,144,192)} -.PuBuGn .q6-9{fill:rgb(2,129,138)} -.PuBuGn .q7-9{fill:rgb(1,108,89)} -.PuBuGn .q8-9{fill:rgb(1,70,54)} -.PuBu .q0-3{fill:rgb(236,231,242)} -.PuBu .q1-3{fill:rgb(166,189,219)} -.PuBu .q2-3{fill:rgb(43,140,190)} -.PuBu .q0-4{fill:rgb(241,238,246)} -.PuBu .q1-4{fill:rgb(189,201,225)} -.PuBu .q2-4{fill:rgb(116,169,207)} -.PuBu .q3-4{fill:rgb(5,112,176)} -.PuBu .q0-5{fill:rgb(241,238,246)} -.PuBu .q1-5{fill:rgb(189,201,225)} -.PuBu .q2-5{fill:rgb(116,169,207)} -.PuBu .q3-5{fill:rgb(43,140,190)} -.PuBu .q4-5{fill:rgb(4,90,141)} -.PuBu .q0-6{fill:rgb(241,238,246)} -.PuBu .q1-6{fill:rgb(208,209,230)} -.PuBu .q2-6{fill:rgb(166,189,219)} -.PuBu .q3-6{fill:rgb(116,169,207)} -.PuBu .q4-6{fill:rgb(43,140,190)} -.PuBu .q5-6{fill:rgb(4,90,141)} -.PuBu .q0-7{fill:rgb(241,238,246)} -.PuBu .q1-7{fill:rgb(208,209,230)} -.PuBu .q2-7{fill:rgb(166,189,219)} -.PuBu .q3-7{fill:rgb(116,169,207)} -.PuBu .q4-7{fill:rgb(54,144,192)} -.PuBu .q5-7{fill:rgb(5,112,176)} -.PuBu .q6-7{fill:rgb(3,78,123)} -.PuBu .q0-8{fill:rgb(255,247,251)} -.PuBu .q1-8{fill:rgb(236,231,242)} -.PuBu .q2-8{fill:rgb(208,209,230)} -.PuBu .q3-8{fill:rgb(166,189,219)} -.PuBu .q4-8{fill:rgb(116,169,207)} -.PuBu .q5-8{fill:rgb(54,144,192)} -.PuBu .q6-8{fill:rgb(5,112,176)} -.PuBu .q7-8{fill:rgb(3,78,123)} -.PuBu .q0-9{fill:rgb(255,247,251)} -.PuBu .q1-9{fill:rgb(236,231,242)} -.PuBu .q2-9{fill:rgb(208,209,230)} -.PuBu .q3-9{fill:rgb(166,189,219)} -.PuBu .q4-9{fill:rgb(116,169,207)} -.PuBu .q5-9{fill:rgb(54,144,192)} -.PuBu .q6-9{fill:rgb(5,112,176)} -.PuBu .q7-9{fill:rgb(4,90,141)} -.PuBu .q8-9{fill:rgb(2,56,88)} -.BuPu .q0-3{fill:rgb(224,236,244)} -.BuPu .q1-3{fill:rgb(158,188,218)} -.BuPu .q2-3{fill:rgb(136,86,167)} -.BuPu .q0-4{fill:rgb(237,248,251)} -.BuPu .q1-4{fill:rgb(179,205,227)} -.BuPu .q2-4{fill:rgb(140,150,198)} -.BuPu .q3-4{fill:rgb(136,65,157)} -.BuPu .q0-5{fill:rgb(237,248,251)} -.BuPu .q1-5{fill:rgb(179,205,227)} -.BuPu .q2-5{fill:rgb(140,150,198)} -.BuPu .q3-5{fill:rgb(136,86,167)} -.BuPu .q4-5{fill:rgb(129,15,124)} -.BuPu .q0-6{fill:rgb(237,248,251)} -.BuPu .q1-6{fill:rgb(191,211,230)} -.BuPu .q2-6{fill:rgb(158,188,218)} -.BuPu .q3-6{fill:rgb(140,150,198)} -.BuPu .q4-6{fill:rgb(136,86,167)} -.BuPu .q5-6{fill:rgb(129,15,124)} -.BuPu .q0-7{fill:rgb(237,248,251)} -.BuPu .q1-7{fill:rgb(191,211,230)} -.BuPu .q2-7{fill:rgb(158,188,218)} -.BuPu .q3-7{fill:rgb(140,150,198)} -.BuPu .q4-7{fill:rgb(140,107,177)} -.BuPu .q5-7{fill:rgb(136,65,157)} -.BuPu .q6-7{fill:rgb(110,1,107)} -.BuPu .q0-8{fill:rgb(247,252,253)} -.BuPu .q1-8{fill:rgb(224,236,244)} -.BuPu .q2-8{fill:rgb(191,211,230)} -.BuPu .q3-8{fill:rgb(158,188,218)} -.BuPu .q4-8{fill:rgb(140,150,198)} -.BuPu .q5-8{fill:rgb(140,107,177)} -.BuPu .q6-8{fill:rgb(136,65,157)} -.BuPu .q7-8{fill:rgb(110,1,107)} -.BuPu .q0-9{fill:rgb(247,252,253)} -.BuPu .q1-9{fill:rgb(224,236,244)} -.BuPu .q2-9{fill:rgb(191,211,230)} -.BuPu .q3-9{fill:rgb(158,188,218)} -.BuPu .q4-9{fill:rgb(140,150,198)} -.BuPu .q5-9{fill:rgb(140,107,177)} -.BuPu .q6-9{fill:rgb(136,65,157)} -.BuPu .q7-9{fill:rgb(129,15,124)} -.BuPu .q8-9{fill:rgb(77,0,75)} -.RdPu .q0-3{fill:rgb(253,224,221)} -.RdPu .q1-3{fill:rgb(250,159,181)} -.RdPu .q2-3{fill:rgb(197,27,138)} -.RdPu .q0-4{fill:rgb(254,235,226)} -.RdPu .q1-4{fill:rgb(251,180,185)} -.RdPu .q2-4{fill:rgb(247,104,161)} -.RdPu .q3-4{fill:rgb(174,1,126)} -.RdPu .q0-5{fill:rgb(254,235,226)} -.RdPu .q1-5{fill:rgb(251,180,185)} -.RdPu .q2-5{fill:rgb(247,104,161)} -.RdPu .q3-5{fill:rgb(197,27,138)} -.RdPu .q4-5{fill:rgb(122,1,119)} -.RdPu .q0-6{fill:rgb(254,235,226)} -.RdPu .q1-6{fill:rgb(252,197,192)} -.RdPu .q2-6{fill:rgb(250,159,181)} -.RdPu .q3-6{fill:rgb(247,104,161)} -.RdPu .q4-6{fill:rgb(197,27,138)} -.RdPu .q5-6{fill:rgb(122,1,119)} -.RdPu .q0-7{fill:rgb(254,235,226)} -.RdPu .q1-7{fill:rgb(252,197,192)} -.RdPu .q2-7{fill:rgb(250,159,181)} -.RdPu .q3-7{fill:rgb(247,104,161)} -.RdPu .q4-7{fill:rgb(221,52,151)} -.RdPu .q5-7{fill:rgb(174,1,126)} -.RdPu .q6-7{fill:rgb(122,1,119)} -.RdPu .q0-8{fill:rgb(255,247,243)} -.RdPu .q1-8{fill:rgb(253,224,221)} -.RdPu .q2-8{fill:rgb(252,197,192)} -.RdPu .q3-8{fill:rgb(250,159,181)} -.RdPu .q4-8{fill:rgb(247,104,161)} -.RdPu .q5-8{fill:rgb(221,52,151)} -.RdPu .q6-8{fill:rgb(174,1,126)} -.RdPu .q7-8{fill:rgb(122,1,119)} -.RdPu .q0-9{fill:rgb(255,247,243)} -.RdPu .q1-9{fill:rgb(253,224,221)} -.RdPu .q2-9{fill:rgb(252,197,192)} -.RdPu .q3-9{fill:rgb(250,159,181)} -.RdPu .q4-9{fill:rgb(247,104,161)} -.RdPu .q5-9{fill:rgb(221,52,151)} -.RdPu .q6-9{fill:rgb(174,1,126)} -.RdPu .q7-9{fill:rgb(122,1,119)} -.RdPu .q8-9{fill:rgb(73,0,106)} -.PuRd .q0-3{fill:rgb(231,225,239)} -.PuRd .q1-3{fill:rgb(201,148,199)} -.PuRd .q2-3{fill:rgb(221,28,119)} -.PuRd .q0-4{fill:rgb(241,238,246)} -.PuRd .q1-4{fill:rgb(215,181,216)} -.PuRd .q2-4{fill:rgb(223,101,176)} -.PuRd .q3-4{fill:rgb(206,18,86)} -.PuRd .q0-5{fill:rgb(241,238,246)} -.PuRd .q1-5{fill:rgb(215,181,216)} -.PuRd .q2-5{fill:rgb(223,101,176)} -.PuRd .q3-5{fill:rgb(221,28,119)} -.PuRd .q4-5{fill:rgb(152,0,67)} -.PuRd .q0-6{fill:rgb(241,238,246)} -.PuRd .q1-6{fill:rgb(212,185,218)} -.PuRd .q2-6{fill:rgb(201,148,199)} -.PuRd .q3-6{fill:rgb(223,101,176)} -.PuRd .q4-6{fill:rgb(221,28,119)} -.PuRd .q5-6{fill:rgb(152,0,67)} -.PuRd .q0-7{fill:rgb(241,238,246)} -.PuRd .q1-7{fill:rgb(212,185,218)} -.PuRd .q2-7{fill:rgb(201,148,199)} -.PuRd .q3-7{fill:rgb(223,101,176)} -.PuRd .q4-7{fill:rgb(231,41,138)} -.PuRd .q5-7{fill:rgb(206,18,86)} -.PuRd .q6-7{fill:rgb(145,0,63)} -.PuRd .q0-8{fill:rgb(247,244,249)} -.PuRd .q1-8{fill:rgb(231,225,239)} -.PuRd .q2-8{fill:rgb(212,185,218)} -.PuRd .q3-8{fill:rgb(201,148,199)} -.PuRd .q4-8{fill:rgb(223,101,176)} -.PuRd .q5-8{fill:rgb(231,41,138)} -.PuRd .q6-8{fill:rgb(206,18,86)} -.PuRd .q7-8{fill:rgb(145,0,63)} -.PuRd .q0-9{fill:rgb(247,244,249)} -.PuRd .q1-9{fill:rgb(231,225,239)} -.PuRd .q2-9{fill:rgb(212,185,218)} -.PuRd .q3-9{fill:rgb(201,148,199)} -.PuRd .q4-9{fill:rgb(223,101,176)} -.PuRd .q5-9{fill:rgb(231,41,138)} -.PuRd .q6-9{fill:rgb(206,18,86)} -.PuRd .q7-9{fill:rgb(152,0,67)} -.PuRd .q8-9{fill:rgb(103,0,31)} -.OrRd .q0-3{fill:rgb(254,232,200)} -.OrRd .q1-3{fill:rgb(253,187,132)} -.OrRd .q2-3{fill:rgb(227,74,51)} -.OrRd .q0-4{fill:rgb(254,240,217)} -.OrRd .q1-4{fill:rgb(253,204,138)} -.OrRd .q2-4{fill:rgb(252,141,89)} -.OrRd .q3-4{fill:rgb(215,48,31)} -.OrRd .q0-5{fill:rgb(254,240,217)} -.OrRd .q1-5{fill:rgb(253,204,138)} -.OrRd .q2-5{fill:rgb(252,141,89)} -.OrRd .q3-5{fill:rgb(227,74,51)} -.OrRd .q4-5{fill:rgb(179,0,0)} -.OrRd .q0-6{fill:rgb(254,240,217)} -.OrRd .q1-6{fill:rgb(253,212,158)} -.OrRd .q2-6{fill:rgb(253,187,132)} -.OrRd .q3-6{fill:rgb(252,141,89)} -.OrRd .q4-6{fill:rgb(227,74,51)} -.OrRd .q5-6{fill:rgb(179,0,0)} -.OrRd .q0-7{fill:rgb(254,240,217)} -.OrRd .q1-7{fill:rgb(253,212,158)} -.OrRd .q2-7{fill:rgb(253,187,132)} -.OrRd .q3-7{fill:rgb(252,141,89)} -.OrRd .q4-7{fill:rgb(239,101,72)} -.OrRd .q5-7{fill:rgb(215,48,31)} -.OrRd .q6-7{fill:rgb(153,0,0)} -.OrRd .q0-8{fill:rgb(255,247,236)} -.OrRd .q1-8{fill:rgb(254,232,200)} -.OrRd .q2-8{fill:rgb(253,212,158)} -.OrRd .q3-8{fill:rgb(253,187,132)} -.OrRd .q4-8{fill:rgb(252,141,89)} -.OrRd .q5-8{fill:rgb(239,101,72)} -.OrRd .q6-8{fill:rgb(215,48,31)} -.OrRd .q7-8{fill:rgb(153,0,0)} -.OrRd .q0-9{fill:rgb(255,247,236)} -.OrRd .q1-9{fill:rgb(254,232,200)} -.OrRd .q2-9{fill:rgb(253,212,158)} -.OrRd .q3-9{fill:rgb(253,187,132)} -.OrRd .q4-9{fill:rgb(252,141,89)} -.OrRd .q5-9{fill:rgb(239,101,72)} -.OrRd .q6-9{fill:rgb(215,48,31)} -.OrRd .q7-9{fill:rgb(179,0,0)} -.OrRd .q8-9{fill:rgb(127,0,0)} -.YlOrRd .q0-3{fill:rgb(255,237,160)} -.YlOrRd .q1-3{fill:rgb(254,178,76)} -.YlOrRd .q2-3{fill:rgb(240,59,32)} -.YlOrRd .q0-4{fill:rgb(255,255,178)} -.YlOrRd .q1-4{fill:rgb(254,204,92)} -.YlOrRd .q2-4{fill:rgb(253,141,60)} -.YlOrRd .q3-4{fill:rgb(227,26,28)} -.YlOrRd .q0-5{fill:rgb(255,255,178)} -.YlOrRd .q1-5{fill:rgb(254,204,92)} -.YlOrRd .q2-5{fill:rgb(253,141,60)} -.YlOrRd .q3-5{fill:rgb(240,59,32)} -.YlOrRd .q4-5{fill:rgb(189,0,38)} -.YlOrRd .q0-6{fill:rgb(255,255,178)} -.YlOrRd .q1-6{fill:rgb(254,217,118)} -.YlOrRd .q2-6{fill:rgb(254,178,76)} -.YlOrRd .q3-6{fill:rgb(253,141,60)} -.YlOrRd .q4-6{fill:rgb(240,59,32)} -.YlOrRd .q5-6{fill:rgb(189,0,38)} -.YlOrRd .q0-7{fill:rgb(255,255,178)} -.YlOrRd .q1-7{fill:rgb(254,217,118)} -.YlOrRd .q2-7{fill:rgb(254,178,76)} -.YlOrRd .q3-7{fill:rgb(253,141,60)} -.YlOrRd .q4-7{fill:rgb(252,78,42)} -.YlOrRd .q5-7{fill:rgb(227,26,28)} -.YlOrRd .q6-7{fill:rgb(177,0,38)} -.YlOrRd .q0-8{fill:rgb(255,255,204)} -.YlOrRd .q1-8{fill:rgb(255,237,160)} -.YlOrRd .q2-8{fill:rgb(254,217,118)} -.YlOrRd .q3-8{fill:rgb(254,178,76)} -.YlOrRd .q4-8{fill:rgb(253,141,60)} -.YlOrRd .q5-8{fill:rgb(252,78,42)} -.YlOrRd .q6-8{fill:rgb(227,26,28)} -.YlOrRd .q7-8{fill:rgb(177,0,38)} -.YlOrRd .q0-9{fill:rgb(255,255,204)} -.YlOrRd .q1-9{fill:rgb(255,237,160)} -.YlOrRd .q2-9{fill:rgb(254,217,118)} -.YlOrRd .q3-9{fill:rgb(254,178,76)} -.YlOrRd .q4-9{fill:rgb(253,141,60)} -.YlOrRd .q5-9{fill:rgb(252,78,42)} -.YlOrRd .q6-9{fill:rgb(227,26,28)} -.YlOrRd .q7-9{fill:rgb(189,0,38)} -.YlOrRd .q8-9{fill:rgb(128,0,38)} -.YlOrBr .q0-3{fill:rgb(255,247,188)} -.YlOrBr .q1-3{fill:rgb(254,196,79)} -.YlOrBr .q2-3{fill:rgb(217,95,14)} -.YlOrBr .q0-4{fill:rgb(255,255,212)} -.YlOrBr .q1-4{fill:rgb(254,217,142)} -.YlOrBr .q2-4{fill:rgb(254,153,41)} -.YlOrBr .q3-4{fill:rgb(204,76,2)} -.YlOrBr .q0-5{fill:rgb(255,255,212)} -.YlOrBr .q1-5{fill:rgb(254,217,142)} -.YlOrBr .q2-5{fill:rgb(254,153,41)} -.YlOrBr .q3-5{fill:rgb(217,95,14)} -.YlOrBr .q4-5{fill:rgb(153,52,4)} -.YlOrBr .q0-6{fill:rgb(255,255,212)} -.YlOrBr .q1-6{fill:rgb(254,227,145)} -.YlOrBr .q2-6{fill:rgb(254,196,79)} -.YlOrBr .q3-6{fill:rgb(254,153,41)} -.YlOrBr .q4-6{fill:rgb(217,95,14)} -.YlOrBr .q5-6{fill:rgb(153,52,4)} -.YlOrBr .q0-7{fill:rgb(255,255,212)} -.YlOrBr .q1-7{fill:rgb(254,227,145)} -.YlOrBr .q2-7{fill:rgb(254,196,79)} -.YlOrBr .q3-7{fill:rgb(254,153,41)} -.YlOrBr .q4-7{fill:rgb(236,112,20)} -.YlOrBr .q5-7{fill:rgb(204,76,2)} -.YlOrBr .q6-7{fill:rgb(140,45,4)} -.YlOrBr .q0-8{fill:rgb(255,255,229)} -.YlOrBr .q1-8{fill:rgb(255,247,188)} -.YlOrBr .q2-8{fill:rgb(254,227,145)} -.YlOrBr .q3-8{fill:rgb(254,196,79)} -.YlOrBr .q4-8{fill:rgb(254,153,41)} -.YlOrBr .q5-8{fill:rgb(236,112,20)} -.YlOrBr .q6-8{fill:rgb(204,76,2)} -.YlOrBr .q7-8{fill:rgb(140,45,4)} -.YlOrBr .q0-9{fill:rgb(255,255,229)} -.YlOrBr .q1-9{fill:rgb(255,247,188)} -.YlOrBr .q2-9{fill:rgb(254,227,145)} -.YlOrBr .q3-9{fill:rgb(254,196,79)} -.YlOrBr .q4-9{fill:rgb(254,153,41)} -.YlOrBr .q5-9{fill:rgb(236,112,20)} -.YlOrBr .q6-9{fill:rgb(204,76,2)} -.YlOrBr .q7-9{fill:rgb(153,52,4)} -.YlOrBr .q8-9{fill:rgb(102,37,6)} -.Purples .q0-3{fill:rgb(239,237,245)} -.Purples .q1-3{fill:rgb(188,189,220)} -.Purples .q2-3{fill:rgb(117,107,177)} -.Purples .q0-4{fill:rgb(242,240,247)} -.Purples .q1-4{fill:rgb(203,201,226)} -.Purples .q2-4{fill:rgb(158,154,200)} -.Purples .q3-4{fill:rgb(106,81,163)} -.Purples .q0-5{fill:rgb(242,240,247)} -.Purples .q1-5{fill:rgb(203,201,226)} -.Purples .q2-5{fill:rgb(158,154,200)} -.Purples .q3-5{fill:rgb(117,107,177)} -.Purples .q4-5{fill:rgb(84,39,143)} -.Purples .q0-6{fill:rgb(242,240,247)} -.Purples .q1-6{fill:rgb(218,218,235)} -.Purples .q2-6{fill:rgb(188,189,220)} -.Purples .q3-6{fill:rgb(158,154,200)} -.Purples .q4-6{fill:rgb(117,107,177)} -.Purples .q5-6{fill:rgb(84,39,143)} -.Purples .q0-7{fill:rgb(242,240,247)} -.Purples .q1-7{fill:rgb(218,218,235)} -.Purples .q2-7{fill:rgb(188,189,220)} -.Purples .q3-7{fill:rgb(158,154,200)} -.Purples .q4-7{fill:rgb(128,125,186)} -.Purples .q5-7{fill:rgb(106,81,163)} -.Purples .q6-7{fill:rgb(74,20,134)} -.Purples .q0-8{fill:rgb(252,251,253)} -.Purples .q1-8{fill:rgb(239,237,245)} -.Purples .q2-8{fill:rgb(218,218,235)} -.Purples .q3-8{fill:rgb(188,189,220)} -.Purples .q4-8{fill:rgb(158,154,200)} -.Purples .q5-8{fill:rgb(128,125,186)} -.Purples .q6-8{fill:rgb(106,81,163)} -.Purples .q7-8{fill:rgb(74,20,134)} -.Purples .q0-9{fill:rgb(252,251,253)} -.Purples .q1-9{fill:rgb(239,237,245)} -.Purples .q2-9{fill:rgb(218,218,235)} -.Purples .q3-9{fill:rgb(188,189,220)} -.Purples .q4-9{fill:rgb(158,154,200)} -.Purples .q5-9{fill:rgb(128,125,186)} -.Purples .q6-9{fill:rgb(106,81,163)} -.Purples .q7-9{fill:rgb(84,39,143)} -.Purples .q8-9{fill:rgb(63,0,125)} -.Blues .q0-3{fill:rgb(222,235,247)} -.Blues .q1-3{fill:rgb(158,202,225)} -.Blues .q2-3{fill:rgb(49,130,189)} -.Blues .q0-4{fill:rgb(239,243,255)} -.Blues .q1-4{fill:rgb(189,215,231)} -.Blues .q2-4{fill:rgb(107,174,214)} -.Blues .q3-4{fill:rgb(33,113,181)} -.Blues .q0-5{fill:rgb(239,243,255)} -.Blues .q1-5{fill:rgb(189,215,231)} -.Blues .q2-5{fill:rgb(107,174,214)} -.Blues .q3-5{fill:rgb(49,130,189)} -.Blues .q4-5{fill:rgb(8,81,156)} -.Blues .q0-6{fill:rgb(239,243,255)} -.Blues .q1-6{fill:rgb(198,219,239)} -.Blues .q2-6{fill:rgb(158,202,225)} -.Blues .q3-6{fill:rgb(107,174,214)} -.Blues .q4-6{fill:rgb(49,130,189)} -.Blues .q5-6{fill:rgb(8,81,156)} -.Blues .q0-7{fill:rgb(239,243,255)} -.Blues .q1-7{fill:rgb(198,219,239)} -.Blues .q2-7{fill:rgb(158,202,225)} -.Blues .q3-7{fill:rgb(107,174,214)} -.Blues .q4-7{fill:rgb(66,146,198)} -.Blues .q5-7{fill:rgb(33,113,181)} -.Blues .q6-7{fill:rgb(8,69,148)} -.Blues .q0-8{fill:rgb(247,251,255)} -.Blues .q1-8{fill:rgb(222,235,247)} -.Blues .q2-8{fill:rgb(198,219,239)} -.Blues .q3-8{fill:rgb(158,202,225)} -.Blues .q4-8{fill:rgb(107,174,214)} -.Blues .q5-8{fill:rgb(66,146,198)} -.Blues .q6-8{fill:rgb(33,113,181)} -.Blues .q7-8{fill:rgb(8,69,148)} -.Blues .q0-9{fill:rgb(247,251,255)} -.Blues .q1-9{fill:rgb(222,235,247)} -.Blues .q2-9{fill:rgb(198,219,239)} -.Blues .q3-9{fill:rgb(158,202,225)} -.Blues .q4-9{fill:rgb(107,174,214)} -.Blues .q5-9{fill:rgb(66,146,198)} -.Blues .q6-9{fill:rgb(33,113,181)} -.Blues .q7-9{fill:rgb(8,81,156)} -.Blues .q8-9{fill:rgb(8,48,107)} -.Greens .q0-3{fill:rgb(229,245,224)} -.Greens .q1-3{fill:rgb(161,217,155)} -.Greens .q2-3{fill:rgb(49,163,84)} -.Greens .q0-4{fill:rgb(237,248,233)} -.Greens .q1-4{fill:rgb(186,228,179)} -.Greens .q2-4{fill:rgb(116,196,118)} -.Greens .q3-4{fill:rgb(35,139,69)} -.Greens .q0-5{fill:rgb(237,248,233)} -.Greens .q1-5{fill:rgb(186,228,179)} -.Greens .q2-5{fill:rgb(116,196,118)} -.Greens .q3-5{fill:rgb(49,163,84)} -.Greens .q4-5{fill:rgb(0,109,44)} -.Greens .q0-6{fill:rgb(237,248,233)} -.Greens .q1-6{fill:rgb(199,233,192)} -.Greens .q2-6{fill:rgb(161,217,155)} -.Greens .q3-6{fill:rgb(116,196,118)} -.Greens .q4-6{fill:rgb(49,163,84)} -.Greens .q5-6{fill:rgb(0,109,44)} -.Greens .q0-7{fill:rgb(237,248,233)} -.Greens .q1-7{fill:rgb(199,233,192)} -.Greens .q2-7{fill:rgb(161,217,155)} -.Greens .q3-7{fill:rgb(116,196,118)} -.Greens .q4-7{fill:rgb(65,171,93)} -.Greens .q5-7{fill:rgb(35,139,69)} -.Greens .q6-7{fill:rgb(0,90,50)} -.Greens .q0-8{fill:rgb(247,252,245)} -.Greens .q1-8{fill:rgb(229,245,224)} -.Greens .q2-8{fill:rgb(199,233,192)} -.Greens .q3-8{fill:rgb(161,217,155)} -.Greens .q4-8{fill:rgb(116,196,118)} -.Greens .q5-8{fill:rgb(65,171,93)} -.Greens .q6-8{fill:rgb(35,139,69)} -.Greens .q7-8{fill:rgb(0,90,50)} -.Greens .q0-9{fill:rgb(247,252,245)} -.Greens .q1-9{fill:rgb(229,245,224)} -.Greens .q2-9{fill:rgb(199,233,192)} -.Greens .q3-9{fill:rgb(161,217,155)} -.Greens .q4-9{fill:rgb(116,196,118)} -.Greens .q5-9{fill:rgb(65,171,93)} -.Greens .q6-9{fill:rgb(35,139,69)} -.Greens .q7-9{fill:rgb(0,109,44)} -.Greens .q8-9{fill:rgb(0,68,27)} -.Oranges .q0-3{fill:rgb(254,230,206)} -.Oranges .q1-3{fill:rgb(253,174,107)} -.Oranges .q2-3{fill:rgb(230,85,13)} -.Oranges .q0-4{fill:rgb(254,237,222)} -.Oranges .q1-4{fill:rgb(253,190,133)} -.Oranges .q2-4{fill:rgb(253,141,60)} -.Oranges .q3-4{fill:rgb(217,71,1)} -.Oranges .q0-5{fill:rgb(254,237,222)} -.Oranges .q1-5{fill:rgb(253,190,133)} -.Oranges .q2-5{fill:rgb(253,141,60)} -.Oranges .q3-5{fill:rgb(230,85,13)} -.Oranges .q4-5{fill:rgb(166,54,3)} -.Oranges .q0-6{fill:rgb(254,237,222)} -.Oranges .q1-6{fill:rgb(253,208,162)} -.Oranges .q2-6{fill:rgb(253,174,107)} -.Oranges .q3-6{fill:rgb(253,141,60)} -.Oranges .q4-6{fill:rgb(230,85,13)} -.Oranges .q5-6{fill:rgb(166,54,3)} -.Oranges .q0-7{fill:rgb(254,237,222)} -.Oranges .q1-7{fill:rgb(253,208,162)} -.Oranges .q2-7{fill:rgb(253,174,107)} -.Oranges .q3-7{fill:rgb(253,141,60)} -.Oranges .q4-7{fill:rgb(241,105,19)} -.Oranges .q5-7{fill:rgb(217,72,1)} -.Oranges .q6-7{fill:rgb(140,45,4)} -.Oranges .q0-8{fill:rgb(255,245,235)} -.Oranges .q1-8{fill:rgb(254,230,206)} -.Oranges .q2-8{fill:rgb(253,208,162)} -.Oranges .q3-8{fill:rgb(253,174,107)} -.Oranges .q4-8{fill:rgb(253,141,60)} -.Oranges .q5-8{fill:rgb(241,105,19)} -.Oranges .q6-8{fill:rgb(217,72,1)} -.Oranges .q7-8{fill:rgb(140,45,4)} -.Oranges .q0-9{fill:rgb(255,245,235)} -.Oranges .q1-9{fill:rgb(254,230,206)} -.Oranges .q2-9{fill:rgb(253,208,162)} -.Oranges .q3-9{fill:rgb(253,174,107)} -.Oranges .q4-9{fill:rgb(253,141,60)} -.Oranges .q5-9{fill:rgb(241,105,19)} -.Oranges .q6-9{fill:rgb(217,72,1)} -.Oranges .q7-9{fill:rgb(166,54,3)} -.Oranges .q8-9{fill:rgb(127,39,4)} -.Reds .q0-3{fill:rgb(254,224,210)} -.Reds .q1-3{fill:rgb(252,146,114)} -.Reds .q2-3{fill:rgb(222,45,38)} -.Reds .q0-4{fill:rgb(254,229,217)} -.Reds .q1-4{fill:rgb(252,174,145)} -.Reds .q2-4{fill:rgb(251,106,74)} -.Reds .q3-4{fill:rgb(203,24,29)} -.Reds .q0-5{fill:rgb(254,229,217)} -.Reds .q1-5{fill:rgb(252,174,145)} -.Reds .q2-5{fill:rgb(251,106,74)} -.Reds .q3-5{fill:rgb(222,45,38)} -.Reds .q4-5{fill:rgb(165,15,21)} -.Reds .q0-6{fill:rgb(254,229,217)} -.Reds .q1-6{fill:rgb(252,187,161)} -.Reds .q2-6{fill:rgb(252,146,114)} -.Reds .q3-6{fill:rgb(251,106,74)} -.Reds .q4-6{fill:rgb(222,45,38)} -.Reds .q5-6{fill:rgb(165,15,21)} -.Reds .q0-7{fill:rgb(254,229,217)} -.Reds .q1-7{fill:rgb(252,187,161)} -.Reds .q2-7{fill:rgb(252,146,114)} -.Reds .q3-7{fill:rgb(251,106,74)} -.Reds .q4-7{fill:rgb(239,59,44)} -.Reds .q5-7{fill:rgb(203,24,29)} -.Reds .q6-7{fill:rgb(153,0,13)} -.Reds .q0-8{fill:rgb(255,245,240)} -.Reds .q1-8{fill:rgb(254,224,210)} -.Reds .q2-8{fill:rgb(252,187,161)} -.Reds .q3-8{fill:rgb(252,146,114)} -.Reds .q4-8{fill:rgb(251,106,74)} -.Reds .q5-8{fill:rgb(239,59,44)} -.Reds .q6-8{fill:rgb(203,24,29)} -.Reds .q7-8{fill:rgb(153,0,13)} -.Reds .q0-9{fill:rgb(255,245,240)} -.Reds .q1-9{fill:rgb(254,224,210)} -.Reds .q2-9{fill:rgb(252,187,161)} -.Reds .q3-9{fill:rgb(252,146,114)} -.Reds .q4-9{fill:rgb(251,106,74)} -.Reds .q5-9{fill:rgb(239,59,44)} -.Reds .q6-9{fill:rgb(203,24,29)} -.Reds .q7-9{fill:rgb(165,15,21)} -.Reds .q8-9{fill:rgb(103,0,13)} -.Greys .q0-3{fill:rgb(240,240,240)} -.Greys .q1-3{fill:rgb(189,189,189)} -.Greys .q2-3{fill:rgb(99,99,99)} -.Greys .q0-4{fill:rgb(247,247,247)} -.Greys .q1-4{fill:rgb(204,204,204)} -.Greys .q2-4{fill:rgb(150,150,150)} -.Greys .q3-4{fill:rgb(82,82,82)} -.Greys .q0-5{fill:rgb(247,247,247)} -.Greys .q1-5{fill:rgb(204,204,204)} -.Greys .q2-5{fill:rgb(150,150,150)} -.Greys .q3-5{fill:rgb(99,99,99)} -.Greys .q4-5{fill:rgb(37,37,37)} -.Greys .q0-6{fill:rgb(247,247,247)} -.Greys .q1-6{fill:rgb(217,217,217)} -.Greys .q2-6{fill:rgb(189,189,189)} -.Greys .q3-6{fill:rgb(150,150,150)} -.Greys .q4-6{fill:rgb(99,99,99)} -.Greys .q5-6{fill:rgb(37,37,37)} -.Greys .q0-7{fill:rgb(247,247,247)} -.Greys .q1-7{fill:rgb(217,217,217)} -.Greys .q2-7{fill:rgb(189,189,189)} -.Greys .q3-7{fill:rgb(150,150,150)} -.Greys .q4-7{fill:rgb(115,115,115)} -.Greys .q5-7{fill:rgb(82,82,82)} -.Greys .q6-7{fill:rgb(37,37,37)} -.Greys .q0-8{fill:rgb(255,255,255)} -.Greys .q1-8{fill:rgb(240,240,240)} -.Greys .q2-8{fill:rgb(217,217,217)} -.Greys .q3-8{fill:rgb(189,189,189)} -.Greys .q4-8{fill:rgb(150,150,150)} -.Greys .q5-8{fill:rgb(115,115,115)} -.Greys .q6-8{fill:rgb(82,82,82)} -.Greys .q7-8{fill:rgb(37,37,37)} -.Greys .q0-9{fill:rgb(255,255,255)} -.Greys .q1-9{fill:rgb(240,240,240)} -.Greys .q2-9{fill:rgb(217,217,217)} -.Greys .q3-9{fill:rgb(189,189,189)} -.Greys .q4-9{fill:rgb(150,150,150)} -.Greys .q5-9{fill:rgb(115,115,115)} -.Greys .q6-9{fill:rgb(82,82,82)} -.Greys .q7-9{fill:rgb(37,37,37)} -.Greys .q8-9{fill:rgb(0,0,0)} -.PuOr .q0-3{fill:rgb(241,163,64)} -.PuOr .q1-3{fill:rgb(247,247,247)} -.PuOr .q2-3{fill:rgb(153,142,195)} -.PuOr .q0-4{fill:rgb(230,97,1)} -.PuOr .q1-4{fill:rgb(253,184,99)} -.PuOr .q2-4{fill:rgb(178,171,210)} -.PuOr .q3-4{fill:rgb(94,60,153)} -.PuOr .q0-5{fill:rgb(230,97,1)} -.PuOr .q1-5{fill:rgb(253,184,99)} -.PuOr .q2-5{fill:rgb(247,247,247)} -.PuOr .q3-5{fill:rgb(178,171,210)} -.PuOr .q4-5{fill:rgb(94,60,153)} -.PuOr .q0-6{fill:rgb(179,88,6)} -.PuOr .q1-6{fill:rgb(241,163,64)} -.PuOr .q2-6{fill:rgb(254,224,182)} -.PuOr .q3-6{fill:rgb(216,218,235)} -.PuOr .q4-6{fill:rgb(153,142,195)} -.PuOr .q5-6{fill:rgb(84,39,136)} -.PuOr .q0-7{fill:rgb(179,88,6)} -.PuOr .q1-7{fill:rgb(241,163,64)} -.PuOr .q2-7{fill:rgb(254,224,182)} -.PuOr .q3-7{fill:rgb(247,247,247)} -.PuOr .q4-7{fill:rgb(216,218,235)} -.PuOr .q5-7{fill:rgb(153,142,195)} -.PuOr .q6-7{fill:rgb(84,39,136)} -.PuOr .q0-8{fill:rgb(179,88,6)} -.PuOr .q1-8{fill:rgb(224,130,20)} -.PuOr .q2-8{fill:rgb(253,184,99)} -.PuOr .q3-8{fill:rgb(254,224,182)} -.PuOr .q4-8{fill:rgb(216,218,235)} -.PuOr .q5-8{fill:rgb(178,171,210)} -.PuOr .q6-8{fill:rgb(128,115,172)} -.PuOr .q7-8{fill:rgb(84,39,136)} -.PuOr .q0-9{fill:rgb(179,88,6)} -.PuOr .q1-9{fill:rgb(224,130,20)} -.PuOr .q2-9{fill:rgb(253,184,99)} -.PuOr .q3-9{fill:rgb(254,224,182)} -.PuOr .q4-9{fill:rgb(247,247,247)} -.PuOr .q5-9{fill:rgb(216,218,235)} -.PuOr .q6-9{fill:rgb(178,171,210)} -.PuOr .q7-9{fill:rgb(128,115,172)} -.PuOr .q8-9{fill:rgb(84,39,136)} -.PuOr .q0-10{fill:rgb(127,59,8)} -.PuOr .q1-10{fill:rgb(179,88,6)} -.PuOr .q2-10{fill:rgb(224,130,20)} -.PuOr .q3-10{fill:rgb(253,184,99)} -.PuOr .q4-10{fill:rgb(254,224,182)} -.PuOr .q5-10{fill:rgb(216,218,235)} -.PuOr .q6-10{fill:rgb(178,171,210)} -.PuOr .q7-10{fill:rgb(128,115,172)} -.PuOr .q8-10{fill:rgb(84,39,136)} -.PuOr .q9-10{fill:rgb(45,0,75)} -.PuOr .q0-11{fill:rgb(127,59,8)} -.PuOr .q1-11{fill:rgb(179,88,6)} -.PuOr .q2-11{fill:rgb(224,130,20)} -.PuOr .q3-11{fill:rgb(253,184,99)} -.PuOr .q4-11{fill:rgb(254,224,182)} -.PuOr .q5-11{fill:rgb(247,247,247)} -.PuOr .q6-11{fill:rgb(216,218,235)} -.PuOr .q7-11{fill:rgb(178,171,210)} -.PuOr .q8-11{fill:rgb(128,115,172)} -.PuOr .q9-11{fill:rgb(84,39,136)} -.PuOr .q10-11{fill:rgb(45,0,75)} -.BrBG .q0-3{fill:rgb(216,179,101)} -.BrBG .q1-3{fill:rgb(245,245,245)} -.BrBG .q2-3{fill:rgb(90,180,172)} -.BrBG .q0-4{fill:rgb(166,97,26)} -.BrBG .q1-4{fill:rgb(223,194,125)} -.BrBG .q2-4{fill:rgb(128,205,193)} -.BrBG .q3-4{fill:rgb(1,133,113)} -.BrBG .q0-5{fill:rgb(166,97,26)} -.BrBG .q1-5{fill:rgb(223,194,125)} -.BrBG .q2-5{fill:rgb(245,245,245)} -.BrBG .q3-5{fill:rgb(128,205,193)} -.BrBG .q4-5{fill:rgb(1,133,113)} -.BrBG .q0-6{fill:rgb(140,81,10)} -.BrBG .q1-6{fill:rgb(216,179,101)} -.BrBG .q2-6{fill:rgb(246,232,195)} -.BrBG .q3-6{fill:rgb(199,234,229)} -.BrBG .q4-6{fill:rgb(90,180,172)} -.BrBG .q5-6{fill:rgb(1,102,94)} -.BrBG .q0-7{fill:rgb(140,81,10)} -.BrBG .q1-7{fill:rgb(216,179,101)} -.BrBG .q2-7{fill:rgb(246,232,195)} -.BrBG .q3-7{fill:rgb(245,245,245)} -.BrBG .q4-7{fill:rgb(199,234,229)} -.BrBG .q5-7{fill:rgb(90,180,172)} -.BrBG .q6-7{fill:rgb(1,102,94)} -.BrBG .q0-8{fill:rgb(140,81,10)} -.BrBG .q1-8{fill:rgb(191,129,45)} -.BrBG .q2-8{fill:rgb(223,194,125)} -.BrBG .q3-8{fill:rgb(246,232,195)} -.BrBG .q4-8{fill:rgb(199,234,229)} -.BrBG .q5-8{fill:rgb(128,205,193)} -.BrBG .q6-8{fill:rgb(53,151,143)} -.BrBG .q7-8{fill:rgb(1,102,94)} -.BrBG .q0-9{fill:rgb(140,81,10)} -.BrBG .q1-9{fill:rgb(191,129,45)} -.BrBG .q2-9{fill:rgb(223,194,125)} -.BrBG .q3-9{fill:rgb(246,232,195)} -.BrBG .q4-9{fill:rgb(245,245,245)} -.BrBG .q5-9{fill:rgb(199,234,229)} -.BrBG .q6-9{fill:rgb(128,205,193)} -.BrBG .q7-9{fill:rgb(53,151,143)} -.BrBG .q8-9{fill:rgb(1,102,94)} -.BrBG .q0-10{fill:rgb(84,48,5)} -.BrBG .q1-10{fill:rgb(140,81,10)} -.BrBG .q2-10{fill:rgb(191,129,45)} -.BrBG .q3-10{fill:rgb(223,194,125)} -.BrBG .q4-10{fill:rgb(246,232,195)} -.BrBG .q5-10{fill:rgb(199,234,229)} -.BrBG .q6-10{fill:rgb(128,205,193)} -.BrBG .q7-10{fill:rgb(53,151,143)} -.BrBG .q8-10{fill:rgb(1,102,94)} -.BrBG .q9-10{fill:rgb(0,60,48)} -.BrBG .q0-11{fill:rgb(84,48,5)} -.BrBG .q1-11{fill:rgb(140,81,10)} -.BrBG .q2-11{fill:rgb(191,129,45)} -.BrBG .q3-11{fill:rgb(223,194,125)} -.BrBG .q4-11{fill:rgb(246,232,195)} -.BrBG .q5-11{fill:rgb(245,245,245)} -.BrBG .q6-11{fill:rgb(199,234,229)} -.BrBG .q7-11{fill:rgb(128,205,193)} -.BrBG .q8-11{fill:rgb(53,151,143)} -.BrBG .q9-11{fill:rgb(1,102,94)} -.BrBG .q10-11{fill:rgb(0,60,48)} -.PRGn .q0-3{fill:rgb(175,141,195)} -.PRGn .q1-3{fill:rgb(247,247,247)} -.PRGn .q2-3{fill:rgb(127,191,123)} -.PRGn .q0-4{fill:rgb(123,50,148)} -.PRGn .q1-4{fill:rgb(194,165,207)} -.PRGn .q2-4{fill:rgb(166,219,160)} -.PRGn .q3-4{fill:rgb(0,136,55)} -.PRGn .q0-5{fill:rgb(123,50,148)} -.PRGn .q1-5{fill:rgb(194,165,207)} -.PRGn .q2-5{fill:rgb(247,247,247)} -.PRGn .q3-5{fill:rgb(166,219,160)} -.PRGn .q4-5{fill:rgb(0,136,55)} -.PRGn .q0-6{fill:rgb(118,42,131)} -.PRGn .q1-6{fill:rgb(175,141,195)} -.PRGn .q2-6{fill:rgb(231,212,232)} -.PRGn .q3-6{fill:rgb(217,240,211)} -.PRGn .q4-6{fill:rgb(127,191,123)} -.PRGn .q5-6{fill:rgb(27,120,55)} -.PRGn .q0-7{fill:rgb(118,42,131)} -.PRGn .q1-7{fill:rgb(175,141,195)} -.PRGn .q2-7{fill:rgb(231,212,232)} -.PRGn .q3-7{fill:rgb(247,247,247)} -.PRGn .q4-7{fill:rgb(217,240,211)} -.PRGn .q5-7{fill:rgb(127,191,123)} -.PRGn .q6-7{fill:rgb(27,120,55)} -.PRGn .q0-8{fill:rgb(118,42,131)} -.PRGn .q1-8{fill:rgb(153,112,171)} -.PRGn .q2-8{fill:rgb(194,165,207)} -.PRGn .q3-8{fill:rgb(231,212,232)} -.PRGn .q4-8{fill:rgb(217,240,211)} -.PRGn .q5-8{fill:rgb(166,219,160)} -.PRGn .q6-8{fill:rgb(90,174,97)} -.PRGn .q7-8{fill:rgb(27,120,55)} -.PRGn .q0-9{fill:rgb(118,42,131)} -.PRGn .q1-9{fill:rgb(153,112,171)} -.PRGn .q2-9{fill:rgb(194,165,207)} -.PRGn .q3-9{fill:rgb(231,212,232)} -.PRGn .q4-9{fill:rgb(247,247,247)} -.PRGn .q5-9{fill:rgb(217,240,211)} -.PRGn .q6-9{fill:rgb(166,219,160)} -.PRGn .q7-9{fill:rgb(90,174,97)} -.PRGn .q8-9{fill:rgb(27,120,55)} -.PRGn .q0-10{fill:rgb(64,0,75)} -.PRGn .q1-10{fill:rgb(118,42,131)} -.PRGn .q2-10{fill:rgb(153,112,171)} -.PRGn .q3-10{fill:rgb(194,165,207)} -.PRGn .q4-10{fill:rgb(231,212,232)} -.PRGn .q5-10{fill:rgb(217,240,211)} -.PRGn .q6-10{fill:rgb(166,219,160)} -.PRGn .q7-10{fill:rgb(90,174,97)} -.PRGn .q8-10{fill:rgb(27,120,55)} -.PRGn .q9-10{fill:rgb(0,68,27)} -.PRGn .q0-11{fill:rgb(64,0,75)} -.PRGn .q1-11{fill:rgb(118,42,131)} -.PRGn .q2-11{fill:rgb(153,112,171)} -.PRGn .q3-11{fill:rgb(194,165,207)} -.PRGn .q4-11{fill:rgb(231,212,232)} -.PRGn .q5-11{fill:rgb(247,247,247)} -.PRGn .q6-11{fill:rgb(217,240,211)} -.PRGn .q7-11{fill:rgb(166,219,160)} -.PRGn .q8-11{fill:rgb(90,174,97)} -.PRGn .q9-11{fill:rgb(27,120,55)} -.PRGn .q10-11{fill:rgb(0,68,27)} -.PiYG .q0-3{fill:rgb(233,163,201)} -.PiYG .q1-3{fill:rgb(247,247,247)} -.PiYG .q2-3{fill:rgb(161,215,106)} -.PiYG .q0-4{fill:rgb(208,28,139)} -.PiYG .q1-4{fill:rgb(241,182,218)} -.PiYG .q2-4{fill:rgb(184,225,134)} -.PiYG .q3-4{fill:rgb(77,172,38)} -.PiYG .q0-5{fill:rgb(208,28,139)} -.PiYG .q1-5{fill:rgb(241,182,218)} -.PiYG .q2-5{fill:rgb(247,247,247)} -.PiYG .q3-5{fill:rgb(184,225,134)} -.PiYG .q4-5{fill:rgb(77,172,38)} -.PiYG .q0-6{fill:rgb(197,27,125)} -.PiYG .q1-6{fill:rgb(233,163,201)} -.PiYG .q2-6{fill:rgb(253,224,239)} -.PiYG .q3-6{fill:rgb(230,245,208)} -.PiYG .q4-6{fill:rgb(161,215,106)} -.PiYG .q5-6{fill:rgb(77,146,33)} -.PiYG .q0-7{fill:rgb(197,27,125)} -.PiYG .q1-7{fill:rgb(233,163,201)} -.PiYG .q2-7{fill:rgb(253,224,239)} -.PiYG .q3-7{fill:rgb(247,247,247)} -.PiYG .q4-7{fill:rgb(230,245,208)} -.PiYG .q5-7{fill:rgb(161,215,106)} -.PiYG .q6-7{fill:rgb(77,146,33)} -.PiYG .q0-8{fill:rgb(197,27,125)} -.PiYG .q1-8{fill:rgb(222,119,174)} -.PiYG .q2-8{fill:rgb(241,182,218)} -.PiYG .q3-8{fill:rgb(253,224,239)} -.PiYG .q4-8{fill:rgb(230,245,208)} -.PiYG .q5-8{fill:rgb(184,225,134)} -.PiYG .q6-8{fill:rgb(127,188,65)} -.PiYG .q7-8{fill:rgb(77,146,33)} -.PiYG .q0-9{fill:rgb(197,27,125)} -.PiYG .q1-9{fill:rgb(222,119,174)} -.PiYG .q2-9{fill:rgb(241,182,218)} -.PiYG .q3-9{fill:rgb(253,224,239)} -.PiYG .q4-9{fill:rgb(247,247,247)} -.PiYG .q5-9{fill:rgb(230,245,208)} -.PiYG .q6-9{fill:rgb(184,225,134)} -.PiYG .q7-9{fill:rgb(127,188,65)} -.PiYG .q8-9{fill:rgb(77,146,33)} -.PiYG .q0-10{fill:rgb(142,1,82)} -.PiYG .q1-10{fill:rgb(197,27,125)} -.PiYG .q2-10{fill:rgb(222,119,174)} -.PiYG .q3-10{fill:rgb(241,182,218)} -.PiYG .q4-10{fill:rgb(253,224,239)} -.PiYG .q5-10{fill:rgb(230,245,208)} -.PiYG .q6-10{fill:rgb(184,225,134)} -.PiYG .q7-10{fill:rgb(127,188,65)} -.PiYG .q8-10{fill:rgb(77,146,33)} -.PiYG .q9-10{fill:rgb(39,100,25)} -.PiYG .q0-11{fill:rgb(142,1,82)} -.PiYG .q1-11{fill:rgb(197,27,125)} -.PiYG .q2-11{fill:rgb(222,119,174)} -.PiYG .q3-11{fill:rgb(241,182,218)} -.PiYG .q4-11{fill:rgb(253,224,239)} -.PiYG .q5-11{fill:rgb(247,247,247)} -.PiYG .q6-11{fill:rgb(230,245,208)} -.PiYG .q7-11{fill:rgb(184,225,134)} -.PiYG .q8-11{fill:rgb(127,188,65)} -.PiYG .q9-11{fill:rgb(77,146,33)} -.PiYG .q10-11{fill:rgb(39,100,25)} -.RdBu .q0-3{fill:rgb(239,138,98)} -.RdBu .q1-3{fill:rgb(247,247,247)} -.RdBu .q2-3{fill:rgb(103,169,207)} -.RdBu .q0-4{fill:rgb(202,0,32)} -.RdBu .q1-4{fill:rgb(244,165,130)} -.RdBu .q2-4{fill:rgb(146,197,222)} -.RdBu .q3-4{fill:rgb(5,113,176)} -.RdBu .q0-5{fill:rgb(202,0,32)} -.RdBu .q1-5{fill:rgb(244,165,130)} -.RdBu .q2-5{fill:rgb(247,247,247)} -.RdBu .q3-5{fill:rgb(146,197,222)} -.RdBu .q4-5{fill:rgb(5,113,176)} -.RdBu .q0-6{fill:rgb(178,24,43)} -.RdBu .q1-6{fill:rgb(239,138,98)} -.RdBu .q2-6{fill:rgb(253,219,199)} -.RdBu .q3-6{fill:rgb(209,229,240)} -.RdBu .q4-6{fill:rgb(103,169,207)} -.RdBu .q5-6{fill:rgb(33,102,172)} -.RdBu .q0-7{fill:rgb(178,24,43)} -.RdBu .q1-7{fill:rgb(239,138,98)} -.RdBu .q2-7{fill:rgb(253,219,199)} -.RdBu .q3-7{fill:rgb(247,247,247)} -.RdBu .q4-7{fill:rgb(209,229,240)} -.RdBu .q5-7{fill:rgb(103,169,207)} -.RdBu .q6-7{fill:rgb(33,102,172)} -.RdBu .q0-8{fill:rgb(178,24,43)} -.RdBu .q1-8{fill:rgb(214,96,77)} -.RdBu .q2-8{fill:rgb(244,165,130)} -.RdBu .q3-8{fill:rgb(253,219,199)} -.RdBu .q4-8{fill:rgb(209,229,240)} -.RdBu .q5-8{fill:rgb(146,197,222)} -.RdBu .q6-8{fill:rgb(67,147,195)} -.RdBu .q7-8{fill:rgb(33,102,172)} -.RdBu .q0-9{fill:rgb(178,24,43)} -.RdBu .q1-9{fill:rgb(214,96,77)} -.RdBu .q2-9{fill:rgb(244,165,130)} -.RdBu .q3-9{fill:rgb(253,219,199)} -.RdBu .q4-9{fill:rgb(247,247,247)} -.RdBu .q5-9{fill:rgb(209,229,240)} -.RdBu .q6-9{fill:rgb(146,197,222)} -.RdBu .q7-9{fill:rgb(67,147,195)} -.RdBu .q8-9{fill:rgb(33,102,172)} -.RdBu .q0-10{fill:rgb(103,0,31)} -.RdBu .q1-10{fill:rgb(178,24,43)} -.RdBu .q2-10{fill:rgb(214,96,77)} -.RdBu .q3-10{fill:rgb(244,165,130)} -.RdBu .q4-10{fill:rgb(253,219,199)} -.RdBu .q5-10{fill:rgb(209,229,240)} -.RdBu .q6-10{fill:rgb(146,197,222)} -.RdBu .q7-10{fill:rgb(67,147,195)} -.RdBu .q8-10{fill:rgb(33,102,172)} -.RdBu .q9-10{fill:rgb(5,48,97)} -.RdBu .q0-11{fill:rgb(103,0,31)} -.RdBu .q1-11{fill:rgb(178,24,43)} -.RdBu .q2-11{fill:rgb(214,96,77)} -.RdBu .q3-11{fill:rgb(244,165,130)} -.RdBu .q4-11{fill:rgb(253,219,199)} -.RdBu .q5-11{fill:rgb(247,247,247)} -.RdBu .q6-11{fill:rgb(209,229,240)} -.RdBu .q7-11{fill:rgb(146,197,222)} -.RdBu .q8-11{fill:rgb(67,147,195)} -.RdBu .q9-11{fill:rgb(33,102,172)} -.RdBu .q10-11{fill:rgb(5,48,97)} -.RdGy .q0-3{fill:rgb(239,138,98)} -.RdGy .q1-3{fill:rgb(255,255,255)} -.RdGy .q2-3{fill:rgb(153,153,153)} -.RdGy .q0-4{fill:rgb(202,0,32)} -.RdGy .q1-4{fill:rgb(244,165,130)} -.RdGy .q2-4{fill:rgb(186,186,186)} -.RdGy .q3-4{fill:rgb(64,64,64)} -.RdGy .q0-5{fill:rgb(202,0,32)} -.RdGy .q1-5{fill:rgb(244,165,130)} -.RdGy .q2-5{fill:rgb(255,255,255)} -.RdGy .q3-5{fill:rgb(186,186,186)} -.RdGy .q4-5{fill:rgb(64,64,64)} -.RdGy .q0-6{fill:rgb(178,24,43)} -.RdGy .q1-6{fill:rgb(239,138,98)} -.RdGy .q2-6{fill:rgb(253,219,199)} -.RdGy .q3-6{fill:rgb(224,224,224)} -.RdGy .q4-6{fill:rgb(153,153,153)} -.RdGy .q5-6{fill:rgb(77,77,77)} -.RdGy .q0-7{fill:rgb(178,24,43)} -.RdGy .q1-7{fill:rgb(239,138,98)} -.RdGy .q2-7{fill:rgb(253,219,199)} -.RdGy .q3-7{fill:rgb(255,255,255)} -.RdGy .q4-7{fill:rgb(224,224,224)} -.RdGy .q5-7{fill:rgb(153,153,153)} -.RdGy .q6-7{fill:rgb(77,77,77)} -.RdGy .q0-8{fill:rgb(178,24,43)} -.RdGy .q1-8{fill:rgb(214,96,77)} -.RdGy .q2-8{fill:rgb(244,165,130)} -.RdGy .q3-8{fill:rgb(253,219,199)} -.RdGy .q4-8{fill:rgb(224,224,224)} -.RdGy .q5-8{fill:rgb(186,186,186)} -.RdGy .q6-8{fill:rgb(135,135,135)} -.RdGy .q7-8{fill:rgb(77,77,77)} -.RdGy .q0-9{fill:rgb(178,24,43)} -.RdGy .q1-9{fill:rgb(214,96,77)} -.RdGy .q2-9{fill:rgb(244,165,130)} -.RdGy .q3-9{fill:rgb(253,219,199)} -.RdGy .q4-9{fill:rgb(255,255,255)} -.RdGy .q5-9{fill:rgb(224,224,224)} -.RdGy .q6-9{fill:rgb(186,186,186)} -.RdGy .q7-9{fill:rgb(135,135,135)} -.RdGy .q8-9{fill:rgb(77,77,77)} -.RdGy .q0-10{fill:rgb(103,0,31)} -.RdGy .q1-10{fill:rgb(178,24,43)} -.RdGy .q2-10{fill:rgb(214,96,77)} -.RdGy .q3-10{fill:rgb(244,165,130)} -.RdGy .q4-10{fill:rgb(253,219,199)} -.RdGy .q5-10{fill:rgb(224,224,224)} -.RdGy .q6-10{fill:rgb(186,186,186)} -.RdGy .q7-10{fill:rgb(135,135,135)} -.RdGy .q8-10{fill:rgb(77,77,77)} -.RdGy .q9-10{fill:rgb(26,26,26)} -.RdGy .q0-11{fill:rgb(103,0,31)} -.RdGy .q1-11{fill:rgb(178,24,43)} -.RdGy .q2-11{fill:rgb(214,96,77)} -.RdGy .q3-11{fill:rgb(244,165,130)} -.RdGy .q4-11{fill:rgb(253,219,199)} -.RdGy .q5-11{fill:rgb(255,255,255)} -.RdGy .q6-11{fill:rgb(224,224,224)} -.RdGy .q7-11{fill:rgb(186,186,186)} -.RdGy .q8-11{fill:rgb(135,135,135)} -.RdGy .q9-11{fill:rgb(77,77,77)} -.RdGy .q10-11{fill:rgb(26,26,26)} -.RdYlBu .q0-3{fill:rgb(252,141,89)} -.RdYlBu .q1-3{fill:rgb(255,255,191)} -.RdYlBu .q2-3{fill:rgb(145,191,219)} -.RdYlBu .q0-4{fill:rgb(215,25,28)} -.RdYlBu .q1-4{fill:rgb(253,174,97)} -.RdYlBu .q2-4{fill:rgb(171,217,233)} -.RdYlBu .q3-4{fill:rgb(44,123,182)} -.RdYlBu .q0-5{fill:rgb(215,25,28)} -.RdYlBu .q1-5{fill:rgb(253,174,97)} -.RdYlBu .q2-5{fill:rgb(255,255,191)} -.RdYlBu .q3-5{fill:rgb(171,217,233)} -.RdYlBu .q4-5{fill:rgb(44,123,182)} -.RdYlBu .q0-6{fill:rgb(215,48,39)} -.RdYlBu .q1-6{fill:rgb(252,141,89)} -.RdYlBu .q2-6{fill:rgb(254,224,144)} -.RdYlBu .q3-6{fill:rgb(224,243,248)} -.RdYlBu .q4-6{fill:rgb(145,191,219)} -.RdYlBu .q5-6{fill:rgb(69,117,180)} -.RdYlBu .q0-7{fill:rgb(215,48,39)} -.RdYlBu .q1-7{fill:rgb(252,141,89)} -.RdYlBu .q2-7{fill:rgb(254,224,144)} -.RdYlBu .q3-7{fill:rgb(255,255,191)} -.RdYlBu .q4-7{fill:rgb(224,243,248)} -.RdYlBu .q5-7{fill:rgb(145,191,219)} -.RdYlBu .q6-7{fill:rgb(69,117,180)} -.RdYlBu .q0-8{fill:rgb(215,48,39)} -.RdYlBu .q1-8{fill:rgb(244,109,67)} -.RdYlBu .q2-8{fill:rgb(253,174,97)} -.RdYlBu .q3-8{fill:rgb(254,224,144)} -.RdYlBu .q4-8{fill:rgb(224,243,248)} -.RdYlBu .q5-8{fill:rgb(171,217,233)} -.RdYlBu .q6-8{fill:rgb(116,173,209)} -.RdYlBu .q7-8{fill:rgb(69,117,180)} -.RdYlBu .q0-9{fill:rgb(215,48,39)} -.RdYlBu .q1-9{fill:rgb(244,109,67)} -.RdYlBu .q2-9{fill:rgb(253,174,97)} -.RdYlBu .q3-9{fill:rgb(254,224,144)} -.RdYlBu .q4-9{fill:rgb(255,255,191)} -.RdYlBu .q5-9{fill:rgb(224,243,248)} -.RdYlBu .q6-9{fill:rgb(171,217,233)} -.RdYlBu .q7-9{fill:rgb(116,173,209)} -.RdYlBu .q8-9{fill:rgb(69,117,180)} -.RdYlBu .q0-10{fill:rgb(165,0,38)} -.RdYlBu .q1-10{fill:rgb(215,48,39)} -.RdYlBu .q2-10{fill:rgb(244,109,67)} -.RdYlBu .q3-10{fill:rgb(253,174,97)} -.RdYlBu .q4-10{fill:rgb(254,224,144)} -.RdYlBu .q5-10{fill:rgb(224,243,248)} -.RdYlBu .q6-10{fill:rgb(171,217,233)} -.RdYlBu .q7-10{fill:rgb(116,173,209)} -.RdYlBu .q8-10{fill:rgb(69,117,180)} -.RdYlBu .q9-10{fill:rgb(49,54,149)} -.RdYlBu .q0-11{fill:rgb(165,0,38)} -.RdYlBu .q1-11{fill:rgb(215,48,39)} -.RdYlBu .q2-11{fill:rgb(244,109,67)} -.RdYlBu .q3-11{fill:rgb(253,174,97)} -.RdYlBu .q4-11{fill:rgb(254,224,144)} -.RdYlBu .q5-11{fill:rgb(255,255,191)} -.RdYlBu .q6-11{fill:rgb(224,243,248)} -.RdYlBu .q7-11{fill:rgb(171,217,233)} -.RdYlBu .q8-11{fill:rgb(116,173,209)} -.RdYlBu .q9-11{fill:rgb(69,117,180)} -.RdYlBu .q10-11{fill:rgb(49,54,149)} -.Spectral .q0-3{fill:rgb(252,141,89)} -.Spectral .q1-3{fill:rgb(255,255,191)} -.Spectral .q2-3{fill:rgb(153,213,148)} -.Spectral .q0-4{fill:rgb(215,25,28)} -.Spectral .q1-4{fill:rgb(253,174,97)} -.Spectral .q2-4{fill:rgb(171,221,164)} -.Spectral .q3-4{fill:rgb(43,131,186)} -.Spectral .q0-5{fill:rgb(215,25,28)} -.Spectral .q1-5{fill:rgb(253,174,97)} -.Spectral .q2-5{fill:rgb(255,255,191)} -.Spectral .q3-5{fill:rgb(171,221,164)} -.Spectral .q4-5{fill:rgb(43,131,186)} -.Spectral .q0-6{fill:rgb(213,62,79)} -.Spectral .q1-6{fill:rgb(252,141,89)} -.Spectral .q2-6{fill:rgb(254,224,139)} -.Spectral .q3-6{fill:rgb(230,245,152)} -.Spectral .q4-6{fill:rgb(153,213,148)} -.Spectral .q5-6{fill:rgb(50,136,189)} -.Spectral .q0-7{fill:rgb(213,62,79)} -.Spectral .q1-7{fill:rgb(252,141,89)} -.Spectral .q2-7{fill:rgb(254,224,139)} -.Spectral .q3-7{fill:rgb(255,255,191)} -.Spectral .q4-7{fill:rgb(230,245,152)} -.Spectral .q5-7{fill:rgb(153,213,148)} -.Spectral .q6-7{fill:rgb(50,136,189)} -.Spectral .q0-8{fill:rgb(213,62,79)} -.Spectral .q1-8{fill:rgb(244,109,67)} -.Spectral .q2-8{fill:rgb(253,174,97)} -.Spectral .q3-8{fill:rgb(254,224,139)} -.Spectral .q4-8{fill:rgb(230,245,152)} -.Spectral .q5-8{fill:rgb(171,221,164)} -.Spectral .q6-8{fill:rgb(102,194,165)} -.Spectral .q7-8{fill:rgb(50,136,189)} -.Spectral .q0-9{fill:rgb(213,62,79)} -.Spectral .q1-9{fill:rgb(244,109,67)} -.Spectral .q2-9{fill:rgb(253,174,97)} -.Spectral .q3-9{fill:rgb(254,224,139)} -.Spectral .q4-9{fill:rgb(255,255,191)} -.Spectral .q5-9{fill:rgb(230,245,152)} -.Spectral .q6-9{fill:rgb(171,221,164)} -.Spectral .q7-9{fill:rgb(102,194,165)} -.Spectral .q8-9{fill:rgb(50,136,189)} -.Spectral .q0-10{fill:rgb(158,1,66)} -.Spectral .q1-10{fill:rgb(213,62,79)} -.Spectral .q2-10{fill:rgb(244,109,67)} -.Spectral .q3-10{fill:rgb(253,174,97)} -.Spectral .q4-10{fill:rgb(254,224,139)} -.Spectral .q5-10{fill:rgb(230,245,152)} -.Spectral .q6-10{fill:rgb(171,221,164)} -.Spectral .q7-10{fill:rgb(102,194,165)} -.Spectral .q8-10{fill:rgb(50,136,189)} -.Spectral .q9-10{fill:rgb(94,79,162)} -.Spectral .q0-11{fill:rgb(158,1,66)} -.Spectral .q1-11{fill:rgb(213,62,79)} -.Spectral .q2-11{fill:rgb(244,109,67)} -.Spectral .q3-11{fill:rgb(253,174,97)} -.Spectral .q4-11{fill:rgb(254,224,139)} -.Spectral .q5-11{fill:rgb(255,255,191)} -.Spectral .q6-11{fill:rgb(230,245,152)} -.Spectral .q7-11{fill:rgb(171,221,164)} -.Spectral .q8-11{fill:rgb(102,194,165)} -.Spectral .q9-11{fill:rgb(50,136,189)} -.Spectral .q10-11{fill:rgb(94,79,162)} -.RdYlGn .q0-3{fill:rgb(252,141,89)} -.RdYlGn .q1-3{fill:rgb(255,255,191)} -.RdYlGn .q2-3{fill:rgb(145,207,96)} -.RdYlGn .q0-4{fill:rgb(215,25,28)} -.RdYlGn .q1-4{fill:rgb(253,174,97)} -.RdYlGn .q2-4{fill:rgb(166,217,106)} -.RdYlGn .q3-4{fill:rgb(26,150,65)} -.RdYlGn .q0-5{fill:rgb(215,25,28)} -.RdYlGn .q1-5{fill:rgb(253,174,97)} -.RdYlGn .q2-5{fill:rgb(255,255,191)} -.RdYlGn .q3-5{fill:rgb(166,217,106)} -.RdYlGn .q4-5{fill:rgb(26,150,65)} -.RdYlGn .q0-6{fill:rgb(215,48,39)} -.RdYlGn .q1-6{fill:rgb(252,141,89)} -.RdYlGn .q2-6{fill:rgb(254,224,139)} -.RdYlGn .q3-6{fill:rgb(217,239,139)} -.RdYlGn .q4-6{fill:rgb(145,207,96)} -.RdYlGn .q5-6{fill:rgb(26,152,80)} -.RdYlGn .q0-7{fill:rgb(215,48,39)} -.RdYlGn .q1-7{fill:rgb(252,141,89)} -.RdYlGn .q2-7{fill:rgb(254,224,139)} -.RdYlGn .q3-7{fill:rgb(255,255,191)} -.RdYlGn .q4-7{fill:rgb(217,239,139)} -.RdYlGn .q5-7{fill:rgb(145,207,96)} -.RdYlGn .q6-7{fill:rgb(26,152,80)} -.RdYlGn .q0-8{fill:rgb(215,48,39)} -.RdYlGn .q1-8{fill:rgb(244,109,67)} -.RdYlGn .q2-8{fill:rgb(253,174,97)} -.RdYlGn .q3-8{fill:rgb(254,224,139)} -.RdYlGn .q4-8{fill:rgb(217,239,139)} -.RdYlGn .q5-8{fill:rgb(166,217,106)} -.RdYlGn .q6-8{fill:rgb(102,189,99)} -.RdYlGn .q7-8{fill:rgb(26,152,80)} -.RdYlGn .q0-9{fill:rgb(215,48,39)} -.RdYlGn .q1-9{fill:rgb(244,109,67)} -.RdYlGn .q2-9{fill:rgb(253,174,97)} -.RdYlGn .q3-9{fill:rgb(254,224,139)} -.RdYlGn .q4-9{fill:rgb(255,255,191)} -.RdYlGn .q5-9{fill:rgb(217,239,139)} -.RdYlGn .q6-9{fill:rgb(166,217,106)} -.RdYlGn .q7-9{fill:rgb(102,189,99)} -.RdYlGn .q8-9{fill:rgb(26,152,80)} -.RdYlGn .q0-10{fill:rgb(165,0,38)} -.RdYlGn .q1-10{fill:rgb(215,48,39)} -.RdYlGn .q2-10{fill:rgb(244,109,67)} -.RdYlGn .q3-10{fill:rgb(253,174,97)} -.RdYlGn .q4-10{fill:rgb(254,224,139)} -.RdYlGn .q5-10{fill:rgb(217,239,139)} -.RdYlGn .q6-10{fill:rgb(166,217,106)} -.RdYlGn .q7-10{fill:rgb(102,189,99)} -.RdYlGn .q8-10{fill:rgb(26,152,80)} -.RdYlGn .q9-10{fill:rgb(0,104,55)} -.RdYlGn .q0-11{fill:rgb(165,0,38)} -.RdYlGn .q1-11{fill:rgb(215,48,39)} -.RdYlGn .q2-11{fill:rgb(244,109,67)} -.RdYlGn .q3-11{fill:rgb(253,174,97)} -.RdYlGn .q4-11{fill:rgb(254,224,139)} -.RdYlGn .q5-11{fill:rgb(255,255,191)} -.RdYlGn .q6-11{fill:rgb(217,239,139)} -.RdYlGn .q7-11{fill:rgb(166,217,106)} -.RdYlGn .q8-11{fill:rgb(102,189,99)} -.RdYlGn .q9-11{fill:rgb(26,152,80)} -.RdYlGn .q10-11{fill:rgb(0,104,55)} -.Accent .q0-3{fill:rgb(127,201,127)} -.Accent .q1-3{fill:rgb(190,174,212)} -.Accent .q2-3{fill:rgb(253,192,134)} -.Accent .q0-4{fill:rgb(127,201,127)} -.Accent .q1-4{fill:rgb(190,174,212)} -.Accent .q2-4{fill:rgb(253,192,134)} -.Accent .q3-4{fill:rgb(255,255,153)} -.Accent .q0-5{fill:rgb(127,201,127)} -.Accent .q1-5{fill:rgb(190,174,212)} -.Accent .q2-5{fill:rgb(253,192,134)} -.Accent .q3-5{fill:rgb(255,255,153)} -.Accent .q4-5{fill:rgb(56,108,176)} -.Accent .q0-6{fill:rgb(127,201,127)} -.Accent .q1-6{fill:rgb(190,174,212)} -.Accent .q2-6{fill:rgb(253,192,134)} -.Accent .q3-6{fill:rgb(255,255,153)} -.Accent .q4-6{fill:rgb(56,108,176)} -.Accent .q5-6{fill:rgb(240,2,127)} -.Accent .q0-7{fill:rgb(127,201,127)} -.Accent .q1-7{fill:rgb(190,174,212)} -.Accent .q2-7{fill:rgb(253,192,134)} -.Accent .q3-7{fill:rgb(255,255,153)} -.Accent .q4-7{fill:rgb(56,108,176)} -.Accent .q5-7{fill:rgb(240,2,127)} -.Accent .q6-7{fill:rgb(191,91,23)} -.Accent .q0-8{fill:rgb(127,201,127)} -.Accent .q1-8{fill:rgb(190,174,212)} -.Accent .q2-8{fill:rgb(253,192,134)} -.Accent .q3-8{fill:rgb(255,255,153)} -.Accent .q4-8{fill:rgb(56,108,176)} -.Accent .q5-8{fill:rgb(240,2,127)} -.Accent .q6-8{fill:rgb(191,91,23)} -.Accent .q7-8{fill:rgb(102,102,102)} -.Dark2 .q0-3{fill:rgb(27,158,119)} -.Dark2 .q1-3{fill:rgb(217,95,2)} -.Dark2 .q2-3{fill:rgb(117,112,179)} -.Dark2 .q0-4{fill:rgb(27,158,119)} -.Dark2 .q1-4{fill:rgb(217,95,2)} -.Dark2 .q2-4{fill:rgb(117,112,179)} -.Dark2 .q3-4{fill:rgb(231,41,138)} -.Dark2 .q0-5{fill:rgb(27,158,119)} -.Dark2 .q1-5{fill:rgb(217,95,2)} -.Dark2 .q2-5{fill:rgb(117,112,179)} -.Dark2 .q3-5{fill:rgb(231,41,138)} -.Dark2 .q4-5{fill:rgb(102,166,30)} -.Dark2 .q0-6{fill:rgb(27,158,119)} -.Dark2 .q1-6{fill:rgb(217,95,2)} -.Dark2 .q2-6{fill:rgb(117,112,179)} -.Dark2 .q3-6{fill:rgb(231,41,138)} -.Dark2 .q4-6{fill:rgb(102,166,30)} -.Dark2 .q5-6{fill:rgb(230,171,2)} -.Dark2 .q0-7{fill:rgb(27,158,119)} -.Dark2 .q1-7{fill:rgb(217,95,2)} -.Dark2 .q2-7{fill:rgb(117,112,179)} -.Dark2 .q3-7{fill:rgb(231,41,138)} -.Dark2 .q4-7{fill:rgb(102,166,30)} -.Dark2 .q5-7{fill:rgb(230,171,2)} -.Dark2 .q6-7{fill:rgb(166,118,29)} -.Dark2 .q0-8{fill:rgb(27,158,119)} -.Dark2 .q1-8{fill:rgb(217,95,2)} -.Dark2 .q2-8{fill:rgb(117,112,179)} -.Dark2 .q3-8{fill:rgb(231,41,138)} -.Dark2 .q4-8{fill:rgb(102,166,30)} -.Dark2 .q5-8{fill:rgb(230,171,2)} -.Dark2 .q6-8{fill:rgb(166,118,29)} -.Dark2 .q7-8{fill:rgb(102,102,102)} -.Paired .q0-3{fill:rgb(166,206,227)} -.Paired .q1-3{fill:rgb(31,120,180)} -.Paired .q2-3{fill:rgb(178,223,138)} -.Paired .q0-4{fill:rgb(166,206,227)} -.Paired .q1-4{fill:rgb(31,120,180)} -.Paired .q2-4{fill:rgb(178,223,138)} -.Paired .q3-4{fill:rgb(51,160,44)} -.Paired .q0-5{fill:rgb(166,206,227)} -.Paired .q1-5{fill:rgb(31,120,180)} -.Paired .q2-5{fill:rgb(178,223,138)} -.Paired .q3-5{fill:rgb(51,160,44)} -.Paired .q4-5{fill:rgb(251,154,153)} -.Paired .q0-6{fill:rgb(166,206,227)} -.Paired .q1-6{fill:rgb(31,120,180)} -.Paired .q2-6{fill:rgb(178,223,138)} -.Paired .q3-6{fill:rgb(51,160,44)} -.Paired .q4-6{fill:rgb(251,154,153)} -.Paired .q5-6{fill:rgb(227,26,28)} -.Paired .q0-7{fill:rgb(166,206,227)} -.Paired .q1-7{fill:rgb(31,120,180)} -.Paired .q2-7{fill:rgb(178,223,138)} -.Paired .q3-7{fill:rgb(51,160,44)} -.Paired .q4-7{fill:rgb(251,154,153)} -.Paired .q5-7{fill:rgb(227,26,28)} -.Paired .q6-7{fill:rgb(253,191,111)} -.Paired .q0-8{fill:rgb(166,206,227)} -.Paired .q1-8{fill:rgb(31,120,180)} -.Paired .q2-8{fill:rgb(178,223,138)} -.Paired .q3-8{fill:rgb(51,160,44)} -.Paired .q4-8{fill:rgb(251,154,153)} -.Paired .q5-8{fill:rgb(227,26,28)} -.Paired .q6-8{fill:rgb(253,191,111)} -.Paired .q7-8{fill:rgb(255,127,0)} -.Paired .q0-9{fill:rgb(166,206,227)} -.Paired .q1-9{fill:rgb(31,120,180)} -.Paired .q2-9{fill:rgb(178,223,138)} -.Paired .q3-9{fill:rgb(51,160,44)} -.Paired .q4-9{fill:rgb(251,154,153)} -.Paired .q5-9{fill:rgb(227,26,28)} -.Paired .q6-9{fill:rgb(253,191,111)} -.Paired .q7-9{fill:rgb(255,127,0)} -.Paired .q8-9{fill:rgb(202,178,214)} -.Paired .q0-10{fill:rgb(166,206,227)} -.Paired .q1-10{fill:rgb(31,120,180)} -.Paired .q2-10{fill:rgb(178,223,138)} -.Paired .q3-10{fill:rgb(51,160,44)} -.Paired .q4-10{fill:rgb(251,154,153)} -.Paired .q5-10{fill:rgb(227,26,28)} -.Paired .q6-10{fill:rgb(253,191,111)} -.Paired .q7-10{fill:rgb(255,127,0)} -.Paired .q8-10{fill:rgb(202,178,214)} -.Paired .q9-10{fill:rgb(106,61,154)} -.Paired .q0-11{fill:rgb(166,206,227)} -.Paired .q1-11{fill:rgb(31,120,180)} -.Paired .q2-11{fill:rgb(178,223,138)} -.Paired .q3-11{fill:rgb(51,160,44)} -.Paired .q4-11{fill:rgb(251,154,153)} -.Paired .q5-11{fill:rgb(227,26,28)} -.Paired .q6-11{fill:rgb(253,191,111)} -.Paired .q7-11{fill:rgb(255,127,0)} -.Paired .q8-11{fill:rgb(202,178,214)} -.Paired .q9-11{fill:rgb(106,61,154)} -.Paired .q10-11{fill:rgb(255,255,153)} -.Paired .q0-12{fill:rgb(166,206,227)} -.Paired .q1-12{fill:rgb(31,120,180)} -.Paired .q2-12{fill:rgb(178,223,138)} -.Paired .q3-12{fill:rgb(51,160,44)} -.Paired .q4-12{fill:rgb(251,154,153)} -.Paired .q5-12{fill:rgb(227,26,28)} -.Paired .q6-12{fill:rgb(253,191,111)} -.Paired .q7-12{fill:rgb(255,127,0)} -.Paired .q8-12{fill:rgb(202,178,214)} -.Paired .q9-12{fill:rgb(106,61,154)} -.Paired .q10-12{fill:rgb(255,255,153)} -.Paired .q11-12{fill:rgb(177,89,40)} -.Pastel1 .q0-3{fill:rgb(251,180,174)} -.Pastel1 .q1-3{fill:rgb(179,205,227)} -.Pastel1 .q2-3{fill:rgb(204,235,197)} -.Pastel1 .q0-4{fill:rgb(251,180,174)} -.Pastel1 .q1-4{fill:rgb(179,205,227)} -.Pastel1 .q2-4{fill:rgb(204,235,197)} -.Pastel1 .q3-4{fill:rgb(222,203,228)} -.Pastel1 .q0-5{fill:rgb(251,180,174)} -.Pastel1 .q1-5{fill:rgb(179,205,227)} -.Pastel1 .q2-5{fill:rgb(204,235,197)} -.Pastel1 .q3-5{fill:rgb(222,203,228)} -.Pastel1 .q4-5{fill:rgb(254,217,166)} -.Pastel1 .q0-6{fill:rgb(251,180,174)} -.Pastel1 .q1-6{fill:rgb(179,205,227)} -.Pastel1 .q2-6{fill:rgb(204,235,197)} -.Pastel1 .q3-6{fill:rgb(222,203,228)} -.Pastel1 .q4-6{fill:rgb(254,217,166)} -.Pastel1 .q5-6{fill:rgb(255,255,204)} -.Pastel1 .q0-7{fill:rgb(251,180,174)} -.Pastel1 .q1-7{fill:rgb(179,205,227)} -.Pastel1 .q2-7{fill:rgb(204,235,197)} -.Pastel1 .q3-7{fill:rgb(222,203,228)} -.Pastel1 .q4-7{fill:rgb(254,217,166)} -.Pastel1 .q5-7{fill:rgb(255,255,204)} -.Pastel1 .q6-7{fill:rgb(229,216,189)} -.Pastel1 .q0-8{fill:rgb(251,180,174)} -.Pastel1 .q1-8{fill:rgb(179,205,227)} -.Pastel1 .q2-8{fill:rgb(204,235,197)} -.Pastel1 .q3-8{fill:rgb(222,203,228)} -.Pastel1 .q4-8{fill:rgb(254,217,166)} -.Pastel1 .q5-8{fill:rgb(255,255,204)} -.Pastel1 .q6-8{fill:rgb(229,216,189)} -.Pastel1 .q7-8{fill:rgb(253,218,236)} -.Pastel1 .q0-9{fill:rgb(251,180,174)} -.Pastel1 .q1-9{fill:rgb(179,205,227)} -.Pastel1 .q2-9{fill:rgb(204,235,197)} -.Pastel1 .q3-9{fill:rgb(222,203,228)} -.Pastel1 .q4-9{fill:rgb(254,217,166)} -.Pastel1 .q5-9{fill:rgb(255,255,204)} -.Pastel1 .q6-9{fill:rgb(229,216,189)} -.Pastel1 .q7-9{fill:rgb(253,218,236)} -.Pastel1 .q8-9{fill:rgb(242,242,242)} -.Pastel2 .q0-3{fill:rgb(179,226,205)} -.Pastel2 .q1-3{fill:rgb(253,205,172)} -.Pastel2 .q2-3{fill:rgb(203,213,232)} -.Pastel2 .q0-4{fill:rgb(179,226,205)} -.Pastel2 .q1-4{fill:rgb(253,205,172)} -.Pastel2 .q2-4{fill:rgb(203,213,232)} -.Pastel2 .q3-4{fill:rgb(244,202,228)} -.Pastel2 .q0-5{fill:rgb(179,226,205)} -.Pastel2 .q1-5{fill:rgb(253,205,172)} -.Pastel2 .q2-5{fill:rgb(203,213,232)} -.Pastel2 .q3-5{fill:rgb(244,202,228)} -.Pastel2 .q4-5{fill:rgb(230,245,201)} -.Pastel2 .q0-6{fill:rgb(179,226,205)} -.Pastel2 .q1-6{fill:rgb(253,205,172)} -.Pastel2 .q2-6{fill:rgb(203,213,232)} -.Pastel2 .q3-6{fill:rgb(244,202,228)} -.Pastel2 .q4-6{fill:rgb(230,245,201)} -.Pastel2 .q5-6{fill:rgb(255,242,174)} -.Pastel2 .q0-7{fill:rgb(179,226,205)} -.Pastel2 .q1-7{fill:rgb(253,205,172)} -.Pastel2 .q2-7{fill:rgb(203,213,232)} -.Pastel2 .q3-7{fill:rgb(244,202,228)} -.Pastel2 .q4-7{fill:rgb(230,245,201)} -.Pastel2 .q5-7{fill:rgb(255,242,174)} -.Pastel2 .q6-7{fill:rgb(241,226,204)} -.Pastel2 .q0-8{fill:rgb(179,226,205)} -.Pastel2 .q1-8{fill:rgb(253,205,172)} -.Pastel2 .q2-8{fill:rgb(203,213,232)} -.Pastel2 .q3-8{fill:rgb(244,202,228)} -.Pastel2 .q4-8{fill:rgb(230,245,201)} -.Pastel2 .q5-8{fill:rgb(255,242,174)} -.Pastel2 .q6-8{fill:rgb(241,226,204)} -.Pastel2 .q7-8{fill:rgb(204,204,204)} -.Set1 .q0-3{fill:rgb(228,26,28)} -.Set1 .q1-3{fill:rgb(55,126,184)} -.Set1 .q2-3{fill:rgb(77,175,74)} -.Set1 .q0-4{fill:rgb(228,26,28)} -.Set1 .q1-4{fill:rgb(55,126,184)} -.Set1 .q2-4{fill:rgb(77,175,74)} -.Set1 .q3-4{fill:rgb(152,78,163)} -.Set1 .q0-5{fill:rgb(228,26,28)} -.Set1 .q1-5{fill:rgb(55,126,184)} -.Set1 .q2-5{fill:rgb(77,175,74)} -.Set1 .q3-5{fill:rgb(152,78,163)} -.Set1 .q4-5{fill:rgb(255,127,0)} -.Set1 .q0-6{fill:rgb(228,26,28)} -.Set1 .q1-6{fill:rgb(55,126,184)} -.Set1 .q2-6{fill:rgb(77,175,74)} -.Set1 .q3-6{fill:rgb(152,78,163)} -.Set1 .q4-6{fill:rgb(255,127,0)} -.Set1 .q5-6{fill:rgb(255,255,51)} -.Set1 .q0-7{fill:rgb(228,26,28)} -.Set1 .q1-7{fill:rgb(55,126,184)} -.Set1 .q2-7{fill:rgb(77,175,74)} -.Set1 .q3-7{fill:rgb(152,78,163)} -.Set1 .q4-7{fill:rgb(255,127,0)} -.Set1 .q5-7{fill:rgb(255,255,51)} -.Set1 .q6-7{fill:rgb(166,86,40)} -.Set1 .q0-8{fill:rgb(228,26,28)} -.Set1 .q1-8{fill:rgb(55,126,184)} -.Set1 .q2-8{fill:rgb(77,175,74)} -.Set1 .q3-8{fill:rgb(152,78,163)} -.Set1 .q4-8{fill:rgb(255,127,0)} -.Set1 .q5-8{fill:rgb(255,255,51)} -.Set1 .q6-8{fill:rgb(166,86,40)} -.Set1 .q7-8{fill:rgb(247,129,191)} -.Set1 .q0-9{fill:rgb(228,26,28)} -.Set1 .q1-9{fill:rgb(55,126,184)} -.Set1 .q2-9{fill:rgb(77,175,74)} -.Set1 .q3-9{fill:rgb(152,78,163)} -.Set1 .q4-9{fill:rgb(255,127,0)} -.Set1 .q5-9{fill:rgb(255,255,51)} -.Set1 .q6-9{fill:rgb(166,86,40)} -.Set1 .q7-9{fill:rgb(247,129,191)} -.Set1 .q8-9{fill:rgb(153,153,153)} -.Set2 .q0-3{fill:rgb(102,194,165)} -.Set2 .q1-3{fill:rgb(252,141,98)} -.Set2 .q2-3{fill:rgb(141,160,203)} -.Set2 .q0-4{fill:rgb(102,194,165)} -.Set2 .q1-4{fill:rgb(252,141,98)} -.Set2 .q2-4{fill:rgb(141,160,203)} -.Set2 .q3-4{fill:rgb(231,138,195)} -.Set2 .q0-5{fill:rgb(102,194,165)} -.Set2 .q1-5{fill:rgb(252,141,98)} -.Set2 .q2-5{fill:rgb(141,160,203)} -.Set2 .q3-5{fill:rgb(231,138,195)} -.Set2 .q4-5{fill:rgb(166,216,84)} -.Set2 .q0-6{fill:rgb(102,194,165)} -.Set2 .q1-6{fill:rgb(252,141,98)} -.Set2 .q2-6{fill:rgb(141,160,203)} -.Set2 .q3-6{fill:rgb(231,138,195)} -.Set2 .q4-6{fill:rgb(166,216,84)} -.Set2 .q5-6{fill:rgb(255,217,47)} -.Set2 .q0-7{fill:rgb(102,194,165)} -.Set2 .q1-7{fill:rgb(252,141,98)} -.Set2 .q2-7{fill:rgb(141,160,203)} -.Set2 .q3-7{fill:rgb(231,138,195)} -.Set2 .q4-7{fill:rgb(166,216,84)} -.Set2 .q5-7{fill:rgb(255,217,47)} -.Set2 .q6-7{fill:rgb(229,196,148)} -.Set2 .q0-8{fill:rgb(102,194,165)} -.Set2 .q1-8{fill:rgb(252,141,98)} -.Set2 .q2-8{fill:rgb(141,160,203)} -.Set2 .q3-8{fill:rgb(231,138,195)} -.Set2 .q4-8{fill:rgb(166,216,84)} -.Set2 .q5-8{fill:rgb(255,217,47)} -.Set2 .q6-8{fill:rgb(229,196,148)} -.Set2 .q7-8{fill:rgb(179,179,179)} -.Set3 .q0-3{fill:rgb(141,211,199)} -.Set3 .q1-3{fill:rgb(255,255,179)} -.Set3 .q2-3{fill:rgb(190,186,218)} -.Set3 .q0-4{fill:rgb(141,211,199)} -.Set3 .q1-4{fill:rgb(255,255,179)} -.Set3 .q2-4{fill:rgb(190,186,218)} -.Set3 .q3-4{fill:rgb(251,128,114)} -.Set3 .q0-5{fill:rgb(141,211,199)} -.Set3 .q1-5{fill:rgb(255,255,179)} -.Set3 .q2-5{fill:rgb(190,186,218)} -.Set3 .q3-5{fill:rgb(251,128,114)} -.Set3 .q4-5{fill:rgb(128,177,211)} -.Set3 .q0-6{fill:rgb(141,211,199)} -.Set3 .q1-6{fill:rgb(255,255,179)} -.Set3 .q2-6{fill:rgb(190,186,218)} -.Set3 .q3-6{fill:rgb(251,128,114)} -.Set3 .q4-6{fill:rgb(128,177,211)} -.Set3 .q5-6{fill:rgb(253,180,98)} -.Set3 .q0-7{fill:rgb(141,211,199)} -.Set3 .q1-7{fill:rgb(255,255,179)} -.Set3 .q2-7{fill:rgb(190,186,218)} -.Set3 .q3-7{fill:rgb(251,128,114)} -.Set3 .q4-7{fill:rgb(128,177,211)} -.Set3 .q5-7{fill:rgb(253,180,98)} -.Set3 .q6-7{fill:rgb(179,222,105)} -.Set3 .q0-8{fill:rgb(141,211,199)} -.Set3 .q1-8{fill:rgb(255,255,179)} -.Set3 .q2-8{fill:rgb(190,186,218)} -.Set3 .q3-8{fill:rgb(251,128,114)} -.Set3 .q4-8{fill:rgb(128,177,211)} -.Set3 .q5-8{fill:rgb(253,180,98)} -.Set3 .q6-8{fill:rgb(179,222,105)} -.Set3 .q7-8{fill:rgb(252,205,229)} -.Set3 .q0-9{fill:rgb(141,211,199)} -.Set3 .q1-9{fill:rgb(255,255,179)} -.Set3 .q2-9{fill:rgb(190,186,218)} -.Set3 .q3-9{fill:rgb(251,128,114)} -.Set3 .q4-9{fill:rgb(128,177,211)} -.Set3 .q5-9{fill:rgb(253,180,98)} -.Set3 .q6-9{fill:rgb(179,222,105)} -.Set3 .q7-9{fill:rgb(252,205,229)} -.Set3 .q8-9{fill:rgb(217,217,217)} -.Set3 .q0-10{fill:rgb(141,211,199)} -.Set3 .q1-10{fill:rgb(255,255,179)} -.Set3 .q2-10{fill:rgb(190,186,218)} -.Set3 .q3-10{fill:rgb(251,128,114)} -.Set3 .q4-10{fill:rgb(128,177,211)} -.Set3 .q5-10{fill:rgb(253,180,98)} -.Set3 .q6-10{fill:rgb(179,222,105)} -.Set3 .q7-10{fill:rgb(252,205,229)} -.Set3 .q8-10{fill:rgb(217,217,217)} -.Set3 .q9-10{fill:rgb(188,128,189)} -.Set3 .q0-11{fill:rgb(141,211,199)} -.Set3 .q1-11{fill:rgb(255,255,179)} -.Set3 .q2-11{fill:rgb(190,186,218)} -.Set3 .q3-11{fill:rgb(251,128,114)} -.Set3 .q4-11{fill:rgb(128,177,211)} -.Set3 .q5-11{fill:rgb(253,180,98)} -.Set3 .q6-11{fill:rgb(179,222,105)} -.Set3 .q7-11{fill:rgb(252,205,229)} -.Set3 .q8-11{fill:rgb(217,217,217)} -.Set3 .q9-11{fill:rgb(188,128,189)} -.Set3 .q10-11{fill:rgb(204,235,197)} -.Set3 .q0-12{fill:rgb(141,211,199)} -.Set3 .q1-12{fill:rgb(255,255,179)} -.Set3 .q2-12{fill:rgb(190,186,218)} -.Set3 .q3-12{fill:rgb(251,128,114)} -.Set3 .q4-12{fill:rgb(128,177,211)} -.Set3 .q5-12{fill:rgb(253,180,98)} -.Set3 .q6-12{fill:rgb(179,222,105)} -.Set3 .q7-12{fill:rgb(252,205,229)} -.Set3 .q8-12{fill:rgb(217,217,217)} -.Set3 .q9-12{fill:rgb(188,128,189)} -.Set3 .q10-12{fill:rgb(204,235,197)} -.Set3 .q11-12{fill:rgb(255,237,111)} -#classic_controls { - font-size: 0.72em; - overflow: auto; } - #classic_controls #demand, #classic_controls #supply, #classic_controls #other { - padding: 0; - border: 0; - margin: 0; - margin-left: 2.5%; - width: 30%; - float: left; } - #classic_controls table { - width: 100%; - border-collapse: separate; - border-spacing: 2px 0px; } - #classic_controls table tr:hover td.name { - font-weight: bold; - background-image: url("/assets/images/oneblackpixel.png"); } - #classic_controls table td.choice { - width: 20px; } - #classic_controls table td.choice a { - display: block; - width: 100%; - text-align: center; - color: #888; - text-decoration: none; - border: solid #ccc 1px; } - #classic_controls table td.choice a:hover { - border: solid #000 1px; } - #classic_controls table td.choice a.selected { - color: #000; } - #classic_controls table td.name { - background-image: url("/assets/images/onegreypixel.png"); - background-position: left center; - background-repeat: repeat-x; } - #classic_controls table td.name a { - background-color: #fff; - text-decoration: none; - color: #000; - cursor: help; } - #classic_controls table td.name a:hover { - text-decoration: underline; } - #classic_controls table td.help { - width: 14px; } - #classic_controls table td.help a { - text-align: center; - display: block; - background-color: #7c88fa; - border: solid #7c88fa 1px; - color: white; - width: 100%; - text-decoration: none; - font-weight: bold; - font-style: italic; } - #classic_controls table tr.incremental a.level1_1 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level1_1.png"); } - #classic_controls table tr.incremental a.level1_2 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level1_2.png"); } - #classic_controls table tr.incremental a.level1_3 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level1_3.png"); } - #classic_controls table tr.incremental a.level1_4 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level1_4.png"); } - #classic_controls table tr.incremental a.level1_5 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level1_5.png"); } - #classic_controls table tr.incremental a.level1_6 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level1_6.png"); } - #classic_controls table tr.incremental a.level1_7 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level1_7.png"); } - #classic_controls table tr.incremental a.level1_8 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level1_8.png"); } - #classic_controls table tr.incremental a.level1_9 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level1_9.png"); } - #classic_controls table tr.incremental a.level2_1 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level2_1.png"); } - #classic_controls table tr.incremental a.level2_2 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level2_2.png"); } - #classic_controls table tr.incremental a.level2_3 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level2_3.png"); } - #classic_controls table tr.incremental a.level2_4 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level2_4.png"); } - #classic_controls table tr.incremental a.level2_5 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level2_5.png"); } - #classic_controls table tr.incremental a.level2_6 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level2_6.png"); } - #classic_controls table tr.incremental a.level2_7 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level2_7.png"); } - #classic_controls table tr.incremental a.level2_8 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level2_8.png"); } - #classic_controls table tr.incremental a.level2_9 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level2_9.png"); } - #classic_controls table tr.incremental a.level3_1 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level3_1.png"); } - #classic_controls table tr.incremental a.level3_2 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level3_2.png"); } - #classic_controls table tr.incremental a.level3_3 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level3_3.png"); } - #classic_controls table tr.incremental a.level3_4 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level3_4.png"); } - #classic_controls table tr.incremental a.level3_5 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level3_5.png"); } - #classic_controls table tr.incremental a.level3_6 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level3_6.png"); } - #classic_controls table tr.incremental a.level3_7 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level3_7.png"); } - #classic_controls table tr.incremental a.level3_8 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level3_8.png"); } - #classic_controls table tr.incremental a.level3_9 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level3_9.png"); } - #classic_controls table tr.incremental a.level4_1 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level4_1.png"); } - #classic_controls table tr.incremental a.level4_2 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level4_2.png"); } - #classic_controls table tr.incremental a.level4_3 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level4_3.png"); } - #classic_controls table tr.incremental a.level4_4 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level4_4.png"); } - #classic_controls table tr.incremental a.level4_5 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level4_5.png"); } - #classic_controls table tr.incremental a.level4_6 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level4_6.png"); } - #classic_controls table tr.incremental a.level4_7 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level4_7.png"); } - #classic_controls table tr.incremental a.level4_8 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level4_8.png"); } - #classic_controls table tr.incremental a.level4_9 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level4_9.png"); } - #classic_controls table tr.incremental a.level1 { - background-color: #92C979; } - #classic_controls table tr.incremental a.level2 { - background-color: #EFDD60; } - #classic_controls table tr.incremental a.level3 { - background-color: #FFAE55; } - #classic_controls table tr.incremental a.level4 { - background-color: #F44545; } - #classic_controls table tr.alternative a.selected { - background-color: #aaa; } -#costscomparedoverview { - margin-left: 0%; - margin-right: 0%; - width: 100%; - margin: 0 0 0 0; - padding: 0; - height: 600px; } - -.costscomparedoverview h1 { - font-size: 16px; - margin-left: 250px; } -#costscomparedwithinsector { - margin-left: 0%; - margin-right: 0%; - width: 100%; - margin: 0 0 0 0; - padding: 0; - height: 600px; } - -.costscomparedwithinsector h1 { - font-size: 16px; - margin-left: 250px; } - -#sectorchoice { - z-index: 5; - position: absolute; - top: 45px; - left: 25px; } -#costsincontext { - margin-left: 0%; - margin-right: 0%; - width: 100%; - margin: 0 0 0 0; - padding: 0; - height: 600px; } - -.costsincontext h1 { - font-size: 16px; - margin-left: 250px; } - -#cost_override_warning { - position: absolute; - top: 55px; - left: 25px; - width: 200px; - display: none; - border: solid 1px #000; - background-color: yellow; - font-size: smaller; - padding: 5px; } - -#cost_caveats { - position: absolute; - left: 5%; - top: 75px; - z-index: 1000; - width: 85%; - padding: 2.5%; - background-color: #FF0; - border: solid 1px #000; - box-shadow: 0px 0px 25px rgba(0, 0, 0, 0.8); - -moz-box-shadow: 0px 0px 25px rgba(0, 0, 0, 0.8); - -webkit-box-shadow: 0px 0px 25px rgba(0, 0, 0, 0.8); - display: none; } - #cost_caveats #understand { - margin-top: 20px; - width: 100%; - text-align: center; } - -#essentialnotes { - font-size: 10px; - margin-top: 5px; - margin-left: 250px; - margin-right: 100px; - margin-bottom: 30px; } -#costssensitivity { - margin-left: 0%; - margin-right: 0%; - width: 100%; - margin: 0 0 0 0; - padding: 0; - height: 1400px; } - -.costssensitivity h1 { - font-size: 16px; - margin-left: 250px; } - -#comparatorchoice { - z-index: 5; - border: 1px solid black; - position: absolute; - top: 45px; - left: 25px; - list-style: none; - margin-left: 0; - padding: 5px; } - #comparatorchoice a { - color: #000; - text-decoration: none; } - #comparatorchoice a:hover { - text-decoration: underline; } - #comparatorchoice li { - margin-left: 0; - padding-left: 0; } - #comparatorchoice #view_comparatorchoice { - box-shadow: 0 0 5px #888; - list-style: none; - display: none; - background: #fff; - margin-left: 0; - padding: 5px; } - #comparatorchoice #view_comparatorchoice li { - margin-left: 0; - padding-left: 0; - margin-bottom: 5px; } -#energysecurity .column { - text-align: left; - padding: 0; - border: 0; - margin: 0; - margin-left: 2.5%; - font-size: 12px; - width: 30%; - margin-bottom: 30px; - float: left; } - -.energysecurity td.value { - width: 17%; } -.energysecurity td.value, .energysecurity th.value { - text-align: right; } -.energysecurity th.year { - text-align: center; - border-bottom: solid 1px #000; } - -#energysecurity .clear { - clear: both; } -#footer { - clear: both; - padding-top: 20px; - text-align: center; - font-size: 0.72em; } -#map { - text-align: left; - margin-left: 0; - margin-right: 0; - width: 100%; - margin: 0 0 30px 0; - padding: 0; - height: 800px; } -body { - font-family: Arial, sans-serif; - font-size: 15px; - margin: 0; - padding: 0; } - -#svgWarn { - display: none; - padding: 10px; - text-align: center; - background-color: #faa; } - -#calculating { - font-size: 0.72em; - position: absolute; - width: 100%; - top: 20px; - left: 0px; - text-align: center; - z-index: 10; } - #calculating span { - padding: 3px; - background-color: yellow; } - -#results { - overflow: hidden; } - -.chart { - padding: 0; - border: 0; - margin: 0; - margin-left: 2.4%; - width: 30%; - margin-bottom: 0px; - float: left; } - -.charttitle { - text-anchor: middle; - font-size: 1em; } - -text.target { - text-anchor: middle; - font-size: 0.72em; } - -.axis path, .axis line { - fill: none; - stroke: #000; - stroke-width: 1px; } - -.axis text { - font-size: 0.72em; - fill: #000; } - -.axislabel { - text-anchor: end; - font-size: 0.72em; } - -.line { - fill: none; - stroke: black; - stroke-width: 3px; } - -.linelabel { - font-size: 0.72em; - cursor: default; } - -.area { - fill-opacity: 1; } - -path.total { - stroke: black; - stroke-width: 2px; - fill: none; } - -text.seriesValue { - font-size: 0.72em; - text-anchor: middle; } - -path.total.hover { - stroke-width: 3px; } - -path.hover { - stroke: black; - stroke-width: 1px; } - -.linelabel.hover { - fill: black !important; - font-weight: bold; } - -.labelbackground { - fill: white; } - -g.context path { - fill: grey; - fill-opacity: 0.02; } - -.environmentalheat { - fill: #c7c728; } -#sankey { - width: 100%; - margin: 0 0 30px 0; - padding: 0; - height: 580px; } -#share div { - margin: 0 10% 0 10%; - width: 80%; } -#share #excel { - margin-top: 50px; } - #share #excel textarea { - text-align: right; - margin-left: 10%; - width: 32px; - height: 700px; } -#simplesankey { - margin-left: 2.5%; - margin-right: 2.5%; - width: 100%; - margin: 0 0 30px 0; - padding: 0; - height: 320px; } -.story { - text-align: left; - padding: 0; - border: 0; - margin: 0; - margin-left: 2.5%; - font-size: 12px; - width: 30%; - margin-bottom: 30px; - float: left; } - .story h4 { - margin-top: 1em; - margin-bottom: 0em; } - .story h4 + p { - margin-top: 0em; } - .story th { - text-align: left; } - .story td.target, .story th.target { - text-align: right; } - -#stories .clear { - clear: both; } -#tooltip { - display: none; - background-color: #FFFF00; - color: #000; - border: 2px solid #000; - border-radius: 15px 15px 0px 15px; - box-shadow: 0 0 5px #888; - font-size: 12px; - width: 14em; - padding: 10px; - z-index: 10000; } -#topbar { - position: relative; - width: 100%; - height: 20px; - margin: 0 0 10px 0; - background-color: black; - color: white; - border-bottom: solid #009ddb 3px; } - #topbar a { - color: white; - text-decoration: none; } - #topbar .selectedView { - color: #009ddb; } - #topbar a:hover { - text-decoration: underline; } - #topbar div { - position: absolute; - display: inline; } - #topbar #name { - left: 2.4%; - top: 0px; } - #topbar #examples { - right: 2.4%; - top: 0px; } - #topbar #views { - left: 160px; - left: calc(160px + 2.4%); - top: 0px; - width: 80%; - width: calc(100% - 2.4% - 160px - 2.4% - 160px); - text-align: center; } - #topbar #views a { - padding-right: 10px; } - #topbar #views div { - position: static; - padding-right: 10px; } - #topbar .dropdown { - z-index: 10000; - position: absolute; - display: none; - background: black; - padding: 5px; - border: solid 1px black; - box-shadow: 0 0 5px #888; } - #topbar .dropdown a { - color: white; - display: block; - margin-bottom: 5px; } - #topbar .showdropdown { - display: block; } diff --git a/public/assets/application-c471dda56bbb01d3858d3f97f6b4a804.css.gz b/public/assets/application-c471dda56bbb01d3858d3f97f6b4a804.css.gz deleted file mode 100644 index 252825bad903be8236ce5c29ec50db3a9bd3aed3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10992 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

@1WK9q6evZE?`k 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 2050 Pathways Calculator - - + + + + + +

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 N^Z!t{D^F>U2mm7y-H8AI diff --git a/public/assets/application-459dc57d96f87022b13a66dd71afd642.css b/public/assets/application-459dc57d96f87022b13a66dd71afd642.css deleted file mode 100644 index a4a9df64..00000000 --- a/public/assets/application-459dc57d96f87022b13a66dd71afd642.css +++ /dev/null @@ -1,2271 +0,0 @@ -/* - * This is a manifest file that'll automatically include all the stylesheets available in this directory - * and any sub-directories. You're free to add application-wide styles to this file and they'll appear at - * the top of the compiled file, but it's generally better to create a new file per style scope. - - -*/ -#airquality { - margin-left: 0%; - margin-right: 0%; - width: 100%; - margin: 0 0 0 0; - padding: 0; - height: 300px; } - -.airquality h1 { - font-size: 16px; - margin-left: 300px; } -.airquality .airqualitymessage { - margin-left: 300px; - margin-right: 30px; - margin-bottom: 30px; } - .airquality .airqualitymessage h2 { - font-size: 16px; - margin-left: 0px; - text-align: left; } -/* This product includes color specifications and designs developed by Cynthia Brewer (http://colorbrewer.org/). */ - -.YlGn .q0-3{fill:rgb(247,252,185)} -.YlGn .q1-3{fill:rgb(173,221,142)} -.YlGn .q2-3{fill:rgb(49,163,84)} -.YlGn .q0-4{fill:rgb(255,255,204)} -.YlGn .q1-4{fill:rgb(194,230,153)} -.YlGn .q2-4{fill:rgb(120,198,121)} -.YlGn .q3-4{fill:rgb(35,132,67)} -.YlGn .q0-5{fill:rgb(255,255,204)} -.YlGn .q1-5{fill:rgb(194,230,153)} -.YlGn .q2-5{fill:rgb(120,198,121)} -.YlGn .q3-5{fill:rgb(49,163,84)} -.YlGn .q4-5{fill:rgb(0,104,55)} -.YlGn .q0-6{fill:rgb(255,255,204)} -.YlGn .q1-6{fill:rgb(217,240,163)} -.YlGn .q2-6{fill:rgb(173,221,142)} -.YlGn .q3-6{fill:rgb(120,198,121)} -.YlGn .q4-6{fill:rgb(49,163,84)} -.YlGn .q5-6{fill:rgb(0,104,55)} -.YlGn .q0-7{fill:rgb(255,255,204)} -.YlGn .q1-7{fill:rgb(217,240,163)} -.YlGn .q2-7{fill:rgb(173,221,142)} -.YlGn .q3-7{fill:rgb(120,198,121)} -.YlGn .q4-7{fill:rgb(65,171,93)} -.YlGn .q5-7{fill:rgb(35,132,67)} -.YlGn .q6-7{fill:rgb(0,90,50)} -.YlGn .q0-8{fill:rgb(255,255,229)} -.YlGn .q1-8{fill:rgb(247,252,185)} -.YlGn .q2-8{fill:rgb(217,240,163)} -.YlGn .q3-8{fill:rgb(173,221,142)} -.YlGn .q4-8{fill:rgb(120,198,121)} -.YlGn .q5-8{fill:rgb(65,171,93)} -.YlGn .q6-8{fill:rgb(35,132,67)} -.YlGn .q7-8{fill:rgb(0,90,50)} -.YlGn .q0-9{fill:rgb(255,255,229)} -.YlGn .q1-9{fill:rgb(247,252,185)} -.YlGn .q2-9{fill:rgb(217,240,163)} -.YlGn .q3-9{fill:rgb(173,221,142)} -.YlGn .q4-9{fill:rgb(120,198,121)} -.YlGn .q5-9{fill:rgb(65,171,93)} -.YlGn .q6-9{fill:rgb(35,132,67)} -.YlGn .q7-9{fill:rgb(0,104,55)} -.YlGn .q8-9{fill:rgb(0,69,41)} -.YlGnBu .q0-3{fill:rgb(237,248,177)} -.YlGnBu .q1-3{fill:rgb(127,205,187)} -.YlGnBu .q2-3{fill:rgb(44,127,184)} -.YlGnBu .q0-4{fill:rgb(255,255,204)} -.YlGnBu .q1-4{fill:rgb(161,218,180)} -.YlGnBu .q2-4{fill:rgb(65,182,196)} -.YlGnBu .q3-4{fill:rgb(34,94,168)} -.YlGnBu .q0-5{fill:rgb(255,255,204)} -.YlGnBu .q1-5{fill:rgb(161,218,180)} -.YlGnBu .q2-5{fill:rgb(65,182,196)} -.YlGnBu .q3-5{fill:rgb(44,127,184)} -.YlGnBu .q4-5{fill:rgb(37,52,148)} -.YlGnBu .q0-6{fill:rgb(255,255,204)} -.YlGnBu .q1-6{fill:rgb(199,233,180)} -.YlGnBu .q2-6{fill:rgb(127,205,187)} -.YlGnBu .q3-6{fill:rgb(65,182,196)} -.YlGnBu .q4-6{fill:rgb(44,127,184)} -.YlGnBu .q5-6{fill:rgb(37,52,148)} -.YlGnBu .q0-7{fill:rgb(255,255,204)} -.YlGnBu .q1-7{fill:rgb(199,233,180)} -.YlGnBu .q2-7{fill:rgb(127,205,187)} -.YlGnBu .q3-7{fill:rgb(65,182,196)} -.YlGnBu .q4-7{fill:rgb(29,145,192)} -.YlGnBu .q5-7{fill:rgb(34,94,168)} -.YlGnBu .q6-7{fill:rgb(12,44,132)} -.YlGnBu .q0-8{fill:rgb(255,255,217)} -.YlGnBu .q1-8{fill:rgb(237,248,177)} -.YlGnBu .q2-8{fill:rgb(199,233,180)} -.YlGnBu .q3-8{fill:rgb(127,205,187)} -.YlGnBu .q4-8{fill:rgb(65,182,196)} -.YlGnBu .q5-8{fill:rgb(29,145,192)} -.YlGnBu .q6-8{fill:rgb(34,94,168)} -.YlGnBu .q7-8{fill:rgb(12,44,132)} -.YlGnBu .q0-9{fill:rgb(255,255,217)} -.YlGnBu .q1-9{fill:rgb(237,248,177)} -.YlGnBu .q2-9{fill:rgb(199,233,180)} -.YlGnBu .q3-9{fill:rgb(127,205,187)} -.YlGnBu .q4-9{fill:rgb(65,182,196)} -.YlGnBu .q5-9{fill:rgb(29,145,192)} -.YlGnBu .q6-9{fill:rgb(34,94,168)} -.YlGnBu .q7-9{fill:rgb(37,52,148)} -.YlGnBu .q8-9{fill:rgb(8,29,88)} -.GnBu .q0-3{fill:rgb(224,243,219)} -.GnBu .q1-3{fill:rgb(168,221,181)} -.GnBu .q2-3{fill:rgb(67,162,202)} -.GnBu .q0-4{fill:rgb(240,249,232)} -.GnBu .q1-4{fill:rgb(186,228,188)} -.GnBu .q2-4{fill:rgb(123,204,196)} -.GnBu .q3-4{fill:rgb(43,140,190)} -.GnBu .q0-5{fill:rgb(240,249,232)} -.GnBu .q1-5{fill:rgb(186,228,188)} -.GnBu .q2-5{fill:rgb(123,204,196)} -.GnBu .q3-5{fill:rgb(67,162,202)} -.GnBu .q4-5{fill:rgb(8,104,172)} -.GnBu .q0-6{fill:rgb(240,249,232)} -.GnBu .q1-6{fill:rgb(204,235,197)} -.GnBu .q2-6{fill:rgb(168,221,181)} -.GnBu .q3-6{fill:rgb(123,204,196)} -.GnBu .q4-6{fill:rgb(67,162,202)} -.GnBu .q5-6{fill:rgb(8,104,172)} -.GnBu .q0-7{fill:rgb(240,249,232)} -.GnBu .q1-7{fill:rgb(204,235,197)} -.GnBu .q2-7{fill:rgb(168,221,181)} -.GnBu .q3-7{fill:rgb(123,204,196)} -.GnBu .q4-7{fill:rgb(78,179,211)} -.GnBu .q5-7{fill:rgb(43,140,190)} -.GnBu .q6-7{fill:rgb(8,88,158)} -.GnBu .q0-8{fill:rgb(247,252,240)} -.GnBu .q1-8{fill:rgb(224,243,219)} -.GnBu .q2-8{fill:rgb(204,235,197)} -.GnBu .q3-8{fill:rgb(168,221,181)} -.GnBu .q4-8{fill:rgb(123,204,196)} -.GnBu .q5-8{fill:rgb(78,179,211)} -.GnBu .q6-8{fill:rgb(43,140,190)} -.GnBu .q7-8{fill:rgb(8,88,158)} -.GnBu .q0-9{fill:rgb(247,252,240)} -.GnBu .q1-9{fill:rgb(224,243,219)} -.GnBu .q2-9{fill:rgb(204,235,197)} -.GnBu .q3-9{fill:rgb(168,221,181)} -.GnBu .q4-9{fill:rgb(123,204,196)} -.GnBu .q5-9{fill:rgb(78,179,211)} -.GnBu .q6-9{fill:rgb(43,140,190)} -.GnBu .q7-9{fill:rgb(8,104,172)} -.GnBu .q8-9{fill:rgb(8,64,129)} -.BuGn .q0-3{fill:rgb(229,245,249)} -.BuGn .q1-3{fill:rgb(153,216,201)} -.BuGn .q2-3{fill:rgb(44,162,95)} -.BuGn .q0-4{fill:rgb(237,248,251)} -.BuGn .q1-4{fill:rgb(178,226,226)} -.BuGn .q2-4{fill:rgb(102,194,164)} -.BuGn .q3-4{fill:rgb(35,139,69)} -.BuGn .q0-5{fill:rgb(237,248,251)} -.BuGn .q1-5{fill:rgb(178,226,226)} -.BuGn .q2-5{fill:rgb(102,194,164)} -.BuGn .q3-5{fill:rgb(44,162,95)} -.BuGn .q4-5{fill:rgb(0,109,44)} -.BuGn .q0-6{fill:rgb(237,248,251)} -.BuGn .q1-6{fill:rgb(204,236,230)} -.BuGn .q2-6{fill:rgb(153,216,201)} -.BuGn .q3-6{fill:rgb(102,194,164)} -.BuGn .q4-6{fill:rgb(44,162,95)} -.BuGn .q5-6{fill:rgb(0,109,44)} -.BuGn .q0-7{fill:rgb(237,248,251)} -.BuGn .q1-7{fill:rgb(204,236,230)} -.BuGn .q2-7{fill:rgb(153,216,201)} -.BuGn .q3-7{fill:rgb(102,194,164)} -.BuGn .q4-7{fill:rgb(65,174,118)} -.BuGn .q5-7{fill:rgb(35,139,69)} -.BuGn .q6-7{fill:rgb(0,88,36)} -.BuGn .q0-8{fill:rgb(247,252,253)} -.BuGn .q1-8{fill:rgb(229,245,249)} -.BuGn .q2-8{fill:rgb(204,236,230)} -.BuGn .q3-8{fill:rgb(153,216,201)} -.BuGn .q4-8{fill:rgb(102,194,164)} -.BuGn .q5-8{fill:rgb(65,174,118)} -.BuGn .q6-8{fill:rgb(35,139,69)} -.BuGn .q7-8{fill:rgb(0,88,36)} -.BuGn .q0-9{fill:rgb(247,252,253)} -.BuGn .q1-9{fill:rgb(229,245,249)} -.BuGn .q2-9{fill:rgb(204,236,230)} -.BuGn .q3-9{fill:rgb(153,216,201)} -.BuGn .q4-9{fill:rgb(102,194,164)} -.BuGn .q5-9{fill:rgb(65,174,118)} -.BuGn .q6-9{fill:rgb(35,139,69)} -.BuGn .q7-9{fill:rgb(0,109,44)} -.BuGn .q8-9{fill:rgb(0,68,27)} -.PuBuGn .q0-3{fill:rgb(236,226,240)} -.PuBuGn .q1-3{fill:rgb(166,189,219)} -.PuBuGn .q2-3{fill:rgb(28,144,153)} -.PuBuGn .q0-4{fill:rgb(246,239,247)} -.PuBuGn .q1-4{fill:rgb(189,201,225)} -.PuBuGn .q2-4{fill:rgb(103,169,207)} -.PuBuGn .q3-4{fill:rgb(2,129,138)} -.PuBuGn .q0-5{fill:rgb(246,239,247)} -.PuBuGn .q1-5{fill:rgb(189,201,225)} -.PuBuGn .q2-5{fill:rgb(103,169,207)} -.PuBuGn .q3-5{fill:rgb(28,144,153)} -.PuBuGn .q4-5{fill:rgb(1,108,89)} -.PuBuGn .q0-6{fill:rgb(246,239,247)} -.PuBuGn .q1-6{fill:rgb(208,209,230)} -.PuBuGn .q2-6{fill:rgb(166,189,219)} -.PuBuGn .q3-6{fill:rgb(103,169,207)} -.PuBuGn .q4-6{fill:rgb(28,144,153)} -.PuBuGn .q5-6{fill:rgb(1,108,89)} -.PuBuGn .q0-7{fill:rgb(246,239,247)} -.PuBuGn .q1-7{fill:rgb(208,209,230)} -.PuBuGn .q2-7{fill:rgb(166,189,219)} -.PuBuGn .q3-7{fill:rgb(103,169,207)} -.PuBuGn .q4-7{fill:rgb(54,144,192)} -.PuBuGn .q5-7{fill:rgb(2,129,138)} -.PuBuGn .q6-7{fill:rgb(1,100,80)} -.PuBuGn .q0-8{fill:rgb(255,247,251)} -.PuBuGn .q1-8{fill:rgb(236,226,240)} -.PuBuGn .q2-8{fill:rgb(208,209,230)} -.PuBuGn .q3-8{fill:rgb(166,189,219)} -.PuBuGn .q4-8{fill:rgb(103,169,207)} -.PuBuGn .q5-8{fill:rgb(54,144,192)} -.PuBuGn .q6-8{fill:rgb(2,129,138)} -.PuBuGn .q7-8{fill:rgb(1,100,80)} -.PuBuGn .q0-9{fill:rgb(255,247,251)} -.PuBuGn .q1-9{fill:rgb(236,226,240)} -.PuBuGn .q2-9{fill:rgb(208,209,230)} -.PuBuGn .q3-9{fill:rgb(166,189,219)} -.PuBuGn .q4-9{fill:rgb(103,169,207)} -.PuBuGn .q5-9{fill:rgb(54,144,192)} -.PuBuGn .q6-9{fill:rgb(2,129,138)} -.PuBuGn .q7-9{fill:rgb(1,108,89)} -.PuBuGn .q8-9{fill:rgb(1,70,54)} -.PuBu .q0-3{fill:rgb(236,231,242)} -.PuBu .q1-3{fill:rgb(166,189,219)} -.PuBu .q2-3{fill:rgb(43,140,190)} -.PuBu .q0-4{fill:rgb(241,238,246)} -.PuBu .q1-4{fill:rgb(189,201,225)} -.PuBu .q2-4{fill:rgb(116,169,207)} -.PuBu .q3-4{fill:rgb(5,112,176)} -.PuBu .q0-5{fill:rgb(241,238,246)} -.PuBu .q1-5{fill:rgb(189,201,225)} -.PuBu .q2-5{fill:rgb(116,169,207)} -.PuBu .q3-5{fill:rgb(43,140,190)} -.PuBu .q4-5{fill:rgb(4,90,141)} -.PuBu .q0-6{fill:rgb(241,238,246)} -.PuBu .q1-6{fill:rgb(208,209,230)} -.PuBu .q2-6{fill:rgb(166,189,219)} -.PuBu .q3-6{fill:rgb(116,169,207)} -.PuBu .q4-6{fill:rgb(43,140,190)} -.PuBu .q5-6{fill:rgb(4,90,141)} -.PuBu .q0-7{fill:rgb(241,238,246)} -.PuBu .q1-7{fill:rgb(208,209,230)} -.PuBu .q2-7{fill:rgb(166,189,219)} -.PuBu .q3-7{fill:rgb(116,169,207)} -.PuBu .q4-7{fill:rgb(54,144,192)} -.PuBu .q5-7{fill:rgb(5,112,176)} -.PuBu .q6-7{fill:rgb(3,78,123)} -.PuBu .q0-8{fill:rgb(255,247,251)} -.PuBu .q1-8{fill:rgb(236,231,242)} -.PuBu .q2-8{fill:rgb(208,209,230)} -.PuBu .q3-8{fill:rgb(166,189,219)} -.PuBu .q4-8{fill:rgb(116,169,207)} -.PuBu .q5-8{fill:rgb(54,144,192)} -.PuBu .q6-8{fill:rgb(5,112,176)} -.PuBu .q7-8{fill:rgb(3,78,123)} -.PuBu .q0-9{fill:rgb(255,247,251)} -.PuBu .q1-9{fill:rgb(236,231,242)} -.PuBu .q2-9{fill:rgb(208,209,230)} -.PuBu .q3-9{fill:rgb(166,189,219)} -.PuBu .q4-9{fill:rgb(116,169,207)} -.PuBu .q5-9{fill:rgb(54,144,192)} -.PuBu .q6-9{fill:rgb(5,112,176)} -.PuBu .q7-9{fill:rgb(4,90,141)} -.PuBu .q8-9{fill:rgb(2,56,88)} -.BuPu .q0-3{fill:rgb(224,236,244)} -.BuPu .q1-3{fill:rgb(158,188,218)} -.BuPu .q2-3{fill:rgb(136,86,167)} -.BuPu .q0-4{fill:rgb(237,248,251)} -.BuPu .q1-4{fill:rgb(179,205,227)} -.BuPu .q2-4{fill:rgb(140,150,198)} -.BuPu .q3-4{fill:rgb(136,65,157)} -.BuPu .q0-5{fill:rgb(237,248,251)} -.BuPu .q1-5{fill:rgb(179,205,227)} -.BuPu .q2-5{fill:rgb(140,150,198)} -.BuPu .q3-5{fill:rgb(136,86,167)} -.BuPu .q4-5{fill:rgb(129,15,124)} -.BuPu .q0-6{fill:rgb(237,248,251)} -.BuPu .q1-6{fill:rgb(191,211,230)} -.BuPu .q2-6{fill:rgb(158,188,218)} -.BuPu .q3-6{fill:rgb(140,150,198)} -.BuPu .q4-6{fill:rgb(136,86,167)} -.BuPu .q5-6{fill:rgb(129,15,124)} -.BuPu .q0-7{fill:rgb(237,248,251)} -.BuPu .q1-7{fill:rgb(191,211,230)} -.BuPu .q2-7{fill:rgb(158,188,218)} -.BuPu .q3-7{fill:rgb(140,150,198)} -.BuPu .q4-7{fill:rgb(140,107,177)} -.BuPu .q5-7{fill:rgb(136,65,157)} -.BuPu .q6-7{fill:rgb(110,1,107)} -.BuPu .q0-8{fill:rgb(247,252,253)} -.BuPu .q1-8{fill:rgb(224,236,244)} -.BuPu .q2-8{fill:rgb(191,211,230)} -.BuPu .q3-8{fill:rgb(158,188,218)} -.BuPu .q4-8{fill:rgb(140,150,198)} -.BuPu .q5-8{fill:rgb(140,107,177)} -.BuPu .q6-8{fill:rgb(136,65,157)} -.BuPu .q7-8{fill:rgb(110,1,107)} -.BuPu .q0-9{fill:rgb(247,252,253)} -.BuPu .q1-9{fill:rgb(224,236,244)} -.BuPu .q2-9{fill:rgb(191,211,230)} -.BuPu .q3-9{fill:rgb(158,188,218)} -.BuPu .q4-9{fill:rgb(140,150,198)} -.BuPu .q5-9{fill:rgb(140,107,177)} -.BuPu .q6-9{fill:rgb(136,65,157)} -.BuPu .q7-9{fill:rgb(129,15,124)} -.BuPu .q8-9{fill:rgb(77,0,75)} -.RdPu .q0-3{fill:rgb(253,224,221)} -.RdPu .q1-3{fill:rgb(250,159,181)} -.RdPu .q2-3{fill:rgb(197,27,138)} -.RdPu .q0-4{fill:rgb(254,235,226)} -.RdPu .q1-4{fill:rgb(251,180,185)} -.RdPu .q2-4{fill:rgb(247,104,161)} -.RdPu .q3-4{fill:rgb(174,1,126)} -.RdPu .q0-5{fill:rgb(254,235,226)} -.RdPu .q1-5{fill:rgb(251,180,185)} -.RdPu .q2-5{fill:rgb(247,104,161)} -.RdPu .q3-5{fill:rgb(197,27,138)} -.RdPu .q4-5{fill:rgb(122,1,119)} -.RdPu .q0-6{fill:rgb(254,235,226)} -.RdPu .q1-6{fill:rgb(252,197,192)} -.RdPu .q2-6{fill:rgb(250,159,181)} -.RdPu .q3-6{fill:rgb(247,104,161)} -.RdPu .q4-6{fill:rgb(197,27,138)} -.RdPu .q5-6{fill:rgb(122,1,119)} -.RdPu .q0-7{fill:rgb(254,235,226)} -.RdPu .q1-7{fill:rgb(252,197,192)} -.RdPu .q2-7{fill:rgb(250,159,181)} -.RdPu .q3-7{fill:rgb(247,104,161)} -.RdPu .q4-7{fill:rgb(221,52,151)} -.RdPu .q5-7{fill:rgb(174,1,126)} -.RdPu .q6-7{fill:rgb(122,1,119)} -.RdPu .q0-8{fill:rgb(255,247,243)} -.RdPu .q1-8{fill:rgb(253,224,221)} -.RdPu .q2-8{fill:rgb(252,197,192)} -.RdPu .q3-8{fill:rgb(250,159,181)} -.RdPu .q4-8{fill:rgb(247,104,161)} -.RdPu .q5-8{fill:rgb(221,52,151)} -.RdPu .q6-8{fill:rgb(174,1,126)} -.RdPu .q7-8{fill:rgb(122,1,119)} -.RdPu .q0-9{fill:rgb(255,247,243)} -.RdPu .q1-9{fill:rgb(253,224,221)} -.RdPu .q2-9{fill:rgb(252,197,192)} -.RdPu .q3-9{fill:rgb(250,159,181)} -.RdPu .q4-9{fill:rgb(247,104,161)} -.RdPu .q5-9{fill:rgb(221,52,151)} -.RdPu .q6-9{fill:rgb(174,1,126)} -.RdPu .q7-9{fill:rgb(122,1,119)} -.RdPu .q8-9{fill:rgb(73,0,106)} -.PuRd .q0-3{fill:rgb(231,225,239)} -.PuRd .q1-3{fill:rgb(201,148,199)} -.PuRd .q2-3{fill:rgb(221,28,119)} -.PuRd .q0-4{fill:rgb(241,238,246)} -.PuRd .q1-4{fill:rgb(215,181,216)} -.PuRd .q2-4{fill:rgb(223,101,176)} -.PuRd .q3-4{fill:rgb(206,18,86)} -.PuRd .q0-5{fill:rgb(241,238,246)} -.PuRd .q1-5{fill:rgb(215,181,216)} -.PuRd .q2-5{fill:rgb(223,101,176)} -.PuRd .q3-5{fill:rgb(221,28,119)} -.PuRd .q4-5{fill:rgb(152,0,67)} -.PuRd .q0-6{fill:rgb(241,238,246)} -.PuRd .q1-6{fill:rgb(212,185,218)} -.PuRd .q2-6{fill:rgb(201,148,199)} -.PuRd .q3-6{fill:rgb(223,101,176)} -.PuRd .q4-6{fill:rgb(221,28,119)} -.PuRd .q5-6{fill:rgb(152,0,67)} -.PuRd .q0-7{fill:rgb(241,238,246)} -.PuRd .q1-7{fill:rgb(212,185,218)} -.PuRd .q2-7{fill:rgb(201,148,199)} -.PuRd .q3-7{fill:rgb(223,101,176)} -.PuRd .q4-7{fill:rgb(231,41,138)} -.PuRd .q5-7{fill:rgb(206,18,86)} -.PuRd .q6-7{fill:rgb(145,0,63)} -.PuRd .q0-8{fill:rgb(247,244,249)} -.PuRd .q1-8{fill:rgb(231,225,239)} -.PuRd .q2-8{fill:rgb(212,185,218)} -.PuRd .q3-8{fill:rgb(201,148,199)} -.PuRd .q4-8{fill:rgb(223,101,176)} -.PuRd .q5-8{fill:rgb(231,41,138)} -.PuRd .q6-8{fill:rgb(206,18,86)} -.PuRd .q7-8{fill:rgb(145,0,63)} -.PuRd .q0-9{fill:rgb(247,244,249)} -.PuRd .q1-9{fill:rgb(231,225,239)} -.PuRd .q2-9{fill:rgb(212,185,218)} -.PuRd .q3-9{fill:rgb(201,148,199)} -.PuRd .q4-9{fill:rgb(223,101,176)} -.PuRd .q5-9{fill:rgb(231,41,138)} -.PuRd .q6-9{fill:rgb(206,18,86)} -.PuRd .q7-9{fill:rgb(152,0,67)} -.PuRd .q8-9{fill:rgb(103,0,31)} -.OrRd .q0-3{fill:rgb(254,232,200)} -.OrRd .q1-3{fill:rgb(253,187,132)} -.OrRd .q2-3{fill:rgb(227,74,51)} -.OrRd .q0-4{fill:rgb(254,240,217)} -.OrRd .q1-4{fill:rgb(253,204,138)} -.OrRd .q2-4{fill:rgb(252,141,89)} -.OrRd .q3-4{fill:rgb(215,48,31)} -.OrRd .q0-5{fill:rgb(254,240,217)} -.OrRd .q1-5{fill:rgb(253,204,138)} -.OrRd .q2-5{fill:rgb(252,141,89)} -.OrRd .q3-5{fill:rgb(227,74,51)} -.OrRd .q4-5{fill:rgb(179,0,0)} -.OrRd .q0-6{fill:rgb(254,240,217)} -.OrRd .q1-6{fill:rgb(253,212,158)} -.OrRd .q2-6{fill:rgb(253,187,132)} -.OrRd .q3-6{fill:rgb(252,141,89)} -.OrRd .q4-6{fill:rgb(227,74,51)} -.OrRd .q5-6{fill:rgb(179,0,0)} -.OrRd .q0-7{fill:rgb(254,240,217)} -.OrRd .q1-7{fill:rgb(253,212,158)} -.OrRd .q2-7{fill:rgb(253,187,132)} -.OrRd .q3-7{fill:rgb(252,141,89)} -.OrRd .q4-7{fill:rgb(239,101,72)} -.OrRd .q5-7{fill:rgb(215,48,31)} -.OrRd .q6-7{fill:rgb(153,0,0)} -.OrRd .q0-8{fill:rgb(255,247,236)} -.OrRd .q1-8{fill:rgb(254,232,200)} -.OrRd .q2-8{fill:rgb(253,212,158)} -.OrRd .q3-8{fill:rgb(253,187,132)} -.OrRd .q4-8{fill:rgb(252,141,89)} -.OrRd .q5-8{fill:rgb(239,101,72)} -.OrRd .q6-8{fill:rgb(215,48,31)} -.OrRd .q7-8{fill:rgb(153,0,0)} -.OrRd .q0-9{fill:rgb(255,247,236)} -.OrRd .q1-9{fill:rgb(254,232,200)} -.OrRd .q2-9{fill:rgb(253,212,158)} -.OrRd .q3-9{fill:rgb(253,187,132)} -.OrRd .q4-9{fill:rgb(252,141,89)} -.OrRd .q5-9{fill:rgb(239,101,72)} -.OrRd .q6-9{fill:rgb(215,48,31)} -.OrRd .q7-9{fill:rgb(179,0,0)} -.OrRd .q8-9{fill:rgb(127,0,0)} -.YlOrRd .q0-3{fill:rgb(255,237,160)} -.YlOrRd .q1-3{fill:rgb(254,178,76)} -.YlOrRd .q2-3{fill:rgb(240,59,32)} -.YlOrRd .q0-4{fill:rgb(255,255,178)} -.YlOrRd .q1-4{fill:rgb(254,204,92)} -.YlOrRd .q2-4{fill:rgb(253,141,60)} -.YlOrRd .q3-4{fill:rgb(227,26,28)} -.YlOrRd .q0-5{fill:rgb(255,255,178)} -.YlOrRd .q1-5{fill:rgb(254,204,92)} -.YlOrRd .q2-5{fill:rgb(253,141,60)} -.YlOrRd .q3-5{fill:rgb(240,59,32)} -.YlOrRd .q4-5{fill:rgb(189,0,38)} -.YlOrRd .q0-6{fill:rgb(255,255,178)} -.YlOrRd .q1-6{fill:rgb(254,217,118)} -.YlOrRd .q2-6{fill:rgb(254,178,76)} -.YlOrRd .q3-6{fill:rgb(253,141,60)} -.YlOrRd .q4-6{fill:rgb(240,59,32)} -.YlOrRd .q5-6{fill:rgb(189,0,38)} -.YlOrRd .q0-7{fill:rgb(255,255,178)} -.YlOrRd .q1-7{fill:rgb(254,217,118)} -.YlOrRd .q2-7{fill:rgb(254,178,76)} -.YlOrRd .q3-7{fill:rgb(253,141,60)} -.YlOrRd .q4-7{fill:rgb(252,78,42)} -.YlOrRd .q5-7{fill:rgb(227,26,28)} -.YlOrRd .q6-7{fill:rgb(177,0,38)} -.YlOrRd .q0-8{fill:rgb(255,255,204)} -.YlOrRd .q1-8{fill:rgb(255,237,160)} -.YlOrRd .q2-8{fill:rgb(254,217,118)} -.YlOrRd .q3-8{fill:rgb(254,178,76)} -.YlOrRd .q4-8{fill:rgb(253,141,60)} -.YlOrRd .q5-8{fill:rgb(252,78,42)} -.YlOrRd .q6-8{fill:rgb(227,26,28)} -.YlOrRd .q7-8{fill:rgb(177,0,38)} -.YlOrRd .q0-9{fill:rgb(255,255,204)} -.YlOrRd .q1-9{fill:rgb(255,237,160)} -.YlOrRd .q2-9{fill:rgb(254,217,118)} -.YlOrRd .q3-9{fill:rgb(254,178,76)} -.YlOrRd .q4-9{fill:rgb(253,141,60)} -.YlOrRd .q5-9{fill:rgb(252,78,42)} -.YlOrRd .q6-9{fill:rgb(227,26,28)} -.YlOrRd .q7-9{fill:rgb(189,0,38)} -.YlOrRd .q8-9{fill:rgb(128,0,38)} -.YlOrBr .q0-3{fill:rgb(255,247,188)} -.YlOrBr .q1-3{fill:rgb(254,196,79)} -.YlOrBr .q2-3{fill:rgb(217,95,14)} -.YlOrBr .q0-4{fill:rgb(255,255,212)} -.YlOrBr .q1-4{fill:rgb(254,217,142)} -.YlOrBr .q2-4{fill:rgb(254,153,41)} -.YlOrBr .q3-4{fill:rgb(204,76,2)} -.YlOrBr .q0-5{fill:rgb(255,255,212)} -.YlOrBr .q1-5{fill:rgb(254,217,142)} -.YlOrBr .q2-5{fill:rgb(254,153,41)} -.YlOrBr .q3-5{fill:rgb(217,95,14)} -.YlOrBr .q4-5{fill:rgb(153,52,4)} -.YlOrBr .q0-6{fill:rgb(255,255,212)} -.YlOrBr .q1-6{fill:rgb(254,227,145)} -.YlOrBr .q2-6{fill:rgb(254,196,79)} -.YlOrBr .q3-6{fill:rgb(254,153,41)} -.YlOrBr .q4-6{fill:rgb(217,95,14)} -.YlOrBr .q5-6{fill:rgb(153,52,4)} -.YlOrBr .q0-7{fill:rgb(255,255,212)} -.YlOrBr .q1-7{fill:rgb(254,227,145)} -.YlOrBr .q2-7{fill:rgb(254,196,79)} -.YlOrBr .q3-7{fill:rgb(254,153,41)} -.YlOrBr .q4-7{fill:rgb(236,112,20)} -.YlOrBr .q5-7{fill:rgb(204,76,2)} -.YlOrBr .q6-7{fill:rgb(140,45,4)} -.YlOrBr .q0-8{fill:rgb(255,255,229)} -.YlOrBr .q1-8{fill:rgb(255,247,188)} -.YlOrBr .q2-8{fill:rgb(254,227,145)} -.YlOrBr .q3-8{fill:rgb(254,196,79)} -.YlOrBr .q4-8{fill:rgb(254,153,41)} -.YlOrBr .q5-8{fill:rgb(236,112,20)} -.YlOrBr .q6-8{fill:rgb(204,76,2)} -.YlOrBr .q7-8{fill:rgb(140,45,4)} -.YlOrBr .q0-9{fill:rgb(255,255,229)} -.YlOrBr .q1-9{fill:rgb(255,247,188)} -.YlOrBr .q2-9{fill:rgb(254,227,145)} -.YlOrBr .q3-9{fill:rgb(254,196,79)} -.YlOrBr .q4-9{fill:rgb(254,153,41)} -.YlOrBr .q5-9{fill:rgb(236,112,20)} -.YlOrBr .q6-9{fill:rgb(204,76,2)} -.YlOrBr .q7-9{fill:rgb(153,52,4)} -.YlOrBr .q8-9{fill:rgb(102,37,6)} -.Purples .q0-3{fill:rgb(239,237,245)} -.Purples .q1-3{fill:rgb(188,189,220)} -.Purples .q2-3{fill:rgb(117,107,177)} -.Purples .q0-4{fill:rgb(242,240,247)} -.Purples .q1-4{fill:rgb(203,201,226)} -.Purples .q2-4{fill:rgb(158,154,200)} -.Purples .q3-4{fill:rgb(106,81,163)} -.Purples .q0-5{fill:rgb(242,240,247)} -.Purples .q1-5{fill:rgb(203,201,226)} -.Purples .q2-5{fill:rgb(158,154,200)} -.Purples .q3-5{fill:rgb(117,107,177)} -.Purples .q4-5{fill:rgb(84,39,143)} -.Purples .q0-6{fill:rgb(242,240,247)} -.Purples .q1-6{fill:rgb(218,218,235)} -.Purples .q2-6{fill:rgb(188,189,220)} -.Purples .q3-6{fill:rgb(158,154,200)} -.Purples .q4-6{fill:rgb(117,107,177)} -.Purples .q5-6{fill:rgb(84,39,143)} -.Purples .q0-7{fill:rgb(242,240,247)} -.Purples .q1-7{fill:rgb(218,218,235)} -.Purples .q2-7{fill:rgb(188,189,220)} -.Purples .q3-7{fill:rgb(158,154,200)} -.Purples .q4-7{fill:rgb(128,125,186)} -.Purples .q5-7{fill:rgb(106,81,163)} -.Purples .q6-7{fill:rgb(74,20,134)} -.Purples .q0-8{fill:rgb(252,251,253)} -.Purples .q1-8{fill:rgb(239,237,245)} -.Purples .q2-8{fill:rgb(218,218,235)} -.Purples .q3-8{fill:rgb(188,189,220)} -.Purples .q4-8{fill:rgb(158,154,200)} -.Purples .q5-8{fill:rgb(128,125,186)} -.Purples .q6-8{fill:rgb(106,81,163)} -.Purples .q7-8{fill:rgb(74,20,134)} -.Purples .q0-9{fill:rgb(252,251,253)} -.Purples .q1-9{fill:rgb(239,237,245)} -.Purples .q2-9{fill:rgb(218,218,235)} -.Purples .q3-9{fill:rgb(188,189,220)} -.Purples .q4-9{fill:rgb(158,154,200)} -.Purples .q5-9{fill:rgb(128,125,186)} -.Purples .q6-9{fill:rgb(106,81,163)} -.Purples .q7-9{fill:rgb(84,39,143)} -.Purples .q8-9{fill:rgb(63,0,125)} -.Blues .q0-3{fill:rgb(222,235,247)} -.Blues .q1-3{fill:rgb(158,202,225)} -.Blues .q2-3{fill:rgb(49,130,189)} -.Blues .q0-4{fill:rgb(239,243,255)} -.Blues .q1-4{fill:rgb(189,215,231)} -.Blues .q2-4{fill:rgb(107,174,214)} -.Blues .q3-4{fill:rgb(33,113,181)} -.Blues .q0-5{fill:rgb(239,243,255)} -.Blues .q1-5{fill:rgb(189,215,231)} -.Blues .q2-5{fill:rgb(107,174,214)} -.Blues .q3-5{fill:rgb(49,130,189)} -.Blues .q4-5{fill:rgb(8,81,156)} -.Blues .q0-6{fill:rgb(239,243,255)} -.Blues .q1-6{fill:rgb(198,219,239)} -.Blues .q2-6{fill:rgb(158,202,225)} -.Blues .q3-6{fill:rgb(107,174,214)} -.Blues .q4-6{fill:rgb(49,130,189)} -.Blues .q5-6{fill:rgb(8,81,156)} -.Blues .q0-7{fill:rgb(239,243,255)} -.Blues .q1-7{fill:rgb(198,219,239)} -.Blues .q2-7{fill:rgb(158,202,225)} -.Blues .q3-7{fill:rgb(107,174,214)} -.Blues .q4-7{fill:rgb(66,146,198)} -.Blues .q5-7{fill:rgb(33,113,181)} -.Blues .q6-7{fill:rgb(8,69,148)} -.Blues .q0-8{fill:rgb(247,251,255)} -.Blues .q1-8{fill:rgb(222,235,247)} -.Blues .q2-8{fill:rgb(198,219,239)} -.Blues .q3-8{fill:rgb(158,202,225)} -.Blues .q4-8{fill:rgb(107,174,214)} -.Blues .q5-8{fill:rgb(66,146,198)} -.Blues .q6-8{fill:rgb(33,113,181)} -.Blues .q7-8{fill:rgb(8,69,148)} -.Blues .q0-9{fill:rgb(247,251,255)} -.Blues .q1-9{fill:rgb(222,235,247)} -.Blues .q2-9{fill:rgb(198,219,239)} -.Blues .q3-9{fill:rgb(158,202,225)} -.Blues .q4-9{fill:rgb(107,174,214)} -.Blues .q5-9{fill:rgb(66,146,198)} -.Blues .q6-9{fill:rgb(33,113,181)} -.Blues .q7-9{fill:rgb(8,81,156)} -.Blues .q8-9{fill:rgb(8,48,107)} -.Greens .q0-3{fill:rgb(229,245,224)} -.Greens .q1-3{fill:rgb(161,217,155)} -.Greens .q2-3{fill:rgb(49,163,84)} -.Greens .q0-4{fill:rgb(237,248,233)} -.Greens .q1-4{fill:rgb(186,228,179)} -.Greens .q2-4{fill:rgb(116,196,118)} -.Greens .q3-4{fill:rgb(35,139,69)} -.Greens .q0-5{fill:rgb(237,248,233)} -.Greens .q1-5{fill:rgb(186,228,179)} -.Greens .q2-5{fill:rgb(116,196,118)} -.Greens .q3-5{fill:rgb(49,163,84)} -.Greens .q4-5{fill:rgb(0,109,44)} -.Greens .q0-6{fill:rgb(237,248,233)} -.Greens .q1-6{fill:rgb(199,233,192)} -.Greens .q2-6{fill:rgb(161,217,155)} -.Greens .q3-6{fill:rgb(116,196,118)} -.Greens .q4-6{fill:rgb(49,163,84)} -.Greens .q5-6{fill:rgb(0,109,44)} -.Greens .q0-7{fill:rgb(237,248,233)} -.Greens .q1-7{fill:rgb(199,233,192)} -.Greens .q2-7{fill:rgb(161,217,155)} -.Greens .q3-7{fill:rgb(116,196,118)} -.Greens .q4-7{fill:rgb(65,171,93)} -.Greens .q5-7{fill:rgb(35,139,69)} -.Greens .q6-7{fill:rgb(0,90,50)} -.Greens .q0-8{fill:rgb(247,252,245)} -.Greens .q1-8{fill:rgb(229,245,224)} -.Greens .q2-8{fill:rgb(199,233,192)} -.Greens .q3-8{fill:rgb(161,217,155)} -.Greens .q4-8{fill:rgb(116,196,118)} -.Greens .q5-8{fill:rgb(65,171,93)} -.Greens .q6-8{fill:rgb(35,139,69)} -.Greens .q7-8{fill:rgb(0,90,50)} -.Greens .q0-9{fill:rgb(247,252,245)} -.Greens .q1-9{fill:rgb(229,245,224)} -.Greens .q2-9{fill:rgb(199,233,192)} -.Greens .q3-9{fill:rgb(161,217,155)} -.Greens .q4-9{fill:rgb(116,196,118)} -.Greens .q5-9{fill:rgb(65,171,93)} -.Greens .q6-9{fill:rgb(35,139,69)} -.Greens .q7-9{fill:rgb(0,109,44)} -.Greens .q8-9{fill:rgb(0,68,27)} -.Oranges .q0-3{fill:rgb(254,230,206)} -.Oranges .q1-3{fill:rgb(253,174,107)} -.Oranges .q2-3{fill:rgb(230,85,13)} -.Oranges .q0-4{fill:rgb(254,237,222)} -.Oranges .q1-4{fill:rgb(253,190,133)} -.Oranges .q2-4{fill:rgb(253,141,60)} -.Oranges .q3-4{fill:rgb(217,71,1)} -.Oranges .q0-5{fill:rgb(254,237,222)} -.Oranges .q1-5{fill:rgb(253,190,133)} -.Oranges .q2-5{fill:rgb(253,141,60)} -.Oranges .q3-5{fill:rgb(230,85,13)} -.Oranges .q4-5{fill:rgb(166,54,3)} -.Oranges .q0-6{fill:rgb(254,237,222)} -.Oranges .q1-6{fill:rgb(253,208,162)} -.Oranges .q2-6{fill:rgb(253,174,107)} -.Oranges .q3-6{fill:rgb(253,141,60)} -.Oranges .q4-6{fill:rgb(230,85,13)} -.Oranges .q5-6{fill:rgb(166,54,3)} -.Oranges .q0-7{fill:rgb(254,237,222)} -.Oranges .q1-7{fill:rgb(253,208,162)} -.Oranges .q2-7{fill:rgb(253,174,107)} -.Oranges .q3-7{fill:rgb(253,141,60)} -.Oranges .q4-7{fill:rgb(241,105,19)} -.Oranges .q5-7{fill:rgb(217,72,1)} -.Oranges .q6-7{fill:rgb(140,45,4)} -.Oranges .q0-8{fill:rgb(255,245,235)} -.Oranges .q1-8{fill:rgb(254,230,206)} -.Oranges .q2-8{fill:rgb(253,208,162)} -.Oranges .q3-8{fill:rgb(253,174,107)} -.Oranges .q4-8{fill:rgb(253,141,60)} -.Oranges .q5-8{fill:rgb(241,105,19)} -.Oranges .q6-8{fill:rgb(217,72,1)} -.Oranges .q7-8{fill:rgb(140,45,4)} -.Oranges .q0-9{fill:rgb(255,245,235)} -.Oranges .q1-9{fill:rgb(254,230,206)} -.Oranges .q2-9{fill:rgb(253,208,162)} -.Oranges .q3-9{fill:rgb(253,174,107)} -.Oranges .q4-9{fill:rgb(253,141,60)} -.Oranges .q5-9{fill:rgb(241,105,19)} -.Oranges .q6-9{fill:rgb(217,72,1)} -.Oranges .q7-9{fill:rgb(166,54,3)} -.Oranges .q8-9{fill:rgb(127,39,4)} -.Reds .q0-3{fill:rgb(254,224,210)} -.Reds .q1-3{fill:rgb(252,146,114)} -.Reds .q2-3{fill:rgb(222,45,38)} -.Reds .q0-4{fill:rgb(254,229,217)} -.Reds .q1-4{fill:rgb(252,174,145)} -.Reds .q2-4{fill:rgb(251,106,74)} -.Reds .q3-4{fill:rgb(203,24,29)} -.Reds .q0-5{fill:rgb(254,229,217)} -.Reds .q1-5{fill:rgb(252,174,145)} -.Reds .q2-5{fill:rgb(251,106,74)} -.Reds .q3-5{fill:rgb(222,45,38)} -.Reds .q4-5{fill:rgb(165,15,21)} -.Reds .q0-6{fill:rgb(254,229,217)} -.Reds .q1-6{fill:rgb(252,187,161)} -.Reds .q2-6{fill:rgb(252,146,114)} -.Reds .q3-6{fill:rgb(251,106,74)} -.Reds .q4-6{fill:rgb(222,45,38)} -.Reds .q5-6{fill:rgb(165,15,21)} -.Reds .q0-7{fill:rgb(254,229,217)} -.Reds .q1-7{fill:rgb(252,187,161)} -.Reds .q2-7{fill:rgb(252,146,114)} -.Reds .q3-7{fill:rgb(251,106,74)} -.Reds .q4-7{fill:rgb(239,59,44)} -.Reds .q5-7{fill:rgb(203,24,29)} -.Reds .q6-7{fill:rgb(153,0,13)} -.Reds .q0-8{fill:rgb(255,245,240)} -.Reds .q1-8{fill:rgb(254,224,210)} -.Reds .q2-8{fill:rgb(252,187,161)} -.Reds .q3-8{fill:rgb(252,146,114)} -.Reds .q4-8{fill:rgb(251,106,74)} -.Reds .q5-8{fill:rgb(239,59,44)} -.Reds .q6-8{fill:rgb(203,24,29)} -.Reds .q7-8{fill:rgb(153,0,13)} -.Reds .q0-9{fill:rgb(255,245,240)} -.Reds .q1-9{fill:rgb(254,224,210)} -.Reds .q2-9{fill:rgb(252,187,161)} -.Reds .q3-9{fill:rgb(252,146,114)} -.Reds .q4-9{fill:rgb(251,106,74)} -.Reds .q5-9{fill:rgb(239,59,44)} -.Reds .q6-9{fill:rgb(203,24,29)} -.Reds .q7-9{fill:rgb(165,15,21)} -.Reds .q8-9{fill:rgb(103,0,13)} -.Greys .q0-3{fill:rgb(240,240,240)} -.Greys .q1-3{fill:rgb(189,189,189)} -.Greys .q2-3{fill:rgb(99,99,99)} -.Greys .q0-4{fill:rgb(247,247,247)} -.Greys .q1-4{fill:rgb(204,204,204)} -.Greys .q2-4{fill:rgb(150,150,150)} -.Greys .q3-4{fill:rgb(82,82,82)} -.Greys .q0-5{fill:rgb(247,247,247)} -.Greys .q1-5{fill:rgb(204,204,204)} -.Greys .q2-5{fill:rgb(150,150,150)} -.Greys .q3-5{fill:rgb(99,99,99)} -.Greys .q4-5{fill:rgb(37,37,37)} -.Greys .q0-6{fill:rgb(247,247,247)} -.Greys .q1-6{fill:rgb(217,217,217)} -.Greys .q2-6{fill:rgb(189,189,189)} -.Greys .q3-6{fill:rgb(150,150,150)} -.Greys .q4-6{fill:rgb(99,99,99)} -.Greys .q5-6{fill:rgb(37,37,37)} -.Greys .q0-7{fill:rgb(247,247,247)} -.Greys .q1-7{fill:rgb(217,217,217)} -.Greys .q2-7{fill:rgb(189,189,189)} -.Greys .q3-7{fill:rgb(150,150,150)} -.Greys .q4-7{fill:rgb(115,115,115)} -.Greys .q5-7{fill:rgb(82,82,82)} -.Greys .q6-7{fill:rgb(37,37,37)} -.Greys .q0-8{fill:rgb(255,255,255)} -.Greys .q1-8{fill:rgb(240,240,240)} -.Greys .q2-8{fill:rgb(217,217,217)} -.Greys .q3-8{fill:rgb(189,189,189)} -.Greys .q4-8{fill:rgb(150,150,150)} -.Greys .q5-8{fill:rgb(115,115,115)} -.Greys .q6-8{fill:rgb(82,82,82)} -.Greys .q7-8{fill:rgb(37,37,37)} -.Greys .q0-9{fill:rgb(255,255,255)} -.Greys .q1-9{fill:rgb(240,240,240)} -.Greys .q2-9{fill:rgb(217,217,217)} -.Greys .q3-9{fill:rgb(189,189,189)} -.Greys .q4-9{fill:rgb(150,150,150)} -.Greys .q5-9{fill:rgb(115,115,115)} -.Greys .q6-9{fill:rgb(82,82,82)} -.Greys .q7-9{fill:rgb(37,37,37)} -.Greys .q8-9{fill:rgb(0,0,0)} -.PuOr .q0-3{fill:rgb(241,163,64)} -.PuOr .q1-3{fill:rgb(247,247,247)} -.PuOr .q2-3{fill:rgb(153,142,195)} -.PuOr .q0-4{fill:rgb(230,97,1)} -.PuOr .q1-4{fill:rgb(253,184,99)} -.PuOr .q2-4{fill:rgb(178,171,210)} -.PuOr .q3-4{fill:rgb(94,60,153)} -.PuOr .q0-5{fill:rgb(230,97,1)} -.PuOr .q1-5{fill:rgb(253,184,99)} -.PuOr .q2-5{fill:rgb(247,247,247)} -.PuOr .q3-5{fill:rgb(178,171,210)} -.PuOr .q4-5{fill:rgb(94,60,153)} -.PuOr .q0-6{fill:rgb(179,88,6)} -.PuOr .q1-6{fill:rgb(241,163,64)} -.PuOr .q2-6{fill:rgb(254,224,182)} -.PuOr .q3-6{fill:rgb(216,218,235)} -.PuOr .q4-6{fill:rgb(153,142,195)} -.PuOr .q5-6{fill:rgb(84,39,136)} -.PuOr .q0-7{fill:rgb(179,88,6)} -.PuOr .q1-7{fill:rgb(241,163,64)} -.PuOr .q2-7{fill:rgb(254,224,182)} -.PuOr .q3-7{fill:rgb(247,247,247)} -.PuOr .q4-7{fill:rgb(216,218,235)} -.PuOr .q5-7{fill:rgb(153,142,195)} -.PuOr .q6-7{fill:rgb(84,39,136)} -.PuOr .q0-8{fill:rgb(179,88,6)} -.PuOr .q1-8{fill:rgb(224,130,20)} -.PuOr .q2-8{fill:rgb(253,184,99)} -.PuOr .q3-8{fill:rgb(254,224,182)} -.PuOr .q4-8{fill:rgb(216,218,235)} -.PuOr .q5-8{fill:rgb(178,171,210)} -.PuOr .q6-8{fill:rgb(128,115,172)} -.PuOr .q7-8{fill:rgb(84,39,136)} -.PuOr .q0-9{fill:rgb(179,88,6)} -.PuOr .q1-9{fill:rgb(224,130,20)} -.PuOr .q2-9{fill:rgb(253,184,99)} -.PuOr .q3-9{fill:rgb(254,224,182)} -.PuOr .q4-9{fill:rgb(247,247,247)} -.PuOr .q5-9{fill:rgb(216,218,235)} -.PuOr .q6-9{fill:rgb(178,171,210)} -.PuOr .q7-9{fill:rgb(128,115,172)} -.PuOr .q8-9{fill:rgb(84,39,136)} -.PuOr .q0-10{fill:rgb(127,59,8)} -.PuOr .q1-10{fill:rgb(179,88,6)} -.PuOr .q2-10{fill:rgb(224,130,20)} -.PuOr .q3-10{fill:rgb(253,184,99)} -.PuOr .q4-10{fill:rgb(254,224,182)} -.PuOr .q5-10{fill:rgb(216,218,235)} -.PuOr .q6-10{fill:rgb(178,171,210)} -.PuOr .q7-10{fill:rgb(128,115,172)} -.PuOr .q8-10{fill:rgb(84,39,136)} -.PuOr .q9-10{fill:rgb(45,0,75)} -.PuOr .q0-11{fill:rgb(127,59,8)} -.PuOr .q1-11{fill:rgb(179,88,6)} -.PuOr .q2-11{fill:rgb(224,130,20)} -.PuOr .q3-11{fill:rgb(253,184,99)} -.PuOr .q4-11{fill:rgb(254,224,182)} -.PuOr .q5-11{fill:rgb(247,247,247)} -.PuOr .q6-11{fill:rgb(216,218,235)} -.PuOr .q7-11{fill:rgb(178,171,210)} -.PuOr .q8-11{fill:rgb(128,115,172)} -.PuOr .q9-11{fill:rgb(84,39,136)} -.PuOr .q10-11{fill:rgb(45,0,75)} -.BrBG .q0-3{fill:rgb(216,179,101)} -.BrBG .q1-3{fill:rgb(245,245,245)} -.BrBG .q2-3{fill:rgb(90,180,172)} -.BrBG .q0-4{fill:rgb(166,97,26)} -.BrBG .q1-4{fill:rgb(223,194,125)} -.BrBG .q2-4{fill:rgb(128,205,193)} -.BrBG .q3-4{fill:rgb(1,133,113)} -.BrBG .q0-5{fill:rgb(166,97,26)} -.BrBG .q1-5{fill:rgb(223,194,125)} -.BrBG .q2-5{fill:rgb(245,245,245)} -.BrBG .q3-5{fill:rgb(128,205,193)} -.BrBG .q4-5{fill:rgb(1,133,113)} -.BrBG .q0-6{fill:rgb(140,81,10)} -.BrBG .q1-6{fill:rgb(216,179,101)} -.BrBG .q2-6{fill:rgb(246,232,195)} -.BrBG .q3-6{fill:rgb(199,234,229)} -.BrBG .q4-6{fill:rgb(90,180,172)} -.BrBG .q5-6{fill:rgb(1,102,94)} -.BrBG .q0-7{fill:rgb(140,81,10)} -.BrBG .q1-7{fill:rgb(216,179,101)} -.BrBG .q2-7{fill:rgb(246,232,195)} -.BrBG .q3-7{fill:rgb(245,245,245)} -.BrBG .q4-7{fill:rgb(199,234,229)} -.BrBG .q5-7{fill:rgb(90,180,172)} -.BrBG .q6-7{fill:rgb(1,102,94)} -.BrBG .q0-8{fill:rgb(140,81,10)} -.BrBG .q1-8{fill:rgb(191,129,45)} -.BrBG .q2-8{fill:rgb(223,194,125)} -.BrBG .q3-8{fill:rgb(246,232,195)} -.BrBG .q4-8{fill:rgb(199,234,229)} -.BrBG .q5-8{fill:rgb(128,205,193)} -.BrBG .q6-8{fill:rgb(53,151,143)} -.BrBG .q7-8{fill:rgb(1,102,94)} -.BrBG .q0-9{fill:rgb(140,81,10)} -.BrBG .q1-9{fill:rgb(191,129,45)} -.BrBG .q2-9{fill:rgb(223,194,125)} -.BrBG .q3-9{fill:rgb(246,232,195)} -.BrBG .q4-9{fill:rgb(245,245,245)} -.BrBG .q5-9{fill:rgb(199,234,229)} -.BrBG .q6-9{fill:rgb(128,205,193)} -.BrBG .q7-9{fill:rgb(53,151,143)} -.BrBG .q8-9{fill:rgb(1,102,94)} -.BrBG .q0-10{fill:rgb(84,48,5)} -.BrBG .q1-10{fill:rgb(140,81,10)} -.BrBG .q2-10{fill:rgb(191,129,45)} -.BrBG .q3-10{fill:rgb(223,194,125)} -.BrBG .q4-10{fill:rgb(246,232,195)} -.BrBG .q5-10{fill:rgb(199,234,229)} -.BrBG .q6-10{fill:rgb(128,205,193)} -.BrBG .q7-10{fill:rgb(53,151,143)} -.BrBG .q8-10{fill:rgb(1,102,94)} -.BrBG .q9-10{fill:rgb(0,60,48)} -.BrBG .q0-11{fill:rgb(84,48,5)} -.BrBG .q1-11{fill:rgb(140,81,10)} -.BrBG .q2-11{fill:rgb(191,129,45)} -.BrBG .q3-11{fill:rgb(223,194,125)} -.BrBG .q4-11{fill:rgb(246,232,195)} -.BrBG .q5-11{fill:rgb(245,245,245)} -.BrBG .q6-11{fill:rgb(199,234,229)} -.BrBG .q7-11{fill:rgb(128,205,193)} -.BrBG .q8-11{fill:rgb(53,151,143)} -.BrBG .q9-11{fill:rgb(1,102,94)} -.BrBG .q10-11{fill:rgb(0,60,48)} -.PRGn .q0-3{fill:rgb(175,141,195)} -.PRGn .q1-3{fill:rgb(247,247,247)} -.PRGn .q2-3{fill:rgb(127,191,123)} -.PRGn .q0-4{fill:rgb(123,50,148)} -.PRGn .q1-4{fill:rgb(194,165,207)} -.PRGn .q2-4{fill:rgb(166,219,160)} -.PRGn .q3-4{fill:rgb(0,136,55)} -.PRGn .q0-5{fill:rgb(123,50,148)} -.PRGn .q1-5{fill:rgb(194,165,207)} -.PRGn .q2-5{fill:rgb(247,247,247)} -.PRGn .q3-5{fill:rgb(166,219,160)} -.PRGn .q4-5{fill:rgb(0,136,55)} -.PRGn .q0-6{fill:rgb(118,42,131)} -.PRGn .q1-6{fill:rgb(175,141,195)} -.PRGn .q2-6{fill:rgb(231,212,232)} -.PRGn .q3-6{fill:rgb(217,240,211)} -.PRGn .q4-6{fill:rgb(127,191,123)} -.PRGn .q5-6{fill:rgb(27,120,55)} -.PRGn .q0-7{fill:rgb(118,42,131)} -.PRGn .q1-7{fill:rgb(175,141,195)} -.PRGn .q2-7{fill:rgb(231,212,232)} -.PRGn .q3-7{fill:rgb(247,247,247)} -.PRGn .q4-7{fill:rgb(217,240,211)} -.PRGn .q5-7{fill:rgb(127,191,123)} -.PRGn .q6-7{fill:rgb(27,120,55)} -.PRGn .q0-8{fill:rgb(118,42,131)} -.PRGn .q1-8{fill:rgb(153,112,171)} -.PRGn .q2-8{fill:rgb(194,165,207)} -.PRGn .q3-8{fill:rgb(231,212,232)} -.PRGn .q4-8{fill:rgb(217,240,211)} -.PRGn .q5-8{fill:rgb(166,219,160)} -.PRGn .q6-8{fill:rgb(90,174,97)} -.PRGn .q7-8{fill:rgb(27,120,55)} -.PRGn .q0-9{fill:rgb(118,42,131)} -.PRGn .q1-9{fill:rgb(153,112,171)} -.PRGn .q2-9{fill:rgb(194,165,207)} -.PRGn .q3-9{fill:rgb(231,212,232)} -.PRGn .q4-9{fill:rgb(247,247,247)} -.PRGn .q5-9{fill:rgb(217,240,211)} -.PRGn .q6-9{fill:rgb(166,219,160)} -.PRGn .q7-9{fill:rgb(90,174,97)} -.PRGn .q8-9{fill:rgb(27,120,55)} -.PRGn .q0-10{fill:rgb(64,0,75)} -.PRGn .q1-10{fill:rgb(118,42,131)} -.PRGn .q2-10{fill:rgb(153,112,171)} -.PRGn .q3-10{fill:rgb(194,165,207)} -.PRGn .q4-10{fill:rgb(231,212,232)} -.PRGn .q5-10{fill:rgb(217,240,211)} -.PRGn .q6-10{fill:rgb(166,219,160)} -.PRGn .q7-10{fill:rgb(90,174,97)} -.PRGn .q8-10{fill:rgb(27,120,55)} -.PRGn .q9-10{fill:rgb(0,68,27)} -.PRGn .q0-11{fill:rgb(64,0,75)} -.PRGn .q1-11{fill:rgb(118,42,131)} -.PRGn .q2-11{fill:rgb(153,112,171)} -.PRGn .q3-11{fill:rgb(194,165,207)} -.PRGn .q4-11{fill:rgb(231,212,232)} -.PRGn .q5-11{fill:rgb(247,247,247)} -.PRGn .q6-11{fill:rgb(217,240,211)} -.PRGn .q7-11{fill:rgb(166,219,160)} -.PRGn .q8-11{fill:rgb(90,174,97)} -.PRGn .q9-11{fill:rgb(27,120,55)} -.PRGn .q10-11{fill:rgb(0,68,27)} -.PiYG .q0-3{fill:rgb(233,163,201)} -.PiYG .q1-3{fill:rgb(247,247,247)} -.PiYG .q2-3{fill:rgb(161,215,106)} -.PiYG .q0-4{fill:rgb(208,28,139)} -.PiYG .q1-4{fill:rgb(241,182,218)} -.PiYG .q2-4{fill:rgb(184,225,134)} -.PiYG .q3-4{fill:rgb(77,172,38)} -.PiYG .q0-5{fill:rgb(208,28,139)} -.PiYG .q1-5{fill:rgb(241,182,218)} -.PiYG .q2-5{fill:rgb(247,247,247)} -.PiYG .q3-5{fill:rgb(184,225,134)} -.PiYG .q4-5{fill:rgb(77,172,38)} -.PiYG .q0-6{fill:rgb(197,27,125)} -.PiYG .q1-6{fill:rgb(233,163,201)} -.PiYG .q2-6{fill:rgb(253,224,239)} -.PiYG .q3-6{fill:rgb(230,245,208)} -.PiYG .q4-6{fill:rgb(161,215,106)} -.PiYG .q5-6{fill:rgb(77,146,33)} -.PiYG .q0-7{fill:rgb(197,27,125)} -.PiYG .q1-7{fill:rgb(233,163,201)} -.PiYG .q2-7{fill:rgb(253,224,239)} -.PiYG .q3-7{fill:rgb(247,247,247)} -.PiYG .q4-7{fill:rgb(230,245,208)} -.PiYG .q5-7{fill:rgb(161,215,106)} -.PiYG .q6-7{fill:rgb(77,146,33)} -.PiYG .q0-8{fill:rgb(197,27,125)} -.PiYG .q1-8{fill:rgb(222,119,174)} -.PiYG .q2-8{fill:rgb(241,182,218)} -.PiYG .q3-8{fill:rgb(253,224,239)} -.PiYG .q4-8{fill:rgb(230,245,208)} -.PiYG .q5-8{fill:rgb(184,225,134)} -.PiYG .q6-8{fill:rgb(127,188,65)} -.PiYG .q7-8{fill:rgb(77,146,33)} -.PiYG .q0-9{fill:rgb(197,27,125)} -.PiYG .q1-9{fill:rgb(222,119,174)} -.PiYG .q2-9{fill:rgb(241,182,218)} -.PiYG .q3-9{fill:rgb(253,224,239)} -.PiYG .q4-9{fill:rgb(247,247,247)} -.PiYG .q5-9{fill:rgb(230,245,208)} -.PiYG .q6-9{fill:rgb(184,225,134)} -.PiYG .q7-9{fill:rgb(127,188,65)} -.PiYG .q8-9{fill:rgb(77,146,33)} -.PiYG .q0-10{fill:rgb(142,1,82)} -.PiYG .q1-10{fill:rgb(197,27,125)} -.PiYG .q2-10{fill:rgb(222,119,174)} -.PiYG .q3-10{fill:rgb(241,182,218)} -.PiYG .q4-10{fill:rgb(253,224,239)} -.PiYG .q5-10{fill:rgb(230,245,208)} -.PiYG .q6-10{fill:rgb(184,225,134)} -.PiYG .q7-10{fill:rgb(127,188,65)} -.PiYG .q8-10{fill:rgb(77,146,33)} -.PiYG .q9-10{fill:rgb(39,100,25)} -.PiYG .q0-11{fill:rgb(142,1,82)} -.PiYG .q1-11{fill:rgb(197,27,125)} -.PiYG .q2-11{fill:rgb(222,119,174)} -.PiYG .q3-11{fill:rgb(241,182,218)} -.PiYG .q4-11{fill:rgb(253,224,239)} -.PiYG .q5-11{fill:rgb(247,247,247)} -.PiYG .q6-11{fill:rgb(230,245,208)} -.PiYG .q7-11{fill:rgb(184,225,134)} -.PiYG .q8-11{fill:rgb(127,188,65)} -.PiYG .q9-11{fill:rgb(77,146,33)} -.PiYG .q10-11{fill:rgb(39,100,25)} -.RdBu .q0-3{fill:rgb(239,138,98)} -.RdBu .q1-3{fill:rgb(247,247,247)} -.RdBu .q2-3{fill:rgb(103,169,207)} -.RdBu .q0-4{fill:rgb(202,0,32)} -.RdBu .q1-4{fill:rgb(244,165,130)} -.RdBu .q2-4{fill:rgb(146,197,222)} -.RdBu .q3-4{fill:rgb(5,113,176)} -.RdBu .q0-5{fill:rgb(202,0,32)} -.RdBu .q1-5{fill:rgb(244,165,130)} -.RdBu .q2-5{fill:rgb(247,247,247)} -.RdBu .q3-5{fill:rgb(146,197,222)} -.RdBu .q4-5{fill:rgb(5,113,176)} -.RdBu .q0-6{fill:rgb(178,24,43)} -.RdBu .q1-6{fill:rgb(239,138,98)} -.RdBu .q2-6{fill:rgb(253,219,199)} -.RdBu .q3-6{fill:rgb(209,229,240)} -.RdBu .q4-6{fill:rgb(103,169,207)} -.RdBu .q5-6{fill:rgb(33,102,172)} -.RdBu .q0-7{fill:rgb(178,24,43)} -.RdBu .q1-7{fill:rgb(239,138,98)} -.RdBu .q2-7{fill:rgb(253,219,199)} -.RdBu .q3-7{fill:rgb(247,247,247)} -.RdBu .q4-7{fill:rgb(209,229,240)} -.RdBu .q5-7{fill:rgb(103,169,207)} -.RdBu .q6-7{fill:rgb(33,102,172)} -.RdBu .q0-8{fill:rgb(178,24,43)} -.RdBu .q1-8{fill:rgb(214,96,77)} -.RdBu .q2-8{fill:rgb(244,165,130)} -.RdBu .q3-8{fill:rgb(253,219,199)} -.RdBu .q4-8{fill:rgb(209,229,240)} -.RdBu .q5-8{fill:rgb(146,197,222)} -.RdBu .q6-8{fill:rgb(67,147,195)} -.RdBu .q7-8{fill:rgb(33,102,172)} -.RdBu .q0-9{fill:rgb(178,24,43)} -.RdBu .q1-9{fill:rgb(214,96,77)} -.RdBu .q2-9{fill:rgb(244,165,130)} -.RdBu .q3-9{fill:rgb(253,219,199)} -.RdBu .q4-9{fill:rgb(247,247,247)} -.RdBu .q5-9{fill:rgb(209,229,240)} -.RdBu .q6-9{fill:rgb(146,197,222)} -.RdBu .q7-9{fill:rgb(67,147,195)} -.RdBu .q8-9{fill:rgb(33,102,172)} -.RdBu .q0-10{fill:rgb(103,0,31)} -.RdBu .q1-10{fill:rgb(178,24,43)} -.RdBu .q2-10{fill:rgb(214,96,77)} -.RdBu .q3-10{fill:rgb(244,165,130)} -.RdBu .q4-10{fill:rgb(253,219,199)} -.RdBu .q5-10{fill:rgb(209,229,240)} -.RdBu .q6-10{fill:rgb(146,197,222)} -.RdBu .q7-10{fill:rgb(67,147,195)} -.RdBu .q8-10{fill:rgb(33,102,172)} -.RdBu .q9-10{fill:rgb(5,48,97)} -.RdBu .q0-11{fill:rgb(103,0,31)} -.RdBu .q1-11{fill:rgb(178,24,43)} -.RdBu .q2-11{fill:rgb(214,96,77)} -.RdBu .q3-11{fill:rgb(244,165,130)} -.RdBu .q4-11{fill:rgb(253,219,199)} -.RdBu .q5-11{fill:rgb(247,247,247)} -.RdBu .q6-11{fill:rgb(209,229,240)} -.RdBu .q7-11{fill:rgb(146,197,222)} -.RdBu .q8-11{fill:rgb(67,147,195)} -.RdBu .q9-11{fill:rgb(33,102,172)} -.RdBu .q10-11{fill:rgb(5,48,97)} -.RdGy .q0-3{fill:rgb(239,138,98)} -.RdGy .q1-3{fill:rgb(255,255,255)} -.RdGy .q2-3{fill:rgb(153,153,153)} -.RdGy .q0-4{fill:rgb(202,0,32)} -.RdGy .q1-4{fill:rgb(244,165,130)} -.RdGy .q2-4{fill:rgb(186,186,186)} -.RdGy .q3-4{fill:rgb(64,64,64)} -.RdGy .q0-5{fill:rgb(202,0,32)} -.RdGy .q1-5{fill:rgb(244,165,130)} -.RdGy .q2-5{fill:rgb(255,255,255)} -.RdGy .q3-5{fill:rgb(186,186,186)} -.RdGy .q4-5{fill:rgb(64,64,64)} -.RdGy .q0-6{fill:rgb(178,24,43)} -.RdGy .q1-6{fill:rgb(239,138,98)} -.RdGy .q2-6{fill:rgb(253,219,199)} -.RdGy .q3-6{fill:rgb(224,224,224)} -.RdGy .q4-6{fill:rgb(153,153,153)} -.RdGy .q5-6{fill:rgb(77,77,77)} -.RdGy .q0-7{fill:rgb(178,24,43)} -.RdGy .q1-7{fill:rgb(239,138,98)} -.RdGy .q2-7{fill:rgb(253,219,199)} -.RdGy .q3-7{fill:rgb(255,255,255)} -.RdGy .q4-7{fill:rgb(224,224,224)} -.RdGy .q5-7{fill:rgb(153,153,153)} -.RdGy .q6-7{fill:rgb(77,77,77)} -.RdGy .q0-8{fill:rgb(178,24,43)} -.RdGy .q1-8{fill:rgb(214,96,77)} -.RdGy .q2-8{fill:rgb(244,165,130)} -.RdGy .q3-8{fill:rgb(253,219,199)} -.RdGy .q4-8{fill:rgb(224,224,224)} -.RdGy .q5-8{fill:rgb(186,186,186)} -.RdGy .q6-8{fill:rgb(135,135,135)} -.RdGy .q7-8{fill:rgb(77,77,77)} -.RdGy .q0-9{fill:rgb(178,24,43)} -.RdGy .q1-9{fill:rgb(214,96,77)} -.RdGy .q2-9{fill:rgb(244,165,130)} -.RdGy .q3-9{fill:rgb(253,219,199)} -.RdGy .q4-9{fill:rgb(255,255,255)} -.RdGy .q5-9{fill:rgb(224,224,224)} -.RdGy .q6-9{fill:rgb(186,186,186)} -.RdGy .q7-9{fill:rgb(135,135,135)} -.RdGy .q8-9{fill:rgb(77,77,77)} -.RdGy .q0-10{fill:rgb(103,0,31)} -.RdGy .q1-10{fill:rgb(178,24,43)} -.RdGy .q2-10{fill:rgb(214,96,77)} -.RdGy .q3-10{fill:rgb(244,165,130)} -.RdGy .q4-10{fill:rgb(253,219,199)} -.RdGy .q5-10{fill:rgb(224,224,224)} -.RdGy .q6-10{fill:rgb(186,186,186)} -.RdGy .q7-10{fill:rgb(135,135,135)} -.RdGy .q8-10{fill:rgb(77,77,77)} -.RdGy .q9-10{fill:rgb(26,26,26)} -.RdGy .q0-11{fill:rgb(103,0,31)} -.RdGy .q1-11{fill:rgb(178,24,43)} -.RdGy .q2-11{fill:rgb(214,96,77)} -.RdGy .q3-11{fill:rgb(244,165,130)} -.RdGy .q4-11{fill:rgb(253,219,199)} -.RdGy .q5-11{fill:rgb(255,255,255)} -.RdGy .q6-11{fill:rgb(224,224,224)} -.RdGy .q7-11{fill:rgb(186,186,186)} -.RdGy .q8-11{fill:rgb(135,135,135)} -.RdGy .q9-11{fill:rgb(77,77,77)} -.RdGy .q10-11{fill:rgb(26,26,26)} -.RdYlBu .q0-3{fill:rgb(252,141,89)} -.RdYlBu .q1-3{fill:rgb(255,255,191)} -.RdYlBu .q2-3{fill:rgb(145,191,219)} -.RdYlBu .q0-4{fill:rgb(215,25,28)} -.RdYlBu .q1-4{fill:rgb(253,174,97)} -.RdYlBu .q2-4{fill:rgb(171,217,233)} -.RdYlBu .q3-4{fill:rgb(44,123,182)} -.RdYlBu .q0-5{fill:rgb(215,25,28)} -.RdYlBu .q1-5{fill:rgb(253,174,97)} -.RdYlBu .q2-5{fill:rgb(255,255,191)} -.RdYlBu .q3-5{fill:rgb(171,217,233)} -.RdYlBu .q4-5{fill:rgb(44,123,182)} -.RdYlBu .q0-6{fill:rgb(215,48,39)} -.RdYlBu .q1-6{fill:rgb(252,141,89)} -.RdYlBu .q2-6{fill:rgb(254,224,144)} -.RdYlBu .q3-6{fill:rgb(224,243,248)} -.RdYlBu .q4-6{fill:rgb(145,191,219)} -.RdYlBu .q5-6{fill:rgb(69,117,180)} -.RdYlBu .q0-7{fill:rgb(215,48,39)} -.RdYlBu .q1-7{fill:rgb(252,141,89)} -.RdYlBu .q2-7{fill:rgb(254,224,144)} -.RdYlBu .q3-7{fill:rgb(255,255,191)} -.RdYlBu .q4-7{fill:rgb(224,243,248)} -.RdYlBu .q5-7{fill:rgb(145,191,219)} -.RdYlBu .q6-7{fill:rgb(69,117,180)} -.RdYlBu .q0-8{fill:rgb(215,48,39)} -.RdYlBu .q1-8{fill:rgb(244,109,67)} -.RdYlBu .q2-8{fill:rgb(253,174,97)} -.RdYlBu .q3-8{fill:rgb(254,224,144)} -.RdYlBu .q4-8{fill:rgb(224,243,248)} -.RdYlBu .q5-8{fill:rgb(171,217,233)} -.RdYlBu .q6-8{fill:rgb(116,173,209)} -.RdYlBu .q7-8{fill:rgb(69,117,180)} -.RdYlBu .q0-9{fill:rgb(215,48,39)} -.RdYlBu .q1-9{fill:rgb(244,109,67)} -.RdYlBu .q2-9{fill:rgb(253,174,97)} -.RdYlBu .q3-9{fill:rgb(254,224,144)} -.RdYlBu .q4-9{fill:rgb(255,255,191)} -.RdYlBu .q5-9{fill:rgb(224,243,248)} -.RdYlBu .q6-9{fill:rgb(171,217,233)} -.RdYlBu .q7-9{fill:rgb(116,173,209)} -.RdYlBu .q8-9{fill:rgb(69,117,180)} -.RdYlBu .q0-10{fill:rgb(165,0,38)} -.RdYlBu .q1-10{fill:rgb(215,48,39)} -.RdYlBu .q2-10{fill:rgb(244,109,67)} -.RdYlBu .q3-10{fill:rgb(253,174,97)} -.RdYlBu .q4-10{fill:rgb(254,224,144)} -.RdYlBu .q5-10{fill:rgb(224,243,248)} -.RdYlBu .q6-10{fill:rgb(171,217,233)} -.RdYlBu .q7-10{fill:rgb(116,173,209)} -.RdYlBu .q8-10{fill:rgb(69,117,180)} -.RdYlBu .q9-10{fill:rgb(49,54,149)} -.RdYlBu .q0-11{fill:rgb(165,0,38)} -.RdYlBu .q1-11{fill:rgb(215,48,39)} -.RdYlBu .q2-11{fill:rgb(244,109,67)} -.RdYlBu .q3-11{fill:rgb(253,174,97)} -.RdYlBu .q4-11{fill:rgb(254,224,144)} -.RdYlBu .q5-11{fill:rgb(255,255,191)} -.RdYlBu .q6-11{fill:rgb(224,243,248)} -.RdYlBu .q7-11{fill:rgb(171,217,233)} -.RdYlBu .q8-11{fill:rgb(116,173,209)} -.RdYlBu .q9-11{fill:rgb(69,117,180)} -.RdYlBu .q10-11{fill:rgb(49,54,149)} -.Spectral .q0-3{fill:rgb(252,141,89)} -.Spectral .q1-3{fill:rgb(255,255,191)} -.Spectral .q2-3{fill:rgb(153,213,148)} -.Spectral .q0-4{fill:rgb(215,25,28)} -.Spectral .q1-4{fill:rgb(253,174,97)} -.Spectral .q2-4{fill:rgb(171,221,164)} -.Spectral .q3-4{fill:rgb(43,131,186)} -.Spectral .q0-5{fill:rgb(215,25,28)} -.Spectral .q1-5{fill:rgb(253,174,97)} -.Spectral .q2-5{fill:rgb(255,255,191)} -.Spectral .q3-5{fill:rgb(171,221,164)} -.Spectral .q4-5{fill:rgb(43,131,186)} -.Spectral .q0-6{fill:rgb(213,62,79)} -.Spectral .q1-6{fill:rgb(252,141,89)} -.Spectral .q2-6{fill:rgb(254,224,139)} -.Spectral .q3-6{fill:rgb(230,245,152)} -.Spectral .q4-6{fill:rgb(153,213,148)} -.Spectral .q5-6{fill:rgb(50,136,189)} -.Spectral .q0-7{fill:rgb(213,62,79)} -.Spectral .q1-7{fill:rgb(252,141,89)} -.Spectral .q2-7{fill:rgb(254,224,139)} -.Spectral .q3-7{fill:rgb(255,255,191)} -.Spectral .q4-7{fill:rgb(230,245,152)} -.Spectral .q5-7{fill:rgb(153,213,148)} -.Spectral .q6-7{fill:rgb(50,136,189)} -.Spectral .q0-8{fill:rgb(213,62,79)} -.Spectral .q1-8{fill:rgb(244,109,67)} -.Spectral .q2-8{fill:rgb(253,174,97)} -.Spectral .q3-8{fill:rgb(254,224,139)} -.Spectral .q4-8{fill:rgb(230,245,152)} -.Spectral .q5-8{fill:rgb(171,221,164)} -.Spectral .q6-8{fill:rgb(102,194,165)} -.Spectral .q7-8{fill:rgb(50,136,189)} -.Spectral .q0-9{fill:rgb(213,62,79)} -.Spectral .q1-9{fill:rgb(244,109,67)} -.Spectral .q2-9{fill:rgb(253,174,97)} -.Spectral .q3-9{fill:rgb(254,224,139)} -.Spectral .q4-9{fill:rgb(255,255,191)} -.Spectral .q5-9{fill:rgb(230,245,152)} -.Spectral .q6-9{fill:rgb(171,221,164)} -.Spectral .q7-9{fill:rgb(102,194,165)} -.Spectral .q8-9{fill:rgb(50,136,189)} -.Spectral .q0-10{fill:rgb(158,1,66)} -.Spectral .q1-10{fill:rgb(213,62,79)} -.Spectral .q2-10{fill:rgb(244,109,67)} -.Spectral .q3-10{fill:rgb(253,174,97)} -.Spectral .q4-10{fill:rgb(254,224,139)} -.Spectral .q5-10{fill:rgb(230,245,152)} -.Spectral .q6-10{fill:rgb(171,221,164)} -.Spectral .q7-10{fill:rgb(102,194,165)} -.Spectral .q8-10{fill:rgb(50,136,189)} -.Spectral .q9-10{fill:rgb(94,79,162)} -.Spectral .q0-11{fill:rgb(158,1,66)} -.Spectral .q1-11{fill:rgb(213,62,79)} -.Spectral .q2-11{fill:rgb(244,109,67)} -.Spectral .q3-11{fill:rgb(253,174,97)} -.Spectral .q4-11{fill:rgb(254,224,139)} -.Spectral .q5-11{fill:rgb(255,255,191)} -.Spectral .q6-11{fill:rgb(230,245,152)} -.Spectral .q7-11{fill:rgb(171,221,164)} -.Spectral .q8-11{fill:rgb(102,194,165)} -.Spectral .q9-11{fill:rgb(50,136,189)} -.Spectral .q10-11{fill:rgb(94,79,162)} -.RdYlGn .q0-3{fill:rgb(252,141,89)} -.RdYlGn .q1-3{fill:rgb(255,255,191)} -.RdYlGn .q2-3{fill:rgb(145,207,96)} -.RdYlGn .q0-4{fill:rgb(215,25,28)} -.RdYlGn .q1-4{fill:rgb(253,174,97)} -.RdYlGn .q2-4{fill:rgb(166,217,106)} -.RdYlGn .q3-4{fill:rgb(26,150,65)} -.RdYlGn .q0-5{fill:rgb(215,25,28)} -.RdYlGn .q1-5{fill:rgb(253,174,97)} -.RdYlGn .q2-5{fill:rgb(255,255,191)} -.RdYlGn .q3-5{fill:rgb(166,217,106)} -.RdYlGn .q4-5{fill:rgb(26,150,65)} -.RdYlGn .q0-6{fill:rgb(215,48,39)} -.RdYlGn .q1-6{fill:rgb(252,141,89)} -.RdYlGn .q2-6{fill:rgb(254,224,139)} -.RdYlGn .q3-6{fill:rgb(217,239,139)} -.RdYlGn .q4-6{fill:rgb(145,207,96)} -.RdYlGn .q5-6{fill:rgb(26,152,80)} -.RdYlGn .q0-7{fill:rgb(215,48,39)} -.RdYlGn .q1-7{fill:rgb(252,141,89)} -.RdYlGn .q2-7{fill:rgb(254,224,139)} -.RdYlGn .q3-7{fill:rgb(255,255,191)} -.RdYlGn .q4-7{fill:rgb(217,239,139)} -.RdYlGn .q5-7{fill:rgb(145,207,96)} -.RdYlGn .q6-7{fill:rgb(26,152,80)} -.RdYlGn .q0-8{fill:rgb(215,48,39)} -.RdYlGn .q1-8{fill:rgb(244,109,67)} -.RdYlGn .q2-8{fill:rgb(253,174,97)} -.RdYlGn .q3-8{fill:rgb(254,224,139)} -.RdYlGn .q4-8{fill:rgb(217,239,139)} -.RdYlGn .q5-8{fill:rgb(166,217,106)} -.RdYlGn .q6-8{fill:rgb(102,189,99)} -.RdYlGn .q7-8{fill:rgb(26,152,80)} -.RdYlGn .q0-9{fill:rgb(215,48,39)} -.RdYlGn .q1-9{fill:rgb(244,109,67)} -.RdYlGn .q2-9{fill:rgb(253,174,97)} -.RdYlGn .q3-9{fill:rgb(254,224,139)} -.RdYlGn .q4-9{fill:rgb(255,255,191)} -.RdYlGn .q5-9{fill:rgb(217,239,139)} -.RdYlGn .q6-9{fill:rgb(166,217,106)} -.RdYlGn .q7-9{fill:rgb(102,189,99)} -.RdYlGn .q8-9{fill:rgb(26,152,80)} -.RdYlGn .q0-10{fill:rgb(165,0,38)} -.RdYlGn .q1-10{fill:rgb(215,48,39)} -.RdYlGn .q2-10{fill:rgb(244,109,67)} -.RdYlGn .q3-10{fill:rgb(253,174,97)} -.RdYlGn .q4-10{fill:rgb(254,224,139)} -.RdYlGn .q5-10{fill:rgb(217,239,139)} -.RdYlGn .q6-10{fill:rgb(166,217,106)} -.RdYlGn .q7-10{fill:rgb(102,189,99)} -.RdYlGn .q8-10{fill:rgb(26,152,80)} -.RdYlGn .q9-10{fill:rgb(0,104,55)} -.RdYlGn .q0-11{fill:rgb(165,0,38)} -.RdYlGn .q1-11{fill:rgb(215,48,39)} -.RdYlGn .q2-11{fill:rgb(244,109,67)} -.RdYlGn .q3-11{fill:rgb(253,174,97)} -.RdYlGn .q4-11{fill:rgb(254,224,139)} -.RdYlGn .q5-11{fill:rgb(255,255,191)} -.RdYlGn .q6-11{fill:rgb(217,239,139)} -.RdYlGn .q7-11{fill:rgb(166,217,106)} -.RdYlGn .q8-11{fill:rgb(102,189,99)} -.RdYlGn .q9-11{fill:rgb(26,152,80)} -.RdYlGn .q10-11{fill:rgb(0,104,55)} -.Accent .q0-3{fill:rgb(127,201,127)} -.Accent .q1-3{fill:rgb(190,174,212)} -.Accent .q2-3{fill:rgb(253,192,134)} -.Accent .q0-4{fill:rgb(127,201,127)} -.Accent .q1-4{fill:rgb(190,174,212)} -.Accent .q2-4{fill:rgb(253,192,134)} -.Accent .q3-4{fill:rgb(255,255,153)} -.Accent .q0-5{fill:rgb(127,201,127)} -.Accent .q1-5{fill:rgb(190,174,212)} -.Accent .q2-5{fill:rgb(253,192,134)} -.Accent .q3-5{fill:rgb(255,255,153)} -.Accent .q4-5{fill:rgb(56,108,176)} -.Accent .q0-6{fill:rgb(127,201,127)} -.Accent .q1-6{fill:rgb(190,174,212)} -.Accent .q2-6{fill:rgb(253,192,134)} -.Accent .q3-6{fill:rgb(255,255,153)} -.Accent .q4-6{fill:rgb(56,108,176)} -.Accent .q5-6{fill:rgb(240,2,127)} -.Accent .q0-7{fill:rgb(127,201,127)} -.Accent .q1-7{fill:rgb(190,174,212)} -.Accent .q2-7{fill:rgb(253,192,134)} -.Accent .q3-7{fill:rgb(255,255,153)} -.Accent .q4-7{fill:rgb(56,108,176)} -.Accent .q5-7{fill:rgb(240,2,127)} -.Accent .q6-7{fill:rgb(191,91,23)} -.Accent .q0-8{fill:rgb(127,201,127)} -.Accent .q1-8{fill:rgb(190,174,212)} -.Accent .q2-8{fill:rgb(253,192,134)} -.Accent .q3-8{fill:rgb(255,255,153)} -.Accent .q4-8{fill:rgb(56,108,176)} -.Accent .q5-8{fill:rgb(240,2,127)} -.Accent .q6-8{fill:rgb(191,91,23)} -.Accent .q7-8{fill:rgb(102,102,102)} -.Dark2 .q0-3{fill:rgb(27,158,119)} -.Dark2 .q1-3{fill:rgb(217,95,2)} -.Dark2 .q2-3{fill:rgb(117,112,179)} -.Dark2 .q0-4{fill:rgb(27,158,119)} -.Dark2 .q1-4{fill:rgb(217,95,2)} -.Dark2 .q2-4{fill:rgb(117,112,179)} -.Dark2 .q3-4{fill:rgb(231,41,138)} -.Dark2 .q0-5{fill:rgb(27,158,119)} -.Dark2 .q1-5{fill:rgb(217,95,2)} -.Dark2 .q2-5{fill:rgb(117,112,179)} -.Dark2 .q3-5{fill:rgb(231,41,138)} -.Dark2 .q4-5{fill:rgb(102,166,30)} -.Dark2 .q0-6{fill:rgb(27,158,119)} -.Dark2 .q1-6{fill:rgb(217,95,2)} -.Dark2 .q2-6{fill:rgb(117,112,179)} -.Dark2 .q3-6{fill:rgb(231,41,138)} -.Dark2 .q4-6{fill:rgb(102,166,30)} -.Dark2 .q5-6{fill:rgb(230,171,2)} -.Dark2 .q0-7{fill:rgb(27,158,119)} -.Dark2 .q1-7{fill:rgb(217,95,2)} -.Dark2 .q2-7{fill:rgb(117,112,179)} -.Dark2 .q3-7{fill:rgb(231,41,138)} -.Dark2 .q4-7{fill:rgb(102,166,30)} -.Dark2 .q5-7{fill:rgb(230,171,2)} -.Dark2 .q6-7{fill:rgb(166,118,29)} -.Dark2 .q0-8{fill:rgb(27,158,119)} -.Dark2 .q1-8{fill:rgb(217,95,2)} -.Dark2 .q2-8{fill:rgb(117,112,179)} -.Dark2 .q3-8{fill:rgb(231,41,138)} -.Dark2 .q4-8{fill:rgb(102,166,30)} -.Dark2 .q5-8{fill:rgb(230,171,2)} -.Dark2 .q6-8{fill:rgb(166,118,29)} -.Dark2 .q7-8{fill:rgb(102,102,102)} -.Paired .q0-3{fill:rgb(166,206,227)} -.Paired .q1-3{fill:rgb(31,120,180)} -.Paired .q2-3{fill:rgb(178,223,138)} -.Paired .q0-4{fill:rgb(166,206,227)} -.Paired .q1-4{fill:rgb(31,120,180)} -.Paired .q2-4{fill:rgb(178,223,138)} -.Paired .q3-4{fill:rgb(51,160,44)} -.Paired .q0-5{fill:rgb(166,206,227)} -.Paired .q1-5{fill:rgb(31,120,180)} -.Paired .q2-5{fill:rgb(178,223,138)} -.Paired .q3-5{fill:rgb(51,160,44)} -.Paired .q4-5{fill:rgb(251,154,153)} -.Paired .q0-6{fill:rgb(166,206,227)} -.Paired .q1-6{fill:rgb(31,120,180)} -.Paired .q2-6{fill:rgb(178,223,138)} -.Paired .q3-6{fill:rgb(51,160,44)} -.Paired .q4-6{fill:rgb(251,154,153)} -.Paired .q5-6{fill:rgb(227,26,28)} -.Paired .q0-7{fill:rgb(166,206,227)} -.Paired .q1-7{fill:rgb(31,120,180)} -.Paired .q2-7{fill:rgb(178,223,138)} -.Paired .q3-7{fill:rgb(51,160,44)} -.Paired .q4-7{fill:rgb(251,154,153)} -.Paired .q5-7{fill:rgb(227,26,28)} -.Paired .q6-7{fill:rgb(253,191,111)} -.Paired .q0-8{fill:rgb(166,206,227)} -.Paired .q1-8{fill:rgb(31,120,180)} -.Paired .q2-8{fill:rgb(178,223,138)} -.Paired .q3-8{fill:rgb(51,160,44)} -.Paired .q4-8{fill:rgb(251,154,153)} -.Paired .q5-8{fill:rgb(227,26,28)} -.Paired .q6-8{fill:rgb(253,191,111)} -.Paired .q7-8{fill:rgb(255,127,0)} -.Paired .q0-9{fill:rgb(166,206,227)} -.Paired .q1-9{fill:rgb(31,120,180)} -.Paired .q2-9{fill:rgb(178,223,138)} -.Paired .q3-9{fill:rgb(51,160,44)} -.Paired .q4-9{fill:rgb(251,154,153)} -.Paired .q5-9{fill:rgb(227,26,28)} -.Paired .q6-9{fill:rgb(253,191,111)} -.Paired .q7-9{fill:rgb(255,127,0)} -.Paired .q8-9{fill:rgb(202,178,214)} -.Paired .q0-10{fill:rgb(166,206,227)} -.Paired .q1-10{fill:rgb(31,120,180)} -.Paired .q2-10{fill:rgb(178,223,138)} -.Paired .q3-10{fill:rgb(51,160,44)} -.Paired .q4-10{fill:rgb(251,154,153)} -.Paired .q5-10{fill:rgb(227,26,28)} -.Paired .q6-10{fill:rgb(253,191,111)} -.Paired .q7-10{fill:rgb(255,127,0)} -.Paired .q8-10{fill:rgb(202,178,214)} -.Paired .q9-10{fill:rgb(106,61,154)} -.Paired .q0-11{fill:rgb(166,206,227)} -.Paired .q1-11{fill:rgb(31,120,180)} -.Paired .q2-11{fill:rgb(178,223,138)} -.Paired .q3-11{fill:rgb(51,160,44)} -.Paired .q4-11{fill:rgb(251,154,153)} -.Paired .q5-11{fill:rgb(227,26,28)} -.Paired .q6-11{fill:rgb(253,191,111)} -.Paired .q7-11{fill:rgb(255,127,0)} -.Paired .q8-11{fill:rgb(202,178,214)} -.Paired .q9-11{fill:rgb(106,61,154)} -.Paired .q10-11{fill:rgb(255,255,153)} -.Paired .q0-12{fill:rgb(166,206,227)} -.Paired .q1-12{fill:rgb(31,120,180)} -.Paired .q2-12{fill:rgb(178,223,138)} -.Paired .q3-12{fill:rgb(51,160,44)} -.Paired .q4-12{fill:rgb(251,154,153)} -.Paired .q5-12{fill:rgb(227,26,28)} -.Paired .q6-12{fill:rgb(253,191,111)} -.Paired .q7-12{fill:rgb(255,127,0)} -.Paired .q8-12{fill:rgb(202,178,214)} -.Paired .q9-12{fill:rgb(106,61,154)} -.Paired .q10-12{fill:rgb(255,255,153)} -.Paired .q11-12{fill:rgb(177,89,40)} -.Pastel1 .q0-3{fill:rgb(251,180,174)} -.Pastel1 .q1-3{fill:rgb(179,205,227)} -.Pastel1 .q2-3{fill:rgb(204,235,197)} -.Pastel1 .q0-4{fill:rgb(251,180,174)} -.Pastel1 .q1-4{fill:rgb(179,205,227)} -.Pastel1 .q2-4{fill:rgb(204,235,197)} -.Pastel1 .q3-4{fill:rgb(222,203,228)} -.Pastel1 .q0-5{fill:rgb(251,180,174)} -.Pastel1 .q1-5{fill:rgb(179,205,227)} -.Pastel1 .q2-5{fill:rgb(204,235,197)} -.Pastel1 .q3-5{fill:rgb(222,203,228)} -.Pastel1 .q4-5{fill:rgb(254,217,166)} -.Pastel1 .q0-6{fill:rgb(251,180,174)} -.Pastel1 .q1-6{fill:rgb(179,205,227)} -.Pastel1 .q2-6{fill:rgb(204,235,197)} -.Pastel1 .q3-6{fill:rgb(222,203,228)} -.Pastel1 .q4-6{fill:rgb(254,217,166)} -.Pastel1 .q5-6{fill:rgb(255,255,204)} -.Pastel1 .q0-7{fill:rgb(251,180,174)} -.Pastel1 .q1-7{fill:rgb(179,205,227)} -.Pastel1 .q2-7{fill:rgb(204,235,197)} -.Pastel1 .q3-7{fill:rgb(222,203,228)} -.Pastel1 .q4-7{fill:rgb(254,217,166)} -.Pastel1 .q5-7{fill:rgb(255,255,204)} -.Pastel1 .q6-7{fill:rgb(229,216,189)} -.Pastel1 .q0-8{fill:rgb(251,180,174)} -.Pastel1 .q1-8{fill:rgb(179,205,227)} -.Pastel1 .q2-8{fill:rgb(204,235,197)} -.Pastel1 .q3-8{fill:rgb(222,203,228)} -.Pastel1 .q4-8{fill:rgb(254,217,166)} -.Pastel1 .q5-8{fill:rgb(255,255,204)} -.Pastel1 .q6-8{fill:rgb(229,216,189)} -.Pastel1 .q7-8{fill:rgb(253,218,236)} -.Pastel1 .q0-9{fill:rgb(251,180,174)} -.Pastel1 .q1-9{fill:rgb(179,205,227)} -.Pastel1 .q2-9{fill:rgb(204,235,197)} -.Pastel1 .q3-9{fill:rgb(222,203,228)} -.Pastel1 .q4-9{fill:rgb(254,217,166)} -.Pastel1 .q5-9{fill:rgb(255,255,204)} -.Pastel1 .q6-9{fill:rgb(229,216,189)} -.Pastel1 .q7-9{fill:rgb(253,218,236)} -.Pastel1 .q8-9{fill:rgb(242,242,242)} -.Pastel2 .q0-3{fill:rgb(179,226,205)} -.Pastel2 .q1-3{fill:rgb(253,205,172)} -.Pastel2 .q2-3{fill:rgb(203,213,232)} -.Pastel2 .q0-4{fill:rgb(179,226,205)} -.Pastel2 .q1-4{fill:rgb(253,205,172)} -.Pastel2 .q2-4{fill:rgb(203,213,232)} -.Pastel2 .q3-4{fill:rgb(244,202,228)} -.Pastel2 .q0-5{fill:rgb(179,226,205)} -.Pastel2 .q1-5{fill:rgb(253,205,172)} -.Pastel2 .q2-5{fill:rgb(203,213,232)} -.Pastel2 .q3-5{fill:rgb(244,202,228)} -.Pastel2 .q4-5{fill:rgb(230,245,201)} -.Pastel2 .q0-6{fill:rgb(179,226,205)} -.Pastel2 .q1-6{fill:rgb(253,205,172)} -.Pastel2 .q2-6{fill:rgb(203,213,232)} -.Pastel2 .q3-6{fill:rgb(244,202,228)} -.Pastel2 .q4-6{fill:rgb(230,245,201)} -.Pastel2 .q5-6{fill:rgb(255,242,174)} -.Pastel2 .q0-7{fill:rgb(179,226,205)} -.Pastel2 .q1-7{fill:rgb(253,205,172)} -.Pastel2 .q2-7{fill:rgb(203,213,232)} -.Pastel2 .q3-7{fill:rgb(244,202,228)} -.Pastel2 .q4-7{fill:rgb(230,245,201)} -.Pastel2 .q5-7{fill:rgb(255,242,174)} -.Pastel2 .q6-7{fill:rgb(241,226,204)} -.Pastel2 .q0-8{fill:rgb(179,226,205)} -.Pastel2 .q1-8{fill:rgb(253,205,172)} -.Pastel2 .q2-8{fill:rgb(203,213,232)} -.Pastel2 .q3-8{fill:rgb(244,202,228)} -.Pastel2 .q4-8{fill:rgb(230,245,201)} -.Pastel2 .q5-8{fill:rgb(255,242,174)} -.Pastel2 .q6-8{fill:rgb(241,226,204)} -.Pastel2 .q7-8{fill:rgb(204,204,204)} -.Set1 .q0-3{fill:rgb(228,26,28)} -.Set1 .q1-3{fill:rgb(55,126,184)} -.Set1 .q2-3{fill:rgb(77,175,74)} -.Set1 .q0-4{fill:rgb(228,26,28)} -.Set1 .q1-4{fill:rgb(55,126,184)} -.Set1 .q2-4{fill:rgb(77,175,74)} -.Set1 .q3-4{fill:rgb(152,78,163)} -.Set1 .q0-5{fill:rgb(228,26,28)} -.Set1 .q1-5{fill:rgb(55,126,184)} -.Set1 .q2-5{fill:rgb(77,175,74)} -.Set1 .q3-5{fill:rgb(152,78,163)} -.Set1 .q4-5{fill:rgb(255,127,0)} -.Set1 .q0-6{fill:rgb(228,26,28)} -.Set1 .q1-6{fill:rgb(55,126,184)} -.Set1 .q2-6{fill:rgb(77,175,74)} -.Set1 .q3-6{fill:rgb(152,78,163)} -.Set1 .q4-6{fill:rgb(255,127,0)} -.Set1 .q5-6{fill:rgb(255,255,51)} -.Set1 .q0-7{fill:rgb(228,26,28)} -.Set1 .q1-7{fill:rgb(55,126,184)} -.Set1 .q2-7{fill:rgb(77,175,74)} -.Set1 .q3-7{fill:rgb(152,78,163)} -.Set1 .q4-7{fill:rgb(255,127,0)} -.Set1 .q5-7{fill:rgb(255,255,51)} -.Set1 .q6-7{fill:rgb(166,86,40)} -.Set1 .q0-8{fill:rgb(228,26,28)} -.Set1 .q1-8{fill:rgb(55,126,184)} -.Set1 .q2-8{fill:rgb(77,175,74)} -.Set1 .q3-8{fill:rgb(152,78,163)} -.Set1 .q4-8{fill:rgb(255,127,0)} -.Set1 .q5-8{fill:rgb(255,255,51)} -.Set1 .q6-8{fill:rgb(166,86,40)} -.Set1 .q7-8{fill:rgb(247,129,191)} -.Set1 .q0-9{fill:rgb(228,26,28)} -.Set1 .q1-9{fill:rgb(55,126,184)} -.Set1 .q2-9{fill:rgb(77,175,74)} -.Set1 .q3-9{fill:rgb(152,78,163)} -.Set1 .q4-9{fill:rgb(255,127,0)} -.Set1 .q5-9{fill:rgb(255,255,51)} -.Set1 .q6-9{fill:rgb(166,86,40)} -.Set1 .q7-9{fill:rgb(247,129,191)} -.Set1 .q8-9{fill:rgb(153,153,153)} -.Set2 .q0-3{fill:rgb(102,194,165)} -.Set2 .q1-3{fill:rgb(252,141,98)} -.Set2 .q2-3{fill:rgb(141,160,203)} -.Set2 .q0-4{fill:rgb(102,194,165)} -.Set2 .q1-4{fill:rgb(252,141,98)} -.Set2 .q2-4{fill:rgb(141,160,203)} -.Set2 .q3-4{fill:rgb(231,138,195)} -.Set2 .q0-5{fill:rgb(102,194,165)} -.Set2 .q1-5{fill:rgb(252,141,98)} -.Set2 .q2-5{fill:rgb(141,160,203)} -.Set2 .q3-5{fill:rgb(231,138,195)} -.Set2 .q4-5{fill:rgb(166,216,84)} -.Set2 .q0-6{fill:rgb(102,194,165)} -.Set2 .q1-6{fill:rgb(252,141,98)} -.Set2 .q2-6{fill:rgb(141,160,203)} -.Set2 .q3-6{fill:rgb(231,138,195)} -.Set2 .q4-6{fill:rgb(166,216,84)} -.Set2 .q5-6{fill:rgb(255,217,47)} -.Set2 .q0-7{fill:rgb(102,194,165)} -.Set2 .q1-7{fill:rgb(252,141,98)} -.Set2 .q2-7{fill:rgb(141,160,203)} -.Set2 .q3-7{fill:rgb(231,138,195)} -.Set2 .q4-7{fill:rgb(166,216,84)} -.Set2 .q5-7{fill:rgb(255,217,47)} -.Set2 .q6-7{fill:rgb(229,196,148)} -.Set2 .q0-8{fill:rgb(102,194,165)} -.Set2 .q1-8{fill:rgb(252,141,98)} -.Set2 .q2-8{fill:rgb(141,160,203)} -.Set2 .q3-8{fill:rgb(231,138,195)} -.Set2 .q4-8{fill:rgb(166,216,84)} -.Set2 .q5-8{fill:rgb(255,217,47)} -.Set2 .q6-8{fill:rgb(229,196,148)} -.Set2 .q7-8{fill:rgb(179,179,179)} -.Set3 .q0-3{fill:rgb(141,211,199)} -.Set3 .q1-3{fill:rgb(255,255,179)} -.Set3 .q2-3{fill:rgb(190,186,218)} -.Set3 .q0-4{fill:rgb(141,211,199)} -.Set3 .q1-4{fill:rgb(255,255,179)} -.Set3 .q2-4{fill:rgb(190,186,218)} -.Set3 .q3-4{fill:rgb(251,128,114)} -.Set3 .q0-5{fill:rgb(141,211,199)} -.Set3 .q1-5{fill:rgb(255,255,179)} -.Set3 .q2-5{fill:rgb(190,186,218)} -.Set3 .q3-5{fill:rgb(251,128,114)} -.Set3 .q4-5{fill:rgb(128,177,211)} -.Set3 .q0-6{fill:rgb(141,211,199)} -.Set3 .q1-6{fill:rgb(255,255,179)} -.Set3 .q2-6{fill:rgb(190,186,218)} -.Set3 .q3-6{fill:rgb(251,128,114)} -.Set3 .q4-6{fill:rgb(128,177,211)} -.Set3 .q5-6{fill:rgb(253,180,98)} -.Set3 .q0-7{fill:rgb(141,211,199)} -.Set3 .q1-7{fill:rgb(255,255,179)} -.Set3 .q2-7{fill:rgb(190,186,218)} -.Set3 .q3-7{fill:rgb(251,128,114)} -.Set3 .q4-7{fill:rgb(128,177,211)} -.Set3 .q5-7{fill:rgb(253,180,98)} -.Set3 .q6-7{fill:rgb(179,222,105)} -.Set3 .q0-8{fill:rgb(141,211,199)} -.Set3 .q1-8{fill:rgb(255,255,179)} -.Set3 .q2-8{fill:rgb(190,186,218)} -.Set3 .q3-8{fill:rgb(251,128,114)} -.Set3 .q4-8{fill:rgb(128,177,211)} -.Set3 .q5-8{fill:rgb(253,180,98)} -.Set3 .q6-8{fill:rgb(179,222,105)} -.Set3 .q7-8{fill:rgb(252,205,229)} -.Set3 .q0-9{fill:rgb(141,211,199)} -.Set3 .q1-9{fill:rgb(255,255,179)} -.Set3 .q2-9{fill:rgb(190,186,218)} -.Set3 .q3-9{fill:rgb(251,128,114)} -.Set3 .q4-9{fill:rgb(128,177,211)} -.Set3 .q5-9{fill:rgb(253,180,98)} -.Set3 .q6-9{fill:rgb(179,222,105)} -.Set3 .q7-9{fill:rgb(252,205,229)} -.Set3 .q8-9{fill:rgb(217,217,217)} -.Set3 .q0-10{fill:rgb(141,211,199)} -.Set3 .q1-10{fill:rgb(255,255,179)} -.Set3 .q2-10{fill:rgb(190,186,218)} -.Set3 .q3-10{fill:rgb(251,128,114)} -.Set3 .q4-10{fill:rgb(128,177,211)} -.Set3 .q5-10{fill:rgb(253,180,98)} -.Set3 .q6-10{fill:rgb(179,222,105)} -.Set3 .q7-10{fill:rgb(252,205,229)} -.Set3 .q8-10{fill:rgb(217,217,217)} -.Set3 .q9-10{fill:rgb(188,128,189)} -.Set3 .q0-11{fill:rgb(141,211,199)} -.Set3 .q1-11{fill:rgb(255,255,179)} -.Set3 .q2-11{fill:rgb(190,186,218)} -.Set3 .q3-11{fill:rgb(251,128,114)} -.Set3 .q4-11{fill:rgb(128,177,211)} -.Set3 .q5-11{fill:rgb(253,180,98)} -.Set3 .q6-11{fill:rgb(179,222,105)} -.Set3 .q7-11{fill:rgb(252,205,229)} -.Set3 .q8-11{fill:rgb(217,217,217)} -.Set3 .q9-11{fill:rgb(188,128,189)} -.Set3 .q10-11{fill:rgb(204,235,197)} -.Set3 .q0-12{fill:rgb(141,211,199)} -.Set3 .q1-12{fill:rgb(255,255,179)} -.Set3 .q2-12{fill:rgb(190,186,218)} -.Set3 .q3-12{fill:rgb(251,128,114)} -.Set3 .q4-12{fill:rgb(128,177,211)} -.Set3 .q5-12{fill:rgb(253,180,98)} -.Set3 .q6-12{fill:rgb(179,222,105)} -.Set3 .q7-12{fill:rgb(252,205,229)} -.Set3 .q8-12{fill:rgb(217,217,217)} -.Set3 .q9-12{fill:rgb(188,128,189)} -.Set3 .q10-12{fill:rgb(204,235,197)} -.Set3 .q11-12{fill:rgb(255,237,111)} -#classic_controls { - font-size: 0.72em; - overflow: auto; } - #classic_controls #demand, #classic_controls #supply, #classic_controls #other { - padding: 0; - border: 0; - margin: 0; - margin-left: 2.5%; - width: 30%; - float: left; } - #classic_controls table { - width: 100%; } - #classic_controls table tr:hover td.name { - font-weight: bold; - background-image: url("/assets/images/oneblackpixel.png"); } - #classic_controls table td.choice { - width: 20px; } - #classic_controls table td.choice a { - display: block; - width: 100%; - text-align: center; - color: #888; - text-decoration: none; - border: solid #ccc 1px; } - #classic_controls table td.choice a:hover { - border: solid #000 1px; } - #classic_controls table td.choice a.selected { - color: #000; } - #classic_controls table td.name { - background-image: url("/assets/images/onegreypixel.png"); - background-position: left center; - background-repeat: repeat-x; } - #classic_controls table td.name a { - background-color: #fff; - text-decoration: none; - color: #000; - cursor: help; } - #classic_controls table td.name a:hover { - text-decoration: underline; } - #classic_controls table td.help { - width: 14px; } - #classic_controls table td.help a { - text-align: center; - display: block; - background-color: #7c88fa; - border: solid #7c88fa 1px; - color: white; - width: 100%; - text-decoration: none; - font-weight: bold; - font-style: italic; } - #classic_controls table tr.incremental a.level1_1 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level1_1.png"); } - #classic_controls table tr.incremental a.level1_2 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level1_2.png"); } - #classic_controls table tr.incremental a.level1_3 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level1_3.png"); } - #classic_controls table tr.incremental a.level1_4 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level1_4.png"); } - #classic_controls table tr.incremental a.level1_5 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level1_5.png"); } - #classic_controls table tr.incremental a.level1_6 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level1_6.png"); } - #classic_controls table tr.incremental a.level1_7 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level1_7.png"); } - #classic_controls table tr.incremental a.level1_8 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level1_8.png"); } - #classic_controls table tr.incremental a.level1_9 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level1_9.png"); } - #classic_controls table tr.incremental a.level2_1 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level2_1.png"); } - #classic_controls table tr.incremental a.level2_2 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level2_2.png"); } - #classic_controls table tr.incremental a.level2_3 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level2_3.png"); } - #classic_controls table tr.incremental a.level2_4 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level2_4.png"); } - #classic_controls table tr.incremental a.level2_5 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level2_5.png"); } - #classic_controls table tr.incremental a.level2_6 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level2_6.png"); } - #classic_controls table tr.incremental a.level2_7 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level2_7.png"); } - #classic_controls table tr.incremental a.level2_8 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level2_8.png"); } - #classic_controls table tr.incremental a.level2_9 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level2_9.png"); } - #classic_controls table tr.incremental a.level3_1 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level3_1.png"); } - #classic_controls table tr.incremental a.level3_2 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level3_2.png"); } - #classic_controls table tr.incremental a.level3_3 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level3_3.png"); } - #classic_controls table tr.incremental a.level3_4 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level3_4.png"); } - #classic_controls table tr.incremental a.level3_5 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level3_5.png"); } - #classic_controls table tr.incremental a.level3_6 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level3_6.png"); } - #classic_controls table tr.incremental a.level3_7 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level3_7.png"); } - #classic_controls table tr.incremental a.level3_8 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level3_8.png"); } - #classic_controls table tr.incremental a.level3_9 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level3_9.png"); } - #classic_controls table tr.incremental a.level4_1 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level4_1.png"); } - #classic_controls table tr.incremental a.level4_2 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level4_2.png"); } - #classic_controls table tr.incremental a.level4_3 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level4_3.png"); } - #classic_controls table tr.incremental a.level4_4 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level4_4.png"); } - #classic_controls table tr.incremental a.level4_5 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level4_5.png"); } - #classic_controls table tr.incremental a.level4_6 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level4_6.png"); } - #classic_controls table tr.incremental a.level4_7 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level4_7.png"); } - #classic_controls table tr.incremental a.level4_8 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level4_8.png"); } - #classic_controls table tr.incremental a.level4_9 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level4_9.png"); } - #classic_controls table tr.incremental a.level1 { - background-color: #92C979; } - #classic_controls table tr.incremental a.level2 { - background-color: #EFDD60; } - #classic_controls table tr.incremental a.level3 { - background-color: #FFAE55; } - #classic_controls table tr.incremental a.level4 { - background-color: #F44545; } - #classic_controls table tr.alternative a.selected { - background-color: #aaa; } -#costscomparedoverview { - margin-left: 0%; - margin-right: 0%; - width: 100%; - margin: 0 0 0 0; - padding: 0; - height: 600px; } - -.costscomparedoverview h1 { - font-size: 16px; - margin-left: 250px; } -#costscomparedwithinsector { - margin-left: 0%; - margin-right: 0%; - width: 100%; - margin: 0 0 0 0; - padding: 0; - height: 600px; } - -.costscomparedwithinsector h1 { - font-size: 16px; - margin-left: 250px; } - -#sectorchoice { - z-index: 5; - position: absolute; - top: 45px; - left: 25px; } -#costsincontext { - margin-left: 0%; - margin-right: 0%; - width: 100%; - margin: 0 0 0 0; - padding: 0; - height: 600px; } - -.costsincontext h1 { - font-size: 16px; - margin-left: 250px; } - -#cost_override_warning { - position: absolute; - top: 55px; - left: 25px; - width: 200px; - display: none; - border: solid 1px #000; - background-color: yellow; - font-size: smaller; - padding: 5px; } - -#cost_caveats { - position: absolute; - left: 5%; - top: 75px; - z-index: 1000; - width: 85%; - padding: 2.5%; - background-color: #FF0; - border: solid 1px #000; - box-shadow: 0px 0px 25px rgba(0, 0, 0, 0.8); - -moz-box-shadow: 0px 0px 25px rgba(0, 0, 0, 0.8); - -webkit-box-shadow: 0px 0px 25px rgba(0, 0, 0, 0.8); - display: none; } - #cost_caveats #understand { - margin-top: 20px; - width: 100%; - text-align: center; } - -#essentialnotes { - font-size: 10px; - margin-top: 5px; - margin-left: 250px; - margin-right: 100px; - margin-bottom: 30px; } -#costssensitivity { - margin-left: 0%; - margin-right: 0%; - width: 100%; - margin: 0 0 0 0; - padding: 0; - height: 1400px; } - -.costssensitivity h1 { - font-size: 16px; - margin-left: 250px; } - -#comparatorchoice { - z-index: 5; - border: 1px solid black; - position: absolute; - top: 45px; - left: 25px; - list-style: none; - margin-left: 0; - padding: 5px; } - #comparatorchoice a { - color: #000; - text-decoration: none; } - #comparatorchoice a:hover { - text-decoration: underline; } - #comparatorchoice li { - margin-left: 0; - padding-left: 0; } - #comparatorchoice #view_comparatorchoice { - box-shadow: 0 0 5px #888; - list-style: none; - display: none; - background: #fff; - margin-left: 0; - padding: 5px; } - #comparatorchoice #view_comparatorchoice li { - margin-left: 0; - padding-left: 0; - margin-bottom: 5px; } -#energysecurity .column { - text-align: left; - padding: 0; - border: 0; - margin: 0; - margin-left: 2.5%; - font-size: 12px; - width: 30%; - margin-bottom: 30px; - float: left; } - -.energysecurity td.value { - width: 17%; } -.energysecurity td.value, .energysecurity th.value { - text-align: right; } -.energysecurity th.year { - text-align: center; - border-bottom: solid 1px #000; } - -#energysecurity .clear { - clear: both; } -#footer { - clear: both; - padding-top: 20px; - text-align: center; - font-size: 0.72em; } -#map { - text-align: left; - margin-left: 0; - margin-right: 0; - width: 100%; - margin: 0 0 30px 0; - padding: 0; - height: 800px; } -body { - font-family: Times; - margin: 0; - padding: 0; } - -#calculating { - font-size: 0.72em; - position: absolute; - width: 100%; - top: 20px; - left: 0px; - text-align: center; - z-index: 10; } - #calculating span { - padding: 3px; - background-color: yellow; } - -#results { - overflow: hidden; } - -.chart { - padding: 0; - border: 0; - margin: 0; - margin-left: 2.4%; - width: 30%; - margin-bottom: 0px; - float: left; } - -.charttitle { - text-anchor: middle; - font-family: Times; - font-size: 1em; } - -text.target { - text-anchor: middle; - font-family: Times; - font-size: 0.72em; } - -.axis path, .axis line { - fill: none; - stroke: #000; - stroke-width: 1px; } - -.axis text { - font-family: Times; - font-size: 0.72em; - fill: #000; } - -.axislabel { - text-anchor: end; - font-family: Times; - font-size: 0.72em; } - -.line { - fill: none; - stroke: black; - stroke-width: 3px; } - -.linelabel { - font-family: Times; - font-size: 0.72em; - cursor: default; } - -.area { - fill-opacity: 1; } - -path.total { - stroke: black; - stroke-width: 2px; - fill: none; } - -text.seriesValue { - font-size: 0.72em; - font-family: Ties; - text-anchor: middle; } - -path.total.hover { - stroke-width: 3px; } - -path.hover { - stroke: black; - stroke-width: 1px; } - -.linelabel.hover { - fill: black !important; - font-weight: bold; } - -.labelbackground { - fill: white; } - -g.context path { - fill: grey; - fill-opacity: 0.02; } - -.environmentalheat { - fill: #c7c728; } -#sankey { - width: 100%; - margin: 0 0 30px 0; - padding: 0; } -#share div { - margin: 0 10% 0 10%; - width: 80%; } -#share #excel { - margin-top: 50px; } - #share #excel textarea { - text-align: right; - margin-left: 10%; - width: 32px; - height: 700px; } -#simplesankey { - margin-left: 2.5%; - margin-right: 2.5%; - width: 100%; - margin: 0 0 30px 0; - padding: 0; - height: 320px; } -.story { - text-align: left; - padding: 0; - border: 0; - margin: 0; - margin-left: 2.5%; - font-size: 12px; - width: 30%; - margin-bottom: 30px; - float: left; } - .story h4 { - margin-top: 1em; - margin-bottom: 0em; } - .story h4 + p { - margin-top: 0em; } - .story th { - text-align: left; } - .story td.target, .story th.target { - text-align: right; } - -#stories .clear { - clear: both; } -#tooltip { - display: none; - background-color: #FFFF00; - color: #000; - border: 2px solid #000; - border-radius: 15px 15px 0px 15px; - box-shadow: 0 0 5px #888; - font-size: 12px; - width: 14em; - padding: 10px; - z-index: 10000; } -#topbar { - width: 100%; - height: 20px; - margin: 0 0 10px 0; - background-color: black; - color: white; - border-bottom: solid #57DA95 7px; } - #topbar a { - color: white; - text-decoration: none; } - #topbar .selectedView { - color: #57da95; } - #topbar a:hover { - text-decoration: underline; } - #topbar div { - position: absolute; - display: inline; } - #topbar #name { - left: 2.4%; - top: 0px; } - #topbar #examples { - right: 2.4%; - top: 0px; } - #topbar #views { - left: 160px; - left: calc(160px + 2.4%); - top: 0px; - width: 80%; - width: calc(100% - 2.4% - 160px - 2.4% - 160px); - text-align: center; } - #topbar #views a { - padding-right: 10px; } - #topbar #views div { - position: static; - padding-right: 10px; } - #topbar .dropdown { - z-index: 10000; - position: absolute; - display: none; - background: black; - padding: 5px; - border: solid 1px black; - box-shadow: 0 0 5px #888; } - #topbar .dropdown a { - color: white; - display: block; - margin-bottom: 5px; } - #topbar .showdropdown { - display: block; } diff --git a/public/assets/application-459dc57d96f87022b13a66dd71afd642.css.gz b/public/assets/application-459dc57d96f87022b13a66dd71afd642.css.gz deleted file mode 100644 index 7530e3c4c9450336e32403067a5d4573a885c23f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10935 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 diff --git a/public/assets/application-5611bb0c7c749e12a4122f21349bc7d6.css b/public/assets/application-5611bb0c7c749e12a4122f21349bc7d6.css deleted file mode 100644 index aab34abb..00000000 --- a/public/assets/application-5611bb0c7c749e12a4122f21349bc7d6.css +++ /dev/null @@ -1,2272 +0,0 @@ -/* - * This is a manifest file that'll automatically include all the stylesheets available in this directory - * and any sub-directories. You're free to add application-wide styles to this file and they'll appear at - * the top of the compiled file, but it's generally better to create a new file per style scope. - - -*/ -#airquality { - margin-left: 0%; - margin-right: 0%; - width: 100%; - margin: 0 0 0 0; - padding: 0; - height: 300px; } - -.airquality h1 { - font-size: 16px; - margin-left: 300px; } -.airquality .airqualitymessage { - margin-left: 300px; - margin-right: 30px; - margin-bottom: 30px; } - .airquality .airqualitymessage h2 { - font-size: 16px; - margin-left: 0px; - text-align: left; } -/* This product includes color specifications and designs developed by Cynthia Brewer (http://colorbrewer.org/). */ - -.YlGn .q0-3{fill:rgb(247,252,185)} -.YlGn .q1-3{fill:rgb(173,221,142)} -.YlGn .q2-3{fill:rgb(49,163,84)} -.YlGn .q0-4{fill:rgb(255,255,204)} -.YlGn .q1-4{fill:rgb(194,230,153)} -.YlGn .q2-4{fill:rgb(120,198,121)} -.YlGn .q3-4{fill:rgb(35,132,67)} -.YlGn .q0-5{fill:rgb(255,255,204)} -.YlGn .q1-5{fill:rgb(194,230,153)} -.YlGn .q2-5{fill:rgb(120,198,121)} -.YlGn .q3-5{fill:rgb(49,163,84)} -.YlGn .q4-5{fill:rgb(0,104,55)} -.YlGn .q0-6{fill:rgb(255,255,204)} -.YlGn .q1-6{fill:rgb(217,240,163)} -.YlGn .q2-6{fill:rgb(173,221,142)} -.YlGn .q3-6{fill:rgb(120,198,121)} -.YlGn .q4-6{fill:rgb(49,163,84)} -.YlGn .q5-6{fill:rgb(0,104,55)} -.YlGn .q0-7{fill:rgb(255,255,204)} -.YlGn .q1-7{fill:rgb(217,240,163)} -.YlGn .q2-7{fill:rgb(173,221,142)} -.YlGn .q3-7{fill:rgb(120,198,121)} -.YlGn .q4-7{fill:rgb(65,171,93)} -.YlGn .q5-7{fill:rgb(35,132,67)} -.YlGn .q6-7{fill:rgb(0,90,50)} -.YlGn .q0-8{fill:rgb(255,255,229)} -.YlGn .q1-8{fill:rgb(247,252,185)} -.YlGn .q2-8{fill:rgb(217,240,163)} -.YlGn .q3-8{fill:rgb(173,221,142)} -.YlGn .q4-8{fill:rgb(120,198,121)} -.YlGn .q5-8{fill:rgb(65,171,93)} -.YlGn .q6-8{fill:rgb(35,132,67)} -.YlGn .q7-8{fill:rgb(0,90,50)} -.YlGn .q0-9{fill:rgb(255,255,229)} -.YlGn .q1-9{fill:rgb(247,252,185)} -.YlGn .q2-9{fill:rgb(217,240,163)} -.YlGn .q3-9{fill:rgb(173,221,142)} -.YlGn .q4-9{fill:rgb(120,198,121)} -.YlGn .q5-9{fill:rgb(65,171,93)} -.YlGn .q6-9{fill:rgb(35,132,67)} -.YlGn .q7-9{fill:rgb(0,104,55)} -.YlGn .q8-9{fill:rgb(0,69,41)} -.YlGnBu .q0-3{fill:rgb(237,248,177)} -.YlGnBu .q1-3{fill:rgb(127,205,187)} -.YlGnBu .q2-3{fill:rgb(44,127,184)} -.YlGnBu .q0-4{fill:rgb(255,255,204)} -.YlGnBu .q1-4{fill:rgb(161,218,180)} -.YlGnBu .q2-4{fill:rgb(65,182,196)} -.YlGnBu .q3-4{fill:rgb(34,94,168)} -.YlGnBu .q0-5{fill:rgb(255,255,204)} -.YlGnBu .q1-5{fill:rgb(161,218,180)} -.YlGnBu .q2-5{fill:rgb(65,182,196)} -.YlGnBu .q3-5{fill:rgb(44,127,184)} -.YlGnBu .q4-5{fill:rgb(37,52,148)} -.YlGnBu .q0-6{fill:rgb(255,255,204)} -.YlGnBu .q1-6{fill:rgb(199,233,180)} -.YlGnBu .q2-6{fill:rgb(127,205,187)} -.YlGnBu .q3-6{fill:rgb(65,182,196)} -.YlGnBu .q4-6{fill:rgb(44,127,184)} -.YlGnBu .q5-6{fill:rgb(37,52,148)} -.YlGnBu .q0-7{fill:rgb(255,255,204)} -.YlGnBu .q1-7{fill:rgb(199,233,180)} -.YlGnBu .q2-7{fill:rgb(127,205,187)} -.YlGnBu .q3-7{fill:rgb(65,182,196)} -.YlGnBu .q4-7{fill:rgb(29,145,192)} -.YlGnBu .q5-7{fill:rgb(34,94,168)} -.YlGnBu .q6-7{fill:rgb(12,44,132)} -.YlGnBu .q0-8{fill:rgb(255,255,217)} -.YlGnBu .q1-8{fill:rgb(237,248,177)} -.YlGnBu .q2-8{fill:rgb(199,233,180)} -.YlGnBu .q3-8{fill:rgb(127,205,187)} -.YlGnBu .q4-8{fill:rgb(65,182,196)} -.YlGnBu .q5-8{fill:rgb(29,145,192)} -.YlGnBu .q6-8{fill:rgb(34,94,168)} -.YlGnBu .q7-8{fill:rgb(12,44,132)} -.YlGnBu .q0-9{fill:rgb(255,255,217)} -.YlGnBu .q1-9{fill:rgb(237,248,177)} -.YlGnBu .q2-9{fill:rgb(199,233,180)} -.YlGnBu .q3-9{fill:rgb(127,205,187)} -.YlGnBu .q4-9{fill:rgb(65,182,196)} -.YlGnBu .q5-9{fill:rgb(29,145,192)} -.YlGnBu .q6-9{fill:rgb(34,94,168)} -.YlGnBu .q7-9{fill:rgb(37,52,148)} -.YlGnBu .q8-9{fill:rgb(8,29,88)} -.GnBu .q0-3{fill:rgb(224,243,219)} -.GnBu .q1-3{fill:rgb(168,221,181)} -.GnBu .q2-3{fill:rgb(67,162,202)} -.GnBu .q0-4{fill:rgb(240,249,232)} -.GnBu .q1-4{fill:rgb(186,228,188)} -.GnBu .q2-4{fill:rgb(123,204,196)} -.GnBu .q3-4{fill:rgb(43,140,190)} -.GnBu .q0-5{fill:rgb(240,249,232)} -.GnBu .q1-5{fill:rgb(186,228,188)} -.GnBu .q2-5{fill:rgb(123,204,196)} -.GnBu .q3-5{fill:rgb(67,162,202)} -.GnBu .q4-5{fill:rgb(8,104,172)} -.GnBu .q0-6{fill:rgb(240,249,232)} -.GnBu .q1-6{fill:rgb(204,235,197)} -.GnBu .q2-6{fill:rgb(168,221,181)} -.GnBu .q3-6{fill:rgb(123,204,196)} -.GnBu .q4-6{fill:rgb(67,162,202)} -.GnBu .q5-6{fill:rgb(8,104,172)} -.GnBu .q0-7{fill:rgb(240,249,232)} -.GnBu .q1-7{fill:rgb(204,235,197)} -.GnBu .q2-7{fill:rgb(168,221,181)} -.GnBu .q3-7{fill:rgb(123,204,196)} -.GnBu .q4-7{fill:rgb(78,179,211)} -.GnBu .q5-7{fill:rgb(43,140,190)} -.GnBu .q6-7{fill:rgb(8,88,158)} -.GnBu .q0-8{fill:rgb(247,252,240)} -.GnBu .q1-8{fill:rgb(224,243,219)} -.GnBu .q2-8{fill:rgb(204,235,197)} -.GnBu .q3-8{fill:rgb(168,221,181)} -.GnBu .q4-8{fill:rgb(123,204,196)} -.GnBu .q5-8{fill:rgb(78,179,211)} -.GnBu .q6-8{fill:rgb(43,140,190)} -.GnBu .q7-8{fill:rgb(8,88,158)} -.GnBu .q0-9{fill:rgb(247,252,240)} -.GnBu .q1-9{fill:rgb(224,243,219)} -.GnBu .q2-9{fill:rgb(204,235,197)} -.GnBu .q3-9{fill:rgb(168,221,181)} -.GnBu .q4-9{fill:rgb(123,204,196)} -.GnBu .q5-9{fill:rgb(78,179,211)} -.GnBu .q6-9{fill:rgb(43,140,190)} -.GnBu .q7-9{fill:rgb(8,104,172)} -.GnBu .q8-9{fill:rgb(8,64,129)} -.BuGn .q0-3{fill:rgb(229,245,249)} -.BuGn .q1-3{fill:rgb(153,216,201)} -.BuGn .q2-3{fill:rgb(44,162,95)} -.BuGn .q0-4{fill:rgb(237,248,251)} -.BuGn .q1-4{fill:rgb(178,226,226)} -.BuGn .q2-4{fill:rgb(102,194,164)} -.BuGn .q3-4{fill:rgb(35,139,69)} -.BuGn .q0-5{fill:rgb(237,248,251)} -.BuGn .q1-5{fill:rgb(178,226,226)} -.BuGn .q2-5{fill:rgb(102,194,164)} -.BuGn .q3-5{fill:rgb(44,162,95)} -.BuGn .q4-5{fill:rgb(0,109,44)} -.BuGn .q0-6{fill:rgb(237,248,251)} -.BuGn .q1-6{fill:rgb(204,236,230)} -.BuGn .q2-6{fill:rgb(153,216,201)} -.BuGn .q3-6{fill:rgb(102,194,164)} -.BuGn .q4-6{fill:rgb(44,162,95)} -.BuGn .q5-6{fill:rgb(0,109,44)} -.BuGn .q0-7{fill:rgb(237,248,251)} -.BuGn .q1-7{fill:rgb(204,236,230)} -.BuGn .q2-7{fill:rgb(153,216,201)} -.BuGn .q3-7{fill:rgb(102,194,164)} -.BuGn .q4-7{fill:rgb(65,174,118)} -.BuGn .q5-7{fill:rgb(35,139,69)} -.BuGn .q6-7{fill:rgb(0,88,36)} -.BuGn .q0-8{fill:rgb(247,252,253)} -.BuGn .q1-8{fill:rgb(229,245,249)} -.BuGn .q2-8{fill:rgb(204,236,230)} -.BuGn .q3-8{fill:rgb(153,216,201)} -.BuGn .q4-8{fill:rgb(102,194,164)} -.BuGn .q5-8{fill:rgb(65,174,118)} -.BuGn .q6-8{fill:rgb(35,139,69)} -.BuGn .q7-8{fill:rgb(0,88,36)} -.BuGn .q0-9{fill:rgb(247,252,253)} -.BuGn .q1-9{fill:rgb(229,245,249)} -.BuGn .q2-9{fill:rgb(204,236,230)} -.BuGn .q3-9{fill:rgb(153,216,201)} -.BuGn .q4-9{fill:rgb(102,194,164)} -.BuGn .q5-9{fill:rgb(65,174,118)} -.BuGn .q6-9{fill:rgb(35,139,69)} -.BuGn .q7-9{fill:rgb(0,109,44)} -.BuGn .q8-9{fill:rgb(0,68,27)} -.PuBuGn .q0-3{fill:rgb(236,226,240)} -.PuBuGn .q1-3{fill:rgb(166,189,219)} -.PuBuGn .q2-3{fill:rgb(28,144,153)} -.PuBuGn .q0-4{fill:rgb(246,239,247)} -.PuBuGn .q1-4{fill:rgb(189,201,225)} -.PuBuGn .q2-4{fill:rgb(103,169,207)} -.PuBuGn .q3-4{fill:rgb(2,129,138)} -.PuBuGn .q0-5{fill:rgb(246,239,247)} -.PuBuGn .q1-5{fill:rgb(189,201,225)} -.PuBuGn .q2-5{fill:rgb(103,169,207)} -.PuBuGn .q3-5{fill:rgb(28,144,153)} -.PuBuGn .q4-5{fill:rgb(1,108,89)} -.PuBuGn .q0-6{fill:rgb(246,239,247)} -.PuBuGn .q1-6{fill:rgb(208,209,230)} -.PuBuGn .q2-6{fill:rgb(166,189,219)} -.PuBuGn .q3-6{fill:rgb(103,169,207)} -.PuBuGn .q4-6{fill:rgb(28,144,153)} -.PuBuGn .q5-6{fill:rgb(1,108,89)} -.PuBuGn .q0-7{fill:rgb(246,239,247)} -.PuBuGn .q1-7{fill:rgb(208,209,230)} -.PuBuGn .q2-7{fill:rgb(166,189,219)} -.PuBuGn .q3-7{fill:rgb(103,169,207)} -.PuBuGn .q4-7{fill:rgb(54,144,192)} -.PuBuGn .q5-7{fill:rgb(2,129,138)} -.PuBuGn .q6-7{fill:rgb(1,100,80)} -.PuBuGn .q0-8{fill:rgb(255,247,251)} -.PuBuGn .q1-8{fill:rgb(236,226,240)} -.PuBuGn .q2-8{fill:rgb(208,209,230)} -.PuBuGn .q3-8{fill:rgb(166,189,219)} -.PuBuGn .q4-8{fill:rgb(103,169,207)} -.PuBuGn .q5-8{fill:rgb(54,144,192)} -.PuBuGn .q6-8{fill:rgb(2,129,138)} -.PuBuGn .q7-8{fill:rgb(1,100,80)} -.PuBuGn .q0-9{fill:rgb(255,247,251)} -.PuBuGn .q1-9{fill:rgb(236,226,240)} -.PuBuGn .q2-9{fill:rgb(208,209,230)} -.PuBuGn .q3-9{fill:rgb(166,189,219)} -.PuBuGn .q4-9{fill:rgb(103,169,207)} -.PuBuGn .q5-9{fill:rgb(54,144,192)} -.PuBuGn .q6-9{fill:rgb(2,129,138)} -.PuBuGn .q7-9{fill:rgb(1,108,89)} -.PuBuGn .q8-9{fill:rgb(1,70,54)} -.PuBu .q0-3{fill:rgb(236,231,242)} -.PuBu .q1-3{fill:rgb(166,189,219)} -.PuBu .q2-3{fill:rgb(43,140,190)} -.PuBu .q0-4{fill:rgb(241,238,246)} -.PuBu .q1-4{fill:rgb(189,201,225)} -.PuBu .q2-4{fill:rgb(116,169,207)} -.PuBu .q3-4{fill:rgb(5,112,176)} -.PuBu .q0-5{fill:rgb(241,238,246)} -.PuBu .q1-5{fill:rgb(189,201,225)} -.PuBu .q2-5{fill:rgb(116,169,207)} -.PuBu .q3-5{fill:rgb(43,140,190)} -.PuBu .q4-5{fill:rgb(4,90,141)} -.PuBu .q0-6{fill:rgb(241,238,246)} -.PuBu .q1-6{fill:rgb(208,209,230)} -.PuBu .q2-6{fill:rgb(166,189,219)} -.PuBu .q3-6{fill:rgb(116,169,207)} -.PuBu .q4-6{fill:rgb(43,140,190)} -.PuBu .q5-6{fill:rgb(4,90,141)} -.PuBu .q0-7{fill:rgb(241,238,246)} -.PuBu .q1-7{fill:rgb(208,209,230)} -.PuBu .q2-7{fill:rgb(166,189,219)} -.PuBu .q3-7{fill:rgb(116,169,207)} -.PuBu .q4-7{fill:rgb(54,144,192)} -.PuBu .q5-7{fill:rgb(5,112,176)} -.PuBu .q6-7{fill:rgb(3,78,123)} -.PuBu .q0-8{fill:rgb(255,247,251)} -.PuBu .q1-8{fill:rgb(236,231,242)} -.PuBu .q2-8{fill:rgb(208,209,230)} -.PuBu .q3-8{fill:rgb(166,189,219)} -.PuBu .q4-8{fill:rgb(116,169,207)} -.PuBu .q5-8{fill:rgb(54,144,192)} -.PuBu .q6-8{fill:rgb(5,112,176)} -.PuBu .q7-8{fill:rgb(3,78,123)} -.PuBu .q0-9{fill:rgb(255,247,251)} -.PuBu .q1-9{fill:rgb(236,231,242)} -.PuBu .q2-9{fill:rgb(208,209,230)} -.PuBu .q3-9{fill:rgb(166,189,219)} -.PuBu .q4-9{fill:rgb(116,169,207)} -.PuBu .q5-9{fill:rgb(54,144,192)} -.PuBu .q6-9{fill:rgb(5,112,176)} -.PuBu .q7-9{fill:rgb(4,90,141)} -.PuBu .q8-9{fill:rgb(2,56,88)} -.BuPu .q0-3{fill:rgb(224,236,244)} -.BuPu .q1-3{fill:rgb(158,188,218)} -.BuPu .q2-3{fill:rgb(136,86,167)} -.BuPu .q0-4{fill:rgb(237,248,251)} -.BuPu .q1-4{fill:rgb(179,205,227)} -.BuPu .q2-4{fill:rgb(140,150,198)} -.BuPu .q3-4{fill:rgb(136,65,157)} -.BuPu .q0-5{fill:rgb(237,248,251)} -.BuPu .q1-5{fill:rgb(179,205,227)} -.BuPu .q2-5{fill:rgb(140,150,198)} -.BuPu .q3-5{fill:rgb(136,86,167)} -.BuPu .q4-5{fill:rgb(129,15,124)} -.BuPu .q0-6{fill:rgb(237,248,251)} -.BuPu .q1-6{fill:rgb(191,211,230)} -.BuPu .q2-6{fill:rgb(158,188,218)} -.BuPu .q3-6{fill:rgb(140,150,198)} -.BuPu .q4-6{fill:rgb(136,86,167)} -.BuPu .q5-6{fill:rgb(129,15,124)} -.BuPu .q0-7{fill:rgb(237,248,251)} -.BuPu .q1-7{fill:rgb(191,211,230)} -.BuPu .q2-7{fill:rgb(158,188,218)} -.BuPu .q3-7{fill:rgb(140,150,198)} -.BuPu .q4-7{fill:rgb(140,107,177)} -.BuPu .q5-7{fill:rgb(136,65,157)} -.BuPu .q6-7{fill:rgb(110,1,107)} -.BuPu .q0-8{fill:rgb(247,252,253)} -.BuPu .q1-8{fill:rgb(224,236,244)} -.BuPu .q2-8{fill:rgb(191,211,230)} -.BuPu .q3-8{fill:rgb(158,188,218)} -.BuPu .q4-8{fill:rgb(140,150,198)} -.BuPu .q5-8{fill:rgb(140,107,177)} -.BuPu .q6-8{fill:rgb(136,65,157)} -.BuPu .q7-8{fill:rgb(110,1,107)} -.BuPu .q0-9{fill:rgb(247,252,253)} -.BuPu .q1-9{fill:rgb(224,236,244)} -.BuPu .q2-9{fill:rgb(191,211,230)} -.BuPu .q3-9{fill:rgb(158,188,218)} -.BuPu .q4-9{fill:rgb(140,150,198)} -.BuPu .q5-9{fill:rgb(140,107,177)} -.BuPu .q6-9{fill:rgb(136,65,157)} -.BuPu .q7-9{fill:rgb(129,15,124)} -.BuPu .q8-9{fill:rgb(77,0,75)} -.RdPu .q0-3{fill:rgb(253,224,221)} -.RdPu .q1-3{fill:rgb(250,159,181)} -.RdPu .q2-3{fill:rgb(197,27,138)} -.RdPu .q0-4{fill:rgb(254,235,226)} -.RdPu .q1-4{fill:rgb(251,180,185)} -.RdPu .q2-4{fill:rgb(247,104,161)} -.RdPu .q3-4{fill:rgb(174,1,126)} -.RdPu .q0-5{fill:rgb(254,235,226)} -.RdPu .q1-5{fill:rgb(251,180,185)} -.RdPu .q2-5{fill:rgb(247,104,161)} -.RdPu .q3-5{fill:rgb(197,27,138)} -.RdPu .q4-5{fill:rgb(122,1,119)} -.RdPu .q0-6{fill:rgb(254,235,226)} -.RdPu .q1-6{fill:rgb(252,197,192)} -.RdPu .q2-6{fill:rgb(250,159,181)} -.RdPu .q3-6{fill:rgb(247,104,161)} -.RdPu .q4-6{fill:rgb(197,27,138)} -.RdPu .q5-6{fill:rgb(122,1,119)} -.RdPu .q0-7{fill:rgb(254,235,226)} -.RdPu .q1-7{fill:rgb(252,197,192)} -.RdPu .q2-7{fill:rgb(250,159,181)} -.RdPu .q3-7{fill:rgb(247,104,161)} -.RdPu .q4-7{fill:rgb(221,52,151)} -.RdPu .q5-7{fill:rgb(174,1,126)} -.RdPu .q6-7{fill:rgb(122,1,119)} -.RdPu .q0-8{fill:rgb(255,247,243)} -.RdPu .q1-8{fill:rgb(253,224,221)} -.RdPu .q2-8{fill:rgb(252,197,192)} -.RdPu .q3-8{fill:rgb(250,159,181)} -.RdPu .q4-8{fill:rgb(247,104,161)} -.RdPu .q5-8{fill:rgb(221,52,151)} -.RdPu .q6-8{fill:rgb(174,1,126)} -.RdPu .q7-8{fill:rgb(122,1,119)} -.RdPu .q0-9{fill:rgb(255,247,243)} -.RdPu .q1-9{fill:rgb(253,224,221)} -.RdPu .q2-9{fill:rgb(252,197,192)} -.RdPu .q3-9{fill:rgb(250,159,181)} -.RdPu .q4-9{fill:rgb(247,104,161)} -.RdPu .q5-9{fill:rgb(221,52,151)} -.RdPu .q6-9{fill:rgb(174,1,126)} -.RdPu .q7-9{fill:rgb(122,1,119)} -.RdPu .q8-9{fill:rgb(73,0,106)} -.PuRd .q0-3{fill:rgb(231,225,239)} -.PuRd .q1-3{fill:rgb(201,148,199)} -.PuRd .q2-3{fill:rgb(221,28,119)} -.PuRd .q0-4{fill:rgb(241,238,246)} -.PuRd .q1-4{fill:rgb(215,181,216)} -.PuRd .q2-4{fill:rgb(223,101,176)} -.PuRd .q3-4{fill:rgb(206,18,86)} -.PuRd .q0-5{fill:rgb(241,238,246)} -.PuRd .q1-5{fill:rgb(215,181,216)} -.PuRd .q2-5{fill:rgb(223,101,176)} -.PuRd .q3-5{fill:rgb(221,28,119)} -.PuRd .q4-5{fill:rgb(152,0,67)} -.PuRd .q0-6{fill:rgb(241,238,246)} -.PuRd .q1-6{fill:rgb(212,185,218)} -.PuRd .q2-6{fill:rgb(201,148,199)} -.PuRd .q3-6{fill:rgb(223,101,176)} -.PuRd .q4-6{fill:rgb(221,28,119)} -.PuRd .q5-6{fill:rgb(152,0,67)} -.PuRd .q0-7{fill:rgb(241,238,246)} -.PuRd .q1-7{fill:rgb(212,185,218)} -.PuRd .q2-7{fill:rgb(201,148,199)} -.PuRd .q3-7{fill:rgb(223,101,176)} -.PuRd .q4-7{fill:rgb(231,41,138)} -.PuRd .q5-7{fill:rgb(206,18,86)} -.PuRd .q6-7{fill:rgb(145,0,63)} -.PuRd .q0-8{fill:rgb(247,244,249)} -.PuRd .q1-8{fill:rgb(231,225,239)} -.PuRd .q2-8{fill:rgb(212,185,218)} -.PuRd .q3-8{fill:rgb(201,148,199)} -.PuRd .q4-8{fill:rgb(223,101,176)} -.PuRd .q5-8{fill:rgb(231,41,138)} -.PuRd .q6-8{fill:rgb(206,18,86)} -.PuRd .q7-8{fill:rgb(145,0,63)} -.PuRd .q0-9{fill:rgb(247,244,249)} -.PuRd .q1-9{fill:rgb(231,225,239)} -.PuRd .q2-9{fill:rgb(212,185,218)} -.PuRd .q3-9{fill:rgb(201,148,199)} -.PuRd .q4-9{fill:rgb(223,101,176)} -.PuRd .q5-9{fill:rgb(231,41,138)} -.PuRd .q6-9{fill:rgb(206,18,86)} -.PuRd .q7-9{fill:rgb(152,0,67)} -.PuRd .q8-9{fill:rgb(103,0,31)} -.OrRd .q0-3{fill:rgb(254,232,200)} -.OrRd .q1-3{fill:rgb(253,187,132)} -.OrRd .q2-3{fill:rgb(227,74,51)} -.OrRd .q0-4{fill:rgb(254,240,217)} -.OrRd .q1-4{fill:rgb(253,204,138)} -.OrRd .q2-4{fill:rgb(252,141,89)} -.OrRd .q3-4{fill:rgb(215,48,31)} -.OrRd .q0-5{fill:rgb(254,240,217)} -.OrRd .q1-5{fill:rgb(253,204,138)} -.OrRd .q2-5{fill:rgb(252,141,89)} -.OrRd .q3-5{fill:rgb(227,74,51)} -.OrRd .q4-5{fill:rgb(179,0,0)} -.OrRd .q0-6{fill:rgb(254,240,217)} -.OrRd .q1-6{fill:rgb(253,212,158)} -.OrRd .q2-6{fill:rgb(253,187,132)} -.OrRd .q3-6{fill:rgb(252,141,89)} -.OrRd .q4-6{fill:rgb(227,74,51)} -.OrRd .q5-6{fill:rgb(179,0,0)} -.OrRd .q0-7{fill:rgb(254,240,217)} -.OrRd .q1-7{fill:rgb(253,212,158)} -.OrRd .q2-7{fill:rgb(253,187,132)} -.OrRd .q3-7{fill:rgb(252,141,89)} -.OrRd .q4-7{fill:rgb(239,101,72)} -.OrRd .q5-7{fill:rgb(215,48,31)} -.OrRd .q6-7{fill:rgb(153,0,0)} -.OrRd .q0-8{fill:rgb(255,247,236)} -.OrRd .q1-8{fill:rgb(254,232,200)} -.OrRd .q2-8{fill:rgb(253,212,158)} -.OrRd .q3-8{fill:rgb(253,187,132)} -.OrRd .q4-8{fill:rgb(252,141,89)} -.OrRd .q5-8{fill:rgb(239,101,72)} -.OrRd .q6-8{fill:rgb(215,48,31)} -.OrRd .q7-8{fill:rgb(153,0,0)} -.OrRd .q0-9{fill:rgb(255,247,236)} -.OrRd .q1-9{fill:rgb(254,232,200)} -.OrRd .q2-9{fill:rgb(253,212,158)} -.OrRd .q3-9{fill:rgb(253,187,132)} -.OrRd .q4-9{fill:rgb(252,141,89)} -.OrRd .q5-9{fill:rgb(239,101,72)} -.OrRd .q6-9{fill:rgb(215,48,31)} -.OrRd .q7-9{fill:rgb(179,0,0)} -.OrRd .q8-9{fill:rgb(127,0,0)} -.YlOrRd .q0-3{fill:rgb(255,237,160)} -.YlOrRd .q1-3{fill:rgb(254,178,76)} -.YlOrRd .q2-3{fill:rgb(240,59,32)} -.YlOrRd .q0-4{fill:rgb(255,255,178)} -.YlOrRd .q1-4{fill:rgb(254,204,92)} -.YlOrRd .q2-4{fill:rgb(253,141,60)} -.YlOrRd .q3-4{fill:rgb(227,26,28)} -.YlOrRd .q0-5{fill:rgb(255,255,178)} -.YlOrRd .q1-5{fill:rgb(254,204,92)} -.YlOrRd .q2-5{fill:rgb(253,141,60)} -.YlOrRd .q3-5{fill:rgb(240,59,32)} -.YlOrRd .q4-5{fill:rgb(189,0,38)} -.YlOrRd .q0-6{fill:rgb(255,255,178)} -.YlOrRd .q1-6{fill:rgb(254,217,118)} -.YlOrRd .q2-6{fill:rgb(254,178,76)} -.YlOrRd .q3-6{fill:rgb(253,141,60)} -.YlOrRd .q4-6{fill:rgb(240,59,32)} -.YlOrRd .q5-6{fill:rgb(189,0,38)} -.YlOrRd .q0-7{fill:rgb(255,255,178)} -.YlOrRd .q1-7{fill:rgb(254,217,118)} -.YlOrRd .q2-7{fill:rgb(254,178,76)} -.YlOrRd .q3-7{fill:rgb(253,141,60)} -.YlOrRd .q4-7{fill:rgb(252,78,42)} -.YlOrRd .q5-7{fill:rgb(227,26,28)} -.YlOrRd .q6-7{fill:rgb(177,0,38)} -.YlOrRd .q0-8{fill:rgb(255,255,204)} -.YlOrRd .q1-8{fill:rgb(255,237,160)} -.YlOrRd .q2-8{fill:rgb(254,217,118)} -.YlOrRd .q3-8{fill:rgb(254,178,76)} -.YlOrRd .q4-8{fill:rgb(253,141,60)} -.YlOrRd .q5-8{fill:rgb(252,78,42)} -.YlOrRd .q6-8{fill:rgb(227,26,28)} -.YlOrRd .q7-8{fill:rgb(177,0,38)} -.YlOrRd .q0-9{fill:rgb(255,255,204)} -.YlOrRd .q1-9{fill:rgb(255,237,160)} -.YlOrRd .q2-9{fill:rgb(254,217,118)} -.YlOrRd .q3-9{fill:rgb(254,178,76)} -.YlOrRd .q4-9{fill:rgb(253,141,60)} -.YlOrRd .q5-9{fill:rgb(252,78,42)} -.YlOrRd .q6-9{fill:rgb(227,26,28)} -.YlOrRd .q7-9{fill:rgb(189,0,38)} -.YlOrRd .q8-9{fill:rgb(128,0,38)} -.YlOrBr .q0-3{fill:rgb(255,247,188)} -.YlOrBr .q1-3{fill:rgb(254,196,79)} -.YlOrBr .q2-3{fill:rgb(217,95,14)} -.YlOrBr .q0-4{fill:rgb(255,255,212)} -.YlOrBr .q1-4{fill:rgb(254,217,142)} -.YlOrBr .q2-4{fill:rgb(254,153,41)} -.YlOrBr .q3-4{fill:rgb(204,76,2)} -.YlOrBr .q0-5{fill:rgb(255,255,212)} -.YlOrBr .q1-5{fill:rgb(254,217,142)} -.YlOrBr .q2-5{fill:rgb(254,153,41)} -.YlOrBr .q3-5{fill:rgb(217,95,14)} -.YlOrBr .q4-5{fill:rgb(153,52,4)} -.YlOrBr .q0-6{fill:rgb(255,255,212)} -.YlOrBr .q1-6{fill:rgb(254,227,145)} -.YlOrBr .q2-6{fill:rgb(254,196,79)} -.YlOrBr .q3-6{fill:rgb(254,153,41)} -.YlOrBr .q4-6{fill:rgb(217,95,14)} -.YlOrBr .q5-6{fill:rgb(153,52,4)} -.YlOrBr .q0-7{fill:rgb(255,255,212)} -.YlOrBr .q1-7{fill:rgb(254,227,145)} -.YlOrBr .q2-7{fill:rgb(254,196,79)} -.YlOrBr .q3-7{fill:rgb(254,153,41)} -.YlOrBr .q4-7{fill:rgb(236,112,20)} -.YlOrBr .q5-7{fill:rgb(204,76,2)} -.YlOrBr .q6-7{fill:rgb(140,45,4)} -.YlOrBr .q0-8{fill:rgb(255,255,229)} -.YlOrBr .q1-8{fill:rgb(255,247,188)} -.YlOrBr .q2-8{fill:rgb(254,227,145)} -.YlOrBr .q3-8{fill:rgb(254,196,79)} -.YlOrBr .q4-8{fill:rgb(254,153,41)} -.YlOrBr .q5-8{fill:rgb(236,112,20)} -.YlOrBr .q6-8{fill:rgb(204,76,2)} -.YlOrBr .q7-8{fill:rgb(140,45,4)} -.YlOrBr .q0-9{fill:rgb(255,255,229)} -.YlOrBr .q1-9{fill:rgb(255,247,188)} -.YlOrBr .q2-9{fill:rgb(254,227,145)} -.YlOrBr .q3-9{fill:rgb(254,196,79)} -.YlOrBr .q4-9{fill:rgb(254,153,41)} -.YlOrBr .q5-9{fill:rgb(236,112,20)} -.YlOrBr .q6-9{fill:rgb(204,76,2)} -.YlOrBr .q7-9{fill:rgb(153,52,4)} -.YlOrBr .q8-9{fill:rgb(102,37,6)} -.Purples .q0-3{fill:rgb(239,237,245)} -.Purples .q1-3{fill:rgb(188,189,220)} -.Purples .q2-3{fill:rgb(117,107,177)} -.Purples .q0-4{fill:rgb(242,240,247)} -.Purples .q1-4{fill:rgb(203,201,226)} -.Purples .q2-4{fill:rgb(158,154,200)} -.Purples .q3-4{fill:rgb(106,81,163)} -.Purples .q0-5{fill:rgb(242,240,247)} -.Purples .q1-5{fill:rgb(203,201,226)} -.Purples .q2-5{fill:rgb(158,154,200)} -.Purples .q3-5{fill:rgb(117,107,177)} -.Purples .q4-5{fill:rgb(84,39,143)} -.Purples .q0-6{fill:rgb(242,240,247)} -.Purples .q1-6{fill:rgb(218,218,235)} -.Purples .q2-6{fill:rgb(188,189,220)} -.Purples .q3-6{fill:rgb(158,154,200)} -.Purples .q4-6{fill:rgb(117,107,177)} -.Purples .q5-6{fill:rgb(84,39,143)} -.Purples .q0-7{fill:rgb(242,240,247)} -.Purples .q1-7{fill:rgb(218,218,235)} -.Purples .q2-7{fill:rgb(188,189,220)} -.Purples .q3-7{fill:rgb(158,154,200)} -.Purples .q4-7{fill:rgb(128,125,186)} -.Purples .q5-7{fill:rgb(106,81,163)} -.Purples .q6-7{fill:rgb(74,20,134)} -.Purples .q0-8{fill:rgb(252,251,253)} -.Purples .q1-8{fill:rgb(239,237,245)} -.Purples .q2-8{fill:rgb(218,218,235)} -.Purples .q3-8{fill:rgb(188,189,220)} -.Purples .q4-8{fill:rgb(158,154,200)} -.Purples .q5-8{fill:rgb(128,125,186)} -.Purples .q6-8{fill:rgb(106,81,163)} -.Purples .q7-8{fill:rgb(74,20,134)} -.Purples .q0-9{fill:rgb(252,251,253)} -.Purples .q1-9{fill:rgb(239,237,245)} -.Purples .q2-9{fill:rgb(218,218,235)} -.Purples .q3-9{fill:rgb(188,189,220)} -.Purples .q4-9{fill:rgb(158,154,200)} -.Purples .q5-9{fill:rgb(128,125,186)} -.Purples .q6-9{fill:rgb(106,81,163)} -.Purples .q7-9{fill:rgb(84,39,143)} -.Purples .q8-9{fill:rgb(63,0,125)} -.Blues .q0-3{fill:rgb(222,235,247)} -.Blues .q1-3{fill:rgb(158,202,225)} -.Blues .q2-3{fill:rgb(49,130,189)} -.Blues .q0-4{fill:rgb(239,243,255)} -.Blues .q1-4{fill:rgb(189,215,231)} -.Blues .q2-4{fill:rgb(107,174,214)} -.Blues .q3-4{fill:rgb(33,113,181)} -.Blues .q0-5{fill:rgb(239,243,255)} -.Blues .q1-5{fill:rgb(189,215,231)} -.Blues .q2-5{fill:rgb(107,174,214)} -.Blues .q3-5{fill:rgb(49,130,189)} -.Blues .q4-5{fill:rgb(8,81,156)} -.Blues .q0-6{fill:rgb(239,243,255)} -.Blues .q1-6{fill:rgb(198,219,239)} -.Blues .q2-6{fill:rgb(158,202,225)} -.Blues .q3-6{fill:rgb(107,174,214)} -.Blues .q4-6{fill:rgb(49,130,189)} -.Blues .q5-6{fill:rgb(8,81,156)} -.Blues .q0-7{fill:rgb(239,243,255)} -.Blues .q1-7{fill:rgb(198,219,239)} -.Blues .q2-7{fill:rgb(158,202,225)} -.Blues .q3-7{fill:rgb(107,174,214)} -.Blues .q4-7{fill:rgb(66,146,198)} -.Blues .q5-7{fill:rgb(33,113,181)} -.Blues .q6-7{fill:rgb(8,69,148)} -.Blues .q0-8{fill:rgb(247,251,255)} -.Blues .q1-8{fill:rgb(222,235,247)} -.Blues .q2-8{fill:rgb(198,219,239)} -.Blues .q3-8{fill:rgb(158,202,225)} -.Blues .q4-8{fill:rgb(107,174,214)} -.Blues .q5-8{fill:rgb(66,146,198)} -.Blues .q6-8{fill:rgb(33,113,181)} -.Blues .q7-8{fill:rgb(8,69,148)} -.Blues .q0-9{fill:rgb(247,251,255)} -.Blues .q1-9{fill:rgb(222,235,247)} -.Blues .q2-9{fill:rgb(198,219,239)} -.Blues .q3-9{fill:rgb(158,202,225)} -.Blues .q4-9{fill:rgb(107,174,214)} -.Blues .q5-9{fill:rgb(66,146,198)} -.Blues .q6-9{fill:rgb(33,113,181)} -.Blues .q7-9{fill:rgb(8,81,156)} -.Blues .q8-9{fill:rgb(8,48,107)} -.Greens .q0-3{fill:rgb(229,245,224)} -.Greens .q1-3{fill:rgb(161,217,155)} -.Greens .q2-3{fill:rgb(49,163,84)} -.Greens .q0-4{fill:rgb(237,248,233)} -.Greens .q1-4{fill:rgb(186,228,179)} -.Greens .q2-4{fill:rgb(116,196,118)} -.Greens .q3-4{fill:rgb(35,139,69)} -.Greens .q0-5{fill:rgb(237,248,233)} -.Greens .q1-5{fill:rgb(186,228,179)} -.Greens .q2-5{fill:rgb(116,196,118)} -.Greens .q3-5{fill:rgb(49,163,84)} -.Greens .q4-5{fill:rgb(0,109,44)} -.Greens .q0-6{fill:rgb(237,248,233)} -.Greens .q1-6{fill:rgb(199,233,192)} -.Greens .q2-6{fill:rgb(161,217,155)} -.Greens .q3-6{fill:rgb(116,196,118)} -.Greens .q4-6{fill:rgb(49,163,84)} -.Greens .q5-6{fill:rgb(0,109,44)} -.Greens .q0-7{fill:rgb(237,248,233)} -.Greens .q1-7{fill:rgb(199,233,192)} -.Greens .q2-7{fill:rgb(161,217,155)} -.Greens .q3-7{fill:rgb(116,196,118)} -.Greens .q4-7{fill:rgb(65,171,93)} -.Greens .q5-7{fill:rgb(35,139,69)} -.Greens .q6-7{fill:rgb(0,90,50)} -.Greens .q0-8{fill:rgb(247,252,245)} -.Greens .q1-8{fill:rgb(229,245,224)} -.Greens .q2-8{fill:rgb(199,233,192)} -.Greens .q3-8{fill:rgb(161,217,155)} -.Greens .q4-8{fill:rgb(116,196,118)} -.Greens .q5-8{fill:rgb(65,171,93)} -.Greens .q6-8{fill:rgb(35,139,69)} -.Greens .q7-8{fill:rgb(0,90,50)} -.Greens .q0-9{fill:rgb(247,252,245)} -.Greens .q1-9{fill:rgb(229,245,224)} -.Greens .q2-9{fill:rgb(199,233,192)} -.Greens .q3-9{fill:rgb(161,217,155)} -.Greens .q4-9{fill:rgb(116,196,118)} -.Greens .q5-9{fill:rgb(65,171,93)} -.Greens .q6-9{fill:rgb(35,139,69)} -.Greens .q7-9{fill:rgb(0,109,44)} -.Greens .q8-9{fill:rgb(0,68,27)} -.Oranges .q0-3{fill:rgb(254,230,206)} -.Oranges .q1-3{fill:rgb(253,174,107)} -.Oranges .q2-3{fill:rgb(230,85,13)} -.Oranges .q0-4{fill:rgb(254,237,222)} -.Oranges .q1-4{fill:rgb(253,190,133)} -.Oranges .q2-4{fill:rgb(253,141,60)} -.Oranges .q3-4{fill:rgb(217,71,1)} -.Oranges .q0-5{fill:rgb(254,237,222)} -.Oranges .q1-5{fill:rgb(253,190,133)} -.Oranges .q2-5{fill:rgb(253,141,60)} -.Oranges .q3-5{fill:rgb(230,85,13)} -.Oranges .q4-5{fill:rgb(166,54,3)} -.Oranges .q0-6{fill:rgb(254,237,222)} -.Oranges .q1-6{fill:rgb(253,208,162)} -.Oranges .q2-6{fill:rgb(253,174,107)} -.Oranges .q3-6{fill:rgb(253,141,60)} -.Oranges .q4-6{fill:rgb(230,85,13)} -.Oranges .q5-6{fill:rgb(166,54,3)} -.Oranges .q0-7{fill:rgb(254,237,222)} -.Oranges .q1-7{fill:rgb(253,208,162)} -.Oranges .q2-7{fill:rgb(253,174,107)} -.Oranges .q3-7{fill:rgb(253,141,60)} -.Oranges .q4-7{fill:rgb(241,105,19)} -.Oranges .q5-7{fill:rgb(217,72,1)} -.Oranges .q6-7{fill:rgb(140,45,4)} -.Oranges .q0-8{fill:rgb(255,245,235)} -.Oranges .q1-8{fill:rgb(254,230,206)} -.Oranges .q2-8{fill:rgb(253,208,162)} -.Oranges .q3-8{fill:rgb(253,174,107)} -.Oranges .q4-8{fill:rgb(253,141,60)} -.Oranges .q5-8{fill:rgb(241,105,19)} -.Oranges .q6-8{fill:rgb(217,72,1)} -.Oranges .q7-8{fill:rgb(140,45,4)} -.Oranges .q0-9{fill:rgb(255,245,235)} -.Oranges .q1-9{fill:rgb(254,230,206)} -.Oranges .q2-9{fill:rgb(253,208,162)} -.Oranges .q3-9{fill:rgb(253,174,107)} -.Oranges .q4-9{fill:rgb(253,141,60)} -.Oranges .q5-9{fill:rgb(241,105,19)} -.Oranges .q6-9{fill:rgb(217,72,1)} -.Oranges .q7-9{fill:rgb(166,54,3)} -.Oranges .q8-9{fill:rgb(127,39,4)} -.Reds .q0-3{fill:rgb(254,224,210)} -.Reds .q1-3{fill:rgb(252,146,114)} -.Reds .q2-3{fill:rgb(222,45,38)} -.Reds .q0-4{fill:rgb(254,229,217)} -.Reds .q1-4{fill:rgb(252,174,145)} -.Reds .q2-4{fill:rgb(251,106,74)} -.Reds .q3-4{fill:rgb(203,24,29)} -.Reds .q0-5{fill:rgb(254,229,217)} -.Reds .q1-5{fill:rgb(252,174,145)} -.Reds .q2-5{fill:rgb(251,106,74)} -.Reds .q3-5{fill:rgb(222,45,38)} -.Reds .q4-5{fill:rgb(165,15,21)} -.Reds .q0-6{fill:rgb(254,229,217)} -.Reds .q1-6{fill:rgb(252,187,161)} -.Reds .q2-6{fill:rgb(252,146,114)} -.Reds .q3-6{fill:rgb(251,106,74)} -.Reds .q4-6{fill:rgb(222,45,38)} -.Reds .q5-6{fill:rgb(165,15,21)} -.Reds .q0-7{fill:rgb(254,229,217)} -.Reds .q1-7{fill:rgb(252,187,161)} -.Reds .q2-7{fill:rgb(252,146,114)} -.Reds .q3-7{fill:rgb(251,106,74)} -.Reds .q4-7{fill:rgb(239,59,44)} -.Reds .q5-7{fill:rgb(203,24,29)} -.Reds .q6-7{fill:rgb(153,0,13)} -.Reds .q0-8{fill:rgb(255,245,240)} -.Reds .q1-8{fill:rgb(254,224,210)} -.Reds .q2-8{fill:rgb(252,187,161)} -.Reds .q3-8{fill:rgb(252,146,114)} -.Reds .q4-8{fill:rgb(251,106,74)} -.Reds .q5-8{fill:rgb(239,59,44)} -.Reds .q6-8{fill:rgb(203,24,29)} -.Reds .q7-8{fill:rgb(153,0,13)} -.Reds .q0-9{fill:rgb(255,245,240)} -.Reds .q1-9{fill:rgb(254,224,210)} -.Reds .q2-9{fill:rgb(252,187,161)} -.Reds .q3-9{fill:rgb(252,146,114)} -.Reds .q4-9{fill:rgb(251,106,74)} -.Reds .q5-9{fill:rgb(239,59,44)} -.Reds .q6-9{fill:rgb(203,24,29)} -.Reds .q7-9{fill:rgb(165,15,21)} -.Reds .q8-9{fill:rgb(103,0,13)} -.Greys .q0-3{fill:rgb(240,240,240)} -.Greys .q1-3{fill:rgb(189,189,189)} -.Greys .q2-3{fill:rgb(99,99,99)} -.Greys .q0-4{fill:rgb(247,247,247)} -.Greys .q1-4{fill:rgb(204,204,204)} -.Greys .q2-4{fill:rgb(150,150,150)} -.Greys .q3-4{fill:rgb(82,82,82)} -.Greys .q0-5{fill:rgb(247,247,247)} -.Greys .q1-5{fill:rgb(204,204,204)} -.Greys .q2-5{fill:rgb(150,150,150)} -.Greys .q3-5{fill:rgb(99,99,99)} -.Greys .q4-5{fill:rgb(37,37,37)} -.Greys .q0-6{fill:rgb(247,247,247)} -.Greys .q1-6{fill:rgb(217,217,217)} -.Greys .q2-6{fill:rgb(189,189,189)} -.Greys .q3-6{fill:rgb(150,150,150)} -.Greys .q4-6{fill:rgb(99,99,99)} -.Greys .q5-6{fill:rgb(37,37,37)} -.Greys .q0-7{fill:rgb(247,247,247)} -.Greys .q1-7{fill:rgb(217,217,217)} -.Greys .q2-7{fill:rgb(189,189,189)} -.Greys .q3-7{fill:rgb(150,150,150)} -.Greys .q4-7{fill:rgb(115,115,115)} -.Greys .q5-7{fill:rgb(82,82,82)} -.Greys .q6-7{fill:rgb(37,37,37)} -.Greys .q0-8{fill:rgb(255,255,255)} -.Greys .q1-8{fill:rgb(240,240,240)} -.Greys .q2-8{fill:rgb(217,217,217)} -.Greys .q3-8{fill:rgb(189,189,189)} -.Greys .q4-8{fill:rgb(150,150,150)} -.Greys .q5-8{fill:rgb(115,115,115)} -.Greys .q6-8{fill:rgb(82,82,82)} -.Greys .q7-8{fill:rgb(37,37,37)} -.Greys .q0-9{fill:rgb(255,255,255)} -.Greys .q1-9{fill:rgb(240,240,240)} -.Greys .q2-9{fill:rgb(217,217,217)} -.Greys .q3-9{fill:rgb(189,189,189)} -.Greys .q4-9{fill:rgb(150,150,150)} -.Greys .q5-9{fill:rgb(115,115,115)} -.Greys .q6-9{fill:rgb(82,82,82)} -.Greys .q7-9{fill:rgb(37,37,37)} -.Greys .q8-9{fill:rgb(0,0,0)} -.PuOr .q0-3{fill:rgb(241,163,64)} -.PuOr .q1-3{fill:rgb(247,247,247)} -.PuOr .q2-3{fill:rgb(153,142,195)} -.PuOr .q0-4{fill:rgb(230,97,1)} -.PuOr .q1-4{fill:rgb(253,184,99)} -.PuOr .q2-4{fill:rgb(178,171,210)} -.PuOr .q3-4{fill:rgb(94,60,153)} -.PuOr .q0-5{fill:rgb(230,97,1)} -.PuOr .q1-5{fill:rgb(253,184,99)} -.PuOr .q2-5{fill:rgb(247,247,247)} -.PuOr .q3-5{fill:rgb(178,171,210)} -.PuOr .q4-5{fill:rgb(94,60,153)} -.PuOr .q0-6{fill:rgb(179,88,6)} -.PuOr .q1-6{fill:rgb(241,163,64)} -.PuOr .q2-6{fill:rgb(254,224,182)} -.PuOr .q3-6{fill:rgb(216,218,235)} -.PuOr .q4-6{fill:rgb(153,142,195)} -.PuOr .q5-6{fill:rgb(84,39,136)} -.PuOr .q0-7{fill:rgb(179,88,6)} -.PuOr .q1-7{fill:rgb(241,163,64)} -.PuOr .q2-7{fill:rgb(254,224,182)} -.PuOr .q3-7{fill:rgb(247,247,247)} -.PuOr .q4-7{fill:rgb(216,218,235)} -.PuOr .q5-7{fill:rgb(153,142,195)} -.PuOr .q6-7{fill:rgb(84,39,136)} -.PuOr .q0-8{fill:rgb(179,88,6)} -.PuOr .q1-8{fill:rgb(224,130,20)} -.PuOr .q2-8{fill:rgb(253,184,99)} -.PuOr .q3-8{fill:rgb(254,224,182)} -.PuOr .q4-8{fill:rgb(216,218,235)} -.PuOr .q5-8{fill:rgb(178,171,210)} -.PuOr .q6-8{fill:rgb(128,115,172)} -.PuOr .q7-8{fill:rgb(84,39,136)} -.PuOr .q0-9{fill:rgb(179,88,6)} -.PuOr .q1-9{fill:rgb(224,130,20)} -.PuOr .q2-9{fill:rgb(253,184,99)} -.PuOr .q3-9{fill:rgb(254,224,182)} -.PuOr .q4-9{fill:rgb(247,247,247)} -.PuOr .q5-9{fill:rgb(216,218,235)} -.PuOr .q6-9{fill:rgb(178,171,210)} -.PuOr .q7-9{fill:rgb(128,115,172)} -.PuOr .q8-9{fill:rgb(84,39,136)} -.PuOr .q0-10{fill:rgb(127,59,8)} -.PuOr .q1-10{fill:rgb(179,88,6)} -.PuOr .q2-10{fill:rgb(224,130,20)} -.PuOr .q3-10{fill:rgb(253,184,99)} -.PuOr .q4-10{fill:rgb(254,224,182)} -.PuOr .q5-10{fill:rgb(216,218,235)} -.PuOr .q6-10{fill:rgb(178,171,210)} -.PuOr .q7-10{fill:rgb(128,115,172)} -.PuOr .q8-10{fill:rgb(84,39,136)} -.PuOr .q9-10{fill:rgb(45,0,75)} -.PuOr .q0-11{fill:rgb(127,59,8)} -.PuOr .q1-11{fill:rgb(179,88,6)} -.PuOr .q2-11{fill:rgb(224,130,20)} -.PuOr .q3-11{fill:rgb(253,184,99)} -.PuOr .q4-11{fill:rgb(254,224,182)} -.PuOr .q5-11{fill:rgb(247,247,247)} -.PuOr .q6-11{fill:rgb(216,218,235)} -.PuOr .q7-11{fill:rgb(178,171,210)} -.PuOr .q8-11{fill:rgb(128,115,172)} -.PuOr .q9-11{fill:rgb(84,39,136)} -.PuOr .q10-11{fill:rgb(45,0,75)} -.BrBG .q0-3{fill:rgb(216,179,101)} -.BrBG .q1-3{fill:rgb(245,245,245)} -.BrBG .q2-3{fill:rgb(90,180,172)} -.BrBG .q0-4{fill:rgb(166,97,26)} -.BrBG .q1-4{fill:rgb(223,194,125)} -.BrBG .q2-4{fill:rgb(128,205,193)} -.BrBG .q3-4{fill:rgb(1,133,113)} -.BrBG .q0-5{fill:rgb(166,97,26)} -.BrBG .q1-5{fill:rgb(223,194,125)} -.BrBG .q2-5{fill:rgb(245,245,245)} -.BrBG .q3-5{fill:rgb(128,205,193)} -.BrBG .q4-5{fill:rgb(1,133,113)} -.BrBG .q0-6{fill:rgb(140,81,10)} -.BrBG .q1-6{fill:rgb(216,179,101)} -.BrBG .q2-6{fill:rgb(246,232,195)} -.BrBG .q3-6{fill:rgb(199,234,229)} -.BrBG .q4-6{fill:rgb(90,180,172)} -.BrBG .q5-6{fill:rgb(1,102,94)} -.BrBG .q0-7{fill:rgb(140,81,10)} -.BrBG .q1-7{fill:rgb(216,179,101)} -.BrBG .q2-7{fill:rgb(246,232,195)} -.BrBG .q3-7{fill:rgb(245,245,245)} -.BrBG .q4-7{fill:rgb(199,234,229)} -.BrBG .q5-7{fill:rgb(90,180,172)} -.BrBG .q6-7{fill:rgb(1,102,94)} -.BrBG .q0-8{fill:rgb(140,81,10)} -.BrBG .q1-8{fill:rgb(191,129,45)} -.BrBG .q2-8{fill:rgb(223,194,125)} -.BrBG .q3-8{fill:rgb(246,232,195)} -.BrBG .q4-8{fill:rgb(199,234,229)} -.BrBG .q5-8{fill:rgb(128,205,193)} -.BrBG .q6-8{fill:rgb(53,151,143)} -.BrBG .q7-8{fill:rgb(1,102,94)} -.BrBG .q0-9{fill:rgb(140,81,10)} -.BrBG .q1-9{fill:rgb(191,129,45)} -.BrBG .q2-9{fill:rgb(223,194,125)} -.BrBG .q3-9{fill:rgb(246,232,195)} -.BrBG .q4-9{fill:rgb(245,245,245)} -.BrBG .q5-9{fill:rgb(199,234,229)} -.BrBG .q6-9{fill:rgb(128,205,193)} -.BrBG .q7-9{fill:rgb(53,151,143)} -.BrBG .q8-9{fill:rgb(1,102,94)} -.BrBG .q0-10{fill:rgb(84,48,5)} -.BrBG .q1-10{fill:rgb(140,81,10)} -.BrBG .q2-10{fill:rgb(191,129,45)} -.BrBG .q3-10{fill:rgb(223,194,125)} -.BrBG .q4-10{fill:rgb(246,232,195)} -.BrBG .q5-10{fill:rgb(199,234,229)} -.BrBG .q6-10{fill:rgb(128,205,193)} -.BrBG .q7-10{fill:rgb(53,151,143)} -.BrBG .q8-10{fill:rgb(1,102,94)} -.BrBG .q9-10{fill:rgb(0,60,48)} -.BrBG .q0-11{fill:rgb(84,48,5)} -.BrBG .q1-11{fill:rgb(140,81,10)} -.BrBG .q2-11{fill:rgb(191,129,45)} -.BrBG .q3-11{fill:rgb(223,194,125)} -.BrBG .q4-11{fill:rgb(246,232,195)} -.BrBG .q5-11{fill:rgb(245,245,245)} -.BrBG .q6-11{fill:rgb(199,234,229)} -.BrBG .q7-11{fill:rgb(128,205,193)} -.BrBG .q8-11{fill:rgb(53,151,143)} -.BrBG .q9-11{fill:rgb(1,102,94)} -.BrBG .q10-11{fill:rgb(0,60,48)} -.PRGn .q0-3{fill:rgb(175,141,195)} -.PRGn .q1-3{fill:rgb(247,247,247)} -.PRGn .q2-3{fill:rgb(127,191,123)} -.PRGn .q0-4{fill:rgb(123,50,148)} -.PRGn .q1-4{fill:rgb(194,165,207)} -.PRGn .q2-4{fill:rgb(166,219,160)} -.PRGn .q3-4{fill:rgb(0,136,55)} -.PRGn .q0-5{fill:rgb(123,50,148)} -.PRGn .q1-5{fill:rgb(194,165,207)} -.PRGn .q2-5{fill:rgb(247,247,247)} -.PRGn .q3-5{fill:rgb(166,219,160)} -.PRGn .q4-5{fill:rgb(0,136,55)} -.PRGn .q0-6{fill:rgb(118,42,131)} -.PRGn .q1-6{fill:rgb(175,141,195)} -.PRGn .q2-6{fill:rgb(231,212,232)} -.PRGn .q3-6{fill:rgb(217,240,211)} -.PRGn .q4-6{fill:rgb(127,191,123)} -.PRGn .q5-6{fill:rgb(27,120,55)} -.PRGn .q0-7{fill:rgb(118,42,131)} -.PRGn .q1-7{fill:rgb(175,141,195)} -.PRGn .q2-7{fill:rgb(231,212,232)} -.PRGn .q3-7{fill:rgb(247,247,247)} -.PRGn .q4-7{fill:rgb(217,240,211)} -.PRGn .q5-7{fill:rgb(127,191,123)} -.PRGn .q6-7{fill:rgb(27,120,55)} -.PRGn .q0-8{fill:rgb(118,42,131)} -.PRGn .q1-8{fill:rgb(153,112,171)} -.PRGn .q2-8{fill:rgb(194,165,207)} -.PRGn .q3-8{fill:rgb(231,212,232)} -.PRGn .q4-8{fill:rgb(217,240,211)} -.PRGn .q5-8{fill:rgb(166,219,160)} -.PRGn .q6-8{fill:rgb(90,174,97)} -.PRGn .q7-8{fill:rgb(27,120,55)} -.PRGn .q0-9{fill:rgb(118,42,131)} -.PRGn .q1-9{fill:rgb(153,112,171)} -.PRGn .q2-9{fill:rgb(194,165,207)} -.PRGn .q3-9{fill:rgb(231,212,232)} -.PRGn .q4-9{fill:rgb(247,247,247)} -.PRGn .q5-9{fill:rgb(217,240,211)} -.PRGn .q6-9{fill:rgb(166,219,160)} -.PRGn .q7-9{fill:rgb(90,174,97)} -.PRGn .q8-9{fill:rgb(27,120,55)} -.PRGn .q0-10{fill:rgb(64,0,75)} -.PRGn .q1-10{fill:rgb(118,42,131)} -.PRGn .q2-10{fill:rgb(153,112,171)} -.PRGn .q3-10{fill:rgb(194,165,207)} -.PRGn .q4-10{fill:rgb(231,212,232)} -.PRGn .q5-10{fill:rgb(217,240,211)} -.PRGn .q6-10{fill:rgb(166,219,160)} -.PRGn .q7-10{fill:rgb(90,174,97)} -.PRGn .q8-10{fill:rgb(27,120,55)} -.PRGn .q9-10{fill:rgb(0,68,27)} -.PRGn .q0-11{fill:rgb(64,0,75)} -.PRGn .q1-11{fill:rgb(118,42,131)} -.PRGn .q2-11{fill:rgb(153,112,171)} -.PRGn .q3-11{fill:rgb(194,165,207)} -.PRGn .q4-11{fill:rgb(231,212,232)} -.PRGn .q5-11{fill:rgb(247,247,247)} -.PRGn .q6-11{fill:rgb(217,240,211)} -.PRGn .q7-11{fill:rgb(166,219,160)} -.PRGn .q8-11{fill:rgb(90,174,97)} -.PRGn .q9-11{fill:rgb(27,120,55)} -.PRGn .q10-11{fill:rgb(0,68,27)} -.PiYG .q0-3{fill:rgb(233,163,201)} -.PiYG .q1-3{fill:rgb(247,247,247)} -.PiYG .q2-3{fill:rgb(161,215,106)} -.PiYG .q0-4{fill:rgb(208,28,139)} -.PiYG .q1-4{fill:rgb(241,182,218)} -.PiYG .q2-4{fill:rgb(184,225,134)} -.PiYG .q3-4{fill:rgb(77,172,38)} -.PiYG .q0-5{fill:rgb(208,28,139)} -.PiYG .q1-5{fill:rgb(241,182,218)} -.PiYG .q2-5{fill:rgb(247,247,247)} -.PiYG .q3-5{fill:rgb(184,225,134)} -.PiYG .q4-5{fill:rgb(77,172,38)} -.PiYG .q0-6{fill:rgb(197,27,125)} -.PiYG .q1-6{fill:rgb(233,163,201)} -.PiYG .q2-6{fill:rgb(253,224,239)} -.PiYG .q3-6{fill:rgb(230,245,208)} -.PiYG .q4-6{fill:rgb(161,215,106)} -.PiYG .q5-6{fill:rgb(77,146,33)} -.PiYG .q0-7{fill:rgb(197,27,125)} -.PiYG .q1-7{fill:rgb(233,163,201)} -.PiYG .q2-7{fill:rgb(253,224,239)} -.PiYG .q3-7{fill:rgb(247,247,247)} -.PiYG .q4-7{fill:rgb(230,245,208)} -.PiYG .q5-7{fill:rgb(161,215,106)} -.PiYG .q6-7{fill:rgb(77,146,33)} -.PiYG .q0-8{fill:rgb(197,27,125)} -.PiYG .q1-8{fill:rgb(222,119,174)} -.PiYG .q2-8{fill:rgb(241,182,218)} -.PiYG .q3-8{fill:rgb(253,224,239)} -.PiYG .q4-8{fill:rgb(230,245,208)} -.PiYG .q5-8{fill:rgb(184,225,134)} -.PiYG .q6-8{fill:rgb(127,188,65)} -.PiYG .q7-8{fill:rgb(77,146,33)} -.PiYG .q0-9{fill:rgb(197,27,125)} -.PiYG .q1-9{fill:rgb(222,119,174)} -.PiYG .q2-9{fill:rgb(241,182,218)} -.PiYG .q3-9{fill:rgb(253,224,239)} -.PiYG .q4-9{fill:rgb(247,247,247)} -.PiYG .q5-9{fill:rgb(230,245,208)} -.PiYG .q6-9{fill:rgb(184,225,134)} -.PiYG .q7-9{fill:rgb(127,188,65)} -.PiYG .q8-9{fill:rgb(77,146,33)} -.PiYG .q0-10{fill:rgb(142,1,82)} -.PiYG .q1-10{fill:rgb(197,27,125)} -.PiYG .q2-10{fill:rgb(222,119,174)} -.PiYG .q3-10{fill:rgb(241,182,218)} -.PiYG .q4-10{fill:rgb(253,224,239)} -.PiYG .q5-10{fill:rgb(230,245,208)} -.PiYG .q6-10{fill:rgb(184,225,134)} -.PiYG .q7-10{fill:rgb(127,188,65)} -.PiYG .q8-10{fill:rgb(77,146,33)} -.PiYG .q9-10{fill:rgb(39,100,25)} -.PiYG .q0-11{fill:rgb(142,1,82)} -.PiYG .q1-11{fill:rgb(197,27,125)} -.PiYG .q2-11{fill:rgb(222,119,174)} -.PiYG .q3-11{fill:rgb(241,182,218)} -.PiYG .q4-11{fill:rgb(253,224,239)} -.PiYG .q5-11{fill:rgb(247,247,247)} -.PiYG .q6-11{fill:rgb(230,245,208)} -.PiYG .q7-11{fill:rgb(184,225,134)} -.PiYG .q8-11{fill:rgb(127,188,65)} -.PiYG .q9-11{fill:rgb(77,146,33)} -.PiYG .q10-11{fill:rgb(39,100,25)} -.RdBu .q0-3{fill:rgb(239,138,98)} -.RdBu .q1-3{fill:rgb(247,247,247)} -.RdBu .q2-3{fill:rgb(103,169,207)} -.RdBu .q0-4{fill:rgb(202,0,32)} -.RdBu .q1-4{fill:rgb(244,165,130)} -.RdBu .q2-4{fill:rgb(146,197,222)} -.RdBu .q3-4{fill:rgb(5,113,176)} -.RdBu .q0-5{fill:rgb(202,0,32)} -.RdBu .q1-5{fill:rgb(244,165,130)} -.RdBu .q2-5{fill:rgb(247,247,247)} -.RdBu .q3-5{fill:rgb(146,197,222)} -.RdBu .q4-5{fill:rgb(5,113,176)} -.RdBu .q0-6{fill:rgb(178,24,43)} -.RdBu .q1-6{fill:rgb(239,138,98)} -.RdBu .q2-6{fill:rgb(253,219,199)} -.RdBu .q3-6{fill:rgb(209,229,240)} -.RdBu .q4-6{fill:rgb(103,169,207)} -.RdBu .q5-6{fill:rgb(33,102,172)} -.RdBu .q0-7{fill:rgb(178,24,43)} -.RdBu .q1-7{fill:rgb(239,138,98)} -.RdBu .q2-7{fill:rgb(253,219,199)} -.RdBu .q3-7{fill:rgb(247,247,247)} -.RdBu .q4-7{fill:rgb(209,229,240)} -.RdBu .q5-7{fill:rgb(103,169,207)} -.RdBu .q6-7{fill:rgb(33,102,172)} -.RdBu .q0-8{fill:rgb(178,24,43)} -.RdBu .q1-8{fill:rgb(214,96,77)} -.RdBu .q2-8{fill:rgb(244,165,130)} -.RdBu .q3-8{fill:rgb(253,219,199)} -.RdBu .q4-8{fill:rgb(209,229,240)} -.RdBu .q5-8{fill:rgb(146,197,222)} -.RdBu .q6-8{fill:rgb(67,147,195)} -.RdBu .q7-8{fill:rgb(33,102,172)} -.RdBu .q0-9{fill:rgb(178,24,43)} -.RdBu .q1-9{fill:rgb(214,96,77)} -.RdBu .q2-9{fill:rgb(244,165,130)} -.RdBu .q3-9{fill:rgb(253,219,199)} -.RdBu .q4-9{fill:rgb(247,247,247)} -.RdBu .q5-9{fill:rgb(209,229,240)} -.RdBu .q6-9{fill:rgb(146,197,222)} -.RdBu .q7-9{fill:rgb(67,147,195)} -.RdBu .q8-9{fill:rgb(33,102,172)} -.RdBu .q0-10{fill:rgb(103,0,31)} -.RdBu .q1-10{fill:rgb(178,24,43)} -.RdBu .q2-10{fill:rgb(214,96,77)} -.RdBu .q3-10{fill:rgb(244,165,130)} -.RdBu .q4-10{fill:rgb(253,219,199)} -.RdBu .q5-10{fill:rgb(209,229,240)} -.RdBu .q6-10{fill:rgb(146,197,222)} -.RdBu .q7-10{fill:rgb(67,147,195)} -.RdBu .q8-10{fill:rgb(33,102,172)} -.RdBu .q9-10{fill:rgb(5,48,97)} -.RdBu .q0-11{fill:rgb(103,0,31)} -.RdBu .q1-11{fill:rgb(178,24,43)} -.RdBu .q2-11{fill:rgb(214,96,77)} -.RdBu .q3-11{fill:rgb(244,165,130)} -.RdBu .q4-11{fill:rgb(253,219,199)} -.RdBu .q5-11{fill:rgb(247,247,247)} -.RdBu .q6-11{fill:rgb(209,229,240)} -.RdBu .q7-11{fill:rgb(146,197,222)} -.RdBu .q8-11{fill:rgb(67,147,195)} -.RdBu .q9-11{fill:rgb(33,102,172)} -.RdBu .q10-11{fill:rgb(5,48,97)} -.RdGy .q0-3{fill:rgb(239,138,98)} -.RdGy .q1-3{fill:rgb(255,255,255)} -.RdGy .q2-3{fill:rgb(153,153,153)} -.RdGy .q0-4{fill:rgb(202,0,32)} -.RdGy .q1-4{fill:rgb(244,165,130)} -.RdGy .q2-4{fill:rgb(186,186,186)} -.RdGy .q3-4{fill:rgb(64,64,64)} -.RdGy .q0-5{fill:rgb(202,0,32)} -.RdGy .q1-5{fill:rgb(244,165,130)} -.RdGy .q2-5{fill:rgb(255,255,255)} -.RdGy .q3-5{fill:rgb(186,186,186)} -.RdGy .q4-5{fill:rgb(64,64,64)} -.RdGy .q0-6{fill:rgb(178,24,43)} -.RdGy .q1-6{fill:rgb(239,138,98)} -.RdGy .q2-6{fill:rgb(253,219,199)} -.RdGy .q3-6{fill:rgb(224,224,224)} -.RdGy .q4-6{fill:rgb(153,153,153)} -.RdGy .q5-6{fill:rgb(77,77,77)} -.RdGy .q0-7{fill:rgb(178,24,43)} -.RdGy .q1-7{fill:rgb(239,138,98)} -.RdGy .q2-7{fill:rgb(253,219,199)} -.RdGy .q3-7{fill:rgb(255,255,255)} -.RdGy .q4-7{fill:rgb(224,224,224)} -.RdGy .q5-7{fill:rgb(153,153,153)} -.RdGy .q6-7{fill:rgb(77,77,77)} -.RdGy .q0-8{fill:rgb(178,24,43)} -.RdGy .q1-8{fill:rgb(214,96,77)} -.RdGy .q2-8{fill:rgb(244,165,130)} -.RdGy .q3-8{fill:rgb(253,219,199)} -.RdGy .q4-8{fill:rgb(224,224,224)} -.RdGy .q5-8{fill:rgb(186,186,186)} -.RdGy .q6-8{fill:rgb(135,135,135)} -.RdGy .q7-8{fill:rgb(77,77,77)} -.RdGy .q0-9{fill:rgb(178,24,43)} -.RdGy .q1-9{fill:rgb(214,96,77)} -.RdGy .q2-9{fill:rgb(244,165,130)} -.RdGy .q3-9{fill:rgb(253,219,199)} -.RdGy .q4-9{fill:rgb(255,255,255)} -.RdGy .q5-9{fill:rgb(224,224,224)} -.RdGy .q6-9{fill:rgb(186,186,186)} -.RdGy .q7-9{fill:rgb(135,135,135)} -.RdGy .q8-9{fill:rgb(77,77,77)} -.RdGy .q0-10{fill:rgb(103,0,31)} -.RdGy .q1-10{fill:rgb(178,24,43)} -.RdGy .q2-10{fill:rgb(214,96,77)} -.RdGy .q3-10{fill:rgb(244,165,130)} -.RdGy .q4-10{fill:rgb(253,219,199)} -.RdGy .q5-10{fill:rgb(224,224,224)} -.RdGy .q6-10{fill:rgb(186,186,186)} -.RdGy .q7-10{fill:rgb(135,135,135)} -.RdGy .q8-10{fill:rgb(77,77,77)} -.RdGy .q9-10{fill:rgb(26,26,26)} -.RdGy .q0-11{fill:rgb(103,0,31)} -.RdGy .q1-11{fill:rgb(178,24,43)} -.RdGy .q2-11{fill:rgb(214,96,77)} -.RdGy .q3-11{fill:rgb(244,165,130)} -.RdGy .q4-11{fill:rgb(253,219,199)} -.RdGy .q5-11{fill:rgb(255,255,255)} -.RdGy .q6-11{fill:rgb(224,224,224)} -.RdGy .q7-11{fill:rgb(186,186,186)} -.RdGy .q8-11{fill:rgb(135,135,135)} -.RdGy .q9-11{fill:rgb(77,77,77)} -.RdGy .q10-11{fill:rgb(26,26,26)} -.RdYlBu .q0-3{fill:rgb(252,141,89)} -.RdYlBu .q1-3{fill:rgb(255,255,191)} -.RdYlBu .q2-3{fill:rgb(145,191,219)} -.RdYlBu .q0-4{fill:rgb(215,25,28)} -.RdYlBu .q1-4{fill:rgb(253,174,97)} -.RdYlBu .q2-4{fill:rgb(171,217,233)} -.RdYlBu .q3-4{fill:rgb(44,123,182)} -.RdYlBu .q0-5{fill:rgb(215,25,28)} -.RdYlBu .q1-5{fill:rgb(253,174,97)} -.RdYlBu .q2-5{fill:rgb(255,255,191)} -.RdYlBu .q3-5{fill:rgb(171,217,233)} -.RdYlBu .q4-5{fill:rgb(44,123,182)} -.RdYlBu .q0-6{fill:rgb(215,48,39)} -.RdYlBu .q1-6{fill:rgb(252,141,89)} -.RdYlBu .q2-6{fill:rgb(254,224,144)} -.RdYlBu .q3-6{fill:rgb(224,243,248)} -.RdYlBu .q4-6{fill:rgb(145,191,219)} -.RdYlBu .q5-6{fill:rgb(69,117,180)} -.RdYlBu .q0-7{fill:rgb(215,48,39)} -.RdYlBu .q1-7{fill:rgb(252,141,89)} -.RdYlBu .q2-7{fill:rgb(254,224,144)} -.RdYlBu .q3-7{fill:rgb(255,255,191)} -.RdYlBu .q4-7{fill:rgb(224,243,248)} -.RdYlBu .q5-7{fill:rgb(145,191,219)} -.RdYlBu .q6-7{fill:rgb(69,117,180)} -.RdYlBu .q0-8{fill:rgb(215,48,39)} -.RdYlBu .q1-8{fill:rgb(244,109,67)} -.RdYlBu .q2-8{fill:rgb(253,174,97)} -.RdYlBu .q3-8{fill:rgb(254,224,144)} -.RdYlBu .q4-8{fill:rgb(224,243,248)} -.RdYlBu .q5-8{fill:rgb(171,217,233)} -.RdYlBu .q6-8{fill:rgb(116,173,209)} -.RdYlBu .q7-8{fill:rgb(69,117,180)} -.RdYlBu .q0-9{fill:rgb(215,48,39)} -.RdYlBu .q1-9{fill:rgb(244,109,67)} -.RdYlBu .q2-9{fill:rgb(253,174,97)} -.RdYlBu .q3-9{fill:rgb(254,224,144)} -.RdYlBu .q4-9{fill:rgb(255,255,191)} -.RdYlBu .q5-9{fill:rgb(224,243,248)} -.RdYlBu .q6-9{fill:rgb(171,217,233)} -.RdYlBu .q7-9{fill:rgb(116,173,209)} -.RdYlBu .q8-9{fill:rgb(69,117,180)} -.RdYlBu .q0-10{fill:rgb(165,0,38)} -.RdYlBu .q1-10{fill:rgb(215,48,39)} -.RdYlBu .q2-10{fill:rgb(244,109,67)} -.RdYlBu .q3-10{fill:rgb(253,174,97)} -.RdYlBu .q4-10{fill:rgb(254,224,144)} -.RdYlBu .q5-10{fill:rgb(224,243,248)} -.RdYlBu .q6-10{fill:rgb(171,217,233)} -.RdYlBu .q7-10{fill:rgb(116,173,209)} -.RdYlBu .q8-10{fill:rgb(69,117,180)} -.RdYlBu .q9-10{fill:rgb(49,54,149)} -.RdYlBu .q0-11{fill:rgb(165,0,38)} -.RdYlBu .q1-11{fill:rgb(215,48,39)} -.RdYlBu .q2-11{fill:rgb(244,109,67)} -.RdYlBu .q3-11{fill:rgb(253,174,97)} -.RdYlBu .q4-11{fill:rgb(254,224,144)} -.RdYlBu .q5-11{fill:rgb(255,255,191)} -.RdYlBu .q6-11{fill:rgb(224,243,248)} -.RdYlBu .q7-11{fill:rgb(171,217,233)} -.RdYlBu .q8-11{fill:rgb(116,173,209)} -.RdYlBu .q9-11{fill:rgb(69,117,180)} -.RdYlBu .q10-11{fill:rgb(49,54,149)} -.Spectral .q0-3{fill:rgb(252,141,89)} -.Spectral .q1-3{fill:rgb(255,255,191)} -.Spectral .q2-3{fill:rgb(153,213,148)} -.Spectral .q0-4{fill:rgb(215,25,28)} -.Spectral .q1-4{fill:rgb(253,174,97)} -.Spectral .q2-4{fill:rgb(171,221,164)} -.Spectral .q3-4{fill:rgb(43,131,186)} -.Spectral .q0-5{fill:rgb(215,25,28)} -.Spectral .q1-5{fill:rgb(253,174,97)} -.Spectral .q2-5{fill:rgb(255,255,191)} -.Spectral .q3-5{fill:rgb(171,221,164)} -.Spectral .q4-5{fill:rgb(43,131,186)} -.Spectral .q0-6{fill:rgb(213,62,79)} -.Spectral .q1-6{fill:rgb(252,141,89)} -.Spectral .q2-6{fill:rgb(254,224,139)} -.Spectral .q3-6{fill:rgb(230,245,152)} -.Spectral .q4-6{fill:rgb(153,213,148)} -.Spectral .q5-6{fill:rgb(50,136,189)} -.Spectral .q0-7{fill:rgb(213,62,79)} -.Spectral .q1-7{fill:rgb(252,141,89)} -.Spectral .q2-7{fill:rgb(254,224,139)} -.Spectral .q3-7{fill:rgb(255,255,191)} -.Spectral .q4-7{fill:rgb(230,245,152)} -.Spectral .q5-7{fill:rgb(153,213,148)} -.Spectral .q6-7{fill:rgb(50,136,189)} -.Spectral .q0-8{fill:rgb(213,62,79)} -.Spectral .q1-8{fill:rgb(244,109,67)} -.Spectral .q2-8{fill:rgb(253,174,97)} -.Spectral .q3-8{fill:rgb(254,224,139)} -.Spectral .q4-8{fill:rgb(230,245,152)} -.Spectral .q5-8{fill:rgb(171,221,164)} -.Spectral .q6-8{fill:rgb(102,194,165)} -.Spectral .q7-8{fill:rgb(50,136,189)} -.Spectral .q0-9{fill:rgb(213,62,79)} -.Spectral .q1-9{fill:rgb(244,109,67)} -.Spectral .q2-9{fill:rgb(253,174,97)} -.Spectral .q3-9{fill:rgb(254,224,139)} -.Spectral .q4-9{fill:rgb(255,255,191)} -.Spectral .q5-9{fill:rgb(230,245,152)} -.Spectral .q6-9{fill:rgb(171,221,164)} -.Spectral .q7-9{fill:rgb(102,194,165)} -.Spectral .q8-9{fill:rgb(50,136,189)} -.Spectral .q0-10{fill:rgb(158,1,66)} -.Spectral .q1-10{fill:rgb(213,62,79)} -.Spectral .q2-10{fill:rgb(244,109,67)} -.Spectral .q3-10{fill:rgb(253,174,97)} -.Spectral .q4-10{fill:rgb(254,224,139)} -.Spectral .q5-10{fill:rgb(230,245,152)} -.Spectral .q6-10{fill:rgb(171,221,164)} -.Spectral .q7-10{fill:rgb(102,194,165)} -.Spectral .q8-10{fill:rgb(50,136,189)} -.Spectral .q9-10{fill:rgb(94,79,162)} -.Spectral .q0-11{fill:rgb(158,1,66)} -.Spectral .q1-11{fill:rgb(213,62,79)} -.Spectral .q2-11{fill:rgb(244,109,67)} -.Spectral .q3-11{fill:rgb(253,174,97)} -.Spectral .q4-11{fill:rgb(254,224,139)} -.Spectral .q5-11{fill:rgb(255,255,191)} -.Spectral .q6-11{fill:rgb(230,245,152)} -.Spectral .q7-11{fill:rgb(171,221,164)} -.Spectral .q8-11{fill:rgb(102,194,165)} -.Spectral .q9-11{fill:rgb(50,136,189)} -.Spectral .q10-11{fill:rgb(94,79,162)} -.RdYlGn .q0-3{fill:rgb(252,141,89)} -.RdYlGn .q1-3{fill:rgb(255,255,191)} -.RdYlGn .q2-3{fill:rgb(145,207,96)} -.RdYlGn .q0-4{fill:rgb(215,25,28)} -.RdYlGn .q1-4{fill:rgb(253,174,97)} -.RdYlGn .q2-4{fill:rgb(166,217,106)} -.RdYlGn .q3-4{fill:rgb(26,150,65)} -.RdYlGn .q0-5{fill:rgb(215,25,28)} -.RdYlGn .q1-5{fill:rgb(253,174,97)} -.RdYlGn .q2-5{fill:rgb(255,255,191)} -.RdYlGn .q3-5{fill:rgb(166,217,106)} -.RdYlGn .q4-5{fill:rgb(26,150,65)} -.RdYlGn .q0-6{fill:rgb(215,48,39)} -.RdYlGn .q1-6{fill:rgb(252,141,89)} -.RdYlGn .q2-6{fill:rgb(254,224,139)} -.RdYlGn .q3-6{fill:rgb(217,239,139)} -.RdYlGn .q4-6{fill:rgb(145,207,96)} -.RdYlGn .q5-6{fill:rgb(26,152,80)} -.RdYlGn .q0-7{fill:rgb(215,48,39)} -.RdYlGn .q1-7{fill:rgb(252,141,89)} -.RdYlGn .q2-7{fill:rgb(254,224,139)} -.RdYlGn .q3-7{fill:rgb(255,255,191)} -.RdYlGn .q4-7{fill:rgb(217,239,139)} -.RdYlGn .q5-7{fill:rgb(145,207,96)} -.RdYlGn .q6-7{fill:rgb(26,152,80)} -.RdYlGn .q0-8{fill:rgb(215,48,39)} -.RdYlGn .q1-8{fill:rgb(244,109,67)} -.RdYlGn .q2-8{fill:rgb(253,174,97)} -.RdYlGn .q3-8{fill:rgb(254,224,139)} -.RdYlGn .q4-8{fill:rgb(217,239,139)} -.RdYlGn .q5-8{fill:rgb(166,217,106)} -.RdYlGn .q6-8{fill:rgb(102,189,99)} -.RdYlGn .q7-8{fill:rgb(26,152,80)} -.RdYlGn .q0-9{fill:rgb(215,48,39)} -.RdYlGn .q1-9{fill:rgb(244,109,67)} -.RdYlGn .q2-9{fill:rgb(253,174,97)} -.RdYlGn .q3-9{fill:rgb(254,224,139)} -.RdYlGn .q4-9{fill:rgb(255,255,191)} -.RdYlGn .q5-9{fill:rgb(217,239,139)} -.RdYlGn .q6-9{fill:rgb(166,217,106)} -.RdYlGn .q7-9{fill:rgb(102,189,99)} -.RdYlGn .q8-9{fill:rgb(26,152,80)} -.RdYlGn .q0-10{fill:rgb(165,0,38)} -.RdYlGn .q1-10{fill:rgb(215,48,39)} -.RdYlGn .q2-10{fill:rgb(244,109,67)} -.RdYlGn .q3-10{fill:rgb(253,174,97)} -.RdYlGn .q4-10{fill:rgb(254,224,139)} -.RdYlGn .q5-10{fill:rgb(217,239,139)} -.RdYlGn .q6-10{fill:rgb(166,217,106)} -.RdYlGn .q7-10{fill:rgb(102,189,99)} -.RdYlGn .q8-10{fill:rgb(26,152,80)} -.RdYlGn .q9-10{fill:rgb(0,104,55)} -.RdYlGn .q0-11{fill:rgb(165,0,38)} -.RdYlGn .q1-11{fill:rgb(215,48,39)} -.RdYlGn .q2-11{fill:rgb(244,109,67)} -.RdYlGn .q3-11{fill:rgb(253,174,97)} -.RdYlGn .q4-11{fill:rgb(254,224,139)} -.RdYlGn .q5-11{fill:rgb(255,255,191)} -.RdYlGn .q6-11{fill:rgb(217,239,139)} -.RdYlGn .q7-11{fill:rgb(166,217,106)} -.RdYlGn .q8-11{fill:rgb(102,189,99)} -.RdYlGn .q9-11{fill:rgb(26,152,80)} -.RdYlGn .q10-11{fill:rgb(0,104,55)} -.Accent .q0-3{fill:rgb(127,201,127)} -.Accent .q1-3{fill:rgb(190,174,212)} -.Accent .q2-3{fill:rgb(253,192,134)} -.Accent .q0-4{fill:rgb(127,201,127)} -.Accent .q1-4{fill:rgb(190,174,212)} -.Accent .q2-4{fill:rgb(253,192,134)} -.Accent .q3-4{fill:rgb(255,255,153)} -.Accent .q0-5{fill:rgb(127,201,127)} -.Accent .q1-5{fill:rgb(190,174,212)} -.Accent .q2-5{fill:rgb(253,192,134)} -.Accent .q3-5{fill:rgb(255,255,153)} -.Accent .q4-5{fill:rgb(56,108,176)} -.Accent .q0-6{fill:rgb(127,201,127)} -.Accent .q1-6{fill:rgb(190,174,212)} -.Accent .q2-6{fill:rgb(253,192,134)} -.Accent .q3-6{fill:rgb(255,255,153)} -.Accent .q4-6{fill:rgb(56,108,176)} -.Accent .q5-6{fill:rgb(240,2,127)} -.Accent .q0-7{fill:rgb(127,201,127)} -.Accent .q1-7{fill:rgb(190,174,212)} -.Accent .q2-7{fill:rgb(253,192,134)} -.Accent .q3-7{fill:rgb(255,255,153)} -.Accent .q4-7{fill:rgb(56,108,176)} -.Accent .q5-7{fill:rgb(240,2,127)} -.Accent .q6-7{fill:rgb(191,91,23)} -.Accent .q0-8{fill:rgb(127,201,127)} -.Accent .q1-8{fill:rgb(190,174,212)} -.Accent .q2-8{fill:rgb(253,192,134)} -.Accent .q3-8{fill:rgb(255,255,153)} -.Accent .q4-8{fill:rgb(56,108,176)} -.Accent .q5-8{fill:rgb(240,2,127)} -.Accent .q6-8{fill:rgb(191,91,23)} -.Accent .q7-8{fill:rgb(102,102,102)} -.Dark2 .q0-3{fill:rgb(27,158,119)} -.Dark2 .q1-3{fill:rgb(217,95,2)} -.Dark2 .q2-3{fill:rgb(117,112,179)} -.Dark2 .q0-4{fill:rgb(27,158,119)} -.Dark2 .q1-4{fill:rgb(217,95,2)} -.Dark2 .q2-4{fill:rgb(117,112,179)} -.Dark2 .q3-4{fill:rgb(231,41,138)} -.Dark2 .q0-5{fill:rgb(27,158,119)} -.Dark2 .q1-5{fill:rgb(217,95,2)} -.Dark2 .q2-5{fill:rgb(117,112,179)} -.Dark2 .q3-5{fill:rgb(231,41,138)} -.Dark2 .q4-5{fill:rgb(102,166,30)} -.Dark2 .q0-6{fill:rgb(27,158,119)} -.Dark2 .q1-6{fill:rgb(217,95,2)} -.Dark2 .q2-6{fill:rgb(117,112,179)} -.Dark2 .q3-6{fill:rgb(231,41,138)} -.Dark2 .q4-6{fill:rgb(102,166,30)} -.Dark2 .q5-6{fill:rgb(230,171,2)} -.Dark2 .q0-7{fill:rgb(27,158,119)} -.Dark2 .q1-7{fill:rgb(217,95,2)} -.Dark2 .q2-7{fill:rgb(117,112,179)} -.Dark2 .q3-7{fill:rgb(231,41,138)} -.Dark2 .q4-7{fill:rgb(102,166,30)} -.Dark2 .q5-7{fill:rgb(230,171,2)} -.Dark2 .q6-7{fill:rgb(166,118,29)} -.Dark2 .q0-8{fill:rgb(27,158,119)} -.Dark2 .q1-8{fill:rgb(217,95,2)} -.Dark2 .q2-8{fill:rgb(117,112,179)} -.Dark2 .q3-8{fill:rgb(231,41,138)} -.Dark2 .q4-8{fill:rgb(102,166,30)} -.Dark2 .q5-8{fill:rgb(230,171,2)} -.Dark2 .q6-8{fill:rgb(166,118,29)} -.Dark2 .q7-8{fill:rgb(102,102,102)} -.Paired .q0-3{fill:rgb(166,206,227)} -.Paired .q1-3{fill:rgb(31,120,180)} -.Paired .q2-3{fill:rgb(178,223,138)} -.Paired .q0-4{fill:rgb(166,206,227)} -.Paired .q1-4{fill:rgb(31,120,180)} -.Paired .q2-4{fill:rgb(178,223,138)} -.Paired .q3-4{fill:rgb(51,160,44)} -.Paired .q0-5{fill:rgb(166,206,227)} -.Paired .q1-5{fill:rgb(31,120,180)} -.Paired .q2-5{fill:rgb(178,223,138)} -.Paired .q3-5{fill:rgb(51,160,44)} -.Paired .q4-5{fill:rgb(251,154,153)} -.Paired .q0-6{fill:rgb(166,206,227)} -.Paired .q1-6{fill:rgb(31,120,180)} -.Paired .q2-6{fill:rgb(178,223,138)} -.Paired .q3-6{fill:rgb(51,160,44)} -.Paired .q4-6{fill:rgb(251,154,153)} -.Paired .q5-6{fill:rgb(227,26,28)} -.Paired .q0-7{fill:rgb(166,206,227)} -.Paired .q1-7{fill:rgb(31,120,180)} -.Paired .q2-7{fill:rgb(178,223,138)} -.Paired .q3-7{fill:rgb(51,160,44)} -.Paired .q4-7{fill:rgb(251,154,153)} -.Paired .q5-7{fill:rgb(227,26,28)} -.Paired .q6-7{fill:rgb(253,191,111)} -.Paired .q0-8{fill:rgb(166,206,227)} -.Paired .q1-8{fill:rgb(31,120,180)} -.Paired .q2-8{fill:rgb(178,223,138)} -.Paired .q3-8{fill:rgb(51,160,44)} -.Paired .q4-8{fill:rgb(251,154,153)} -.Paired .q5-8{fill:rgb(227,26,28)} -.Paired .q6-8{fill:rgb(253,191,111)} -.Paired .q7-8{fill:rgb(255,127,0)} -.Paired .q0-9{fill:rgb(166,206,227)} -.Paired .q1-9{fill:rgb(31,120,180)} -.Paired .q2-9{fill:rgb(178,223,138)} -.Paired .q3-9{fill:rgb(51,160,44)} -.Paired .q4-9{fill:rgb(251,154,153)} -.Paired .q5-9{fill:rgb(227,26,28)} -.Paired .q6-9{fill:rgb(253,191,111)} -.Paired .q7-9{fill:rgb(255,127,0)} -.Paired .q8-9{fill:rgb(202,178,214)} -.Paired .q0-10{fill:rgb(166,206,227)} -.Paired .q1-10{fill:rgb(31,120,180)} -.Paired .q2-10{fill:rgb(178,223,138)} -.Paired .q3-10{fill:rgb(51,160,44)} -.Paired .q4-10{fill:rgb(251,154,153)} -.Paired .q5-10{fill:rgb(227,26,28)} -.Paired .q6-10{fill:rgb(253,191,111)} -.Paired .q7-10{fill:rgb(255,127,0)} -.Paired .q8-10{fill:rgb(202,178,214)} -.Paired .q9-10{fill:rgb(106,61,154)} -.Paired .q0-11{fill:rgb(166,206,227)} -.Paired .q1-11{fill:rgb(31,120,180)} -.Paired .q2-11{fill:rgb(178,223,138)} -.Paired .q3-11{fill:rgb(51,160,44)} -.Paired .q4-11{fill:rgb(251,154,153)} -.Paired .q5-11{fill:rgb(227,26,28)} -.Paired .q6-11{fill:rgb(253,191,111)} -.Paired .q7-11{fill:rgb(255,127,0)} -.Paired .q8-11{fill:rgb(202,178,214)} -.Paired .q9-11{fill:rgb(106,61,154)} -.Paired .q10-11{fill:rgb(255,255,153)} -.Paired .q0-12{fill:rgb(166,206,227)} -.Paired .q1-12{fill:rgb(31,120,180)} -.Paired .q2-12{fill:rgb(178,223,138)} -.Paired .q3-12{fill:rgb(51,160,44)} -.Paired .q4-12{fill:rgb(251,154,153)} -.Paired .q5-12{fill:rgb(227,26,28)} -.Paired .q6-12{fill:rgb(253,191,111)} -.Paired .q7-12{fill:rgb(255,127,0)} -.Paired .q8-12{fill:rgb(202,178,214)} -.Paired .q9-12{fill:rgb(106,61,154)} -.Paired .q10-12{fill:rgb(255,255,153)} -.Paired .q11-12{fill:rgb(177,89,40)} -.Pastel1 .q0-3{fill:rgb(251,180,174)} -.Pastel1 .q1-3{fill:rgb(179,205,227)} -.Pastel1 .q2-3{fill:rgb(204,235,197)} -.Pastel1 .q0-4{fill:rgb(251,180,174)} -.Pastel1 .q1-4{fill:rgb(179,205,227)} -.Pastel1 .q2-4{fill:rgb(204,235,197)} -.Pastel1 .q3-4{fill:rgb(222,203,228)} -.Pastel1 .q0-5{fill:rgb(251,180,174)} -.Pastel1 .q1-5{fill:rgb(179,205,227)} -.Pastel1 .q2-5{fill:rgb(204,235,197)} -.Pastel1 .q3-5{fill:rgb(222,203,228)} -.Pastel1 .q4-5{fill:rgb(254,217,166)} -.Pastel1 .q0-6{fill:rgb(251,180,174)} -.Pastel1 .q1-6{fill:rgb(179,205,227)} -.Pastel1 .q2-6{fill:rgb(204,235,197)} -.Pastel1 .q3-6{fill:rgb(222,203,228)} -.Pastel1 .q4-6{fill:rgb(254,217,166)} -.Pastel1 .q5-6{fill:rgb(255,255,204)} -.Pastel1 .q0-7{fill:rgb(251,180,174)} -.Pastel1 .q1-7{fill:rgb(179,205,227)} -.Pastel1 .q2-7{fill:rgb(204,235,197)} -.Pastel1 .q3-7{fill:rgb(222,203,228)} -.Pastel1 .q4-7{fill:rgb(254,217,166)} -.Pastel1 .q5-7{fill:rgb(255,255,204)} -.Pastel1 .q6-7{fill:rgb(229,216,189)} -.Pastel1 .q0-8{fill:rgb(251,180,174)} -.Pastel1 .q1-8{fill:rgb(179,205,227)} -.Pastel1 .q2-8{fill:rgb(204,235,197)} -.Pastel1 .q3-8{fill:rgb(222,203,228)} -.Pastel1 .q4-8{fill:rgb(254,217,166)} -.Pastel1 .q5-8{fill:rgb(255,255,204)} -.Pastel1 .q6-8{fill:rgb(229,216,189)} -.Pastel1 .q7-8{fill:rgb(253,218,236)} -.Pastel1 .q0-9{fill:rgb(251,180,174)} -.Pastel1 .q1-9{fill:rgb(179,205,227)} -.Pastel1 .q2-9{fill:rgb(204,235,197)} -.Pastel1 .q3-9{fill:rgb(222,203,228)} -.Pastel1 .q4-9{fill:rgb(254,217,166)} -.Pastel1 .q5-9{fill:rgb(255,255,204)} -.Pastel1 .q6-9{fill:rgb(229,216,189)} -.Pastel1 .q7-9{fill:rgb(253,218,236)} -.Pastel1 .q8-9{fill:rgb(242,242,242)} -.Pastel2 .q0-3{fill:rgb(179,226,205)} -.Pastel2 .q1-3{fill:rgb(253,205,172)} -.Pastel2 .q2-3{fill:rgb(203,213,232)} -.Pastel2 .q0-4{fill:rgb(179,226,205)} -.Pastel2 .q1-4{fill:rgb(253,205,172)} -.Pastel2 .q2-4{fill:rgb(203,213,232)} -.Pastel2 .q3-4{fill:rgb(244,202,228)} -.Pastel2 .q0-5{fill:rgb(179,226,205)} -.Pastel2 .q1-5{fill:rgb(253,205,172)} -.Pastel2 .q2-5{fill:rgb(203,213,232)} -.Pastel2 .q3-5{fill:rgb(244,202,228)} -.Pastel2 .q4-5{fill:rgb(230,245,201)} -.Pastel2 .q0-6{fill:rgb(179,226,205)} -.Pastel2 .q1-6{fill:rgb(253,205,172)} -.Pastel2 .q2-6{fill:rgb(203,213,232)} -.Pastel2 .q3-6{fill:rgb(244,202,228)} -.Pastel2 .q4-6{fill:rgb(230,245,201)} -.Pastel2 .q5-6{fill:rgb(255,242,174)} -.Pastel2 .q0-7{fill:rgb(179,226,205)} -.Pastel2 .q1-7{fill:rgb(253,205,172)} -.Pastel2 .q2-7{fill:rgb(203,213,232)} -.Pastel2 .q3-7{fill:rgb(244,202,228)} -.Pastel2 .q4-7{fill:rgb(230,245,201)} -.Pastel2 .q5-7{fill:rgb(255,242,174)} -.Pastel2 .q6-7{fill:rgb(241,226,204)} -.Pastel2 .q0-8{fill:rgb(179,226,205)} -.Pastel2 .q1-8{fill:rgb(253,205,172)} -.Pastel2 .q2-8{fill:rgb(203,213,232)} -.Pastel2 .q3-8{fill:rgb(244,202,228)} -.Pastel2 .q4-8{fill:rgb(230,245,201)} -.Pastel2 .q5-8{fill:rgb(255,242,174)} -.Pastel2 .q6-8{fill:rgb(241,226,204)} -.Pastel2 .q7-8{fill:rgb(204,204,204)} -.Set1 .q0-3{fill:rgb(228,26,28)} -.Set1 .q1-3{fill:rgb(55,126,184)} -.Set1 .q2-3{fill:rgb(77,175,74)} -.Set1 .q0-4{fill:rgb(228,26,28)} -.Set1 .q1-4{fill:rgb(55,126,184)} -.Set1 .q2-4{fill:rgb(77,175,74)} -.Set1 .q3-4{fill:rgb(152,78,163)} -.Set1 .q0-5{fill:rgb(228,26,28)} -.Set1 .q1-5{fill:rgb(55,126,184)} -.Set1 .q2-5{fill:rgb(77,175,74)} -.Set1 .q3-5{fill:rgb(152,78,163)} -.Set1 .q4-5{fill:rgb(255,127,0)} -.Set1 .q0-6{fill:rgb(228,26,28)} -.Set1 .q1-6{fill:rgb(55,126,184)} -.Set1 .q2-6{fill:rgb(77,175,74)} -.Set1 .q3-6{fill:rgb(152,78,163)} -.Set1 .q4-6{fill:rgb(255,127,0)} -.Set1 .q5-6{fill:rgb(255,255,51)} -.Set1 .q0-7{fill:rgb(228,26,28)} -.Set1 .q1-7{fill:rgb(55,126,184)} -.Set1 .q2-7{fill:rgb(77,175,74)} -.Set1 .q3-7{fill:rgb(152,78,163)} -.Set1 .q4-7{fill:rgb(255,127,0)} -.Set1 .q5-7{fill:rgb(255,255,51)} -.Set1 .q6-7{fill:rgb(166,86,40)} -.Set1 .q0-8{fill:rgb(228,26,28)} -.Set1 .q1-8{fill:rgb(55,126,184)} -.Set1 .q2-8{fill:rgb(77,175,74)} -.Set1 .q3-8{fill:rgb(152,78,163)} -.Set1 .q4-8{fill:rgb(255,127,0)} -.Set1 .q5-8{fill:rgb(255,255,51)} -.Set1 .q6-8{fill:rgb(166,86,40)} -.Set1 .q7-8{fill:rgb(247,129,191)} -.Set1 .q0-9{fill:rgb(228,26,28)} -.Set1 .q1-9{fill:rgb(55,126,184)} -.Set1 .q2-9{fill:rgb(77,175,74)} -.Set1 .q3-9{fill:rgb(152,78,163)} -.Set1 .q4-9{fill:rgb(255,127,0)} -.Set1 .q5-9{fill:rgb(255,255,51)} -.Set1 .q6-9{fill:rgb(166,86,40)} -.Set1 .q7-9{fill:rgb(247,129,191)} -.Set1 .q8-9{fill:rgb(153,153,153)} -.Set2 .q0-3{fill:rgb(102,194,165)} -.Set2 .q1-3{fill:rgb(252,141,98)} -.Set2 .q2-3{fill:rgb(141,160,203)} -.Set2 .q0-4{fill:rgb(102,194,165)} -.Set2 .q1-4{fill:rgb(252,141,98)} -.Set2 .q2-4{fill:rgb(141,160,203)} -.Set2 .q3-4{fill:rgb(231,138,195)} -.Set2 .q0-5{fill:rgb(102,194,165)} -.Set2 .q1-5{fill:rgb(252,141,98)} -.Set2 .q2-5{fill:rgb(141,160,203)} -.Set2 .q3-5{fill:rgb(231,138,195)} -.Set2 .q4-5{fill:rgb(166,216,84)} -.Set2 .q0-6{fill:rgb(102,194,165)} -.Set2 .q1-6{fill:rgb(252,141,98)} -.Set2 .q2-6{fill:rgb(141,160,203)} -.Set2 .q3-6{fill:rgb(231,138,195)} -.Set2 .q4-6{fill:rgb(166,216,84)} -.Set2 .q5-6{fill:rgb(255,217,47)} -.Set2 .q0-7{fill:rgb(102,194,165)} -.Set2 .q1-7{fill:rgb(252,141,98)} -.Set2 .q2-7{fill:rgb(141,160,203)} -.Set2 .q3-7{fill:rgb(231,138,195)} -.Set2 .q4-7{fill:rgb(166,216,84)} -.Set2 .q5-7{fill:rgb(255,217,47)} -.Set2 .q6-7{fill:rgb(229,196,148)} -.Set2 .q0-8{fill:rgb(102,194,165)} -.Set2 .q1-8{fill:rgb(252,141,98)} -.Set2 .q2-8{fill:rgb(141,160,203)} -.Set2 .q3-8{fill:rgb(231,138,195)} -.Set2 .q4-8{fill:rgb(166,216,84)} -.Set2 .q5-8{fill:rgb(255,217,47)} -.Set2 .q6-8{fill:rgb(229,196,148)} -.Set2 .q7-8{fill:rgb(179,179,179)} -.Set3 .q0-3{fill:rgb(141,211,199)} -.Set3 .q1-3{fill:rgb(255,255,179)} -.Set3 .q2-3{fill:rgb(190,186,218)} -.Set3 .q0-4{fill:rgb(141,211,199)} -.Set3 .q1-4{fill:rgb(255,255,179)} -.Set3 .q2-4{fill:rgb(190,186,218)} -.Set3 .q3-4{fill:rgb(251,128,114)} -.Set3 .q0-5{fill:rgb(141,211,199)} -.Set3 .q1-5{fill:rgb(255,255,179)} -.Set3 .q2-5{fill:rgb(190,186,218)} -.Set3 .q3-5{fill:rgb(251,128,114)} -.Set3 .q4-5{fill:rgb(128,177,211)} -.Set3 .q0-6{fill:rgb(141,211,199)} -.Set3 .q1-6{fill:rgb(255,255,179)} -.Set3 .q2-6{fill:rgb(190,186,218)} -.Set3 .q3-6{fill:rgb(251,128,114)} -.Set3 .q4-6{fill:rgb(128,177,211)} -.Set3 .q5-6{fill:rgb(253,180,98)} -.Set3 .q0-7{fill:rgb(141,211,199)} -.Set3 .q1-7{fill:rgb(255,255,179)} -.Set3 .q2-7{fill:rgb(190,186,218)} -.Set3 .q3-7{fill:rgb(251,128,114)} -.Set3 .q4-7{fill:rgb(128,177,211)} -.Set3 .q5-7{fill:rgb(253,180,98)} -.Set3 .q6-7{fill:rgb(179,222,105)} -.Set3 .q0-8{fill:rgb(141,211,199)} -.Set3 .q1-8{fill:rgb(255,255,179)} -.Set3 .q2-8{fill:rgb(190,186,218)} -.Set3 .q3-8{fill:rgb(251,128,114)} -.Set3 .q4-8{fill:rgb(128,177,211)} -.Set3 .q5-8{fill:rgb(253,180,98)} -.Set3 .q6-8{fill:rgb(179,222,105)} -.Set3 .q7-8{fill:rgb(252,205,229)} -.Set3 .q0-9{fill:rgb(141,211,199)} -.Set3 .q1-9{fill:rgb(255,255,179)} -.Set3 .q2-9{fill:rgb(190,186,218)} -.Set3 .q3-9{fill:rgb(251,128,114)} -.Set3 .q4-9{fill:rgb(128,177,211)} -.Set3 .q5-9{fill:rgb(253,180,98)} -.Set3 .q6-9{fill:rgb(179,222,105)} -.Set3 .q7-9{fill:rgb(252,205,229)} -.Set3 .q8-9{fill:rgb(217,217,217)} -.Set3 .q0-10{fill:rgb(141,211,199)} -.Set3 .q1-10{fill:rgb(255,255,179)} -.Set3 .q2-10{fill:rgb(190,186,218)} -.Set3 .q3-10{fill:rgb(251,128,114)} -.Set3 .q4-10{fill:rgb(128,177,211)} -.Set3 .q5-10{fill:rgb(253,180,98)} -.Set3 .q6-10{fill:rgb(179,222,105)} -.Set3 .q7-10{fill:rgb(252,205,229)} -.Set3 .q8-10{fill:rgb(217,217,217)} -.Set3 .q9-10{fill:rgb(188,128,189)} -.Set3 .q0-11{fill:rgb(141,211,199)} -.Set3 .q1-11{fill:rgb(255,255,179)} -.Set3 .q2-11{fill:rgb(190,186,218)} -.Set3 .q3-11{fill:rgb(251,128,114)} -.Set3 .q4-11{fill:rgb(128,177,211)} -.Set3 .q5-11{fill:rgb(253,180,98)} -.Set3 .q6-11{fill:rgb(179,222,105)} -.Set3 .q7-11{fill:rgb(252,205,229)} -.Set3 .q8-11{fill:rgb(217,217,217)} -.Set3 .q9-11{fill:rgb(188,128,189)} -.Set3 .q10-11{fill:rgb(204,235,197)} -.Set3 .q0-12{fill:rgb(141,211,199)} -.Set3 .q1-12{fill:rgb(255,255,179)} -.Set3 .q2-12{fill:rgb(190,186,218)} -.Set3 .q3-12{fill:rgb(251,128,114)} -.Set3 .q4-12{fill:rgb(128,177,211)} -.Set3 .q5-12{fill:rgb(253,180,98)} -.Set3 .q6-12{fill:rgb(179,222,105)} -.Set3 .q7-12{fill:rgb(252,205,229)} -.Set3 .q8-12{fill:rgb(217,217,217)} -.Set3 .q9-12{fill:rgb(188,128,189)} -.Set3 .q10-12{fill:rgb(204,235,197)} -.Set3 .q11-12{fill:rgb(255,237,111)} -#classic_controls { - font-size: 0.72em; - overflow: auto; } - #classic_controls #demand, #classic_controls #supply, #classic_controls #other { - padding: 0; - border: 0; - margin: 0; - margin-left: 2.5%; - width: 30%; - float: left; } - #classic_controls table { - width: 100%; } - #classic_controls table tr:hover td.name { - font-weight: bold; - background-image: url("/assets/images/oneblackpixel.png"); } - #classic_controls table td.choice { - width: 20px; } - #classic_controls table td.choice a { - display: block; - width: 100%; - text-align: center; - color: #888; - text-decoration: none; - border: solid #ccc 1px; } - #classic_controls table td.choice a:hover { - border: solid #000 1px; } - #classic_controls table td.choice a.selected { - color: #000; } - #classic_controls table td.name { - background-image: url("/assets/images/onegreypixel.png"); - background-position: left center; - background-repeat: repeat-x; } - #classic_controls table td.name a { - background-color: #fff; - text-decoration: none; - color: #000; - cursor: help; } - #classic_controls table td.name a:hover { - text-decoration: underline; } - #classic_controls table td.help { - width: 14px; } - #classic_controls table td.help a { - text-align: center; - display: block; - background-color: #7c88fa; - border: solid #7c88fa 1px; - color: white; - width: 100%; - text-decoration: none; - font-weight: bold; - font-style: italic; } - #classic_controls table tr.incremental a.level1_1 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level1_1.png"); } - #classic_controls table tr.incremental a.level1_2 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level1_2.png"); } - #classic_controls table tr.incremental a.level1_3 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level1_3.png"); } - #classic_controls table tr.incremental a.level1_4 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level1_4.png"); } - #classic_controls table tr.incremental a.level1_5 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level1_5.png"); } - #classic_controls table tr.incremental a.level1_6 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level1_6.png"); } - #classic_controls table tr.incremental a.level1_7 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level1_7.png"); } - #classic_controls table tr.incremental a.level1_8 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level1_8.png"); } - #classic_controls table tr.incremental a.level1_9 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level1_9.png"); } - #classic_controls table tr.incremental a.level2_1 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level2_1.png"); } - #classic_controls table tr.incremental a.level2_2 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level2_2.png"); } - #classic_controls table tr.incremental a.level2_3 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level2_3.png"); } - #classic_controls table tr.incremental a.level2_4 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level2_4.png"); } - #classic_controls table tr.incremental a.level2_5 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level2_5.png"); } - #classic_controls table tr.incremental a.level2_6 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level2_6.png"); } - #classic_controls table tr.incremental a.level2_7 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level2_7.png"); } - #classic_controls table tr.incremental a.level2_8 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level2_8.png"); } - #classic_controls table tr.incremental a.level2_9 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level2_9.png"); } - #classic_controls table tr.incremental a.level3_1 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level3_1.png"); } - #classic_controls table tr.incremental a.level3_2 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level3_2.png"); } - #classic_controls table tr.incremental a.level3_3 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level3_3.png"); } - #classic_controls table tr.incremental a.level3_4 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level3_4.png"); } - #classic_controls table tr.incremental a.level3_5 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level3_5.png"); } - #classic_controls table tr.incremental a.level3_6 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level3_6.png"); } - #classic_controls table tr.incremental a.level3_7 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level3_7.png"); } - #classic_controls table tr.incremental a.level3_8 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level3_8.png"); } - #classic_controls table tr.incremental a.level3_9 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level3_9.png"); } - #classic_controls table tr.incremental a.level4_1 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level4_1.png"); } - #classic_controls table tr.incremental a.level4_2 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level4_2.png"); } - #classic_controls table tr.incremental a.level4_3 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level4_3.png"); } - #classic_controls table tr.incremental a.level4_4 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level4_4.png"); } - #classic_controls table tr.incremental a.level4_5 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level4_5.png"); } - #classic_controls table tr.incremental a.level4_6 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level4_6.png"); } - #classic_controls table tr.incremental a.level4_7 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level4_7.png"); } - #classic_controls table tr.incremental a.level4_8 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level4_8.png"); } - #classic_controls table tr.incremental a.level4_9 { - background-position: left center; - background-repeat: repeat-y; - background-image: url("/assets/images/fractions/level4_9.png"); } - #classic_controls table tr.incremental a.level1 { - background-color: #92C979; } - #classic_controls table tr.incremental a.level2 { - background-color: #EFDD60; } - #classic_controls table tr.incremental a.level3 { - background-color: #FFAE55; } - #classic_controls table tr.incremental a.level4 { - background-color: #F44545; } - #classic_controls table tr.alternative a.selected { - background-color: #aaa; } -#costscomparedoverview { - margin-left: 0%; - margin-right: 0%; - width: 100%; - margin: 0 0 0 0; - padding: 0; - height: 600px; } - -.costscomparedoverview h1 { - font-size: 16px; - margin-left: 250px; } -#costscomparedwithinsector { - margin-left: 0%; - margin-right: 0%; - width: 100%; - margin: 0 0 0 0; - padding: 0; - height: 600px; } - -.costscomparedwithinsector h1 { - font-size: 16px; - margin-left: 250px; } - -#sectorchoice { - z-index: 5; - position: absolute; - top: 45px; - left: 25px; } -#costsincontext { - margin-left: 0%; - margin-right: 0%; - width: 100%; - margin: 0 0 0 0; - padding: 0; - height: 600px; } - -.costsincontext h1 { - font-size: 16px; - margin-left: 250px; } - -#cost_override_warning { - position: absolute; - top: 55px; - left: 25px; - width: 200px; - display: none; - border: solid 1px #000; - background-color: yellow; - font-size: smaller; - padding: 5px; } - -#cost_caveats { - position: absolute; - left: 5%; - top: 75px; - z-index: 1000; - width: 85%; - padding: 2.5%; - background-color: #FF0; - border: solid 1px #000; - box-shadow: 0px 0px 25px rgba(0, 0, 0, 0.8); - -moz-box-shadow: 0px 0px 25px rgba(0, 0, 0, 0.8); - -webkit-box-shadow: 0px 0px 25px rgba(0, 0, 0, 0.8); - display: none; } - #cost_caveats #understand { - margin-top: 20px; - width: 100%; - text-align: center; } - -#essentialnotes { - font-size: 10px; - margin-top: 5px; - margin-left: 250px; - margin-right: 100px; - margin-bottom: 30px; } -#costssensitivity { - margin-left: 0%; - margin-right: 0%; - width: 100%; - margin: 0 0 0 0; - padding: 0; - height: 1400px; } - -.costssensitivity h1 { - font-size: 16px; - margin-left: 250px; } - -#comparatorchoice { - z-index: 5; - border: 1px solid black; - position: absolute; - top: 45px; - left: 25px; - list-style: none; - margin-left: 0; - padding: 5px; } - #comparatorchoice a { - color: #000; - text-decoration: none; } - #comparatorchoice a:hover { - text-decoration: underline; } - #comparatorchoice li { - margin-left: 0; - padding-left: 0; } - #comparatorchoice #view_comparatorchoice { - box-shadow: 0 0 5px #888; - list-style: none; - display: none; - background: #fff; - margin-left: 0; - padding: 5px; } - #comparatorchoice #view_comparatorchoice li { - margin-left: 0; - padding-left: 0; - margin-bottom: 5px; } -#energysecurity .column { - text-align: left; - padding: 0; - border: 0; - margin: 0; - margin-left: 2.5%; - font-size: 12px; - width: 30%; - margin-bottom: 30px; - float: left; } - -.energysecurity td.value { - width: 17%; } -.energysecurity td.value, .energysecurity th.value { - text-align: right; } -.energysecurity th.year { - text-align: center; - border-bottom: solid 1px #000; } - -#energysecurity .clear { - clear: both; } -#footer { - clear: both; - padding-top: 20px; - text-align: center; - font-size: 0.72em; } -#map { - text-align: left; - margin-left: 0; - margin-right: 0; - width: 100%; - margin: 0 0 30px 0; - padding: 0; - height: 800px; } -body { - font-family: Times; - margin: 0; - padding: 0; } - -#calculating { - font-size: 0.72em; - position: absolute; - width: 100%; - top: 20px; - left: 0px; - text-align: center; - z-index: 10; } - #calculating span { - padding: 3px; - background-color: yellow; } - -#results { - overflow: hidden; } - -.chart { - padding: 0; - border: 0; - margin: 0; - margin-left: 2.4%; - width: 30%; - margin-bottom: 0px; - float: left; } - -.charttitle { - text-anchor: middle; - font-family: Times; - font-size: 1em; } - -text.target { - text-anchor: middle; - font-family: Times; - font-size: 0.72em; } - -.axis path, .axis line { - fill: none; - stroke: #000; - stroke-width: 1px; } - -.axis text { - font-family: Times; - font-size: 0.72em; - fill: #000; } - -.axislabel { - text-anchor: end; - font-family: Times; - font-size: 0.72em; } - -.line { - fill: none; - stroke: black; - stroke-width: 3px; } - -.linelabel { - font-family: Times; - font-size: 0.72em; - cursor: default; } - -.area { - fill-opacity: 1; } - -path.total { - stroke: black; - stroke-width: 2px; - fill: none; } - -text.seriesValue { - font-size: 0.72em; - font-family: Ties; - text-anchor: middle; } - -path.total.hover { - stroke-width: 3px; } - -path.hover { - stroke: black; - stroke-width: 1px; } - -.linelabel.hover { - fill: black !important; - font-weight: bold; } - -.labelbackground { - fill: white; } - -g.context path { - fill: grey; - fill-opacity: 0.02; } - -.environmentalheat { - fill: #c7c728; } -#sankey { - width: 100%; - margin: 0 0 30px 0; - padding: 0; - height: 580px; } -#share div { - margin: 0 10% 0 10%; - width: 80%; } -#share #excel { - margin-top: 50px; } - #share #excel textarea { - text-align: right; - margin-left: 10%; - width: 32px; - height: 700px; } -#simplesankey { - margin-left: 2.5%; - margin-right: 2.5%; - width: 100%; - margin: 0 0 30px 0; - padding: 0; - height: 320px; } -.story { - text-align: left; - padding: 0; - border: 0; - margin: 0; - margin-left: 2.5%; - font-size: 12px; - width: 30%; - margin-bottom: 30px; - float: left; } - .story h4 { - margin-top: 1em; - margin-bottom: 0em; } - .story h4 + p { - margin-top: 0em; } - .story th { - text-align: left; } - .story td.target, .story th.target { - text-align: right; } - -#stories .clear { - clear: both; } -#tooltip { - display: none; - background-color: #FFFF00; - color: #000; - border: 2px solid #000; - border-radius: 15px 15px 0px 15px; - box-shadow: 0 0 5px #888; - font-size: 12px; - width: 14em; - padding: 10px; - z-index: 10000; } -#topbar { - width: 100%; - height: 20px; - margin: 0 0 10px 0; - background-color: black; - color: white; - border-bottom: solid #57DA95 7px; } - #topbar a { - color: white; - text-decoration: none; } - #topbar .selectedView { - color: #57da95; } - #topbar a:hover { - text-decoration: underline; } - #topbar div { - position: absolute; - display: inline; } - #topbar #name { - left: 2.4%; - top: 0px; } - #topbar #examples { - right: 2.4%; - top: 0px; } - #topbar #views { - left: 160px; - left: calc(160px + 2.4%); - top: 0px; - width: 80%; - width: calc(100% - 2.4% - 160px - 2.4% - 160px); - text-align: center; } - #topbar #views a { - padding-right: 10px; } - #topbar #views div { - position: static; - padding-right: 10px; } - #topbar .dropdown { - z-index: 10000; - position: absolute; - display: none; - background: black; - padding: 5px; - border: solid 1px black; - box-shadow: 0 0 5px #888; } - #topbar .dropdown a { - color: white; - display: block; - margin-bottom: 5px; } - #topbar .showdropdown { - display: block; } diff --git a/public/assets/application-5611bb0c7c749e12a4122f21349bc7d6.css.gz b/public/assets/application-5611bb0c7c749e12a4122f21349bc7d6.css.gz deleted file mode 100644 index 563799c0db640eb909ffcabae28c9f4c8f9e31a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10935 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